From d8d61e103a3878b082ee5ddb34744efe5508baaa Mon Sep 17 00:00:00 2001 From: Benoit Lavenier <benoit.lavenier@e-is.pro> Date: Fri, 24 Jun 2022 15:06:07 +0200 Subject: [PATCH] [enh] Add menu entries and base components --- .gitignore | 2 + angular.json | 10 +- package-lock.json | 46023 +++++++--------- package.json | 116 +- src/app/app-routing.module.ts | 24 +- src/app/app.component.html | 2 +- src/app/app.component.ts | 17 +- src/app/app.module.ts | 93 +- src/app/auth/auth.form.html | 59 + src/app/auth/auth.form.scss | 1 + src/app/auth/auth.form.ts | 109 + src/app/auth/auth.modal.html | 52 + src/app/auth/auth.modal.scss | 1 + src/app/auth/auth.modal.ts | 92 + src/app/auth/auth.model.ts | 9 + src/app/auth/auth.module.ts | 25 + src/app/home/home-routing.module.ts | 17 + src/app/home/home.module.ts | 18 + src/app/home/home.page.html | 53 + src/app/home/home.page.scss | 6 + src/app/home/home.page.spec.ts | 24 + src/app/home/home.page.ts | 38 + src/app/model/account.model.ts | 11 - src/app/model/peer.model.ts | 6 - src/app/model/settings.model.ts | 15 - src/app/network/network.service.ts | 110 + src/app/network/peer.model.ts | 32 + src/app/register/register.form.html | 11 + src/app/register/register.form.js | 188 + src/app/register/register.form.scss | 10 + src/app/register/register.form.ts | 136 + src/app/register/register.modal.html | 68 + src/app/register/register.modal.js | 108 + src/app/register/register.modal.scss | 3 + src/app/register/register.modal.ts | 56 + src/app/register/register.model.ts | 7 + src/app/register/register.module.ts | 20 + src/app/services/account.service.ts | 91 - src/app/services/base.service.ts | 82 - src/app/services/peer.service.ts | 91 - src/app/services/platform.service.ts | 82 +- src/app/services/settings.service.ts | 43 - src/app/services/storage.service.ts | 45 + src/app/settings/settings-routing.module.ts | 17 + src/app/settings/settings.model.ts | 19 + src/app/settings/settings.module.ts | 16 + src/app/settings/settings.page.html | 56 + src/app/settings/settings.page.scss | 6 + src/app/settings/settings.page.spec.ts | 24 + src/app/settings/settings.page.ts | 42 + src/app/settings/settings.service.ts | 66 + src/app/shared/animations.ts | 127 + src/app/shared/dates.ts | 136 + src/app/shared/form.class.ts | 340 + src/app/shared/forms.ts | 614 + src/app/shared/functions.ts | 140 +- src/app/shared/observables.ts | 81 +- src/app/shared/page/base.page.ts | 130 + src/app/shared/peers.ts | 8 - src/app/shared/pipes/address.pipes.ts | 15 + src/app/shared/pipes/amount.pipe.ts | 20 + src/app/shared/pipes/arrays.pipe.ts | 94 + .../shared/pipes/date-diff-duration.pipe.ts | 37 + src/app/shared/pipes/date-format.pipe.ts | 31 + src/app/shared/pipes/date-from-now.pipe.ts | 18 + src/app/shared/pipes/duration.pipe.ts | 31 + src/app/shared/pipes/file-size.pipe.ts | 58 + src/app/shared/pipes/form.pipes.ts | 128 + src/app/shared/pipes/highlight.pipe.ts | 37 + src/app/shared/pipes/maps.pipe.ts | 39 + src/app/shared/pipes/math.pipes.ts | 39 + src/app/shared/pipes/ng-init.pipe.ts | 14 + src/app/shared/pipes/number-format.pipe.ts | 20 + src/app/shared/pipes/pipes.module.ts | 120 + src/app/shared/pipes/property.pipes.ts | 16 + src/app/shared/pipes/string.pipes.ts | 67 + src/app/shared/services/base-service.class.ts | 47 + src/app/shared/services/keyring-storage.ts | 35 + .../services/startable-service.class.ts | 104 + src/app/shared/shared.module.ts | 31 + src/app/shared/types.ts | 25 + src/app/transfer/transfer-routing.module.ts | 18 + src/app/transfer/transfer.module.ts | 18 + src/app/transfer/transfer.page.html | 98 + src/app/transfer/transfer.page.scss | 6 + src/app/transfer/transfer.page.spec.ts | 24 + src/app/transfer/transfer.page.ts | 71 + src/app/wallet/account.model.ts | 28 + src/app/wallet/account.service.ts | 178 + src/app/wallet/wallet.module.ts | 11 +- src/app/wallet/wallet.page.html | 48 +- src/app/wallet/wallet.page.ts | 37 +- src/app/wot/wot-details.page.html | 69 + src/app/wot/wot-details.page.scss | 6 + src/app/wot/wot-details.page.ts | 47 + src/app/wot/wot-lookup.page.html | 84 + src/app/wot/wot-lookup.page.scss | 6 + src/app/wot/wot-lookup.page.spec.ts | 24 + src/app/wot/wot-lookup.page.ts | 93 + src/app/wot/wot-routing.module.ts | 24 + src/app/wot/wot.model.ts | 7 + src/app/wot/wot.module.ts | 26 + src/app/wot/wot.service.ts | 53 + src/assets/i18n/ca.json | 999 + src/assets/i18n/en-GB.json | 1025 + src/assets/i18n/en.json | 1025 + src/assets/i18n/eo-EO.json | 1024 + src/assets/i18n/es-ES.json | 1000 + src/assets/i18n/fr.json | 1025 + src/assets/i18n/it-IT.json | 936 + src/assets/i18n/nl-NL.json | 578 + src/assets/icon/favicon.ico | Bin 0 -> 16958 bytes src/assets/icon/favicon.png | Bin 930 -> 0 bytes src/assets/img/card.png | Bin 0 -> 585 bytes src/assets/img/duniter_button.svg | 83 + src/assets/img/flag-ca.png | Bin 0 -> 5913 bytes src/assets/img/flag-eo.png | Bin 0 -> 671 bytes src/assets/img/flag-es.png | Bin 0 -> 1054 bytes src/assets/img/flag-fr.png | Bin 0 -> 903 bytes src/assets/img/flag-gb.png | Bin 0 -> 1690 bytes src/assets/img/flag-it.png | Bin 0 -> 885 bytes src/assets/img/flag-nl.png | Bin 0 -> 810 bytes src/assets/img/flag-us.png | Bin 0 -> 1205 bytes src/assets/img/loader.gif | Bin 0 -> 1849 bytes src/assets/img/logo.png | Bin 0 -> 9876 bytes src/assets/img/logo.small.cs.dune.svg | 57 + src/assets/img/logo.svg | 57 + src/assets/img/logo_128px.png | Bin 0 -> 13373 bytes src/assets/img/logo_144px.png | Bin 0 -> 15666 bytes src/assets/img/logo_200px.png | Bin 0 -> 23440 bytes src/assets/img/logo_32px.png | Bin 0 -> 2278 bytes src/assets/img/logo_57px.png | Bin 0 -> 5021 bytes src/assets/img/logo_60px.png | Bin 0 -> 5358 bytes src/assets/img/logo_96px.png | Bin 0 -> 9876 bytes src/assets/img/logo_duniter_32px.png | Bin 0 -> 1524 bytes src/assets/img/logo_g1_32px.png | Bin 0 -> 2560 bytes src/assets/img/logo_g1_32px_black.png | Bin 0 -> 630 bytes src/assets/img/logo_tor_32px.png | Bin 0 -> 2218 bytes src/assets/img/person.png | Bin 0 -> 1754 bytes src/assets/img/search-icon-mobile.png | Bin 0 -> 3959 bytes src/assets/img/splash.png | Bin 0 -> 175632 bytes src/environments/environment.class.ts | 25 +- src/environments/environment.prod.ts | 16 +- src/environments/environment.ts | 39 +- src/index.html | 4 +- src/interfaces/augment-api-consts.ts | 472 + src/interfaces/augment-api-errors.ts | 813 + src/interfaces/augment-api-events.ts | 593 + src/interfaces/augment-api-query.ts | 710 + src/interfaces/augment-api-rpc.ts | 586 + src/interfaces/augment-api-tx.ts | 1256 + src/interfaces/augment-api.ts | 9 + src/interfaces/augment-types.ts | 1116 + src/interfaces/definitions.ts | 37 - src/interfaces/index.ts | 4 + src/interfaces/lookup.ts | 1995 + src/interfaces/registry.ts | 178 + src/interfaces/types-lookup.ts | 2061 + src/interfaces/types.json | 1 + src/interfaces/types.ts | 3 + src/manifest.json | 47 + src/polyfills.ts | 20 +- src/test.ts | 4 +- tsconfig.json | 13 +- 164 files changed, 44083 insertions(+), 25558 deletions(-) create mode 100644 src/app/auth/auth.form.html create mode 100644 src/app/auth/auth.form.scss create mode 100644 src/app/auth/auth.form.ts create mode 100644 src/app/auth/auth.modal.html create mode 100644 src/app/auth/auth.modal.scss create mode 100644 src/app/auth/auth.modal.ts create mode 100644 src/app/auth/auth.model.ts create mode 100644 src/app/auth/auth.module.ts create mode 100644 src/app/home/home-routing.module.ts create mode 100644 src/app/home/home.module.ts create mode 100644 src/app/home/home.page.html create mode 100644 src/app/home/home.page.scss create mode 100644 src/app/home/home.page.spec.ts create mode 100644 src/app/home/home.page.ts delete mode 100644 src/app/model/account.model.ts delete mode 100644 src/app/model/peer.model.ts delete mode 100644 src/app/model/settings.model.ts create mode 100644 src/app/network/network.service.ts create mode 100644 src/app/network/peer.model.ts create mode 100644 src/app/register/register.form.html create mode 100644 src/app/register/register.form.js create mode 100644 src/app/register/register.form.scss create mode 100644 src/app/register/register.form.ts create mode 100644 src/app/register/register.modal.html create mode 100644 src/app/register/register.modal.js create mode 100644 src/app/register/register.modal.scss create mode 100644 src/app/register/register.modal.ts create mode 100644 src/app/register/register.model.ts create mode 100644 src/app/register/register.module.ts delete mode 100644 src/app/services/account.service.ts delete mode 100644 src/app/services/base.service.ts delete mode 100644 src/app/services/peer.service.ts delete mode 100644 src/app/services/settings.service.ts create mode 100644 src/app/services/storage.service.ts create mode 100644 src/app/settings/settings-routing.module.ts create mode 100644 src/app/settings/settings.model.ts create mode 100644 src/app/settings/settings.module.ts create mode 100644 src/app/settings/settings.page.html create mode 100644 src/app/settings/settings.page.scss create mode 100644 src/app/settings/settings.page.spec.ts create mode 100644 src/app/settings/settings.page.ts create mode 100644 src/app/settings/settings.service.ts create mode 100644 src/app/shared/animations.ts create mode 100644 src/app/shared/dates.ts create mode 100644 src/app/shared/form.class.ts create mode 100644 src/app/shared/forms.ts create mode 100644 src/app/shared/page/base.page.ts delete mode 100644 src/app/shared/peers.ts create mode 100644 src/app/shared/pipes/address.pipes.ts create mode 100644 src/app/shared/pipes/amount.pipe.ts create mode 100644 src/app/shared/pipes/arrays.pipe.ts create mode 100644 src/app/shared/pipes/date-diff-duration.pipe.ts create mode 100644 src/app/shared/pipes/date-format.pipe.ts create mode 100644 src/app/shared/pipes/date-from-now.pipe.ts create mode 100644 src/app/shared/pipes/duration.pipe.ts create mode 100644 src/app/shared/pipes/file-size.pipe.ts create mode 100644 src/app/shared/pipes/form.pipes.ts create mode 100644 src/app/shared/pipes/highlight.pipe.ts create mode 100644 src/app/shared/pipes/maps.pipe.ts create mode 100644 src/app/shared/pipes/math.pipes.ts create mode 100644 src/app/shared/pipes/ng-init.pipe.ts create mode 100644 src/app/shared/pipes/number-format.pipe.ts create mode 100644 src/app/shared/pipes/pipes.module.ts create mode 100644 src/app/shared/pipes/property.pipes.ts create mode 100644 src/app/shared/pipes/string.pipes.ts create mode 100644 src/app/shared/services/base-service.class.ts create mode 100644 src/app/shared/services/keyring-storage.ts create mode 100644 src/app/shared/services/startable-service.class.ts create mode 100644 src/app/shared/shared.module.ts create mode 100644 src/app/shared/types.ts create mode 100644 src/app/transfer/transfer-routing.module.ts create mode 100644 src/app/transfer/transfer.module.ts create mode 100644 src/app/transfer/transfer.page.html create mode 100644 src/app/transfer/transfer.page.scss create mode 100644 src/app/transfer/transfer.page.spec.ts create mode 100644 src/app/transfer/transfer.page.ts create mode 100644 src/app/wallet/account.model.ts create mode 100644 src/app/wallet/account.service.ts create mode 100644 src/app/wot/wot-details.page.html create mode 100644 src/app/wot/wot-details.page.scss create mode 100644 src/app/wot/wot-details.page.ts create mode 100644 src/app/wot/wot-lookup.page.html create mode 100644 src/app/wot/wot-lookup.page.scss create mode 100644 src/app/wot/wot-lookup.page.spec.ts create mode 100644 src/app/wot/wot-lookup.page.ts create mode 100644 src/app/wot/wot-routing.module.ts create mode 100644 src/app/wot/wot.model.ts create mode 100644 src/app/wot/wot.module.ts create mode 100644 src/app/wot/wot.service.ts create mode 100644 src/assets/i18n/ca.json create mode 100644 src/assets/i18n/en-GB.json create mode 100644 src/assets/i18n/en.json create mode 100644 src/assets/i18n/eo-EO.json create mode 100644 src/assets/i18n/es-ES.json create mode 100644 src/assets/i18n/fr.json create mode 100644 src/assets/i18n/it-IT.json create mode 100644 src/assets/i18n/nl-NL.json create mode 100644 src/assets/icon/favicon.ico delete mode 100644 src/assets/icon/favicon.png create mode 100644 src/assets/img/card.png create mode 100644 src/assets/img/duniter_button.svg create mode 100644 src/assets/img/flag-ca.png create mode 100644 src/assets/img/flag-eo.png create mode 100644 src/assets/img/flag-es.png create mode 100644 src/assets/img/flag-fr.png create mode 100644 src/assets/img/flag-gb.png create mode 100644 src/assets/img/flag-it.png create mode 100644 src/assets/img/flag-nl.png create mode 100644 src/assets/img/flag-us.png create mode 100644 src/assets/img/loader.gif create mode 100644 src/assets/img/logo.png create mode 100644 src/assets/img/logo.small.cs.dune.svg create mode 100644 src/assets/img/logo.svg create mode 100644 src/assets/img/logo_128px.png create mode 100644 src/assets/img/logo_144px.png create mode 100644 src/assets/img/logo_200px.png create mode 100644 src/assets/img/logo_32px.png create mode 100644 src/assets/img/logo_57px.png create mode 100644 src/assets/img/logo_60px.png create mode 100644 src/assets/img/logo_96px.png create mode 100644 src/assets/img/logo_duniter_32px.png create mode 100644 src/assets/img/logo_g1_32px.png create mode 100644 src/assets/img/logo_g1_32px_black.png create mode 100644 src/assets/img/logo_tor_32px.png create mode 100644 src/assets/img/person.png create mode 100644 src/assets/img/search-icon-mobile.png create mode 100644 src/assets/img/splash.png create mode 100644 src/interfaces/augment-api-consts.ts create mode 100644 src/interfaces/augment-api-errors.ts create mode 100644 src/interfaces/augment-api-events.ts create mode 100644 src/interfaces/augment-api-query.ts create mode 100644 src/interfaces/augment-api-rpc.ts create mode 100644 src/interfaces/augment-api-tx.ts create mode 100644 src/interfaces/augment-api.ts create mode 100644 src/interfaces/augment-types.ts create mode 100644 src/interfaces/index.ts create mode 100644 src/interfaces/lookup.ts create mode 100644 src/interfaces/registry.ts create mode 100644 src/interfaces/types-lookup.ts create mode 100644 src/interfaces/types.json create mode 100644 src/interfaces/types.ts create mode 100644 src/manifest.json diff --git a/.gitignore b/.gitignore index 416fc4c..0db653f 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ +/.angular/cache # Specifies intentionally untracked files to ignore when using Git # http://git-scm.com/docs/gitignore @@ -29,3 +30,4 @@ npm-debug.log* /platforms /plugins /www +/.local/ diff --git a/angular.json b/angular.json index 8d9698e..e94582c 100644 --- a/angular.json +++ b/angular.json @@ -26,7 +26,9 @@ "elliptic", "tweetnacl", "xxhashjs", - "safe-buffer" + "safe-buffer", + "ed2curve", + "crypto" ], "assets": [ { @@ -38,6 +40,11 @@ "glob": "**/*.svg", "input": "node_modules/ionicons/dist/ionicons/svg", "output": "./svg" + }, + { + "glob": "manifest.json", + "input": "src/assets", + "output": "/" } ], "styles": ["src/theme/variables.scss", "src/global.scss"], @@ -89,7 +96,6 @@ "browserTarget": "app:build:production" }, "ci": { - "progress": false } } }, diff --git a/package-lock.json b/package-lock.json index 1204958..07b8739 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5,36 +5,44 @@ "requires": true, "packages": { "": { + "name": "Cesium2", "version": "0.0.1", + "hasInstallScript": true, "dependencies": { - "@angular/common": "~12.0.1", - "@angular/core": "~12.0.1", - "@angular/forms": "~12.0.1", - "@angular/platform-browser": "~12.0.1", - "@angular/platform-browser-dynamic": "~12.0.1", - "@angular/router": "~12.0.1", + "@angular/common": "~13.3.11", + "@angular/core": "~13.3.11", + "@angular/forms": "~13.3.11", + "@angular/platform-browser": "~13.3.11", + "@angular/platform-browser-dynamic": "~13.3.11", + "@angular/router": "~13.3.11", "@capacitor/app": "1.0.2", "@capacitor/core": "3.1.1", "@capacitor/haptics": "1.0.2", "@capacitor/keyboard": "1.0.2", "@capacitor/status-bar": "1.0.2", + "@duniter/core-types": "file:/home/blavenie/git/duniter/lc-core-substrate/types-bundle/dist", "@ionic/angular": "^5.5.2", - "rxjs": "~6.6.0", + "@polkadot/api": "^5.1.1", + "crypto-browserify": "^3.12.0", + "rxjs": "~7.5.5", + "stream-browserify": "^3.0.0", "tslib": "^2.0.0", - "zone.js": "~0.11.4" + "zone.js": "~0.11.6" }, "devDependencies": { - "@angular-devkit/build-angular": "~12.0.1", + "@angular-devkit/build-angular": "~13.3.8", "@angular-eslint/builder": "~12.0.0", "@angular-eslint/eslint-plugin": "~12.0.0", "@angular-eslint/eslint-plugin-template": "~12.0.0", "@angular-eslint/template-parser": "~12.0.0", - "@angular/cli": "~12.0.1", - "@angular/compiler": "~12.0.1", - "@angular/compiler-cli": "~12.0.1", - "@angular/language-service": "~12.0.1", + "@angular/cli": "^13.3.8", + "@angular/compiler": "~13.3.11", + "@angular/compiler-cli": "~13.3.11", + "@angular/language-service": "~13.3.11", "@capacitor/cli": "3.1.1", "@ionic/angular-toolkit": "^4.0.0", + "@polkadot/typegen": "^5.1.1", + "@polkadot/types": "^5.1.1", "@types/jasmine": "~3.6.0", "@types/jasminewd2": "~2.0.3", "@types/node": "^12.11.1", @@ -53,8 +61,25 @@ "karma-jasmine": "~4.0.0", "karma-jasmine-html-reporter": "^1.5.0", "protractor": "~7.0.0", - "ts-node": "~8.3.0", - "typescript": "~4.2.4" + "ts-node": "^8.6.2", + "typescript": "~4.6.4" + }, + "engines": { + "node": ">= 14.17.3" + } + }, + "../../../../../home/blavenie/git/duniter/lc-core-substrate/types-bundle/dist": {}, + "node_modules/@ampproject/remapping": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", + "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.1.0", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" } }, "node_modules/@angular-devkit/architect": { @@ -62,6 +87,7 @@ "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1200.5.tgz", "integrity": "sha512-222VZ4OeaDK3vON8V5m+w15SRWfUs5uOb4H9ij/H9/6tyHD83uWfCDoOGg+ax4wJVdWEFJIS+Vn4ijGcZCq9WQ==", "dev": true, + "peer": true, "dependencies": { "@angular-devkit/core": "12.0.5", "rxjs": "6.6.7" @@ -72,95 +98,114 @@ "yarn": ">= 1.13.0" } }, - "node_modules/@angular-devkit/build-angular": { - "version": "12.0.5", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-12.0.5.tgz", - "integrity": "sha512-rFbaAQPeuWM9KE9lK3J0sF6GB9nKF/s2Z7rtzKux7whGTF3Tlj8NHrcSxZTf4eBm3cnEpaiod1uPBQg8fUWD4w==", + "node_modules/@angular-devkit/architect/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, + "peer": true, "dependencies": { - "@angular-devkit/architect": "0.1200.5", - "@angular-devkit/build-optimizer": "0.1200.5", - "@angular-devkit/build-webpack": "0.1200.5", - "@angular-devkit/core": "12.0.5", - "@babel/core": "7.14.3", - "@babel/generator": "7.14.3", - "@babel/plugin-transform-async-to-generator": "7.13.0", - "@babel/plugin-transform-runtime": "7.14.3", - "@babel/preset-env": "7.14.2", - "@babel/runtime": "7.14.0", - "@babel/template": "7.12.13", - "@discoveryjs/json-ext": "0.5.2", - "@jsdevtools/coverage-istanbul-loader": "3.0.5", - "@ngtools/webpack": "12.0.5", + "tslib": "^1.9.0" + }, + "engines": { + "npm": ">=2.0.0" + } + }, + "node_modules/@angular-devkit/architect/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, + "peer": true + }, + "node_modules/@angular-devkit/build-angular": { + "version": "13.3.8", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-13.3.8.tgz", + "integrity": "sha512-5nWqb58oLcWoBoAECqHiUlOV23/J/4W1a9aqaFQcN6bThRzoy54S69zUuQREnBE36elDrSxhn2Y34poqYe8iKQ==", + "dev": true, + "dependencies": { + "@ampproject/remapping": "2.2.0", + "@angular-devkit/architect": "0.1303.8", + "@angular-devkit/build-webpack": "0.1303.8", + "@angular-devkit/core": "13.3.8", + "@babel/core": "7.16.12", + "@babel/generator": "7.16.8", + "@babel/helper-annotate-as-pure": "7.16.7", + "@babel/plugin-proposal-async-generator-functions": "7.16.8", + "@babel/plugin-transform-async-to-generator": "7.16.8", + "@babel/plugin-transform-runtime": "7.16.10", + "@babel/preset-env": "7.16.11", + "@babel/runtime": "7.16.7", + "@babel/template": "7.16.7", + "@discoveryjs/json-ext": "0.5.6", + "@ngtools/webpack": "13.3.8", "ansi-colors": "4.1.1", - "babel-loader": "8.2.2", + "babel-loader": "8.2.5", + "babel-plugin-istanbul": "6.1.1", "browserslist": "^4.9.1", - "cacache": "15.0.6", - "caniuse-lite": "^1.0.30001032", + "cacache": "15.3.0", "circular-dependency-plugin": "5.2.2", - "copy-webpack-plugin": "8.1.1", - "core-js": "3.12.0", - "critters": "0.0.10", - "css-loader": "5.2.4", - "css-minimizer-webpack-plugin": "3.0.0", - "find-cache-dir": "3.3.1", - "glob": "7.1.7", + "copy-webpack-plugin": "10.2.1", + "core-js": "3.20.3", + "critters": "0.0.16", + "css-loader": "6.5.1", + "esbuild-wasm": "0.14.22", + "glob": "7.2.0", "https-proxy-agent": "5.0.0", - "inquirer": "8.0.0", - "jest-worker": "26.6.2", + "inquirer": "8.2.0", + "jsonc-parser": "3.0.0", "karma-source-map-support": "1.4.0", - "less": "4.1.1", - "less-loader": "8.1.1", - "license-webpack-plugin": "2.3.19", - "loader-utils": "2.0.0", - "mini-css-extract-plugin": "1.5.1", - "minimatch": "3.0.4", - "open": "8.0.2", - "ora": "5.4.0", + "less": "4.1.2", + "less-loader": "10.2.0", + "license-webpack-plugin": "4.0.2", + "loader-utils": "3.2.0", + "mini-css-extract-plugin": "2.5.3", + "minimatch": "3.0.5", + "open": "8.4.0", + "ora": "5.4.1", "parse5-html-rewriting-stream": "6.0.1", - "postcss": "8.3.0", - "postcss-import": "14.0.1", - "postcss-loader": "5.2.0", - "postcss-preset-env": "6.7.0", - "raw-loader": "4.0.2", - "regenerator-runtime": "0.13.7", - "resolve-url-loader": "4.0.0", - "rimraf": "3.0.2", + "piscina": "3.2.0", + "postcss": "8.4.5", + "postcss-import": "14.0.2", + "postcss-loader": "6.2.1", + "postcss-preset-env": "7.2.3", + "regenerator-runtime": "0.13.9", + "resolve-url-loader": "5.0.0", "rxjs": "6.6.7", - "sass": "1.32.12", - "sass-loader": "11.0.1", + "sass": "1.49.9", + "sass-loader": "12.4.0", "semver": "7.3.5", - "source-map": "0.7.3", - "source-map-loader": "2.0.1", - "source-map-support": "0.5.19", - "style-loader": "2.0.0", - "stylus": "0.54.8", - "stylus-loader": "5.0.0", - "terser": "5.7.0", - "terser-webpack-plugin": "5.1.2", + "source-map-loader": "3.0.1", + "source-map-support": "0.5.21", + "stylus": "0.56.0", + "stylus-loader": "6.2.0", + "terser": "5.11.0", "text-table": "0.2.0", "tree-kill": "1.2.2", - "webpack": "5.39.1", - "webpack-dev-middleware": "4.1.0", - "webpack-dev-server": "3.11.2", - "webpack-merge": "5.7.3", - "webpack-subresource-integrity": "1.5.2" + "tslib": "2.3.1", + "webpack": "5.70.0", + "webpack-dev-middleware": "5.3.0", + "webpack-dev-server": "4.7.3", + "webpack-merge": "5.8.0", + "webpack-subresource-integrity": "5.1.0" }, "engines": { - "node": "^12.14.1 || >=14.0.0", - "npm": "^6.11.0 || ^7.5.6", + "node": "^12.20.0 || ^14.15.0 || >=16.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", "yarn": ">= 1.13.0" }, + "optionalDependencies": { + "esbuild": "0.14.22" + }, "peerDependencies": { - "@angular/compiler-cli": "^12.0.0", - "@angular/localize": "^12.0.0", - "@angular/service-worker": "^12.0.0", + "@angular/compiler-cli": "^13.0.0 || ^13.3.0-rc.0", + "@angular/localize": "^13.0.0 || ^13.3.0-rc.0", + "@angular/service-worker": "^13.0.0 || ^13.3.0-rc.0", "karma": "^6.3.0", - "ng-packagr": "^12.0.0", + "ng-packagr": "^13.0.0", "protractor": "^7.0.0", - "tailwindcss": "^2.0.0", - "tslint": "^6.1.0", - "typescript": "~4.2.3" + "tailwindcss": "^2.0.0 || ^3.0.0", + "typescript": ">=4.4.3 <4.7" }, "peerDependenciesMeta": { "@angular/localize": { @@ -180,126 +225,104 @@ }, "tailwindcss": { "optional": true - }, - "tslint": { - "optional": true - } - } - }, - "node_modules/@angular-devkit/build-optimizer": { - "version": "0.1200.5", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1200.5.tgz", - "integrity": "sha512-3XlDVVak3CfIgUjDZMoON7sxnI1vxhzEm2LvVg5yN98Q7ijnfykXiIzryEcplzTMTZwGNkem0361HDs1EX8zNg==", - "dev": true, - "dependencies": { - "source-map": "0.7.3", - "tslib": "2.2.0", - "typescript": "4.2.4" - }, - "bin": { - "build-optimizer": "src/build-optimizer/cli.js" - }, - "engines": { - "node": "^12.14.1 || >=14.0.0", - "npm": "^6.11.0 || ^7.5.6", - "yarn": ">= 1.13.0" - }, - "peerDependencies": { - "webpack": "^5.30.0" - }, - "peerDependenciesMeta": { - "webpack": { - "optional": true } } }, - "node_modules/@angular-devkit/build-optimizer/node_modules/tslib": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.2.0.tgz", - "integrity": "sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w==", - "dev": true - }, - "node_modules/@angular-devkit/build-webpack": { - "version": "0.1200.5", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1200.5.tgz", - "integrity": "sha512-cx8DVwOmogzeHS1dsZGWummwA3T1zqsJ6q9NIL0S0ZiOScZuz0j9zAOLjBkyCj5XexOFzHv3TcAVQyzJsi1tIw==", + "node_modules/@angular-devkit/build-angular/node_modules/@angular-devkit/architect": { + "version": "0.1303.8", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1303.8.tgz", + "integrity": "sha512-2zaNejnfZbq+fFOVgkmWkh+2UmK/CBDbWTq7VJHopJLtUuf7pFNvRk73s9xayuJ3Lt2/sY17Mykku2LziBF89A==", "dev": true, "dependencies": { - "@angular-devkit/architect": "0.1200.5", + "@angular-devkit/core": "13.3.8", "rxjs": "6.6.7" }, "engines": { - "node": "^12.14.1 || >=14.0.0", - "npm": "^6.11.0 || ^7.5.6", + "node": "^12.20.0 || ^14.15.0 || >=16.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", "yarn": ">= 1.13.0" - }, - "peerDependencies": { - "webpack": "^5.30.0", - "webpack-dev-server": "^3.1.4" } }, - "node_modules/@angular-devkit/core": { - "version": "12.0.5", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-12.0.5.tgz", - "integrity": "sha512-zVSQV+8/vjUjsUKGlj8Kf5LioA6AXJTGI0yhHW9q1dFX4dPpbW63k0R1UoIB2wJ0F/AbYVgpnPGPe9BBm2fvZA==", + "node_modules/@angular-devkit/build-angular/node_modules/@angular-devkit/core": { + "version": "13.3.8", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-13.3.8.tgz", + "integrity": "sha512-PCmfMkErpnH429l1cANak4PnCpAscqAubS6Dw83++cS34ht0/bgKRb2zSyBuB2Ka6kw7wAZ3fCyTcVvyfxVFEg==", "dev": true, "dependencies": { - "ajv": "8.2.0", - "ajv-formats": "2.0.2", + "ajv": "8.9.0", + "ajv-formats": "2.1.1", "fast-json-stable-stringify": "2.1.0", "magic-string": "0.25.7", "rxjs": "6.6.7", "source-map": "0.7.3" }, "engines": { - "node": "^12.14.1 || >=14.0.0", - "npm": "^6.11.0 || ^7.5.6", + "node": "^12.20.0 || ^14.15.0 || >=16.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", "yarn": ">= 1.13.0" + }, + "peerDependencies": { + "chokidar": "^3.5.2" + }, + "peerDependenciesMeta": { + "chokidar": { + "optional": true + } } }, - "node_modules/@angular-devkit/schematics": { - "version": "12.1.2", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-12.1.2.tgz", - "integrity": "sha512-/UGcAJChq+g7wf46Exr5iIyuVw3j4TxTIntTpuKg/z/xf9Y+8mzJAZgGittu/yFcHAJ9aYcOHctffrfEdV7QSA==", + "node_modules/@angular-devkit/build-angular/node_modules/@babel/core": { + "version": "7.16.12", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.16.12.tgz", + "integrity": "sha512-dK5PtG1uiN2ikk++5OzSYsitZKny4wOCD0nrO4TqnW4BVBTQ2NGS3NgilvT/TEyxTST7LNyWV/T4tXDoD3fOgg==", "dev": true, - "peer": true, "dependencies": { - "@angular-devkit/core": "12.1.2", - "ora": "5.4.1", - "rxjs": "6.6.7" + "@babel/code-frame": "^7.16.7", + "@babel/generator": "^7.16.8", + "@babel/helper-compilation-targets": "^7.16.7", + "@babel/helper-module-transforms": "^7.16.7", + "@babel/helpers": "^7.16.7", + "@babel/parser": "^7.16.12", + "@babel/template": "^7.16.7", + "@babel/traverse": "^7.16.10", + "@babel/types": "^7.16.8", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.1.2", + "semver": "^6.3.0", + "source-map": "^0.5.0" }, "engines": { - "node": "^12.14.1 || >=14.0.0", - "npm": "^6.11.0 || ^7.5.6", - "yarn": ">= 1.13.0" + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" } }, - "node_modules/@angular-devkit/schematics/node_modules/@angular-devkit/core": { - "version": "12.1.2", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-12.1.2.tgz", - "integrity": "sha512-TeaRbvsNEeAkRJcIBlT6yUNh0vaVVBGBYfXYFIMg/I04ex/HI0ApEowu78GeTzCqlE0r4t+WaGT46m7+NIljKg==", + "node_modules/@angular-devkit/build-angular/node_modules/@babel/core/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/@angular-devkit/build-angular/node_modules/@babel/core/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", "dev": true, - "peer": true, - "dependencies": { - "ajv": "8.6.0", - "ajv-formats": "2.1.0", - "fast-json-stable-stringify": "2.1.0", - "magic-string": "0.25.7", - "rxjs": "6.6.7", - "source-map": "0.7.3" - }, "engines": { - "node": "^12.14.1 || >=14.0.0", - "npm": "^6.11.0 || ^7.5.6", - "yarn": ">= 1.13.0" + "node": ">=0.10.0" } }, - "node_modules/@angular-devkit/schematics/node_modules/ajv": { - "version": "8.6.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.6.0.tgz", - "integrity": "sha512-cnUG4NSBiM4YFBxgZIj/In3/6KX+rQ2l2YPRVcvAMQGWEPKuXoPIhxzwqh31jA3IPbI4qEOp/5ILI4ynioXsGQ==", + "node_modules/@angular-devkit/build-angular/node_modules/ajv": { + "version": "8.9.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.9.0.tgz", + "integrity": "sha512-qOKJyNj/h+OWx7s5DePL6Zu1KeM9jPZhwBqs+7DzP6bGOvqzVCSf0xueYmVuaC/oQ/VtS2zLMLHdQFbkka+XDQ==", "dev": true, - "peer": true, "dependencies": { "fast-deep-equal": "^3.1.1", "json-schema-traverse": "^1.0.0", @@ -311,12 +334,11 @@ "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/@angular-devkit/schematics/node_modules/ajv-formats": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.0.tgz", - "integrity": "sha512-USH2jBb+C/hIpwD2iRjp0pe0k+MvzG0mlSn/FIdCgQhUb9ALPRjt2KIQdfZDS9r0ZIeUAg7gOu9KL0PFqGqr5Q==", + "node_modules/@angular-devkit/build-angular/node_modules/ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", "dev": true, - "peer": true, "dependencies": { "ajv": "^8.0.0" }, @@ -329,12 +351,11 @@ } } }, - "node_modules/@angular-devkit/schematics/node_modules/ansi-styles": { + "node_modules/@angular-devkit/build-angular/node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, - "peer": true, "dependencies": { "color-convert": "^2.0.1" }, @@ -345,12 +366,11 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@angular-devkit/schematics/node_modules/chalk": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", - "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", + "node_modules/@angular-devkit/build-angular/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, - "peer": true, "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -362,12 +382,11 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@angular-devkit/schematics/node_modules/color-convert": { + "node_modules/@angular-devkit/build-angular/node_modules/color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, - "peer": true, "dependencies": { "color-name": "~1.1.4" }, @@ -375,29 +394,35 @@ "node": ">=7.0.0" } }, - "node_modules/@angular-devkit/schematics/node_modules/color-name": { + "node_modules/@angular-devkit/build-angular/node_modules/color-name": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "peer": true + "dev": true }, - "node_modules/@angular-devkit/schematics/node_modules/has-flag": { + "node_modules/@angular-devkit/build-angular/node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, - "peer": true, "engines": { "node": ">=8" } }, - "node_modules/@angular-devkit/schematics/node_modules/ora": { + "node_modules/@angular-devkit/build-angular/node_modules/loader-utils": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.2.0.tgz", + "integrity": "sha512-HVl9ZqccQihZ7JM85dco1MvO9G+ONvxoGa9rkhzFsneGLKSUg1gJf9bWzhRhcvm2qChhWpebQhP44qxjKIUCaQ==", + "dev": true, + "engines": { + "node": ">= 12.13.0" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/ora": { "version": "5.4.1", "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", "dev": true, - "peer": true, "dependencies": { "bl": "^4.1.0", "chalk": "^4.1.0", @@ -416,12 +441,29 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@angular-devkit/schematics/node_modules/supports-color": { + "node_modules/@angular-devkit/build-angular/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/@angular-devkit/build-angular/node_modules/rxjs/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/@angular-devkit/build-angular/node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, - "peer": true, "dependencies": { "has-flag": "^4.0.0" }, @@ -429,1307 +471,1379 @@ "node": ">=8" } }, - "node_modules/@angular-eslint/builder": { - "version": "12.0.0", - "resolved": "https://registry.npmjs.org/@angular-eslint/builder/-/builder-12.0.0.tgz", - "integrity": "sha512-gvvXQDXXi0gsWZ25KyMqF/1b3AaX+CJbpVgTPqxJdEx4euvmG/m3993ynmpf+Kc+F+aI2O9W4TUbDbbLWoCjIA==", - "dev": true, - "peerDependencies": { - "@angular/cli": ">= 12.0.0 < 13.0.0", - "eslint": "*", - "typescript": "*" - } + "node_modules/@angular-devkit/build-angular/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/@angular-eslint/eslint-plugin": { - "version": "12.0.0", - "resolved": "https://registry.npmjs.org/@angular-eslint/eslint-plugin/-/eslint-plugin-12.0.0.tgz", - "integrity": "sha512-osdJdMu8bYFv9WGhC04AwRcbeKq4sxCQnShV7NiF0xkgNG9KqDaStytVhPjJFn2Ja1QhfiTGlcFFk4D/9aruog==", + "node_modules/@angular-devkit/build-webpack": { + "version": "0.1303.8", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1303.8.tgz", + "integrity": "sha512-N3DehEQ4uARricbYTuASBCnHdrtKFIMZpl6A4GB5DKQILF7KctsaAz0QvAiA8y4ojhSIRvXK5XVWklX3QVlJIw==", "dev": true, "dependencies": { - "@typescript-eslint/experimental-utils": "4.23.0" + "@angular-devkit/architect": "0.1303.8", + "rxjs": "6.6.7" + }, + "engines": { + "node": "^12.20.0 || ^14.15.0 || >=16.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" }, "peerDependencies": { - "@angular/compiler": ">= 12.0.0 < 13.0.0", - "eslint": "*", - "typescript": "*" + "webpack": "^5.30.0", + "webpack-dev-server": "^4.0.0" } }, - "node_modules/@angular-eslint/eslint-plugin-template": { - "version": "12.0.0", - "resolved": "https://registry.npmjs.org/@angular-eslint/eslint-plugin-template/-/eslint-plugin-template-12.0.0.tgz", - "integrity": "sha512-RF8PwN2A3U4ihd7sKYUM8wgPj46M30reziLl8CPPhN3H5Hn46nksmKmHRbPNakH2gW0Ba7NIxy+ocqUy0fQpcQ==", + "node_modules/@angular-devkit/build-webpack/node_modules/@angular-devkit/architect": { + "version": "0.1303.8", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1303.8.tgz", + "integrity": "sha512-2zaNejnfZbq+fFOVgkmWkh+2UmK/CBDbWTq7VJHopJLtUuf7pFNvRk73s9xayuJ3Lt2/sY17Mykku2LziBF89A==", "dev": true, "dependencies": { - "@typescript-eslint/experimental-utils": "4.23.0", - "aria-query": "^4.2.2", - "axobject-query": "^2.2.0" + "@angular-devkit/core": "13.3.8", + "rxjs": "6.6.7" }, - "peerDependencies": { - "@angular/compiler": ">= 12.0.0 < 13.0.0", - "eslint": "*", - "typescript": "*" + "engines": { + "node": "^12.20.0 || ^14.15.0 || >=16.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" } }, - "node_modules/@angular-eslint/template-parser": { - "version": "12.0.0", - "resolved": "https://registry.npmjs.org/@angular-eslint/template-parser/-/template-parser-12.0.0.tgz", - "integrity": "sha512-gl5ansA2a8LY6TEjhe0k8NiQJJdEQPjjqpysO1Rpt3NWUYQkFMt+1+AnUyokHB1TU3/11dHRUjVWXj+pMtTIAA==", + "node_modules/@angular-devkit/build-webpack/node_modules/@angular-devkit/core": { + "version": "13.3.8", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-13.3.8.tgz", + "integrity": "sha512-PCmfMkErpnH429l1cANak4PnCpAscqAubS6Dw83++cS34ht0/bgKRb2zSyBuB2Ka6kw7wAZ3fCyTcVvyfxVFEg==", "dev": true, "dependencies": { - "eslint-scope": "^5.1.0" + "ajv": "8.9.0", + "ajv-formats": "2.1.1", + "fast-json-stable-stringify": "2.1.0", + "magic-string": "0.25.7", + "rxjs": "6.6.7", + "source-map": "0.7.3" + }, + "engines": { + "node": "^12.20.0 || ^14.15.0 || >=16.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" }, "peerDependencies": { - "@angular/compiler": ">= 12.0.0 < 13.0.0", - "eslint": "*", - "typescript": "*" + "chokidar": "^3.5.2" + }, + "peerDependenciesMeta": { + "chokidar": { + "optional": true + } } }, - "node_modules/@angular/cli": { - "version": "12.0.5", - "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-12.0.5.tgz", - "integrity": "sha512-MdgJ9DY3bWYsMFr9Xa+60gtVaYErhAE8ULGnUyI8zLMhWqrV1ZpJJ1WfP8pMQYx4HaKJIgx7wd8az7ZXAcF8hg==", + "node_modules/@angular-devkit/build-webpack/node_modules/ajv": { + "version": "8.9.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.9.0.tgz", + "integrity": "sha512-qOKJyNj/h+OWx7s5DePL6Zu1KeM9jPZhwBqs+7DzP6bGOvqzVCSf0xueYmVuaC/oQ/VtS2zLMLHdQFbkka+XDQ==", "dev": true, - "hasInstallScript": true, "dependencies": { - "@angular-devkit/architect": "0.1200.5", - "@angular-devkit/core": "12.0.5", - "@angular-devkit/schematics": "12.0.5", - "@schematics/angular": "12.0.5", - "@yarnpkg/lockfile": "1.1.0", - "ansi-colors": "4.1.1", - "debug": "4.3.1", - "ini": "2.0.0", - "inquirer": "8.0.0", - "jsonc-parser": "3.0.0", - "npm-package-arg": "8.1.2", - "npm-pick-manifest": "6.1.1", - "open": "8.0.2", - "ora": "5.4.0", - "pacote": "11.3.2", - "resolve": "1.20.0", - "rimraf": "3.0.2", - "semver": "7.3.5", - "symbol-observable": "4.0.0", - "uuid": "8.3.2" - }, - "bin": { - "ng": "bin/ng" + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" }, - "engines": { - "node": "^12.14.1 || >=14.0.0", - "npm": "^6.11.0 || ^7.5.6", - "yarn": ">= 1.13.0" + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/@angular/cli/node_modules/@angular-devkit/schematics": { - "version": "12.0.5", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-12.0.5.tgz", - "integrity": "sha512-iW3XuDHScr3TXuunlEjF5O01zBpwpLgfr1oEny8PvseFGDlHK4Nj8zNIoIn3Yg936aiFO4GJAC/UXsT8g5vKxQ==", + "node_modules/@angular-devkit/build-webpack/node_modules/ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", "dev": true, "dependencies": { - "@angular-devkit/core": "12.0.5", - "ora": "5.4.0", - "rxjs": "6.6.7" + "ajv": "^8.0.0" }, - "engines": { - "node": "^12.14.1 || >=14.0.0", - "npm": "^6.11.0 || ^7.5.6", - "yarn": ">= 1.13.0" + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } } }, - "node_modules/@angular/common": { - "version": "12.0.5", - "resolved": "https://registry.npmjs.org/@angular/common/-/common-12.0.5.tgz", - "integrity": "sha512-jKiPjWVL3jXVKgXwINlsF5O0r9gX/mAoa5UVy57O8jcg+ENbH9LLSOikgiF/0HPxk2uvRV5OYmbBgOY1xT41kQ==", + "node_modules/@angular-devkit/build-webpack/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": "^2.1.0" + "tslib": "^1.9.0" }, "engines": { - "node": "^12.14.1 || >=14.0.0" - }, - "peerDependencies": { - "@angular/core": "12.0.5", - "rxjs": "^6.5.3" + "npm": ">=2.0.0" } }, - "node_modules/@angular/compiler": { + "node_modules/@angular-devkit/build-webpack/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/@angular-devkit/core": { "version": "12.0.5", - "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-12.0.5.tgz", - "integrity": "sha512-G255aP4hhQ04hSQ1/JgiKNeTzRCuLgK220lJXkHubpu+f67os5LArhFNxZaUC/EVa/sloOT7Fo5tn8C5gy7iLA==", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-12.0.5.tgz", + "integrity": "sha512-zVSQV+8/vjUjsUKGlj8Kf5LioA6AXJTGI0yhHW9q1dFX4dPpbW63k0R1UoIB2wJ0F/AbYVgpnPGPe9BBm2fvZA==", + "dev": true, "dependencies": { - "tslib": "^2.1.0" + "ajv": "8.2.0", + "ajv-formats": "2.0.2", + "fast-json-stable-stringify": "2.1.0", + "magic-string": "0.25.7", + "rxjs": "6.6.7", + "source-map": "0.7.3" }, "engines": { - "node": "^12.14.1 || >=14.0.0" + "node": "^12.14.1 || >=14.0.0", + "npm": "^6.11.0 || ^7.5.6", + "yarn": ">= 1.13.0" } }, - "node_modules/@angular/compiler-cli": { - "version": "12.0.5", - "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-12.0.5.tgz", - "integrity": "sha512-XBZWU2S7N2kvQJK0H5KyLHiLVhYJrjh3NtbVBv67sCY9Ft8fv2jjbozTgXqeoYZ1xAxcZ2ZAB0n5SkhmY75Mow==", + "node_modules/@angular-devkit/core/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": { - "@babel/core": "^7.8.6", - "@babel/types": "^7.8.6", - "canonical-path": "1.0.0", - "chokidar": "^3.0.0", - "convert-source-map": "^1.5.1", - "dependency-graph": "^0.11.0", - "magic-string": "^0.25.0", - "minimist": "^1.2.0", - "reflect-metadata": "^0.1.2", - "semver": "^7.0.0", - "source-map": "^0.6.1", - "sourcemap-codec": "^1.4.8", - "tslib": "^2.1.0", - "yargs": "^16.2.0" - }, - "bin": { - "ivy-ngcc": "ngcc/main-ivy-ngcc.js", - "ng-xi18n": "src/extract_i18n.js", - "ngc": "src/main.js", - "ngcc": "ngcc/main-ngcc.js" + "tslib": "^1.9.0" }, "engines": { - "node": "^12.14.1 || >=14.0.0" - }, - "peerDependencies": { - "@angular/compiler": "12.0.5", - "typescript": ">=4.2.3 <4.3" + "npm": ">=2.0.0" } }, - "node_modules/@angular/compiler-cli/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/@angular-devkit/core/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/@angular/core": { - "version": "12.0.5", - "resolved": "https://registry.npmjs.org/@angular/core/-/core-12.0.5.tgz", - "integrity": "sha512-uVYsZa1VqVw8vNcjUYgfjXBc1M3WaxLXoLnCsDvutJiln4csa8Yw8p7RqQSrZ6AgQ8o2LHD2JJ5kus3EDMwfcA==", + "node_modules/@angular-devkit/schematics": { + "version": "12.1.2", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-12.1.2.tgz", + "integrity": "sha512-/UGcAJChq+g7wf46Exr5iIyuVw3j4TxTIntTpuKg/z/xf9Y+8mzJAZgGittu/yFcHAJ9aYcOHctffrfEdV7QSA==", + "dev": true, + "peer": true, "dependencies": { - "tslib": "^2.1.0" + "@angular-devkit/core": "12.1.2", + "ora": "5.4.1", + "rxjs": "6.6.7" }, "engines": { - "node": "^12.14.1 || >=14.0.0" - }, - "peerDependencies": { - "rxjs": "^6.5.3", - "zone.js": "~0.11.4" + "node": "^12.14.1 || >=14.0.0", + "npm": "^6.11.0 || ^7.5.6", + "yarn": ">= 1.13.0" } }, - "node_modules/@angular/forms": { - "version": "12.0.5", - "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-12.0.5.tgz", - "integrity": "sha512-Ew/fGPTsywoYnm6DFPA/DyLl4Sb+1/uzpledrbxUHzaSKIrnXFrjQiUTmsbbq+8qono3JzbUIblqH1DrNThYiA==", + "node_modules/@angular-devkit/schematics/node_modules/@angular-devkit/core": { + "version": "12.1.2", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-12.1.2.tgz", + "integrity": "sha512-TeaRbvsNEeAkRJcIBlT6yUNh0vaVVBGBYfXYFIMg/I04ex/HI0ApEowu78GeTzCqlE0r4t+WaGT46m7+NIljKg==", + "dev": true, + "peer": true, "dependencies": { - "tslib": "^2.1.0" + "ajv": "8.6.0", + "ajv-formats": "2.1.0", + "fast-json-stable-stringify": "2.1.0", + "magic-string": "0.25.7", + "rxjs": "6.6.7", + "source-map": "0.7.3" }, "engines": { - "node": "^12.14.1 || >=14.0.0" - }, - "peerDependencies": { - "@angular/common": "12.0.5", - "@angular/core": "12.0.5", - "@angular/platform-browser": "12.0.5", - "rxjs": "^6.5.3" + "node": "^12.14.1 || >=14.0.0", + "npm": "^6.11.0 || ^7.5.6", + "yarn": ">= 1.13.0" } }, - "node_modules/@angular/language-service": { - "version": "12.0.5", - "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-12.0.5.tgz", - "integrity": "sha512-mhb21Ixdky3KOAQ9eps16tzP5hm/uKwCToLM244Llgozem1zHdfc2LPePAwWt/9fSl642xX2JKWjjKFgC4bgNw==", + "node_modules/@angular-devkit/schematics/node_modules/ajv": { + "version": "8.6.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.6.0.tgz", + "integrity": "sha512-cnUG4NSBiM4YFBxgZIj/In3/6KX+rQ2l2YPRVcvAMQGWEPKuXoPIhxzwqh31jA3IPbI4qEOp/5ILI4ynioXsGQ==", "dev": true, - "engines": { - "node": "^12.14.1 || >=14.0.0" + "peer": 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/@angular/platform-browser": { - "version": "12.0.5", - "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-12.0.5.tgz", - "integrity": "sha512-MLioK9gcdZOKINE8OmIHZICRnFySaWyCBeVbHS4Z4Vxgr+E2S2eO1IxBmGyQpJq1wDPBP9A/9LVLMUNbHu4Cdw==", + "node_modules/@angular-devkit/schematics/node_modules/ajv-formats": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.0.tgz", + "integrity": "sha512-USH2jBb+C/hIpwD2iRjp0pe0k+MvzG0mlSn/FIdCgQhUb9ALPRjt2KIQdfZDS9r0ZIeUAg7gOu9KL0PFqGqr5Q==", + "dev": true, + "peer": true, "dependencies": { - "tslib": "^2.1.0" - }, - "engines": { - "node": "^12.14.1 || >=14.0.0" + "ajv": "^8.0.0" }, "peerDependencies": { - "@angular/animations": "12.0.5", - "@angular/common": "12.0.5", - "@angular/core": "12.0.5" + "ajv": "^8.0.0" }, "peerDependenciesMeta": { - "@angular/animations": { + "ajv": { "optional": true } } }, - "node_modules/@angular/platform-browser-dynamic": { - "version": "12.0.5", - "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-12.0.5.tgz", - "integrity": "sha512-sYkOJxXj4vEZICT2oODkQF9wNaKoScSkiw2ooBYN0UX02mFKlWKa9vkzp6JmN1EF8YOWF0JnRqBPAi1WbOnAMw==", + "node_modules/@angular-devkit/schematics/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "peer": true, "dependencies": { - "tslib": "^2.1.0" + "color-convert": "^2.0.1" }, "engines": { - "node": "^12.14.1 || >=14.0.0" + "node": ">=8" }, - "peerDependencies": { - "@angular/common": "12.0.5", - "@angular/compiler": "12.0.5", - "@angular/core": "12.0.5", - "@angular/platform-browser": "12.0.5" + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@angular/router": { - "version": "12.0.5", - "resolved": "https://registry.npmjs.org/@angular/router/-/router-12.0.5.tgz", - "integrity": "sha512-2jiaT+OxCmJbeJ0MTPmIHBsTFLysenvPZteozYsjcmUo9mOzJHAjqHLJvTC+Ri+E9xvnplh+8BPETRleV1pAFw==", + "node_modules/@angular-devkit/schematics/node_modules/chalk": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", + "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", + "dev": true, + "peer": true, "dependencies": { - "tslib": "^2.1.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": "^12.14.1 || >=14.0.0" + "node": ">=10" }, - "peerDependencies": { - "@angular/common": "12.0.5", - "@angular/core": "12.0.5", - "@angular/platform-browser": "12.0.5", - "rxjs": "^6.5.3" + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@babel/code-frame": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.14.5.tgz", - "integrity": "sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw==", + "node_modules/@angular-devkit/schematics/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, + "peer": true, "dependencies": { - "@babel/highlight": "^7.14.5" + "color-name": "~1.1.4" }, "engines": { - "node": ">=6.9.0" + "node": ">=7.0.0" } }, - "node_modules/@babel/compat-data": { - "version": "7.14.7", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.14.7.tgz", - "integrity": "sha512-nS6dZaISCXJ3+518CWiBfEr//gHyMO02uDxBkXTKZDN5POruCnOZ1N4YBRZDCabwF8nZMWBpRxIicmXtBs+fvw==", + "node_modules/@angular-devkit/schematics/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "peer": true + }, + "node_modules/@angular-devkit/schematics/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, + "peer": true, "engines": { - "node": ">=6.9.0" + "node": ">=8" } }, - "node_modules/@babel/core": { - "version": "7.14.3", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.14.3.tgz", - "integrity": "sha512-jB5AmTKOCSJIZ72sd78ECEhuPiDMKlQdDI/4QRI6lzYATx5SSogS1oQA2AoPecRCknm30gHi2l+QVvNUu3wZAg==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.12.13", - "@babel/generator": "^7.14.3", - "@babel/helper-compilation-targets": "^7.13.16", - "@babel/helper-module-transforms": "^7.14.2", - "@babel/helpers": "^7.14.0", - "@babel/parser": "^7.14.3", - "@babel/template": "^7.12.13", - "@babel/traverse": "^7.14.2", - "@babel/types": "^7.14.2", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.1.2", - "semver": "^6.3.0", - "source-map": "^0.5.0" + "node_modules/@angular-devkit/schematics/node_modules/ora": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", + "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", + "dev": true, + "peer": true, + "dependencies": { + "bl": "^4.1.0", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.5.0", + "is-interactive": "^1.0.0", + "is-unicode-supported": "^0.1.0", + "log-symbols": "^4.1.0", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" }, "engines": { - "node": ">=6.9.0" + "node": ">=10" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@babel/core/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/@babel/core/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/@babel/generator": { - "version": "7.14.3", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.14.3.tgz", - "integrity": "sha512-bn0S6flG/j0xtQdz3hsjJ624h3W0r3llttBMfyHX3YrZ/KtLYr15bjA0FXkgW7FpvrDuTuElXeVjiKlYRpnOFA==", - "dev": true, - "dependencies": { - "@babel/types": "^7.14.2", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" - } - }, - "node_modules/@babel/generator/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/@babel/helper-annotate-as-pure": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.14.5.tgz", - "integrity": "sha512-EivH9EgBIb+G8ij1B2jAwSH36WnGvkQSEC6CkX/6v6ZFlw5fVOHvsgGF4uiEHO2GzMvunZb6tDLQEQSdrdocrA==", + "node_modules/@angular-devkit/schematics/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, + "peer": true, "dependencies": { - "@babel/types": "^7.14.5" + "tslib": "^1.9.0" }, "engines": { - "node": ">=6.9.0" + "npm": ">=2.0.0" } }, - "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.14.5.tgz", - "integrity": "sha512-YTA/Twn0vBXDVGJuAX6PwW7x5zQei1luDDo2Pl6q1qZ7hVNl0RZrhHCQG/ArGpR29Vl7ETiB8eJyrvpuRp300w==", + "node_modules/@angular-devkit/schematics/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, + "peer": true, "dependencies": { - "@babel/helper-explode-assignable-expression": "^7.14.5", - "@babel/types": "^7.14.5" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=6.9.0" + "node": ">=8" } }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.14.5.tgz", - "integrity": "sha512-v+QtZqXEiOnpO6EYvlImB6zCD2Lel06RzOPzmkz/D/XgQiUu3C/Jb1LOqSt/AIA34TYi/Q+KlT8vTQrgdxkbLw==", + "node_modules/@angular-devkit/schematics/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, - "dependencies": { - "@babel/compat-data": "^7.14.5", - "@babel/helper-validator-option": "^7.14.5", - "browserslist": "^4.16.6", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } + "peer": true }, - "node_modules/@babel/helper-compilation-targets/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "node_modules/@angular-eslint/builder": { + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/@angular-eslint/builder/-/builder-12.0.0.tgz", + "integrity": "sha512-gvvXQDXXi0gsWZ25KyMqF/1b3AaX+CJbpVgTPqxJdEx4euvmG/m3993ynmpf+Kc+F+aI2O9W4TUbDbbLWoCjIA==", "dev": true, - "bin": { - "semver": "bin/semver.js" + "peerDependencies": { + "@angular/cli": ">= 12.0.0 < 13.0.0", + "eslint": "*", + "typescript": "*" } }, - "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.14.6", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.14.6.tgz", - "integrity": "sha512-Z6gsfGofTxH/+LQXqYEK45kxmcensbzmk/oi8DmaQytlQCgqNZt9XQF8iqlI/SeXWVjaMNxvYvzaYw+kh42mDg==", + "node_modules/@angular-eslint/eslint-plugin": { + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/@angular-eslint/eslint-plugin/-/eslint-plugin-12.0.0.tgz", + "integrity": "sha512-osdJdMu8bYFv9WGhC04AwRcbeKq4sxCQnShV7NiF0xkgNG9KqDaStytVhPjJFn2Ja1QhfiTGlcFFk4D/9aruog==", "dev": true, "dependencies": { - "@babel/helper-annotate-as-pure": "^7.14.5", - "@babel/helper-function-name": "^7.14.5", - "@babel/helper-member-expression-to-functions": "^7.14.5", - "@babel/helper-optimise-call-expression": "^7.14.5", - "@babel/helper-replace-supers": "^7.14.5", - "@babel/helper-split-export-declaration": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" + "@typescript-eslint/experimental-utils": "4.23.0" }, "peerDependencies": { - "@babel/core": "^7.0.0" + "@angular/compiler": ">= 12.0.0 < 13.0.0", + "eslint": "*", + "typescript": "*" } }, - "node_modules/@babel/helper-create-regexp-features-plugin": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.14.5.tgz", - "integrity": "sha512-TLawwqpOErY2HhWbGJ2nZT5wSkR192QpN+nBg1THfBfftrlvOh+WbhrxXCH4q4xJ9Gl16BGPR/48JA+Ryiho/A==", + "node_modules/@angular-eslint/eslint-plugin-template": { + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/@angular-eslint/eslint-plugin-template/-/eslint-plugin-template-12.0.0.tgz", + "integrity": "sha512-RF8PwN2A3U4ihd7sKYUM8wgPj46M30reziLl8CPPhN3H5Hn46nksmKmHRbPNakH2gW0Ba7NIxy+ocqUy0fQpcQ==", "dev": true, "dependencies": { - "@babel/helper-annotate-as-pure": "^7.14.5", - "regexpu-core": "^4.7.1" - }, - "engines": { - "node": ">=6.9.0" + "@typescript-eslint/experimental-utils": "4.23.0", + "aria-query": "^4.2.2", + "axobject-query": "^2.2.0" }, "peerDependencies": { - "@babel/core": "^7.0.0" + "@angular/compiler": ">= 12.0.0 < 13.0.0", + "eslint": "*", + "typescript": "*" } }, - "node_modules/@babel/helper-define-polyfill-provider": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.2.3.tgz", - "integrity": "sha512-RH3QDAfRMzj7+0Nqu5oqgO5q9mFtQEVvCRsi8qCEfzLR9p2BHfn5FzhSB2oj1fF7I2+DcTORkYaQ6aTR9Cofew==", + "node_modules/@angular-eslint/template-parser": { + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/@angular-eslint/template-parser/-/template-parser-12.0.0.tgz", + "integrity": "sha512-gl5ansA2a8LY6TEjhe0k8NiQJJdEQPjjqpysO1Rpt3NWUYQkFMt+1+AnUyokHB1TU3/11dHRUjVWXj+pMtTIAA==", "dev": true, "dependencies": { - "@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" + "eslint-scope": "^5.1.0" }, "peerDependencies": { - "@babel/core": "^7.4.0-0" - } - }, - "node_modules/@babel/helper-define-polyfill-provider/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" + "@angular/compiler": ">= 12.0.0 < 13.0.0", + "eslint": "*", + "typescript": "*" } }, - "node_modules/@babel/helper-explode-assignable-expression": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.14.5.tgz", - "integrity": "sha512-Htb24gnGJdIGT4vnRKMdoXiOIlqOLmdiUYpAQ0mYfgVT/GDm8GOYhgi4GL+hMKrkiPRohO4ts34ELFsGAPQLDQ==", + "node_modules/@angular/cli": { + "version": "13.3.8", + "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-13.3.8.tgz", + "integrity": "sha512-dsvum8oGnbgX5mLh9CDzP1ip2UGDZdppPD6np2XXhqX75DfJxRlgl4u3NxBSnDmeyhIGTsGV0HKAxoB5EOoHcw==", "dev": true, + "hasInstallScript": true, "dependencies": { - "@babel/types": "^7.14.5" + "@angular-devkit/architect": "0.1303.8", + "@angular-devkit/core": "13.3.8", + "@angular-devkit/schematics": "13.3.8", + "@schematics/angular": "13.3.8", + "@yarnpkg/lockfile": "1.1.0", + "ansi-colors": "4.1.1", + "debug": "4.3.3", + "ini": "2.0.0", + "inquirer": "8.2.0", + "jsonc-parser": "3.0.0", + "npm-package-arg": "8.1.5", + "npm-pick-manifest": "6.1.1", + "open": "8.4.0", + "ora": "5.4.1", + "pacote": "12.0.3", + "resolve": "1.22.0", + "semver": "7.3.5", + "symbol-observable": "4.0.0", + "uuid": "8.3.2" + }, + "bin": { + "ng": "bin/ng.js" }, "engines": { - "node": ">=6.9.0" + "node": "^12.20.0 || ^14.15.0 || >=16.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" } }, - "node_modules/@babel/helper-function-name": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.14.5.tgz", - "integrity": "sha512-Gjna0AsXWfFvrAuX+VKcN/aNNWonizBj39yGwUzVDVTlMYJMK2Wp6xdpy72mfArFq5uK+NOuexfzZlzI1z9+AQ==", + "node_modules/@angular/cli/node_modules/@angular-devkit/architect": { + "version": "0.1303.8", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1303.8.tgz", + "integrity": "sha512-2zaNejnfZbq+fFOVgkmWkh+2UmK/CBDbWTq7VJHopJLtUuf7pFNvRk73s9xayuJ3Lt2/sY17Mykku2LziBF89A==", "dev": true, "dependencies": { - "@babel/helper-get-function-arity": "^7.14.5", - "@babel/template": "^7.14.5", - "@babel/types": "^7.14.5" + "@angular-devkit/core": "13.3.8", + "rxjs": "6.6.7" }, "engines": { - "node": ">=6.9.0" + "node": "^12.20.0 || ^14.15.0 || >=16.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" } }, - "node_modules/@babel/helper-function-name/node_modules/@babel/template": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.14.5.tgz", - "integrity": "sha512-6Z3Po85sfxRGachLULUhOmvAaOo7xCvqGQtxINai2mEGPFm6pQ4z5QInFnUrRpfoSV60BnjyF5F3c+15fxFV1g==", + "node_modules/@angular/cli/node_modules/@angular-devkit/core": { + "version": "13.3.8", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-13.3.8.tgz", + "integrity": "sha512-PCmfMkErpnH429l1cANak4PnCpAscqAubS6Dw83++cS34ht0/bgKRb2zSyBuB2Ka6kw7wAZ3fCyTcVvyfxVFEg==", "dev": true, "dependencies": { - "@babel/code-frame": "^7.14.5", - "@babel/parser": "^7.14.5", - "@babel/types": "^7.14.5" + "ajv": "8.9.0", + "ajv-formats": "2.1.1", + "fast-json-stable-stringify": "2.1.0", + "magic-string": "0.25.7", + "rxjs": "6.6.7", + "source-map": "0.7.3" }, "engines": { - "node": ">=6.9.0" + "node": "^12.20.0 || ^14.15.0 || >=16.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "peerDependencies": { + "chokidar": "^3.5.2" + }, + "peerDependenciesMeta": { + "chokidar": { + "optional": true + } } }, - "node_modules/@babel/helper-get-function-arity": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.14.5.tgz", - "integrity": "sha512-I1Db4Shst5lewOM4V+ZKJzQ0JGGaZ6VY1jYvMghRjqs6DWgxLCIyFt30GlnKkfUeFLpJt2vzbMVEXVSXlIFYUg==", + "node_modules/@angular/cli/node_modules/@angular-devkit/schematics": { + "version": "13.3.8", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-13.3.8.tgz", + "integrity": "sha512-7mTlxZhS9uHxtmOiZeSMkKdIE5r5FmQ/1IBhRBfD5XDQdipQkUJyOtclPO/+t/AJIG0+LYt9+7X5hHUr7W3kZA==", "dev": true, "dependencies": { - "@babel/types": "^7.14.5" + "@angular-devkit/core": "13.3.8", + "jsonc-parser": "3.0.0", + "magic-string": "0.25.7", + "ora": "5.4.1", + "rxjs": "6.6.7" }, "engines": { - "node": ">=6.9.0" + "node": "^12.20.0 || ^14.15.0 || >=16.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" } }, - "node_modules/@babel/helper-hoist-variables": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.14.5.tgz", - "integrity": "sha512-R1PXiz31Uc0Vxy4OEOm07x0oSjKAdPPCh3tPivn/Eo8cvz6gveAeuyUUPB21Hoiif0uoPQSSdhIPS3352nvdyQ==", + "node_modules/@angular/cli/node_modules/@schematics/angular": { + "version": "13.3.8", + "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-13.3.8.tgz", + "integrity": "sha512-VKRTTNYX5OsaJ6sWlCIuU71qihV3ysNNJ49wqLedOlWm1v0GMwoyGMCTJk9OZab1rpo/tYfLTcUlYqP3l6GVDQ==", "dev": true, "dependencies": { - "@babel/types": "^7.14.5" + "@angular-devkit/core": "13.3.8", + "@angular-devkit/schematics": "13.3.8", + "jsonc-parser": "3.0.0" }, "engines": { - "node": ">=6.9.0" + "node": "^12.20.0 || ^14.15.0 || >=16.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" } }, - "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.14.7", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.14.7.tgz", - "integrity": "sha512-TMUt4xKxJn6ccjcOW7c4hlwyJArizskAhoSTOCkA0uZ+KghIaci0Qg9R043kUMWI9mtQfgny+NQ5QATnZ+paaA==", + "node_modules/@angular/cli/node_modules/ajv": { + "version": "8.9.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.9.0.tgz", + "integrity": "sha512-qOKJyNj/h+OWx7s5DePL6Zu1KeM9jPZhwBqs+7DzP6bGOvqzVCSf0xueYmVuaC/oQ/VtS2zLMLHdQFbkka+XDQ==", "dev": true, "dependencies": { - "@babel/types": "^7.14.5" + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" }, - "engines": { - "node": ">=6.9.0" + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/@babel/helper-module-imports": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.14.5.tgz", - "integrity": "sha512-SwrNHu5QWS84XlHwGYPDtCxcA0hrSlL2yhWYLgeOc0w7ccOl2qv4s/nARI0aYZW+bSwAL5CukeXA47B/1NKcnQ==", + "node_modules/@angular/cli/node_modules/ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", "dev": true, "dependencies": { - "@babel/types": "^7.14.5" + "ajv": "^8.0.0" }, - "engines": { - "node": ">=6.9.0" + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } } }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.14.5.tgz", - "integrity": "sha512-iXpX4KW8LVODuAieD7MzhNjmM6dzYY5tfRqT+R9HDXWl0jPn/djKmA+G9s/2C2T9zggw5tK1QNqZ70USfedOwA==", + "node_modules/@angular/cli/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "dependencies": { - "@babel/helper-module-imports": "^7.14.5", - "@babel/helper-replace-supers": "^7.14.5", - "@babel/helper-simple-access": "^7.14.5", - "@babel/helper-split-export-declaration": "^7.14.5", - "@babel/helper-validator-identifier": "^7.14.5", - "@babel/template": "^7.14.5", - "@babel/traverse": "^7.14.5", - "@babel/types": "^7.14.5" + "color-convert": "^2.0.1" }, "engines": { - "node": ">=6.9.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@babel/helper-module-transforms/node_modules/@babel/template": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.14.5.tgz", - "integrity": "sha512-6Z3Po85sfxRGachLULUhOmvAaOo7xCvqGQtxINai2mEGPFm6pQ4z5QInFnUrRpfoSV60BnjyF5F3c+15fxFV1g==", + "node_modules/@angular/cli/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "dependencies": { - "@babel/code-frame": "^7.14.5", - "@babel/parser": "^7.14.5", - "@babel/types": "^7.14.5" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=6.9.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@babel/helper-optimise-call-expression": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.14.5.tgz", - "integrity": "sha512-IqiLIrODUOdnPU9/F8ib1Fx2ohlgDhxnIDU7OEVi+kAbEZcyiF7BLU8W6PfvPi9LzztjS7kcbzbmL7oG8kD6VA==", + "node_modules/@angular/cli/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "dependencies": { - "@babel/types": "^7.14.5" + "color-name": "~1.1.4" }, "engines": { - "node": ">=6.9.0" + "node": ">=7.0.0" } }, - "node_modules/@babel/helper-plugin-utils": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz", - "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==", + "node_modules/@angular/cli/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/@angular/cli/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, "engines": { - "node": ">=6.9.0" + "node": ">=8" } }, - "node_modules/@babel/helper-remap-async-to-generator": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.14.5.tgz", - "integrity": "sha512-rLQKdQU+HYlxBwQIj8dk4/0ENOUEhA/Z0l4hN8BexpvmSMN9oA9EagjnhnDpNsRdWCfjwa4mn/HyBXO9yhQP6A==", + "node_modules/@angular/cli/node_modules/ora": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", + "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", "dev": true, "dependencies": { - "@babel/helper-annotate-as-pure": "^7.14.5", - "@babel/helper-wrap-function": "^7.14.5", - "@babel/types": "^7.14.5" - }, + "bl": "^4.1.0", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.5.0", + "is-interactive": "^1.0.0", + "is-unicode-supported": "^0.1.0", + "log-symbols": "^4.1.0", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" + }, "engines": { - "node": ">=6.9.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@babel/helper-replace-supers": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.14.5.tgz", - "integrity": "sha512-3i1Qe9/8x/hCHINujn+iuHy+mMRLoc77b2nI9TB0zjH1hvn9qGlXjWlggdwUcju36PkPCy/lpM7LLUdcTyH4Ow==", + "node_modules/@angular/cli/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": { - "@babel/helper-member-expression-to-functions": "^7.14.5", - "@babel/helper-optimise-call-expression": "^7.14.5", - "@babel/traverse": "^7.14.5", - "@babel/types": "^7.14.5" + "tslib": "^1.9.0" }, "engines": { - "node": ">=6.9.0" + "npm": ">=2.0.0" } }, - "node_modules/@babel/helper-simple-access": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.14.5.tgz", - "integrity": "sha512-nfBN9xvmCt6nrMZjfhkl7i0oTV3yxR4/FztsbOASyTvVcoYd0TRHh7eMLdlEcCqobydC0LAF3LtC92Iwxo0wyw==", + "node_modules/@angular/cli/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "dependencies": { - "@babel/types": "^7.14.5" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=6.9.0" + "node": ">=8" } }, - "node_modules/@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.14.5.tgz", - "integrity": "sha512-dmqZB7mrb94PZSAOYtr+ZN5qt5owZIAgqtoTuqiFbHFtxgEcmQlRJVI+bO++fciBunXtB6MK7HrzrfcAzIz2NQ==", - "dev": true, + "node_modules/@angular/cli/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/@angular/common": { + "version": "13.3.11", + "resolved": "https://registry.npmjs.org/@angular/common/-/common-13.3.11.tgz", + "integrity": "sha512-gPMwDYIAag1izXm2tRQ6EOIx9FVEUqLdr+qYtRVoQtoBmfkoTSLGcpeBXqqlPVxVPbA6Li1WZZT5wxLLlLAN+Q==", "dependencies": { - "@babel/types": "^7.14.5" + "tslib": "^2.3.0" }, "engines": { - "node": ">=6.9.0" + "node": "^12.20.0 || ^14.15.0 || >=16.10.0" + }, + "peerDependencies": { + "@angular/core": "13.3.11", + "rxjs": "^6.5.3 || ^7.4.0" } }, - "node_modules/@babel/helper-split-export-declaration": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.14.5.tgz", - "integrity": "sha512-hprxVPu6e5Kdp2puZUmvOGjaLv9TCe58E/Fl6hRq4YiVQxIcNvuq6uTM2r1mT/oPskuS9CgR+I94sqAYv0NGKA==", - "dev": true, + "node_modules/@angular/compiler": { + "version": "13.3.11", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-13.3.11.tgz", + "integrity": "sha512-EV6JCBbXdHDHbPShWmymvuoxFYG0KVc8sDJpYp47WLHCY2zgZaXhvWs//Hrls3fmi+TGTekgRa2jOBBNce/Ggg==", "dependencies": { - "@babel/types": "^7.14.5" + "tslib": "^2.3.0" }, "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.5.tgz", - "integrity": "sha512-5lsetuxCLilmVGyiLEfoHBRX8UCFD+1m2x3Rj97WrW3V7H3u4RWRXA4evMjImCsin2J2YT0QaVDGf+z8ondbAg==", - "dev": true, - "engines": { - "node": ">=6.9.0" + "node": "^12.20.0 || ^14.15.0 || >=16.10.0" } }, - "node_modules/@babel/helper-validator-option": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz", - "integrity": "sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow==", + "node_modules/@angular/compiler-cli": { + "version": "13.3.11", + "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-13.3.11.tgz", + "integrity": "sha512-cl+3Wzxt8NRi2WY+RdsxuQ3yQRUp8pSlfSlJJnfaKE1BEqap6uem2DovuhnIbmrLhxZ5xt7o+I1szyO6sn6+ag==", "dev": true, + "dependencies": { + "@babel/core": "^7.17.2", + "chokidar": "^3.0.0", + "convert-source-map": "^1.5.1", + "dependency-graph": "^0.11.0", + "magic-string": "^0.26.0", + "reflect-metadata": "^0.1.2", + "semver": "^7.0.0", + "sourcemap-codec": "^1.4.8", + "tslib": "^2.3.0", + "yargs": "^17.2.1" + }, + "bin": { + "ng-xi18n": "bundles/src/bin/ng_xi18n.js", + "ngc": "bundles/src/bin/ngc.js", + "ngcc": "bundles/ngcc/main-ngcc.js" + }, "engines": { - "node": ">=6.9.0" + "node": "^12.20.0 || ^14.15.0 || >=16.10.0" + }, + "peerDependencies": { + "@angular/compiler": "13.3.11", + "typescript": ">=4.4.2 <4.7" } }, - "node_modules/@babel/helper-wrap-function": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.14.5.tgz", - "integrity": "sha512-YEdjTCq+LNuNS1WfxsDCNpgXkJaIyqco6DAelTUjT4f2KIWC1nBcaCaSdHTBqQVLnTBexBcVcFhLSU1KnYuePQ==", + "node_modules/@angular/compiler-cli/node_modules/magic-string": { + "version": "0.26.2", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.26.2.tgz", + "integrity": "sha512-NzzlXpclt5zAbmo6h6jNc8zl2gNRGHvmsZW4IvZhTC4W7k4OlLP+S5YLussa/r3ixNT66KOQfNORlXHSOy/X4A==", "dev": true, "dependencies": { - "@babel/helper-function-name": "^7.14.5", - "@babel/template": "^7.14.5", - "@babel/traverse": "^7.14.5", - "@babel/types": "^7.14.5" + "sourcemap-codec": "^1.4.8" }, "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/@babel/helper-wrap-function/node_modules/@babel/template": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.14.5.tgz", - "integrity": "sha512-6Z3Po85sfxRGachLULUhOmvAaOo7xCvqGQtxINai2mEGPFm6pQ4z5QInFnUrRpfoSV60BnjyF5F3c+15fxFV1g==", + "node_modules/@angular/compiler-cli/node_modules/yargs": { + "version": "17.5.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.5.1.tgz", + "integrity": "sha512-t6YAJcxDkNX7NFYiVtKvWUz8l+PaKTLiL63mJYWR2GnHq2gjEWISzsLp9wg3aY36dY1j+gfIEL3pIF+XlJJfbA==", "dev": true, "dependencies": { - "@babel/code-frame": "^7.14.5", - "@babel/parser": "^7.14.5", - "@babel/types": "^7.14.5" + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.0.0" }, "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/@babel/helpers": { - "version": "7.14.6", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.14.6.tgz", - "integrity": "sha512-yesp1ENQBiLI+iYHSJdoZKUtRpfTlL1grDIX9NRlAVppljLw/4tTyYupIB7uIYmC3stW/imAv8EqaKaS/ibmeA==", + "node_modules/@angular/compiler-cli/node_modules/yargs-parser": { + "version": "21.0.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.0.1.tgz", + "integrity": "sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg==", "dev": true, - "dependencies": { - "@babel/template": "^7.14.5", - "@babel/traverse": "^7.14.5", - "@babel/types": "^7.14.5" - }, "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/@babel/helpers/node_modules/@babel/template": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.14.5.tgz", - "integrity": "sha512-6Z3Po85sfxRGachLULUhOmvAaOo7xCvqGQtxINai2mEGPFm6pQ4z5QInFnUrRpfoSV60BnjyF5F3c+15fxFV1g==", - "dev": true, + "node_modules/@angular/core": { + "version": "13.3.11", + "resolved": "https://registry.npmjs.org/@angular/core/-/core-13.3.11.tgz", + "integrity": "sha512-9BmE2CxyV0g+AkBeuc8IwjSOiJ8Y+kptXnqD/J8EAFT3B0/fLGVnjFdZC6Sev9L0SNZb6qdzebpfIOLqbUjReQ==", "dependencies": { - "@babel/code-frame": "^7.14.5", - "@babel/parser": "^7.14.5", - "@babel/types": "^7.14.5" + "tslib": "^2.3.0" }, "engines": { - "node": ">=6.9.0" + "node": "^12.20.0 || ^14.15.0 || >=16.10.0" + }, + "peerDependencies": { + "rxjs": "^6.5.3 || ^7.4.0", + "zone.js": "~0.11.4" } }, - "node_modules/@babel/highlight": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz", - "integrity": "sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==", - "dev": true, + "node_modules/@angular/forms": { + "version": "13.3.11", + "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-13.3.11.tgz", + "integrity": "sha512-iMgTNB+Qc3TsfAZSk1FnUE6MVoddPzxhG9AKCfSlvpjFh8VmXkIjxPL3dun7J8OjayT3X+B8f7LZ9AkKNXtBKw==", "dependencies": { - "@babel/helper-validator-identifier": "^7.14.5", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" + "tslib": "^2.3.0" }, "engines": { - "node": ">=6.9.0" + "node": "^12.20.0 || ^14.15.0 || >=16.10.0" + }, + "peerDependencies": { + "@angular/common": "13.3.11", + "@angular/core": "13.3.11", + "@angular/platform-browser": "13.3.11", + "rxjs": "^6.5.3 || ^7.4.0" } }, - "node_modules/@babel/parser": { - "version": "7.14.7", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.14.7.tgz", - "integrity": "sha512-X67Z5y+VBJuHB/RjwECp8kSl5uYi0BvRbNeWqkaJCVh+LiTPl19WBUfG627psSgp9rSf6ojuXghQM3ha6qHHdA==", + "node_modules/@angular/language-service": { + "version": "13.3.11", + "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-13.3.11.tgz", + "integrity": "sha512-EDw8L0RKrRYUYWB2P0xS1WRazYvv5gOguX+IwPZlCpR95QLQPTTpmNaqvnYjmFlvQjGHJYc8wqtJJIIMiL6FSA==", "dev": true, - "bin": { - "parser": "bin/babel-parser.js" - }, "engines": { - "node": ">=6.0.0" + "node": "^12.20.0 || ^14.15.0 || >=16.10.0" } }, - "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.14.5.tgz", - "integrity": "sha512-ZoJS2XCKPBfTmL122iP6NM9dOg+d4lc9fFk3zxc8iDjvt8Pk4+TlsHSKhIPf6X+L5ORCdBzqMZDjL/WHj7WknQ==", - "dev": true, + "node_modules/@angular/platform-browser": { + "version": "13.3.11", + "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-13.3.11.tgz", + "integrity": "sha512-PG3chCErARb6wNzkOed2NsZmgvTmbumRx/6sMXqGkDKXYQm0JULnl4X42Rn+JCgJ9DLJi5/jrd1dbcBCrKk9Vg==", "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.14.5", - "@babel/plugin-proposal-optional-chaining": "^7.14.5" + "tslib": "^2.3.0" }, "engines": { - "node": ">=6.9.0" + "node": "^12.20.0 || ^14.15.0 || >=16.10.0" }, "peerDependencies": { - "@babel/core": "^7.13.0" + "@angular/animations": "13.3.11", + "@angular/common": "13.3.11", + "@angular/core": "13.3.11" + }, + "peerDependenciesMeta": { + "@angular/animations": { + "optional": true + } } }, - "node_modules/@babel/plugin-proposal-async-generator-functions": { - "version": "7.14.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.14.7.tgz", - "integrity": "sha512-RK8Wj7lXLY3bqei69/cc25gwS5puEc3dknoFPFbqfy3XxYQBQFvu4ioWpafMBAB+L9NyptQK4nMOa5Xz16og8Q==", - "dev": true, + "node_modules/@angular/platform-browser-dynamic": { + "version": "13.3.11", + "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-13.3.11.tgz", + "integrity": "sha512-xM0VRC1Nw//SHO3gkghUHyjCaaQbk1UYMq4vIu3iKVq9KLqOSZgccv0NcOKHzXXN3S5RgX2auuyOUOCD6ny1Pg==", "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-remap-async-to-generator": "^7.14.5", - "@babel/plugin-syntax-async-generators": "^7.8.4" + "tslib": "^2.3.0" }, "engines": { - "node": ">=6.9.0" + "node": "^12.20.0 || ^14.15.0 || >=16.10.0" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@angular/common": "13.3.11", + "@angular/compiler": "13.3.11", + "@angular/core": "13.3.11", + "@angular/platform-browser": "13.3.11" } }, - "node_modules/@babel/plugin-proposal-class-properties": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.14.5.tgz", - "integrity": "sha512-q/PLpv5Ko4dVc1LYMpCY7RVAAO4uk55qPwrIuJ5QJ8c6cVuAmhu7I/49JOppXL6gXf7ZHzpRVEUZdYoPLM04Gg==", - "dev": true, + "node_modules/@angular/router": { + "version": "13.3.11", + "resolved": "https://registry.npmjs.org/@angular/router/-/router-13.3.11.tgz", + "integrity": "sha512-bJTcxDYKEyoqtsi1kJcDJWLmEN+dXpwhU07SsqUwfyN4V5fYF1ApDhpJ4c17hNdjEqe106srT9tiHXhmWayhmQ==", "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5" + "tslib": "^2.3.0" }, "engines": { - "node": ">=6.9.0" + "node": "^12.20.0 || ^14.15.0 || >=16.10.0" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@angular/common": "13.3.11", + "@angular/core": "13.3.11", + "@angular/platform-browser": "13.3.11", + "rxjs": "^6.5.3 || ^7.4.0" } }, - "node_modules/@babel/plugin-proposal-class-static-block": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.14.5.tgz", - "integrity": "sha512-KBAH5ksEnYHCegqseI5N9skTdxgJdmDoAOc0uXa+4QMYKeZD0w5IARh4FMlTNtaHhbB8v+KzMdTgxMMzsIy6Yg==", + "node_modules/@assemblyscript/loader": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/@assemblyscript/loader/-/loader-0.10.1.tgz", + "integrity": "sha512-H71nDOOL8Y7kWRLqf6Sums+01Q5msqBW2KhDUTemh1tvY04eSkSXrK0uj/4mmY0Xr16/3zyZmsrxN7CKuRbNRg==", + "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/helper-create-class-features-plugin": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/plugin-syntax-class-static-block": "^7.14.5" + "@babel/highlight": "^7.16.7" }, "engines": { "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.12.0" } }, - "node_modules/@babel/plugin-proposal-dynamic-import": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.14.5.tgz", - "integrity": "sha512-ExjiNYc3HDN5PXJx+bwC50GIx/KKanX2HiggnIUAYedbARdImiCU4RhhHfdf0Kd7JNXGpsBBBCOm+bBVy3Gb0g==", + "node_modules/@babel/compat-data": { + "version": "7.18.5", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.18.5.tgz", + "integrity": "sha512-BxhE40PVCBxVEJsSBhB6UWyAuqJRxGsAw8BdHMJ3AKGydcwuWW4kOO3HmqBQAdcq/OP+/DlTVxLvsCzRTnZuGg==", "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5", - "@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.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.14.5.tgz", - "integrity": "sha512-g5POA32bXPMmSBu5Dx/iZGLGnKmKPc5AiY7qfZgurzrCYgIztDlHFbznSNCoQuv57YQLnQfaDi7dxCtLDIdXdA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + "node_modules/@babel/core": { + "version": "7.18.5", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.18.5.tgz", + "integrity": "sha512-MGY8vg3DxMnctw0LdvSEojOsumc70g0t18gNyUdAZqB1Rpd1Bqo/svHGvt+UJ6JcGX+DIekGFDxxIWofBxLCnQ==", + "dev": true, + "dependencies": { + "@ampproject/remapping": "^2.1.0", + "@babel/code-frame": "^7.16.7", + "@babel/generator": "^7.18.2", + "@babel/helper-compilation-targets": "^7.18.2", + "@babel/helper-module-transforms": "^7.18.0", + "@babel/helpers": "^7.18.2", + "@babel/parser": "^7.18.5", + "@babel/template": "^7.16.7", + "@babel/traverse": "^7.18.5", + "@babel/types": "^7.18.4", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.1", + "semver": "^6.3.0" }, "engines": { "node": ">=6.9.0" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" } }, - "node_modules/@babel/plugin-proposal-json-strings": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.14.5.tgz", - "integrity": "sha512-NSq2fczJYKVRIsUJyNxrVUMhB27zb7N7pOFGQOhBKJrChbGcgEAqyZrmZswkPk18VMurEeJAaICbfm57vUeTbQ==", + "node_modules/@babel/core/node_modules/@babel/generator": { + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.18.2.tgz", + "integrity": "sha512-W1lG5vUwFvfMd8HVXqdfbuG7RuaSrTCCD8cl8fP8wOivdbtbIg2Db3IWUcgvfxKbbn6ZBGYRW/Zk1MIwK49mgw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/plugin-syntax-json-strings": "^7.8.3" + "@babel/types": "^7.18.2", + "@jridgewell/gen-mapping": "^0.3.0", + "jsesc": "^2.5.1" }, "engines": { "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-proposal-logical-assignment-operators": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.14.5.tgz", - "integrity": "sha512-YGn2AvZAo9TwyhlLvCCWxD90Xq8xJ4aSgaX3G5D/8DW94L8aaT+dS5cSP+Z06+rCJERGSr9GxMBZ601xoc2taw==", + "node_modules/@babel/core/node_modules/@jridgewell/gen-mapping": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.1.tgz", + "integrity": "sha512-GcHwniMlA2z+WFPWuY8lp3fsza0I8xPFMWL5+n8LYyP6PSvPrXf4+n8stDHZY2DM0zy9sVkRDy1jDI4XGzYVqg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + "@jridgewell/set-array": "^1.0.0", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=6.0.0" } }, - "node_modules/@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.14.5.tgz", - "integrity": "sha512-gun/SOnMqjSb98Nkaq2rTKMwervfdAoz6NphdY0vTfuzMfryj+tDGb2n6UkDKwez+Y8PZDhE3D143v6Gepp4Hg==", + "node_modules/@babel/core/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/@babel/generator": { + "version": "7.16.8", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.16.8.tgz", + "integrity": "sha512-1ojZwE9+lOXzcWdWmO6TbUzDfqLD39CmEhN8+2cX9XkDo5yW1OpgfejfliysR2AWLpMamTiOiAp/mtroaymhpw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + "@babel/types": "^7.16.8", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" }, "engines": { "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-proposal-numeric-separator": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.14.5.tgz", - "integrity": "sha512-yiclALKe0vyZRZE0pS6RXgjUOt87GWv6FYa5zqj15PvhOGFO69R5DusPlgK/1K5dVnCtegTiWu9UaBSrLLJJBg==", + "node_modules/@babel/generator/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, - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" - }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=0.10.0" } }, - "node_modules/@babel/plugin-proposal-object-rest-spread": { - "version": "7.14.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.14.7.tgz", - "integrity": "sha512-082hsZz+sVabfmDWo1Oct1u1AgbKbUAyVgmX4otIc7bdsRgHBXwTwb3DpDmD4Eyyx6DNiuz5UAATT655k+kL5g==", + "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, "dependencies": { - "@babel/compat-data": "^7.14.7", - "@babel/helper-compilation-targets": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.14.5" + "@babel/types": "^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.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.14.5.tgz", - "integrity": "sha512-3Oyiixm0ur7bzO5ybNcZFlmVsygSIQgdOa7cTfOYCMY+wEPAYhZAJxi3mixKFCTCKUhQXuCTtQ1MzrpL3WT8ZQ==", + "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, "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + "@babel/helper-explode-assignable-expression": "^7.16.7", + "@babel/types": "^7.16.7" }, "engines": { "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-proposal-optional-chaining": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.14.5.tgz", - "integrity": "sha512-ycz+VOzo2UbWNI1rQXxIuMOzrDdHGrI23fRiz/Si2R4kv2XZQ1BK8ccdHwehMKBlcH/joGW/tzrUmo67gbJHlQ==", + "node_modules/@babel/helper-compilation-targets": { + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.18.2.tgz", + "integrity": "sha512-s1jnPotJS9uQnzFtiZVBUxe67CuBa679oWFHpxYYnTpRL/1ffhyX44R9uYiXoa/pLXcY9H2moJta0iaanlk/rQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.14.5", - "@babel/plugin-syntax-optional-chaining": "^7.8.3" + "@babel/compat-data": "^7.17.10", + "@babel/helper-validator-option": "^7.16.7", + "browserslist": "^4.20.2", + "semver": "^6.3.0" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/core": "^7.0.0" } }, - "node_modules/@babel/plugin-proposal-private-methods": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.14.5.tgz", - "integrity": "sha512-838DkdUA1u+QTCplatfq4B7+1lnDa/+QMI89x5WZHBcnNv+47N8QEj2k9I2MUU9xIv8XJ4XvPCviM/Dj7Uwt9g==", + "node_modules/@babel/helper-compilation-targets/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/@babel/helper-create-class-features-plugin": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.18.0.tgz", + "integrity": "sha512-Kh8zTGR9de3J63e5nS0rQUdRs/kbtwoeQQ0sriS0lItjC96u8XXZN6lKpuyWd2coKSU13py/y+LTmThLuVX0Pg==", "dev": true, "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5" + "@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-0" + "@babel/core": "^7.0.0" } }, - "node_modules/@babel/plugin-proposal-private-property-in-object": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.14.5.tgz", - "integrity": "sha512-62EyfyA3WA0mZiF2e2IV9mc9Ghwxcg8YTu8BS4Wss4Y3PY725OmS9M0qLORbJwLqFtGh+jiE4wAmocK2CTUK2Q==", + "node_modules/@babel/helper-create-regexp-features-plugin": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.17.12.tgz", + "integrity": "sha512-b2aZrV4zvutr9AIa6/gA3wsZKRwTKYoDxYiFKcESS3Ug2GTXzwBEvMuuFLhCQpEnRXs1zng4ISAXSUxxKBIcxw==", "dev": true, "dependencies": { - "@babel/helper-annotate-as-pure": "^7.14.5", - "@babel/helper-create-class-features-plugin": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + "@babel/helper-annotate-as-pure": "^7.16.7", + "regexpu-core": "^5.0.1" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/core": "^7.0.0" } }, - "node_modules/@babel/plugin-proposal-unicode-property-regex": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.14.5.tgz", - "integrity": "sha512-6axIeOU5LnY471KenAB9vI8I5j7NQ2d652hIYwVyRfgaZT5UpiqFKCuVXCDMSrU+3VFafnu2c5m3lrWIlr6A5Q==", + "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, "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=4" + "@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" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/core": "^7.4.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==", + "node_modules/@babel/helper-define-polyfill-provider/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/@babel/helper-environment-visitor": { + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.2.tgz", + "integrity": "sha512-14GQKWkX9oJzPiQQ7/J36FTXcD4kSp8egKjO9nINlSKiHITRA9q/R74qu8S9xlc/b/yjsJItQUeeh3xnGN0voQ==", + "dev": true, + "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/helper-plugin-utils": "^7.8.0" + "@babel/types": "^7.16.7" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "engines": { + "node": ">=6.9.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==", + "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/helper-plugin-utils": "^7.12.13" + "@babel/template": "^7.16.7", + "@babel/types": "^7.17.0" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "engines": { + "node": ">=6.9.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==", + "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/helper-plugin-utils": "^7.14.5" + "@babel/types": "^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==", + "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/helper-plugin-utils": "^7.8.0" + "@babel/types": "^7.17.0" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "engines": { + "node": ">=6.9.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==", + "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/helper-plugin-utils": "^7.8.3" + "@babel/types": "^7.16.7" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "engines": { + "node": ">=6.9.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==", + "node_modules/@babel/helper-module-transforms": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.18.0.tgz", + "integrity": "sha512-kclUYSUBIjlvnzN2++K9f2qzYKFgjmnmjwL4zlmU5f8ZtzgWe8s0rUPSTGy2HmK4P8T52MQsS+HTQAgZd3dMEA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" + "@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.18.0", + "@babel/types": "^7.18.0" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "engines": { + "node": ">=6.9.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==", + "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/helper-plugin-utils": "^7.10.4" + "@babel/types": "^7.16.7" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "engines": { + "node": ">=6.9.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==", + "node_modules/@babel/helper-plugin-utils": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.17.12.tgz", + "integrity": "sha512-JDkf04mqtN3y4iAbO1hv9U2ARpPyPL1zqyWs/2WG1pgSq9llHFjStX5jdxb84himgJm+8Ng+x0oiWF/nw/XQKA==", + "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-plugin-utils": "^7.8.0" + "@babel/helper-annotate-as-pure": "^7.16.7", + "@babel/helper-wrap-function": "^7.16.8", + "@babel/types": "^7.16.8" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "engines": { + "node": ">=6.9.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==", + "node_modules/@babel/helper-replace-supers": { + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.18.2.tgz", + "integrity": "sha512-XzAIyxx+vFnrOxiQrToSUOzUOn0e1J2Li40ntddek1Y69AXUTXoDJ40/D5RdjFu7s7qHiaeoTiempZcbuVXh2Q==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-environment-visitor": "^7.18.2", + "@babel/helper-member-expression-to-functions": "^7.17.7", + "@babel/helper-optimise-call-expression": "^7.16.7", + "@babel/traverse": "^7.18.2", + "@babel/types": "^7.18.2" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "engines": { + "node": ">=6.9.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==", + "node_modules/@babel/helper-simple-access": { + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.18.2.tgz", + "integrity": "sha512-7LIrjYzndorDY88MycupkpQLKS1AFfsVRm2k/9PtKScSy5tZq0McZTj+DiMRynboZfIqOKvo03pmhTaUgiD6fQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" + "@babel/types": "^7.18.2" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "engines": { + "node": ">=6.9.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==", + "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/helper-plugin-utils": "^7.8.0" + "@babel/types": "^7.16.0" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "engines": { + "node": ">=6.9.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==", + "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/helper-plugin-utils": "^7.8.0" + "@babel/types": "^7.16.7" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "engines": { + "node": ">=6.9.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==", + "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-plugin-utils": "^7.14.5" + "@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" - }, - "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==", + "node_modules/@babel/helpers": { + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.18.2.tgz", + "integrity": "sha512-j+d+u5xT5utcQSzrh9p+PaJX94h++KN+ng9b9WEJq7pkUPAd61FGqhjuUEdfknb3E/uDBb7ruwEeKkIxNJPIrg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/template": "^7.16.7", + "@babel/traverse": "^7.18.2", + "@babel/types": "^7.18.2" }, "engines": { "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-arrow-functions": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.14.5.tgz", - "integrity": "sha512-KOnO0l4+tD5IfOdi4x8C1XmEIRWUjNRV8wc6K2vz/3e8yAOoZZvsRXRRIF/yo/MAOFb4QjtAw9xSxMXbSMRy8A==", + "node_modules/@babel/highlight": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.17.12.tgz", + "integrity": "sha512-7yykMVF3hfZY2jsHZEEgLc+3x4o1O+fYyULu11GynEUQNwB6lua+IIQn1FiJxNucd5UlyJryrwsOh8PL9Sn8Qg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-validator-identifier": "^7.16.7", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" }, "engines": { "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@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==", + "node_modules/@babel/parser": { + "version": "7.18.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.18.5.tgz", + "integrity": "sha512-YZWVaglMiplo7v8f1oMQ5ZPQr0vn7HPeZXxXWsxXJRjGVrzUFn9OxFQl1sb5wzfootjA/yChhW84BV+383FSOw==", "dev": true, - "dependencies": { - "@babel/helper-module-imports": "^7.12.13", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-remap-async-to-generator": "^7.13.0" + "bin": { + "parser": "bin/babel-parser.js" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "engines": { + "node": ">=6.0.0" } }, - "node_modules/@babel/plugin-transform-block-scoped-functions": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.14.5.tgz", - "integrity": "sha512-dtqWqdWZ5NqBX3KzsVCWfQI3A53Ft5pWFCT2eCVUftWZgjc5DpDponbIF1+c+7cSGk2wN0YK7HGL/ezfRbpKBQ==", + "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.17.12", + "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.17.12.tgz", + "integrity": "sha512-xCJQXl4EeQ3J9C4yOmpTrtVGmzpm2iSzyxbkZHw7UCnZBftHpF/hpII80uWVyVrc40ytIClHjgWGTG1g/yB+aw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.17.12" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/core": "^7.0.0" } }, - "node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.14.5.tgz", - "integrity": "sha512-LBYm4ZocNgoCqyxMLoOnwpsmQ18HWTQvql64t3GvMUzLQrNoV1BDG0lNftC8QKYERkZgCCT/7J5xWGObGAyHDw==", + "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.17.12.tgz", + "integrity": "sha512-/vt0hpIw0x4b6BLKUkwlvEoiGZYYLNZ96CzyHYPbtG2jZGz6LBe7/V+drYrc/d+ovrF9NBi0pmtvmNb/FsWtRQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.17.12", + "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0", + "@babel/plugin-proposal-optional-chaining": "^7.17.12" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/core": "^7.13.0" } }, - "node_modules/@babel/plugin-transform-classes": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.14.5.tgz", - "integrity": "sha512-J4VxKAMykM06K/64z9rwiL6xnBHgB1+FVspqvlgCdwD1KUbQNfszeKVVOMh59w3sztHYIZDgnhOC4WbdEfHFDA==", + "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-annotate-as-pure": "^7.14.5", - "@babel/helper-function-name": "^7.14.5", - "@babel/helper-optimise-call-expression": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-replace-supers": "^7.14.5", - "@babel/helper-split-export-declaration": "^7.14.5", - "globals": "^11.1.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" }, "engines": { "node": ">=6.9.0" @@ -1738,13 +1852,14 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-computed-properties": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.14.5.tgz", - "integrity": "sha512-pWM+E4283UxaVzLb8UBXv4EIxMovU4zxT1OPnpHJcmnvyY9QbPPTKZfEj31EUvG3/EQRbYAGaYEUZ4yWOBC2xg==", + "node_modules/@babel/plugin-proposal-class-properties": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.17.12.tgz", + "integrity": "sha512-U0mI9q8pW5Q9EaTHFPwSVusPMV/DV9Mm8p7csqROFLtIE9rBF5piLqyrBGigftALrBcsBGu4m38JneAe7ZDLXw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-create-class-features-plugin": "^7.17.12", + "@babel/helper-plugin-utils": "^7.17.12" }, "engines": { "node": ">=6.9.0" @@ -1753,29 +1868,31 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-destructuring": { - "version": "7.14.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.14.7.tgz", - "integrity": "sha512-0mDE99nK+kVh3xlc5vKwB6wnP9ecuSj+zQCa/n0voENtP/zymdT4HH6QEb65wjjcbqr1Jb/7z9Qp7TF5FtwYGw==", + "node_modules/@babel/plugin-proposal-class-static-block": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.18.0.tgz", + "integrity": "sha512-t+8LsRMMDE74c6sV7KShIw13sqbqd58tlqNrsWoWBTIMw7SVQ0cZ905wLNS/FBCy/3PyooRHLFFlfrUNyyz5lA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-create-class-features-plugin": "^7.18.0", + "@babel/helper-plugin-utils": "^7.17.12", + "@babel/plugin-syntax-class-static-block": "^7.14.5" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/core": "^7.12.0" } }, - "node_modules/@babel/plugin-transform-dotall-regex": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.14.5.tgz", - "integrity": "sha512-loGlnBdj02MDsFaHhAIJzh7euK89lBrGIdM9EAtHFo6xKygCUGuuWe07o1oZVk287amtW1n0808sQM99aZt3gw==", + "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-create-regexp-features-plugin": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" }, "engines": { "node": ">=6.9.0" @@ -1784,13 +1901,14 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-duplicate-keys": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.14.5.tgz", - "integrity": "sha512-iJjbI53huKbPDAsJ8EmVmvCKeeq21bAze4fu9GBQtSLqfvzj2oRuHVx4ZkDwEhg1htQ+5OBZh/Ab0XDf5iBZ7A==", + "node_modules/@babel/plugin-proposal-export-namespace-from": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.17.12.tgz", + "integrity": "sha512-j7Ye5EWdwoXOpRmo5QmRyHPsDIe6+u70ZYZrd7uz+ebPYFKfRcLcNu3Ro0vOlJ5zuv8rU7xa+GttNiRzX56snQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.17.12", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" }, "engines": { "node": ">=6.9.0" @@ -1799,14 +1917,14 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-exponentiation-operator": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.14.5.tgz", - "integrity": "sha512-jFazJhMBc9D27o9jDnIE5ZErI0R0m7PbKXVq77FFvqFbzvTMuv8jaAwLZ5PviOLSFttqKIW0/wxNSDbjLk0tYA==", + "node_modules/@babel/plugin-proposal-json-strings": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.17.12.tgz", + "integrity": "sha512-rKJ+rKBoXwLnIn7n6o6fulViHMrOThz99ybH+hKHcOZbnN14VuMnH9fo2eHE69C8pO4uX1Q7t2HYYIDmv8VYkg==", "dev": true, "dependencies": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.17.12", + "@babel/plugin-syntax-json-strings": "^7.8.3" }, "engines": { "node": ">=6.9.0" @@ -1815,13 +1933,14 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-for-of": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.14.5.tgz", - "integrity": "sha512-CfmqxSUZzBl0rSjpoQSFoR9UEj3HzbGuGNL21/iFTmjb5gFggJp3ph0xR1YBhexmLoKRHzgxuFvty2xdSt6gTA==", + "node_modules/@babel/plugin-proposal-logical-assignment-operators": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.17.12.tgz", + "integrity": "sha512-EqFo2s1Z5yy+JeJu7SFfbIUtToJTVlC61/C7WLKDntSw4Sz6JNAIfL7zQ74VvirxpjB5kz/kIx0gCcb+5OEo2Q==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.17.12", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" }, "engines": { "node": ">=6.9.0" @@ -1830,14 +1949,14 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-function-name": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.14.5.tgz", - "integrity": "sha512-vbO6kv0fIzZ1GpmGQuvbwwm+O4Cbm2NrPzwlup9+/3fdkuzo1YqOZcXw26+YUJB84Ja7j9yURWposEHLYwxUfQ==", + "node_modules/@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.17.12.tgz", + "integrity": "sha512-ws/g3FSGVzv+VH86+QvgtuJL/kR67xaEIF2x0iPqdDfYW6ra6JF3lKVBkWynRLcNtIC1oCTfDRVxmm2mKzy+ag==", "dev": true, "dependencies": { - "@babel/helper-function-name": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.17.12", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" }, "engines": { "node": ">=6.9.0" @@ -1846,13 +1965,14 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-literals": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.14.5.tgz", - "integrity": "sha512-ql33+epql2F49bi8aHXxvLURHkxJbSmMKl9J5yHqg4PLtdE6Uc48CH1GS6TQvZ86eoB/ApZXwm7jlA+B3kra7A==", + "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.14.5" + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" }, "engines": { "node": ">=6.9.0" @@ -1861,13 +1981,17 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-member-expression-literals": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.14.5.tgz", - "integrity": "sha512-WkNXxH1VXVTKarWFqmso83xl+2V3Eo28YY5utIkbsmXoItO8Q3aZxN4BTS2k0hz9dGUloHK26mJMyQEYfkn/+Q==", + "node_modules/@babel/plugin-proposal-object-rest-spread": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.18.0.tgz", + "integrity": "sha512-nbTv371eTrFabDfHLElkn9oyf9VG+VKK6WMzhY2o4eHKaG19BToD9947zzGMO6I/Irstx9d8CwX6njPNIAR/yw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/compat-data": "^7.17.10", + "@babel/helper-compilation-targets": "^7.17.10", + "@babel/helper-plugin-utils": "^7.17.12", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.17.12" }, "engines": { "node": ">=6.9.0" @@ -1876,15 +2000,14 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-modules-amd": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.14.5.tgz", - "integrity": "sha512-3lpOU8Vxmp3roC4vzFpSdEpGUWSMsHFreTWOMMLzel2gNGfHE5UWIh/LN6ghHs2xurUp4jRFYMUIZhuFbody1g==", + "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-module-transforms": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5", - "babel-plugin-dynamic-import-node": "^2.3.3" + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" }, "engines": { "node": ">=6.9.0" @@ -1893,16 +2016,15 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.14.5.tgz", - "integrity": "sha512-en8GfBtgnydoao2PS+87mKyw62k02k7kJ9ltbKe0fXTHrQmG6QZZflYuGI1VVG7sVpx4E1n7KBpNlPb8m78J+A==", + "node_modules/@babel/plugin-proposal-optional-chaining": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.17.12.tgz", + "integrity": "sha512-7wigcOs/Z4YWlK7xxjkvaIw84vGhDv/P1dFGQap0nHkc8gFKY/r+hXc8Qzf5k1gY7CvGIcHqAnOagVKJJ1wVOQ==", "dev": true, "dependencies": { - "@babel/helper-module-transforms": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-simple-access": "^7.14.5", - "babel-plugin-dynamic-import-node": "^2.3.3" + "@babel/helper-plugin-utils": "^7.17.12", + "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" }, "engines": { "node": ">=6.9.0" @@ -1911,17 +2033,14 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-modules-systemjs": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.14.5.tgz", - "integrity": "sha512-mNMQdvBEE5DcMQaL5LbzXFMANrQjd2W7FPzg34Y4yEz7dBgdaC+9B84dSO+/1Wba98zoDbInctCDo4JGxz1VYA==", + "node_modules/@babel/plugin-proposal-private-methods": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.17.12.tgz", + "integrity": "sha512-SllXoxo19HmxhDWm3luPz+cPhtoTSKLJE9PXshsfrOzBqs60QP0r8OaJItrPhAj0d7mZMnNF0Y1UUggCDgMz1A==", "dev": true, "dependencies": { - "@babel/helper-hoist-variables": "^7.14.5", - "@babel/helper-module-transforms": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-validator-identifier": "^7.14.5", - "babel-plugin-dynamic-import-node": "^2.3.3" + "@babel/helper-create-class-features-plugin": "^7.17.12", + "@babel/helper-plugin-utils": "^7.17.12" }, "engines": { "node": ">=6.9.0" @@ -1930,14 +2049,16 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-modules-umd": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.14.5.tgz", - "integrity": "sha512-RfPGoagSngC06LsGUYyM9QWSXZ8MysEjDJTAea1lqRjNECE3y0qIJF/qbvJxc4oA4s99HumIMdXOrd+TdKaAAA==", + "node_modules/@babel/plugin-proposal-private-property-in-object": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.17.12.tgz", + "integrity": "sha512-/6BtVi57CJfrtDNKfK5b66ydK2J5pXUKBKSPD2G1whamMuEnZWgoOIfO8Vf9F/DoD4izBLD/Au4NMQfruzzykg==", "dev": true, "dependencies": { - "@babel/helper-module-transforms": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-annotate-as-pure": "^7.16.7", + "@babel/helper-create-class-features-plugin": "^7.17.12", + "@babel/helper-plugin-utils": "^7.17.12", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" }, "engines": { "node": ">=6.9.0" @@ -1946,56 +2067,50 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.14.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.14.7.tgz", - "integrity": "sha512-DTNOTaS7TkW97xsDMrp7nycUVh6sn/eq22VaxWfEdzuEbRsiaOU0pqU7DlyUGHVsbQbSghvjKRpEl+nUCKGQSg==", + "node_modules/@babel/plugin-proposal-unicode-property-regex": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.17.12.tgz", + "integrity": "sha512-Wb9qLjXf3ZazqXA7IvI7ozqRIXIGPtSo+L5coFmEkhTQK18ao4UDDD0zdTGAarmbLj2urpRwrc6893cu5Bfh0A==", "dev": true, "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.14.5" + "@babel/helper-create-regexp-features-plugin": "^7.17.12", + "@babel/helper-plugin-utils": "^7.17.12" }, "engines": { - "node": ">=6.9.0" + "node": ">=4" }, "peerDependencies": { - "@babel/core": "^7.0.0" + "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-new-target": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.14.5.tgz", - "integrity": "sha512-Nx054zovz6IIRWEB49RDRuXGI4Gy0GMgqG0cII9L3MxqgXz/+rgII+RU58qpo4g7tNEx1jG7rRVH4ihZoP4esQ==", + "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.14.5" - }, - "engines": { - "node": ">=6.9.0" + "@babel/helper-plugin-utils": "^7.8.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-object-super": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.14.5.tgz", - "integrity": "sha512-MKfOBWzK0pZIrav9z/hkRqIk/2bTv9qvxHzPQc12RcVkMOzpIKnFCNYJip00ssKWYkd8Sf5g0Wr7pqJ+cmtuFg==", + "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.14.5", - "@babel/helper-replace-supers": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" + "@babel/helper-plugin-utils": "^7.12.13" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-parameters": { + "node_modules/@babel/plugin-syntax-class-static-block": { "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.14.5.tgz", - "integrity": "sha512-Tl7LWdr6HUxTmzQtzuU14SqbgrSKmaR77M0OKyq4njZLQTPfOvzblNKyNkGwOfEFCEx7KeYHQHDI0P3F02IVkA==", + "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" @@ -2007,112 +2122,118 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-property-literals": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.14.5.tgz", - "integrity": "sha512-r1uilDthkgXW8Z1vJz2dKYLV1tuw2xsbrp3MrZmD99Wh9vsfKoob+JTgri5VUb/JqyKRXotlOtwgu4stIYCmnw==", + "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.14.5" - }, - "engines": { - "node": ">=6.9.0" + "@babel/helper-plugin-utils": "^7.8.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-regenerator": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.14.5.tgz", - "integrity": "sha512-NVIY1W3ITDP5xQl50NgTKlZ0GrotKtLna08/uGY6ErQt6VEQZXla86x/CTddm5gZdcr+5GSsvMeTmWA5Ii6pkg==", + "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": { - "regenerator-transform": "^0.14.2" - }, - "engines": { - "node": ">=6.9.0" + "@babel/helper-plugin-utils": "^7.8.3" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-reserved-words": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.14.5.tgz", - "integrity": "sha512-cv4F2rv1nD4qdexOGsRQXJrOcyb5CrgjUH9PKrrtyhSDBNWGxd0UIitjyJiWagS+EbUGjG++22mGH1Pub8D6Vg==", + "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.14.5" - }, - "engines": { - "node": ">=6.9.0" + "@babel/helper-plugin-utils": "^7.8.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-runtime": { - "version": "7.14.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.14.3.tgz", - "integrity": "sha512-t960xbi8wpTFE623ef7sd+UpEC5T6EEguQlTBJDEO05+XwnIWVfuqLw/vdLWY6IdFmtZE+65CZAfByT39zRpkg==", + "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-module-imports": "^7.13.12", - "@babel/helper-plugin-utils": "^7.13.0", - "babel-plugin-polyfill-corejs2": "^0.2.0", - "babel-plugin-polyfill-corejs3": "^0.2.0", - "babel-plugin-polyfill-regenerator": "^0.2.0", - "semver": "^6.3.0" + "@babel/helper-plugin-utils": "^7.10.4" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-runtime/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "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, - "bin": { - "semver": "bin/semver.js" + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-shorthand-properties": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.14.5.tgz", - "integrity": "sha512-xLucks6T1VmGsTB+GWK5Pl9Jl5+nRXD1uoFdA5TSO6xtiNjtXTjKkmPdFXVLGlK5A2/or/wQMKfmQ2Y0XJfn5g==", + "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.14.5" + "@babel/helper-plugin-utils": "^7.10.4" }, - "engines": { - "node": ">=6.9.0" + "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-transform-spread": { - "version": "7.14.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.14.6.tgz", - "integrity": "sha512-Zr0x0YroFJku7n7+/HH3A2eIrGMjbmAIbJSVv0IZ+t3U2WUQUA64S/oeied2e+MaGSjmt4alzBCsK9E8gh+fag==", + "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.14.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.14.5" + "@babel/helper-plugin-utils": "^7.8.0" }, - "engines": { - "node": ">=6.9.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-transform-sticky-regex": { + "node_modules/@babel/plugin-syntax-private-property-in-object": { "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.14.5.tgz", - "integrity": "sha512-Z7F7GyvEMzIIbwnziAZmnSNpdijdr4dWt+FJNBnBLz5mwDFkqIXU9wmBcWWad3QeJF5hMTkRe4dAq2sUZiG+8A==", + "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" @@ -2124,10 +2245,10 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-template-literals": { + "node_modules/@babel/plugin-syntax-top-level-await": { "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.14.5.tgz", - "integrity": "sha512-22btZeURqiepOfuy/VkFr+zStqlujWaarpMErvay7goJS6BWwdd6BY9zQyDLDa4x2S3VugxFb162IZ4m/S/+Gg==", + "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" @@ -2139,13 +2260,13 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-typeof-symbol": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.14.5.tgz", - "integrity": "sha512-lXzLD30ffCWseTbMQzrvDWqljvZlHkXU+CnseMhkMNqU1sASnCsz3tSzAaH3vCUXb9PHeUb90ZT1BdFTm1xxJw==", + "node_modules/@babel/plugin-transform-arrow-functions": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.17.12.tgz", + "integrity": "sha512-PHln3CNi/49V+mza4xMwrg+WGYevSF1oaiXaC2EQfdp4HWlSjRsrDXWJiQBKpP7749u6vQ9mcry2uuFOv5CXvA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.17.12" }, "engines": { "node": ">=6.9.0" @@ -2154,13 +2275,15 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-unicode-escapes": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.14.5.tgz", - "integrity": "sha512-crTo4jATEOjxj7bt9lbYXcBAM3LZaUrbP2uUdxb6WIorLmjNKSpHfIybgY4B8SRpbf8tEVIWH3Vtm7ayCrKocA==", + "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-plugin-utils": "^7.14.5" + "@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" @@ -2169,14 +2292,13 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-unicode-regex": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.14.5.tgz", - "integrity": "sha512-UygduJpC5kHeCiRw/xDVzC+wj8VaYSoKl5JNVmbP7MadpNinAm3SvZCxZ42H37KZBKztz46YC73i9yV34d0Tzw==", + "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-create-regexp-features-plugin": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.7" }, "engines": { "node": ">=6.9.0" @@ -2185,5789 +2307,6239 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/preset-env": { - "version": "7.14.2", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.14.2.tgz", - "integrity": "sha512-7dD7lVT8GMrE73v4lvDEb85cgcQhdES91BSD7jS/xjC6QY8PnRhux35ac+GCpbiRhp8crexBvZZqnaL6VrY8TQ==", + "node_modules/@babel/plugin-transform-block-scoping": { + "version": "7.18.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.18.4.tgz", + "integrity": "sha512-+Hq10ye+jlvLEogSOtq4mKvtk7qwcUQ1f0Mrueai866C82f844Yom2cttfJdMdqRLTxWpsbfbkIkOIfovyUQXw==", "dev": true, "dependencies": { - "@babel/compat-data": "^7.14.0", - "@babel/helper-compilation-targets": "^7.13.16", - "@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.14.2", - "@babel/plugin-proposal-class-properties": "^7.13.0", - "@babel/plugin-proposal-class-static-block": "^7.13.11", - "@babel/plugin-proposal-dynamic-import": "^7.14.2", - "@babel/plugin-proposal-export-namespace-from": "^7.14.2", - "@babel/plugin-proposal-json-strings": "^7.14.2", - "@babel/plugin-proposal-logical-assignment-operators": "^7.14.2", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.14.2", - "@babel/plugin-proposal-numeric-separator": "^7.14.2", - "@babel/plugin-proposal-object-rest-spread": "^7.14.2", - "@babel/plugin-proposal-optional-catch-binding": "^7.14.2", - "@babel/plugin-proposal-optional-chaining": "^7.14.2", - "@babel/plugin-proposal-private-methods": "^7.13.0", - "@babel/plugin-proposal-private-property-in-object": "^7.14.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.12.13", - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-class-properties": "^7.12.13", - "@babel/plugin-syntax-class-static-block": "^7.12.13", - "@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.0", - "@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.14.2", - "@babel/plugin-transform-classes": "^7.14.2", - "@babel/plugin-transform-computed-properties": "^7.13.0", - "@babel/plugin-transform-destructuring": "^7.13.17", - "@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.14.2", - "@babel/plugin-transform-modules-commonjs": "^7.14.0", - "@babel/plugin-transform-modules-systemjs": "^7.13.8", - "@babel/plugin-transform-modules-umd": "^7.14.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.14.2", - "@babel/plugin-transform-property-literals": "^7.12.13", - "@babel/plugin-transform-regenerator": "^7.13.15", - "@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.14.2", - "babel-plugin-polyfill-corejs2": "^0.2.0", - "babel-plugin-polyfill-corejs3": "^0.2.0", - "babel-plugin-polyfill-regenerator": "^0.2.0", - "core-js-compat": "^3.9.0", - "semver": "^6.3.0" + "@babel/helper-plugin-utils": "^7.17.12" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/preset-env/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/@babel/plugin-transform-classes": { + "version": "7.18.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.18.4.tgz", + "integrity": "sha512-e42NSG2mlKWgxKUAD9EJJSkZxR67+wZqzNxLSpc51T8tRU5SLFHsPmgYR5yr7sdgX4u+iHA1C5VafJ6AyImV3A==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.16.7", + "@babel/helper-environment-visitor": "^7.18.2", + "@babel/helper-function-name": "^7.17.9", + "@babel/helper-optimise-call-expression": "^7.16.7", + "@babel/helper-plugin-utils": "^7.17.12", + "@babel/helper-replace-supers": "^7.18.2", + "@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/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==", + "node_modules/@babel/plugin-transform-computed-properties": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.17.12.tgz", + "integrity": "sha512-a7XINeplB5cQUWMg1E/GI1tFz3LfK021IjV1rj1ypE+R7jHm+pIHmHl25VNkZxtx9uuYp7ThGk8fur1HHG7PgQ==", "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" + "@babel/helper-plugin-utils": "^7.17.12" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/runtime": { - "version": "7.14.0", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.14.0.tgz", - "integrity": "sha512-JELkvo/DlpNdJ7dlyw/eY7E0suy5i5GQH+Vlxaq1nsNJ+H7f4Vtv3jMeCEgRhZZQFXTjldYfQgv2qmM6M1v5wA==", + "node_modules/@babel/plugin-transform-destructuring": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.18.0.tgz", + "integrity": "sha512-Mo69klS79z6KEfrLg/1WkmVnB8javh75HX4pi2btjvlIoasuxilEyjtsQW6XPrubNd7AQy0MMaNIaQE4e7+PQw==", "dev": true, "dependencies": { - "regenerator-runtime": "^0.13.4" + "@babel/helper-plugin-utils": "^7.17.12" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/runtime-corejs3": { - "version": "7.14.7", - "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.14.7.tgz", - "integrity": "sha512-Wvzcw4mBYbTagyBVZpAJWI06auSIj033T/yNE0Zn1xcup83MieCddZA7ls3kme17L4NOGBrQ09Q+nKB41RLWBA==", + "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": { - "core-js-pure": "^3.15.0", - "regenerator-runtime": "^0.13.4" + "@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/template": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.13.tgz", - "integrity": "sha512-/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA==", + "node_modules/@babel/plugin-transform-duplicate-keys": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.17.12.tgz", + "integrity": "sha512-EA5eYFUG6xeerdabina/xIoB95jJ17mAkR8ivx6ZSu9frKShBjpOGZPn511MTDTkiCO+zXnzNczvUM69YSf3Zw==", "dev": true, "dependencies": { - "@babel/code-frame": "^7.12.13", - "@babel/parser": "^7.12.13", - "@babel/types": "^7.12.13" + "@babel/helper-plugin-utils": "^7.17.12" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/traverse": { - "version": "7.14.7", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.14.7.tgz", - "integrity": "sha512-9vDr5NzHu27wgwejuKL7kIOm4bwEtaPQ4Z6cpCmjSuaRqpH/7xc4qcGEscwMqlkwgcXl6MvqoAjZkQ24uSdIZQ==", + "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/code-frame": "^7.14.5", - "@babel/generator": "^7.14.5", - "@babel/helper-function-name": "^7.14.5", - "@babel/helper-hoist-variables": "^7.14.5", - "@babel/helper-split-export-declaration": "^7.14.5", - "@babel/parser": "^7.14.7", - "@babel/types": "^7.14.5", - "debug": "^4.1.0", - "globals": "^11.1.0" + "@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/traverse/node_modules/@babel/generator": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.14.5.tgz", - "integrity": "sha512-y3rlP+/G25OIX3mYKKIOlQRcqj7YgrvHxOLbVmyLJ9bPmi5ttvUmpydVjcFjZphOktWuA7ovbx91ECloWTfjIA==", + "node_modules/@babel/plugin-transform-for-of": { + "version": "7.18.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.1.tgz", + "integrity": "sha512-+TTB5XwvJ5hZbO8xvl2H4XaMDOAK57zF4miuC9qQJgysPNEAZZ9Z69rdF5LJkozGdZrjBIUAIyKUWRMmebI7vg==", "dev": true, "dependencies": { - "@babel/types": "^7.14.5", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" + "@babel/helper-plugin-utils": "^7.17.12" }, "engines": { "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/traverse/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "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": ">=0.10.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/types": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.14.5.tgz", - "integrity": "sha512-M/NzBpEL95I5Hh4dwhin5JlE7EzO5PHMAuzjxss3tiOBD46KfQvVedN/3jEPZvdRvtsK2222XfdHogNIttFgcg==", + "node_modules/@babel/plugin-transform-literals": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.17.12.tgz", + "integrity": "sha512-8iRkvaTjJciWycPIZ9k9duu663FT7VrBdNqNgxnVXEFwOIp55JWcZd23VBRySYbnS3PwQ3rGiabJBBBGj5APmQ==", "dev": true, "dependencies": { - "@babel/helper-validator-identifier": "^7.14.5", - "to-fast-properties": "^2.0.0" + "@babel/helper-plugin-utils": "^7.17.12" }, "engines": { "node": ">=6.9.0" - } - }, - "node_modules/@capacitor/app": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@capacitor/app/-/app-1.0.2.tgz", - "integrity": "sha512-P9PInUnUdkiqYk+7wzd51Oe6AzJ4KyKDRFVebDMGo7UgHFuK2ogDTDLabrv9XQUV1Zk2tXvpEoGmw46dd+2Img==", + }, "peerDependencies": { - "@capacitor/core": "^3.0.0" + "@babel/core": "^7.0.0-0" } }, - "node_modules/@capacitor/cli": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@capacitor/cli/-/cli-3.1.1.tgz", - "integrity": "sha512-I8YF59WqxToujLH+Kn0k0rmGbmy/aTJGuSFXr7zKwCzBQPI4d6RST9aprvQI+7CTFIdcXIhMOz5XnEV1V/1FTA==", + "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": { - "@ionic/cli-framework-output": "^2.2.1", - "@ionic/utils-fs": "^3.1.5", - "@ionic/utils-subprocess": "^2.1.6", - "@ionic/utils-terminal": "^2.3.0", - "commander": "^6.0.0", - "debug": "^4.2.0", - "env-paths": "^2.2.0", - "kleur": "^4.1.1", - "native-run": "^1.4.0", - "open": "^7.1.0", - "plist": "^3.0.2", - "prompts": "^2.3.2", - "semver": "^7.3.2", - "tar": "^6.0.5", - "tslib": "^2.1.0", - "xml2js": "^0.4.23" - }, - "bin": { - "cap": "bin/capacitor", - "capacitor": "bin/capacitor" + "@babel/helper-plugin-utils": "^7.16.7" }, "engines": { - "node": ">=12.4.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@capacitor/cli/node_modules/commander": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", - "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==", + "node_modules/@babel/plugin-transform-modules-amd": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.18.0.tgz", + "integrity": "sha512-h8FjOlYmdZwl7Xm2Ug4iX2j7Qy63NANI+NQVWQzv6r25fqgg7k2dZl03p95kvqNclglHs4FZ+isv4p1uXMA+QA==", "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.18.0", + "@babel/helper-plugin-utils": "^7.17.12", + "babel-plugin-dynamic-import-node": "^2.3.3" + }, "engines": { - "node": ">= 6" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@capacitor/cli/node_modules/open": { - "version": "7.4.2", - "resolved": "https://registry.npmjs.org/open/-/open-7.4.2.tgz", - "integrity": "sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==", + "node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.18.2.tgz", + "integrity": "sha512-f5A865gFPAJAEE0K7F/+nm5CmAE3y8AWlMBG9unu5j9+tk50UQVK0QS8RNxSp7MJf0wh97uYyLWt3Zvu71zyOQ==", "dev": true, "dependencies": { - "is-docker": "^2.0.0", - "is-wsl": "^2.1.1" + "@babel/helper-module-transforms": "^7.18.0", + "@babel/helper-plugin-utils": "^7.17.12", + "@babel/helper-simple-access": "^7.18.2", + "babel-plugin-dynamic-import-node": "^2.3.3" }, "engines": { - "node": ">=8" + "node": ">=6.9.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@capacitor/core": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@capacitor/core/-/core-3.1.1.tgz", - "integrity": "sha512-VTOdy2GZPLxMGDmwXWfhQWoP7G+0XE8gx2er2uo8e8Y6K8YjT8bxqlOL4VJ8gC5X8Wq281SR4OsajzhdgDazgQ==", + "node_modules/@babel/plugin-transform-modules-systemjs": { + "version": "7.18.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.18.5.tgz", + "integrity": "sha512-SEewrhPpcqMF1V7DhnEbhVJLrC+nnYfe1E0piZMZXBpxi9WvZqWGwpsk7JYP7wPWeqaBh4gyKlBhHJu3uz5g4Q==", + "dev": true, "dependencies": { - "tslib": "^2.1.0" - } - }, - "node_modules/@capacitor/haptics": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@capacitor/haptics/-/haptics-1.0.2.tgz", - "integrity": "sha512-ex629YmC439cqJcBX0HRTLtQ5lRc+Grx2/EPDLPEK33aTMcwplOsY8IQdjKL2pmO44AX4BmYtztui14Mf89q/g==", + "@babel/helper-hoist-variables": "^7.16.7", + "@babel/helper-module-transforms": "^7.18.0", + "@babel/helper-plugin-utils": "^7.17.12", + "@babel/helper-validator-identifier": "^7.16.7", + "babel-plugin-dynamic-import-node": "^2.3.3" + }, + "engines": { + "node": ">=6.9.0" + }, "peerDependencies": { - "@capacitor/core": "^3.0.0" + "@babel/core": "^7.0.0-0" } }, - "node_modules/@capacitor/keyboard": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@capacitor/keyboard/-/keyboard-1.0.2.tgz", - "integrity": "sha512-JdIkYXfrfiuP/iLxO65GJe8rY+VcCoGesPzu/eMHRoWOuRyRcwjw9AtVOPyAXj4qPq1bbmGB8if/m2/R1S1X9A==", + "node_modules/@babel/plugin-transform-modules-umd": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.0.tgz", + "integrity": "sha512-d/zZ8I3BWli1tmROLxXLc9A6YXvGK8egMxHp+E/rRwMh1Kip0AP77VwZae3snEJ33iiWwvNv2+UIIhfalqhzZA==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.18.0", + "@babel/helper-plugin-utils": "^7.17.12" + }, + "engines": { + "node": ">=6.9.0" + }, "peerDependencies": { - "@capacitor/core": "^3.0.0" + "@babel/core": "^7.0.0-0" } }, - "node_modules/@capacitor/status-bar": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@capacitor/status-bar/-/status-bar-1.0.2.tgz", - "integrity": "sha512-NgAZIw8Uq2lm6Ln1lWipAqi/YxqIDd92boO4k81Z1WMOdZJt6oLxZB8LfJRDLXU7xNkpW97zHcNBf5pIXJIFqw==", + "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.17.12.tgz", + "integrity": "sha512-vWoWFM5CKaTeHrdUJ/3SIOTRV+MBVGybOC9mhJkaprGNt5demMymDW24yC74avb915/mIRe3TgNb/d8idvnCRA==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.17.12", + "@babel/helper-plugin-utils": "^7.17.12" + }, + "engines": { + "node": ">=6.9.0" + }, "peerDependencies": { - "@capacitor/core": "^3.0.0" + "@babel/core": "^7.0.0" } }, - "node_modules/@csstools/convert-colors": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@csstools/convert-colors/-/convert-colors-1.4.0.tgz", - "integrity": "sha512-5a6wqoJV/xEdbRNKVo6I4hO3VjyDq//8q2f9I6PBAvMesJHFauXDorcNCsr9RzvsZnaWi5NYCcfyqP1QeFHFbw==", + "node_modules/@babel/plugin-transform-new-target": { + "version": "7.18.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.5.tgz", + "integrity": "sha512-TuRL5uGW4KXU6OsRj+mLp9BM7pO8e7SGNTEokQRRxHFkXYMFiy2jlKSZPFtI/mKORDzciH+hneskcSOp0gU8hg==", "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.17.12" + }, "engines": { - "node": ">=4.0.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@discoveryjs/json-ext": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.2.tgz", - "integrity": "sha512-HyYEUDeIj5rRQU2Hk5HTB2uHsbRQpF70nvMhVzi+VJR0X+xNEhjPui4/kBf3VeH/wqD28PT4sVOm8qqLjBrSZg==", + "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": ">=10.0.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@eslint/eslintrc": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.2.tgz", - "integrity": "sha512-8nmGq/4ycLpIwzvhI4tNDmQztZ8sp+hI7cyG8i1nQDhkAbRzHpXPidRAHlNvCZQpJTKw5ItIpMw9RSToGF00mg==", + "node_modules/@babel/plugin-transform-parameters": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.17.12.tgz", + "integrity": "sha512-6qW4rWo1cyCdq1FkYri7AHpauchbGLXpdwnYsfxFb+KtddHENfsY5JZb35xUwkK5opOLcJ3BNd2l7PhRYGlwIA==", "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" + "@babel/helper-plugin-utils": "^7.17.12" }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@eslint/eslintrc/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "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": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" + "@babel/helper-plugin-utils": "^7.16.7" }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@eslint/eslintrc/node_modules/globals": { - "version": "13.10.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.10.0.tgz", - "integrity": "sha512-piHC3blgLGFjvOuMmWZX60f+na1lXFDhQXBf1UYp2fXPXqvEUbOhNwi6BsQ0bQishwedgnjkwv1d9zKf+MWw3g==", + "node_modules/@babel/plugin-transform-regenerator": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.18.0.tgz", + "integrity": "sha512-C8YdRw9uzx25HSIzwA7EM7YP0FhCe5wNvJbZzjVNHHPGVcDJ3Aie+qGYYdS1oVQgn+B3eAIJbWFLrJ4Jipv7nw==", "dev": true, "dependencies": { - "type-fest": "^0.20.2" + "@babel/helper-plugin-utils": "^7.17.12", + "regenerator-transform": "^0.15.0" }, "engines": { - "node": ">=8" + "node": ">=6.9.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@eslint/eslintrc/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/@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==", + "node_modules/@babel/plugin-transform-reserved-words": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.17.12.tgz", + "integrity": "sha512-1KYqwbJV3Co03NIi14uEHW8P50Md6KqFgt0FfpHdK6oyAHQVTosgPuPSiWud1HX0oYJ1hGRRlk0fP87jFpqXZA==", "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.17.12" + }, "engines": { - "node": ">=10" + "node": ">=6.9.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@humanwhocodes/config-array": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz", - "integrity": "sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==", + "node_modules/@babel/plugin-transform-runtime": { + "version": "7.16.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.16.10.tgz", + "integrity": "sha512-9nwTiqETv2G7xI4RvXHNfpGdr8pAA+Q/YtN3yLK7OoK7n9OibVm/xymJ838a9A6E/IciOLPj82lZk0fW6O4O7w==", "dev": true, "dependencies": { - "@humanwhocodes/object-schema": "^1.2.0", - "debug": "^4.1.1", - "minimatch": "^3.0.4" + "@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": ">=10.10.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@humanwhocodes/object-schema": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.0.tgz", - "integrity": "sha512-wdppn25U8z/2yiaT6YGquE6X8sSv7hNMWSXYSSU1jGv/yd6XqjXgTDJ8KP4NgjTXfJ3GbRjeeb8RTV7a/VpM+w==", - "dev": true + "node_modules/@babel/plugin-transform-runtime/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/@ionic/angular": { - "version": "5.6.11", - "resolved": "https://registry.npmjs.org/@ionic/angular/-/angular-5.6.11.tgz", - "integrity": "sha512-LMSN1W0DVM11uu8NaUt4hz5TdWyvepNSmj0bXyg3KxzJHA4aLwRXSirIxNH+ThRHDpqmU/r5zTuzvlfCKl8twg==", + "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": { - "@ionic/core": "5.6.11", - "tslib": "^1.9.3" + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { - "@angular/core": ">=8.2.7", - "@angular/forms": ">=8.2.7", - "@angular/router": ">=8.2.7", - "rxjs": ">=6.2.0", - "zone.js": ">=0.8.26" + "@babel/core": "^7.0.0-0" } }, - "node_modules/@ionic/angular-toolkit": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@ionic/angular-toolkit/-/angular-toolkit-4.0.0.tgz", - "integrity": "sha512-HGRAGUtc1YSwNZ/Q7X7c2QRyYM2AfsSm++OasPrMo3LnPRVr8OIsUih2ithEU7f3CXrViUR7j/Anu90zGsRgzg==", + "node_modules/@babel/plugin-transform-spread": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.17.12.tgz", + "integrity": "sha512-9pgmuQAtFi3lpNUstvG9nGfk9DkrdmWNp9KeKPFmuZCpEnxRzYlS8JgwPjYj+1AWDOSvoGN0H30p1cBOmT/Svg==", "dev": true, "dependencies": { - "@schematics/angular": "^12.0.0", - "cheerio": "1.0.0-rc.3", - "colorette": "1.1.0", - "copy-webpack-plugin": "^6.2.1", - "tapable": "^2.1.1", - "tslib": "^2.0.3", - "ws": "^7.0.1" + "@babel/helper-plugin-utils": "^7.17.12", + "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { - "@angular-devkit/architect": "^0.1200.0", - "@angular-devkit/schematics": "^12.0.0" + "@babel/core": "^7.0.0-0" } }, - "node_modules/@ionic/angular-toolkit/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "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": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" + "@babel/helper-plugin-utils": "^7.16.7" }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@ionic/angular-toolkit/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==", + "node_modules/@babel/plugin-transform-template-literals": { + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.2.tgz", + "integrity": "sha512-/cmuBVw9sZBGZVOMkpAEaVLwm4JmK2GZ1dFKOGGpMzEHWFmyZZ59lUU0PdRr8YNYeQdNzTDwuxP2X2gzydTc9g==", "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.17.12" + }, + "engines": { + "node": ">=6.9.0" + }, "peerDependencies": { - "ajv": "^6.9.1" + "@babel/core": "^7.0.0-0" } }, - "node_modules/@ionic/angular-toolkit/node_modules/copy-webpack-plugin": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-6.4.1.tgz", - "integrity": "sha512-MXyPCjdPVx5iiWyl40Va3JGh27bKzOTNY3NjUTrosD2q7dR/cLD0013uqJ3BpFbUjyONINjb6qI7nDIJujrMbA==", + "node_modules/@babel/plugin-transform-typeof-symbol": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.17.12.tgz", + "integrity": "sha512-Q8y+Jp7ZdtSPXCThB6zjQ74N3lj0f6TDh1Hnf5B+sYlzQ8i5Pjp8gW0My79iekSpT4WnI06blqP6DT0OmaXXmw==", "dev": true, "dependencies": { - "cacache": "^15.0.5", - "fast-glob": "^3.2.4", - "find-cache-dir": "^3.3.1", - "glob-parent": "^5.1.1", - "globby": "^11.0.1", - "loader-utils": "^2.0.0", - "normalize-path": "^3.0.0", - "p-limit": "^3.0.2", - "schema-utils": "^3.0.0", - "serialize-javascript": "^5.0.1", - "webpack-sources": "^1.4.3" + "@babel/helper-plugin-utils": "^7.17.12" }, "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" + "node": ">=6.9.0" }, "peerDependencies": { - "webpack": "^4.37.0 || ^5.0.0" + "@babel/core": "^7.0.0-0" } }, - "node_modules/@ionic/angular-toolkit/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/@ionic/angular-toolkit/node_modules/schema-utils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.0.tgz", - "integrity": "sha512-tTEaeYkyIhEZ9uWgAjDerWov3T9MgX8dhhy2r0IGeeX4W8ngtGl1++dUve/RUqzuaASSh7shwCDJjEzthxki8w==", + "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": { - "@types/json-schema": "^7.0.7", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" + "@babel/helper-plugin-utils": "^7.16.7" }, "engines": { - "node": ">= 10.13.0" + "node": ">=6.9.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@ionic/angular/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - }, - "node_modules/@ionic/cli-framework-output": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/@ionic/cli-framework-output/-/cli-framework-output-2.2.2.tgz", - "integrity": "sha512-eQYkqIW1/tCwSC6Bd0gjse96U11lDX/ikf3jvsjX7a8z/zwSmGzCHRizb7xogV65Ey+1/zyAZR71cpDRQuFLBQ==", + "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": { - "@ionic/utils-terminal": "2.3.1", - "debug": "^4.0.0", - "tslib": "^2.0.1" + "@babel/helper-create-regexp-features-plugin": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" }, "engines": { - "node": ">=10.3.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@ionic/core": { - "version": "5.6.11", - "resolved": "https://registry.npmjs.org/@ionic/core/-/core-5.6.11.tgz", - "integrity": "sha512-bWn2K3L/QWRUs8SBm+YJcgJhOO6W00eipfxJunlAr/7PbMePdqYnU+PQ2Cv54ufK3yUtLr2b0YdvZ9wZ6pGS3w==", - "dependencies": { - "@stencil/core": "^2.4.0", - "ionicons": "^5.5.1", - "tslib": "^2.1.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/@ionic/utils-array": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@ionic/utils-array/-/utils-array-2.1.5.tgz", - "integrity": "sha512-HD72a71IQVBmQckDwmA8RxNVMTbxnaLbgFOl+dO5tbvW9CkkSFCv41h6fUuNsSEVgngfkn0i98HDuZC8mk+lTA==", + "node_modules/@babel/preset-env/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/@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": { - "debug": "^4.0.0", - "tslib": "^2.0.1" + "@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" }, - "engines": { - "node": ">=10.3.0" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@ionic/utils-fs": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/@ionic/utils-fs/-/utils-fs-3.1.5.tgz", - "integrity": "sha512-a41bY2dHqWSEQQ/80CpbXSs8McyiCFf2DnIWWLukrhYWf46h4qi6M/8dxcMKrofRiqI/3F+cL3S2mOm9Zz/o2Q==", + "node_modules/@babel/register": { + "version": "7.17.7", + "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.17.7.tgz", + "integrity": "sha512-fg56SwvXRifootQEDQAu1mKdjh5uthPzdO0N6t358FktfL4XjAVXuH58ULoiW8mesxiOgNIrxiImqEwv0+hRRA==", "dev": true, "dependencies": { - "debug": "^4.0.0", - "fs-extra": "^9.0.0", - "tslib": "^2.0.1" + "clone-deep": "^4.0.1", + "find-cache-dir": "^2.0.0", + "make-dir": "^2.1.0", + "pirates": "^4.0.5", + "source-map-support": "^0.5.16" }, "engines": { - "node": ">=10.3.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@ionic/utils-fs/node_modules/fs-extra": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "node_modules/@babel/register/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": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" + "commondir": "^1.0.1", + "make-dir": "^2.0.0", + "pkg-dir": "^3.0.0" }, "engines": { - "node": ">=10" + "node": ">=6" } }, - "node_modules/@ionic/utils-fs/node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "node_modules/@babel/register/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": { - "universalify": "^2.0.0" + "locate-path": "^3.0.0" }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" + "engines": { + "node": ">=6" } }, - "node_modules/@ionic/utils-fs/node_modules/universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "node_modules/@babel/register/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": ">= 10.0.0" + "node": ">=6" } }, - "node_modules/@ionic/utils-object": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@ionic/utils-object/-/utils-object-2.1.5.tgz", - "integrity": "sha512-XnYNSwfewUqxq+yjER1hxTKggftpNjFLJH0s37jcrNDwbzmbpFTQTVAp4ikNK4rd9DOebX/jbeZb8jfD86IYxw==", + "node_modules/@babel/register/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": { - "debug": "^4.0.0", - "tslib": "^2.0.1" + "pify": "^4.0.1", + "semver": "^5.6.0" }, "engines": { - "node": ">=10.3.0" + "node": ">=6" } }, - "node_modules/@ionic/utils-process": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/@ionic/utils-process/-/utils-process-2.1.8.tgz", - "integrity": "sha512-VBBoyTzi+m6tgKAItl+jiTQneGwTOsctcrTG4CsEgmVOVOEhUYkPhddXqzD+oC54hPDU9ROsd3I014P5CWEuhQ==", + "node_modules/@babel/register/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": { - "@ionic/utils-object": "2.1.5", - "@ionic/utils-terminal": "2.3.1", - "debug": "^4.0.0", - "signal-exit": "^3.0.3", - "tree-kill": "^1.2.2", - "tslib": "^2.0.1" + "p-try": "^2.0.0" }, "engines": { - "node": ">=10.3.0" + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@ionic/utils-stream": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/@ionic/utils-stream/-/utils-stream-3.1.5.tgz", - "integrity": "sha512-hkm46uHvEC05X/8PHgdJi4l4zv9VQDELZTM+Kz69odtO9zZYfnt8DkfXHJqJ+PxmtiE5mk/ehJWLnn/XAczTUw==", + "node_modules/@babel/register/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": { - "debug": "^4.0.0", - "tslib": "^2.0.1" + "p-limit": "^2.0.0" }, "engines": { - "node": ">=10.3.0" + "node": ">=6" } }, - "node_modules/@ionic/utils-subprocess": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/@ionic/utils-subprocess/-/utils-subprocess-2.1.8.tgz", - "integrity": "sha512-pkmtf1LtXcEMPn6/cctREL2aZtZoy0+0Sl+nT0NIkOHIoBUcqrcfMWdctCSM4Mp6+2/hLWtgpHE3TOIibkWfIg==", + "node_modules/@babel/register/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, - "dependencies": { - "@ionic/utils-array": "2.1.5", - "@ionic/utils-fs": "3.1.5", - "@ionic/utils-process": "2.1.8", - "@ionic/utils-stream": "3.1.5", - "@ionic/utils-terminal": "2.3.1", - "cross-spawn": "^7.0.0", - "debug": "^4.0.0", - "tslib": "^2.0.1" - }, "engines": { - "node": ">=10.3.0" + "node": ">=6" } }, - "node_modules/@ionic/utils-terminal": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/@ionic/utils-terminal/-/utils-terminal-2.3.1.tgz", - "integrity": "sha512-cglsSd2AckI3Ldtdfczeq64vIIDjtPspV5QJtky8f8uIdxkeOIGeRV7bCj1+BEf1hyo+ZuggQxLviHnbMZhiRw==", + "node_modules/@babel/register/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": { - "debug": "^4.0.0", - "signal-exit": "^3.0.3", - "slice-ansi": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0", - "tslib": "^2.0.1", - "untildify": "^4.0.0", - "wrap-ansi": "^7.0.0" + "find-up": "^3.0.0" }, "engines": { - "node": ">=10.3.0" + "node": ">=6" } }, - "node_modules/@istanbuljs/schema": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", - "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "node_modules/@babel/register/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "dev": true, - "engines": { - "node": ">=8" + "bin": { + "semver": "bin/semver" } }, - "node_modules/@jsdevtools/coverage-istanbul-loader": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@jsdevtools/coverage-istanbul-loader/-/coverage-istanbul-loader-3.0.5.tgz", - "integrity": "sha512-EUCPEkaRPvmHjWAAZkWMT7JDzpw7FKB00WTISaiXsbNOd5hCHg77XLA8sLYLFDo1zepYLo2w7GstN8YBqRXZfA==", - "dev": true, + "node_modules/@babel/runtime": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.16.7.tgz", + "integrity": "sha512-9E9FJowqAsytyOY6LG+1KuueckRL+aQW+mKvXRXnuFGyRAyepJPmEo9vgMfXUA6O9u3IeEdv9MAkppFcaQwogQ==", "dependencies": { - "convert-source-map": "^1.7.0", - "istanbul-lib-instrument": "^4.0.3", - "loader-utils": "^2.0.0", - "merge-source-map": "^1.1.0", - "schema-utils": "^2.7.0" + "regenerator-runtime": "^0.13.4" + }, + "engines": { + "node": ">=6.9.0" } }, - "node_modules/@ngtools/webpack": { - "version": "12.0.5", - "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-12.0.5.tgz", - "integrity": "sha512-yoKK6qhEm1iWnniz50xzOBqa3U1iUrjZs+SpLOXRZFonpwObz8j4zraR231K4uV4kXcX40qorYk9iOf+ljG4JQ==", + "node_modules/@babel/runtime-corejs3": { + "version": "7.14.7", + "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.14.7.tgz", + "integrity": "sha512-Wvzcw4mBYbTagyBVZpAJWI06auSIj033T/yNE0Zn1xcup83MieCddZA7ls3kme17L4NOGBrQ09Q+nKB41RLWBA==", "dev": true, "dependencies": { - "enhanced-resolve": "5.7.0" + "core-js-pure": "^3.15.0", + "regenerator-runtime": "^0.13.4" }, "engines": { - "node": "^12.14.1 || >=14.0.0", - "npm": "^6.11.0 || ^7.5.6", - "yarn": ">= 1.13.0" - }, - "peerDependencies": { - "@angular/compiler-cli": "^12.0.0", - "typescript": "~4.2.3", - "webpack": "^5.30.0" + "node": ">=6.9.0" } }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "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": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" + "@babel/code-frame": "^7.16.7", + "@babel/parser": "^7.16.7", + "@babel/types": "^7.16.7" }, "engines": { - "node": ">= 8" + "node": ">=6.9.0" } }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true, + "node_modules/@babel/traverse": { + "version": "7.18.5", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.18.5.tgz", + "integrity": "sha512-aKXj1KT66sBj0vVzk6rEeAO6Z9aiiQ68wfDgge3nHhA/my6xMM/7HGQUNumKZaoa2qUPQ5whJG9aAifsxUKfLA==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.16.7", + "@babel/generator": "^7.18.2", + "@babel/helper-environment-visitor": "^7.18.2", + "@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.18.5", + "@babel/types": "^7.18.4", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, "engines": { - "node": ">= 8" + "node": ">=6.9.0" } }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "node_modules/@babel/traverse/node_modules/@babel/generator": { + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.18.2.tgz", + "integrity": "sha512-W1lG5vUwFvfMd8HVXqdfbuG7RuaSrTCCD8cl8fP8wOivdbtbIg2Db3IWUcgvfxKbbn6ZBGYRW/Zk1MIwK49mgw==", "dev": true, "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" + "@babel/types": "^7.18.2", + "@jridgewell/gen-mapping": "^0.3.0", + "jsesc": "^2.5.1" }, "engines": { - "node": ">= 8" - } - }, - "node_modules/@npmcli/git": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-2.1.0.tgz", - "integrity": "sha512-/hBFX/QG1b+N7PZBFs0bi+evgRZcK9nWBxQKZkGoXUT5hJSwl5c4d7y8/hm+NQZRPhQ67RzFaj5UM9YeyKoryw==", - "dev": true, - "dependencies": { - "@npmcli/promise-spawn": "^1.3.2", - "lru-cache": "^6.0.0", - "mkdirp": "^1.0.4", - "npm-pick-manifest": "^6.1.1", - "promise-inflight": "^1.0.1", - "promise-retry": "^2.0.1", - "semver": "^7.3.5", - "which": "^2.0.2" + "node": ">=6.9.0" } }, - "node_modules/@npmcli/installed-package-contents": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/@npmcli/installed-package-contents/-/installed-package-contents-1.0.7.tgz", - "integrity": "sha512-9rufe0wnJusCQoLpV9ZPKIVP55itrM5BxOXs10DmdbRfgWtHy1LDyskbwRnBghuB0PrF7pNPOqREVtpz4HqzKw==", + "node_modules/@babel/traverse/node_modules/@jridgewell/gen-mapping": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.1.tgz", + "integrity": "sha512-GcHwniMlA2z+WFPWuY8lp3fsza0I8xPFMWL5+n8LYyP6PSvPrXf4+n8stDHZY2DM0zy9sVkRDy1jDI4XGzYVqg==", "dev": true, "dependencies": { - "npm-bundled": "^1.1.1", - "npm-normalize-package-bin": "^1.0.1" - }, - "bin": { - "installed-package-contents": "index.js" + "@jridgewell/set-array": "^1.0.0", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" }, "engines": { - "node": ">= 10" + "node": ">=6.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==", + "node_modules/@babel/types": { + "version": "7.18.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.18.4.tgz", + "integrity": "sha512-ThN1mBcMq5pG/Vm2IcBmPPfyPXbd8S02rS+OBIDENdufvqC7Z/jHPCv9IcP01277aKtDI8g/2XysBN4hA8niiw==", "dev": true, "dependencies": { - "mkdirp": "^1.0.4", - "rimraf": "^3.0.2" + "@babel/helper-validator-identifier": "^7.16.7", + "to-fast-properties": "^2.0.0" }, "engines": { - "node": ">=10" + "node": ">=6.9.0" } }, - "node_modules/@npmcli/node-gyp": { + "node_modules/@capacitor/app": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-1.0.2.tgz", - "integrity": "sha512-yrJUe6reVMpktcvagumoqD9r08fH1iRo01gn1u0zoCApa9lnZGEigVKUd2hzsCId4gdtkZZIVscLhNxMECKgRg==", - "dev": true - }, - "node_modules/@npmcli/promise-spawn": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-1.3.2.tgz", - "integrity": "sha512-QyAGYo/Fbj4MXeGdJcFzZ+FkDkomfRBrPM+9QYJSg+PxgAUL+LU3FneQk37rKR2/zjqkCV1BLHccX98wRXG3Sg==", - "dev": true, - "dependencies": { - "infer-owner": "^1.0.4" + "resolved": "https://registry.npmjs.org/@capacitor/app/-/app-1.0.2.tgz", + "integrity": "sha512-P9PInUnUdkiqYk+7wzd51Oe6AzJ4KyKDRFVebDMGo7UgHFuK2ogDTDLabrv9XQUV1Zk2tXvpEoGmw46dd+2Img==", + "peerDependencies": { + "@capacitor/core": "^3.0.0" } }, - "node_modules/@npmcli/run-script": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-1.8.5.tgz", - "integrity": "sha512-NQspusBCpTjNwNRFMtz2C5MxoxyzlbuJ4YEhxAKrIonTiirKDtatsZictx9RgamQIx6+QuHMNmPl0wQdoESs9A==", + "node_modules/@capacitor/cli": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@capacitor/cli/-/cli-3.1.1.tgz", + "integrity": "sha512-I8YF59WqxToujLH+Kn0k0rmGbmy/aTJGuSFXr7zKwCzBQPI4d6RST9aprvQI+7CTFIdcXIhMOz5XnEV1V/1FTA==", "dev": true, "dependencies": { - "@npmcli/node-gyp": "^1.0.2", - "@npmcli/promise-spawn": "^1.3.2", - "infer-owner": "^1.0.4", - "node-gyp": "^7.1.0", - "read-package-json-fast": "^2.0.1" + "@ionic/cli-framework-output": "^2.2.1", + "@ionic/utils-fs": "^3.1.5", + "@ionic/utils-subprocess": "^2.1.6", + "@ionic/utils-terminal": "^2.3.0", + "commander": "^6.0.0", + "debug": "^4.2.0", + "env-paths": "^2.2.0", + "kleur": "^4.1.1", + "native-run": "^1.4.0", + "open": "^7.1.0", + "plist": "^3.0.2", + "prompts": "^2.3.2", + "semver": "^7.3.2", + "tar": "^6.0.5", + "tslib": "^2.1.0", + "xml2js": "^0.4.23" + }, + "bin": { + "cap": "bin/capacitor", + "capacitor": "bin/capacitor" + }, + "engines": { + "node": ">=12.4.0" } }, - "node_modules/@schematics/angular": { - "version": "12.0.5", - "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-12.0.5.tgz", - "integrity": "sha512-gMT66T33az+uGLDSc7UkJVg+vloPeTpQNgWddBVGnW/Lkl1tGaWUxyqUJAp8AvusPNU+NCP+ZFB3qUm+pc7tCg==", + "node_modules/@capacitor/cli/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, - "dependencies": { - "@angular-devkit/core": "12.0.5", - "@angular-devkit/schematics": "12.0.5", - "jsonc-parser": "3.0.0" - }, "engines": { - "node": "^12.14.1 || >=14.0.0", - "npm": "^6.11.0 || ^7.5.6", - "yarn": ">= 1.13.0" + "node": ">= 6" } }, - "node_modules/@schematics/angular/node_modules/@angular-devkit/schematics": { - "version": "12.0.5", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-12.0.5.tgz", - "integrity": "sha512-iW3XuDHScr3TXuunlEjF5O01zBpwpLgfr1oEny8PvseFGDlHK4Nj8zNIoIn3Yg936aiFO4GJAC/UXsT8g5vKxQ==", + "node_modules/@capacitor/cli/node_modules/open": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/open/-/open-7.4.2.tgz", + "integrity": "sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==", "dev": true, "dependencies": { - "@angular-devkit/core": "12.0.5", - "ora": "5.4.0", - "rxjs": "6.6.7" + "is-docker": "^2.0.0", + "is-wsl": "^2.1.1" }, "engines": { - "node": "^12.14.1 || >=14.0.0", - "npm": "^6.11.0 || ^7.5.6", - "yarn": ">= 1.13.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@stencil/core": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/@stencil/core/-/core-2.6.0.tgz", - "integrity": "sha512-QsxWayZyusnqSZrlCl81R71rA3KqFjVVQSH4E0rGN15F1GdQaFonKlHLyCOLKLig1zzC+DQkLLiUuocexuvdeQ==", - "bin": { - "stencil": "bin/stencil" - }, - "engines": { - "node": ">=12.10.0", - "npm": ">=6.0.0" + "node_modules/@capacitor/core": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@capacitor/core/-/core-3.1.1.tgz", + "integrity": "sha512-VTOdy2GZPLxMGDmwXWfhQWoP7G+0XE8gx2er2uo8e8Y6K8YjT8bxqlOL4VJ8gC5X8Wq281SR4OsajzhdgDazgQ==", + "dependencies": { + "tslib": "^2.1.0" } }, - "node_modules/@tootallnate/once": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", - "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", - "dev": true, - "engines": { - "node": ">= 6" + "node_modules/@capacitor/haptics": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@capacitor/haptics/-/haptics-1.0.2.tgz", + "integrity": "sha512-ex629YmC439cqJcBX0HRTLtQ5lRc+Grx2/EPDLPEK33aTMcwplOsY8IQdjKL2pmO44AX4BmYtztui14Mf89q/g==", + "peerDependencies": { + "@capacitor/core": "^3.0.0" } }, - "node_modules/@trysound/sax": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.1.1.tgz", - "integrity": "sha512-Z6DoceYb/1xSg5+e+ZlPZ9v0N16ZvZ+wYMraFue4HYrE4ttONKtsvruIRf6t9TBR0YvSOfi1hUU0fJfBLCDYow==", - "dev": true, - "engines": { - "node": ">=10.13.0" + "node_modules/@capacitor/keyboard": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@capacitor/keyboard/-/keyboard-1.0.2.tgz", + "integrity": "sha512-JdIkYXfrfiuP/iLxO65GJe8rY+VcCoGesPzu/eMHRoWOuRyRcwjw9AtVOPyAXj4qPq1bbmGB8if/m2/R1S1X9A==", + "peerDependencies": { + "@capacitor/core": "^3.0.0" } }, - "node_modules/@types/component-emitter": { - "version": "1.2.10", - "resolved": "https://registry.npmjs.org/@types/component-emitter/-/component-emitter-1.2.10.tgz", - "integrity": "sha512-bsjleuRKWmGqajMerkzox19aGbscQX5rmmvvXl3wlIp5gMG1HgkiwPxsN5p070fBDKTNSPgojVbuY1+HWMbFhg==", - "dev": true - }, - "node_modules/@types/cookie": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.1.tgz", - "integrity": "sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==", - "dev": true - }, - "node_modules/@types/cors": { - "version": "2.8.12", - "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.12.tgz", - "integrity": "sha512-vt+kDhq/M2ayberEtJcIN/hxXy1Pk+59g2FV/ZQceeaTyCtCucjL2Q7FXlFjtWn4n15KCr1NE2lNNFhp0lEThw==", - "dev": true - }, - "node_modules/@types/eslint": { - "version": "7.28.0", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-7.28.0.tgz", - "integrity": "sha512-07XlgzX0YJUn4iG1ocY4IX9DzKSmMGUs6ESKlxWhZRaa0fatIWaHWUVapcuGa8r5HFnTqzj+4OCjd5f7EZ/i/A==", - "dev": true, - "dependencies": { - "@types/estree": "*", - "@types/json-schema": "*" + "node_modules/@capacitor/status-bar": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@capacitor/status-bar/-/status-bar-1.0.2.tgz", + "integrity": "sha512-NgAZIw8Uq2lm6Ln1lWipAqi/YxqIDd92boO4k81Z1WMOdZJt6oLxZB8LfJRDLXU7xNkpW97zHcNBf5pIXJIFqw==", + "peerDependencies": { + "@capacitor/core": "^3.0.0" } }, - "node_modules/@types/eslint-scope": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.1.tgz", - "integrity": "sha512-SCFeogqiptms4Fg29WpOTk5nHIzfpKCemSN63ksBQYKTcXoJEmJagV+DhVmbapZzY4/5YaOV1nZwrsU79fFm1g==", + "node_modules/@csstools/postcss-progressive-custom-properties": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-1.3.0.tgz", + "integrity": "sha512-ASA9W1aIy5ygskZYuWams4BzafD12ULvSypmaLJT2jvQ8G0M3I8PRQhC0h7mG0Z3LI05+agZjqSR9+K9yaQQjA==", "dev": true, "dependencies": { - "@types/eslint": "*", - "@types/estree": "*" + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.3" } }, - "node_modules/@types/estree": { - "version": "0.0.47", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.47.tgz", - "integrity": "sha512-c5ciR06jK8u9BstrmJyO97m+klJrrhCf9u3rLu3DEAJBirxRqSCvDQoYKmxuYwQI5SZChAWu+tq9oVlGRuzPAg==", - "dev": true - }, - "node_modules/@types/glob": { - "version": "7.1.4", - "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.4.tgz", - "integrity": "sha512-w+LsMxKyYQm347Otw+IfBXOv9UWVjpHpCDdbBMt8Kz/xbvCYNjP+0qPh91Km3iKfSRLBB0P7fAMf0KHrPu+MyA==", + "node_modules/@csstools/selector-specificity": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-2.0.1.tgz", + "integrity": "sha512-aG20vknL4/YjQF9BSV7ts4EWm/yrjagAN7OWBNmlbEOUiu0llj4OGrFoOKK3g2vey4/p2omKCoHrWtPxSwV3HA==", "dev": true, - "dependencies": { - "@types/minimatch": "*", - "@types/node": "*" + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.3", + "postcss-selector-parser": "^6.0.10" } }, - "node_modules/@types/jasmine": { - "version": "3.6.11", - "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-3.6.11.tgz", - "integrity": "sha512-S6pvzQDvMZHrkBz2Mcn/8Du7cpr76PlRJBAoHnSDNbulULsH5dp0Gns+WRyNX5LHejz/ljxK4/vIHK/caHt6SQ==", - "dev": true - }, - "node_modules/@types/jasminewd2": { - "version": "2.0.10", - "resolved": "https://registry.npmjs.org/@types/jasminewd2/-/jasminewd2-2.0.10.tgz", - "integrity": "sha512-J7mDz7ovjwjc+Y9rR9rY53hFWKATcIkrr9DwQWmOas4/pnIPJTXawnzjwpHm3RSxz/e3ZVUvQ7cRbd5UQLo10g==", + "node_modules/@discoveryjs/json-ext": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.6.tgz", + "integrity": "sha512-ws57AidsDvREKrZKYffXddNkyaF14iHNHm8VQnZH6t99E8gczjNN0GpvcGny0imC80yQ0tHz1xVUKk/KFQSUyA==", "dev": true, - "dependencies": { - "@types/jasmine": "*" + "engines": { + "node": ">=10.0.0" } }, - "node_modules/@types/json-schema": { - "version": "7.0.8", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.8.tgz", - "integrity": "sha512-YSBPTLTVm2e2OoQIDYx8HaeWJ5tTToLH67kXR7zYNGupXMEHa2++G8k+DczX2cFVgalypqtyZIcU19AFcmOpmg==", - "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/node": { - "version": "12.20.16", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.16.tgz", - "integrity": "sha512-6CLxw83vQf6DKqXxMPwl8qpF8I7THFZuIwLt4TnNsumxkp1VsRZWT8txQxncT/Rl2UojTsFzWgDG4FRMwafrlA==", - "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": "0.0.32", - "resolved": "https://registry.npmjs.org/@types/q/-/q-0.0.32.tgz", - "integrity": "sha1-vShOV8hPEyXacCur/IKlMoGQwMU=", - "dev": true - }, - "node_modules/@types/selenium-webdriver": { - "version": "3.0.19", - "resolved": "https://registry.npmjs.org/@types/selenium-webdriver/-/selenium-webdriver-3.0.19.tgz", - "integrity": "sha512-OFUilxQg+rWL2FMxtmIgCkUDlJB6pskkpvmew7yeXfzzsOBb5rc+y2+DjHm+r3r1ZPPcJefK3DveNSYWGiy68g==", - "dev": true - }, - "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/@duniter/core-types": { + "resolved": "../../../../../home/blavenie/git/duniter/lc-core-substrate/types-bundle/dist", + "link": true }, - "node_modules/@types/webpack-sources": { - "version": "0.1.9", - "resolved": "https://registry.npmjs.org/@types/webpack-sources/-/webpack-sources-0.1.9.tgz", - "integrity": "sha512-bvzMnzqoK16PQIC8AYHNdW45eREJQMd6WG/msQWX5V2+vZmODCOPb4TJcbgRljTZZTwTM4wUMcsI8FftNA7new==", + "node_modules/@eslint/eslintrc": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.2.tgz", + "integrity": "sha512-8nmGq/4ycLpIwzvhI4tNDmQztZ8sp+hI7cyG8i1nQDhkAbRzHpXPidRAHlNvCZQpJTKw5ItIpMw9RSToGF00mg==", "dev": true, "dependencies": { - "@types/node": "*", - "@types/source-list-map": "*", - "source-map": "^0.6.1" - } - }, - "node_modules/@types/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, + "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": ">=0.10.0" + "node": "^10.12.0 || >=12.0.0" } }, - "node_modules/@typescript-eslint/eslint-plugin": { - "version": "4.16.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.16.1.tgz", - "integrity": "sha512-SK777klBdlkUZpZLC1mPvyOWk9yAFCWmug13eAjVQ4/Q1LATE/NbcQL1xDHkptQkZOLnPmLUA1Y54m8dqYwnoQ==", + "node_modules/@eslint/eslintrc/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": { - "@typescript-eslint/experimental-utils": "4.16.1", - "@typescript-eslint/scope-manager": "4.16.1", - "debug": "^4.1.1", - "functional-red-black-tree": "^1.0.1", - "lodash": "^4.17.15", - "regexpp": "^3.0.0", - "semver": "^7.3.2", - "tsutils": "^3.17.1" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "@typescript-eslint/parser": "^4.0.0", - "eslint": "^5.0.0 || ^6.0.0 || ^7.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/experimental-utils": { - "version": "4.16.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.16.1.tgz", - "integrity": "sha512-0Hm3LSlMYFK17jO4iY3un1Ve9x1zLNn4EM50Lia+0EV99NdbK+cn0er7HC7IvBA23mBg3P+8dUkMXy4leL33UQ==", + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "13.10.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.10.0.tgz", + "integrity": "sha512-piHC3blgLGFjvOuMmWZX60f+na1lXFDhQXBf1UYp2fXPXqvEUbOhNwi6BsQ0bQishwedgnjkwv1d9zKf+MWw3g==", "dev": true, "dependencies": { - "@types/json-schema": "^7.0.3", - "@typescript-eslint/scope-manager": "4.16.1", - "@typescript-eslint/types": "4.16.1", - "@typescript-eslint/typescript-estree": "4.16.1", - "eslint-scope": "^5.0.0", - "eslint-utils": "^2.0.0" + "type-fest": "^0.20.2" }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": ">=8" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "*" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/types": { - "version": "4.16.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.16.1.tgz", - "integrity": "sha512-nnKqBwMgRlhzmJQF8tnFDZWfunXmJyuXj55xc8Kbfup4PbkzdoDXZvzN8//EiKR27J6vUSU8j4t37yUuYPiLqA==", + "node_modules/@eslint/eslintrc/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/@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": "^8.10.0 || ^10.13.0 || >=11.10.1" + "node": ">=10" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/typescript-estree": { - "version": "4.16.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.16.1.tgz", - "integrity": "sha512-m8I/DKHa8YbeHt31T+UGd/l8Kwr0XCTCZL3H4HMvvLCT7HU9V7yYdinTOv1gf/zfqNeDcCgaFH2BMsS8x6NvJg==", + "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/@humanwhocodes/config-array": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz", + "integrity": "sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==", "dev": true, "dependencies": { - "@typescript-eslint/types": "4.16.1", - "@typescript-eslint/visitor-keys": "4.16.1", + "@humanwhocodes/object-schema": "^1.2.0", "debug": "^4.1.1", - "globby": "^11.0.1", - "is-glob": "^4.0.1", - "semver": "^7.3.2", - "tsutils": "^3.17.1" + "minimatch": "^3.0.4" }, "engines": { - "node": "^10.12.0 || >=12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "node": ">=10.10.0" } }, - "node_modules/@typescript-eslint/experimental-utils": { - "version": "4.23.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.23.0.tgz", - "integrity": "sha512-WAFNiTDnQfrF3Z2fQ05nmCgPsO5o790vOhmWKXbbYQTO9erE1/YsFot5/LnOUizLzU2eeuz6+U/81KV5/hFTGA==", - "dev": true, + "node_modules/@humanwhocodes/object-schema": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.0.tgz", + "integrity": "sha512-wdppn25U8z/2yiaT6YGquE6X8sSv7hNMWSXYSSU1jGv/yd6XqjXgTDJ8KP4NgjTXfJ3GbRjeeb8RTV7a/VpM+w==", + "dev": true + }, + "node_modules/@ionic/angular": { + "version": "5.6.11", + "resolved": "https://registry.npmjs.org/@ionic/angular/-/angular-5.6.11.tgz", + "integrity": "sha512-LMSN1W0DVM11uu8NaUt4hz5TdWyvepNSmj0bXyg3KxzJHA4aLwRXSirIxNH+ThRHDpqmU/r5zTuzvlfCKl8twg==", "dependencies": { - "@types/json-schema": "^7.0.3", - "@typescript-eslint/scope-manager": "4.23.0", - "@typescript-eslint/types": "4.23.0", - "@typescript-eslint/typescript-estree": "4.23.0", - "eslint-scope": "^5.0.0", - "eslint-utils": "^2.0.0" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "@ionic/core": "5.6.11", + "tslib": "^1.9.3" }, "peerDependencies": { - "eslint": "*" + "@angular/core": ">=8.2.7", + "@angular/forms": ">=8.2.7", + "@angular/router": ">=8.2.7", + "rxjs": ">=6.2.0", + "zone.js": ">=0.8.26" } }, - "node_modules/@typescript-eslint/experimental-utils/node_modules/@typescript-eslint/scope-manager": { - "version": "4.23.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.23.0.tgz", - "integrity": "sha512-ZZ21PCFxPhI3n0wuqEJK9omkw51wi2bmeKJvlRZPH5YFkcawKOuRMQMnI8mH6Vo0/DoHSeZJnHiIx84LmVQY+w==", + "node_modules/@ionic/angular-toolkit": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@ionic/angular-toolkit/-/angular-toolkit-4.0.0.tgz", + "integrity": "sha512-HGRAGUtc1YSwNZ/Q7X7c2QRyYM2AfsSm++OasPrMo3LnPRVr8OIsUih2ithEU7f3CXrViUR7j/Anu90zGsRgzg==", "dev": true, "dependencies": { - "@typescript-eslint/types": "4.23.0", - "@typescript-eslint/visitor-keys": "4.23.0" - }, - "engines": { - "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + "@schematics/angular": "^12.0.0", + "cheerio": "1.0.0-rc.3", + "colorette": "1.1.0", + "copy-webpack-plugin": "^6.2.1", + "tapable": "^2.1.1", + "tslib": "^2.0.3", + "ws": "^7.0.1" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "peerDependencies": { + "@angular-devkit/architect": "^0.1200.0", + "@angular-devkit/schematics": "^12.0.0" } }, - "node_modules/@typescript-eslint/experimental-utils/node_modules/@typescript-eslint/visitor-keys": { - "version": "4.23.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.23.0.tgz", - "integrity": "sha512-5PNe5cmX9pSifit0H+nPoQBXdbNzi5tOEec+3riK+ku4e3er37pKxMKDH5Ct5Y4fhWxcD4spnlYjxi9vXbSpwg==", + "node_modules/@ionic/angular-toolkit/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": { - "@typescript-eslint/types": "4.23.0", - "eslint-visitor-keys": "^2.0.0" - }, - "engines": { - "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + "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": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/@typescript-eslint/parser": { - "version": "4.16.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.16.1.tgz", - "integrity": "sha512-/c0LEZcDL5y8RyI1zLcmZMvJrsR6SM1uetskFkoh3dvqDKVXPsXI+wFB/CbVw7WkEyyTKobC1mUNp/5y6gRvXg==", + "node_modules/@ionic/angular-toolkit/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/@ionic/angular-toolkit/node_modules/copy-webpack-plugin": { + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-6.4.1.tgz", + "integrity": "sha512-MXyPCjdPVx5iiWyl40Va3JGh27bKzOTNY3NjUTrosD2q7dR/cLD0013uqJ3BpFbUjyONINjb6qI7nDIJujrMbA==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "4.16.1", - "@typescript-eslint/types": "4.16.1", - "@typescript-eslint/typescript-estree": "4.16.1", - "debug": "^4.1.1" + "cacache": "^15.0.5", + "fast-glob": "^3.2.4", + "find-cache-dir": "^3.3.1", + "glob-parent": "^5.1.1", + "globby": "^11.0.1", + "loader-utils": "^2.0.0", + "normalize-path": "^3.0.0", + "p-limit": "^3.0.2", + "schema-utils": "^3.0.0", + "serialize-javascript": "^5.0.1", + "webpack-sources": "^1.4.3" }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": ">= 10.13.0" }, "funding": { "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "url": "https://opencollective.com/webpack" }, "peerDependencies": { - "eslint": "^5.0.0 || ^6.0.0 || ^7.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "webpack": "^4.37.0 || ^5.0.0" } }, - "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/types": { - "version": "4.16.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.16.1.tgz", - "integrity": "sha512-nnKqBwMgRlhzmJQF8tnFDZWfunXmJyuXj55xc8Kbfup4PbkzdoDXZvzN8//EiKR27J6vUSU8j4t37yUuYPiLqA==", + "node_modules/@ionic/angular-toolkit/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/@ionic/angular-toolkit/node_modules/schema-utils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.0.tgz", + "integrity": "sha512-tTEaeYkyIhEZ9uWgAjDerWov3T9MgX8dhhy2r0IGeeX4W8ngtGl1++dUve/RUqzuaASSh7shwCDJjEzthxki8w==", "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.7", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, "engines": { - "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + "node": ">= 10.13.0" }, "funding": { "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "url": "https://opencollective.com/webpack" } }, - "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/typescript-estree": { - "version": "4.16.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.16.1.tgz", - "integrity": "sha512-m8I/DKHa8YbeHt31T+UGd/l8Kwr0XCTCZL3H4HMvvLCT7HU9V7yYdinTOv1gf/zfqNeDcCgaFH2BMsS8x6NvJg==", + "node_modules/@ionic/angular/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/@ionic/cli-framework-output": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/@ionic/cli-framework-output/-/cli-framework-output-2.2.2.tgz", + "integrity": "sha512-eQYkqIW1/tCwSC6Bd0gjse96U11lDX/ikf3jvsjX7a8z/zwSmGzCHRizb7xogV65Ey+1/zyAZR71cpDRQuFLBQ==", "dev": true, "dependencies": { - "@typescript-eslint/types": "4.16.1", - "@typescript-eslint/visitor-keys": "4.16.1", - "debug": "^4.1.1", - "globby": "^11.0.1", - "is-glob": "^4.0.1", - "semver": "^7.3.2", - "tsutils": "^3.17.1" + "@ionic/utils-terminal": "2.3.1", + "debug": "^4.0.0", + "tslib": "^2.0.1" }, "engines": { - "node": "^10.12.0 || >=12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "node": ">=10.3.0" } }, - "node_modules/@typescript-eslint/scope-manager": { - "version": "4.16.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.16.1.tgz", - "integrity": "sha512-6IlZv9JaurqV0jkEg923cV49aAn8V6+1H1DRfhRcvZUrptQ+UtSKHb5kwTayzOYTJJ/RsYZdcvhOEKiBLyc0Cw==", + "node_modules/@ionic/core": { + "version": "5.6.11", + "resolved": "https://registry.npmjs.org/@ionic/core/-/core-5.6.11.tgz", + "integrity": "sha512-bWn2K3L/QWRUs8SBm+YJcgJhOO6W00eipfxJunlAr/7PbMePdqYnU+PQ2Cv54ufK3yUtLr2b0YdvZ9wZ6pGS3w==", + "dependencies": { + "@stencil/core": "^2.4.0", + "ionicons": "^5.5.1", + "tslib": "^2.1.0" + } + }, + "node_modules/@ionic/utils-array": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@ionic/utils-array/-/utils-array-2.1.5.tgz", + "integrity": "sha512-HD72a71IQVBmQckDwmA8RxNVMTbxnaLbgFOl+dO5tbvW9CkkSFCv41h6fUuNsSEVgngfkn0i98HDuZC8mk+lTA==", "dev": true, "dependencies": { - "@typescript-eslint/types": "4.16.1", - "@typescript-eslint/visitor-keys": "4.16.1" + "debug": "^4.0.0", + "tslib": "^2.0.1" }, "engines": { - "node": "^8.10.0 || ^10.13.0 || >=11.10.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "node": ">=10.3.0" } }, - "node_modules/@typescript-eslint/scope-manager/node_modules/@typescript-eslint/types": { - "version": "4.16.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.16.1.tgz", - "integrity": "sha512-nnKqBwMgRlhzmJQF8tnFDZWfunXmJyuXj55xc8Kbfup4PbkzdoDXZvzN8//EiKR27J6vUSU8j4t37yUuYPiLqA==", + "node_modules/@ionic/utils-fs": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/@ionic/utils-fs/-/utils-fs-3.1.5.tgz", + "integrity": "sha512-a41bY2dHqWSEQQ/80CpbXSs8McyiCFf2DnIWWLukrhYWf46h4qi6M/8dxcMKrofRiqI/3F+cL3S2mOm9Zz/o2Q==", "dev": true, - "engines": { - "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + "dependencies": { + "debug": "^4.0.0", + "fs-extra": "^9.0.0", + "tslib": "^2.0.1" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "engines": { + "node": ">=10.3.0" } }, - "node_modules/@typescript-eslint/types": { - "version": "4.23.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.23.0.tgz", - "integrity": "sha512-oqkNWyG2SLS7uTWLZf6Sr7Dm02gA5yxiz1RP87tvsmDsguVATdpVguHr4HoGOcFOpCvx9vtCSCyQUGfzq28YCw==", + "node_modules/@ionic/utils-fs/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", "dev": true, - "engines": { - "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "engines": { + "node": ">=10" } }, - "node_modules/@typescript-eslint/typescript-estree": { - "version": "4.23.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.23.0.tgz", - "integrity": "sha512-5Sty6zPEVZF5fbvrZczfmLCOcby3sfrSPu30qKoY1U3mca5/jvU5cwsPb/CO6Q3ByRjixTMIVsDkqwIxCf/dMw==", + "node_modules/@ionic/utils-fs/node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", "dev": true, "dependencies": { - "@typescript-eslint/types": "4.23.0", - "@typescript-eslint/visitor-keys": "4.23.0", - "debug": "^4.1.1", - "globby": "^11.0.1", - "is-glob": "^4.0.1", - "semver": "^7.3.2", - "tsutils": "^3.17.1" + "universalify": "^2.0.0" }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/@ionic/utils-fs/node_modules/universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true, "engines": { - "node": "^10.12.0 || >=12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "node": ">= 10.0.0" } }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/@typescript-eslint/visitor-keys": { - "version": "4.23.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.23.0.tgz", - "integrity": "sha512-5PNe5cmX9pSifit0H+nPoQBXdbNzi5tOEec+3riK+ku4e3er37pKxMKDH5Ct5Y4fhWxcD4spnlYjxi9vXbSpwg==", + "node_modules/@ionic/utils-object": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@ionic/utils-object/-/utils-object-2.1.5.tgz", + "integrity": "sha512-XnYNSwfewUqxq+yjER1hxTKggftpNjFLJH0s37jcrNDwbzmbpFTQTVAp4ikNK4rd9DOebX/jbeZb8jfD86IYxw==", "dev": true, "dependencies": { - "@typescript-eslint/types": "4.23.0", - "eslint-visitor-keys": "^2.0.0" + "debug": "^4.0.0", + "tslib": "^2.0.1" }, "engines": { - "node": "^8.10.0 || ^10.13.0 || >=11.10.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "node": ">=10.3.0" } }, - "node_modules/@typescript-eslint/visitor-keys": { - "version": "4.16.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.16.1.tgz", - "integrity": "sha512-s/aIP1XcMkEqCNcPQtl60ogUYjSM8FU2mq1O7y5cFf3Xcob1z1iXWNB6cC43Op+NGRTFgGolri6s8z/efA9i1w==", + "node_modules/@ionic/utils-process": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/@ionic/utils-process/-/utils-process-2.1.8.tgz", + "integrity": "sha512-VBBoyTzi+m6tgKAItl+jiTQneGwTOsctcrTG4CsEgmVOVOEhUYkPhddXqzD+oC54hPDU9ROsd3I014P5CWEuhQ==", "dev": true, "dependencies": { - "@typescript-eslint/types": "4.16.1", - "eslint-visitor-keys": "^2.0.0" + "@ionic/utils-object": "2.1.5", + "@ionic/utils-terminal": "2.3.1", + "debug": "^4.0.0", + "signal-exit": "^3.0.3", + "tree-kill": "^1.2.2", + "tslib": "^2.0.1" }, "engines": { - "node": "^8.10.0 || ^10.13.0 || >=11.10.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "node": ">=10.3.0" } }, - "node_modules/@typescript-eslint/visitor-keys/node_modules/@typescript-eslint/types": { - "version": "4.16.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.16.1.tgz", - "integrity": "sha512-nnKqBwMgRlhzmJQF8tnFDZWfunXmJyuXj55xc8Kbfup4PbkzdoDXZvzN8//EiKR27J6vUSU8j4t37yUuYPiLqA==", + "node_modules/@ionic/utils-stream": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/@ionic/utils-stream/-/utils-stream-3.1.5.tgz", + "integrity": "sha512-hkm46uHvEC05X/8PHgdJi4l4zv9VQDELZTM+Kz69odtO9zZYfnt8DkfXHJqJ+PxmtiE5mk/ehJWLnn/XAczTUw==", "dev": true, - "engines": { - "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + "dependencies": { + "debug": "^4.0.0", + "tslib": "^2.0.1" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "engines": { + "node": ">=10.3.0" } }, - "node_modules/@webassemblyjs/ast": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.0.tgz", - "integrity": "sha512-kX2W49LWsbthrmIRMbQZuQDhGtjyqXfEmmHyEi4XWnSZtPmxY0+3anPIzsnRb45VH/J55zlOfWvZuY47aJZTJg==", + "node_modules/@ionic/utils-subprocess": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/@ionic/utils-subprocess/-/utils-subprocess-2.1.8.tgz", + "integrity": "sha512-pkmtf1LtXcEMPn6/cctREL2aZtZoy0+0Sl+nT0NIkOHIoBUcqrcfMWdctCSM4Mp6+2/hLWtgpHE3TOIibkWfIg==", "dev": true, "dependencies": { - "@webassemblyjs/helper-numbers": "1.11.0", - "@webassemblyjs/helper-wasm-bytecode": "1.11.0" + "@ionic/utils-array": "2.1.5", + "@ionic/utils-fs": "3.1.5", + "@ionic/utils-process": "2.1.8", + "@ionic/utils-stream": "3.1.5", + "@ionic/utils-terminal": "2.3.1", + "cross-spawn": "^7.0.0", + "debug": "^4.0.0", + "tslib": "^2.0.1" + }, + "engines": { + "node": ">=10.3.0" } }, - "node_modules/@webassemblyjs/floating-point-hex-parser": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.0.tgz", - "integrity": "sha512-Q/aVYs/VnPDVYvsCBL/gSgwmfjeCb4LW8+TMrO3cSzJImgv8lxxEPM2JA5jMrivE7LSz3V+PFqtMbls3m1exDA==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-api-error": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.0.tgz", - "integrity": "sha512-baT/va95eXiXb2QflSx95QGT5ClzWpGaa8L7JnJbgzoYeaA27FCvuBXU758l+KXWRndEmUXjP0Q5fibhavIn8w==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-buffer": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.0.tgz", - "integrity": "sha512-u9HPBEl4DS+vA8qLQdEQ6N/eJQ7gT7aNvMIo8AAWvAl/xMrcOSiI2M0MAnMCy3jIFke7bEee/JwdX1nUpCtdyA==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-numbers": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.0.tgz", - "integrity": "sha512-DhRQKelIj01s5IgdsOJMKLppI+4zpmcMQ3XboFPLwCpSNH6Hqo1ritgHgD0nqHeSYqofA6aBN/NmXuGjM1jEfQ==", + "node_modules/@ionic/utils-terminal": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@ionic/utils-terminal/-/utils-terminal-2.3.1.tgz", + "integrity": "sha512-cglsSd2AckI3Ldtdfczeq64vIIDjtPspV5QJtky8f8uIdxkeOIGeRV7bCj1+BEf1hyo+ZuggQxLviHnbMZhiRw==", "dev": true, "dependencies": { - "@webassemblyjs/floating-point-hex-parser": "1.11.0", - "@webassemblyjs/helper-api-error": "1.11.0", - "@xtuc/long": "4.2.2" + "debug": "^4.0.0", + "signal-exit": "^3.0.3", + "slice-ansi": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "tslib": "^2.0.1", + "untildify": "^4.0.0", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=10.3.0" } }, - "node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.0.tgz", - "integrity": "sha512-MbmhvxXExm542tWREgSFnOVo07fDpsBJg3sIl6fSp9xuu75eGz5lz31q7wTLffwL3Za7XNRCMZy210+tnsUSEA==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-wasm-section": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.0.tgz", - "integrity": "sha512-3Eb88hcbfY/FCukrg6i3EH8H2UsD7x8Vy47iVJrP967A9JGqgBVL9aH71SETPx1JrGsOUVLo0c7vMCN22ytJew==", + "node_modules/@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.11.0", - "@webassemblyjs/helper-buffer": "1.11.0", - "@webassemblyjs/helper-wasm-bytecode": "1.11.0", - "@webassemblyjs/wasm-gen": "1.11.0" + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/@webassemblyjs/ieee754": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.0.tgz", - "integrity": "sha512-KXzOqpcYQwAfeQ6WbF6HXo+0udBNmw0iXDmEK5sFlmQdmND+tr773Ti8/5T/M6Tl/413ArSJErATd8In3B+WBA==", + "node_modules/@istanbuljs/load-nyc-config/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, - "dependencies": { - "@xtuc/ieee754": "^1.2.0" + "engines": { + "node": ">=6" } }, - "node_modules/@webassemblyjs/leb128": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.0.tgz", - "integrity": "sha512-aqbsHa1mSQAbeeNcl38un6qVY++hh8OpCOzxhixSYgbRfNWcxJNJQwe2rezK9XEcssJbbWIkblaJRwGMS9zp+g==", + "node_modules/@istanbuljs/load-nyc-config/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": { - "@xtuc/long": "4.2.2" + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/@webassemblyjs/utf8": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.0.tgz", - "integrity": "sha512-A/lclGxH6SpSLSyFowMzO/+aDEPU4hvEiooCMXQPcQFPPJaYcPQNKGOCLUySJsYJ4trbpr+Fs08n4jelkVTGVw==", - "dev": true - }, - "node_modules/@webassemblyjs/wasm-edit": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.0.tgz", - "integrity": "sha512-JHQ0damXy0G6J9ucyKVXO2j08JVJ2ntkdJlq1UTiUrIgfGMmA7Ik5VdC/L8hBK46kVJgujkBIoMtT8yVr+yVOQ==", + "node_modules/@istanbuljs/load-nyc-config/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": { - "@webassemblyjs/ast": "1.11.0", - "@webassemblyjs/helper-buffer": "1.11.0", - "@webassemblyjs/helper-wasm-bytecode": "1.11.0", - "@webassemblyjs/helper-wasm-section": "1.11.0", - "@webassemblyjs/wasm-gen": "1.11.0", - "@webassemblyjs/wasm-opt": "1.11.0", - "@webassemblyjs/wasm-parser": "1.11.0", - "@webassemblyjs/wast-printer": "1.11.0" + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/@webassemblyjs/wasm-gen": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.0.tgz", - "integrity": "sha512-BEUv1aj0WptCZ9kIS30th5ILASUnAPEvE3tVMTrItnZRT9tXCLW2LEXT8ezLw59rqPP9klh9LPmpU+WmRQmCPQ==", + "node_modules/@istanbuljs/load-nyc-config/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": { - "@webassemblyjs/ast": "1.11.0", - "@webassemblyjs/helper-wasm-bytecode": "1.11.0", - "@webassemblyjs/ieee754": "1.11.0", - "@webassemblyjs/leb128": "1.11.0", - "@webassemblyjs/utf8": "1.11.0" + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@webassemblyjs/wasm-opt": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.0.tgz", - "integrity": "sha512-tHUSP5F4ywyh3hZ0+fDQuWxKx3mJiPeFufg+9gwTpYp324mPCQgnuVKwzLTZVqj0duRDovnPaZqDwoyhIO8kYg==", + "node_modules/@istanbuljs/load-nyc-config/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": { - "@webassemblyjs/ast": "1.11.0", - "@webassemblyjs/helper-buffer": "1.11.0", - "@webassemblyjs/wasm-gen": "1.11.0", - "@webassemblyjs/wasm-parser": "1.11.0" + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/@webassemblyjs/wasm-parser": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.0.tgz", - "integrity": "sha512-6L285Sgu9gphrcpDXINvm0M9BskznnzJTE7gYkjDbxET28shDqp27wpruyx3C2S/dvEwiigBwLA1cz7lNUi0kw==", + "node_modules/@istanbuljs/load-nyc-config/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, - "dependencies": { - "@webassemblyjs/ast": "1.11.0", - "@webassemblyjs/helper-api-error": "1.11.0", - "@webassemblyjs/helper-wasm-bytecode": "1.11.0", - "@webassemblyjs/ieee754": "1.11.0", - "@webassemblyjs/leb128": "1.11.0", - "@webassemblyjs/utf8": "1.11.0" + "engines": { + "node": ">=8" } }, - "node_modules/@webassemblyjs/wast-printer": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.0.tgz", - "integrity": "sha512-Fg5OX46pRdTgB7rKIUojkh9vXaVN6sGYCnEiJN1GYkb0RPwShZXp6KTDqmoMdQPKhcroOXh3fEzmkWmCYaKYhQ==", + "node_modules/@istanbuljs/load-nyc-config/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.11.0", - "@xtuc/long": "4.2.2" + "engines": { + "node": ">=8" } }, - "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/@yarnpkg/lockfile": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz", - "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==", - "dev": true - }, - "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/@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "dev": true, + "engines": { + "node": ">=8" + } }, - "node_modules/accepts": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", - "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", + "node_modules/@jridgewell/gen-mapping": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", + "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", "dev": true, "dependencies": { - "mime-types": "~2.1.24", - "negotiator": "0.6.2" + "@jridgewell/set-array": "^1.0.0", + "@jridgewell/sourcemap-codec": "^1.4.10" }, "engines": { - "node": ">= 0.6" + "node": ">=6.0.0" } }, - "node_modules/acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "node_modules/@jridgewell/resolve-uri": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.7.tgz", + "integrity": "sha512-8cXDaBBHOr2pQ7j77Y6Vp5VDT2sIqWyWQ56TjEq4ih/a4iST3dItRe8Q9fp0rrIl9DoKhWQtUQz/YpOxLkXbNA==", "dev": true, - "bin": { - "acorn": "bin/acorn" - }, "engines": { - "node": ">=0.4.0" + "node": ">=6.0.0" } }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "node_modules/@jridgewell/set-array": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.1.tgz", + "integrity": "sha512-Ct5MqZkLGEXTVmQYbGtx9SVqD2fqwvdubdps5D3djjAkgkKwT918VNOz65pEHFaYTeWcukmJmH5SwsA9Tn2ObQ==", "dev": true, - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + "engines": { + "node": ">=6.0.0" } }, - "node_modules/adjust-sourcemap-loader": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-4.0.0.tgz", - "integrity": "sha512-OXwN5b9pCUXNQHJpwwD2qP40byEmSgzj8B4ydSN0uMNYWiFmJ6x6KwUllMmfk8Rwu/HJDFR7U8ubsWBoN0Xp0A==", + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.13", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.13.tgz", + "integrity": "sha512-GryiOJmNcWbovBxTfZSF71V/mXbgcV3MewDe3kIMCLyIh5e7SKAeUZs+rMnJ8jkMolZ/4/VsdBmMrw3l+VdZ3w==", + "dev": true + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.13", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.13.tgz", + "integrity": "sha512-o1xbKhp9qnIAoHJSWd6KlCZfqslL4valSF81H8ImioOAxluWYWOpWkpyktY2vnt4tbrX9XYaxovq6cgowaJp2w==", "dev": true, "dependencies": { - "loader-utils": "^2.0.0", - "regex-parser": "^2.2.11" - }, - "engines": { - "node": ">=8.9" + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" } }, - "node_modules/adm-zip": { - "version": "0.4.16", - "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.16.tgz", - "integrity": "sha512-TFi4HBKSGfIKsK5YCkKaaFG2m4PEDyViZmEwof3MTIgzimHLto6muaHVpbrljdIvIrFZzEq/p4nafOeLcYegrg==", + "node_modules/@ngtools/webpack": { + "version": "13.3.8", + "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-13.3.8.tgz", + "integrity": "sha512-meuXHb1zQ5lz7Uj7kGYTgjd9Tknsi/0jJxs+12nz06h0tifIyIoGU01YA3mUj4/bntIjfWif35KGYP+23bbAVw==", "dev": true, "engines": { - "node": ">=0.3.0" + "node": "^12.20.0 || ^14.15.0 || >=16.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "peerDependencies": { + "@angular/compiler-cli": "^13.0.0", + "typescript": ">=4.4.3 <4.7", + "webpack": "^5.30.0" } }, - "node_modules/agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", "dev": true, "dependencies": { - "debug": "4" + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" }, "engines": { - "node": ">= 6.0.0" + "node": ">= 8" } }, - "node_modules/agentkeepalive": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.1.4.tgz", - "integrity": "sha512-+V/rGa3EuU74H6wR04plBb7Ks10FbtUQgRj/FQOG7uUIEuaINI+AiqJR1k6t3SVNs7o7ZjIdus6706qqzVq8jQ==", + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", "dev": true, - "dependencies": { - "debug": "^4.1.0", - "depd": "^1.1.2", - "humanize-ms": "^1.2.1" - }, "engines": { - "node": ">= 8.0.0" + "node": ">= 8" } }, - "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==", + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", "dev": true, "dependencies": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" }, "engines": { - "node": ">=8" + "node": ">= 8" } }, - "node_modules/ajv": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.2.0.tgz", - "integrity": "sha512-WSNGFuyWd//XO8n/m/EaOlNLtO0yL8EXT/74LqT4khdhpZjP7lkj/kT5uwRmGitKEVp/Oj7ZUHeGfPtgHhQ5CA==", + "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": { - "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" + "@gar/promisify": "^1.0.1", + "semver": "^7.3.5" } }, - "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==", + "node_modules/@npmcli/git": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-2.1.0.tgz", + "integrity": "sha512-/hBFX/QG1b+N7PZBFs0bi+evgRZcK9nWBxQKZkGoXUT5hJSwl5c4d7y8/hm+NQZRPhQ67RzFaj5UM9YeyKoryw==", "dev": true, - "peerDependencies": { - "ajv": ">=5.0.0" + "dependencies": { + "@npmcli/promise-spawn": "^1.3.2", + "lru-cache": "^6.0.0", + "mkdirp": "^1.0.4", + "npm-pick-manifest": "^6.1.1", + "promise-inflight": "^1.0.1", + "promise-retry": "^2.0.1", + "semver": "^7.3.5", + "which": "^2.0.2" } }, - "node_modules/ajv-formats": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.0.2.tgz", - "integrity": "sha512-Brah4Uo5/U8v76c6euTwtjVFFaVishwnJrQBYpev1JRh4vjA1F4HY3UzQez41YUCszUCXKagG8v6eVRBHV1gkw==", + "node_modules/@npmcli/installed-package-contents": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/@npmcli/installed-package-contents/-/installed-package-contents-1.0.7.tgz", + "integrity": "sha512-9rufe0wnJusCQoLpV9ZPKIVP55itrM5BxOXs10DmdbRfgWtHy1LDyskbwRnBghuB0PrF7pNPOqREVtpz4HqzKw==", "dev": true, "dependencies": { - "ajv": "^8.0.0" + "npm-bundled": "^1.1.1", + "npm-normalize-package-bin": "^1.0.1" }, - "peerDependencies": { - "ajv": "^8.0.0" + "bin": { + "installed-package-contents": "index.js" }, - "peerDependenciesMeta": { - "ajv": { - "optional": true - } - } - }, - "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-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": ">= 10" } }, - "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==", + "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": { - "type-fest": "^0.21.3" + "mkdirp": "^1.0.4", + "rimraf": "^3.0.2" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=10" } }, - "node_modules/ansi-html": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz", - "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=", + "node_modules/@npmcli/node-gyp": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-1.0.3.tgz", + "integrity": "sha512-fnkhw+fmX65kiLqk6E3BFLXNC26rUhK90zVwe2yncPliVT/Qos3xjhTLE59Df8KnPlcwIERXKVlU1bXoUQ+liA==", + "dev": true + }, + "node_modules/@npmcli/promise-spawn": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-1.3.2.tgz", + "integrity": "sha512-QyAGYo/Fbj4MXeGdJcFzZ+FkDkomfRBrPM+9QYJSg+PxgAUL+LU3FneQk37rKR2/zjqkCV1BLHccX98wRXG3Sg==", "dev": true, - "engines": [ - "node >= 0.8.0" - ], - "bin": { - "ansi-html": "bin/ansi-html" + "dependencies": { + "infer-owner": "^1.0.4" } }, - "node_modules/ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "node_modules/@npmcli/run-script": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-2.0.0.tgz", + "integrity": "sha512-fSan/Pu11xS/TdaTpTB0MRn9guwGU8dye+x56mEVgBEd/QsybBbYcAL0phPXi8SGWFEChkQd6M9qL4y6VOpFig==", "dev": true, - "engines": { - "node": ">=8" + "dependencies": { + "@npmcli/node-gyp": "^1.0.2", + "@npmcli/promise-spawn": "^1.3.2", + "node-gyp": "^8.2.0", + "read-package-json-fast": "^2.0.1" } }, - "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, + "node_modules/@polkadot/api": { + "version": "5.9.1", + "resolved": "https://registry.npmjs.org/@polkadot/api/-/api-5.9.1.tgz", + "integrity": "sha512-POpIXn/Ao+NLB0uMldXdXU44dVbRr6+6Ax77Z0R285M8Z2EiF5jl2K3SPvlowLo4SntxiCSaHQxCekYhUcJKlw==", "dependencies": { - "color-convert": "^1.9.0" + "@babel/runtime": "^7.15.4", + "@polkadot/api-derive": "5.9.1", + "@polkadot/keyring": "^7.3.1", + "@polkadot/rpc-core": "5.9.1", + "@polkadot/rpc-provider": "5.9.1", + "@polkadot/types": "5.9.1", + "@polkadot/types-known": "5.9.1", + "@polkadot/util": "^7.3.1", + "@polkadot/util-crypto": "^7.3.1", + "eventemitter3": "^4.0.7", + "rxjs": "^7.3.0" }, "engines": { - "node": ">=4" + "node": ">=14.0.0" } }, - "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, + "node_modules/@polkadot/api-derive": { + "version": "5.9.1", + "resolved": "https://registry.npmjs.org/@polkadot/api-derive/-/api-derive-5.9.1.tgz", + "integrity": "sha512-iMrVKnYIS3UQciDlFqww6AFyXgG+iN8UqWu8QbTuZecri3qrSmM3Nn8Jkvju3meZIacwWIMSmBcnj8+zef3rkQ==", "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" + "@babel/runtime": "^7.15.4", + "@polkadot/api": "5.9.1", + "@polkadot/rpc-core": "5.9.1", + "@polkadot/types": "5.9.1", + "@polkadot/util": "^7.3.1", + "@polkadot/util-crypto": "^7.3.1", + "rxjs": "^7.3.0" }, "engines": { - "node": ">= 8" + "node": ">=14.0.0" } }, - "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/are-we-there-yet": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", - "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", - "dev": true, + "node_modules/@polkadot/keyring": { + "version": "7.9.2", + "resolved": "https://registry.npmjs.org/@polkadot/keyring/-/keyring-7.9.2.tgz", + "integrity": "sha512-6UGoIxhiTyISkYEZhUbCPpgVxaneIfb/DBVlHtbvaABc8Mqh1KuqcTIq19Mh9wXlBuijl25rw4lUASrE/9sBqg==", "dependencies": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" + "@babel/runtime": "^7.16.3", + "@polkadot/util": "7.9.2", + "@polkadot/util-crypto": "7.9.2" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "@polkadot/util": "7.9.2", + "@polkadot/util-crypto": "7.9.2" } }, - "node_modules/are-we-there-yet/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, + "node_modules/@polkadot/networks": { + "version": "7.9.2", + "resolved": "https://registry.npmjs.org/@polkadot/networks/-/networks-7.9.2.tgz", + "integrity": "sha512-4obI1RdW5/7TFwbwKA9oqw8aggVZ65JAUvIFMd2YmMC2T4+NiZLnok0WhRkhZkUnqjLIHXYNwq7Ho1i39dte0g==", "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" + "@babel/runtime": "^7.16.3" + }, + "engines": { + "node": ">=14.0.0" } }, - "node_modules/are-we-there-yet/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, + "node_modules/@polkadot/rpc-core": { + "version": "5.9.1", + "resolved": "https://registry.npmjs.org/@polkadot/rpc-core/-/rpc-core-5.9.1.tgz", + "integrity": "sha512-5fXiICAcjp7ow81DnIl2Dq/xuCtJUqyjJkxe9jNHJWBluBxOouqYDb8bYPPGSdckiaVyYe0l8lA9fBUFMdEt6w==", "dependencies": { - "safe-buffer": "~5.1.0" + "@babel/runtime": "^7.15.4", + "@polkadot/rpc-provider": "5.9.1", + "@polkadot/types": "5.9.1", + "@polkadot/util": "^7.3.1", + "rxjs": "^7.3.0" + }, + "engines": { + "node": ">=14.0.0" } }, - "node_modules/arg": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", - "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", - "dev": true - }, - "node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, + "node_modules/@polkadot/rpc-provider": { + "version": "5.9.1", + "resolved": "https://registry.npmjs.org/@polkadot/rpc-provider/-/rpc-provider-5.9.1.tgz", + "integrity": "sha512-9zamxfnsY7iCswXIK22W0Ji1XHLprm97js3WLw3lP2hr/uSim4Cv4y07zY/z4dDQyF0gJtjKwR27Wo9CZqdr6A==", "dependencies": { - "sprintf-js": "~1.0.2" + "@babel/runtime": "^7.15.4", + "@polkadot/types": "5.9.1", + "@polkadot/util": "^7.3.1", + "@polkadot/util-crypto": "^7.3.1", + "@polkadot/x-fetch": "^7.3.1", + "@polkadot/x-global": "^7.3.1", + "@polkadot/x-ws": "^7.3.1", + "eventemitter3": "^4.0.7" + }, + "engines": { + "node": ">=14.0.0" } }, - "node_modules/aria-query": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-4.2.2.tgz", - "integrity": "sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA==", + "node_modules/@polkadot/typegen": { + "version": "5.9.1", + "resolved": "https://registry.npmjs.org/@polkadot/typegen/-/typegen-5.9.1.tgz", + "integrity": "sha512-eyVVlHRKqPtXYkd793++LRnvSzxpjfVGD4p7HnBEyRoViCCtGmVZGWGUhqd/YBBnF9telO28e+ind+nMyfN0Fg==", "dev": true, "dependencies": { - "@babel/runtime": "^7.10.2", - "@babel/runtime-corejs3": "^7.10.2" + "@babel/core": "^7.15.5", + "@babel/register": "^7.15.3", + "@babel/runtime": "^7.15.4", + "@polkadot/api": "5.9.1", + "@polkadot/rpc-provider": "5.9.1", + "@polkadot/types": "5.9.1", + "@polkadot/types-support": "5.9.1", + "@polkadot/util": "^7.3.1", + "handlebars": "^4.7.7", + "websocket": "^1.0.34", + "yargs": "^17.1.1" + }, + "bin": { + "polkadot-types-chain-info": "scripts/polkadot-types-chain-info.cjs", + "polkadot-types-from-chain": "scripts/polkadot-types-from-chain.cjs", + "polkadot-types-from-defs": "scripts/polkadot-types-from-defs.cjs", + "polkadot-types-internal-interfaces": "scripts/polkadot-types-internal-interfaces.cjs", + "polkadot-types-internal-metadata": "scripts/polkadot-types-internal-metadata.cjs" }, "engines": { - "node": ">=6.0" + "node": ">=14.0.0" } }, - "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=", + "node_modules/@polkadot/typegen/node_modules/yargs": { + "version": "17.5.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.5.1.tgz", + "integrity": "sha512-t6YAJcxDkNX7NFYiVtKvWUz8l+PaKTLiL63mJYWR2GnHq2gjEWISzsLp9wg3aY36dY1j+gfIEL3pIF+XlJJfbA==", "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.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.0.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">=12" } }, - "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==", + "node_modules/@polkadot/typegen/node_modules/yargs-parser": { + "version": "21.0.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.0.1.tgz", + "integrity": "sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg==", "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=12" } }, - "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, + "node_modules/@polkadot/types": { + "version": "5.9.1", + "resolved": "https://registry.npmjs.org/@polkadot/types/-/types-5.9.1.tgz", + "integrity": "sha512-30vcSlNBxPyWYZaxKDr/BoMhfLCRKB265XxpnnNJmbdZZsL+N4Zp2mJR9/UbA6ypmJBkUjD7b1s9AYsLwUs+8w==", + "dependencies": { + "@babel/runtime": "^7.15.4", + "@polkadot/util": "^7.3.1", + "@polkadot/util-crypto": "^7.3.1", + "rxjs": "^7.3.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">=14.0.0" } }, - "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/array-includes": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.3.tgz", - "integrity": "sha512-gcem1KlBU7c9rB+Rq8/3PPKsK2kjqeEBa3bD5kkQo4nYlOHQCJqIJFqBXDEfwaRuYTT4E+FxA9xez7Gf/e3Q7A==", - "dev": true, + "node_modules/@polkadot/types-known": { + "version": "5.9.1", + "resolved": "https://registry.npmjs.org/@polkadot/types-known/-/types-known-5.9.1.tgz", + "integrity": "sha512-7lpLuIVGaKziQRzPMnTxyjlYy3spL6WqUg3CcEzmJUKQeUonHglOliQh8JSSz1bcP+YuNHGXK1cKsTjHb+GYxA==", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.2", - "get-intrinsic": "^1.1.1", - "is-string": "^1.0.5" + "@babel/runtime": "^7.15.4", + "@polkadot/networks": "^7.3.1", + "@polkadot/types": "5.9.1", + "@polkadot/util": "^7.3.1" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=14.0.0" } }, - "node_modules/array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "node_modules/@polkadot/types-support": { + "version": "5.9.1", + "resolved": "https://registry.npmjs.org/@polkadot/types-support/-/types-support-5.9.1.tgz", + "integrity": "sha512-2FGVfcIYBnMPHw+cPDTMnD+ecu/izNf+r8ASuouo8F5SOVKYF6isAdvBt7J4F8PCpWhwbyoLDiMrhnhbwlyt/Q==", "dev": true, + "dependencies": { + "@babel/runtime": "^7.15.4", + "@polkadot/util": "^7.3.1" + }, "engines": { - "node": ">=8" + "node": ">=14.0.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, + "node_modules/@polkadot/util": { + "version": "7.9.2", + "resolved": "https://registry.npmjs.org/@polkadot/util/-/util-7.9.2.tgz", + "integrity": "sha512-6ABY6ErgkCsM4C6+X+AJSY4pBGwbKlHZmUtHftaiTvbaj4XuA4nTo3GU28jw8wY0Jh2cJZJvt6/BJ5GVkm5tBA==", + "dependencies": { + "@babel/runtime": "^7.16.3", + "@polkadot/x-textdecoder": "7.9.2", + "@polkadot/x-textencoder": "7.9.2", + "@types/bn.js": "^4.11.6", + "bn.js": "^4.12.0", + "camelcase": "^6.2.1", + "ip-regex": "^4.3.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">=14.0.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, + "node_modules/@polkadot/util-crypto": { + "version": "7.9.2", + "resolved": "https://registry.npmjs.org/@polkadot/util-crypto/-/util-crypto-7.9.2.tgz", + "integrity": "sha512-nNwqUwP44eCH9jKKcPie+IHLKkg9LMe6H7hXo91hy3AtoslnNrT51tP3uAm5yllhLvswJfnAgnlHq7ybCgqeFw==", + "dependencies": { + "@babel/runtime": "^7.16.3", + "@polkadot/networks": "7.9.2", + "@polkadot/util": "7.9.2", + "@polkadot/wasm-crypto": "^4.4.1", + "@polkadot/x-randomvalues": "7.9.2", + "blakejs": "^1.1.1", + "bn.js": "^4.12.0", + "create-hash": "^1.2.0", + "ed2curve": "^0.3.0", + "elliptic": "^6.5.4", + "hash.js": "^1.1.7", + "js-sha3": "^0.8.0", + "micro-base": "^0.9.0", + "scryptsy": "^2.1.0", + "tweetnacl": "^1.0.3", + "xxhashjs": "^0.2.2" + }, "engines": { - "node": ">=0.10.0" + "node": ">=14.0.0" + }, + "peerDependencies": { + "@polkadot/util": "7.9.2" } }, - "node_modules/array.prototype.flat": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.4.tgz", - "integrity": "sha512-4470Xi3GAPAjZqFcljX2xzckv1qeKPizoNkiS0+O4IoPR2ZNpcjE0pkhdihlDouK+x6QOast26B4Q/O9DJnwSg==", - "dev": true, + "node_modules/@polkadot/util-crypto/node_modules/tweetnacl": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-1.0.3.tgz", + "integrity": "sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==" + }, + "node_modules/@polkadot/wasm-crypto": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/@polkadot/wasm-crypto/-/wasm-crypto-4.6.1.tgz", + "integrity": "sha512-2wEftBDxDG+TN8Ah6ogtvzjdZdcF0mAjU4UNNOfpmkBCxQYZOrAHB8HXhzo3noSsKkLX7PDX57NxvJ9OhoTAjw==", "dependencies": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.1" + "@babel/runtime": "^7.17.2", + "@polkadot/wasm-crypto-asmjs": "^4.6.1", + "@polkadot/wasm-crypto-wasm": "^4.6.1" }, "engines": { - "node": ">= 0.4" + "node": ">=14.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "peerDependencies": { + "@polkadot/util": "*", + "@polkadot/x-randomvalues": "*" } }, - "node_modules/arrify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", - "dev": true, + "node_modules/@polkadot/wasm-crypto-asmjs": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/@polkadot/wasm-crypto-asmjs/-/wasm-crypto-asmjs-4.6.1.tgz", + "integrity": "sha512-1oHQjz2oEO1kCIcQniOP+dZ9N2YXf2yCLHLsKaKSvfXiWaetVCaBNB8oIHIVYvuLnVc8qlMi66O6xc1UublHsw==", + "dependencies": { + "@babel/runtime": "^7.17.2" + }, "engines": { - "node": ">=0.10.0" + "node": ">=14.0.0" + }, + "peerDependencies": { + "@polkadot/util": "*" } }, - "node_modules/asn1": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", - "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", - "dev": true, + "node_modules/@polkadot/wasm-crypto-asmjs/node_modules/@babel/runtime": { + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.18.3.tgz", + "integrity": "sha512-38Y8f7YUhce/K7RMwTp7m0uCumpv9hZkitCbBClqQIow1qSbCvGkcegKOXpEWCQLfWmevgRiWokZ1GkpfhbZug==", "dependencies": { - "safer-buffer": "~2.1.0" + "regenerator-runtime": "^0.13.4" + }, + "engines": { + "node": ">=6.9.0" } }, - "node_modules/assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true, + "node_modules/@polkadot/wasm-crypto-wasm": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/@polkadot/wasm-crypto-wasm/-/wasm-crypto-wasm-4.6.1.tgz", + "integrity": "sha512-NI3JVwmLjrSYpSVuhu0yeQYSlsZrdpK41UC48sY3kyxXC71pi6OVePbtHS1K3xh3FFmDd9srSchExi3IwzKzMw==", + "dependencies": { + "@babel/runtime": "^7.17.2" + }, "engines": { - "node": ">=0.8" + "node": ">=14.0.0" + }, + "peerDependencies": { + "@polkadot/util": "*" } }, - "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, + "node_modules/@polkadot/wasm-crypto-wasm/node_modules/@babel/runtime": { + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.18.3.tgz", + "integrity": "sha512-38Y8f7YUhce/K7RMwTp7m0uCumpv9hZkitCbBClqQIow1qSbCvGkcegKOXpEWCQLfWmevgRiWokZ1GkpfhbZug==", + "dependencies": { + "regenerator-runtime": "^0.13.4" + }, "engines": { - "node": ">=0.10.0" + "node": ">=6.9.0" } }, - "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, + "node_modules/@polkadot/wasm-crypto/node_modules/@babel/runtime": { + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.18.3.tgz", + "integrity": "sha512-38Y8f7YUhce/K7RMwTp7m0uCumpv9hZkitCbBClqQIow1qSbCvGkcegKOXpEWCQLfWmevgRiWokZ1GkpfhbZug==", + "dependencies": { + "regenerator-runtime": "^0.13.4" + }, "engines": { - "node": ">=8" + "node": ">=6.9.0" } }, - "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, + "node_modules/@polkadot/x-fetch": { + "version": "7.9.2", + "resolved": "https://registry.npmjs.org/@polkadot/x-fetch/-/x-fetch-7.9.2.tgz", + "integrity": "sha512-zutLkFJVaLVpY3cIGYJD0AReLfAnPr2J82Ca4pvy/BxqwwGYuGLcn36A4m6nliGBP2lcH4oYY+mcCqIwoPWQUQ==", "dependencies": { - "lodash": "^4.17.14" + "@babel/runtime": "^7.16.3", + "@polkadot/x-global": "7.9.2", + "@types/node-fetch": "^2.5.12", + "node-fetch": "^2.6.6" + }, + "engines": { + "node": ">=14.0.0" } }, - "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/at-least-node": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", - "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", - "dev": true, + "node_modules/@polkadot/x-global": { + "version": "7.9.2", + "resolved": "https://registry.npmjs.org/@polkadot/x-global/-/x-global-7.9.2.tgz", + "integrity": "sha512-JX5CrGWckHf1P9xKXq4vQCAuMUbL81l2hOWX7xeP8nv4caHEpmf5T1wD1iMdQBL5PFifo6Pg0V6/oZBB+bts7A==", + "dependencies": { + "@babel/runtime": "^7.16.3" + }, "engines": { - "node": ">= 4.0.0" + "node": ">=14.0.0" } }, - "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" + "node_modules/@polkadot/x-randomvalues": { + "version": "7.9.2", + "resolved": "https://registry.npmjs.org/@polkadot/x-randomvalues/-/x-randomvalues-7.9.2.tgz", + "integrity": "sha512-svQfG31yCXf6yVyIgP0NgCzEy7oc3Lw054ZspkaqjOivxYdrXaf5w3JSSUyM/MRjI2+nk+B/EyJoMYcfSwTfsQ==", + "dependencies": { + "@babel/runtime": "^7.16.3", + "@polkadot/x-global": "7.9.2" }, "engines": { - "node": ">= 4.5.0" + "node": ">=14.0.0" } }, - "node_modules/autoprefixer": { - "version": "9.8.6", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.6.tgz", - "integrity": "sha512-XrvP4VVHdRBCdX1S3WXVD8+RyG9qeb1D5Sn1DeLiG2xfSpzellk5k54xbUERJ3M5DggQxes39UGOTP8CFrEGbg==", - "dev": true, + "node_modules/@polkadot/x-textdecoder": { + "version": "7.9.2", + "resolved": "https://registry.npmjs.org/@polkadot/x-textdecoder/-/x-textdecoder-7.9.2.tgz", + "integrity": "sha512-wfwbSHXPhrOAl12QvlIOGNkMH/N/h8PId2ytIjvM/8zPPFB5Il6DWSFLtVapOGEpIFjEWbd5t8Td4pHBVXIEbg==", "dependencies": { - "browserslist": "^4.12.0", - "caniuse-lite": "^1.0.30001109", - "colorette": "^1.2.1", - "normalize-range": "^0.1.2", - "num2fraction": "^1.2.2", - "postcss": "^7.0.32", - "postcss-value-parser": "^4.1.0" - }, - "bin": { - "autoprefixer": "bin/autoprefixer" + "@babel/runtime": "^7.16.3", + "@polkadot/x-global": "7.9.2" }, - "funding": { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/autoprefixer" + "engines": { + "node": ">=14.0.0" } }, - "node_modules/autoprefixer/node_modules/colorette": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz", - "integrity": "sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==", - "dev": true - }, - "node_modules/autoprefixer/node_modules/postcss": { - "version": "7.0.36", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", - "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", - "dev": true, + "node_modules/@polkadot/x-textencoder": { + "version": "7.9.2", + "resolved": "https://registry.npmjs.org/@polkadot/x-textencoder/-/x-textencoder-7.9.2.tgz", + "integrity": "sha512-A19wwYINuZwU2dUyQ/mMzB0ISjyfc4cISfL4zCMUAVgj7xVoXMYV2GfjNdMpA8Wsjch3su6pxLbtJ2wU03sRTQ==", "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" + "@babel/runtime": "^7.16.3", + "@polkadot/x-global": "7.9.2" }, "engines": { - "node": ">=6.0.0" + "node": ">=14.0.0" + } + }, + "node_modules/@polkadot/x-ws": { + "version": "7.9.2", + "resolved": "https://registry.npmjs.org/@polkadot/x-ws/-/x-ws-7.9.2.tgz", + "integrity": "sha512-+yppMsZtvDztVOSmkqAQuhR6TfV1Axa6ergAsWb52DrfXvFP5geqtARsI6ZdDgMsE3qHSVQTcJz8vgNOr5+ztQ==", + "dependencies": { + "@babel/runtime": "^7.16.3", + "@polkadot/x-global": "7.9.2", + "@types/websocket": "^1.0.4", + "websocket": "^1.0.34" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" + "engines": { + "node": ">=14.0.0" } }, - "node_modules/autoprefixer/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==", + "node_modules/@schematics/angular": { + "version": "12.0.5", + "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-12.0.5.tgz", + "integrity": "sha512-gMT66T33az+uGLDSc7UkJVg+vloPeTpQNgWddBVGnW/Lkl1tGaWUxyqUJAp8AvusPNU+NCP+ZFB3qUm+pc7tCg==", "dev": true, + "dependencies": { + "@angular-devkit/core": "12.0.5", + "@angular-devkit/schematics": "12.0.5", + "jsonc-parser": "3.0.0" + }, "engines": { - "node": ">=0.10.0" + "node": "^12.14.1 || >=14.0.0", + "npm": "^6.11.0 || ^7.5.6", + "yarn": ">= 1.13.0" } }, - "node_modules/autoprefixer/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==", + "node_modules/@schematics/angular/node_modules/@angular-devkit/schematics": { + "version": "12.0.5", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-12.0.5.tgz", + "integrity": "sha512-iW3XuDHScr3TXuunlEjF5O01zBpwpLgfr1oEny8PvseFGDlHK4Nj8zNIoIn3Yg936aiFO4GJAC/UXsT8g5vKxQ==", "dev": true, "dependencies": { - "has-flag": "^3.0.0" + "@angular-devkit/core": "12.0.5", + "ora": "5.4.0", + "rxjs": "6.6.7" }, "engines": { - "node": ">=6" + "node": "^12.14.1 || >=14.0.0", + "npm": "^6.11.0 || ^7.5.6", + "yarn": ">= 1.13.0" } }, - "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=", + "node_modules/@schematics/angular/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": { - "node": "*" + "npm": ">=2.0.0" } }, - "node_modules/aws4": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", - "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==", + "node_modules/@schematics/angular/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/axobject-query": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-2.2.0.tgz", - "integrity": "sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA==", - "dev": true + "node_modules/@stencil/core": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@stencil/core/-/core-2.6.0.tgz", + "integrity": "sha512-QsxWayZyusnqSZrlCl81R71rA3KqFjVVQSH4E0rGN15F1GdQaFonKlHLyCOLKLig1zzC+DQkLLiUuocexuvdeQ==", + "bin": { + "stencil": "bin/stencil" + }, + "engines": { + "node": ">=12.10.0", + "npm": ">=6.0.0" + } }, - "node_modules/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==", + "node_modules/@tootallnate/once": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", + "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", "dev": true, - "dependencies": { - "find-cache-dir": "^3.3.1", - "loader-utils": "^1.4.0", - "make-dir": "^3.1.0", - "schema-utils": "^2.6.5" - }, "engines": { - "node": ">= 8.9" - }, - "peerDependencies": { - "@babel/core": "^7.0.0", - "webpack": ">=2" + "node": ">= 6" } }, - "node_modules/babel-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==", + "node_modules/@types/bn.js": { + "version": "4.11.6", + "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.6.tgz", + "integrity": "sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@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": { - "minimist": "^1.2.0" - }, - "bin": { - "json5": "lib/cli.js" + "@types/connect": "*", + "@types/node": "*" } }, - "node_modules/babel-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==", + "node_modules/@types/bonjour": { + "version": "3.5.10", + "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.10.tgz", + "integrity": "sha512-p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw==", "dev": true, "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - }, - "engines": { - "node": ">=4.0.0" + "@types/node": "*" } }, - "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==", + "node_modules/@types/component-emitter": { + "version": "1.2.10", + "resolved": "https://registry.npmjs.org/@types/component-emitter/-/component-emitter-1.2.10.tgz", + "integrity": "sha512-bsjleuRKWmGqajMerkzox19aGbscQX5rmmvvXl3wlIp5gMG1HgkiwPxsN5p070fBDKTNSPgojVbuY1+HWMbFhg==", + "dev": true + }, + "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": { - "object.assign": "^4.1.0" + "@types/node": "*" } }, - "node_modules/babel-plugin-polyfill-corejs2": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.2.2.tgz", - "integrity": "sha512-kISrENsJ0z5dNPq5eRvcctITNHYXWOA4DUZRFYCz3jYCcvTb/A546LIddmoGNMVYg2U38OyFeNosQwI9ENTqIQ==", + "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": { - "@babel/compat-data": "^7.13.11", - "@babel/helper-define-polyfill-provider": "^0.2.2", - "semver": "^6.1.1" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@types/express-serve-static-core": "*", + "@types/node": "*" } }, - "node_modules/babel-plugin-polyfill-corejs2/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/@types/cookie": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.1.tgz", + "integrity": "sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==", + "dev": true }, - "node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.2.3.tgz", - "integrity": "sha512-rCOFzEIJpJEAU14XCcV/erIf/wZQMmMT5l5vXOpL5uoznyOGfDIjPj6FVytMvtzaKSTSVKouOCTPJ5OMUZH30g==", + "node_modules/@types/cors": { + "version": "2.8.12", + "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.12.tgz", + "integrity": "sha512-vt+kDhq/M2ayberEtJcIN/hxXy1Pk+59g2FV/ZQceeaTyCtCucjL2Q7FXlFjtWn4n15KCr1NE2lNNFhp0lEThw==", + "dev": true + }, + "node_modules/@types/eslint": { + "version": "8.4.3", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.3.tgz", + "integrity": "sha512-YP1S7YJRMPs+7KZKDb9G63n8YejIwW9BALq7a5j2+H4yl6iOv9CB29edho+cuFRrvmJbbaH2yiVChKLJVysDGw==", "dev": true, "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.2.2", - "core-js-compat": "^3.14.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@types/estree": "*", + "@types/json-schema": "*" } }, - "node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.2.2.tgz", - "integrity": "sha512-Goy5ghsc21HgPDFtzRkSirpZVW35meGoTmTOb2bxqdl60ghub4xOidgNTHaZfQ2FaxQsKmwvXtOAkcIS4SMBWg==", + "node_modules/@types/eslint-scope": { + "version": "3.7.3", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.3.tgz", + "integrity": "sha512-PB3ldyrcnAicT35TWPs5IcwKD8S333HMaa2VVv4+wdvebJkjWuW/xESoB8IwRcog8HYVYamb1g/R31Qv5Bx03g==", "dev": true, "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.2.2" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@types/eslint": "*", + "@types/estree": "*" } }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "node_modules/@types/estree": { + "version": "0.0.51", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz", + "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==", "dev": true }, - "node_modules/base": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", - "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "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": { - "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" + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.18", + "@types/qs": "*", + "@types/serve-static": "*" } }, - "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=", + "node_modules/@types/express-serve-static-core": { + "version": "4.17.29", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.29.tgz", + "integrity": "sha512-uMd++6dMKS32EOuw1Uli3e3BPgdLIXmezcfHv7N4c1s3gkhikBplORPpMq3fuWkxncZN1reb16d5n8yhQ80x7Q==", "dev": true, "dependencies": { - "is-descriptor": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*" } }, - "node_modules/base64-arraybuffer": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.4.tgz", - "integrity": "sha1-mBjHngWbE1X5fgQooBfIOOkLqBI=", + "node_modules/@types/http-proxy": { + "version": "1.17.9", + "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.9.tgz", + "integrity": "sha512-QsbSjA/fSk7xB+UXlCT3wHBy5ai9wOcNDWwZAtud+jXhwOM3l+EYZh8Lng4+/6n8uar0J7xILzqftJdJ/Wdfkw==", "dev": true, - "engines": { - "node": ">= 0.6.0" + "dependencies": { + "@types/node": "*" } }, - "node_modules/base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] + "node_modules/@types/jasmine": { + "version": "3.6.11", + "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-3.6.11.tgz", + "integrity": "sha512-S6pvzQDvMZHrkBz2Mcn/8Du7cpr76PlRJBAoHnSDNbulULsH5dp0Gns+WRyNX5LHejz/ljxK4/vIHK/caHt6SQ==", + "dev": true }, - "node_modules/base64id": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz", - "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==", + "node_modules/@types/jasminewd2": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/@types/jasminewd2/-/jasminewd2-2.0.10.tgz", + "integrity": "sha512-J7mDz7ovjwjc+Y9rR9rY53hFWKATcIkrr9DwQWmOas4/pnIPJTXawnzjwpHm3RSxz/e3ZVUvQ7cRbd5UQLo10g==", "dev": true, - "engines": { - "node": "^4.5.0 || >= 5.9" + "dependencies": { + "@types/jasmine": "*" } }, - "node_modules/batch": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", - "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=", + "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/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, + "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/node": { + "version": "12.20.16", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.16.tgz", + "integrity": "sha512-6CLxw83vQf6DKqXxMPwl8qpF8I7THFZuIwLt4TnNsumxkp1VsRZWT8txQxncT/Rl2UojTsFzWgDG4FRMwafrlA==" + }, + "node_modules/@types/node-fetch": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.2.tgz", + "integrity": "sha512-DHqhlq5jeESLy19TYhLakJ07kNumXWjcDdxXsLUMJZ6ue8VZJj4kLPQVE/2mdHh3xZziNF1xppu5lwmS53HR+A==", "dependencies": { - "tweetnacl": "^0.14.3" + "@types/node": "*", + "form-data": "^3.0.0" } }, - "node_modules/big-integer": { - "version": "1.6.48", - "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.48.tgz", - "integrity": "sha512-j51egjPa7/i+RdiRuJbPdJ2FIUYYPhvYLjzoYbcMMm62ooO6F94fETG4MTs46zPAF9Brs04OajboA/qTGuz78w==", - "dev": true, + "node_modules/@types/node-fetch/node_modules/form-data": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", + "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, "engines": { - "node": ">=0.6" + "node": ">= 6" } }, - "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/@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/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/@types/q": { + "version": "0.0.32", + "resolved": "https://registry.npmjs.org/@types/q/-/q-0.0.32.tgz", + "integrity": "sha1-vShOV8hPEyXacCur/IKlMoGQwMU=", + "dev": true }, - "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==", + "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/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==", + "dev": true + }, + "node_modules/@types/selenium-webdriver": { + "version": "3.0.19", + "resolved": "https://registry.npmjs.org/@types/selenium-webdriver/-/selenium-webdriver-3.0.19.tgz", + "integrity": "sha512-OFUilxQg+rWL2FMxtmIgCkUDlJB6pskkpvmew7yeXfzzsOBb5rc+y2+DjHm+r3r1ZPPcJefK3DveNSYWGiy68g==", + "dev": true + }, + "node_modules/@types/serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha512-d/Hs3nWDxNL2xAczmOVZNj92YZCS6RGxfBPjKzuu/XirCgXdpKEb88dYNbrYGint6IVWLNP+yonwVAuRC0T2Dg==", "dev": true, - "optional": true, "dependencies": { - "file-uri-to-path": "1.0.0" + "@types/express": "*" } }, - "node_modules/bl": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "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": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" + "@types/mime": "^1", + "@types/node": "*" } }, - "node_modules/blocking-proxy": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/blocking-proxy/-/blocking-proxy-1.0.1.tgz", - "integrity": "sha512-KE8NFMZr3mN2E0HcvCgRtX7DjhiIQrwle+nSVJVC/yqFb9+xznHl2ZcoBp2L9qzkI4t4cBFJ1efXF8Dwi132RA==", + "node_modules/@types/sockjs": { + "version": "0.3.33", + "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.33.tgz", + "integrity": "sha512-f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw==", "dev": true, "dependencies": { - "minimist": "^1.2.0" - }, - "bin": { - "blocking-proxy": "built/lib/bin.js" - }, - "engines": { - "node": ">=6.9.x" + "@types/node": "*" } }, - "node_modules/body-parser": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", - "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", - "dev": true, + "node_modules/@types/websocket": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/websocket/-/websocket-1.0.5.tgz", + "integrity": "sha512-NbsqiNX9CnEfC1Z0Vf4mE1SgAJ07JnRYcNex7AJ9zAVzmiGHmjKFEk7O4TJIsgv2B1sLEb6owKFZrACwdYngsQ==", "dependencies": { - "bytes": "3.1.0", - "content-type": "~1.0.4", - "debug": "2.6.9", - "depd": "~1.1.2", - "http-errors": "1.7.2", - "iconv-lite": "0.4.24", - "on-finished": "~2.3.0", - "qs": "6.7.0", - "raw-body": "2.4.0", - "type-is": "~1.6.17" - }, - "engines": { - "node": ">= 0.8" + "@types/node": "*" } }, - "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==", + "node_modules/@types/ws": { + "version": "8.5.3", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.3.tgz", + "integrity": "sha512-6YOoWjruKj1uLf3INHH7D3qTXwFfEsg1kf3c0uDdSBJwfa/llkwIjrAGV7j7mVgGNbzTQ3HiHKKDXl6bJPD97w==", "dev": true, "dependencies": { - "ms": "2.0.0" + "@types/node": "*" } }, - "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/bonjour": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz", - "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=", + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "4.16.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.16.1.tgz", + "integrity": "sha512-SK777klBdlkUZpZLC1mPvyOWk9yAFCWmug13eAjVQ4/Q1LATE/NbcQL1xDHkptQkZOLnPmLUA1Y54m8dqYwnoQ==", "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/boolbase": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", - "dev": true + "@typescript-eslint/experimental-utils": "4.16.1", + "@typescript-eslint/scope-manager": "4.16.1", + "debug": "^4.1.1", + "functional-red-black-tree": "^1.0.1", + "lodash": "^4.17.15", + "regexpp": "^3.0.0", + "semver": "^7.3.2", + "tsutils": "^3.17.1" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^4.0.0", + "eslint": "^5.0.0 || ^6.0.0 || ^7.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } }, - "node_modules/bplist-parser": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.2.0.tgz", - "integrity": "sha512-z0M+byMThzQmD9NILRniCUXYsYpjwnlO8N5uCFaCqIOpqRsJCrQL9NK3JsD67CN5a08nF5oIL2bD6loTdHOuKw==", + "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/experimental-utils": { + "version": "4.16.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.16.1.tgz", + "integrity": "sha512-0Hm3LSlMYFK17jO4iY3un1Ve9x1zLNn4EM50Lia+0EV99NdbK+cn0er7HC7IvBA23mBg3P+8dUkMXy4leL33UQ==", "dev": true, "dependencies": { - "big-integer": "^1.6.44" + "@types/json-schema": "^7.0.3", + "@typescript-eslint/scope-manager": "4.16.1", + "@typescript-eslint/types": "4.16.1", + "@typescript-eslint/typescript-estree": "4.16.1", + "eslint-scope": "^5.0.0", + "eslint-utils": "^2.0.0" }, "engines": { - "node": ">= 5.10.0" + "node": "^10.12.0 || >=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "*" } }, - "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==", + "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/types": { + "version": "4.16.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.16.1.tgz", + "integrity": "sha512-nnKqBwMgRlhzmJQF8tnFDZWfunXmJyuXj55xc8Kbfup4PbkzdoDXZvzN8//EiKR27J6vUSU8j4t37yUuYPiLqA==", "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "engines": { + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/typescript-estree": { + "version": "4.16.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.16.1.tgz", + "integrity": "sha512-m8I/DKHa8YbeHt31T+UGd/l8Kwr0XCTCZL3H4HMvvLCT7HU9V7yYdinTOv1gf/zfqNeDcCgaFH2BMsS8x6NvJg==", "dev": true, "dependencies": { - "fill-range": "^7.0.1" + "@typescript-eslint/types": "4.16.1", + "@typescript-eslint/visitor-keys": "4.16.1", + "debug": "^4.1.1", + "globby": "^11.0.1", + "is-glob": "^4.0.1", + "semver": "^7.3.2", + "tsutils": "^3.17.1" }, "engines": { - "node": ">=8" + "node": "^10.12.0 || >=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/browserslist": { - "version": "4.16.6", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.6.tgz", - "integrity": "sha512-Wspk/PqO+4W9qp5iUTJsa1B/QrYn1keNCcEP5OvP7WBwT4KaDly0uONYmC6Xa3Z5IqnUgS0KcgLYu1l74x0ZXQ==", + "node_modules/@typescript-eslint/experimental-utils": { + "version": "4.23.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.23.0.tgz", + "integrity": "sha512-WAFNiTDnQfrF3Z2fQ05nmCgPsO5o790vOhmWKXbbYQTO9erE1/YsFot5/LnOUizLzU2eeuz6+U/81KV5/hFTGA==", "dev": true, "dependencies": { - "caniuse-lite": "^1.0.30001219", - "colorette": "^1.2.2", - "electron-to-chromium": "^1.3.723", - "escalade": "^3.1.1", - "node-releases": "^1.1.71" - }, - "bin": { - "browserslist": "cli.js" + "@types/json-schema": "^7.0.3", + "@typescript-eslint/scope-manager": "4.23.0", + "@typescript-eslint/types": "4.23.0", + "@typescript-eslint/typescript-estree": "4.23.0", + "eslint-scope": "^5.0.0", + "eslint-utils": "^2.0.0" }, "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + "node": "^10.12.0 || >=12.0.0" }, "funding": { "type": "opencollective", - "url": "https://opencollective.com/browserslist" + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "*" } }, - "node_modules/browserslist/node_modules/colorette": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz", - "integrity": "sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==", - "dev": true - }, - "node_modules/browserstack": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/browserstack/-/browserstack-1.6.1.tgz", - "integrity": "sha512-GxtFjpIaKdbAyzHfFDKixKO8IBT7wR3NjbzrGc78nNs/Ciys9wU3/nBtsqsWv5nDSrdI5tz0peKuzCPuNXNUiw==", + "node_modules/@typescript-eslint/experimental-utils/node_modules/@typescript-eslint/scope-manager": { + "version": "4.23.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.23.0.tgz", + "integrity": "sha512-ZZ21PCFxPhI3n0wuqEJK9omkw51wi2bmeKJvlRZPH5YFkcawKOuRMQMnI8mH6Vo0/DoHSeZJnHiIx84LmVQY+w==", "dev": true, "dependencies": { - "https-proxy-agent": "^2.2.1" + "@typescript-eslint/types": "4.23.0", + "@typescript-eslint/visitor-keys": "4.23.0" + }, + "engines": { + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/browserstack/node_modules/agent-base": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz", - "integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==", + "node_modules/@typescript-eslint/experimental-utils/node_modules/@typescript-eslint/visitor-keys": { + "version": "4.23.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.23.0.tgz", + "integrity": "sha512-5PNe5cmX9pSifit0H+nPoQBXdbNzi5tOEec+3riK+ku4e3er37pKxMKDH5Ct5Y4fhWxcD4spnlYjxi9vXbSpwg==", "dev": true, "dependencies": { - "es6-promisify": "^5.0.0" + "@typescript-eslint/types": "4.23.0", + "eslint-visitor-keys": "^2.0.0" }, "engines": { - "node": ">= 4.0.0" + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/browserstack/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "node_modules/@typescript-eslint/parser": { + "version": "4.16.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.16.1.tgz", + "integrity": "sha512-/c0LEZcDL5y8RyI1zLcmZMvJrsR6SM1uetskFkoh3dvqDKVXPsXI+wFB/CbVw7WkEyyTKobC1mUNp/5y6gRvXg==", "dev": true, "dependencies": { - "ms": "^2.1.1" + "@typescript-eslint/scope-manager": "4.16.1", + "@typescript-eslint/types": "4.16.1", + "@typescript-eslint/typescript-estree": "4.16.1", + "debug": "^4.1.1" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^5.0.0 || ^6.0.0 || ^7.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/browserstack/node_modules/https-proxy-agent": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz", - "integrity": "sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg==", + "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/types": { + "version": "4.16.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.16.1.tgz", + "integrity": "sha512-nnKqBwMgRlhzmJQF8tnFDZWfunXmJyuXj55xc8Kbfup4PbkzdoDXZvzN8//EiKR27J6vUSU8j4t37yUuYPiLqA==", "dev": true, - "dependencies": { - "agent-base": "^4.3.0", - "debug": "^3.1.0" - }, "engines": { - "node": ">= 4.5.0" + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/typescript-estree": { + "version": "4.16.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.16.1.tgz", + "integrity": "sha512-m8I/DKHa8YbeHt31T+UGd/l8Kwr0XCTCZL3H4HMvvLCT7HU9V7yYdinTOv1gf/zfqNeDcCgaFH2BMsS8x6NvJg==", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" + "@typescript-eslint/types": "4.16.1", + "@typescript-eslint/visitor-keys": "4.16.1", + "debug": "^4.1.1", + "globby": "^11.0.1", + "is-glob": "^4.0.1", + "semver": "^7.3.2", + "tsutils": "^3.17.1" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/buffer-crc32": { - "version": "0.2.13", - "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", - "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=", + "node_modules/@typescript-eslint/scope-manager": { + "version": "4.16.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.16.1.tgz", + "integrity": "sha512-6IlZv9JaurqV0jkEg923cV49aAn8V6+1H1DRfhRcvZUrptQ+UtSKHb5kwTayzOYTJJ/RsYZdcvhOEKiBLyc0Cw==", "dev": true, + "dependencies": { + "@typescript-eslint/types": "4.16.1", + "@typescript-eslint/visitor-keys": "4.16.1" + }, "engines": { - "node": "*" - } - }, - "node_modules/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==", - "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/builtins": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/builtins/-/builtins-1.0.3.tgz", - "integrity": "sha1-y5T662HIaWRR2zZTThQi+U8K7og=", - "dev": true + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } }, - "node_modules/bytes": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", - "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", + "node_modules/@typescript-eslint/scope-manager/node_modules/@typescript-eslint/types": { + "version": "4.16.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.16.1.tgz", + "integrity": "sha512-nnKqBwMgRlhzmJQF8tnFDZWfunXmJyuXj55xc8Kbfup4PbkzdoDXZvzN8//EiKR27J6vUSU8j4t37yUuYPiLqA==", "dev": true, "engines": { - "node": ">= 0.8" + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/cacache": { - "version": "15.0.6", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.0.6.tgz", - "integrity": "sha512-g1WYDMct/jzW+JdWEyjaX2zoBkZ6ZT9VpOyp2I/VMtDsNLffNat3kqPFfi1eDRSK9/SuKGyORDHcQMcPF8sQ/w==", + "node_modules/@typescript-eslint/types": { + "version": "4.23.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.23.0.tgz", + "integrity": "sha512-oqkNWyG2SLS7uTWLZf6Sr7Dm02gA5yxiz1RP87tvsmDsguVATdpVguHr4HoGOcFOpCvx9vtCSCyQUGfzq28YCw==", "dev": true, - "dependencies": { - "@npmcli/move-file": "^1.0.1", - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "glob": "^7.1.4", - "infer-owner": "^1.0.4", - "lru-cache": "^6.0.0", - "minipass": "^3.1.1", - "minipass-collect": "^1.0.2", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.2", - "mkdirp": "^1.0.3", - "p-map": "^4.0.0", - "promise-inflight": "^1.0.1", - "rimraf": "^3.0.2", - "ssri": "^8.0.1", - "tar": "^6.0.2", - "unique-filename": "^1.1.1" - }, "engines": { - "node": ">= 10" + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "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==", + "node_modules/@typescript-eslint/typescript-estree": { + "version": "4.23.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.23.0.tgz", + "integrity": "sha512-5Sty6zPEVZF5fbvrZczfmLCOcby3sfrSPu30qKoY1U3mca5/jvU5cwsPb/CO6Q3ByRjixTMIVsDkqwIxCf/dMw==", "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" + "@typescript-eslint/types": "4.23.0", + "@typescript-eslint/visitor-keys": "4.23.0", + "debug": "^4.1.1", + "globby": "^11.0.1", + "is-glob": "^4.0.1", + "semver": "^7.3.2", + "tsutils": "^3.17.1" }, "engines": { - "node": ">=0.10.0" + "node": "^10.12.0 || >=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "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==", + "node_modules/@typescript-eslint/typescript-estree/node_modules/@typescript-eslint/visitor-keys": { + "version": "4.23.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.23.0.tgz", + "integrity": "sha512-5PNe5cmX9pSifit0H+nPoQBXdbNzi5tOEec+3riK+ku4e3er37pKxMKDH5Ct5Y4fhWxcD4spnlYjxi9vXbSpwg==", "dev": true, "dependencies": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" + "@typescript-eslint/types": "4.23.0", + "eslint-visitor-keys": "^2.0.0" + }, + "engines": { + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "node_modules/@typescript-eslint/visitor-keys": { + "version": "4.16.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.16.1.tgz", + "integrity": "sha512-s/aIP1XcMkEqCNcPQtl60ogUYjSM8FU2mq1O7y5cFf3Xcob1z1iXWNB6cC43Op+NGRTFgGolri6s8z/efA9i1w==", "dev": true, + "dependencies": { + "@typescript-eslint/types": "4.16.1", + "eslint-visitor-keys": "^2.0.0" + }, "engines": { - "node": ">=6" + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/camelcase": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz", - "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==", + "node_modules/@typescript-eslint/visitor-keys/node_modules/@typescript-eslint/types": { + "version": "4.16.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.16.1.tgz", + "integrity": "sha512-nnKqBwMgRlhzmJQF8tnFDZWfunXmJyuXj55xc8Kbfup4PbkzdoDXZvzN8//EiKR27J6vUSU8j4t37yUuYPiLqA==", "dev": true, "engines": { - "node": ">=10" + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "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==", + "node_modules/@webassemblyjs/ast": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", + "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==", "dev": true, "dependencies": { - "browserslist": "^4.0.0", - "caniuse-lite": "^1.0.0", - "lodash.memoize": "^4.1.2", - "lodash.uniq": "^4.5.0" + "@webassemblyjs/helper-numbers": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1" } }, - "node_modules/caniuse-lite": { - "version": "1.0.30001245", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001245.tgz", - "integrity": "sha512-768fM9j1PKXpOCKws6eTo3RHmvTUsG9UrpT4WoREFeZgJBTi4/X9g565azS/rVUGtqb8nt7FjLeF5u4kukERnA==", - "dev": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - } + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz", + "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==", + "dev": true }, - "node_modules/canonical-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/canonical-path/-/canonical-path-1.0.0.tgz", - "integrity": "sha512-feylzsbDxi1gPZ1IjystzIQZagYYLvfKrSuygUCgf7z6x790VEzze5QEkdSV1U58RA7Hi0+v6fv4K54atOzATg==", + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz", + "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==", "dev": true }, - "node_modules/caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz", + "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==", "dev": true }, - "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==", + "node_modules/@webassemblyjs/helper-numbers": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz", + "integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==", "dev": true, "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" + "@webassemblyjs/floating-point-hex-parser": "1.11.1", + "@webassemblyjs/helper-api-error": "1.11.1", + "@xtuc/long": "4.2.2" } }, - "node_modules/chardet": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", - "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz", + "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==", "dev": true }, - "node_modules/cheerio": { - "version": "1.0.0-rc.3", - "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.3.tgz", - "integrity": "sha512-0td5ijfUPuubwLUu0OBoe98gZj8C/AA+RW3v67GPlGOrvxWjZmBXiBCRU+I8VEiNyJzjth40POfHiz2RB3gImA==", + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz", + "integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==", "dev": true, "dependencies": { - "css-select": "~1.2.0", - "dom-serializer": "~0.1.1", - "entities": "~1.1.1", - "htmlparser2": "^3.9.1", - "lodash": "^4.15.0", - "parse5": "^3.0.1" - }, - "engines": { - "node": ">= 0.6" + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1" } }, - "node_modules/chokidar": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz", - "integrity": "sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==", + "node_modules/@webassemblyjs/ieee754": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz", + "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==", "dev": true, "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" + "@xtuc/ieee754": "^1.2.0" } }, - "node_modules/chownr": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", - "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "node_modules/@webassemblyjs/leb128": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz", + "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==", "dev": true, - "engines": { - "node": ">=10" + "dependencies": { + "@xtuc/long": "4.2.2" } }, - "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==", + "node_modules/@webassemblyjs/utf8": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz", + "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==", + "dev": true + }, + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz", + "integrity": "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==", "dev": true, - "engines": { - "node": ">=6.0" + "dependencies": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/helper-wasm-section": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1", + "@webassemblyjs/wasm-opt": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1", + "@webassemblyjs/wast-printer": "1.11.1" } }, - "node_modules/circular-dependency-plugin": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/circular-dependency-plugin/-/circular-dependency-plugin-5.2.2.tgz", - "integrity": "sha512-g38K9Cm5WRwlaH6g03B9OEz/0qRizI+2I7n+Gz+L5DxXJAPAiWQvwlYNm1V1jkdpUv95bOe/ASm2vfi/G560jQ==", + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz", + "integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==", "dev": true, - "engines": { - "node": ">=6.0.0" - }, - "peerDependencies": { - "webpack": ">=4.0.1" + "dependencies": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/ieee754": "1.11.1", + "@webassemblyjs/leb128": "1.11.1", + "@webassemblyjs/utf8": "1.11.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==", + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz", + "integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==", "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" + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1" } }, - "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=", + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz", + "integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==", "dev": true, "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-api-error": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/ieee754": "1.11.1", + "@webassemblyjs/leb128": "1.11.1", + "@webassemblyjs/utf8": "1.11.1" } }, - "node_modules/class-utils/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=", + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz", + "integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==", "dev": true, "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" + "@webassemblyjs/ast": "1.11.1", + "@xtuc/long": "4.2.2" } }, - "node_modules/class-utils/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=", + "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/@yarnpkg/lockfile": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz", + "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==", + "dev": true + }, + "node_modules/abab": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", + "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", + "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": { - "is-buffer": "^1.1.5" + "mime-types": "~2.1.34", + "negotiator": "0.6.3" }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.6" } }, - "node_modules/class-utils/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=", + "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, - "dependencies": { - "kind-of": "^3.0.2" + "bin": { + "acorn": "bin/acorn" }, "engines": { - "node": ">=0.10.0" + "node": ">=0.4.0" } }, - "node_modules/class-utils/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=", + "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/adjust-sourcemap-loader": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-4.0.0.tgz", + "integrity": "sha512-OXwN5b9pCUXNQHJpwwD2qP40byEmSgzj8B4ydSN0uMNYWiFmJ6x6KwUllMmfk8Rwu/HJDFR7U8ubsWBoN0Xp0A==", "dev": true, "dependencies": { - "is-buffer": "^1.1.5" + "loader-utils": "^2.0.0", + "regex-parser": "^2.2.11" }, "engines": { - "node": ">=0.10.0" + "node": ">=8.9" } }, - "node_modules/class-utils/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==", + "node_modules/adm-zip": { + "version": "0.4.16", + "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.16.tgz", + "integrity": "sha512-TFi4HBKSGfIKsK5YCkKaaFG2m4PEDyViZmEwof3MTIgzimHLto6muaHVpbrljdIvIrFZzEq/p4nafOeLcYegrg==", "dev": true, - "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, "engines": { - "node": ">=0.10.0" + "node": ">=0.3.0" } }, - "node_modules/class-utils/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==", + "node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", "dev": true, + "dependencies": { + "debug": "4" + }, "engines": { - "node": ">=0.10.0" + "node": ">= 6.0.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==", + "node_modules/agentkeepalive": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.2.1.tgz", + "integrity": "sha512-Zn4cw2NEqd+9fiSVWMscnjyQ1a8Yfoc5oBajLeo5w+YBHgDUcEBY2hS4YpTz6iN5f/2zQiktcuM6tS8x1p9dpA==", "dev": true, + "dependencies": { + "debug": "^4.1.0", + "depd": "^1.1.2", + "humanize-ms": "^1.2.1" + }, "engines": { - "node": ">=6" + "node": ">= 8.0.0" } }, - "node_modules/cli-cursor": { + "node_modules/aggregate-error": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", "dev": true, "dependencies": { - "restore-cursor": "^3.1.0" + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" }, "engines": { "node": ">=8" } }, - "node_modules/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==", + "node_modules/ajv": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.2.0.tgz", + "integrity": "sha512-WSNGFuyWd//XO8n/m/EaOlNLtO0yL8EXT/74LqT4khdhpZjP7lkj/kT5uwRmGitKEVp/Oj7ZUHeGfPtgHhQ5CA==", "dev": true, - "engines": { - "node": ">=6" + "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": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "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" + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "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==", + "node_modules/ajv-formats": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.0.2.tgz", + "integrity": "sha512-Brah4Uo5/U8v76c6euTwtjVFFaVishwnJrQBYpev1JRh4vjA1F4HY3UzQez41YUCszUCXKagG8v6eVRBHV1gkw==", "dev": true, "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } } }, - "node_modules/clone": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", + "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": ">=0.8" + "node": ">=6" } }, - "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==", + "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": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" + "type-fest": "^0.21.3" }, "engines": { - "node": ">=6" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", + "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.10.0" + "engines": [ + "node >= 0.8.0" + ], + "bin": { + "ansi-html": "bin/ansi-html" } }, - "node_modules/collection-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "node_modules/ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", "dev": true, - "dependencies": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" - }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "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==", + "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-name": "1.1.3" - } - }, - "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/colord": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/colord/-/colord-2.1.0.tgz", - "integrity": "sha512-H5sDP9XDk2uP+x/xSGkgB9SEFc1bojdI5DMKU0jmSXQtml2GIe48dj1DcSS0e53QQAHn+JKqUXbGeGX24xWD7w==", - "dev": true - }, - "node_modules/colorette": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.1.0.tgz", - "integrity": "sha512-6S062WDQUXi6hOfkO/sBPVwE5ASXY4G2+b4atvhJfSsuUUhIaUKlkjLe9692Ipyt5/a+IPF5aVTu3V5gvXq5cg==", - "dev": true - }, - "node_modules/colors": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", - "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", - "dev": true, + "color-convert": "^1.9.0" + }, "engines": { - "node": ">=0.1.90" + "node": ">=4" } }, - "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==", + "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": { - "delayed-stream": "~1.0.0" + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" }, "engines": { - "node": ">= 0.8" + "node": ">= 8" } }, - "node_modules/commander": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "node_modules/aproba": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", + "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==", + "dev": true + }, + "node_modules/are-we-there-yet": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.0.tgz", + "integrity": "sha512-0GWpv50YSOcLXaN6/FAKY3vfRbllXWV2xvfA/oKJF8pzFhWXPV+yjhJXDBbjscDYowv7Yw1A3uigpzn5iEGTyw==", "dev": true, + "dependencies": { + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" + }, "engines": { - "node": ">= 10" + "node": "^12.13.0 || ^14.15.0 || >=16" } }, - "node_modules/comment-parser": { - "version": "0.7.6", - "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-0.7.6.tgz", - "integrity": "sha512-GKNxVA7/iuTnAqGADlTWX4tkhzxZKXp5fLJqKTlQLHkE65XDUKutZ3BHaJC5IGcper2tT3QRD1xr4o3jNpgXXg==", - "dev": true, - "engines": { - "node": ">= 6.0.0" - } - }, - "node_modules/commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", + "node_modules/arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", "dev": true }, - "node_modules/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/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/compressible": { - "version": "2.0.18", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", - "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "node_modules/aria-query": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-4.2.2.tgz", + "integrity": "sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA==", "dev": true, "dependencies": { - "mime-db": ">= 1.43.0 < 2" + "@babel/runtime": "^7.10.2", + "@babel/runtime-corejs3": "^7.10.2" }, "engines": { - "node": ">= 0.6" + "node": ">=6.0" } }, - "node_modules/compression": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", - "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "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/array-includes": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.3.tgz", + "integrity": "sha512-gcem1KlBU7c9rB+Rq8/3PPKsK2kjqeEBa3bD5kkQo4nYlOHQCJqIJFqBXDEfwaRuYTT4E+FxA9xez7Gf/e3Q7A==", "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" + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.2", + "get-intrinsic": "^1.1.1", + "is-string": "^1.0.5" }, "engines": { - "node": ">= 0.8.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "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=", + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", "dev": true, "engines": { - "node": ">= 0.8" + "node": ">=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==", + "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, - "dependencies": { - "ms": "2.0.0" + "engines": { + "node": ">=0.10.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/connect": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz", - "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==", + "node_modules/array.prototype.flat": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.4.tgz", + "integrity": "sha512-4470Xi3GAPAjZqFcljX2xzckv1qeKPizoNkiS0+O4IoPR2ZNpcjE0pkhdihlDouK+x6QOast26B4Q/O9DJnwSg==", "dev": true, "dependencies": { - "debug": "2.6.9", - "finalhandler": "1.1.2", - "parseurl": "~1.3.3", - "utils-merge": "1.0.1" + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.1" }, "engines": { - "node": ">= 0.10.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "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==", + "node_modules/arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", "dev": true, "engines": { - "node": ">=0.8" + "node": ">=0.10.0" } }, - "node_modules/connect/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "node_modules/asn1": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", + "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", "dev": true, "dependencies": { - "ms": "2.0.0" + "safer-buffer": "~2.1.0" } }, - "node_modules/connect/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/console-control-strings": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", - "dev": true - }, - "node_modules/contains-path": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/contains-path/-/contains-path-0.1.0.tgz", - "integrity": "sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=", - "dev": true, - "engines": { - "node": ">=0.10.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==", + "dependencies": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "safer-buffer": "^2.1.0" } }, - "node_modules/content-disposition": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", - "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", + "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, - "dependencies": { - "safe-buffer": "5.1.2" - }, "engines": { - "node": ">= 0.6" + "node": ">=0.8" } }, - "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==", + "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": ">= 0.6" + "node": ">=8" } }, - "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==", + "node_modules/async": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", + "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", "dev": true, "dependencies": { - "safe-buffer": "~5.1.1" - } - }, - "node_modules/cookie": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz", - "integrity": "sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==", - "dev": true, - "engines": { - "node": ">= 0.6" + "lodash": "^4.17.14" } }, - "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/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" }, - "node_modules/copy-anything": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-2.0.3.tgz", - "integrity": "sha512-GK6QUtisv4fNS+XcI7shX0Gx9ORg7QqIznyfho79JTnX1XhLiyZHfftvGiziqzRiEi/Bjhgpi+D2o7HxJFPnDQ==", + "node_modules/at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", "dev": true, - "dependencies": { - "is-what": "^3.12.0" + "engines": { + "node": ">= 4.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=", + "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": ">=0.10.0" + "node": ">= 4.5.0" } }, - "node_modules/copy-webpack-plugin": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-8.1.1.tgz", - "integrity": "sha512-rYM2uzRxrLRpcyPqGceRBDpxxUV8vcDqIKxAUKfcnFpcrPxT5+XvhTxv7XLjo5AvEJFPdAE3zCogG2JVahqgSQ==", + "node_modules/autoprefixer": { + "version": "10.4.7", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.7.tgz", + "integrity": "sha512-ypHju4Y2Oav95SipEcCcI5J7CGPuvz8oat7sUtYj3ClK44bldfvtvcxK6IEK++7rqB7YchDGzweZIBG+SD0ZAA==", "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + } + ], "dependencies": { - "fast-glob": "^3.2.5", - "glob-parent": "^5.1.1", - "globby": "^11.0.3", - "normalize-path": "^3.0.0", - "p-limit": "^3.1.0", - "schema-utils": "^3.0.0", - "serialize-javascript": "^5.0.1" + "browserslist": "^4.20.3", + "caniuse-lite": "^1.0.30001335", + "fraction.js": "^4.2.0", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.0", + "postcss-value-parser": "^4.2.0" }, - "engines": { - "node": ">= 10.13.0" + "bin": { + "autoprefixer": "bin/autoprefixer" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" + "engines": { + "node": "^10 || ^12 || >=14" }, "peerDependencies": { - "webpack": "^5.1.0" + "postcss": "^8.1.0" } }, - "node_modules/copy-webpack-plugin/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "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, - "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" + "engines": { + "node": "*" } }, - "node_modules/copy-webpack-plugin/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/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/copy-webpack-plugin/node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "node_modules/axobject-query": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-2.2.0.tgz", + "integrity": "sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA==", "dev": true }, - "node_modules/copy-webpack-plugin/node_modules/schema-utils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.0.tgz", - "integrity": "sha512-tTEaeYkyIhEZ9uWgAjDerWov3T9MgX8dhhy2r0IGeeX4W8ngtGl1++dUve/RUqzuaASSh7shwCDJjEzthxki8w==", + "node_modules/babel-loader": { + "version": "8.2.5", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.5.tgz", + "integrity": "sha512-OSiFfH89LrEMiWd4pLNqGz4CwJDtbs2ZVc+iGu2HrkRfPxId9F2anQj38IxWpmRfsUY0aBZYi1EFcd3mhtRMLQ==", "dev": true, "dependencies": { - "@types/json-schema": "^7.0.7", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" + "find-cache-dir": "^3.3.1", + "loader-utils": "^2.0.0", + "make-dir": "^3.1.0", + "schema-utils": "^2.6.5" }, "engines": { - "node": ">= 10.13.0" + "node": ">= 8.9" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" + "peerDependencies": { + "@babel/core": "^7.0.0", + "webpack": ">=2" } }, - "node_modules/core-js": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.12.0.tgz", - "integrity": "sha512-SaMnchL//WwU2Ot1hhkPflE8gzo7uq1FGvUJ8GKmi3TOU7rGTHIU+eir1WGf6qOtTyxdfdcp10yPdGZ59sQ3hw==", + "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, - "hasInstallScript": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" + "dependencies": { + "object.assign": "^4.1.0" } }, - "node_modules/core-js-compat": { - "version": "3.15.2", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.15.2.tgz", - "integrity": "sha512-Wp+BJVvwopjI+A1EFqm2dwUmWYXrvucmtIB2LgXn/Rb+gWPKYxtmb4GKHGKG/KGF1eK9jfjzT38DITbTOCX/SQ==", + "node_modules/babel-plugin-istanbul": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", + "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", "dev": true, "dependencies": { - "browserslist": "^4.16.6", - "semver": "7.0.0" + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^5.0.4", + "test-exclude": "^6.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-js-pure": { - "version": "3.15.2", - "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.15.2.tgz", - "integrity": "sha512-D42L7RYh1J2grW8ttxoY1+17Y4wXZeKe7uyplAI3FkNQyI5OgBIAjUfFiTPfL1rs0qLpxaabITNbjKl1Sp82tA==", - "dev": true, - "hasInstallScript": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" + "engines": { + "node": ">=8" } }, - "node_modules/core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", - "dev": true - }, - "node_modules/cors": { - "version": "2.8.5", - "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", - "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", + "node_modules/babel-plugin-istanbul/node_modules/istanbul-lib-instrument": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.0.tgz", + "integrity": "sha512-6Lthe1hqXHBNsqvgDzGO6l03XNeu3CrG4RqQ1KM9+l5+jNGpEJfIELx1NS3SEHmJQA8np/u+E4EPRKRiu6m19A==", "dev": true, "dependencies": { - "object-assign": "^4", - "vary": "^1" + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^6.3.0" }, "engines": { - "node": ">= 0.10" + "node": ">=8" } }, - "node_modules/cosmiconfig": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.0.tgz", - "integrity": "sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA==", + "node_modules/babel-plugin-istanbul/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/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": { - "@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" + "@babel/compat-data": "^7.13.11", + "@babel/helper-define-polyfill-provider": "^0.3.1", + "semver": "^6.1.1" }, - "engines": { - "node": ">=10" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/critters": { - "version": "0.0.10", - "resolved": "https://registry.npmjs.org/critters/-/critters-0.0.10.tgz", - "integrity": "sha512-p5VKhP1803+f+0Jq5P03w1SbiHtpAKm+1EpJHkiPxQPq0Vu9QLZHviJ02GRrWi0dlcJqrmzMWInbwp4d22RsGw==", + "node_modules/babel-plugin-polyfill-corejs2/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, - "dependencies": { - "chalk": "^4.1.0", - "css": "^3.0.0", - "parse5": "^6.0.1", - "parse5-htmlparser2-tree-adapter": "^6.0.1", - "pretty-bytes": "^5.3.0" + "bin": { + "semver": "bin/semver.js" } }, - "node_modules/critters/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==", + "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": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" + "@babel/helper-define-polyfill-provider": "^0.3.1", + "core-js-compat": "^3.21.0" }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/critters/node_modules/chalk": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", - "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", + "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": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "@babel/helper-define-polyfill-provider": "^0.3.1" }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/critters/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==", + "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/base64-arraybuffer": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.4.tgz", + "integrity": "sha1-mBjHngWbE1X5fgQooBfIOOkLqBI=", "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, "engines": { - "node": ">=7.0.0" + "node": ">= 0.6.0" } }, - "node_modules/critters/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] }, - "node_modules/critters/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==", + "node_modules/base64id": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz", + "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==", "dev": true, "engines": { - "node": ">=8" + "node": "^4.5.0 || >= 5.9" } }, - "node_modules/critters/node_modules/parse5": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", - "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", + "node_modules/batch": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", + "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==", "dev": true }, - "node_modules/critters/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==", + "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": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" + "tweetnacl": "^0.14.3" } }, - "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==", + "node_modules/big-integer": { + "version": "1.6.48", + "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.48.tgz", + "integrity": "sha512-j51egjPa7/i+RdiRuJbPdJ2FIUYYPhvYLjzoYbcMMm62ooO6F94fETG4MTs46zPAF9Brs04OajboA/qTGuz78w==", "dev": true, - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, "engines": { - "node": ">= 8" + "node": ">=0.6" } }, - "node_modules/css": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/css/-/css-3.0.0.tgz", - "integrity": "sha512-DG9pFfwOrzc+hawpmqX/dHYHJG+Bsdb0klhyi1sDneOgGOXy9wQIC8hzyVp1e4NRYDBdxcylvywPkkXCHAzTyQ==", + "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/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", "dev": true, "dependencies": { + "buffer": "^5.5.0", "inherits": "^2.0.4", - "source-map": "^0.6.1", - "source-map-resolve": "^0.6.0" + "readable-stream": "^3.4.0" } }, - "node_modules/css-blank-pseudo": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-0.1.4.tgz", - "integrity": "sha512-LHz35Hr83dnFeipc7oqFDmsjHdljj3TQtxGGiNWSOsTLIAubSm4TEz8qCaKFpk7idaQ1GfWscF4E6mgpBysA1w==", + "node_modules/blakejs": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/blakejs/-/blakejs-1.2.1.tgz", + "integrity": "sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ==" + }, + "node_modules/blocking-proxy": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/blocking-proxy/-/blocking-proxy-1.0.1.tgz", + "integrity": "sha512-KE8NFMZr3mN2E0HcvCgRtX7DjhiIQrwle+nSVJVC/yqFb9+xznHl2ZcoBp2L9qzkI4t4cBFJ1efXF8Dwi132RA==", "dev": true, "dependencies": { - "postcss": "^7.0.5" + "minimist": "^1.2.0" }, "bin": { - "css-blank-pseudo": "cli.js" + "blocking-proxy": "built/lib/bin.js" }, "engines": { - "node": ">=6.0.0" + "node": ">=6.9.x" } }, - "node_modules/css-blank-pseudo/node_modules/postcss": { - "version": "7.0.36", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", - "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + }, + "node_modules/body-parser": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.0.tgz", + "integrity": "sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg==", "dev": true, "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" + "bytes": "3.1.2", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.10.3", + "raw-body": "2.5.1", + "type-is": "~1.6.18", + "unpipe": "1.0.0" }, "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" } }, - "node_modules/css-blank-pseudo/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==", + "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/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">= 0.8" } }, - "node_modules/css-blank-pseudo/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==", + "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/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", "dev": true, "dependencies": { - "has-flag": "^3.0.0" + "ee-first": "1.1.1" }, "engines": { - "node": ">=6" + "node": ">= 0.8" } }, - "node_modules/css-color-names": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-1.0.1.tgz", - "integrity": "sha512-/loXYOch1qU1biStIFsHH8SxTmOseh1IJqFvy8IujXOm1h+QjUdDhkzOrR5HG8K8mlxREj0yfi8ewCHx0eMxzA==", + "node_modules/bonjour": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz", + "integrity": "sha512-RaVTblr+OnEli0r/ud8InrU7D+G0y6aJhlxaLa6Pwty4+xoxboF1BsUI45tujvRpbj9dQVoglChqonGAsjEBYg==", "dev": true, - "engines": { - "node": "*" + "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/css-declaration-sorter": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.0.3.tgz", - "integrity": "sha512-52P95mvW1SMzuRZegvpluT6yEv0FqQusydKQPZsNN5Q7hh8EwQvN8E2nwuJ16BBvNN6LcoIZXu/Bk58DAhrrxw==", + "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/bplist-parser": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.2.0.tgz", + "integrity": "sha512-z0M+byMThzQmD9NILRniCUXYsYpjwnlO8N5uCFaCqIOpqRsJCrQL9NK3JsD67CN5a08nF5oIL2bD6loTdHOuKw==", "dev": true, "dependencies": { - "timsort": "^0.3.0" + "big-integer": "^1.6.44" }, "engines": { - "node": ">= 10" - }, - "peerDependencies": { - "postcss": "^8.0.9" + "node": ">= 5.10.0" } }, - "node_modules/css-has-pseudo": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/css-has-pseudo/-/css-has-pseudo-0.10.0.tgz", - "integrity": "sha512-Z8hnfsZu4o/kt+AuFzeGpLVhFOGO9mluyHBaA2bA8aCGTwah5sT3WV/fTHH8UNZUytOIImuGPrl/prlb4oX4qQ==", + "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": { - "postcss": "^7.0.6", - "postcss-selector-parser": "^5.0.0-rc.4" - }, - "bin": { - "css-has-pseudo": "cli.js" + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" }, "engines": { - "node": ">=6.0.0" + "node": ">=8" } }, - "node_modules/css-has-pseudo/node_modules/cssesc": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz", - "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==", + "node_modules/brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==" + }, + "node_modules/browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "dependencies": { + "buffer-xor": "^1.0.3", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.3", + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/browserify-cipher": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", + "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", + "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==", + "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==", + "dependencies": { + "bn.js": "^5.0.0", + "randombytes": "^2.0.1" + } + }, + "node_modules/browserify-rsa/node_modules/bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" + }, + "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==", + "dependencies": { + "bn.js": "^5.1.1", + "browserify-rsa": "^4.0.1", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "elliptic": "^6.5.3", + "inherits": "^2.0.4", + "parse-asn1": "^5.1.5", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + } + }, + "node_modules/browserify-sign/node_modules/bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" + }, + "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==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/browserslist": { + "version": "4.21.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.0.tgz", + "integrity": "sha512-UQxE0DIhRB5z/zDz9iA03BOfxaN2+GQdBYH/2WrSIWEUrnpzTPJbhqt+umq6r3acaPRTW1FNTkrcp0PXgtFkvA==", "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001358", + "electron-to-chromium": "^1.4.164", + "node-releases": "^2.0.5", + "update-browserslist-db": "^1.0.0" + }, "bin": { - "cssesc": "bin/cssesc" + "browserslist": "cli.js" }, "engines": { - "node": ">=4" + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" } }, - "node_modules/css-has-pseudo/node_modules/postcss": { - "version": "7.0.36", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", - "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "node_modules/browserstack": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/browserstack/-/browserstack-1.6.1.tgz", + "integrity": "sha512-GxtFjpIaKdbAyzHfFDKixKO8IBT7wR3NjbzrGc78nNs/Ciys9wU3/nBtsqsWv5nDSrdI5tz0peKuzCPuNXNUiw==", "dev": true, "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" + "https-proxy-agent": "^2.2.1" } }, - "node_modules/css-has-pseudo/node_modules/postcss-selector-parser": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz", - "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==", + "node_modules/browserstack/node_modules/agent-base": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz", + "integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==", "dev": true, "dependencies": { - "cssesc": "^2.0.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" + "es6-promisify": "^5.0.0" }, "engines": { - "node": ">=4" + "node": ">= 4.0.0" } }, - "node_modules/css-has-pseudo/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==", + "node_modules/browserstack/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, - "engines": { - "node": ">=0.10.0" + "dependencies": { + "ms": "^2.1.1" } }, - "node_modules/css-has-pseudo/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==", + "node_modules/browserstack/node_modules/https-proxy-agent": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz", + "integrity": "sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg==", "dev": true, "dependencies": { - "has-flag": "^3.0.0" + "agent-base": "^4.3.0", + "debug": "^3.1.0" }, "engines": { - "node": ">=6" + "node": ">= 4.5.0" } }, - "node_modules/css-loader": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-5.2.4.tgz", - "integrity": "sha512-OFYGyINCKkdQsTrSYxzGSFnGS4gNjcXkKkQgWxK138jgnPt+lepxdjSZNc8sHAl5vP3DhsJUxufWIjOwI8PMMw==", - "dev": true, - "dependencies": { - "camelcase": "^6.2.0", - "icss-utils": "^5.1.0", - "loader-utils": "^2.0.0", - "postcss": "^8.2.10", - "postcss-modules-extract-imports": "^3.0.0", - "postcss-modules-local-by-default": "^4.0.0", - "postcss-modules-scope": "^3.0.0", - "postcss-modules-values": "^4.0.0", - "postcss-value-parser": "^4.1.0", - "schema-utils": "^3.0.0", - "semver": "^7.3.5" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^4.27.0 || ^5.0.0" - } - }, - "node_modules/css-loader/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], "dependencies": { - "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" + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" } }, - "node_modules/css-loader/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==", + "node_modules/buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=", "dev": true, - "peerDependencies": { - "ajv": "^6.9.1" + "engines": { + "node": "*" } }, - "node_modules/css-loader/node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "node_modules/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==", "dev": true }, - "node_modules/css-loader/node_modules/schema-utils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.0.tgz", - "integrity": "sha512-tTEaeYkyIhEZ9uWgAjDerWov3T9MgX8dhhy2r0IGeeX4W8ngtGl1++dUve/RUqzuaASSh7shwCDJjEzthxki8w==", - "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-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==" + }, + "node_modules/bufferutil": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.6.tgz", + "integrity": "sha512-jduaYOYtnio4aIAyc6UbvPCVcgq7nYpVnucyxr6eCYg/Woad9Hf/oxxBRDnGGjPfjUm6j5O/uBWhIu4iLebFaw==", + "hasInstallScript": true, "dependencies": { - "@types/json-schema": "^7.0.7", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" + "node-gyp-build": "^4.3.0" }, "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" + "node": ">=6.14.2" } }, - "node_modules/css-minimizer-webpack-plugin": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-3.0.0.tgz", - "integrity": "sha512-yIrqG0pPphR1RoNx2wDxYmxRf2ubRChLDXxv7ccipEm5bRKsZRYp8n+2peeXehtTF5s3yNxlqsdz3WQOsAgUkw==", + "node_modules/builtins": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/builtins/-/builtins-1.0.3.tgz", + "integrity": "sha512-uYBjakWipfaO/bXI7E8rq6kpwHRZK5cNYrUv2OzZSI/FvmdMyXJ2tG9dKcjEC5YHmHpUAwsargWIZNWdxb/bnQ==", + "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/cacache": { + "version": "15.3.0", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.3.0.tgz", + "integrity": "sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==", "dev": true, "dependencies": { - "cssnano": "^5.0.0", - "jest-worker": "^26.3.0", - "p-limit": "^3.0.2", - "postcss": "^8.2.9", - "schema-utils": "^3.0.0", - "serialize-javascript": "^5.0.1", - "source-map": "^0.6.1" + "@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": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.0.0" - }, - "peerDependenciesMeta": { - "clean-css": { - "optional": true - }, - "csso": { - "optional": true - } + "node": ">= 10" } }, - "node_modules/css-minimizer-webpack-plugin/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "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": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/css-minimizer-webpack-plugin/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==", + "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, - "peerDependencies": { - "ajv": "^6.9.1" + "engines": { + "node": ">=6" } }, - "node_modules/css-minimizer-webpack-plugin/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/css-minimizer-webpack-plugin/node_modules/schema-utils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.0.tgz", - "integrity": "sha512-tTEaeYkyIhEZ9uWgAjDerWov3T9MgX8dhhy2r0IGeeX4W8ngtGl1++dUve/RUqzuaASSh7shwCDJjEzthxki8w==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.7", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, + "node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", "engines": { - "node": ">= 10.13.0" + "node": ">=10" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/css-minimizer-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==", + "node_modules/caniuse-lite": { + "version": "1.0.30001358", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001358.tgz", + "integrity": "sha512-hvp8PSRymk85R20bsDra7ZTCpSVGN/PAz9pSAjPSjKC+rNmnUk5vCRgJwiTT/O4feQ/yu/drvZYpKxxhbFuChw==", "dev": true, - "engines": { - "node": ">=0.10.0" - } + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + } + ] }, - "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/caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", + "dev": true }, - "node_modules/css-parse/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==", + "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": { - "inherits": "^2.0.3", - "source-map": "^0.6.1", - "source-map-resolve": "^0.5.2", - "urix": "^0.1.0" - } - }, - "node_modules/css-parse/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, + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "node_modules/css-parse/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==", - "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/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/css-prefers-color-scheme": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-3.1.1.tgz", - "integrity": "sha512-MTu6+tMs9S3EUqzmqLXEcgNRbNkkD/TGFvowpeoWJn5Vfq7FMgsmRQs9X5NXAURiOBmOxm/lLjsDNXDE6k9bhg==", + "node_modules/cheerio": { + "version": "1.0.0-rc.3", + "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.3.tgz", + "integrity": "sha512-0td5ijfUPuubwLUu0OBoe98gZj8C/AA+RW3v67GPlGOrvxWjZmBXiBCRU+I8VEiNyJzjth40POfHiz2RB3gImA==", "dev": true, "dependencies": { - "postcss": "^7.0.5" - }, - "bin": { - "css-prefers-color-scheme": "cli.js" + "css-select": "~1.2.0", + "dom-serializer": "~0.1.1", + "entities": "~1.1.1", + "htmlparser2": "^3.9.1", + "lodash": "^4.15.0", + "parse5": "^3.0.1" }, "engines": { - "node": ">=6.0.0" + "node": ">= 0.6" } }, - "node_modules/css-prefers-color-scheme/node_modules/postcss": { - "version": "7.0.36", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", - "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "node_modules/chokidar": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz", + "integrity": "sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==", "dev": true, "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" + "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": ">=6.0.0" + "node": ">= 8.10.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" + "optionalDependencies": { + "fsevents": "~2.3.2" } }, - "node_modules/css-prefers-color-scheme/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==", + "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": ">=0.10.0" + "node": ">=10" } }, - "node_modules/css-prefers-color-scheme/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==", + "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, - "dependencies": { - "has-flag": "^3.0.0" - }, "engines": { - "node": ">=6" + "node": ">=6.0" } }, - "node_modules/css-select": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz", - "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=", - "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==", "dependencies": { - "boolbase": "~1.0.0", - "css-what": "2.1", - "domutils": "1.5.1", - "nth-check": "~1.0.1" + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" } }, - "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==", + "node_modules/circular-dependency-plugin": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/circular-dependency-plugin/-/circular-dependency-plugin-5.2.2.tgz", + "integrity": "sha512-g38K9Cm5WRwlaH6g03B9OEz/0qRizI+2I7n+Gz+L5DxXJAPAiWQvwlYNm1V1jkdpUv95bOe/ASm2vfi/G560jQ==", "dev": true, - "dependencies": { - "mdn-data": "2.0.14", - "source-map": "^0.6.1" - }, "engines": { - "node": ">=8.0.0" + "node": ">=6.0.0" + }, + "peerDependencies": { + "webpack": ">=4.0.1" } }, - "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==", + "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": ">=0.10.0" + "node": ">=6" } }, - "node_modules/css-what": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.3.tgz", - "integrity": "sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg==", + "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": "*" + "node": ">=8" } }, - "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==", + "node_modules/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==", "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/cssdb": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-4.4.0.tgz", - "integrity": "sha512-LsTAR1JPEM9TpGhl/0p3nQecC2LJ0kD8X5YARu1hk/9I1gril5vDtMZyNxcEpxxDj34YNck/ucjuoUd66K03oQ==", - "dev": true - }, - "node_modules/cssesc": { + "node_modules/cli-width": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", + "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", "dev": true, - "bin": { - "cssesc": "bin/cssesc" - }, "engines": { - "node": ">=4" + "node": ">= 10" } }, - "node_modules/cssnano": { - "version": "5.0.6", - "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.0.6.tgz", - "integrity": "sha512-NiaLH/7yqGksFGsFNvSRe2IV/qmEBAeDE64dYeD8OBrgp6lE8YoMeQJMtsv5ijo6MPyhuoOvFhI94reahBRDkw==", + "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": { - "cosmiconfig": "^7.0.0", - "cssnano-preset-default": "^5.1.3", - "is-resolvable": "^1.1.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/cssnano" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/cssnano-preset-default": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.1.3.tgz", - "integrity": "sha512-qo9tX+t4yAAZ/yagVV3b+QBKeLklQbmgR3wI7mccrDcR+bEk9iHgZN1E7doX68y9ThznLya3RDmR+nc7l6/2WQ==", - "dev": true, - "dependencies": { - "css-declaration-sorter": "^6.0.3", - "cssnano-utils": "^2.0.1", - "postcss-calc": "^8.0.0", - "postcss-colormin": "^5.2.0", - "postcss-convert-values": "^5.0.1", - "postcss-discard-comments": "^5.0.1", - "postcss-discard-duplicates": "^5.0.1", - "postcss-discard-empty": "^5.0.1", - "postcss-discard-overridden": "^5.0.1", - "postcss-merge-longhand": "^5.0.2", - "postcss-merge-rules": "^5.0.2", - "postcss-minify-font-values": "^5.0.1", - "postcss-minify-gradients": "^5.0.1", - "postcss-minify-params": "^5.0.1", - "postcss-minify-selectors": "^5.1.0", - "postcss-normalize-charset": "^5.0.1", - "postcss-normalize-display-values": "^5.0.1", - "postcss-normalize-positions": "^5.0.1", - "postcss-normalize-repeat-style": "^5.0.1", - "postcss-normalize-string": "^5.0.1", - "postcss-normalize-timing-functions": "^5.0.1", - "postcss-normalize-unicode": "^5.0.1", - "postcss-normalize-url": "^5.0.2", - "postcss-normalize-whitespace": "^5.0.1", - "postcss-ordered-values": "^5.0.2", - "postcss-reduce-initial": "^5.0.1", - "postcss-reduce-transforms": "^5.0.1", - "postcss-svgo": "^5.0.2", - "postcss-unique-selectors": "^5.0.1" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" } }, - "node_modules/cssnano-utils": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-2.0.1.tgz", - "integrity": "sha512-i8vLRZTnEH9ubIyfdZCAdIdgnHAUeQeByEeQ2I7oTilvP9oHO6RScpeq3GsFUVqeB8uZgOQ9pw8utofNn32hhQ==", + "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": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node": ">=0.8" } }, - "node_modules/csso": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", - "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", + "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": { - "css-tree": "^1.1.2" + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" }, "engines": { - "node": ">=8.0.0" + "node": ">=6" } }, - "node_modules/custom-event": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/custom-event/-/custom-event-1.0.1.tgz", - "integrity": "sha1-XQKkaFCt8bSjF5RqOSj8y1v9BCU=", + "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-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/dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "node_modules/color-support": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", + "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", + "dev": true, + "bin": { + "color-support": "bin.js" + } + }, + "node_modules/colorette": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.1.0.tgz", + "integrity": "sha512-6S062WDQUXi6hOfkO/sBPVwE5ASXY4G2+b4atvhJfSsuUUhIaUKlkjLe9692Ipyt5/a+IPF5aVTu3V5gvXq5cg==", + "dev": true + }, + "node_modules/colors": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", + "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", "dev": true, + "engines": { + "node": ">=0.1.90" + } + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", "dependencies": { - "assert-plus": "^1.0.0" + "delayed-stream": "~1.0.0" }, "engines": { - "node": ">=0.10" + "node": ">= 0.8" } }, - "node_modules/date-format": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/date-format/-/date-format-3.0.0.tgz", - "integrity": "sha512-eyTcpKOcamdhWJXj56DpQMo1ylSQpcGtGKXcU0Tb97+K56/CF5amAqqqNj0+KvA0iw2ynxtHWFsPDSClCxe48w==", + "node_modules/comment-parser": { + "version": "0.7.6", + "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-0.7.6.tgz", + "integrity": "sha512-GKNxVA7/iuTnAqGADlTWX4tkhzxZKXp5fLJqKTlQLHkE65XDUKutZ3BHaJC5IGcper2tT3QRD1xr4o3jNpgXXg==", "dev": true, "engines": { - "node": ">=4.0" + "node": ">= 6.0.0" } }, - "node_modules/debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "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": { - "ms": "2.1.2" + "mime-db": ">= 1.43.0 < 2" }, "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } + "node": ">= 0.6" } }, - "node_modules/decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "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.10.0" + "node": ">= 0.8.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=", + "node_modules/compression/node_modules/bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", "dev": true, "engines": { - "node": ">=0.10" + "node": ">= 0.8" } }, - "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==", + "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": { - "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" + "ms": "2.0.0" } }, - "node_modules/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=", + "node_modules/compression/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true }, - "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==", + "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/connect": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz", + "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==", "dev": true, "dependencies": { - "execa": "^1.0.0", - "ip-regex": "^2.1.0" + "debug": "2.6.9", + "finalhandler": "1.1.2", + "parseurl": "~1.3.3", + "utils-merge": "1.0.1" }, "engines": { - "node": ">=6" + "node": ">= 0.10.0" } }, - "node_modules/defaults": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", - "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", + "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/connect/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": { - "clone": "^1.0.2" + "ms": "2.0.0" } }, - "node_modules/define-lazy-prop": { + "node_modules/connect/node_modules/ms": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", - "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "node_modules/console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==", + "dev": true + }, + "node_modules/contains-path": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/contains-path/-/contains-path-0.1.0.tgz", + "integrity": "sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=", "dev": true, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "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==", + "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": { - "object-keys": "^1.0.12" + "safe-buffer": "5.2.1" }, "engines": { - "node": ">= 0.4" + "node": ">= 0.6" } }, - "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==", + "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" + }, + { + "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": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" - }, + "safe-buffer": "~5.1.1" + } + }, + "node_modules/cookie": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz", + "integrity": "sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==", + "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">= 0.6" } }, - "node_modules/del": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/del/-/del-2.2.2.tgz", - "integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=", + "node_modules/cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", + "dev": true + }, + "node_modules/copy-anything": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-2.0.6.tgz", + "integrity": "sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==", "dev": true, "dependencies": { - "globby": "^5.0.0", - "is-path-cwd": "^1.0.0", - "is-path-in-cwd": "^1.0.0", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "rimraf": "^2.2.8" + "is-what": "^3.14.1" }, - "engines": { - "node": ">=0.10.0" + "funding": { + "url": "https://github.com/sponsors/mesqueeb" } }, - "node_modules/del/node_modules/array-union": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", - "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", + "node_modules/copy-webpack-plugin": { + "version": "10.2.1", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-10.2.1.tgz", + "integrity": "sha512-nr81NhCAIpAWXGCK5thrKmfCQ6GDY0L5RN0U+BnIn/7Us55+UCex5ANNsNKmIVtDRnk0Ecf+/kzp9SUVrrBMLg==", "dev": true, "dependencies": { - "array-uniq": "^1.0.1" + "fast-glob": "^3.2.7", + "glob-parent": "^6.0.1", + "globby": "^12.0.2", + "normalize-path": "^3.0.0", + "schema-utils": "^4.0.0", + "serialize-javascript": "^6.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">= 12.20.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" } }, - "node_modules/del/node_modules/globby": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz", - "integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=", + "node_modules/copy-webpack-plugin/node_modules/ajv": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", + "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", "dev": true, "dependencies": { - "array-union": "^1.0.1", - "arrify": "^1.0.0", - "glob": "^7.0.3", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" }, - "engines": { - "node": ">=0.10.0" + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/del/node_modules/rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "node_modules/copy-webpack-plugin/node_modules/ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", "dev": true, "dependencies": { - "glob": "^7.1.3" + "ajv": "^8.0.0" }, - "bin": { - "rimraf": "bin.js" + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } } }, - "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=", + "node_modules/copy-webpack-plugin/node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/copy-webpack-plugin/node_modules/array-union": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-3.0.1.tgz", + "integrity": "sha512-1OvF9IbWwaeiM9VhzYXVQacMibxpXOMYVNIvMtKRyX9SImBXpKcFr8XvFDeEslCyuH/t6KRt7HEO94AlP8Iatw==", "dev": true, "engines": { - "node": ">=0.4.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/delegates": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", - "dev": true + "node_modules/copy-webpack-plugin/node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } }, - "node_modules/depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", + "node_modules/copy-webpack-plugin/node_modules/globby": { + "version": "12.2.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-12.2.0.tgz", + "integrity": "sha512-wiSuFQLZ+urS9x2gGPl1H5drc5twabmm4m2gTR27XDFyjUHJUNsS8o/2aKyIF6IoBaR630atdher0XJ5g6OMmA==", "dev": true, + "dependencies": { + "array-union": "^3.0.1", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.7", + "ignore": "^5.1.9", + "merge2": "^1.4.1", + "slash": "^4.0.0" + }, "engines": { - "node": ">= 0.6" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/dependency-graph": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.11.0.tgz", - "integrity": "sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg==", + "node_modules/copy-webpack-plugin/node_modules/ignore": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", + "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", "dev": true, "engines": { - "node": ">= 0.6.0" + "node": ">= 4" } }, - "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-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/copy-webpack-plugin/node_modules/schema-utils": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", + "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.8.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } }, - "node_modules/di": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/di/-/di-0.0.1.tgz", - "integrity": "sha1-gGZJMmzqp8qjMG112YXqJ0i6kTw=", - "dev": true + "node_modules/copy-webpack-plugin/node_modules/serialize-javascript": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", + "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", + "dev": true, + "dependencies": { + "randombytes": "^2.1.0" + } }, - "node_modules/diff": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "node_modules/copy-webpack-plugin/node_modules/slash": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", + "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", "dev": true, "engines": { - "node": ">=0.3.1" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "node_modules/core-js": { + "version": "3.20.3", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.20.3.tgz", + "integrity": "sha512-vVl8j8ph6tRS3B8qir40H7yw7voy17xL0piAjlbBUsH7WIfzoedL/ZOr1OV9FyZQLWXsayOJyV4tnRyXR85/ag==", + "dev": true, + "hasInstallScript": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-js-compat": { + "version": "3.23.2", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.23.2.tgz", + "integrity": "sha512-lrgZvxFwbQp9v7E8mX0rJ+JX7Bvh4eGULZXA1IAyjlsnWvCdw6TF8Tg6xtaSUSJMrSrMaLdpmk+V54LM1dvfOA==", "dev": true, "dependencies": { - "path-type": "^4.0.0" + "browserslist": "^4.20.4", + "semver": "7.0.0" }, - "engines": { - "node": ">=8" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" } }, - "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/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/dns-packet": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.4.tgz", - "integrity": "sha512-BQ6F4vycLXBvdrJZ6S3gZewt6rcrks9KBgM9vrhW+knGRqc8uEdT7fuCwloc7nny5xNoMJ17HGH0R/6fpo8ECA==", + "node_modules/core-js-pure": { + "version": "3.15.2", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.15.2.tgz", + "integrity": "sha512-D42L7RYh1J2grW8ttxoY1+17Y4wXZeKe7uyplAI3FkNQyI5OgBIAjUfFiTPfL1rs0qLpxaabITNbjKl1Sp82tA==", "dev": true, - "dependencies": { - "ip": "^1.1.0", - "safe-buffer": "^5.0.1" + "hasInstallScript": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" } }, - "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=", + "node_modules/core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "node_modules/cors": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", + "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", "dev": true, "dependencies": { - "buffer-indexof": "^1.0.0" + "object-assign": "^4", + "vary": "^1" + }, + "engines": { + "node": ">= 0.10" } }, - "node_modules/doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "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": { - "esutils": "^2.0.2" + "@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": ">=6.0.0" + "node": ">=10" } }, - "node_modules/dom-serialize": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/dom-serialize/-/dom-serialize-2.2.1.tgz", - "integrity": "sha1-ViromZ9Evl6jB29UGdzVnrQ6yVs=", - "dev": true, + "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==", "dependencies": { - "custom-event": "~1.0.0", - "ent": "~2.2.0", - "extend": "^3.0.0", - "void-elements": "^2.0.0" + "bn.js": "^4.1.0", + "elliptic": "^6.5.3" } }, - "node_modules/dom-serializer": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.1.tgz", - "integrity": "sha512-l0IU0pPzLWSHBcieZbpOKgkIn3ts3vAh7ZuFyXNwJxJXk/c4Gwj9xaTJwIDVQCXawWD0qb3IzMGH5rglQaO0XA==", - "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==", "dependencies": { - "domelementtype": "^1.3.0", - "entities": "^1.1.1" + "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/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/create-hmac": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "dependencies": { + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } }, - "node_modules/domhandler": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz", - "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", + "node_modules/critters": { + "version": "0.0.16", + "resolved": "https://registry.npmjs.org/critters/-/critters-0.0.16.tgz", + "integrity": "sha512-JwjgmO6i3y6RWtLYmXwO5jMd+maZt8Tnfu7VVISmEWyQqfLpB8soBswf8/2bu6SBXxtKA68Al3c+qIG1ApT68A==", "dev": true, "dependencies": { - "domelementtype": "1" + "chalk": "^4.1.0", + "css-select": "^4.2.0", + "parse5": "^6.0.1", + "parse5-htmlparser2-tree-adapter": "^6.0.1", + "postcss": "^8.3.7", + "pretty-bytes": "^5.3.0" } }, - "node_modules/domutils": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", - "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", + "node_modules/critters/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "dependencies": { - "dom-serializer": "0", - "domelementtype": "1" + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/ecc-jsbn": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "node_modules/critters/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "dependencies": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "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/electron-to-chromium": { - "version": "1.3.778", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.778.tgz", - "integrity": "sha512-Lw04qJaPtWdq0d7qKHJTgkam+FhFi3hm/scf1EyqJWdjO3ZIGUJhNmZJRXWb7yb/bRYXQyVGSpa9RqVpjjWMQw==", - "dev": true - }, - "node_modules/elementtree": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/elementtree/-/elementtree-0.1.7.tgz", - "integrity": "sha1-mskb5uUvtuYkTE5UpKw+2K6OKcA=", + "node_modules/critters/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "dependencies": { - "sax": "1.1.4" + "color-name": "~1.1.4" }, "engines": { - "node": ">= 0.4.0" + "node": ">=7.0.0" } }, - "node_modules/elementtree/node_modules/sax": { + "node_modules/critters/node_modules/color-name": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.1.4.tgz", - "integrity": "sha1-dLbTPJrh4AFRDxeakRaFiPGu2qk=", - "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==", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "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==", + "node_modules/critters/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, - "engines": { - "node": ">= 4" + "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/encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", + "node_modules/critters/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": ">= 0.8" + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" } }, - "node_modules/encoding": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", - "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", + "node_modules/critters/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, - "optional": true, "dependencies": { - "iconv-lite": "^0.6.2" + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" } }, - "node_modules/encoding/node_modules/iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "node_modules/critters/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/critters/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, - "optional": true, "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" + "domelementtype": "^2.2.0" }, "engines": { - "node": ">=0.10.0" + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" } }, - "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==", + "node_modules/critters/node_modules/domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", "dev": true, "dependencies": { - "once": "^1.4.0" + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" } }, - "node_modules/engine.io": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-4.1.1.tgz", - "integrity": "sha512-t2E9wLlssQjGw0nluF6aYyfX8LwYU8Jj0xct+pAhfWfv/YrBn6TSNtEYsgxHIfaMqfrLx07czcMg9bMN6di+3w==", + "node_modules/critters/node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", "dev": true, - "dependencies": { - "accepts": "~1.3.4", - "base64id": "2.0.0", - "cookie": "~0.4.1", - "cors": "~2.8.5", - "debug": "~4.3.1", - "engine.io-parser": "~4.0.0", - "ws": "~7.4.2" - }, - "engines": { - "node": ">=10.0.0" + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" } }, - "node_modules/engine.io-parser": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-4.0.2.tgz", - "integrity": "sha512-sHfEQv6nmtJrq6TKuIz5kyEKH/qSdK56H/A+7DnAuUPWosnIZAS2NHNcPLmyjtY3cGS/MqJdZbUjW97JU72iYg==", + "node_modules/critters/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, - "dependencies": { - "base64-arraybuffer": "0.1.4" - }, "engines": { - "node": ">=8.0.0" + "node": ">=8" } }, - "node_modules/engine.io/node_modules/ws": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz", - "integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==", + "node_modules/critters/node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", "dev": true, - "engines": { - "node": ">=8.3.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" + "dependencies": { + "boolbase": "^1.0.0" }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" } }, - "node_modules/enhanced-resolve": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.7.0.tgz", - "integrity": "sha512-6njwt/NsZFUKhM6j9U8hzVyD4E4r0x7NQzhTCbcWOJ0IQjNSAoalWmb0AE51Wn+fwan5qVESWi7t2ToBxs9vrw==", + "node_modules/critters/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/critters/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "dependencies": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=10.13.0" + "node": ">=8" } }, - "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==", + "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": { - "ansi-colors": "^4.1.1" + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" }, "engines": { - "node": ">=8.6" + "node": ">= 8" } }, - "node_modules/ent": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/ent/-/ent-2.2.0.tgz", - "integrity": "sha1-6WQhkyWiHQX0RGai9obtbOX13R0=", - "dev": true - }, - "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/env-paths": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", - "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", - "dev": true, + "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==", + "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": ">=6" + "node": "*" } }, - "node_modules/err-code": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", - "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==", - "dev": true + "node_modules/css": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/css/-/css-3.0.0.tgz", + "integrity": "sha512-DG9pFfwOrzc+hawpmqX/dHYHJG+Bsdb0klhyi1sDneOgGOXy9wQIC8hzyVp1e4NRYDBdxcylvywPkkXCHAzTyQ==", + "dev": true, + "dependencies": { + "inherits": "^2.0.4", + "source-map": "^0.6.1", + "source-map-resolve": "^0.6.0" + } }, - "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==", + "node_modules/css-blank-pseudo": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-3.0.3.tgz", + "integrity": "sha512-VS90XWtsHGqoM0t4KpH053c4ehxZ2E6HtGI7x68YFV0pTo/QmkV/YFA+NnlvK8guxZVNWGQhVNJGC39Q8XF4OQ==", "dev": true, "dependencies": { - "prr": "~1.0.1" + "postcss-selector-parser": "^6.0.9" }, "bin": { - "errno": "cli.js" + "css-blank-pseudo": "dist/cli.cjs" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" } }, - "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==", + "node_modules/css-has-pseudo": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/css-has-pseudo/-/css-has-pseudo-3.0.4.tgz", + "integrity": "sha512-Vse0xpR1K9MNlp2j5w1pgWIJtm1a8qS0JwS9goFYcImjlHEmywP9VUF05aGBXzGpDJF86QXk4L0ypBmwPhGArw==", "dev": true, "dependencies": { - "is-arrayish": "^0.2.1" + "postcss-selector-parser": "^6.0.9" + }, + "bin": { + "css-has-pseudo": "dist/cli.cjs" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" } }, - "node_modules/es-abstract": { - "version": "1.18.3", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.3.tgz", - "integrity": "sha512-nQIr12dxV7SSxE6r6f1l3DtAeEYdsGpps13dR0TwJg1S8gyp4ZPgy3FZcHBgbiQqnoqSTb+oC+kO4UQ0C/J8vw==", + "node_modules/css-loader": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.5.1.tgz", + "integrity": "sha512-gEy2w9AnJNnD9Kuo4XAP9VflW/ujKoS9c/syO+uWMlm5igc7LysKzPXaDoR2vroROkSwsTS2tGr1yGGEbZOYZQ==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "get-intrinsic": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.2", - "is-callable": "^1.2.3", - "is-negative-zero": "^2.0.1", - "is-regex": "^1.1.3", - "is-string": "^1.0.6", - "object-inspect": "^1.10.3", - "object-keys": "^1.1.1", - "object.assign": "^4.1.2", - "string.prototype.trimend": "^1.0.4", - "string.prototype.trimstart": "^1.0.4", - "unbox-primitive": "^1.0.1" + "icss-utils": "^5.1.0", + "postcss": "^8.2.15", + "postcss-modules-extract-imports": "^3.0.0", + "postcss-modules-local-by-default": "^4.0.0", + "postcss-modules-scope": "^3.0.0", + "postcss-modules-values": "^4.0.0", + "postcss-value-parser": "^4.1.0", + "semver": "^7.3.5" }, "engines": { - "node": ">= 0.4" + "node": ">= 12.13.0" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" } }, - "node_modules/es-module-lexer": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.4.1.tgz", - "integrity": "sha512-ooYciCUtfw6/d2w56UVeqHPcoCFAiJdz5XOkYpv/Txl1HMUozpXjz/2RIQgqwKdXNDPSF1W7mJCFse3G+HDyAA==", - "dev": true - }, - "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==", + "node_modules/css-prefers-color-scheme": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-6.0.3.tgz", + "integrity": "sha512-4BqMbZksRkJQx2zAjrokiGMd07RqOa2IxIrrN10lyBe9xhn9DEvjUK79J6jkeiv9D9hQFXKb6g1jwU62jziJZA==", "dev": true, - "dependencies": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" + "bin": { + "css-prefers-color-scheme": "dist/cli.cjs" }, "engines": { - "node": ">= 0.4" + "node": "^12 || ^14 || >=16" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "peerDependencies": { + "postcss": "^8.4" } }, - "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/es6-promisify": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", - "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=", + "node_modules/css-select": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz", + "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=", "dev": true, "dependencies": { - "es6-promise": "^4.0.3" + "boolbase": "~1.0.0", + "css-what": "2.1", + "domutils": "1.5.1", + "nth-check": "~1.0.1" } }, - "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/css-what": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.3.tgz", + "integrity": "sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg==", + "dev": true, + "engines": { + "node": "*" } }, - "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=", + "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.8.0" + "node": ">=0.10.0" } }, - "node_modules/eslint": { - "version": "7.30.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.30.0.tgz", - "integrity": "sha512-VLqz80i3as3NdloY44BQSJpFw534L9Oh+6zJOUaViV4JPd+DaHwutqP7tcpkW3YiXbK6s05RZl7yl7cQn+lijg==", + "node_modules/cssdb": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-5.1.0.tgz", + "integrity": "sha512-/vqjXhv1x9eGkE/zO6o8ZOI7dgdZbLVLUGyVRbPgk6YipXbW87YzUCcO+Jrmi5bwJlAH6oD+MNeZyRgXea1GZw==", + "dev": true + }, + "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, - "dependencies": { - "@babel/code-frame": "7.12.11", - "@eslint/eslintrc": "^0.4.2", - "@humanwhocodes/config-array": "^0.5.0", - "ajv": "^6.10.0", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.0.1", - "doctrine": "^3.0.0", - "enquirer": "^2.3.5", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^5.1.1", - "eslint-utils": "^2.1.0", - "eslint-visitor-keys": "^2.0.0", - "espree": "^7.3.1", - "esquery": "^1.4.0", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "functional-red-black-tree": "^1.0.1", - "glob-parent": "^5.1.2", - "globals": "^13.6.0", - "ignore": "^4.0.6", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "js-yaml": "^3.13.1", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.0.4", - "natural-compare": "^1.4.0", - "optionator": "^0.9.1", - "progress": "^2.0.0", - "regexpp": "^3.1.0", - "semver": "^7.2.1", - "strip-ansi": "^6.0.0", - "strip-json-comments": "^3.1.0", - "table": "^6.0.9", - "text-table": "^0.2.0", - "v8-compile-cache": "^2.0.3" - }, "bin": { - "eslint": "bin/eslint.js" + "cssesc": "bin/cssesc" }, "engines": { - "node": "^10.12.0 || >=12.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" + "node": ">=4" } }, - "node_modules/eslint-import-resolver-node": { - "version": "0.3.4", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.4.tgz", - "integrity": "sha512-ogtf+5AB/O+nM6DIeBUNr2fuT7ot9Qg/1harBfBtaP13ekEWFQEEMP94BCB7zaNW3gyY+8SHYF00rnqYwXKWOA==", - "dev": true, - "dependencies": { - "debug": "^2.6.9", - "resolve": "^1.13.1" - } + "node_modules/cuint": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/cuint/-/cuint-0.2.2.tgz", + "integrity": "sha512-d4ZVpCW31eWwCMe1YT3ur7mUDnTXbgwyzaL320DrcRT45rfjYxkt5QWLrmOJ+/UEAI2+fQgKe/fCjR8l4TpRgw==" }, - "node_modules/eslint-import-resolver-node/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, + "node_modules/custom-event": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/custom-event/-/custom-event-1.0.1.tgz", + "integrity": "sha1-XQKkaFCt8bSjF5RqOSj8y1v9BCU=", + "dev": true + }, + "node_modules/d": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", + "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", "dependencies": { - "ms": "2.0.0" + "es5-ext": "^0.10.50", + "type": "^1.0.1" } }, - "node_modules/eslint-import-resolver-node/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/eslint-module-utils": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.6.1.tgz", - "integrity": "sha512-ZXI9B8cxAJIH4nfkhTwcRTEAnrVfobYqwjWy/QMCZ8rHkZHFjf9yO4BzpiF9kCSfNlMG54eKigISHpX0+AaT4A==", + "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": { - "debug": "^3.2.7", - "pkg-dir": "^2.0.0" + "assert-plus": "^1.0.0" }, "engines": { - "node": ">=4" + "node": ">=0.10" } }, - "node_modules/eslint-module-utils/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "node_modules/date-format": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/date-format/-/date-format-3.0.0.tgz", + "integrity": "sha512-eyTcpKOcamdhWJXj56DpQMo1ylSQpcGtGKXcU0Tb97+K56/CF5amAqqqNj0+KvA0iw2ynxtHWFsPDSClCxe48w==", "dev": true, - "dependencies": { - "ms": "^2.1.1" + "engines": { + "node": ">=4.0" } }, - "node_modules/eslint-plugin-import": { - "version": "2.22.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.22.1.tgz", - "integrity": "sha512-8K7JjINHOpH64ozkAhpT3sd+FswIZTfMZTjdx052pnWrgRCVfp8op9tbjpAk3DdUeI/Ba4C8OjdC0r90erHEOw==", + "node_modules/debug": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", + "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", "dev": true, "dependencies": { - "array-includes": "^3.1.1", - "array.prototype.flat": "^1.2.3", - "contains-path": "^0.1.0", - "debug": "^2.6.9", - "doctrine": "1.5.0", - "eslint-import-resolver-node": "^0.3.4", - "eslint-module-utils": "^2.6.0", - "has": "^1.0.3", - "minimatch": "^3.0.4", - "object.values": "^1.1.1", - "read-pkg-up": "^2.0.0", - "resolve": "^1.17.0", - "tsconfig-paths": "^3.9.0" + "ms": "2.1.2" }, "engines": { - "node": ">=4" + "node": ">=6.0" }, - "peerDependencies": { - "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0" + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, - "node_modules/eslint-plugin-import/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "node_modules/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", "dev": true, - "dependencies": { - "ms": "2.0.0" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/eslint-plugin-import/node_modules/doctrine": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz", - "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", + "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": "sha512-hjf+xovcEn31w/EUYdTXQh/8smFL/dzYjohQGEIgjyNavaJfBY2p5F527Bo1VPATxv0VYTUC2bOcXvqFwk78Og==", "dev": true, - "dependencies": { - "esutils": "^2.0.2", - "isarray": "^1.0.0" - }, "engines": { - "node": ">=0.10.0" + "node": ">=0.10" } }, - "node_modules/eslint-plugin-import/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/eslint-plugin-jsdoc": { - "version": "30.7.6", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-30.7.6.tgz", - "integrity": "sha512-w18IOiS/9ahKgRfQOuHbce+EQYx3fwIkZhUZDEK+augNlhJkzgTSZkrBkzaflSbFNZ9/Tk4xzUABEaTbsBSzew==", + "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": { - "comment-parser": "^0.7.6", - "debug": "^4.2.0", - "jsdoctypeparser": "^9.0.0", - "lodash": "^4.17.20", - "regextras": "^0.7.1", - "semver": "^7.3.2", - "spdx-expression-parse": "^3.0.1" - }, - "engines": { - "node": ">=10" + "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" }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/eslint-plugin-prefer-arrow": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-prefer-arrow/-/eslint-plugin-prefer-arrow-1.2.2.tgz", - "integrity": "sha512-C8YMhL+r8RMeMdYAw/rQtE6xNdMulj+zGWud/qIGnlmomiPRaLDGLMeskZ3alN6uMBojmooRimtdrXebLN4svQ==", - "dev": true, - "peerDependencies": { - "eslint": ">=2.0.0" - } + "node_modules/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=", + "dev": true }, - "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==", + "node_modules/default-gateway": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", + "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", "dev": true, "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" + "execa": "^5.0.0" }, "engines": { - "node": ">=8.0.0" + "node": ">= 10" } }, - "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==", + "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": { - "eslint-visitor-keys": "^1.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - } - }, - "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "dev": true, - "engines": { - "node": ">=4" + "clone": "^1.0.2" } }, - "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==", + "node_modules/define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", "dev": true, "engines": { - "node": ">=10" + "node": ">=8" } }, - "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==", + "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": { - "@babel/highlight": "^7.10.4" + "object-keys": "^1.0.12" + }, + "engines": { + "node": ">= 0.4" } }, - "node_modules/eslint/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "node_modules/del": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/del/-/del-2.2.2.tgz", + "integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=", "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" + "globby": "^5.0.0", + "is-path-cwd": "^1.0.0", + "is-path-in-cwd": "^1.0.0", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "rimraf": "^2.2.8" }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/eslint/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==", + "node_modules/del/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": { - "color-convert": "^2.0.1" + "array-uniq": "^1.0.1" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">=0.10.0" } }, - "node_modules/eslint/node_modules/chalk": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", - "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", + "node_modules/del/node_modules/globby": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz", + "integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=", "dev": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "array-union": "^1.0.1", + "arrify": "^1.0.0", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "node": ">=0.10.0" } }, - "node_modules/eslint/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==", + "node_modules/del/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": { - "color-name": "~1.1.4" + "glob": "^7.1.3" }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", "engines": { - "node": ">=7.0.0" + "node": ">=0.4.0" } }, - "node_modules/eslint/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/delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==", "dev": true }, - "node_modules/eslint/node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "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": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 0.6" } }, - "node_modules/eslint/node_modules/globals": { - "version": "13.10.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.10.0.tgz", - "integrity": "sha512-piHC3blgLGFjvOuMmWZX60f+na1lXFDhQXBf1UYp2fXPXqvEUbOhNwi6BsQ0bQishwedgnjkwv1d9zKf+MWw3g==", + "node_modules/dependency-graph": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.11.0.tgz", + "integrity": "sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg==", "dev": true, - "dependencies": { - "type-fest": "^0.20.2" - }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 0.6.0" } }, - "node_modules/eslint/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==", + "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==", + "dependencies": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", "dev": true, "engines": { - "node": ">=8" + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" } }, - "node_modules/eslint/node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "node_modules/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/eslint/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==", + "node_modules/di": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/di/-/di-0.0.1.tgz", + "integrity": "sha1-gGZJMmzqp8qjMG112YXqJ0i6kTw=", + "dev": true + }, + "node_modules/diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, "engines": { - "node": ">=8" + "node": ">=0.3.1" } }, - "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/diffie-hellman": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "dependencies": { + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" } }, - "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==", + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", "dev": true, "dependencies": { - "acorn": "^7.4.0", - "acorn-jsx": "^5.3.1", - "eslint-visitor-keys": "^1.3.0" + "path-type": "^4.0.0" }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": ">=8" } }, - "node_modules/espree/node_modules/eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "node_modules/dns-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", + "integrity": "sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==", + "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, - "engines": { - "node": ">=4" + "dependencies": { + "ip": "^1.1.0", + "safe-buffer": "^5.0.1" } }, - "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==", + "node_modules/dns-txt": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz", + "integrity": "sha512-Ix5PrWjphuSoUXV/Zv5gaFHjnaJtb02F2+Si3Ht9dyJ87+Z/lMmy+dpNHtTGraNK958ndXq2i+GLkWsWHcKaBQ==", "dev": true, - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=4" + "dependencies": { + "buffer-indexof": "^1.0.0" } }, - "node_modules/esquery": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", - "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", + "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": { - "estraverse": "^5.1.0" + "esutils": "^2.0.2" }, "engines": { - "node": ">=0.10" + "node": ">=6.0.0" } }, - "node_modules/esquery/node_modules/estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "node_modules/dom-serialize": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/dom-serialize/-/dom-serialize-2.2.1.tgz", + "integrity": "sha1-ViromZ9Evl6jB29UGdzVnrQ6yVs=", "dev": true, - "engines": { - "node": ">=4.0" + "dependencies": { + "custom-event": "~1.0.0", + "ent": "~2.2.0", + "extend": "^3.0.0", + "void-elements": "^2.0.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==", + "node_modules/dom-serializer": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.1.tgz", + "integrity": "sha512-l0IU0pPzLWSHBcieZbpOKgkIn3ts3vAh7ZuFyXNwJxJXk/c4Gwj9xaTJwIDVQCXawWD0qb3IzMGH5rglQaO0XA==", "dev": true, "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" + "domelementtype": "^1.3.0", + "entities": "^1.1.1" } }, - "node_modules/esrecurse/node_modules/estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "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/domhandler": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz", + "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", "dev": true, - "engines": { - "node": ">=4.0" + "dependencies": { + "domelementtype": "1" } }, - "node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "node_modules/domutils": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", + "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", "dev": true, - "engines": { - "node": ">=4.0" + "dependencies": { + "dom-serializer": "0", + "domelementtype": "1" } }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "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, - "engines": { - "node": ">=0.10.0" + "dependencies": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.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/ed2curve": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/ed2curve/-/ed2curve-0.3.0.tgz", + "integrity": "sha512-8w2fmmq3hv9rCrcI7g9hms2pMunQr1JINfcjwR9tAyZqhtyaMN991lF/ZfHfr5tzZQ8c7y7aBgZbjfbd0fjFwQ==", + "dependencies": { + "tweetnacl": "1.x.x" } }, - "node_modules/eventemitter3": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", - "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", + "node_modules/ed2curve/node_modules/tweetnacl": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-1.0.3.tgz", + "integrity": "sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==" + }, + "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/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/electron-to-chromium": { + "version": "1.4.167", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.167.tgz", + "integrity": "sha512-lPHuHXBwpkr4RcfaZBKm6TKOWG/1N9mVggUpP4fY3l1JIUU2x4fkM8928smYdZ5lF+6KCTAxo1aK9JmqT+X71Q==", + "dev": true }, - "node_modules/eventsource": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-1.1.0.tgz", - "integrity": "sha512-VSJjT5oCNrFvCS6igjzPAt5hBzQ2qPBFIbJ03zLI9SE0mxwZpMw6BfJrbFHm1a141AavMEB8JHmBhWAd66PfCg==", + "node_modules/elementtree": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/elementtree/-/elementtree-0.1.7.tgz", + "integrity": "sha1-mskb5uUvtuYkTE5UpKw+2K6OKcA=", "dev": true, "dependencies": { - "original": "^1.0.0" + "sax": "1.1.4" }, "engines": { - "node": ">=0.12.0" + "node": ">= 0.4.0" } }, - "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, + "node_modules/elementtree/node_modules/sax": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.1.4.tgz", + "integrity": "sha1-dLbTPJrh4AFRDxeakRaFiPGu2qk=", + "dev": true + }, + "node_modules/elliptic": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", + "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", "dependencies": { - "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" + "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/execa/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==", + "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, - "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": ">= 4" } }, - "node_modules/execa/node_modules/path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "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": ">=4" + "node": ">= 0.8" } }, - "node_modules/execa/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/encoding": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", + "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", + "optional": true, + "dependencies": { + "iconv-lite": "^0.6.2" } }, - "node_modules/execa/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, + "node_modules/encoding/node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "optional": true, "dependencies": { - "shebang-regex": "^1.0.0" + "safer-buffer": ">= 2.1.2 < 3.0.0" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/execa/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/execa/node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "node_modules/engine.io": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-4.1.1.tgz", + "integrity": "sha512-t2E9wLlssQjGw0nluF6aYyfX8LwYU8Jj0xct+pAhfWfv/YrBn6TSNtEYsgxHIfaMqfrLx07czcMg9bMN6di+3w==", "dev": true, "dependencies": { - "isexe": "^2.0.0" + "accepts": "~1.3.4", + "base64id": "2.0.0", + "cookie": "~0.4.1", + "cors": "~2.8.5", + "debug": "~4.3.1", + "engine.io-parser": "~4.0.0", + "ws": "~7.4.2" }, - "bin": { - "which": "bin/which" - } - }, - "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": ">=10.0.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=", + "node_modules/engine.io-parser": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-4.0.2.tgz", + "integrity": "sha512-sHfEQv6nmtJrq6TKuIz5kyEKH/qSdK56H/A+7DnAuUPWosnIZAS2NHNcPLmyjtY3cGS/MqJdZbUjW97JU72iYg==", "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" + "base64-arraybuffer": "0.1.4" }, "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": ">=8.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=", + "node_modules/engine.io/node_modules/ws": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz", + "integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==", "dev": true, - "dependencies": { - "is-descriptor": "^0.1.0" - }, "engines": { - "node": ">=0.10.0" + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } } }, - "node_modules/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=", + "node_modules/enhanced-resolve": { + "version": "5.9.3", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.9.3.tgz", + "integrity": "sha512-Bq9VSor+kjvW3f9/MiiR4eE3XYgOl7/rS8lnSxbRbF3kS0B2r+Y9w5krBWxZgDxASVZbdYrn5wT4j/Wb0J9qow==", "dev": true, "dependencies": { - "is-extendable": "^0.1.0" + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=10.13.0" } }, - "node_modules/expand-brackets/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=", + "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": { - "kind-of": "^3.0.2" + "ansi-colors": "^4.1.1" }, "engines": { - "node": ">=0.10.0" + "node": ">=8.6" } }, - "node_modules/expand-brackets/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" - }, + "node_modules/ent": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/ent/-/ent-2.2.0.tgz", + "integrity": "sha1-6WQhkyWiHQX0RGai9obtbOX13R0=", + "dev": true + }, + "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/env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=6" } }, - "node_modules/expand-brackets/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=", + "node_modules/err-code": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", + "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==", + "dev": true + }, + "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, + "optional": true, "dependencies": { - "kind-of": "^3.0.2" + "prr": "~1.0.1" }, - "engines": { - "node": ">=0.10.0" + "bin": { + "errno": "cli.js" } }, - "node_modules/expand-brackets/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=", + "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-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" + "is-arrayish": "^0.2.1" } }, - "node_modules/expand-brackets/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==", + "node_modules/es-abstract": { + "version": "1.18.3", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.3.tgz", + "integrity": "sha512-nQIr12dxV7SSxE6r6f1l3DtAeEYdsGpps13dR0TwJg1S8gyp4ZPgy3FZcHBgbiQqnoqSTb+oC+kO4UQ0C/J8vw==", "dev": true, "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" + "call-bind": "^1.0.2", + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "get-intrinsic": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.2", + "is-callable": "^1.2.3", + "is-negative-zero": "^2.0.1", + "is-regex": "^1.1.3", + "is-string": "^1.0.6", + "object-inspect": "^1.10.3", + "object-keys": "^1.1.1", + "object.assign": "^4.1.2", + "string.prototype.trimend": "^1.0.4", + "string.prototype.trimstart": "^1.0.4", + "unbox-primitive": "^1.0.1" }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/expand-brackets/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=", + "node_modules/es-module-lexer": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz", + "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==", + "dev": true + }, + "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.10.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/expand-brackets/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, + "node_modules/es5-ext": { + "version": "0.10.61", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.61.tgz", + "integrity": "sha512-yFhIqQAzu2Ca2I4SE2Au3rxVfmohU9Y7wqGR+s7+H7krk26NXhIRAZDgqd6xqjCEFUomDEA3/Bo/7fKmIkW1kA==", + "hasInstallScript": true, + "dependencies": { + "es6-iterator": "^2.0.3", + "es6-symbol": "^3.1.3", + "next-tick": "^1.1.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">=0.10" } }, - "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=", + "node_modules/es6-iterator": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", + "integrity": "sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==", + "dependencies": { + "d": "1", + "es5-ext": "^0.10.35", + "es6-symbol": "^3.1.1" + } + }, + "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/express": { - "version": "4.17.1", - "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", - "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", + "node_modules/es6-promisify": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", + "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=", "dev": true, "dependencies": { - "accepts": "~1.3.7", - "array-flatten": "1.1.1", - "body-parser": "1.19.0", - "content-disposition": "0.5.3", - "content-type": "~1.0.4", - "cookie": "0.4.0", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "~1.1.2", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "~1.1.2", - "fresh": "0.5.2", - "merge-descriptors": "1.0.1", - "methods": "~1.1.2", - "on-finished": "~2.3.0", - "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.5", - "qs": "6.7.0", - "range-parser": "~1.2.1", - "safe-buffer": "5.1.2", - "send": "0.17.1", - "serve-static": "1.14.1", - "setprototypeof": "1.1.1", - "statuses": "~1.5.0", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" - }, - "engines": { - "node": ">= 0.10.0" + "es6-promise": "^4.0.3" } }, - "node_modules/express/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/es6-symbol": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz", + "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==", + "dependencies": { + "d": "^1.0.1", + "ext": "^1.1.2" + } }, - "node_modules/express/node_modules/cookie": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", - "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==", + "node_modules/esbuild": { + "version": "0.14.22", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.14.22.tgz", + "integrity": "sha512-CjFCFGgYtbFOPrwZNJf7wsuzesx8kqwAffOlbYcFDLFuUtP8xloK1GH+Ai13Qr0RZQf9tE7LMTHJ2iVGJ1SKZA==", "dev": true, + "hasInstallScript": true, + "optional": true, + "bin": { + "esbuild": "bin/esbuild" + }, "engines": { - "node": ">= 0.6" + "node": ">=12" + }, + "optionalDependencies": { + "esbuild-android-arm64": "0.14.22", + "esbuild-darwin-64": "0.14.22", + "esbuild-darwin-arm64": "0.14.22", + "esbuild-freebsd-64": "0.14.22", + "esbuild-freebsd-arm64": "0.14.22", + "esbuild-linux-32": "0.14.22", + "esbuild-linux-64": "0.14.22", + "esbuild-linux-arm": "0.14.22", + "esbuild-linux-arm64": "0.14.22", + "esbuild-linux-mips64le": "0.14.22", + "esbuild-linux-ppc64le": "0.14.22", + "esbuild-linux-riscv64": "0.14.22", + "esbuild-linux-s390x": "0.14.22", + "esbuild-netbsd-64": "0.14.22", + "esbuild-openbsd-64": "0.14.22", + "esbuild-sunos-64": "0.14.22", + "esbuild-windows-32": "0.14.22", + "esbuild-windows-64": "0.14.22", + "esbuild-windows-arm64": "0.14.22" + } + }, + "node_modules/esbuild-android-arm64": { + "version": "0.14.22", + "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.14.22.tgz", + "integrity": "sha512-k1Uu4uC4UOFgrnTj2zuj75EswFSEBK+H6lT70/DdS4mTAOfs2ECv2I9ZYvr3w0WL0T4YItzJdK7fPNxcPw6YmQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" } }, - "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==", + "node_modules/esbuild-darwin-64": { + "version": "0.14.22", + "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.14.22.tgz", + "integrity": "sha512-d8Ceuo6Vw6HM3fW218FB6jTY6O3r2WNcTAU0SGsBkXZ3k8SDoRLd3Nrc//EqzdgYnzDNMNtrWegK2Qsss4THhw==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "ms": "2.0.0" + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" } }, - "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/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/esbuild-darwin-arm64": { + "version": "0.14.22", + "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.22.tgz", + "integrity": "sha512-YAt9Tj3SkIUkswuzHxkaNlT9+sg0xvzDvE75LlBo4DI++ogSgSmKNR6B4eUhU5EUUepVXcXdRIdqMq9ppeRqfw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } }, - "node_modules/extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "node_modules/esbuild-freebsd-64": { + "version": "0.14.22", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.22.tgz", + "integrity": "sha512-ek1HUv7fkXMy87Qm2G4IRohN+Qux4IcnrDBPZGXNN33KAL0pEJJzdTv0hB/42+DCYWylSrSKxk3KUXfqXOoH4A==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, + "optional": true, + "os": [ + "freebsd" + ], "engines": { - "node": ">=0.10.0" + "node": ">=12" } }, - "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==", + "node_modules/esbuild-freebsd-arm64": { + "version": "0.14.22", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.22.tgz", + "integrity": "sha512-zPh9SzjRvr9FwsouNYTqgqFlsMIW07O8mNXulGeQx6O5ApgGUBZBgtzSlBQXkHi18WjrosYfsvp5nzOKiWzkjQ==", + "cpu": [ + "arm64" + ], "dev": true, - "dependencies": { - "chardet": "^0.7.0", - "iconv-lite": "^0.4.24", - "tmp": "^0.0.33" - }, + "optional": true, + "os": [ + "freebsd" + ], "engines": { - "node": ">=4" + "node": ">=12" } }, - "node_modules/extglob": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "node_modules/esbuild-linux-32": { + "version": "0.14.22", + "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.14.22.tgz", + "integrity": "sha512-SnpveoE4nzjb9t2hqCIzzTWBM0RzcCINDMBB67H6OXIuDa4KqFqaIgmTchNA9pJKOVLVIKd5FYxNiJStli21qg==", + "cpu": [ + "ia32" + ], "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" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=0.10.0" + "node": ">=12" } }, - "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=", + "node_modules/esbuild-linux-64": { + "version": "0.14.22", + "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.14.22.tgz", + "integrity": "sha512-Zcl9Wg7gKhOWWNqAjygyqzB+fJa19glgl2JG7GtuxHyL1uEnWlpSMytTLMqtfbmRykIHdab797IOZeKwk5g0zg==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "is-descriptor": "^1.0.0" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=0.10.0" + "node": ">=12" } }, - "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=", + "node_modules/esbuild-linux-arm": { + "version": "0.14.22", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.14.22.tgz", + "integrity": "sha512-soPDdbpt/C0XvOOK45p4EFt8HbH5g+0uHs5nUKjHVExfgR7du734kEkXR/mE5zmjrlymk5AA79I0VIvj90WZ4g==", + "cpu": [ + "arm" + ], "dev": true, - "dependencies": { - "is-extendable": "^0.1.0" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=0.10.0" + "node": ">=12" } }, - "node_modules/extglob/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=", + "node_modules/esbuild-linux-arm64": { + "version": "0.14.22", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.22.tgz", + "integrity": "sha512-8q/FRBJtV5IHnQChO3LHh/Jf7KLrxJ/RCTGdBvlVZhBde+dk3/qS9fFsUy+rs3dEi49aAsyVitTwlKw1SUFm+A==", + "cpu": [ + "arm64" + ], "dev": true, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=0.10.0" + "node": ">=12" } }, - "node_modules/extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", + "node_modules/esbuild-linux-mips64le": { + "version": "0.14.22", + "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.22.tgz", + "integrity": "sha512-SiNDfuRXhGh1JQLLA9JPprBgPVFOsGuQ0yDfSPTNxztmVJd8W2mX++c4FfLpAwxuJe183mLuKf7qKCHQs5ZnBQ==", + "cpu": [ + "mips64el" + ], "dev": true, - "engines": [ - "node >=0.6.0" - ] + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } }, - "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/esbuild-linux-ppc64le": { + "version": "0.14.22", + "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.22.tgz", + "integrity": "sha512-6t/GI9I+3o1EFm2AyN9+TsjdgWCpg2nwniEhjm2qJWtJyJ5VzTXGUU3alCO3evopu8G0hN2Bu1Jhz2YmZD0kng==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } }, - "node_modules/fast-glob": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz", - "integrity": "sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==", + "node_modules/esbuild-linux-riscv64": { + "version": "0.14.22", + "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.22.tgz", + "integrity": "sha512-AyJHipZKe88sc+tp5layovquw5cvz45QXw5SaDgAq2M911wLHiCvDtf/07oDx8eweCyzYzG5Y39Ih568amMTCQ==", + "cpu": [ + "riscv64" + ], "dev": true, - "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=8" + "node": ">=12" } }, - "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/esbuild-linux-s390x": { + "version": "0.14.22", + "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.22.tgz", + "integrity": "sha512-Sz1NjZewTIXSblQDZWEFZYjOK6p8tV6hrshYdXZ0NHTjWE+lwxpOpWeElUGtEmiPcMT71FiuA9ODplqzzSxkzw==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } }, - "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/esbuild-netbsd-64": { + "version": "0.14.22", + "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.22.tgz", + "integrity": "sha512-TBbCtx+k32xydImsHxvFgsOCuFqCTGIxhzRNbgSL1Z2CKhzxwT92kQMhxort9N/fZM2CkRCPPs5wzQSamtzEHA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } }, - "node_modules/fastq": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.11.1.tgz", - "integrity": "sha512-HOnr8Mc60eNYl1gzwp6r5RoUyAn5/glBolUzP/Ez6IFVPMPirxn/9phgL6zhOtaTy7ISwPvQ+wT+hfcRZh/bzw==", + "node_modules/esbuild-openbsd-64": { + "version": "0.14.22", + "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.22.tgz", + "integrity": "sha512-vK912As725haT313ANZZZN+0EysEEQXWC/+YE4rQvOQzLuxAQc2tjbzlAFREx3C8+uMuZj/q7E5gyVB7TzpcTA==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "reusify": "^1.0.4" + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" } }, - "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==", + "node_modules/esbuild-sunos-64": { + "version": "0.14.22", + "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.14.22.tgz", + "integrity": "sha512-/mbJdXTW7MTcsPhtfDsDyPEOju9EOABvCjeUU2OJ7fWpX/Em/H3WYDa86tzLUbcVg++BScQDzqV/7RYw5XNY0g==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "websocket-driver": ">=0.5.1" + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-wasm": { + "version": "0.14.22", + "resolved": "https://registry.npmjs.org/esbuild-wasm/-/esbuild-wasm-0.14.22.tgz", + "integrity": "sha512-FOSAM29GN1fWusw0oLMv6JYhoheDIh5+atC72TkJKfIUMID6yISlicoQSd9gsNSFsNBvABvtE2jR4JB1j4FkFw==", + "dev": true, + "bin": { + "esbuild": "bin/esbuild" }, "engines": { - "node": ">=0.8.0" + "node": ">=12" } }, - "node_modules/fd-slicer": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", - "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=", + "node_modules/esbuild-windows-32": { + "version": "0.14.22", + "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.14.22.tgz", + "integrity": "sha512-1vRIkuvPTjeSVK3diVrnMLSbkuE36jxA+8zGLUOrT4bb7E/JZvDRhvtbWXWaveUc/7LbhaNFhHNvfPuSw2QOQg==", + "cpu": [ + "ia32" + ], "dev": true, - "dependencies": { - "pend": "~1.2.0" + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" } }, - "node_modules/figures": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", - "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "node_modules/esbuild-windows-64": { + "version": "0.14.22", + "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.14.22.tgz", + "integrity": "sha512-AxjIDcOmx17vr31C5hp20HIwz1MymtMjKqX4qL6whPj0dT9lwxPexmLj6G1CpR3vFhui6m75EnBEe4QL82SYqw==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "escape-string-regexp": "^1.0.5" - }, + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=12" } }, - "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==", + "node_modules/esbuild-windows-arm64": { + "version": "0.14.22", + "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.22.tgz", + "integrity": "sha512-5wvQ+39tHmRhNpu2Fx04l7QfeK3mQ9tKzDqqGR8n/4WUxsFxnVLfDRBGirIfk4AfWlxk60kqirlODPoT5LqMUg==", + "cpu": [ + "arm64" + ], "dev": true, - "dependencies": { - "flat-cache": "^3.0.4" - }, + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": ">=12" } }, - "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==", + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", "dev": true, - "optional": true + "engines": { + "node": ">=6" + } }, - "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==", + "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, - "dependencies": { - "to-regex-range": "^5.0.1" - }, "engines": { - "node": ">=8" + "node": ">=0.8.0" } }, - "node_modules/finalhandler": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", - "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "node_modules/eslint": { + "version": "7.30.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.30.0.tgz", + "integrity": "sha512-VLqz80i3as3NdloY44BQSJpFw534L9Oh+6zJOUaViV4JPd+DaHwutqP7tcpkW3YiXbK6s05RZl7yl7cQn+lijg==", "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" + "@babel/code-frame": "7.12.11", + "@eslint/eslintrc": "^0.4.2", + "@humanwhocodes/config-array": "^0.5.0", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "enquirer": "^2.3.5", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^5.1.1", + "eslint-utils": "^2.1.0", + "eslint-visitor-keys": "^2.0.0", + "espree": "^7.3.1", + "esquery": "^1.4.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^5.1.2", + "globals": "^13.6.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "js-yaml": "^3.13.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.0.4", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "progress": "^2.0.0", + "regexpp": "^3.1.0", + "semver": "^7.2.1", + "strip-ansi": "^6.0.0", + "strip-json-comments": "^3.1.0", + "table": "^6.0.9", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + }, + "bin": { + "eslint": "bin/eslint.js" }, "engines": { - "node": ">= 0.8" + "node": "^10.12.0 || >=12.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/finalhandler/node_modules/debug": { + "node_modules/eslint-import-resolver-node": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.4.tgz", + "integrity": "sha512-ogtf+5AB/O+nM6DIeBUNr2fuT7ot9Qg/1harBfBtaP13ekEWFQEEMP94BCB7zaNW3gyY+8SHYF00rnqYwXKWOA==", + "dev": true, + "dependencies": { + "debug": "^2.6.9", + "resolve": "^1.13.1" + } + }, + "node_modules/eslint-import-resolver-node/node_modules/debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", @@ -7976,1458 +8548,1392 @@ "ms": "2.0.0" } }, - "node_modules/finalhandler/node_modules/ms": { + "node_modules/eslint-import-resolver-node/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-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==", + "node_modules/eslint-module-utils": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.6.1.tgz", + "integrity": "sha512-ZXI9B8cxAJIH4nfkhTwcRTEAnrVfobYqwjWy/QMCZ8rHkZHFjf9yO4BzpiF9kCSfNlMG54eKigISHpX0+AaT4A==", "dev": true, "dependencies": { - "commondir": "^1.0.1", - "make-dir": "^3.0.2", - "pkg-dir": "^4.1.0" + "debug": "^3.2.7", + "pkg-dir": "^2.0.0" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/avajs/find-cache-dir?sponsor=1" + "node": ">=4" } }, - "node_modules/find-cache-dir/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==", + "node_modules/eslint-module-utils/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": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" + "ms": "^2.1.1" } }, - "node_modules/find-cache-dir/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==", + "node_modules/eslint-plugin-import": { + "version": "2.22.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.22.1.tgz", + "integrity": "sha512-8K7JjINHOpH64ozkAhpT3sd+FswIZTfMZTjdx052pnWrgRCVfp8op9tbjpAk3DdUeI/Ba4C8OjdC0r90erHEOw==", "dev": true, "dependencies": { - "p-locate": "^4.1.0" + "array-includes": "^3.1.1", + "array.prototype.flat": "^1.2.3", + "contains-path": "^0.1.0", + "debug": "^2.6.9", + "doctrine": "1.5.0", + "eslint-import-resolver-node": "^0.3.4", + "eslint-module-utils": "^2.6.0", + "has": "^1.0.3", + "minimatch": "^3.0.4", + "object.values": "^1.1.1", + "read-pkg-up": "^2.0.0", + "resolve": "^1.17.0", + "tsconfig-paths": "^3.9.0" }, "engines": { - "node": ">=8" + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0" } }, - "node_modules/find-cache-dir/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==", + "node_modules/eslint-plugin-import/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": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "ms": "2.0.0" } }, - "node_modules/find-cache-dir/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==", + "node_modules/eslint-plugin-import/node_modules/doctrine": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz", + "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", "dev": true, "dependencies": { - "p-limit": "^2.2.0" + "esutils": "^2.0.2", + "isarray": "^1.0.0" }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/find-cache-dir/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/eslint-plugin-import/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-cache-dir/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==", + "node_modules/eslint-plugin-jsdoc": { + "version": "30.7.6", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-30.7.6.tgz", + "integrity": "sha512-w18IOiS/9ahKgRfQOuHbce+EQYx3fwIkZhUZDEK+augNlhJkzgTSZkrBkzaflSbFNZ9/Tk4xzUABEaTbsBSzew==", "dev": true, "dependencies": { - "find-up": "^4.0.0" + "comment-parser": "^0.7.6", + "debug": "^4.2.0", + "jsdoctypeparser": "^9.0.0", + "lodash": "^4.17.20", + "regextras": "^0.7.1", + "semver": "^7.3.2", + "spdx-expression-parse": "^3.0.1" }, "engines": { - "node": ">=8" + "node": ">=10" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0" } }, - "node_modules/find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "node_modules/eslint-plugin-prefer-arrow": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-prefer-arrow/-/eslint-plugin-prefer-arrow-1.2.2.tgz", + "integrity": "sha512-C8YMhL+r8RMeMdYAw/rQtE6xNdMulj+zGWud/qIGnlmomiPRaLDGLMeskZ3alN6uMBojmooRimtdrXebLN4svQ==", + "dev": true, + "peerDependencies": { + "eslint": ">=2.0.0" + } + }, + "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": { - "locate-path": "^2.0.0" + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" }, "engines": { - "node": ">=4" + "node": ">=8.0.0" } }, - "node_modules/flat-cache": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "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": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" + "eslint-visitor-keys": "^1.1.0" }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" } }, - "node_modules/flatted": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.1.tgz", - "integrity": "sha512-OMQjaErSFHmHqZe+PSidH5n8j3O0F2DdnVh8JB4j4eUQ2k6KvB0qGfrKIhapvez5JerBbmWkaLYUYWISaESoXg==", - "dev": true - }, - "node_modules/flatten": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/flatten/-/flatten-1.0.3.tgz", - "integrity": "sha512-dVsPA/UwQ8+2uoFe5GHtiBMu48dWLTdsuEd7CKGlZlD78r1TTWBvDuFaFGKCo/ZfEr95Uk56vZoX86OsHkUeIg==", - "dev": true - }, - "node_modules/follow-redirects": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.1.tgz", - "integrity": "sha512-HWqDgT7ZEkqRzBvc2s64vSZ/hfOceEol3ac/7tKwzuvEyWx3/4UegXh5oBOIotkGsObyk3xznnSRVADBgWSQVg==", + "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/RubenVerborgh" - } - ], "engines": { - "node": ">=4.0" - }, - "peerDependenciesMeta": { - "debug": { - "optional": true - } + "node": ">=4" } }, - "node_modules/for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "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": ">=0.10.0" + "node": ">=10" } }, - "node_modules/forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "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, - "engines": { - "node": "*" + "dependencies": { + "@babel/highlight": "^7.10.4" } }, - "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==", + "node_modules/eslint/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": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" }, - "engines": { - "node": ">= 0.12" + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/forwarded": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", - "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "node_modules/eslint/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, "engines": { - "node": ">= 0.6" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "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=", + "node_modules/eslint/node_modules/chalk": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", + "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", "dev": true, "dependencies": { - "map-cache": "^0.2.2" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", + "node_modules/eslint/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, "engines": { - "node": ">= 0.6" + "node": ">=7.0.0" } }, - "node_modules/fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "node_modules/eslint/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/eslint/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "dev": true, - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - }, "engines": { - "node": ">=6 <7 || >=8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "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==", + "node_modules/eslint/node_modules/globals": { + "version": "13.10.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.10.0.tgz", + "integrity": "sha512-piHC3blgLGFjvOuMmWZX60f+na1lXFDhQXBf1UYp2fXPXqvEUbOhNwi6BsQ0bQishwedgnjkwv1d9zKf+MWw3g==", "dev": true, "dependencies": { - "minipass": "^3.0.0" + "type-fest": "^0.20.2" }, "engines": { - "node": ">= 8" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/fs-monkey": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.3.tgz", - "integrity": "sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q==", - "dev": true - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true - }, - "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "node_modules/eslint/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + "node": ">=8" } }, - "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=", + "node_modules/eslint/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/gauge": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", - "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", + "node_modules/eslint/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "dependencies": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/gauge/node_modules/ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "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": ">=0.10.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/gauge/node_modules/is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "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": { - "number-is-nan": "^1.0.0" + "acorn": "^7.4.0", + "acorn-jsx": "^5.3.1", + "eslint-visitor-keys": "^1.3.0" }, "engines": { - "node": ">=0.10.0" + "node": "^10.12.0 || >=12.0.0" } }, - "node_modules/gauge/node_modules/string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "node_modules/espree/node_modules/eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", "dev": true, - "dependencies": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - }, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "node_modules/gauge/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=", + "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, - "dependencies": { - "ansi-regex": "^2.0.0" + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" }, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "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==", + "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": ">=6.9.0" + "node": ">=0.10" } }, - "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==", + "node_modules/esquery/node_modules/estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", "dev": true, "engines": { - "node": "6.* || 8.* || >= 10.*" + "node": ">=4.0" } }, - "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==", + "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": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1" + "estraverse": "^5.2.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=4.0" } }, - "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==", + "node_modules/esrecurse/node_modules/estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", "dev": true, - "dependencies": { - "pump": "^3.0.0" - }, "engines": { - "node": ">=6" + "node": ">=4.0" } }, - "node_modules/get-value": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", + "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/getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/eventemitter-asyncresource": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/eventemitter-asyncresource/-/eventemitter-asyncresource-1.0.0.tgz", + "integrity": "sha512-39F7TBIV0G7gTelxwbEqnwhp90eqCPON1k0NwNfwhgKn4Co4ybUbj2pECcXT0B3ztRKZ7Pw1JujUUgmQJHcVAQ==", + "dev": true + }, + "node_modules/eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" + }, + "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/evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", "dependencies": { - "assert-plus": "^1.0.0" + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" } }, - "node_modules/glob": { - "version": "7.1.7", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", - "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", + "node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", "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" + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" }, "engines": { - "node": "*" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, - "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==", + "node_modules/exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", "dev": true, - "dependencies": { - "is-glob": "^4.0.1" - }, "engines": { - "node": ">= 6" + "node": ">= 0.8.0" } }, - "node_modules/glob-to-regexp": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", - "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", - "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": "11.0.4", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.4.tgz", - "integrity": "sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==", + "node_modules/express": { + "version": "4.18.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.18.1.tgz", + "integrity": "sha512-zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q==", "dev": true, "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.1.1", - "ignore": "^5.1.4", - "merge2": "^1.3.0", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=10" + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.0", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.5.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.2.0", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.7", + "qs": "6.10.3", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.18.0", + "serve-static": "1.15.0", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/globby/node_modules/ignore": { - "version": "5.1.8", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", - "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", - "dev": true, "engines": { - "node": ">= 4" + "node": ">= 0.10.0" } }, - "node_modules/graceful-fs": { - "version": "4.2.6", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz", - "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==", - "dev": true - }, - "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==", + "node_modules/express/node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", "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=", + "node_modules/express/node_modules/cookie": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", "dev": true, "engines": { - "node": ">=4" + "node": ">= 0.6" } }, - "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", + "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": { - "ajv": "^6.12.3", - "har-schema": "^2.0.0" - }, - "engines": { - "node": ">=6" + "ms": "2.0.0" } }, - "node_modules/har-validator/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "node_modules/express/node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", "dev": true, - "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" + "engines": { + "node": ">= 0.8" } }, - "node_modules/har-validator/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/has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "node_modules/express/node_modules/finalhandler": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", "dev": true, "dependencies": { - "function-bind": "^1.1.1" + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" }, "engines": { - "node": ">= 0.4.0" + "node": ">= 0.8" } }, - "node_modules/has-ansi": { + "node_modules/express/node_modules/ms": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/express/node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", "dev": true, "dependencies": { - "ansi-regex": "^2.0.0" + "ee-first": "1.1.1" }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.8" } }, - "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=", + "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" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/express/node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">= 0.8" } }, - "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/ext": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/ext/-/ext-1.6.0.tgz", + "integrity": "sha512-sdBImtzkq2HpkdRLtlLWDa6w4DX22ijZLKx8BMPUuKe1c5lbN6xwQDQCxSfxBQnHZ13ls/FH0MQZx/q/gr6FQg==", + "dependencies": { + "type": "^2.5.0" } }, - "node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "node_modules/ext/node_modules/type": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/type/-/type-2.6.0.tgz", + "integrity": "sha512-eiDBDOmkih5pMbo9OqsqPRGMljLodLcwd5XD5JbtNB0o89xZAwynY9EdCDsJU7LtcVCClu9DvM7/0Ep1hYX3EQ==" + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, + "node_modules/external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", "dev": true, + "dependencies": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + }, "engines": { "node": ">=4" } }, - "node_modules/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==", + "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.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "engines": [ + "node >=0.6.0" + ] }, - "node_modules/has-unicode": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", + "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/has-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", - "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "node_modules/fast-glob": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz", + "integrity": "sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==", "dev": true, "dependencies": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "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=", + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "dev": true + }, + "node_modules/fastq": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.11.1.tgz", + "integrity": "sha512-HOnr8Mc60eNYl1gzwp6r5RoUyAn5/glBolUzP/Ez6IFVPMPirxn/9phgL6zhOtaTy7ISwPvQ+wT+hfcRZh/bzw==", "dev": true, "dependencies": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" - }, - "engines": { - "node": ">=0.10.0" + "reusify": "^1.0.4" } }, - "node_modules/has-values/node_modules/is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "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": { - "kind-of": "^3.0.2" + "websocket-driver": ">=0.5.1" }, "engines": { - "node": ">=0.10.0" + "node": ">=0.8.0" } }, - "node_modules/has-values/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, + "node_modules/fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=", + "dev": true, "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" + "pend": "~1.2.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=", + "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": { - "is-buffer": "^1.1.5" + "escape-string-regexp": "^1.0.5" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "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/hosted-git-info": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz", - "integrity": "sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==", + "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": { - "lru-cache": "^6.0.0" + "flat-cache": "^3.0.4" }, "engines": { - "node": ">=10" + "node": "^10.12.0 || >=12.0.0" } }, - "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=", + "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": { - "inherits": "^2.0.1", - "obuf": "^1.0.0", - "readable-stream": "^2.0.1", - "wbuf": "^1.1.0" + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" } }, - "node_modules/hpack.js/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==", + "node_modules/finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", "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" + "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/hpack.js/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==", + "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": { - "safe-buffer": "~5.1.0" + "ms": "2.0.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-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==", + "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/htmlparser2": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz", - "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==", + "node_modules/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==", "dev": true, "dependencies": { - "domelementtype": "^1.3.1", - "domhandler": "^2.3.0", - "domutils": "^1.5.1", - "entities": "^1.1.1", - "inherits": "^2.0.1", - "readable-stream": "^3.1.1" + "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/http-cache-semantics": { + "node_modules/find-cache-dir/node_modules/find-up": { "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.7.2", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", - "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, "dependencies": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.1", - "statuses": ">= 1.5.0 < 2", - "toidentifier": "1.0.0" + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" }, "engines": { - "node": ">= 0.6" + "node": ">=8" } }, - "node_modules/http-errors/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/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==", - "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==", + "node_modules/find-cache-dir/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": { - "eventemitter3": "^4.0.0", - "follow-redirects": "^1.0.0", - "requires-port": "^1.0.0" + "p-locate": "^4.1.0" }, "engines": { - "node": ">=8.0.0" + "node": ">=8" } }, - "node_modules/http-proxy-agent": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", - "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", + "node_modules/find-cache-dir/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": { - "@tootallnate/once": "1", - "agent-base": "6", - "debug": "4" + "p-try": "^2.0.0" }, "engines": { - "node": ">= 6" + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "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==", + "node_modules/find-cache-dir/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": { - "http-proxy": "^1.17.0", - "is-glob": "^4.0.0", - "lodash": "^4.17.11", - "micromatch": "^3.1.10" + "p-limit": "^2.2.0" }, "engines": { - "node": ">=4.0.0" + "node": ">=8" } }, - "node_modules/http-proxy-middleware/node_modules/braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "node_modules/find-cache-dir/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, - "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": ">=8" } }, - "node_modules/http-proxy-middleware/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=", + "node_modules/find-cache-dir/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": { - "is-extendable": "^0.1.0" + "find-up": "^4.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/http-proxy-middleware/node_modules/fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "node_modules/find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", "dev": true, "dependencies": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" + "locate-path": "^2.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "node_modules/http-proxy-middleware/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=", + "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": { - "is-extendable": "^0.1.0" + "flatted": "^3.1.0", + "rimraf": "^3.0.2" }, "engines": { - "node": ">=0.10.0" + "node": "^10.12.0 || >=12.0.0" } }, - "node_modules/http-proxy-middleware/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=", + "node_modules/flatted": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.1.tgz", + "integrity": "sha512-OMQjaErSFHmHqZe+PSidH5n8j3O0F2DdnVh8JB4j4eUQ2k6KvB0qGfrKIhapvez5JerBbmWkaLYUYWISaESoXg==", + "dev": true + }, + "node_modules/follow-redirects": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.1.tgz", + "integrity": "sha512-HWqDgT7ZEkqRzBvc2s64vSZ/hfOceEol3ac/7tKwzuvEyWx3/4UegXh5oBOIotkGsObyk3xznnSRVADBgWSQVg==", "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], "engines": { - "node": ">=0.10.0" + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } } }, - "node_modules/http-proxy-middleware/node_modules/is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "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, - "dependencies": { - "kind-of": "^3.0.2" - }, "engines": { - "node": ">=0.10.0" + "node": "*" } }, - "node_modules/http-proxy-middleware/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=", + "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": { - "is-buffer": "^1.1.5" + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.12" } }, - "node_modules/http-proxy-middleware/node_modules/micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", "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": ">= 0.6" } }, - "node_modules/http-proxy-middleware/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=", + "node_modules/fraction.js": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz", + "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==", "dev": true, - "dependencies": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - }, "engines": { - "node": ">=0.10.0" + "node": "*" + }, + "funding": { + "type": "patreon", + "url": "https://www.patreon.com/infusion" } }, - "node_modules/http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", "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": ">= 0.6" } }, - "node_modules/https-proxy-agent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", - "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==", + "node_modules/fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", "dev": true, "dependencies": { - "agent-base": "6", - "debug": "4" + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" }, "engines": { - "node": ">= 6" - } - }, - "node_modules/humanize-ms": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", - "integrity": "sha1-xG4xWaKT9riW2ikxbYtv6Lt5u+0=", - "dev": true, - "dependencies": { - "ms": "^2.0.0" + "node": ">=6 <7 || >=8" } }, - "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==", + "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": { - "safer-buffer": ">= 2.1.2 < 3" + "minipass": "^3.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">= 8" } }, - "node_modules/icss-utils": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", - "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", + "node_modules/fs-monkey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.3.tgz", + "integrity": "sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q==", + "dev": true + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, - "node_modules/ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] + "node_modules/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/ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "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/functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", "dev": true, - "engines": { - "node": ">= 4" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/ignore-walk": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.4.tgz", - "integrity": "sha512-PY6Ii8o1jMRA1z4F2hRkH/xN59ox43DavKvD3oDpfurRlOJyAHpifIwpbdv1n4jt4ov0jSpw3kQ4GhJnpBL6WQ==", + "node_modules/gauge": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", + "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", "dev": true, "dependencies": { - "minimatch": "^3.0.4" + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.3", + "console-control-strings": "^1.1.0", + "has-unicode": "^2.0.1", + "signal-exit": "^3.0.7", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.5" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/image-size": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz", - "integrity": "sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w=", + "node_modules/gauge/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, - "optional": true, - "bin": { - "image-size": "bin/image-size.js" - }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/immediate": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", - "integrity": "sha1-nbHb0Pr43m++D13V5Wu2BigN5ps=", - "dev": true - }, - "node_modules/import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "node_modules/gauge/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": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" + "ansi-regex": "^5.0.1" }, "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, - "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==", + "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, - "dependencies": { - "pkg-dir": "^3.0.0", - "resolve-cwd": "^2.0.0" - }, - "bin": { - "import-local-fixture": "fixtures/cli.js" - }, "engines": { - "node": ">=6" + "node": ">=6.9.0" } }, - "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==", + "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, - "dependencies": { - "locate-path": "^3.0.0" - }, "engines": { - "node": ">=6" + "node": "6.* || 8.* || >= 10.*" } }, - "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==", + "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": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1" }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "dev": true, "engines": { - "node": ">=6" + "node": ">=8.0.0" } }, - "node_modules/import-local/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==", + "node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", "dev": true, - "dependencies": { - "p-try": "^2.0.0" - }, "engines": { - "node": ">=6" + "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "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==", + "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": { - "p-limit": "^2.0.0" - }, - "engines": { - "node": ">=6" + "assert-plus": "^1.0.0" } }, - "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==", + "node_modules/glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", "dev": true, "dependencies": { - "find-up": "^3.0.0" + "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": ">=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": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "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=", + "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": { - "once": "^1.3.0", - "wrappy": "1" + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" } }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "node_modules/glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", "dev": true }, - "node_modules/ini": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", - "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/inquirer": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.0.0.tgz", - "integrity": "sha512-ON8pEJPPCdyjxj+cxsYRe6XfCJepTxANdNnTebsTuQgXpRyZRRT9t4dJwjRubgmvn20CLSEnozRUayXyM9VTXA==", + "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, - "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.21", - "mute-stream": "0.0.8", - "run-async": "^2.4.0", - "rxjs": "^6.6.6", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0", - "through": "^2.3.6" - }, "engines": { - "node": ">=8.0.0" + "node": ">=4" } }, - "node_modules/inquirer/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==", + "node_modules/globby": { + "version": "11.0.4", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.4.tgz", + "integrity": "sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==", "dev": true, "dependencies": { - "color-convert": "^2.0.1" + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.1.1", + "ignore": "^5.1.4", + "merge2": "^1.3.0", + "slash": "^3.0.0" }, "engines": { - "node": ">=8" + "node": ">=10" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/inquirer/node_modules/chalk": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", - "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", + "node_modules/globby/node_modules/ignore": { + "version": "5.1.8", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", + "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "node": ">= 4" } }, - "node_modules/inquirer/node_modules/color-convert": { + "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/handle-thing": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", + "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==", + "dev": true + }, + "node_modules/handlebars": { + "version": "4.7.7", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz", + "integrity": "sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==", "dev": true, "dependencies": { - "color-name": "~1.1.4" + "minimist": "^1.2.5", + "neo-async": "^2.6.0", + "source-map": "^0.6.1", + "wordwrap": "^1.0.0" + }, + "bin": { + "handlebars": "bin/handlebars" }, "engines": { - "node": ">=7.0.0" + "node": ">=0.4.7" + }, + "optionalDependencies": { + "uglify-js": "^3.1.4" } }, - "node_modules/inquirer/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/inquirer/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==", + "node_modules/handlebars/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/inquirer/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==", + "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, - "dependencies": { - "has-flag": "^4.0.0" - }, "engines": { - "node": ">=8" + "node": ">=4" } }, - "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==", + "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": { - "default-gateway": "^4.2.0", - "ipaddr.js": "^1.9.0" + "ajv": "^6.12.3", + "har-schema": "^2.0.0" }, "engines": { "node": ">=6" } }, - "node_modules/ionicons": { - "version": "5.5.2", - "resolved": "https://registry.npmjs.org/ionicons/-/ionicons-5.5.2.tgz", - "integrity": "sha512-SHVBBtzNVQjY4jtcqKEHkqL5nIQwA/o2MIdU9JtMz8kQAB0NRVJFv5AxwmVbXXKDpxz57SiEjeLp8Uzt7jirpw==", + "node_modules/har-validator/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": { - "@stencil/core": "^2.5.0" + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/ip": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", - "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", + "node_modules/har-validator/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/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==", + "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.10" + "node": ">= 0.4.0" } }, - "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==", + "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": ">=8" + "node": ">=0.10.0" } }, - "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==", + "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, - "dependencies": { - "kind-of": "^6.0.0" - }, "engines": { "node": ">=0.10.0" } }, - "node_modules/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==", + "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, - "dependencies": { - "call-bind": "^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.2", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.2.tgz", - "integrity": "sha512-0JV5+SOCQkIdzjBK9buARcV804Ddu7A0Qet6sHi3FimE9ne6m4BGQZfRn+NZiXbBk4F4XmHfDZIipLj9pX8dSA==", + "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, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=4" } }, - "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==", + "node_modules/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==", "dev": true, - "dependencies": { - "binary-extensions": "^2.0.0" - }, "engines": { - "node": ">=8" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-boolean-object": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.1.tgz", - "integrity": "sha512-bXdQWkECBUIAcCkeH1unwJLIpZYaa5VvuygSyS/c2lf719mTKZDU5UdDRlpd01UjADgmW8RfqaP+mRaVPdr/Ng==", + "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": { - "call-bind": "^1.0.2" + "has-symbols": "^1.0.2" }, "engines": { "node": ">= 0.4" @@ -9436,437 +9942,533 @@ "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==", + "node_modules/has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==", "dev": true }, - "node_modules/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==", - "dev": true, - "engines": { - "node": ">= 0.4" + "node_modules/hash-base": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", + "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", + "dependencies": { + "inherits": "^2.0.4", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=4" } }, - "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, + "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==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", "dependencies": { - "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" + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" } }, - "node_modules/is-color-stop/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=", + "node_modules/hdr-histogram-js": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/hdr-histogram-js/-/hdr-histogram-js-2.0.3.tgz", + "integrity": "sha512-Hkn78wwzWHNCp2uarhzQ2SGFLU3JY8SBDDd3TAABK4fc30wm+MuPOrg5QVFVfkKOQd6Bfz3ukJEI+q9sXEkK1g==", "dev": true, - "engines": { - "node": "*" + "dependencies": { + "@assemblyscript/loader": "^0.10.1", + "base64-js": "^1.2.0", + "pako": "^1.0.3" } }, - "node_modules/is-core-module": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.5.0.tgz", - "integrity": "sha512-TXCMSDsEHMEEZ6eCA8rwRDbLu55MRGmrctljsBX/2v1d9/GzqHOxW5c5oPSgrUt2vBFXebu9rGqckXGPWOlYpg==", - "dev": true, + "node_modules/hdr-histogram-percentiles-obj": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hdr-histogram-percentiles-obj/-/hdr-histogram-percentiles-obj-3.0.0.tgz", + "integrity": "sha512-7kIufnBqdsBGcSZLPJwqHT3yhk1QTsSlFsVD3kx5ixH/AlgBs9yM1q6DPhXZ8f8gtdqgh7N7/5btRLpQsS2gHw==", + "dev": true + }, + "node_modules/hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", "dependencies": { - "has": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" } }, - "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==", + "node_modules/hosted-git-info": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", + "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", "dev": true, "dependencies": { - "kind-of": "^6.0.0" + "lru-cache": "^6.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=10" } }, - "node_modules/is-date-object": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.4.tgz", - "integrity": "sha512-/b4ZVsG7Z5XVtIxs/h9W8nvfLgSAyKYdtGWQLbqy6jA1icmgjf8WCoTKgeS4wy5tYaPePouzFMANbnj94c2Z+A==", + "node_modules/hpack.js": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", + "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==", "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "dependencies": { + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" } }, - "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==", + "node_modules/hpack.js/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": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=0.10.0" + "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/is-docker": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", - "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "node_modules/hpack.js/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, - "bin": { - "is-docker": "cli.js" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "dependencies": { + "safe-buffer": "~5.1.0" } }, - "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==", + "node_modules/html-entities": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.3.3.tgz", + "integrity": "sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA==", + "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/htmlparser2": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz", + "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==", + "dev": true, + "dependencies": { + "domelementtype": "^1.3.1", + "domhandler": "^2.3.0", + "domutils": "^1.5.1", + "entities": "^1.1.1", + "inherits": "^2.0.1", + "readable-stream": "^3.1.1" + } + }, + "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": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==", + "dev": true + }, + "node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", "dev": true, "dependencies": { - "is-plain-object": "^2.0.4" + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.8" } }, - "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=", + "node_modules/http-errors/node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">= 0.8" } }, - "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==", + "node_modules/http-errors/node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", "dev": true, "engines": { - "node": ">=8" + "node": ">= 0.8" } }, - "node_modules/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==", + "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": { - "is-extglob": "^2.1.1" + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=8.0.0" } }, - "node_modules/is-interactive": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", - "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", + "node_modules/http-proxy-agent": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", + "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", "dev": true, + "dependencies": { + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4" + }, "engines": { - "node": ">=8" + "node": ">= 6" } }, - "node_modules/is-lambda": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz", - "integrity": "sha1-PZh3iZ5qU+/AFgUEzeFfgubwYdU=", - "dev": true - }, - "node_modules/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==", + "node_modules/http-proxy-middleware": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz", + "integrity": "sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==", "dev": true, + "dependencies": { + "@types/http-proxy": "^1.17.8", + "http-proxy": "^1.18.1", + "is-glob": "^4.0.1", + "is-plain-obj": "^3.0.0", + "micromatch": "^4.0.2" + }, "engines": { - "node": ">= 0.4" + "node": ">=12.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "peerDependencies": { + "@types/express": "^4.17.13" + }, + "peerDependenciesMeta": { + "@types/express": { + "optional": true + } } }, - "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==", + "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.12.0" + "node": ">=0.8", + "npm": ">=1.3.7" } }, - "node_modules/is-number-object": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.5.tgz", - "integrity": "sha512-RU0lI/n95pMoUKu9v1BZP5MBcZuNSVJkMkAG2dJqC4z2GlkGUNeH68SuHuBKBD/XFe+LHZ+f9BKkLET60Niedw==", + "node_modules/https-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", + "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==", "dev": true, - "engines": { - "node": ">= 0.4" + "dependencies": { + "agent-base": "6", + "debug": "4" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-path-cwd": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz", - "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=", - "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">= 6" } }, - "node_modules/is-path-in-cwd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz", - "integrity": "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==", + "node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", "dev": true, - "dependencies": { - "is-path-inside": "^1.0.0" - }, "engines": { - "node": ">=0.10.0" + "node": ">=10.17.0" } }, - "node_modules/is-path-inside": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz", - "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", + "node_modules/humanize-ms": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", + "integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==", "dev": true, "dependencies": { - "path-is-inside": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" + "ms": "^2.0.0" } }, - "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==", + "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": { - "isobject": "^3.0.1" + "safer-buffer": ">= 2.1.2 < 3" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/is-regex": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.3.tgz", - "integrity": "sha512-qSVXFz28HM7y+IWX6vLCsexdlvzT1PJNFSBuaQLQ5o0IEw8UDYW6/2+eCMVyIsbM8CNLX2a/QWmSpyxYEHY7CQ==", + "node_modules/icss-utils": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", + "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "has-symbols": "^1.0.2" - }, "engines": { - "node": ">= 0.4" + "node": "^10 || ^12 || >= 14" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "peerDependencies": { + "postcss": "^8.1.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/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] }, - "node_modules/is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "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": ">=0.10.0" + "node": ">= 4" } }, - "node_modules/is-string": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.6.tgz", - "integrity": "sha512-2gdzbKUuqtQ3lYNrUTQYoClPhm7oQu4UdpSZMp1/DGgkHBT8E2Z1l0yMdb6D4zNAxwDiMv8MdulKROJGNl0Q0w==", + "node_modules/ignore-walk": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-4.0.1.tgz", + "integrity": "sha512-rzDQLaW4jQbh2YrOFlJdCtX8qgJTehFRYiUB2r1osqTeDzV/3+Jh8fz1oAPzUThf3iku8Ds4IDqawI5d8mUiQw==", "dev": true, - "engines": { - "node": ">= 0.4" + "dependencies": { + "minimatch": "^3.0.4" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=10" } }, - "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==", + "node_modules/image-size": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz", + "integrity": "sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==", "dev": true, - "dependencies": { - "has-symbols": "^1.0.2" + "optional": true, + "bin": { + "image-size": "bin/image-size.js" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=0.10.0" } }, - "node_modules/is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "node_modules/immediate": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", + "integrity": "sha1-nbHb0Pr43m++D13V5Wu2BigN5ps=", "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==", + "node_modules/immutable": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.1.0.tgz", + "integrity": "sha512-oNkuqVTA8jqG1Q6c+UglTOD1xhC1BtjKI7XkCXRkZHrN5m18/XsnUp8Q89GkQO/z+0WjonSvl0FLhDYftp46nQ==", + "dev": true + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", "dev": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, "engines": { - "node": ">=10" + "node": ">=6" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-what": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/is-what/-/is-what-3.14.1.tgz", - "integrity": "sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==", - "dev": true - }, - "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==", + "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.10.0" + "node": ">=0.8.19" } }, - "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==", + "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, - "dependencies": { - "is-docker": "^2.0.0" - }, "engines": { "node": ">=8" } }, - "node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "node_modules/isbinaryfile": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.8.tgz", - "integrity": "sha512-53h6XFniq77YdW+spoRrebh0mnmTxRPTlcuIArO57lmMdq4uBKFKaeTjnb92oYWrSn/LVL+LT+Hap2tFQj8V+w==", - "dev": true, - "engines": { - "node": ">= 8.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/gjtorikian/" - } - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "node_modules/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/isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "dev": true, - "engines": { - "node": ">=0.10.0" + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" } }, - "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/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, - "node_modules/istanbul-lib-coverage": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz", - "integrity": "sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg==", + "node_modules/ini": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", + "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==", "dev": true, "engines": { - "node": ">=8" + "node": ">=10" } }, - "node_modules/istanbul-lib-instrument": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz", - "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==", + "node_modules/inquirer": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.0.tgz", + "integrity": "sha512-0crLweprevJ02tTuA6ThpoAERAGyVILC4sS74uib58Xf/zSr1/ZWtmm7D5CI+bSQEaA04f0K7idaHpQbSWgiVQ==", "dev": true, "dependencies": { - "@babel/core": "^7.7.5", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.0.0", - "semver": "^6.3.0" + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.1", + "cli-cursor": "^3.1.0", + "cli-width": "^3.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.21", + "mute-stream": "0.0.8", + "ora": "^5.4.1", + "run-async": "^2.4.0", + "rxjs": "^7.2.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6" }, "engines": { - "node": ">=8" + "node": ">=8.0.0" } }, - "node_modules/istanbul-lib-instrument/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "node_modules/inquirer/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, - "bin": { - "semver": "bin/semver.js" + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", + "node_modules/inquirer/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "dependencies": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^3.0.0", + "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" }, "engines": { - "node": ">=8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/istanbul-lib-report/node_modules/has-flag": { + "node_modules/inquirer/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/inquirer/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/inquirer/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==", @@ -9875,7 +10477,30 @@ "node": ">=8" } }, - "node_modules/istanbul-lib-report/node_modules/supports-color": { + "node_modules/inquirer/node_modules/ora": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", + "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", + "dev": true, + "dependencies": { + "bl": "^4.1.0", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.5.0", + "is-interactive": "^1.0.0", + "is-unicode-supported": "^0.1.0", + "log-symbols": "^4.1.0", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/inquirer/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==", @@ -9887,1149 +10512,977 @@ "node": ">=8" } }, - "node_modules/istanbul-lib-source-maps": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz", - "integrity": "sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg==", - "dev": true, + "node_modules/ionicons": { + "version": "5.5.2", + "resolved": "https://registry.npmjs.org/ionicons/-/ionicons-5.5.2.tgz", + "integrity": "sha512-SHVBBtzNVQjY4jtcqKEHkqL5nIQwA/o2MIdU9JtMz8kQAB0NRVJFv5AxwmVbXXKDpxz57SiEjeLp8Uzt7jirpw==", "dependencies": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" - }, + "@stencil/core": "^2.5.0" + } + }, + "node_modules/ip": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.8.tgz", + "integrity": "sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg==", + "dev": true + }, + "node_modules/ip-regex": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-4.3.0.tgz", + "integrity": "sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q==", "engines": { "node": ">=8" } }, - "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==", + "node_modules/ipaddr.js": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.0.1.tgz", + "integrity": "sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng==", "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">= 10" } }, - "node_modules/istanbul-reports": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.0.2.tgz", - "integrity": "sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw==", + "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": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" }, "engines": { - "node": ">=8" - } - }, - "node_modules/jasmine": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/jasmine/-/jasmine-2.8.0.tgz", - "integrity": "sha1-awicChFXax8W3xG4AUbZHU6Lij4=", - "dev": true, - "dependencies": { - "exit": "^0.1.2", - "glob": "^7.0.6", - "jasmine-core": "~2.8.0" + "node": ">= 0.4" }, - "bin": { - "jasmine": "bin/jasmine.js" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jasmine-core": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-3.8.0.tgz", - "integrity": "sha512-zl0nZWDrmbCiKns0NcjkFGYkVTGCPUgoHypTaj+G2AzaWus7QGoXARSlYsSle2VRpSdfJmM+hzmFKzQNhF2kHg==", + "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/jasmine-spec-reporter": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/jasmine-spec-reporter/-/jasmine-spec-reporter-5.0.2.tgz", - "integrity": "sha512-6gP1LbVgJ+d7PKksQBc2H0oDGNRQI3gKUsWlswKaQ2fif9X5gzhQcgM5+kiJGCQVurOG09jqNhk7payggyp5+g==", + "node_modules/is-bigint": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.2.tgz", + "integrity": "sha512-0JV5+SOCQkIdzjBK9buARcV804Ddu7A0Qet6sHi3FimE9ne6m4BGQZfRn+NZiXbBk4F4XmHfDZIipLj9pX8dSA==", "dev": true, - "dependencies": { - "colors": "1.4.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jasmine/node_modules/jasmine-core": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-2.8.0.tgz", - "integrity": "sha1-vMl5rh+f0FcB5F5S5l06XWPxok4=", - "dev": true - }, - "node_modules/jasminewd2": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/jasminewd2/-/jasminewd2-2.2.0.tgz", - "integrity": "sha1-43zwsX8ZnM4jvqcbIDk5Uka07E4=", + "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": ">= 6.9.x" + "node": ">=8" } }, - "node_modules/jest-worker": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", - "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", + "node_modules/is-boolean-object": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.1.tgz", + "integrity": "sha512-bXdQWkECBUIAcCkeH1unwJLIpZYaa5VvuygSyS/c2lf719mTKZDU5UdDRlpd01UjADgmW8RfqaP+mRaVPdr/Ng==", "dev": true, "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^7.0.0" + "call-bind": "^1.0.2" }, "engines": { - "node": ">= 10.13.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jest-worker/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==", + "node_modules/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==", "dev": true, "engines": { - "node": ">=8" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jest-worker/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==", + "node_modules/is-core-module": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz", + "integrity": "sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==", "dev": true, "dependencies": { - "has-flag": "^4.0.0" + "has": "^1.0.3" }, - "engines": { - "node": ">=8" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "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==", + "node_modules/is-date-object": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.4.tgz", + "integrity": "sha512-/b4ZVsG7Z5XVtIxs/h9W8nvfLgSAyKYdtGWQLbqy6jA1icmgjf8WCoTKgeS4wy5tYaPePouzFMANbnj94c2Z+A==", "dev": true, - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" + "engines": { + "node": ">= 0.4" }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "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/jsdoctypeparser": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/jsdoctypeparser/-/jsdoctypeparser-9.0.0.tgz", - "integrity": "sha512-jrTA2jJIL6/DAEILBEh2/w9QxCuwmvNXIry39Ay/HVfhE3o2yVV0U44blYkqdHA/OKloJEqvJy0xU+GSdE2SIw==", + "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": { - "jsdoctypeparser": "bin/jsdoctypeparser" + "is-docker": "cli.js" }, "engines": { - "node": ">=10" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "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, - "bin": { - "jsesc": "bin/jsesc" - }, "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "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.2.3", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", - "dev": true - }, - "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/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/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 + "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/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==", + "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": { - "minimist": "^1.2.5" - }, - "bin": { - "json5": "lib/cli.js" + "is-extglob": "^2.1.1" }, "engines": { - "node": ">=6" + "node": ">=0.10.0" } }, - "node_modules/jsonc-parser": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.0.0.tgz", - "integrity": "sha512-fQzRfAbIBnR0IQvftw9FJveWiHp72Fg20giDrHz6TdfB12UH/uue0D3hm57UB5KgAVuniLMCaS8P1IMj9NR7cA==", - "dev": true - }, - "node_modules/jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "node_modules/is-interactive": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", + "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", "dev": true, - "optionalDependencies": { - "graceful-fs": "^4.1.6" + "engines": { + "node": ">=8" } }, - "node_modules/jsonparse": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", - "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=", - "dev": true, - "engines": [ - "node >= 0.2.0" - ] + "node_modules/is-lambda": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz", + "integrity": "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==", + "dev": true }, - "node_modules/jsprim": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", - "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "node_modules/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==", "dev": true, - "engines": [ - "node >=0.6.0" - ], - "dependencies": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.2.3", - "verror": "1.10.0" + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jszip": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.6.0.tgz", - "integrity": "sha512-jgnQoG9LKnWO3mnVNBnfhkh0QknICd1FGSrXcgrl67zioyJ4wgx25o9ZqwNtrROSflGBCGYnJfjrIyRIby1OoQ==", + "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, - "dependencies": { - "lie": "~3.3.0", - "pako": "~1.0.2", - "readable-stream": "~2.3.6", - "set-immediate-shim": "~1.0.1" + "engines": { + "node": ">=0.12.0" } }, - "node_modules/jszip/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==", + "node_modules/is-number-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.5.tgz", + "integrity": "sha512-RU0lI/n95pMoUKu9v1BZP5MBcZuNSVJkMkAG2dJqC4z2GlkGUNeH68SuHuBKBD/XFe+LHZ+f9BKkLET60Niedw==", "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" + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jszip/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==", + "node_modules/is-path-cwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz", + "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=", "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/karma": { - "version": "6.3.4", - "resolved": "https://registry.npmjs.org/karma/-/karma-6.3.4.tgz", - "integrity": "sha512-hbhRogUYIulfkBTZT7xoPrCYhRBnBoqbbL4fszWD0ReFGUxU+LYBr3dwKdAluaDQ/ynT9/7C+Lf7pPNW4gSx4Q==", + "node_modules/is-path-in-cwd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz", + "integrity": "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==", "dev": true, "dependencies": { - "body-parser": "^1.19.0", - "braces": "^3.0.2", - "chokidar": "^3.5.1", - "colors": "^1.4.0", - "connect": "^3.7.0", - "di": "^0.0.1", - "dom-serialize": "^2.2.1", - "glob": "^7.1.7", - "graceful-fs": "^4.2.6", - "http-proxy": "^1.18.1", - "isbinaryfile": "^4.0.8", - "lodash": "^4.17.21", - "log4js": "^6.3.0", - "mime": "^2.5.2", - "minimatch": "^3.0.4", - "qjobs": "^1.2.0", - "range-parser": "^1.2.1", - "rimraf": "^3.0.2", - "socket.io": "^3.1.0", - "source-map": "^0.6.1", - "tmp": "^0.2.1", - "ua-parser-js": "^0.7.28", - "yargs": "^16.1.1" - }, - "bin": { - "karma": "bin/karma" + "is-path-inside": "^1.0.0" }, "engines": { - "node": ">= 10" + "node": ">=0.10.0" } }, - "node_modules/karma-chrome-launcher": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-3.1.0.tgz", - "integrity": "sha512-3dPs/n7vgz1rxxtynpzZTvb9y/GIaW8xjAwcIGttLbycqoFtI7yo1NGnQi6oFTherRE+GIhCAHZC4vEqWGhNvg==", + "node_modules/is-path-inside": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz", + "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", "dev": true, "dependencies": { - "which": "^1.2.1" + "path-is-inside": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/karma-chrome-launcher/node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "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, - "dependencies": { - "isexe": "^2.0.0" + "engines": { + "node": ">=10" }, - "bin": { - "which": "bin/which" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/karma-coverage": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/karma-coverage/-/karma-coverage-2.0.3.tgz", - "integrity": "sha512-atDvLQqvPcLxhED0cmXYdsPMCQuh6Asa9FMZW1bhNqlVEhJoB9qyZ2BY1gu7D/rr5GLGb5QzYO4siQskxaWP/g==", + "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": { - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-instrument": "^4.0.1", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.0.0", - "minimatch": "^3.0.4" + "isobject": "^3.0.1" }, "engines": { - "node": ">=10.0.0" + "node": ">=0.10.0" } }, - "node_modules/karma-coverage-istanbul-reporter": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/karma-coverage-istanbul-reporter/-/karma-coverage-istanbul-reporter-3.0.3.tgz", - "integrity": "sha512-wE4VFhG/QZv2Y4CdAYWDbMmcAHeS926ZIji4z+FkB2aF/EposRb6DP6G5ncT/wXhqUfAb/d7kZrNKPonbvsATw==", + "node_modules/is-regex": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.3.tgz", + "integrity": "sha512-qSVXFz28HM7y+IWX6vLCsexdlvzT1PJNFSBuaQLQ5o0IEw8UDYW6/2+eCMVyIsbM8CNLX2a/QWmSpyxYEHY7CQ==", "dev": true, "dependencies": { - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^3.0.6", - "istanbul-reports": "^3.0.2", - "minimatch": "^3.0.4" + "call-bind": "^1.0.2", + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/mattlewis92" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/karma-coverage-istanbul-reporter/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==", + "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, - "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": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/karma-coverage-istanbul-reporter/node_modules/istanbul-lib-source-maps/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==", + "node_modules/is-string": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.6.tgz", + "integrity": "sha512-2gdzbKUuqtQ3lYNrUTQYoClPhm7oQu4UdpSZMp1/DGgkHBT8E2Z1l0yMdb6D4zNAxwDiMv8MdulKROJGNl0Q0w==", "dev": true, "engines": { - "node": ">=6" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/karma-coverage-istanbul-reporter/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==", + "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": { - "pify": "^4.0.1", - "semver": "^5.6.0" + "has-symbols": "^1.0.2" }, "engines": { - "node": ">=6" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/karma-coverage-istanbul-reporter/node_modules/pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "node_modules/is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" + }, + "node_modules/is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", "dev": true, "engines": { - "node": ">=6" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/karma-coverage-istanbul-reporter/node_modules/rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "node_modules/is-what": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/is-what/-/is-what-3.14.1.tgz", + "integrity": "sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==", + "dev": true + }, + "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": { - "glob": "^7.1.3" + "is-docker": "^2.0.0" }, - "bin": { - "rimraf": "bin.js" + "engines": { + "node": ">=8" } }, - "node_modules/karma-coverage-istanbul-reporter/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "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/isbinaryfile": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.8.tgz", + "integrity": "sha512-53h6XFniq77YdW+spoRrebh0mnmTxRPTlcuIArO57lmMdq4uBKFKaeTjnb92oYWrSn/LVL+LT+Hap2tFQj8V+w==", "dev": true, - "bin": { - "semver": "bin/semver" + "engines": { + "node": ">= 8.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/gjtorikian/" } }, - "node_modules/karma-coverage-istanbul-reporter/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==", + "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": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", "dev": true, "engines": { "node": ">=0.10.0" } }, - "node_modules/karma-jasmine": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/karma-jasmine/-/karma-jasmine-4.0.1.tgz", - "integrity": "sha512-h8XDAhTiZjJKzfkoO1laMH+zfNlra+dEQHUAjpn5JV1zCPtOIVWGQjLBrqhnzQa/hrU2XrZwSyBa6XjEBzfXzw==", + "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": "3.2.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", + "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz", + "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==", "dev": true, "dependencies": { - "jasmine-core": "^3.6.0" + "@babel/core": "^7.7.5", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.0.0", + "semver": "^6.3.0" }, "engines": { - "node": ">= 10" - }, - "peerDependencies": { - "karma": "*" + "node": ">=8" } }, - "node_modules/karma-jasmine-html-reporter": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/karma-jasmine-html-reporter/-/karma-jasmine-html-reporter-1.7.0.tgz", - "integrity": "sha512-pzum1TL7j90DTE86eFt48/s12hqwQuiD+e5aXx2Dc9wDEn2LfGq6RoAxEZZjFiN0RDSCOnosEKRZWxbQ+iMpQQ==", + "node_modules/istanbul-lib-instrument/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, - "peerDependencies": { - "jasmine-core": ">=3.8", - "karma": ">=0.9", - "karma-jasmine": ">=1.1" + "bin": { + "semver": "bin/semver.js" } }, - "node_modules/karma-source-map-support": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/karma-source-map-support/-/karma-source-map-support-1.4.0.tgz", - "integrity": "sha512-RsBECncGO17KAoJCYXjv+ckIz+Ii9NCi+9enk+rq6XC81ezYkb4/RHE6CTXdA7IOJqoF3wcaLfVG0CPmE5ca6A==", + "node_modules/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", "dev": true, "dependencies": { - "source-map-support": "^0.5.5" + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^3.0.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/karma/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==", + "node_modules/istanbul-lib-report/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/karma/node_modules/tmp": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", - "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", + "node_modules/istanbul-lib-report/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "dependencies": { - "rimraf": "^3.0.0" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=8.17.0" + "node": ">=8" } }, - "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==", + "node_modules/istanbul-lib-source-maps": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz", + "integrity": "sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg==", "dev": true, + "dependencies": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/kleur": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.4.tgz", - "integrity": "sha512-8QADVssbrFjivHWQU7KkMgptGTl6WAcSdlbBPY4uNF+mWr6DGcKrvY2w4FQJoXch7+fKMjj0dRrL75vk3k23OA==", + "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": ">=6" + "node": ">=0.10.0" } }, - "node_modules/klona": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.4.tgz", - "integrity": "sha512-ZRbnvdg/NxqzC7L9Uyqzf4psi1OM4Cuc+sJAkQPjO6XkQIJTNbfK2Rsmbw8fx1p2mkZdp2FZYo2+LwXYY/uwIA==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/less": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/less/-/less-4.1.1.tgz", - "integrity": "sha512-w09o8tZFPThBscl5d0Ggp3RcrKIouBoQscnOMgFH3n5V3kN/CXGHNfCkRPtxJk6nKryDXaV9aHLK55RXuH4sAw==", + "node_modules/istanbul-reports": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.0.2.tgz", + "integrity": "sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw==", "dev": true, "dependencies": { - "copy-anything": "^2.0.1", - "parse-node-version": "^1.0.1", - "tslib": "^1.10.0" - }, - "bin": { - "lessc": "bin/lessc" + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" }, "engines": { - "node": ">=6" - }, - "optionalDependencies": { - "errno": "^0.1.1", - "graceful-fs": "^4.1.2", - "image-size": "~0.5.0", - "make-dir": "^2.1.0", - "mime": "^1.4.1", - "needle": "^2.5.2", - "source-map": "~0.6.0" + "node": ">=8" } }, - "node_modules/less-loader": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/less-loader/-/less-loader-8.1.1.tgz", - "integrity": "sha512-K93jJU7fi3n6rxVvzp8Cb88Uy9tcQKfHlkoezHwKILXhlNYiRQl4yowLIkQqmBXOH/5I8yoKiYeIf781HGkW9g==", + "node_modules/jasmine": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/jasmine/-/jasmine-2.8.0.tgz", + "integrity": "sha1-awicChFXax8W3xG4AUbZHU6Lij4=", "dev": true, "dependencies": { - "klona": "^2.0.4" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" + "exit": "^0.1.2", + "glob": "^7.0.6", + "jasmine-core": "~2.8.0" }, - "peerDependencies": { - "less": "^3.5.0 || ^4.0.0", - "webpack": "^5.0.0" + "bin": { + "jasmine": "bin/jasmine.js" } }, - "node_modules/less/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==", + "node_modules/jasmine-core": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-3.8.0.tgz", + "integrity": "sha512-zl0nZWDrmbCiKns0NcjkFGYkVTGCPUgoHypTaj+G2AzaWus7QGoXARSlYsSle2VRpSdfJmM+hzmFKzQNhF2kHg==", + "dev": true + }, + "node_modules/jasmine-spec-reporter": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/jasmine-spec-reporter/-/jasmine-spec-reporter-5.0.2.tgz", + "integrity": "sha512-6gP1LbVgJ+d7PKksQBc2H0oDGNRQI3gKUsWlswKaQ2fif9X5gzhQcgM5+kiJGCQVurOG09jqNhk7payggyp5+g==", "dev": true, - "optional": true, "dependencies": { - "pify": "^4.0.1", - "semver": "^5.6.0" - }, - "engines": { - "node": ">=6" + "colors": "1.4.0" } }, - "node_modules/less/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, - "optional": true, - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=4" - } + "node_modules/jasmine/node_modules/jasmine-core": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-2.8.0.tgz", + "integrity": "sha1-vMl5rh+f0FcB5F5S5l06XWPxok4=", + "dev": true }, - "node_modules/less/node_modules/pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "node_modules/jasminewd2": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/jasminewd2/-/jasminewd2-2.2.0.tgz", + "integrity": "sha1-43zwsX8ZnM4jvqcbIDk5Uka07E4=", "dev": true, - "optional": true, "engines": { - "node": ">=6" + "node": ">= 6.9.x" } }, - "node_modules/less/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "node_modules/jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", "dev": true, - "optional": true, - "bin": { - "semver": "bin/semver" + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.0" } }, - "node_modules/less/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==", + "node_modules/jest-worker/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, - "optional": true, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/less/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/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "node_modules/jest-worker/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "dev": true, "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" + "has-flag": "^4.0.0" }, "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/license-webpack-plugin": { - "version": "2.3.19", - "resolved": "https://registry.npmjs.org/license-webpack-plugin/-/license-webpack-plugin-2.3.19.tgz", - "integrity": "sha512-z/izhwFRYHs1sCrDgrTUsNJpd+Xsd06OcFWSwHz/TiZygm5ucweVZi1Hu14Rf6tOj/XAl1Ebyc7GW6ZyyINyWA==", - "dev": true, - "dependencies": { - "@types/webpack-sources": "^0.1.5", - "webpack-sources": "^1.2.0" + "node": ">=10" }, - "peerDependenciesMeta": { - "webpack": { - "optional": true - } + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "node_modules/lie": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz", - "integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==", - "dev": true, - "dependencies": { - "immediate": "~3.0.5" - } + "node_modules/js-sha3": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", + "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" }, - "node_modules/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=", + "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/load-json-file": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", - "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "strip-bom": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/load-json-file/node_modules/parse-json": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "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": { - "error-ex": "^1.2.0" + "argparse": "^1.0.7", + "esprima": "^4.0.0" }, - "engines": { - "node": ">=0.10.0" + "bin": { + "js-yaml": "bin/js-yaml.js" } }, - "node_modules/loader-runner": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.2.0.tgz", - "integrity": "sha512-92+huvxMvYlMzMt0iIOukcwYBFpkYJdpl2xsZ7LrlayO7E8SOv+JJUEK17B/dJIHAOLMfh2dZZ/Y18WgmGtYNw==", - "dev": true, - "engines": { - "node": ">=6.11.5" - } + "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/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==", + "node_modules/jsdoctypeparser": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/jsdoctypeparser/-/jsdoctypeparser-9.0.0.tgz", + "integrity": "sha512-jrTA2jJIL6/DAEILBEh2/w9QxCuwmvNXIry39Ay/HVfhE3o2yVV0U44blYkqdHA/OKloJEqvJy0xU+GSdE2SIw==", "dev": true, - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" + "bin": { + "jsdoctypeparser": "bin/jsdoctypeparser" }, "engines": { - "node": ">=8.9.0" + "node": ">=10" } }, - "node_modules/locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", "dev": true, - "dependencies": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" + "bin": { + "jsesc": "bin/jsesc" }, "engines": { "node": ">=4" } }, - "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "node_modules/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/lodash.clonedeep": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", - "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", + "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/lodash.debounce": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=", + "node_modules/json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", "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.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "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/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=", + "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/lodash.uniq": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", - "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=", + "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/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==", + "node_modules/json5": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", + "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==", "dev": true, - "dependencies": { - "chalk": "^4.1.0", - "is-unicode-supported": "^0.1.0" + "bin": { + "json5": "lib/cli.js" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=6" } }, - "node_modules/log-symbols/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==", + "node_modules/jsonc-parser": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.0.0.tgz", + "integrity": "sha512-fQzRfAbIBnR0IQvftw9FJveWiHp72Fg20giDrHz6TdfB12UH/uue0D3hm57UB5KgAVuniLMCaS8P1IMj9NR7cA==", + "dev": true + }, + "node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "optionalDependencies": { + "graceful-fs": "^4.1.6" } }, - "node_modules/log-symbols/node_modules/chalk": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", - "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", + "node_modules/jsonparse": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", + "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==", + "dev": true, + "engines": [ + "node >= 0.2.0" + ] + }, + "node_modules/jsprim": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", "dev": true, + "engines": [ + "node >=0.6.0" + ], "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" } }, - "node_modules/log-symbols/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==", + "node_modules/jszip": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.6.0.tgz", + "integrity": "sha512-jgnQoG9LKnWO3mnVNBnfhkh0QknICd1FGSrXcgrl67zioyJ4wgx25o9ZqwNtrROSflGBCGYnJfjrIyRIby1OoQ==", "dev": true, "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" + "lie": "~3.3.0", + "pako": "~1.0.2", + "readable-stream": "~2.3.6", + "set-immediate-shim": "~1.0.1" } }, - "node_modules/log-symbols/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/log-symbols/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==", + "node_modules/jszip/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, - "engines": { - "node": ">=8" + "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/log-symbols/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==", + "node_modules/jszip/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": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" + "safe-buffer": "~5.1.0" } }, - "node_modules/log4js": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/log4js/-/log4js-6.3.0.tgz", - "integrity": "sha512-Mc8jNuSFImQUIateBFwdOQcmC6Q5maU0VVvdC2R6XMb66/VnT+7WS4D/0EeNMZu1YODmJe5NIn2XftCzEocUgw==", + "node_modules/karma": { + "version": "6.3.4", + "resolved": "https://registry.npmjs.org/karma/-/karma-6.3.4.tgz", + "integrity": "sha512-hbhRogUYIulfkBTZT7xoPrCYhRBnBoqbbL4fszWD0ReFGUxU+LYBr3dwKdAluaDQ/ynT9/7C+Lf7pPNW4gSx4Q==", "dev": true, "dependencies": { - "date-format": "^3.0.0", - "debug": "^4.1.1", - "flatted": "^2.0.1", - "rfdc": "^1.1.4", - "streamroller": "^2.2.4" + "body-parser": "^1.19.0", + "braces": "^3.0.2", + "chokidar": "^3.5.1", + "colors": "^1.4.0", + "connect": "^3.7.0", + "di": "^0.0.1", + "dom-serialize": "^2.2.1", + "glob": "^7.1.7", + "graceful-fs": "^4.2.6", + "http-proxy": "^1.18.1", + "isbinaryfile": "^4.0.8", + "lodash": "^4.17.21", + "log4js": "^6.3.0", + "mime": "^2.5.2", + "minimatch": "^3.0.4", + "qjobs": "^1.2.0", + "range-parser": "^1.2.1", + "rimraf": "^3.0.2", + "socket.io": "^3.1.0", + "source-map": "^0.6.1", + "tmp": "^0.2.1", + "ua-parser-js": "^0.7.28", + "yargs": "^16.1.1" + }, + "bin": { + "karma": "bin/karma" }, "engines": { - "node": ">=8.0" + "node": ">= 10" } }, - "node_modules/log4js/node_modules/flatted": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz", - "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==", - "dev": true - }, - "node_modules/loglevel": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.7.1.tgz", - "integrity": "sha512-Hesni4s5UkWkwCGJMQGAh71PaLUmKFM60dHvq0zi/vDhhrzuk+4GgNbTXJ12YYQJn6ZKBDNIjYcuQGKudvqrIw==", + "node_modules/karma-chrome-launcher": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-3.1.0.tgz", + "integrity": "sha512-3dPs/n7vgz1rxxtynpzZTvb9y/GIaW8xjAwcIGttLbycqoFtI7yo1NGnQi6oFTherRE+GIhCAHZC4vEqWGhNvg==", "dev": true, - "engines": { - "node": ">= 0.6.0" - }, - "funding": { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/loglevel" + "dependencies": { + "which": "^1.2.1" } }, - "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==", + "node_modules/karma-chrome-launcher/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": { - "yallist": "^4.0.0" + "isexe": "^2.0.0" }, - "engines": { - "node": ">=10" + "bin": { + "which": "bin/which" } }, - "node_modules/magic-string": { - "version": "0.25.7", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz", - "integrity": "sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==", + "node_modules/karma-coverage": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/karma-coverage/-/karma-coverage-2.0.3.tgz", + "integrity": "sha512-atDvLQqvPcLxhED0cmXYdsPMCQuh6Asa9FMZW1bhNqlVEhJoB9qyZ2BY1gu7D/rr5GLGb5QzYO4siQskxaWP/g==", "dev": true, "dependencies": { - "sourcemap-codec": "^1.4.4" + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^4.0.1", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.0.0", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=10.0.0" } }, - "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==", + "node_modules/karma-coverage-istanbul-reporter": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/karma-coverage-istanbul-reporter/-/karma-coverage-istanbul-reporter-3.0.3.tgz", + "integrity": "sha512-wE4VFhG/QZv2Y4CdAYWDbMmcAHeS926ZIji4z+FkB2aF/EposRb6DP6G5ncT/wXhqUfAb/d7kZrNKPonbvsATw==", "dev": true, "dependencies": { - "semver": "^6.0.0" - }, - "engines": { - "node": ">=8" + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^3.0.6", + "istanbul-reports": "^3.0.2", + "minimatch": "^3.0.4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/mattlewis92" } }, - "node_modules/make-dir/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/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/make-fetch-happen": { - "version": "8.0.14", - "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-8.0.14.tgz", - "integrity": "sha512-EsS89h6l4vbfJEtBZnENTOFk8mCRpY5ru36Xe5bcX1KYIli2mkSHqoFsp5O1wMDvTJJzxe/4THpCTtygjeeGWQ==", - "dev": true, - "dependencies": { - "agentkeepalive": "^4.1.3", - "cacache": "^15.0.5", - "http-cache-semantics": "^4.1.0", - "http-proxy-agent": "^4.0.1", - "https-proxy-agent": "^5.0.0", - "is-lambda": "^1.0.1", - "lru-cache": "^6.0.0", - "minipass": "^3.1.3", - "minipass-collect": "^1.0.2", - "minipass-fetch": "^1.3.2", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "promise-retry": "^2.0.1", - "socks-proxy-agent": "^5.0.0", - "ssri": "^8.0.0" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/map-age-cleaner": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz", - "integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==", + "node_modules/karma-coverage-istanbul-reporter/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": { - "p-defer": "^1.0.0" + "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/map-cache": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", + "node_modules/karma-coverage-istanbul-reporter/node_modules/istanbul-lib-source-maps/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": ">=0.10.0" + "node": ">=6" } }, - "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=", + "node_modules/karma-coverage-istanbul-reporter/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": { - "object-visit": "^1.0.0" + "pify": "^4.0.1", + "semver": "^5.6.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=6" } }, - "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/media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", + "node_modules/karma-coverage-istanbul-reporter/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": ">= 0.6" + "node": ">=6" } }, - "node_modules/mem": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/mem/-/mem-8.1.1.tgz", - "integrity": "sha512-qFCFUDs7U3b8mBDPyz5EToEKoAkgCzqquIgi9nkkR9bixxOVOre+09lbuH7+9Kn2NFpm56M3GUWVbU2hQgdACA==", + "node_modules/karma-coverage-istanbul-reporter/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": { - "map-age-cleaner": "^0.1.3", - "mimic-fn": "^3.1.0" - }, - "engines": { - "node": ">=10" + "glob": "^7.1.3" }, - "funding": { - "url": "https://github.com/sindresorhus/mem?sponsor=1" + "bin": { + "rimraf": "bin.js" } }, - "node_modules/mem/node_modules/mimic-fn": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-3.1.0.tgz", - "integrity": "sha512-Ysbi9uYW9hFyfrThdDEQuykN4Ey6BuwPD2kpI5ES/nFTDn/98yxYNLZJcgUAKPT/mcrLLKaGzJR9YVxJrIdASQ==", + "node_modules/karma-coverage-istanbul-reporter/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "dev": true, - "engines": { - "node": ">=8" + "bin": { + "semver": "bin/semver" } }, - "node_modules/memfs": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.2.2.tgz", - "integrity": "sha512-RE0CwmIM3CEvpcdK3rZ19BC4E6hv9kADkMN5rPduRak58cNArWLi/9jFLsa4rhsjfVxMP3v0jO7FHXq7SvFY5Q==", + "node_modules/karma-coverage-istanbul-reporter/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, - "dependencies": { - "fs-monkey": "1.0.3" - }, "engines": { - "node": ">= 4.0.0" - } - }, - "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": ">=0.10.0" } }, - "node_modules/memory-fs/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==", + "node_modules/karma-jasmine": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/karma-jasmine/-/karma-jasmine-4.0.1.tgz", + "integrity": "sha512-h8XDAhTiZjJKzfkoO1laMH+zfNlra+dEQHUAjpn5JV1zCPtOIVWGQjLBrqhnzQa/hrU2XrZwSyBa6XjEBzfXzw==", "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" + "jasmine-core": "^3.6.0" + }, + "engines": { + "node": ">= 10" + }, + "peerDependencies": { + "karma": "*" } }, - "node_modules/memory-fs/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==", + "node_modules/karma-jasmine-html-reporter": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/karma-jasmine-html-reporter/-/karma-jasmine-html-reporter-1.7.0.tgz", + "integrity": "sha512-pzum1TL7j90DTE86eFt48/s12hqwQuiD+e5aXx2Dc9wDEn2LfGq6RoAxEZZjFiN0RDSCOnosEKRZWxbQ+iMpQQ==", "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" + "peerDependencies": { + "jasmine-core": ">=3.8", + "karma": ">=0.9", + "karma-jasmine": ">=1.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==", + "node_modules/karma-source-map-support": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/karma-source-map-support/-/karma-source-map-support-1.4.0.tgz", + "integrity": "sha512-RsBECncGO17KAoJCYXjv+ckIz+Ii9NCi+9enk+rq6XC81ezYkb4/RHE6CTXdA7IOJqoF3wcaLfVG0CPmE5ca6A==", "dev": true, "dependencies": { - "source-map": "^0.6.1" + "source-map-support": "^0.5.5" } }, - "node_modules/merge-source-map/node_modules/source-map": { + "node_modules/karma/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==", @@ -11038,4821 +11491,4473 @@ "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": "4.0.4", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", - "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", + "node_modules/karma/node_modules/tmp": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", + "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", "dev": true, "dependencies": { - "braces": "^3.0.1", - "picomatch": "^2.2.3" + "rimraf": "^3.0.0" }, "engines": { - "node": ">=8.6" + "node": ">=8.17.0" } }, - "node_modules/mime": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.5.2.tgz", - "integrity": "sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg==", + "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, - "bin": { - "mime": "cli.js" - }, "engines": { - "node": ">=4.0.0" + "node": ">=0.10.0" } }, - "node_modules/mime-db": { - "version": "1.48.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.48.0.tgz", - "integrity": "sha512-FM3QwxV+TnZYQ2aRqhlKBMHxk10lTbMt3bBkMAp54ddrNeVSfcQYOOKuGuy3Ddrm38I04If834fOUSq1yzslJQ==", + "node_modules/kleur": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.4.tgz", + "integrity": "sha512-8QADVssbrFjivHWQU7KkMgptGTl6WAcSdlbBPY4uNF+mWr6DGcKrvY2w4FQJoXch7+fKMjj0dRrL75vk3k23OA==", "dev": true, "engines": { - "node": ">= 0.6" + "node": ">=6" } }, - "node_modules/mime-types": { - "version": "2.1.31", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.31.tgz", - "integrity": "sha512-XGZnNzm3QvgKxa8dpzyhFTHmpP3l5YNusmne07VUOXxou9CqUqYa/HBy124RqtVh/O2pECas/MOcsDgpilPOPg==", + "node_modules/klona": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.5.tgz", + "integrity": "sha512-pJiBpiXMbt7dkzXe8Ghj/u4FfXOOa98fPW+bihOJ4SjnoijweJrNThJfd3ifXpXhREjpoF2mZVH1GfS9LV3kHQ==", "dev": true, - "dependencies": { - "mime-db": "1.48.0" - }, "engines": { - "node": ">= 0.6" + "node": ">= 8" } }, - "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==", + "node_modules/less": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/less/-/less-4.1.2.tgz", + "integrity": "sha512-EoQp/Et7OSOVu0aJknJOtlXZsnr8XE8KwuzTHOLeVSEx8pVWUICc8Q0VYRHgzyjX78nMEyC/oztWFbgyhtNfDA==", "dev": true, + "dependencies": { + "copy-anything": "^2.0.1", + "parse-node-version": "^1.0.1", + "tslib": "^2.3.0" + }, + "bin": { + "lessc": "bin/lessc" + }, "engines": { "node": ">=6" + }, + "optionalDependencies": { + "errno": "^0.1.1", + "graceful-fs": "^4.1.2", + "image-size": "~0.5.0", + "make-dir": "^2.1.0", + "mime": "^1.4.1", + "needle": "^2.5.2", + "source-map": "~0.6.0" } }, - "node_modules/mini-css-extract-plugin": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-1.5.1.tgz", - "integrity": "sha512-wEpr0XooH6rw/Mlf+9KTJoMBLT3HujzdTrmohPjAzF47N4Q6yAeczQLpRD/WxvAtXvskcXbily7TAdCfi2M4Dg==", + "node_modules/less-loader": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/less-loader/-/less-loader-10.2.0.tgz", + "integrity": "sha512-AV5KHWvCezW27GT90WATaDnfXBv99llDbtaj4bshq6DvAihMdNjaPDcUMa6EXKLRF+P2opFenJp89BXg91XLYg==", "dev": true, "dependencies": { - "loader-utils": "^2.0.0", - "schema-utils": "^3.0.0", - "webpack-sources": "^1.1.0" + "klona": "^2.0.4" }, "engines": { - "node": ">= 10.13.0" + "node": ">= 12.13.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/webpack" }, "peerDependencies": { - "webpack": "^4.4.0 || ^5.0.0" + "less": "^3.5.0 || ^4.0.0", + "webpack": "^5.0.0" } }, - "node_modules/mini-css-extract-plugin/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "node_modules/less/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, + "optional": 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" + "pify": "^4.0.1", + "semver": "^5.6.0" }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/mini-css-extract-plugin/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" + "engines": { + "node": ">=6" } }, - "node_modules/mini-css-extract-plugin/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/mini-css-extract-plugin/node_modules/schema-utils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.0.tgz", - "integrity": "sha512-tTEaeYkyIhEZ9uWgAjDerWov3T9MgX8dhhy2r0IGeeX4W8ngtGl1++dUve/RUqzuaASSh7shwCDJjEzthxki8w==", + "node_modules/less/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, - "dependencies": { - "@types/json-schema": "^7.0.7", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" + "optional": true, + "bin": { + "mime": "cli.js" }, "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" + "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/minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "node_modules/less/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, - "dependencies": { - "brace-expansion": "^1.1.7" - }, + "optional": true, "engines": { - "node": "*" + "node": ">=6" } }, - "node_modules/minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", - "dev": true + "node_modules/less/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "optional": true, + "bin": { + "semver": "bin/semver" + } }, - "node_modules/minipass": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz", - "integrity": "sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==", + "node_modules/less/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, - "dependencies": { - "yallist": "^4.0.0" - }, + "optional": true, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "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==", + "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": { - "minipass": "^3.0.0" + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" }, "engines": { - "node": ">= 8" + "node": ">= 0.8.0" } }, - "node_modules/minipass-fetch": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-1.3.4.tgz", - "integrity": "sha512-TielGogIzbUEtd1LsjZFs47RWuHHfhl6TiCx1InVxApBAmQ8bL0dL5ilkLGcRvuyW/A9nE+Lvn855Ewz8S0PnQ==", + "node_modules/license-webpack-plugin": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/license-webpack-plugin/-/license-webpack-plugin-4.0.2.tgz", + "integrity": "sha512-771TFWFD70G1wLTC4oU2Cw4qvtmNrIw+wRvBtn+okgHl7slJVi7zfNcdmqDL72BojM30VNJ2UHylr1o77U37Jw==", "dev": true, "dependencies": { - "minipass": "^3.1.0", - "minipass-sized": "^1.0.3", - "minizlib": "^2.0.0" - }, - "engines": { - "node": ">=8" + "webpack-sources": "^3.0.0" }, - "optionalDependencies": { - "encoding": "^0.1.12" + "peerDependenciesMeta": { + "webpack": { + "optional": true + }, + "webpack-sources": { + "optional": true + } } }, - "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==", + "node_modules/license-webpack-plugin/node_modules/webpack-sources": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", "dev": true, - "dependencies": { - "minipass": "^3.0.0" - }, "engines": { - "node": ">= 8" + "node": ">=10.13.0" } }, - "node_modules/minipass-json-stream": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minipass-json-stream/-/minipass-json-stream-1.0.1.tgz", - "integrity": "sha512-ODqY18UZt/I8k+b7rl2AENgbWE8IDYam+undIJONvigAz8KR5GWblsFTEfQs0WODsjbSXWlm+JHEv8Gr6Tfdbg==", + "node_modules/lie": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz", + "integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==", "dev": true, "dependencies": { - "jsonparse": "^1.3.1", - "minipass": "^3.0.0" + "immediate": "~3.0.5" } }, - "node_modules/minipass-pipeline": { + "node_modules/lines-and-columns": { "version": "1.2.4", - "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", - "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true + }, + "node_modules/load-json-file": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", + "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", "dev": true, "dependencies": { - "minipass": "^3.0.0" + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "strip-bom": "^3.0.0" }, "engines": { - "node": ">=8" + "node": ">=4" } }, - "node_modules/minipass-sized": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz", - "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==", + "node_modules/load-json-file/node_modules/parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", "dev": true, "dependencies": { - "minipass": "^3.0.0" + "error-ex": "^1.2.0" }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/minizlib": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", - "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "node_modules/loader-runner": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.2.0.tgz", + "integrity": "sha512-92+huvxMvYlMzMt0iIOukcwYBFpkYJdpl2xsZ7LrlayO7E8SOv+JJUEK17B/dJIHAOLMfh2dZZ/Y18WgmGtYNw==", "dev": true, - "dependencies": { - "minipass": "^3.0.0", - "yallist": "^4.0.0" - }, "engines": { - "node": ">= 8" + "node": ">=6.11.5" } }, - "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==", + "node_modules/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, "dependencies": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" }, "engines": { - "node": ">=0.10.0" + "node": ">=8.9.0" } }, - "node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "node_modules/locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", "dev": true, - "bin": { - "mkdirp": "bin/cmd.js" + "dependencies": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" }, "engines": { - "node": ">=10" + "node": ">=4" } }, - "node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", "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=", + "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/mute-stream": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", - "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", + "node_modules/lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", "dev": true }, - "node_modules/nan": { - "version": "2.14.2", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.2.tgz", - "integrity": "sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ==", - "dev": true, - "optional": true + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true }, - "node_modules/nanoid": { - "version": "3.1.23", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.23.tgz", - "integrity": "sha512-FiB0kzdP0FFVGDKlRLEQ1BgDzU87dy5NnzjeW9YZNt+/c3+q82EQDUwniSAUxp/F0gFNI1ZhKU1FqYsMuqZVnw==", - "dev": true, - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } + "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/nanomatch": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", - "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "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": { - "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" + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/native-run": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/native-run/-/native-run-1.4.0.tgz", - "integrity": "sha512-3XJiDxGNi6XCsn8KYDQFSYGDVkKEMg0y55qTMU0feEuPNNU4iztBwW5bE87sfybZsQPsYDJQyYt9CUKDSoJgdQ==", + "node_modules/log-symbols/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "dependencies": { - "@ionic/utils-fs": "^3.0.0", - "@ionic/utils-terminal": "^2.3.1", - "bplist-parser": "0.2.0", - "debug": "^4.1.1", - "elementtree": "^0.1.7", - "ini": "^1.3.5", - "plist": "^3.0.1", - "split2": "^3.1.0", - "through2": "^4.0.2", - "tslib": "^2.0.1", - "yauzl": "^2.10.0" - }, - "bin": { - "native-run": "bin/native-run" + "color-convert": "^2.0.1" }, "engines": { - "node": ">=10.3.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/native-run/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/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/needle": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/needle/-/needle-2.8.0.tgz", - "integrity": "sha512-ZTq6WYkN/3782H1393me3utVYdq2XyqNUFBsprEE3VMAT0+hP/cItpnITpqsY6ep2yeFE4Tqtqwc74VqUlUYtw==", + "node_modules/log-symbols/node_modules/chalk": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", + "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", "dev": true, - "optional": true, "dependencies": { - "debug": "^3.2.6", - "iconv-lite": "^0.4.4", - "sax": "^1.2.4" - }, - "bin": { - "needle": "bin/needle" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">= 4.4.x" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/needle/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "node_modules/log-symbols/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, - "optional": true, "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/negotiator": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", - "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==", - "dev": true, + "color-name": "~1.1.4" + }, "engines": { - "node": ">= 0.6" + "node": ">=7.0.0" } }, - "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==", + "node_modules/log-symbols/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, - "node_modules/node-forge": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz", - "integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==", + "node_modules/log-symbols/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, "engines": { - "node": ">= 6.0.0" + "node": ">=8" } }, - "node_modules/node-gyp": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-7.1.2.tgz", - "integrity": "sha512-CbpcIo7C3eMu3dL1c3d0xw449fHIGALIJsRP4DDPHpyiW8vcriNY7ubh9TE4zEKfSxscY7PjeFnshE7h75ynjQ==", + "node_modules/log-symbols/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "dependencies": { - "env-paths": "^2.2.0", - "glob": "^7.1.4", - "graceful-fs": "^4.2.3", - "nopt": "^5.0.0", - "npmlog": "^4.1.2", - "request": "^2.88.2", - "rimraf": "^3.0.2", - "semver": "^7.3.2", - "tar": "^6.0.2", - "which": "^2.0.2" - }, - "bin": { - "node-gyp": "bin/node-gyp.js" + "has-flag": "^4.0.0" }, "engines": { - "node": ">= 10.12.0" + "node": ">=8" } }, - "node_modules/node-releases": { - "version": "1.1.73", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.73.tgz", - "integrity": "sha512-uW7fodD6pyW2FZNZnp/Z3hvWKeEW1Y8R1+1CnErE8cXFXzl5blBOoVB41CvMer6P6Q0S5FXDwcHgFd1Wj0U9zg==", - "dev": true - }, - "node_modules/nopt": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", - "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", + "node_modules/log4js": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/log4js/-/log4js-6.3.0.tgz", + "integrity": "sha512-Mc8jNuSFImQUIateBFwdOQcmC6Q5maU0VVvdC2R6XMb66/VnT+7WS4D/0EeNMZu1YODmJe5NIn2XftCzEocUgw==", "dev": true, "dependencies": { - "abbrev": "1" - }, - "bin": { - "nopt": "bin/nopt.js" + "date-format": "^3.0.0", + "debug": "^4.1.1", + "flatted": "^2.0.1", + "rfdc": "^1.1.4", + "streamroller": "^2.2.4" }, "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": ">=8.0" } }, - "node_modules/normalize-package-data/node_modules/hosted-git-info": { - "version": "2.8.9", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", - "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "node_modules/log4js/node_modules/flatted": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz", + "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==", "dev": true }, - "node_modules/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==", + "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": ">=0.10.0" + "node": ">=10" } }, - "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=", + "node_modules/magic-string": { + "version": "0.25.7", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz", + "integrity": "sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==", "dev": true, - "engines": { - "node": ">=0.10.0" + "dependencies": { + "sourcemap-codec": "^1.4.4" } }, - "node_modules/normalize-url": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", - "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", + "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": ">=10" + "node": ">=8" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/npm-bundled": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.1.2.tgz", - "integrity": "sha512-x5DHup0SuyQcmL3s7Rx/YQ8sbw/Hzg0rj48eN0dV7hf5cmQq5PXIeioroH3raV1QC1yh3uTYuMThvEQF3iKgGQ==", - "dev": true, - "dependencies": { - "npm-normalize-package-bin": "^1.0.1" - } - }, - "node_modules/npm-install-checks": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-4.0.0.tgz", - "integrity": "sha512-09OmyDkNLYwqKPOnbI8exiOZU2GVVmQp7tgez2BPi5OZC8M82elDAps7sxC4l//uSUtotWqoEIDwjRvWH4qz8w==", + "node_modules/make-dir/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, - "dependencies": { - "semver": "^7.1.1" - }, - "engines": { - "node": ">=10" + "bin": { + "semver": "bin/semver.js" } }, - "node_modules/npm-normalize-package-bin": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz", - "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==", + "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/npm-package-arg": { - "version": "8.1.2", - "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.2.tgz", - "integrity": "sha512-6Eem455JsSMJY6Kpd3EyWE+n5hC+g9bSyHr9K9U2zqZb7+02+hObQ2c0+8iDk/mNF+8r1MhY44WypKJAkySIYA==", + "node_modules/make-fetch-happen": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz", + "integrity": "sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==", "dev": true, "dependencies": { - "hosted-git-info": "^4.0.1", - "semver": "^7.3.4", - "validate-npm-package-name": "^3.0.0" + "agentkeepalive": "^4.1.3", + "cacache": "^15.2.0", + "http-cache-semantics": "^4.1.0", + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "^5.0.0", + "is-lambda": "^1.0.1", + "lru-cache": "^6.0.0", + "minipass": "^3.1.3", + "minipass-collect": "^1.0.2", + "minipass-fetch": "^1.3.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.2", + "promise-retry": "^2.0.1", + "socks-proxy-agent": "^6.0.0", + "ssri": "^8.0.0" }, "engines": { - "node": ">=10" + "node": ">= 10" } }, - "node_modules/npm-packlist": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-2.2.2.tgz", - "integrity": "sha512-Jt01acDvJRhJGthnUJVF/w6gumWOZxO7IkpY/lsX9//zqQgnF7OJaxgQXcerd4uQOLu7W5bkb4mChL9mdfm+Zg==", - "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==", "dependencies": { - "glob": "^7.1.6", - "ignore-walk": "^3.0.3", - "npm-bundled": "^1.1.1", - "npm-normalize-package-bin": "^1.0.1" - }, - "bin": { - "npm-packlist": "bin/index.js" - }, - "engines": { - "node": ">=10" + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" } }, - "node_modules/npm-pick-manifest": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-6.1.1.tgz", - "integrity": "sha512-dBsdBtORT84S8V8UTad1WlUyKIY9iMsAmqxHbLdeEeBNMLQDlDWWra3wYUx9EBEIiG/YwAy0XyNHDd2goAsfuA==", + "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, - "dependencies": { - "npm-install-checks": "^4.0.0", - "npm-normalize-package-bin": "^1.0.1", - "npm-package-arg": "^8.1.2", - "semver": "^7.3.4" + "engines": { + "node": ">= 0.6" } }, - "node_modules/npm-registry-fetch": { - "version": "10.1.2", - "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-10.1.2.tgz", - "integrity": "sha512-KsM/TdPmntqgBFlfsbkOLkkE9ovZo7VpVcd+/eTdYszCrgy5zFl5JzWm+OxavFaEWlbkirpkou+ZYI00RmOBFA==", + "node_modules/memfs": { + "version": "3.4.6", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.4.6.tgz", + "integrity": "sha512-rH9mjopto6Wkr7RFuH9l9dk3qb2XGOcYKr7xMhaYqfzuJqOqhRrcFvfD7JMuPj6SLmPreh5+6eAuv36NFAU+Mw==", "dev": true, "dependencies": { - "lru-cache": "^6.0.0", - "make-fetch-happen": "^8.0.9", - "minipass": "^3.1.3", - "minipass-fetch": "^1.3.0", - "minipass-json-stream": "^1.0.1", - "minizlib": "^2.0.0", - "npm-package-arg": "^8.0.0" + "fs-monkey": "^1.0.3" }, "engines": { - "node": ">=10" + "node": ">= 4.0.0" } }, - "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=", + "node_modules/merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==", + "dev": true + }, + "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, - "dependencies": { - "path-key": "^2.0.0" - }, "engines": { - "node": ">=4" + "node": ">= 8" } }, - "node_modules/npm-run-path/node_modules/path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", "dev": true, "engines": { - "node": ">=4" + "node": ">= 0.6" } }, - "node_modules/npmlog": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", - "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", - "dev": true, - "dependencies": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" - } + "node_modules/micro-base": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/micro-base/-/micro-base-0.9.0.tgz", + "integrity": "sha512-4+tOMKidYT5nQ6/UNmYrGVO5PMcnJdfuR4NC8HK8s2H61B4itOhA9yrsjBdqGV7ecdtej36x3YSIfPLRmPrspg==", + "deprecated": "Switch to @scure/base for audited version of the lib & updates" }, - "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==", + "node_modules/micromatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", + "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", "dev": true, "dependencies": { - "boolbase": "~1.0.0" + "braces": "^3.0.1", + "picomatch": "^2.2.3" + }, + "engines": { + "node": ">=8.6" } }, - "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/number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", - "dev": true, - "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==", + "dependencies": { + "bn.js": "^4.0.0", + "brorand": "^1.0.1" + }, + "bin": { + "miller-rabin": "bin/miller-rabin" } }, - "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==", + "node_modules/mime": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.5.2.tgz", + "integrity": "sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg==", "dev": true, + "bin": { + "mime": "cli.js" + }, "engines": { - "node": "*" + "node": ">=4.0.0" } }, - "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, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", "engines": { - "node": ">=0.10.0" + "node": ">= 0.6" } }, - "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, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", "dependencies": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" + "mime-db": "1.52.0" }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.6" } }, - "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=", + "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, - "dependencies": { - "is-descriptor": "^0.1.0" - }, "engines": { - "node": ">=0.10.0" + "node": ">=6" } }, - "node_modules/object-copy/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=", + "node_modules/mini-css-extract-plugin": { + "version": "2.5.3", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.5.3.tgz", + "integrity": "sha512-YseMB8cs8U/KCaAGQoqYmfUuhhGW0a9p9XvWXrxVOkE3/IiISTLw4ALNt7JR5B2eYauFM+PQGSbXMDmVbR7Tfw==", "dev": true, "dependencies": { - "kind-of": "^3.0.2" + "schema-utils": "^4.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" } }, - "node_modules/object-copy/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=", + "node_modules/mini-css-extract-plugin/node_modules/ajv": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", + "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", "dev": true, "dependencies": { - "kind-of": "^3.0.2" + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" }, - "engines": { - "node": ">=0.10.0" + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/object-copy/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==", + "node_modules/mini-css-extract-plugin/node_modules/ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", "dev": true, "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" + "ajv": "^8.0.0" }, - "engines": { - "node": ">=0.10.0" + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } } }, - "node_modules/object-copy/node_modules/is-descriptor/node_modules/kind-of": { + "node_modules/mini-css-extract-plugin/node_modules/ajv-keywords": { "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/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=", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", "dev": true, "dependencies": { - "is-buffer": "^1.1.5" + "fast-deep-equal": "^3.1.3" }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-inspect": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.11.0.tgz", - "integrity": "sha512-jp7ikS6Sd3GxQfZJPyH3cjcbJF6GZPClgdV+EFygjFLQ5FmW/dRUnTd9PQ9k0JhoNDabWFbpF1yCdSWCC6gexg==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "peerDependencies": { + "ajv": "^8.8.2" } }, - "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==", + "node_modules/mini-css-extract-plugin/node_modules/schema-utils": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", + "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" + "@types/json-schema": "^7.0.9", + "ajv": "^8.8.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.0.0" }, "engines": { - "node": ">= 0.4" + "node": ">= 12.13.0" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "type": "opencollective", + "url": "https://opencollective.com/webpack" } }, - "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/minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" }, - "node_modules/object-visit": { + "node_modules/minimalistic-crypto-utils": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", - "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==" + }, + "node_modules/minimatch": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.5.tgz", + "integrity": "sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw==", "dev": true, "dependencies": { - "isobject": "^3.0.0" + "brace-expansion": "^1.1.7" }, "engines": { - "node": ">=0.10.0" + "node": "*" } }, - "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==", + "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.3.3", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.3.tgz", + "integrity": "sha512-N0BOsdFAlNRfmwMhjAsLVWOk7Ljmeb39iqFlsV1At+jqRhSUP9yeof8FyJu4imaJiSUp8vQebWD/guZwGQC8iA==", "dev": true, "dependencies": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "has-symbols": "^1.0.1", - "object-keys": "^1.1.1" + "yallist": "^4.0.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=8" } }, - "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=", + "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": { - "isobject": "^3.0.1" + "minipass": "^3.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">= 8" } }, - "node_modules/object.values": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.4.tgz", - "integrity": "sha512-TnGo7j4XSnKQoK3MfvkzqKCi0nVe/D9I9IjwTNYdb/fxYHpjrluHVOgw0AF6jrRFGMPHdfuidR09tIDiIvnaSg==", + "node_modules/minipass-fetch": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-1.4.1.tgz", + "integrity": "sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.18.2" + "minipass": "^3.1.0", + "minipass-sized": "^1.0.3", + "minizlib": "^2.0.0" }, "engines": { - "node": ">= 0.4" + "node": ">=8" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "optionalDependencies": { + "encoding": "^0.1.12" } }, - "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=", + "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": { - "ee-first": "1.1.1" + "minipass": "^3.0.0" }, "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": ">= 8" } }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "node_modules/minipass-json-stream": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minipass-json-stream/-/minipass-json-stream-1.0.1.tgz", + "integrity": "sha512-ODqY18UZt/I8k+b7rl2AENgbWE8IDYam+undIJONvigAz8KR5GWblsFTEfQs0WODsjbSXWlm+JHEv8Gr6Tfdbg==", "dev": true, "dependencies": { - "wrappy": "1" + "jsonparse": "^1.3.1", + "minipass": "^3.0.0" } }, - "node_modules/onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "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": { - "mimic-fn": "^2.1.0" + "minipass": "^3.0.0" }, "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, - "node_modules/open": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/open/-/open-8.0.2.tgz", - "integrity": "sha512-NV5QmWJrTaNBLHABJyrb+nd5dXI5zfea/suWawBhkHzAbVhLLiJdrqMgxMypGK9Eznp2Ltoh7SAVkQ3XAucX7Q==", + "node_modules/minipass-sized": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz", + "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==", "dev": true, "dependencies": { - "define-lazy-prop": "^2.0.0", - "is-docker": "^2.1.1", - "is-wsl": "^2.2.0" + "minipass": "^3.0.0" }, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, - "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==", + "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": { - "is-wsl": "^1.1.0" + "minipass": "^3.0.0", + "yallist": "^4.0.0" }, "engines": { - "node": ">=4" + "node": ">= 8" } }, - "node_modules/opn/node_modules/is-wsl": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", - "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", + "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": ">=4" + "node": ">=10" } }, - "node_modules/optionator": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", - "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "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": { - "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" + "dns-packet": "^1.3.1", + "thunky": "^1.0.2" }, - "engines": { - "node": ">= 0.8.0" + "bin": { + "multicast-dns": "cli.js" } }, - "node_modules/ora": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.0.tgz", - "integrity": "sha512-1StwyXQGoU6gdjYkyVcqOLnVlbKj+6yPNNOxJVgpt9t4eksKjiriiHuxktLYkgllwk+D6MbC4ihH84L1udRXPg==", + "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": "sha512-cnAsSVxIDsYt0v7HmC0hWZFwwXSh+E6PgCrREDuN/EsjgLwA5XRmlMHhSiDPrt6HxY1gTivEa/Zh7GtODoLevQ==", + "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/nanoid": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", + "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==", "dev": true, - "dependencies": { - "bl": "^4.1.0", - "chalk": "^4.1.0", - "cli-cursor": "^3.1.0", - "cli-spinners": "^2.5.0", - "is-interactive": "^1.0.0", - "is-unicode-supported": "^0.1.0", - "log-symbols": "^4.1.0", - "strip-ansi": "^6.0.0", - "wcwidth": "^1.0.1" + "bin": { + "nanoid": "bin/nanoid.cjs" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, - "node_modules/ora/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==", + "node_modules/native-run": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/native-run/-/native-run-1.4.0.tgz", + "integrity": "sha512-3XJiDxGNi6XCsn8KYDQFSYGDVkKEMg0y55qTMU0feEuPNNU4iztBwW5bE87sfybZsQPsYDJQyYt9CUKDSoJgdQ==", "dev": true, "dependencies": { - "color-convert": "^2.0.1" + "@ionic/utils-fs": "^3.0.0", + "@ionic/utils-terminal": "^2.3.1", + "bplist-parser": "0.2.0", + "debug": "^4.1.1", + "elementtree": "^0.1.7", + "ini": "^1.3.5", + "plist": "^3.0.1", + "split2": "^3.1.0", + "through2": "^4.0.2", + "tslib": "^2.0.1", + "yauzl": "^2.10.0" }, - "engines": { - "node": ">=8" + "bin": { + "native-run": "bin/native-run" }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "engines": { + "node": ">=10.3.0" } }, - "node_modules/ora/node_modules/chalk": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", - "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", + "node_modules/native-run/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/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/needle": { + "version": "2.9.1", + "resolved": "https://registry.npmjs.org/needle/-/needle-2.9.1.tgz", + "integrity": "sha512-6R9fqJ5Zcmf+uYaFgdIHmLwNldn5HbK8L5ybn7Uz+ylX/rnOsSp1AHcvQSrCaFN+qNM1wpymHqD7mVasEOlHGQ==", "dev": true, + "optional": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "debug": "^3.2.6", + "iconv-lite": "^0.4.4", + "sax": "^1.2.4" }, - "engines": { - "node": ">=10" + "bin": { + "needle": "bin/needle" }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "engines": { + "node": ">= 4.4.x" } }, - "node_modules/ora/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==", + "node_modules/needle/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, + "optional": true, "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" + "ms": "^2.1.1" } }, - "node_modules/ora/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/ora/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==", + "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": ">=8" + "node": ">= 0.6" } }, - "node_modules/ora/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true + }, + "node_modules/next-tick": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz", + "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==" }, - "node_modules/original": { + "node_modules/nice-napi": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/original/-/original-1.0.2.tgz", - "integrity": "sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg==", + "resolved": "https://registry.npmjs.org/nice-napi/-/nice-napi-1.0.2.tgz", + "integrity": "sha512-px/KnJAJZf5RuBGcfD+Sp2pAKq0ytz8j+1NehvgIGFkvtvFrDM3T8E4x/JJODXK9WZow8RRGrbA9QQ3hs+pDhA==", "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "!win32" + ], "dependencies": { - "url-parse": "^1.4.3" + "node-addon-api": "^3.0.0", + "node-gyp-build": "^4.2.2" } }, - "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=", + "node_modules/node-addon-api": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.2.1.tgz", + "integrity": "sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==", "dev": true, - "engines": { - "node": ">=0.10.0" - } + "optional": true }, - "node_modules/p-defer": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz", - "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=", - "dev": true, + "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" + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } } }, - "node_modules/p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", + "node_modules/node-forge": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", + "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", "dev": true, "engines": { - "node": ">=4" + "node": ">= 6.13.0" } }, - "node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "node_modules/node-gyp": { + "version": "8.4.1", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-8.4.1.tgz", + "integrity": "sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w==", "dev": true, "dependencies": { - "yocto-queue": "^0.1.0" + "env-paths": "^2.2.0", + "glob": "^7.1.4", + "graceful-fs": "^4.2.6", + "make-fetch-happen": "^9.1.0", + "nopt": "^5.0.0", + "npmlog": "^6.0.0", + "rimraf": "^3.0.2", + "semver": "^7.3.5", + "tar": "^6.1.2", + "which": "^2.0.2" }, - "engines": { - "node": ">=10" + "bin": { + "node-gyp": "bin/node-gyp.js" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">= 10.12.0" } }, - "node_modules/p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "node_modules/node-gyp-build": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.4.0.tgz", + "integrity": "sha512-amJnQCcgtRVw9SvoebO3BKGESClrfXGCUTX9hSn1OuGQTQBOZmVd0Z0OlecpuRksKvbsUqALE8jls/ErClAPuQ==", + "bin": { + "node-gyp-build": "bin.js", + "node-gyp-build-optional": "optional.js", + "node-gyp-build-test": "build-test.js" + } + }, + "node_modules/node-releases": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.5.tgz", + "integrity": "sha512-U9h1NLROZTq9uE1SNffn6WuPDg8icmi3ns4rEl/oTfIle4iLjTliCzgTsbaIFMq/Xn078/lfY/BL0GWZ+psK4Q==", + "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": { - "p-limit": "^1.1.0" + "abbrev": "1" + }, + "bin": { + "nopt": "bin/nopt.js" }, "engines": { - "node": ">=4" + "node": ">=6" } }, - "node_modules/p-locate/node_modules/p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "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": { - "p-try": "^1.0.0" - }, + "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/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/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": ">=4" + "node": ">=0.10.0" } }, - "node_modules/p-locate/node_modules/p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "node_modules/normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", "dev": true, "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "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==", + "node_modules/npm-bundled": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.1.2.tgz", + "integrity": "sha512-x5DHup0SuyQcmL3s7Rx/YQ8sbw/Hzg0rj48eN0dV7hf5cmQq5PXIeioroH3raV1QC1yh3uTYuMThvEQF3iKgGQ==", "dev": true, "dependencies": { - "aggregate-error": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "npm-normalize-package-bin": "^1.0.1" } }, - "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==", + "node_modules/npm-install-checks": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-4.0.0.tgz", + "integrity": "sha512-09OmyDkNLYwqKPOnbI8exiOZU2GVVmQp7tgez2BPi5OZC8M82elDAps7sxC4l//uSUtotWqoEIDwjRvWH4qz8w==", "dev": true, "dependencies": { - "retry": "^0.12.0" + "semver": "^7.1.1" }, "engines": { - "node": ">=6" + "node": ">=10" } }, - "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==", + "node_modules/npm-normalize-package-bin": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz", + "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==", + "dev": true + }, + "node_modules/npm-package-arg": { + "version": "8.1.5", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.5.tgz", + "integrity": "sha512-LhgZrg0n0VgvzVdSm1oiZworPbTxYHUJCgtsJW8mGvlDpxTM1vSJc3m5QZeUkhAHIzbz3VCHd/R4osi1L1Tg/Q==", "dev": true, + "dependencies": { + "hosted-git-info": "^4.0.1", + "semver": "^7.3.4", + "validate-npm-package-name": "^3.0.0" + }, "engines": { - "node": ">=6" + "node": ">=10" } }, - "node_modules/pacote": { - "version": "11.3.2", - "resolved": "https://registry.npmjs.org/pacote/-/pacote-11.3.2.tgz", - "integrity": "sha512-lMO7V9aMhyE5gfaSFxKfW3OTdXuFBNQJfuNuet3NPzWWhOYIW90t85vHcHLDjdhgmfAdAHyh9q1HAap96ea0XA==", + "node_modules/npm-packlist": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-3.0.0.tgz", + "integrity": "sha512-L/cbzmutAwII5glUcf2DBRNY/d0TFd4e/FnaZigJV6JD85RHZXJFGwCndjMWiiViiWSsWt3tiOLpI3ByTnIdFQ==", "dev": true, "dependencies": { - "@npmcli/git": "^2.0.1", - "@npmcli/installed-package-contents": "^1.0.6", - "@npmcli/promise-spawn": "^1.2.0", - "@npmcli/run-script": "^1.8.2", - "cacache": "^15.0.5", - "chownr": "^2.0.0", - "fs-minipass": "^2.1.0", - "infer-owner": "^1.0.4", - "minipass": "^3.1.3", - "mkdirp": "^1.0.3", - "npm-package-arg": "^8.0.1", - "npm-packlist": "^2.1.4", - "npm-pick-manifest": "^6.0.0", - "npm-registry-fetch": "^10.0.0", - "promise-retry": "^2.0.1", - "read-package-json-fast": "^2.0.1", - "rimraf": "^3.0.2", - "ssri": "^8.0.1", - "tar": "^6.1.0" + "glob": "^7.1.6", + "ignore-walk": "^4.0.1", + "npm-bundled": "^1.1.1", + "npm-normalize-package-bin": "^1.0.1" }, "bin": { - "pacote": "lib/bin.js" + "npm-packlist": "bin/index.js" }, "engines": { "node": ">=10" } }, - "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/npm-pick-manifest": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-6.1.1.tgz", + "integrity": "sha512-dBsdBtORT84S8V8UTad1WlUyKIY9iMsAmqxHbLdeEeBNMLQDlDWWra3wYUx9EBEIiG/YwAy0XyNHDd2goAsfuA==", + "dev": true, + "dependencies": { + "npm-install-checks": "^4.0.0", + "npm-normalize-package-bin": "^1.0.1", + "npm-package-arg": "^8.1.2", + "semver": "^7.3.4" + } }, - "node_modules/parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "node_modules/npm-registry-fetch": { + "version": "12.0.2", + "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-12.0.2.tgz", + "integrity": "sha512-Df5QT3RaJnXYuOwtXBXS9BWs+tHH2olvkCLh6jcR/b/u3DvPMlp3J0TvvYwplPKxHMOwfg287PYih9QqaVFoKA==", "dev": true, "dependencies": { - "callsites": "^3.0.0" + "make-fetch-happen": "^10.0.1", + "minipass": "^3.1.6", + "minipass-fetch": "^1.4.1", + "minipass-json-stream": "^1.0.1", + "minizlib": "^2.1.2", + "npm-package-arg": "^8.1.5" }, "engines": { - "node": ">=6" + "node": "^12.13.0 || ^14.15.0 || >=16" } }, - "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==", + "node_modules/npm-registry-fetch/node_modules/@npmcli/fs": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-2.1.0.tgz", + "integrity": "sha512-DmfBvNXGaetMxj9LTp8NAN9vEidXURrf5ZTslQzEAi/6GbW+4yjaLFQc6Tue5cpZ9Frlk4OBo/Snf1Bh/S7qTQ==", "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" + "@gar/promisify": "^1.1.3", + "semver": "^7.3.5" }, "engines": { - "node": ">=8" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm-registry-fetch/node_modules/@npmcli/move-file": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-2.0.0.tgz", + "integrity": "sha512-UR6D5f4KEGWJV6BGPH3Qb2EtgH+t+1XQ1Tt85c7qicN6cezzuHPdZwwAxqZr4JLtnQu0LZsTza/5gmNmSl8XLg==", + "dev": true, + "dependencies": { + "mkdirp": "^1.0.4", + "rimraf": "^3.0.2" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/parse-node-version": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz", - "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==", + "node_modules/npm-registry-fetch/node_modules/@tootallnate/once": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", + "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", "dev": true, "engines": { - "node": ">= 0.10" + "node": ">= 10" } }, - "node_modules/parse5": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-3.0.3.tgz", - "integrity": "sha512-rgO9Zg5LLLkfJF9E6CCmXlSE4UVceloys8JrFqCcHloC3usd/kJCyPDwH2SOlzix2j3xaP9sUX3e8+kvkuleAA==", + "node_modules/npm-registry-fetch/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dev": true, "dependencies": { - "@types/node": "*" + "balanced-match": "^1.0.0" } }, - "node_modules/parse5-html-rewriting-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5-html-rewriting-stream/-/parse5-html-rewriting-stream-6.0.1.tgz", - "integrity": "sha512-vwLQzynJVEfUlURxgnf51yAJDQTtVpNyGD8tKi2Za7m+akukNHxCcUQMAa/mUGLhCeicFdpy7Tlvj8ZNKadprg==", - "dev": true, - "dependencies": { - "parse5": "^6.0.1", - "parse5-sax-parser": "^6.0.1" - } - }, - "node_modules/parse5-html-rewriting-stream/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/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/parse5-sax-parser": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5-sax-parser/-/parse5-sax-parser-6.0.1.tgz", - "integrity": "sha512-kXX+5S81lgESA0LsDuGjAlBybImAChYRMT+/uKCEXFBFOeEhS52qUCydGhU3qLRD8D9DVjaUo821WK7DM4iCeg==", + "node_modules/npm-registry-fetch/node_modules/cacache": { + "version": "16.1.1", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-16.1.1.tgz", + "integrity": "sha512-VDKN+LHyCQXaaYZ7rA/qtkURU+/yYhviUdvqEv2LT6QPZU8jpyzEkEVAcKlKLt5dJ5BRp11ym8lo3NKLluEPLg==", "dev": true, "dependencies": { - "parse5": "^6.0.1" - } - }, - "node_modules/parse5-sax-parser/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, + "@npmcli/fs": "^2.1.0", + "@npmcli/move-file": "^2.0.0", + "chownr": "^2.0.0", + "fs-minipass": "^2.1.0", + "glob": "^8.0.1", + "infer-owner": "^1.0.4", + "lru-cache": "^7.7.1", + "minipass": "^3.1.6", + "minipass-collect": "^1.0.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "mkdirp": "^1.0.4", + "p-map": "^4.0.0", + "promise-inflight": "^1.0.1", + "rimraf": "^3.0.2", + "ssri": "^9.0.0", + "tar": "^6.1.11", + "unique-filename": "^1.1.1" + }, "engines": { - "node": ">=0.10.0" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "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": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "node_modules/npm-registry-fetch/node_modules/glob": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.0.3.tgz", + "integrity": "sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==", "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, "engines": { - "node": ">=4" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "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=", + "node_modules/npm-registry-fetch/node_modules/http-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", + "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", "dev": true, + "dependencies": { + "@tootallnate/once": "2", + "agent-base": "6", + "debug": "4" + }, "engines": { - "node": ">=0.10.0" + "node": ">= 6" } }, - "node_modules/path-is-inside": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", - "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", - "dev": true - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "node_modules/npm-registry-fetch/node_modules/lru-cache": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.10.1.tgz", + "integrity": "sha512-BQuhQxPuRl79J5zSXRP+uNzPOyZw2oFI9JLRQ80XswSvg21KMKNtQza9eF42rfI/3Z40RvzBdXgziEkudzjo8A==", "dev": true, "engines": { - "node": ">=8" + "node": ">=12" } }, - "node_modules/path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true - }, - "node_modules/path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=", - "dev": true - }, - "node_modules/path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "node_modules/npm-registry-fetch/node_modules/make-fetch-happen": { + "version": "10.1.8", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-10.1.8.tgz", + "integrity": "sha512-0ASJbG12Au6+N5I84W+8FhGS6iM8MyzvZady+zaQAu+6IOaESFzCLLD0AR1sAFF3Jufi8bxm586ABN6hWd3k7g==", "dev": true, + "dependencies": { + "agentkeepalive": "^4.2.1", + "cacache": "^16.1.0", + "http-cache-semantics": "^4.1.0", + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.0", + "is-lambda": "^1.0.1", + "lru-cache": "^7.7.1", + "minipass": "^3.1.6", + "minipass-collect": "^1.0.2", + "minipass-fetch": "^2.0.3", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.3", + "promise-retry": "^2.0.1", + "socks-proxy-agent": "^7.0.0", + "ssri": "^9.0.0" + }, "engines": { - "node": ">=8" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/pend": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", - "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=", - "dev": true - }, - "node_modules/performance-now": { + "node_modules/npm-registry-fetch/node_modules/make-fetch-happen/node_modules/minipass-fetch": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", - "dev": true - }, - "node_modules/picomatch": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz", - "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-2.1.0.tgz", + "integrity": "sha512-H9U4UVBGXEyyWJnqYDCLp1PwD8XIkJ4akNHp1aGVI+2Ym7wQMlxDKi4IB4JbmyU+pl9pEs/cVrK6cOuvmbK4Sg==", "dev": true, - "engines": { - "node": ">=8.6" + "dependencies": { + "minipass": "^3.1.6", + "minipass-sized": "^1.0.3", + "minizlib": "^2.1.2" }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "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/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": "^12.13.0 || ^14.15.0 || >=16.0.0" + }, + "optionalDependencies": { + "encoding": "^0.1.13" } }, - "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=", + "node_modules/npm-registry-fetch/node_modules/minimatch": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz", + "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==", "dev": true, "dependencies": { - "pinkie": "^2.0.0" + "brace-expansion": "^2.0.1" }, "engines": { - "node": ">=0.10.0" + "node": ">=10" } }, - "node_modules/pkg-dir": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", - "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", + "node_modules/npm-registry-fetch/node_modules/socks-proxy-agent": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-7.0.0.tgz", + "integrity": "sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww==", "dev": true, "dependencies": { - "find-up": "^2.1.0" + "agent-base": "^6.0.2", + "debug": "^4.3.3", + "socks": "^2.6.2" }, "engines": { - "node": ">=4" + "node": ">= 10" } }, - "node_modules/plist": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/plist/-/plist-3.0.2.tgz", - "integrity": "sha512-MSrkwZBdQ6YapHy87/8hDU8MnIcyxBKjeF+McXnr5A9MtffPewTs7G3hlpodT5TacyfIyFTaJEhh3GGcmasTgQ==", + "node_modules/npm-registry-fetch/node_modules/ssri": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-9.0.1.tgz", + "integrity": "sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q==", "dev": true, "dependencies": { - "base64-js": "^1.5.1", - "xmlbuilder": "^9.0.7", - "xmldom": "^0.5.0" + "minipass": "^3.1.1" }, "engines": { - "node": ">=6" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/plist/node_modules/xmlbuilder": { - "version": "9.0.7", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz", - "integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=", + "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": ">=4.0" + "node": ">=8" } }, - "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==", + "node_modules/npmlog": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", + "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", "dev": true, "dependencies": { - "async": "^2.6.2", - "debug": "^3.1.1", - "mkdirp": "^0.5.5" + "are-we-there-yet": "^3.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^4.0.3", + "set-blocking": "^2.0.0" }, "engines": { - "node": ">= 0.12.0" + "node": "^12.13.0 || ^14.15.0 || >=16.0.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==", + "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": { - "ms": "^2.1.1" + "boolbase": "~1.0.0" } }, - "node_modules/portfinder/node_modules/mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "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, - "dependencies": { - "minimist": "^1.2.5" - }, - "bin": { - "mkdirp": "bin/cmd.js" + "engines": { + "node": "*" } }, - "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=", + "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/postcss": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.3.0.tgz", - "integrity": "sha512-+ogXpdAjWGa+fdYY5BQ96V/6tAo+TdSSIMP5huJBIygdWwKtVoB5JWZ7yUd4xZ8r+8Kvvx4nyg/PQ071H4UtcQ==", + "node_modules/object-inspect": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.11.0.tgz", + "integrity": "sha512-jp7ikS6Sd3GxQfZJPyH3cjcbJF6GZPClgdV+EFygjFLQ5FmW/dRUnTd9PQ9k0JhoNDabWFbpF1yCdSWCC6gexg==", "dev": true, - "dependencies": { - "colorette": "^1.2.2", - "nanoid": "^3.1.23", - "source-map-js": "^0.6.2" - }, - "engines": { - "node": "^10 || ^12 || >=14" - }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-attribute-case-insensitive": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-4.0.2.tgz", - "integrity": "sha512-clkFxk/9pcdb4Vkn0hAHq3YnxBQ2p0CGD1dy24jN+reBck+EWxMbxSUqN4Yj7t0w8csl87K6p0gxBe1utkJsYA==", - "dev": true, - "dependencies": { - "postcss": "^7.0.2", - "postcss-selector-parser": "^6.0.2" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/postcss-attribute-case-insensitive/node_modules/postcss": { - "version": "7.0.36", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", - "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "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": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" }, "engines": { - "node": ">=6.0.0" + "node": ">= 0.4" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/postcss-attribute-case-insensitive/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==", + "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.10.0" + "node": ">= 0.4" } }, - "node_modules/postcss-attribute-case-insensitive/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==", + "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": { - "has-flag": "^3.0.0" + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" }, "engines": { - "node": ">=6" - } - }, - "node_modules/postcss-calc": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.0.0.tgz", - "integrity": "sha512-5NglwDrcbiy8XXfPM11F3HeC6hoT9W7GUH/Zi5U/p7u3Irv4rHhdDcIZwG0llHXV4ftsBjpfWMXAnXNl4lnt8g==", - "dev": true, - "dependencies": { - "postcss-selector-parser": "^6.0.2", - "postcss-value-parser": "^4.0.2" + "node": ">= 0.4" }, - "peerDependencies": { - "postcss": "^8.2.2" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/postcss-color-functional-notation": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-2.0.1.tgz", - "integrity": "sha512-ZBARCypjEDofW4P6IdPVTLhDNXPRn8T2s1zHbZidW6rPaaZvcnCS2soYFIQJrMZSxiePJ2XIYTlcb2ztr/eT2g==", + "node_modules/object.values": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.4.tgz", + "integrity": "sha512-TnGo7j4XSnKQoK3MfvkzqKCi0nVe/D9I9IjwTNYdb/fxYHpjrluHVOgw0AF6jrRFGMPHdfuidR09tIDiIvnaSg==", "dev": true, "dependencies": { - "postcss": "^7.0.2", - "postcss-values-parser": "^2.0.0" + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.18.2" }, "engines": { - "node": ">=6.0.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/postcss-color-functional-notation/node_modules/postcss": { - "version": "7.0.36", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", - "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "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": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" + "ee-first": "1.1.1" }, "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" + "node": ">= 0.8" } }, - "node_modules/postcss-color-functional-notation/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==", + "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.10.0" + "node": ">= 0.8" } }, - "node_modules/postcss-color-functional-notation/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==", + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "dev": true, "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" + "wrappy": "1" } }, - "node_modules/postcss-color-gray": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-color-gray/-/postcss-color-gray-5.0.0.tgz", - "integrity": "sha512-q6BuRnAGKM/ZRpfDascZlIZPjvwsRye7UDNalqVz3s7GDxMtqPY6+Q871liNxsonUw8oC61OG+PSaysYpl1bnw==", + "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": { - "@csstools/convert-colors": "^1.4.0", - "postcss": "^7.0.5", - "postcss-values-parser": "^2.0.0" + "mimic-fn": "^2.1.0" }, "engines": { - "node": ">=6.0.0" + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/postcss-color-gray/node_modules/postcss": { - "version": "7.0.36", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", - "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "node_modules/open": { + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/open/-/open-8.4.0.tgz", + "integrity": "sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==", "dev": true, "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" }, "engines": { - "node": ">=6.0.0" + "node": ">=12" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-color-gray/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" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/postcss-color-gray/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==", + "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": { - "has-flag": "^3.0.0" + "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": ">=6" + "node": ">= 0.8.0" } }, - "node_modules/postcss-color-hex-alpha": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/postcss-color-hex-alpha/-/postcss-color-hex-alpha-5.0.3.tgz", - "integrity": "sha512-PF4GDel8q3kkreVXKLAGNpHKilXsZ6xuu+mOQMHWHLPNyjiUBOr75sp5ZKJfmv1MCus5/DWUGcK9hm6qHEnXYw==", + "node_modules/ora": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.0.tgz", + "integrity": "sha512-1StwyXQGoU6gdjYkyVcqOLnVlbKj+6yPNNOxJVgpt9t4eksKjiriiHuxktLYkgllwk+D6MbC4ihH84L1udRXPg==", "dev": true, "dependencies": { - "postcss": "^7.0.14", - "postcss-values-parser": "^2.0.1" + "bl": "^4.1.0", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.5.0", + "is-interactive": "^1.0.0", + "is-unicode-supported": "^0.1.0", + "log-symbols": "^4.1.0", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" }, "engines": { - "node": ">=6.0.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/postcss-color-hex-alpha/node_modules/postcss": { - "version": "7.0.36", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", - "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "node_modules/ora/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" + "color-convert": "^2.0.1" }, "engines": { - "node": ">=6.0.0" + "node": ">=8" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/postcss-color-hex-alpha/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==", + "node_modules/ora/node_modules/chalk": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", + "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/postcss-color-hex-alpha/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==", + "node_modules/ora/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "dependencies": { - "has-flag": "^3.0.0" + "color-name": "~1.1.4" }, "engines": { - "node": ">=6" + "node": ">=7.0.0" } }, - "node_modules/postcss-color-mod-function": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/postcss-color-mod-function/-/postcss-color-mod-function-3.0.3.tgz", - "integrity": "sha512-YP4VG+xufxaVtzV6ZmhEtc+/aTXH3d0JLpnYfxqTvwZPbJhWqp8bSY3nfNzNRFLgB4XSaBA82OE4VjOOKpCdVQ==", + "node_modules/ora/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/ora/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, - "dependencies": { - "@csstools/convert-colors": "^1.4.0", - "postcss": "^7.0.2", - "postcss-values-parser": "^2.0.0" - }, "engines": { - "node": ">=6.0.0" + "node": ">=8" } }, - "node_modules/postcss-color-mod-function/node_modules/postcss": { - "version": "7.0.36", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", - "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "node_modules/ora/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" + "node": ">=8" } }, - "node_modules/postcss-color-mod-function/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==", + "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/postcss-color-mod-function/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==", + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "dev": true, "dependencies": { - "has-flag": "^3.0.0" + "yocto-queue": "^0.1.0" }, "engines": { - "node": ">=6" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/postcss-color-rebeccapurple": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-4.0.1.tgz", - "integrity": "sha512-aAe3OhkS6qJXBbqzvZth2Au4V3KieR5sRQ4ptb2b2O8wgvB3SJBsdG+jsn2BZbbwekDG8nTfcCNKcSfe/lEy8g==", + "node_modules/p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", "dev": true, "dependencies": { - "postcss": "^7.0.2", - "postcss-values-parser": "^2.0.0" + "p-limit": "^1.1.0" }, "engines": { - "node": ">=6.0.0" + "node": ">=4" } }, - "node_modules/postcss-color-rebeccapurple/node_modules/postcss": { - "version": "7.0.36", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", - "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "node_modules/p-locate/node_modules/p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", "dev": true, "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" + "p-try": "^1.0.0" }, "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" + "node": ">=4" } }, - "node_modules/postcss-color-rebeccapurple/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==", + "node_modules/p-locate/node_modules/p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "node_modules/postcss-color-rebeccapurple/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==", + "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": { - "has-flag": "^3.0.0" + "aggregate-error": "^3.0.0" }, "engines": { - "node": ">=6" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/postcss-colormin": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.2.0.tgz", - "integrity": "sha512-+HC6GfWU3upe5/mqmxuqYZ9B2Wl4lcoUUNkoaX59nEWV4EtADCMiBqui111Bu8R8IvaZTmqmxrqOAqjbHIwXPw==", + "node_modules/p-retry": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz", + "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==", "dev": true, "dependencies": { - "browserslist": "^4.16.6", - "caniuse-api": "^3.0.0", - "colord": "^2.0.1", - "postcss-value-parser": "^4.1.0" + "@types/retry": "0.12.0", + "retry": "^0.13.1" }, "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node": ">=8" } }, - "node_modules/postcss-convert-values": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.0.1.tgz", - "integrity": "sha512-C3zR1Do2BkKkCgC0g3sF8TS0koF2G+mN8xxayZx3f10cIRmTaAnpgpRQZjNekTZxM2ciSPoh2IWJm0VZx8NoQg==", + "node_modules/p-retry/node_modules/retry": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", + "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", "dev": true, - "dependencies": { - "postcss-value-parser": "^4.1.0" - }, "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node": ">= 4" } }, - "node_modules/postcss-custom-media": { - "version": "7.0.8", - "resolved": "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-7.0.8.tgz", - "integrity": "sha512-c9s5iX0Ge15o00HKbuRuTqNndsJUbaXdiNsksnVH8H4gdc+zbLzr/UasOwNG6CTDpLFekVY4672eWdiiWu2GUg==", + "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, - "dependencies": { - "postcss": "^7.0.14" - }, "engines": { - "node": ">=6.0.0" + "node": ">=6" } }, - "node_modules/postcss-custom-media/node_modules/postcss": { - "version": "7.0.36", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", - "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "node_modules/pacote": { + "version": "12.0.3", + "resolved": "https://registry.npmjs.org/pacote/-/pacote-12.0.3.tgz", + "integrity": "sha512-CdYEl03JDrRO3x18uHjBYA9TyoW8gy+ThVcypcDkxPtKlw76e4ejhYB6i9lJ+/cebbjpqPW/CijjqxwDTts8Ow==", "dev": true, "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" + "@npmcli/git": "^2.1.0", + "@npmcli/installed-package-contents": "^1.0.6", + "@npmcli/promise-spawn": "^1.2.0", + "@npmcli/run-script": "^2.0.0", + "cacache": "^15.0.5", + "chownr": "^2.0.0", + "fs-minipass": "^2.1.0", + "infer-owner": "^1.0.4", + "minipass": "^3.1.3", + "mkdirp": "^1.0.3", + "npm-package-arg": "^8.0.1", + "npm-packlist": "^3.0.0", + "npm-pick-manifest": "^6.0.0", + "npm-registry-fetch": "^12.0.0", + "promise-retry": "^2.0.1", + "read-package-json-fast": "^2.0.1", + "rimraf": "^3.0.2", + "ssri": "^8.0.1", + "tar": "^6.1.0" }, - "engines": { - "node": ">=6.0.0" + "bin": { + "pacote": "lib/bin.js" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-custom-media/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": "^12.13.0 || ^14.15.0 || >=16" } }, - "node_modules/postcss-custom-media/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==", + "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/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": { - "has-flag": "^3.0.0" + "callsites": "^3.0.0" }, "engines": { "node": ">=6" } }, - "node_modules/postcss-custom-properties": { - "version": "8.0.11", - "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-8.0.11.tgz", - "integrity": "sha512-nm+o0eLdYqdnJ5abAJeXp4CEU1c1k+eB2yMCvhgzsds/e0umabFrN6HoTy/8Q4K5ilxERdl/JD1LO5ANoYBeMA==", - "dev": true, + "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==", "dependencies": { - "postcss": "^7.0.17", - "postcss-values-parser": "^2.0.1" - }, - "engines": { - "node": ">=6.0.0" + "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/postcss-custom-properties/node_modules/postcss": { - "version": "7.0.36", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", - "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "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": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" + "@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": ">=6.0.0" + "node": ">=8" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/postcss-custom-properties/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==", + "node_modules/parse-node-version": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz", + "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==", "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">= 0.10" } }, - "node_modules/postcss-custom-properties/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==", + "node_modules/parse5": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-3.0.3.tgz", + "integrity": "sha512-rgO9Zg5LLLkfJF9E6CCmXlSE4UVceloys8JrFqCcHloC3usd/kJCyPDwH2SOlzix2j3xaP9sUX3e8+kvkuleAA==", "dev": true, "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" + "@types/node": "*" } }, - "node_modules/postcss-custom-selectors": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-5.1.2.tgz", - "integrity": "sha512-DSGDhqinCqXqlS4R7KGxL1OSycd1lydugJ1ky4iRXPHdBRiozyMHrdu0H3o7qNOCiZwySZTUI5MV0T8QhCLu+w==", + "node_modules/parse5-html-rewriting-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5-html-rewriting-stream/-/parse5-html-rewriting-stream-6.0.1.tgz", + "integrity": "sha512-vwLQzynJVEfUlURxgnf51yAJDQTtVpNyGD8tKi2Za7m+akukNHxCcUQMAa/mUGLhCeicFdpy7Tlvj8ZNKadprg==", "dev": true, "dependencies": { - "postcss": "^7.0.2", - "postcss-selector-parser": "^5.0.0-rc.3" - }, - "engines": { - "node": ">=6.0.0" + "parse5": "^6.0.1", + "parse5-sax-parser": "^6.0.1" } }, - "node_modules/postcss-custom-selectors/node_modules/cssesc": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz", - "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==", + "node_modules/parse5-html-rewriting-stream/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/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, - "bin": { - "cssesc": "bin/cssesc" - }, - "engines": { - "node": ">=4" + "dependencies": { + "parse5": "^6.0.1" } }, - "node_modules/postcss-custom-selectors/node_modules/postcss": { - "version": "7.0.36", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", - "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "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/parse5-sax-parser": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5-sax-parser/-/parse5-sax-parser-6.0.1.tgz", + "integrity": "sha512-kXX+5S81lgESA0LsDuGjAlBybImAChYRMT+/uKCEXFBFOeEhS52qUCydGhU3qLRD8D9DVjaUo821WK7DM4iCeg==", "dev": true, "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, + "parse5": "^6.0.1" + } + }, + "node_modules/parse5-sax-parser/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": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" + "node": ">= 0.8" } }, - "node_modules/postcss-custom-selectors/node_modules/postcss-selector-parser": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz", - "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==", + "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, - "dependencies": { - "cssesc": "^2.0.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - }, "engines": { "node": ">=4" } }, - "node_modules/postcss-custom-selectors/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==", + "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/postcss-custom-selectors/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==", + "node_modules/path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", + "dev": true + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, "engines": { - "node": ">=6" + "node": ">=8" } }, - "node_modules/postcss-dir-pseudo-class": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-5.0.0.tgz", - "integrity": "sha512-3pm4oq8HYWMZePJY+5ANriPs3P07q+LW6FAdTlkFH2XqDdP4HeeJYMOzn0HYLhRSjBO3fhiqSwwU9xEULSrPgw==", + "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": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==", + "dev": true + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", "dev": true, - "dependencies": { - "postcss": "^7.0.2", - "postcss-selector-parser": "^5.0.0-rc.3" - }, "engines": { - "node": ">=4.0.0" + "node": ">=8" } }, - "node_modules/postcss-dir-pseudo-class/node_modules/cssesc": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz", - "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==", - "dev": true, - "bin": { - "cssesc": "bin/cssesc" + "node_modules/pbkdf2": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", + "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", + "dependencies": { + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" }, "engines": { - "node": ">=4" + "node": ">=0.12" } }, - "node_modules/postcss-dir-pseudo-class/node_modules/postcss": { - "version": "7.0.36", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", - "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "node_modules/pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=", + "dev": true + }, + "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.0", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz", + "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==", "dev": true, - "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, "engines": { - "node": ">=6.0.0" + "node": ">=8.6" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" + "url": "https://github.com/sponsors/jonschlinkert" } }, - "node_modules/postcss-dir-pseudo-class/node_modules/postcss-selector-parser": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz", - "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==", + "node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", "dev": true, - "dependencies": { - "cssesc": "^2.0.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - }, "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "node_modules/postcss-dir-pseudo-class/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==", + "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/postcss-dir-pseudo-class/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==", + "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": { - "has-flag": "^3.0.0" + "pinkie": "^2.0.0" }, "engines": { - "node": ">=6" + "node": ">=0.10.0" } }, - "node_modules/postcss-discard-comments": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.0.1.tgz", - "integrity": "sha512-lgZBPTDvWrbAYY1v5GYEv8fEO/WhKOu/hmZqmCYfrpD6eyDWWzAOsl2rF29lpvziKO02Gc5GJQtlpkTmakwOWg==", + "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": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node": ">= 6" } }, - "node_modules/postcss-discard-duplicates": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.0.1.tgz", - "integrity": "sha512-svx747PWHKOGpAXXQkCc4k/DsWo+6bc5LsVrAsw+OU+Ibi7klFZCyX54gjYzX4TH+f2uzXjRviLARxkMurA2bA==", + "node_modules/piscina": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/piscina/-/piscina-3.2.0.tgz", + "integrity": "sha512-yn/jMdHRw+q2ZJhFhyqsmANcbF6V2QwmD84c6xRau+QpQOmtrBCoRGdvTfeuFDYXB5W2m6MfLkjkvQa9lUSmIA==", "dev": true, - "engines": { - "node": "^10 || ^12 || >=14.0" + "dependencies": { + "eventemitter-asyncresource": "^1.0.0", + "hdr-histogram-js": "^2.0.1", + "hdr-histogram-percentiles-obj": "^3.0.0" }, - "peerDependencies": { - "postcss": "^8.2.15" + "optionalDependencies": { + "nice-napi": "^1.0.2" } }, - "node_modules/postcss-discard-empty": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.0.1.tgz", - "integrity": "sha512-vfU8CxAQ6YpMxV2SvMcMIyF2LX1ZzWpy0lqHDsOdaKKLQVQGVP1pzhrI9JlsO65s66uQTfkQBKBD/A5gp9STFw==", + "node_modules/pkg-dir": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", + "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", "dev": true, - "engines": { - "node": "^10 || ^12 || >=14.0" + "dependencies": { + "find-up": "^2.1.0" }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-discard-overridden": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.0.1.tgz", - "integrity": "sha512-Y28H7y93L2BpJhrdUR2SR2fnSsT+3TVx1NmVQLbcnZWwIUpJ7mfcTC6Za9M2PG6w8j7UQRfzxqn8jU2VwFxo3Q==", - "dev": true, "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node": ">=4" } }, - "node_modules/postcss-double-position-gradients": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-1.0.0.tgz", - "integrity": "sha512-G+nV8EnQq25fOI8CH/B6krEohGWnF5+3A6H/+JEpOncu5dCnkS1QQ6+ct3Jkaepw1NGVqqOZH6lqrm244mCftA==", + "node_modules/plist": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/plist/-/plist-3.0.2.tgz", + "integrity": "sha512-MSrkwZBdQ6YapHy87/8hDU8MnIcyxBKjeF+McXnr5A9MtffPewTs7G3hlpodT5TacyfIyFTaJEhh3GGcmasTgQ==", "dev": true, "dependencies": { - "postcss": "^7.0.5", - "postcss-values-parser": "^2.0.0" + "base64-js": "^1.5.1", + "xmlbuilder": "^9.0.7", + "xmldom": "^0.5.0" }, "engines": { - "node": ">=6.0.0" + "node": ">=6" } }, - "node_modules/postcss-double-position-gradients/node_modules/postcss": { - "version": "7.0.36", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", - "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "node_modules/plist/node_modules/xmlbuilder": { + "version": "9.0.7", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz", + "integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=", "dev": true, - "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" + "node": ">=4.0" } }, - "node_modules/postcss-double-position-gradients/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==", + "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.10.0" + "node": ">= 0.12.0" } }, - "node_modules/postcss-double-position-gradients/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==", + "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": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" + "ms": "^2.1.1" } }, - "node_modules/postcss-env-function": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/postcss-env-function/-/postcss-env-function-2.0.2.tgz", - "integrity": "sha512-rwac4BuZlITeUbiBq60h/xbLzXY43qOsIErngWa4l7Mt+RaSkT7QBjXVGTcBHupykkblHMDrBFh30zchYPaOUw==", + "node_modules/portfinder/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": { - "postcss": "^7.0.2", - "postcss-values-parser": "^2.0.0" + "minimist": "^1.2.6" }, - "engines": { - "node": ">=6.0.0" + "bin": { + "mkdirp": "bin/cmd.js" } }, - "node_modules/postcss-env-function/node_modules/postcss": { - "version": "7.0.36", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", - "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "node_modules/postcss": { + "version": "8.4.5", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.5.tgz", + "integrity": "sha512-jBDboWM8qpaqwkMwItqTQTiFikhs/67OYVvblFFTM7MrZjt6yMKd6r2kgXizEbTTljacm4NldIlZnhbjr84QYg==", "dev": true, "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" + "nanoid": "^3.1.30", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.1" }, "engines": { - "node": ">=6.0.0" + "node": "^10 || ^12 || >=14" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/postcss/" } }, - "node_modules/postcss-env-function/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/postcss-env-function/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==", + "node_modules/postcss-attribute-case-insensitive": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-5.0.1.tgz", + "integrity": "sha512-wrt2VndqSLJpyBRNz9OmJcgnhI9MaongeWgapdBuUMu2a/KNJ8SENesG4SdiTnQwGO9b1VKbTWYAfCPeokLqZQ==", "dev": true, "dependencies": { - "has-flag": "^3.0.0" + "postcss-selector-parser": "^6.0.10" }, "engines": { - "node": ">=6" + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.3" } }, - "node_modules/postcss-focus-visible": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-focus-visible/-/postcss-focus-visible-4.0.0.tgz", - "integrity": "sha512-Z5CkWBw0+idJHSV6+Bgf2peDOFf/x4o+vX/pwcNYrWpXFrSfTkQ3JQ1ojrq9yS+upnAlNRHeg8uEwFTgorjI8g==", + "node_modules/postcss-color-functional-notation": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-4.2.3.tgz", + "integrity": "sha512-5fbr6FzFzjwHXKsVnkmEYrJYG8VNNzvD1tAXaPPWR97S6rhKI5uh2yOfV5TAzhDkZoq4h+chxEplFDc8GeyFtw==", "dev": true, "dependencies": { - "postcss": "^7.0.2" + "postcss-value-parser": "^4.2.0" }, "engines": { - "node": ">=6.0.0" + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.4" } }, - "node_modules/postcss-focus-visible/node_modules/postcss": { - "version": "7.0.36", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", - "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "node_modules/postcss-color-hex-alpha": { + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/postcss-color-hex-alpha/-/postcss-color-hex-alpha-8.0.4.tgz", + "integrity": "sha512-nLo2DCRC9eE4w2JmuKgVA3fGL3d01kGq752pVALF68qpGLmx2Qrk91QTKkdUqqp45T1K1XV8IhQpcu1hoAQflQ==", "dev": true, "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" + "postcss-value-parser": "^4.2.0" }, "engines": { - "node": ">=6.0.0" + "node": "^12 || ^14 || >=16" }, "funding": { "type": "opencollective", - "url": "https://opencollective.com/postcss/" + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.4" } }, - "node_modules/postcss-focus-visible/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==", + "node_modules/postcss-color-rebeccapurple": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-7.1.0.tgz", + "integrity": "sha512-1jtE5AKnZcKq4pjOrltFHcbEM2/IvtbD1OdhZ/wqds18//bh0UmQkffcCkzDJU+/vGodfIsVQeKn+45CJvX9Bw==", "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, "engines": { - "node": ">=0.10.0" + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.3" } }, - "node_modules/postcss-focus-visible/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==", + "node_modules/postcss-custom-media": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-8.0.2.tgz", + "integrity": "sha512-7yi25vDAoHAkbhAzX9dHx2yc6ntS4jQvejrNcC+csQJAXjj15e7VcWfMgLqBNAbOvqi5uIa9huOVwdHbf+sKqg==", "dev": true, "dependencies": { - "has-flag": "^3.0.0" + "postcss-value-parser": "^4.2.0" }, "engines": { - "node": ">=6" + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.3" } }, - "node_modules/postcss-focus-within": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-focus-within/-/postcss-focus-within-3.0.0.tgz", - "integrity": "sha512-W0APui8jQeBKbCGZudW37EeMCjDeVxKgiYfIIEo8Bdh5SpB9sxds/Iq8SEuzS0Q4YFOlG7EPFulbbxujpkrV2w==", + "node_modules/postcss-custom-properties": { + "version": "12.1.8", + "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-12.1.8.tgz", + "integrity": "sha512-8rbj8kVu00RQh2fQF81oBqtduiANu4MIxhyf0HbbStgPtnFlWn0yiaYTpLHrPnJbffVY1s9apWsIoVZcc68FxA==", "dev": true, "dependencies": { - "postcss": "^7.0.2" + "postcss-value-parser": "^4.2.0" }, "engines": { - "node": ">=6.0.0" + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.4" } }, - "node_modules/postcss-focus-within/node_modules/postcss": { - "version": "7.0.36", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", - "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "node_modules/postcss-custom-selectors": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-6.0.3.tgz", + "integrity": "sha512-fgVkmyiWDwmD3JbpCmB45SvvlCD6z9CG6Ie6Iere22W5aHea6oWa7EM2bpnv2Fj3I94L3VbtvX9KqwSi5aFzSg==", "dev": true, "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" + "postcss-selector-parser": "^6.0.4" }, "engines": { - "node": ">=6.0.0" + "node": "^12 || ^14 || >=16" }, "funding": { "type": "opencollective", - "url": "https://opencollective.com/postcss/" + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.3" } }, - "node_modules/postcss-focus-within/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==", + "node_modules/postcss-dir-pseudo-class": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-6.0.4.tgz", + "integrity": "sha512-I8epwGy5ftdzNWEYok9VjW9whC4xnelAtbajGv4adql4FIF09rnrxnA9Y8xSHN47y7gqFIv10C5+ImsLeJpKBw==", "dev": true, + "dependencies": { + "postcss-selector-parser": "^6.0.9" + }, "engines": { - "node": ">=0.10.0" + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" } }, - "node_modules/postcss-focus-within/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==", + "node_modules/postcss-double-position-gradients": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-3.1.1.tgz", + "integrity": "sha512-jM+CGkTs4FcG53sMPjrrGE0rIvLDdCrqMzgDC5fLI7JHDO7o6QG8C5TQBtExb13hdBdoH9C2QVbG4jo2y9lErQ==", "dev": true, "dependencies": { - "has-flag": "^3.0.0" + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" }, "engines": { - "node": ">=6" + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" } }, - "node_modules/postcss-font-variant": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-font-variant/-/postcss-font-variant-4.0.1.tgz", - "integrity": "sha512-I3ADQSTNtLTTd8uxZhtSOrTCQ9G4qUVKPjHiDk0bV75QSxXjVWiJVJ2VLdspGUi9fbW9BcjKJoRvxAH1pckqmA==", + "node_modules/postcss-env-function": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/postcss-env-function/-/postcss-env-function-4.0.6.tgz", + "integrity": "sha512-kpA6FsLra+NqcFnL81TnsU+Z7orGtDTxcOhl6pwXeEq1yFPpRMkCDpHhrz8CFQDr/Wfm0jLiNQ1OsGGPjlqPwA==", "dev": true, "dependencies": { - "postcss": "^7.0.2" + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" } }, - "node_modules/postcss-font-variant/node_modules/postcss": { - "version": "7.0.36", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", - "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "node_modules/postcss-focus-visible": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/postcss-focus-visible/-/postcss-focus-visible-6.0.4.tgz", + "integrity": "sha512-QcKuUU/dgNsstIK6HELFRT5Y3lbrMLEOwG+A4s5cA+fx3A3y/JTq3X9LaOj3OC3ALH0XqyrgQIgey/MIZ8Wczw==", "dev": true, "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" + "postcss-selector-parser": "^6.0.9" }, "engines": { - "node": ">=6.0.0" + "node": "^12 || ^14 || >=16" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" + "peerDependencies": { + "postcss": "^8.4" } }, - "node_modules/postcss-font-variant/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==", + "node_modules/postcss-focus-within": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/postcss-focus-within/-/postcss-focus-within-5.0.4.tgz", + "integrity": "sha512-vvjDN++C0mu8jz4af5d52CB184ogg/sSxAFS+oUJQq2SuCe7T5U2iIsVJtsCp2d6R4j0jr5+q3rPkBVZkXD9fQ==", "dev": true, + "dependencies": { + "postcss-selector-parser": "^6.0.9" + }, "engines": { - "node": ">=0.10.0" + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" } }, - "node_modules/postcss-font-variant/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==", + "node_modules/postcss-font-variant": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-font-variant/-/postcss-font-variant-5.0.0.tgz", + "integrity": "sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA==", "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" + "peerDependencies": { + "postcss": "^8.1.0" } }, "node_modules/postcss-gap-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-2.0.0.tgz", - "integrity": "sha512-QZSqDaMgXCHuHTEzMsS2KfVDOq7ZFiknSpkrPJY6jmxbugUPTuSzs/vuE5I3zv0WAS+3vhrlqhijiprnuQfzmg==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-3.0.3.tgz", + "integrity": "sha512-rPPZRLPmEKgLk/KlXMqRaNkYTUpE7YC+bOIQFN5xcu1Vp11Y4faIXv6/Jpft6FMnl6YRxZqDZG0qQOW80stzxQ==", "dev": true, - "dependencies": { - "postcss": "^7.0.2" - }, "engines": { - "node": ">=6.0.0" + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" } }, - "node_modules/postcss-gap-properties/node_modules/postcss": { - "version": "7.0.36", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", - "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "node_modules/postcss-image-set-function": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/postcss-image-set-function/-/postcss-image-set-function-4.0.6.tgz", + "integrity": "sha512-KfdC6vg53GC+vPd2+HYzsZ6obmPqOk6HY09kttU19+Gj1nC3S3XBVEXDHxkhxTohgZqzbUb94bKXvKDnYWBm/A==", "dev": true, "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" + "postcss-value-parser": "^4.2.0" }, "engines": { - "node": ">=6.0.0" + "node": "^12 || ^14 || >=16" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" + "peerDependencies": { + "postcss": "^8.4" } }, - "node_modules/postcss-gap-properties/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==", + "node_modules/postcss-import": { + "version": "14.0.2", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-14.0.2.tgz", + "integrity": "sha512-BJ2pVK4KhUyMcqjuKs9RijV5tatNzNa73e/32aBVE/ejYPe37iH+6vAu9WvqUkB5OAYgLHzbSvzHnorybJCm9g==", "dev": true, + "dependencies": { + "postcss-value-parser": "^4.0.0", + "read-cache": "^1.0.0", + "resolve": "^1.1.7" + }, "engines": { - "node": ">=0.10.0" + "node": ">=10.0.0" + }, + "peerDependencies": { + "postcss": "^8.0.0" } }, - "node_modules/postcss-gap-properties/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==", + "node_modules/postcss-initial": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-initial/-/postcss-initial-4.0.1.tgz", + "integrity": "sha512-0ueD7rPqX8Pn1xJIjay0AZeIuDoF+V+VvMt/uOnn+4ezUKhZM/NokDeP6DwMNyIoYByuN/94IQnt5FEkaN59xQ==", "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" + "peerDependencies": { + "postcss": "^8.0.0" } }, - "node_modules/postcss-image-set-function": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/postcss-image-set-function/-/postcss-image-set-function-3.0.1.tgz", - "integrity": "sha512-oPTcFFip5LZy8Y/whto91L9xdRHCWEMs3e1MdJxhgt4jy2WYXfhkng59fH5qLXSCPN8k4n94p1Czrfe5IOkKUw==", + "node_modules/postcss-lab-function": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-4.2.0.tgz", + "integrity": "sha512-Zb1EO9DGYfa3CP8LhINHCcTTCTLI+R3t7AX2mKsDzdgVQ/GkCpHOTgOr6HBHslP7XDdVbqgHW5vvRPMdVANQ8w==", "dev": true, "dependencies": { - "postcss": "^7.0.2", - "postcss-values-parser": "^2.0.0" + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" }, "engines": { - "node": ">=6.0.0" + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.4" } }, - "node_modules/postcss-image-set-function/node_modules/postcss": { - "version": "7.0.36", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", - "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "node_modules/postcss-loader": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-6.2.1.tgz", + "integrity": "sha512-WbbYpmAaKcux/P66bZ40bpWsBucjx/TTgVVzRZ9yUO8yQfVBlameJ0ZGVaPfH64hNSBh63a+ICP5nqOpBA0w+Q==", "dev": true, "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" + "cosmiconfig": "^7.0.0", + "klona": "^2.0.5", + "semver": "^7.3.5" }, "engines": { - "node": ">=6.0.0" + "node": ">= 12.13.0" }, "funding": { "type": "opencollective", - "url": "https://opencollective.com/postcss/" + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "postcss": "^7.0.0 || ^8.0.1", + "webpack": "^5.0.0" } }, - "node_modules/postcss-image-set-function/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==", + "node_modules/postcss-logical": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/postcss-logical/-/postcss-logical-5.0.4.tgz", + "integrity": "sha512-RHXxplCeLh9VjinvMrZONq7im4wjWGlRJAqmAVLXyZaXwfDWP73/oq4NdIp+OZwhQUMj0zjqDfM5Fj7qby+B4g==", "dev": true, "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss-image-set-function/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" + "node": "^12 || ^14 || >=16" }, - "engines": { - "node": ">=6" + "peerDependencies": { + "postcss": "^8.4" } }, - "node_modules/postcss-import": { - "version": "14.0.1", - "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-14.0.1.tgz", - "integrity": "sha512-Xn2+z++vWObbEPhiiKO1a78JiyhqipyrXHBb3AHpv0ks7Cdg+GxQQJ24ODNMTanldf7197gSP3axppO9yaG0lA==", + "node_modules/postcss-media-minmax": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-media-minmax/-/postcss-media-minmax-5.0.0.tgz", + "integrity": "sha512-yDUvFf9QdFZTuCUg0g0uNSHVlJ5X1lSzDZjPSFaiCWvjgsvu8vEVxtahPrLMinIDEEGnx6cBe6iqdx5YWz08wQ==", "dev": true, - "dependencies": { - "postcss-value-parser": "^4.0.0", - "read-cache": "^1.0.0", - "resolve": "^1.1.7" - }, "engines": { "node": ">=10.0.0" }, "peerDependencies": { - "postcss": "^8.0.0" + "postcss": "^8.1.0" } }, - "node_modules/postcss-initial": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/postcss-initial/-/postcss-initial-3.0.4.tgz", - "integrity": "sha512-3RLn6DIpMsK1l5UUy9jxQvoDeUN4gP939tDcKUHD/kM8SGSKbFAnvkpFpj3Bhtz3HGk1jWY5ZNWX6mPta5M9fg==", + "node_modules/postcss-modules-extract-imports": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz", + "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==", "dev": true, - "dependencies": { - "postcss": "^7.0.2" + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" } }, - "node_modules/postcss-initial/node_modules/postcss": { - "version": "7.0.36", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", - "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "node_modules/postcss-modules-local-by-default": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz", + "integrity": "sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==", "dev": true, "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" + "icss-utils": "^5.0.0", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.1.0" }, "engines": { - "node": ">=6.0.0" + "node": "^10 || ^12 || >= 14" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-initial/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" + "peerDependencies": { + "postcss": "^8.1.0" } }, - "node_modules/postcss-initial/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==", + "node_modules/postcss-modules-scope": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz", + "integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==", "dev": true, "dependencies": { - "has-flag": "^3.0.0" + "postcss-selector-parser": "^6.0.4" }, "engines": { - "node": ">=6" + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" } }, - "node_modules/postcss-lab-function": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-2.0.1.tgz", - "integrity": "sha512-whLy1IeZKY+3fYdqQFuDBf8Auw+qFuVnChWjmxm/UhHWqNHZx+B99EwxTvGYmUBqe3Fjxs4L1BoZTJmPu6usVg==", + "node_modules/postcss-modules-values": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", + "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", "dev": true, "dependencies": { - "@csstools/convert-colors": "^1.4.0", - "postcss": "^7.0.2", - "postcss-values-parser": "^2.0.0" + "icss-utils": "^5.0.0" }, "engines": { - "node": ">=6.0.0" + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" } }, - "node_modules/postcss-lab-function/node_modules/postcss": { - "version": "7.0.36", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", - "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "node_modules/postcss-nesting": { + "version": "10.1.8", + "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-10.1.8.tgz", + "integrity": "sha512-txdb3/idHYsBbNDFo1PFY0ExCgH5nfWi8G5lO49e6iuU42TydbODTzJgF5UuL5bhgeSlnAtDgfFTDG0Cl1zaSQ==", "dev": true, "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" + "@csstools/selector-specificity": "^2.0.0", + "postcss-selector-parser": "^6.0.10" }, "engines": { - "node": ">=6.0.0" + "node": "^12 || ^14 || >=16" }, "funding": { "type": "opencollective", - "url": "https://opencollective.com/postcss/" + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.4" } }, - "node_modules/postcss-lab-function/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==", + "node_modules/postcss-overflow-shorthand": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/postcss-overflow-shorthand/-/postcss-overflow-shorthand-3.0.3.tgz", + "integrity": "sha512-CxZwoWup9KXzQeeIxtgOciQ00tDtnylYIlJBBODqkgS/PU2jISuWOL/mYLHmZb9ZhZiCaNKsCRiLp22dZUtNsg==", "dev": true, "engines": { - "node": ">=0.10.0" + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" } }, - "node_modules/postcss-lab-function/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==", + "node_modules/postcss-page-break": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/postcss-page-break/-/postcss-page-break-3.0.4.tgz", + "integrity": "sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ==", "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" + "peerDependencies": { + "postcss": "^8" } }, - "node_modules/postcss-loader": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-5.2.0.tgz", - "integrity": "sha512-uSuCkENFeUaOYsKrXm0eNNgVIxc71z8RcckLMbVw473rGojFnrUeqEz6zBgXsH2q1EIzXnO/4pEz9RhALjlITA==", + "node_modules/postcss-place": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/postcss-place/-/postcss-place-7.0.4.tgz", + "integrity": "sha512-MrgKeiiu5OC/TETQO45kV3npRjOFxEHthsqGtkh3I1rPbZSbXGD/lZVi9j13cYh+NA8PIAPyk6sGjT9QbRyvSg==", "dev": true, "dependencies": { - "cosmiconfig": "^7.0.0", - "klona": "^2.0.4", - "semver": "^7.3.4" + "postcss-value-parser": "^4.2.0" }, "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" + "node": "^12 || ^14 || >=16" }, "peerDependencies": { - "postcss": "^7.0.0 || ^8.0.1", - "webpack": "^5.0.0" + "postcss": "^8.4" } }, - "node_modules/postcss-logical": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-logical/-/postcss-logical-3.0.0.tgz", - "integrity": "sha512-1SUKdJc2vuMOmeItqGuNaC+N8MzBWFWEkAnRnLpFYj1tGGa7NqyVBujfRtgNa2gXR+6RkGUiB2O5Vmh7E2RmiA==", - "dev": true, - "dependencies": { - "postcss": "^7.0.2" + "node_modules/postcss-preset-env": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-7.2.3.tgz", + "integrity": "sha512-Ok0DhLfwrcNGrBn8sNdy1uZqWRk/9FId0GiQ39W4ILop5GHtjJs8bu1MY9isPwHInpVEPWjb4CEcEaSbBLpfwA==", + "dev": true, + "dependencies": { + "autoprefixer": "^10.4.2", + "browserslist": "^4.19.1", + "caniuse-lite": "^1.0.30001299", + "css-blank-pseudo": "^3.0.2", + "css-has-pseudo": "^3.0.3", + "css-prefers-color-scheme": "^6.0.2", + "cssdb": "^5.0.0", + "postcss-attribute-case-insensitive": "^5.0.0", + "postcss-color-functional-notation": "^4.2.1", + "postcss-color-hex-alpha": "^8.0.2", + "postcss-color-rebeccapurple": "^7.0.2", + "postcss-custom-media": "^8.0.0", + "postcss-custom-properties": "^12.1.2", + "postcss-custom-selectors": "^6.0.0", + "postcss-dir-pseudo-class": "^6.0.3", + "postcss-double-position-gradients": "^3.0.4", + "postcss-env-function": "^4.0.4", + "postcss-focus-visible": "^6.0.3", + "postcss-focus-within": "^5.0.3", + "postcss-font-variant": "^5.0.0", + "postcss-gap-properties": "^3.0.2", + "postcss-image-set-function": "^4.0.4", + "postcss-initial": "^4.0.1", + "postcss-lab-function": "^4.0.3", + "postcss-logical": "^5.0.3", + "postcss-media-minmax": "^5.0.0", + "postcss-nesting": "^10.1.2", + "postcss-overflow-shorthand": "^3.0.2", + "postcss-page-break": "^3.0.4", + "postcss-place": "^7.0.3", + "postcss-pseudo-class-any-link": "^7.0.2", + "postcss-replace-overflow-wrap": "^4.0.0", + "postcss-selector-not": "^5.0.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" }, - "engines": { - "node": ">=6.0.0" + "peerDependencies": { + "postcss": "^8.4" } }, - "node_modules/postcss-logical/node_modules/postcss": { - "version": "7.0.36", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", - "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "node_modules/postcss-pseudo-class-any-link": { + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-7.1.4.tgz", + "integrity": "sha512-JxRcLXm96u14N3RzFavPIE9cRPuOqLDuzKeBsqi4oRk4vt8n0A7I0plFs/VXTg7U2n7g/XkQi0OwqTO3VWBfEg==", "dev": true, "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" + "postcss-selector-parser": "^6.0.10" }, "engines": { - "node": ">=6.0.0" + "node": "^12 || ^14 || >=16" }, "funding": { "type": "opencollective", - "url": "https://opencollective.com/postcss/" + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.4" } }, - "node_modules/postcss-logical/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==", + "node_modules/postcss-replace-overflow-wrap": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-4.0.0.tgz", + "integrity": "sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw==", "dev": true, - "engines": { - "node": ">=0.10.0" + "peerDependencies": { + "postcss": "^8.0.3" } }, - "node_modules/postcss-logical/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==", + "node_modules/postcss-selector-not": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-selector-not/-/postcss-selector-not-5.0.0.tgz", + "integrity": "sha512-/2K3A4TCP9orP4TNS7u3tGdRFVKqz/E6pX3aGnriPG0jU78of8wsUcqE4QAhWEU0d+WnMSF93Ah3F//vUtK+iQ==", "dev": true, "dependencies": { - "has-flag": "^3.0.0" + "balanced-match": "^1.0.0" }, - "engines": { - "node": ">=6" + "peerDependencies": { + "postcss": "^8.1.0" } }, - "node_modules/postcss-media-minmax": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-media-minmax/-/postcss-media-minmax-4.0.0.tgz", - "integrity": "sha512-fo9moya6qyxsjbFAYl97qKO9gyre3qvbMnkOZeZwlsW6XYFsvs2DMGDlchVLfAd8LHPZDxivu/+qW2SMQeTHBw==", + "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": { - "postcss": "^7.0.2" + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" }, "engines": { - "node": ">=6.0.0" + "node": ">=4" } }, - "node_modules/postcss-media-minmax/node_modules/postcss": { - "version": "7.0.36", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", - "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "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/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, - "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" + "node": ">= 0.8.0" } }, - "node_modules/postcss-media-minmax/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==", + "node_modules/pretty-bytes": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", + "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==", "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/postcss-media-minmax/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==", + "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, - "dependencies": { - "has-flag": "^3.0.0" - }, "engines": { - "node": ">=6" + "node": ">=0.4.0" } }, - "node_modules/postcss-merge-longhand": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.0.2.tgz", - "integrity": "sha512-BMlg9AXSI5G9TBT0Lo/H3PfUy63P84rVz3BjCFE9e9Y9RXQZD3+h3YO1kgTNsNJy7bBc1YQp8DmSnwLIW5VPcw==", + "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/promise-retry": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", + "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", "dev": true, "dependencies": { - "css-color-names": "^1.0.1", - "postcss-value-parser": "^4.1.0", - "stylehacks": "^5.0.1" + "err-code": "^2.0.2", + "retry": "^0.12.0" }, "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node": ">=10" } }, - "node_modules/postcss-merge-rules": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.0.2.tgz", - "integrity": "sha512-5K+Md7S3GwBewfB4rjDeol6V/RZ8S+v4B66Zk2gChRqLTCC8yjnHQ601omj9TKftS19OPGqZ/XzoqpzNQQLwbg==", + "node_modules/prompts": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.1.tgz", + "integrity": "sha512-EQyfIuO2hPDsX1L/blblV+H7I0knhgAd82cVneCwcdND9B8AuCDuRcBH6yIcG4dFzlOUqbazQqwGjx5xmsNLuQ==", "dev": true, "dependencies": { - "browserslist": "^4.16.6", - "caniuse-api": "^3.0.0", - "cssnano-utils": "^2.0.1", - "postcss-selector-parser": "^6.0.5", - "vendors": "^1.0.3" + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" }, "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node": ">= 6" } }, - "node_modules/postcss-minify-font-values": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.0.1.tgz", - "integrity": "sha512-7JS4qIsnqaxk+FXY1E8dHBDmraYFWmuL6cgt0T1SWGRO5bzJf8sUoelwa4P88LEWJZweHevAiDKxHlofuvtIoA==", + "node_modules/prompts/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, - "dependencies": { - "postcss-value-parser": "^4.1.0" - }, "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node": ">=6" } }, - "node_modules/postcss-minify-gradients": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.0.1.tgz", - "integrity": "sha512-odOwBFAIn2wIv+XYRpoN2hUV3pPQlgbJ10XeXPq8UY2N+9ZG42xu45lTn/g9zZ+d70NKSQD6EOi6UiCMu3FN7g==", + "node_modules/protractor": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/protractor/-/protractor-7.0.0.tgz", + "integrity": "sha512-UqkFjivi4GcvUQYzqGYNe0mLzfn5jiLmO8w9nMhQoJRLhy2grJonpga2IWhI6yJO30LibWXJJtA4MOIZD2GgZw==", "dev": true, "dependencies": { - "cssnano-utils": "^2.0.1", - "is-color-stop": "^1.1.0", - "postcss-value-parser": "^4.1.0" + "@types/q": "^0.0.32", + "@types/selenium-webdriver": "^3.0.0", + "blocking-proxy": "^1.0.0", + "browserstack": "^1.5.1", + "chalk": "^1.1.3", + "glob": "^7.0.3", + "jasmine": "2.8.0", + "jasminewd2": "^2.1.0", + "q": "1.4.1", + "saucelabs": "^1.5.0", + "selenium-webdriver": "3.6.0", + "source-map-support": "~0.4.0", + "webdriver-js-extender": "2.1.0", + "webdriver-manager": "^12.1.7", + "yargs": "^15.3.1" }, - "engines": { - "node": "^10 || ^12 || >=14.0" + "bin": { + "protractor": "bin/protractor", + "webdriver-manager": "bin/webdriver-manager" }, - "peerDependencies": { - "postcss": "^8.2.15" + "engines": { + "node": ">=10.13.x" } }, - "node_modules/postcss-minify-params": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.0.1.tgz", - "integrity": "sha512-4RUC4k2A/Q9mGco1Z8ODc7h+A0z7L7X2ypO1B6V8057eVK6mZ6xwz6QN64nHuHLbqbclkX1wyzRnIrdZehTEHw==", + "node_modules/protractor/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, - "dependencies": { - "alphanum-sort": "^1.0.2", - "browserslist": "^4.16.0", - "cssnano-utils": "^2.0.1", - "postcss-value-parser": "^4.1.0", - "uniqs": "^2.0.0" - }, "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node": ">=0.10.0" } }, - "node_modules/postcss-minify-selectors": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.1.0.tgz", - "integrity": "sha512-NzGBXDa7aPsAcijXZeagnJBKBPMYLaJJzB8CQh6ncvyl2sIndLVWfbcDi0SBjRWk5VqEjXvf8tYwzoKf4Z07og==", + "node_modules/protractor/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, - "dependencies": { - "alphanum-sort": "^1.0.2", - "postcss-selector-parser": "^6.0.5" - }, "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node": ">=0.10.0" } }, - "node_modules/postcss-modules-extract-imports": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz", - "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==", + "node_modules/protractor/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": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" + "node": ">=6" } }, - "node_modules/postcss-modules-local-by-default": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz", - "integrity": "sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==", + "node_modules/protractor/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": { - "icss-utils": "^5.0.0", - "postcss-selector-parser": "^6.0.2", - "postcss-value-parser": "^4.1.0" + "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": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" + "node": ">=0.10.0" } }, - "node_modules/postcss-modules-scope": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz", - "integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==", + "node_modules/protractor/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": { - "postcss-selector-parser": "^6.0.4" - }, - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" } }, - "node_modules/postcss-modules-values": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", - "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", + "node_modules/protractor/node_modules/cliui/node_modules/ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", "dev": true, - "dependencies": { - "icss-utils": "^5.0.0" - }, "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" + "node": ">=8" } }, - "node_modules/postcss-nesting": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-7.0.1.tgz", - "integrity": "sha512-FrorPb0H3nuVq0Sff7W2rnc3SmIcruVC6YwpcS+k687VxyxO33iE1amna7wHuRVzM8vfiYofXSBHNAZ3QhLvYg==", + "node_modules/protractor/node_modules/cliui/node_modules/strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", "dev": true, "dependencies": { - "postcss": "^7.0.2" + "ansi-regex": "^5.0.0" }, "engines": { - "node": ">=6.0.0" + "node": ">=8" } }, - "node_modules/postcss-nesting/node_modules/postcss": { - "version": "7.0.36", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", - "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "node_modules/protractor/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" + "color-name": "~1.1.4" }, "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" + "node": ">=7.0.0" } }, - "node_modules/postcss-nesting/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/protractor/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true }, - "node_modules/postcss-nesting/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==", + "node_modules/protractor/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": { - "has-flag": "^3.0.0" + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" }, "engines": { - "node": ">=6" + "node": ">=8" } }, - "node_modules/postcss-normalize-charset": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.0.1.tgz", - "integrity": "sha512-6J40l6LNYnBdPSk+BHZ8SF+HAkS4q2twe5jnocgd+xWpz/mx/5Sa32m3W1AA8uE8XaXN+eg8trIlfu8V9x61eg==", + "node_modules/protractor/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, - "engines": { - "node": "^10 || ^12 || >=14.0" + "dependencies": { + "p-locate": "^4.1.0" }, - "peerDependencies": { - "postcss": "^8.2.15" + "engines": { + "node": ">=8" } }, - "node_modules/postcss-normalize-display-values": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.0.1.tgz", - "integrity": "sha512-uupdvWk88kLDXi5HEyI9IaAJTE3/Djbcrqq8YgjvAVuzgVuqIk3SuJWUisT2gaJbZm1H9g5k2w1xXilM3x8DjQ==", + "node_modules/protractor/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": { - "cssnano-utils": "^2.0.1", - "postcss-value-parser": "^4.1.0" + "p-try": "^2.0.0" }, "engines": { - "node": "^10 || ^12 || >=14.0" + "node": ">=6" }, - "peerDependencies": { - "postcss": "^8.2.15" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/postcss-normalize-positions": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.0.1.tgz", - "integrity": "sha512-rvzWAJai5xej9yWqlCb1OWLd9JjW2Ex2BCPzUJrbaXmtKtgfL8dBMOOMTX6TnvQMtjk3ei1Lswcs78qKO1Skrg==", + "node_modules/protractor/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": { - "postcss-value-parser": "^4.1.0" + "p-limit": "^2.2.0" }, "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node": ">=8" } }, - "node_modules/postcss-normalize-repeat-style": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.0.1.tgz", - "integrity": "sha512-syZ2itq0HTQjj4QtXZOeefomckiV5TaUO6ReIEabCh3wgDs4Mr01pkif0MeVwKyU/LHEkPJnpwFKRxqWA/7O3w==", + "node_modules/protractor/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, - "dependencies": { - "cssnano-utils": "^2.0.1", - "postcss-value-parser": "^4.1.0" - }, "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node": ">=8" } }, - "node_modules/postcss-normalize-string": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.0.1.tgz", - "integrity": "sha512-Ic8GaQ3jPMVl1OEn2U//2pm93AXUcF3wz+OriskdZ1AOuYV25OdgS7w9Xu2LO5cGyhHCgn8dMXh9bO7vi3i9pA==", - "dev": true, - "dependencies": { - "postcss-value-parser": "^4.1.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-normalize-timing-functions": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.0.1.tgz", - "integrity": "sha512-cPcBdVN5OsWCNEo5hiXfLUnXfTGtSFiBU9SK8k7ii8UD7OLuznzgNRYkLZow11BkQiiqMcgPyh4ZqXEEUrtQ1Q==", + "node_modules/protractor/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, - "dependencies": { - "cssnano-utils": "^2.0.1", - "postcss-value-parser": "^4.1.0" - }, "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node": ">=0.10.0" } }, - "node_modules/postcss-normalize-unicode": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.0.1.tgz", - "integrity": "sha512-kAtYD6V3pK0beqrU90gpCQB7g6AOfP/2KIPCVBKJM2EheVsBQmx/Iof+9zR9NFKLAx4Pr9mDhogB27pmn354nA==", + "node_modules/protractor/node_modules/source-map-support": { + "version": "0.4.18", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", + "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", "dev": true, "dependencies": { - "browserslist": "^4.16.0", - "postcss-value-parser": "^4.1.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "source-map": "^0.5.6" } }, - "node_modules/postcss-normalize-url": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.0.2.tgz", - "integrity": "sha512-k4jLTPUxREQ5bpajFQZpx8bCF2UrlqOTzP9kEqcEnOfwsRshWs2+oAFIHfDQB8GO2PaUaSE0NlTAYtbluZTlHQ==", + "node_modules/protractor/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": { - "is-absolute-url": "^3.0.3", - "normalize-url": "^6.0.1", - "postcss-value-parser": "^4.1.0" + "ansi-regex": "^2.0.0" }, "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node": ">=0.10.0" } }, - "node_modules/postcss-normalize-whitespace": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.0.1.tgz", - "integrity": "sha512-iPklmI5SBnRvwceb/XH568yyzK0qRVuAG+a1HFUsFRf11lEJTiQQa03a4RSCQvLKdcpX7XsI1Gen9LuLoqwiqA==", + "node_modules/protractor/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, - "dependencies": { - "postcss-value-parser": "^4.1.0" - }, "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node": ">=0.8.0" } }, - "node_modules/postcss-ordered-values": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.0.2.tgz", - "integrity": "sha512-8AFYDSOYWebJYLyJi3fyjl6CqMEG/UVworjiyK1r573I56kb3e879sCJLGvR3merj+fAdPpVplXKQZv+ey6CgQ==", + "node_modules/protractor/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": { - "cssnano-utils": "^2.0.1", - "postcss-value-parser": "^4.1.0" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" }, "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node": ">=8" } }, - "node_modules/postcss-overflow-shorthand": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/postcss-overflow-shorthand/-/postcss-overflow-shorthand-2.0.0.tgz", - "integrity": "sha512-aK0fHc9CBNx8jbzMYhshZcEv8LtYnBIRYQD5i7w/K/wS9c2+0NSR6B3OVMu5y0hBHYLcMGjfU+dmWYNKH0I85g==", + "node_modules/protractor/node_modules/wrap-ansi/node_modules/ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", "dev": true, - "dependencies": { - "postcss": "^7.0.2" - }, "engines": { - "node": ">=6.0.0" + "node": ">=8" } }, - "node_modules/postcss-overflow-shorthand/node_modules/postcss": { - "version": "7.0.36", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", - "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "node_modules/protractor/node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" + "color-convert": "^2.0.1" }, "engines": { - "node": ">=6.0.0" + "node": ">=8" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-overflow-shorthand/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" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/postcss-overflow-shorthand/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==", + "node_modules/protractor/node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", "dev": true, "dependencies": { - "has-flag": "^3.0.0" + "ansi-regex": "^5.0.0" }, "engines": { - "node": ">=6" + "node": ">=8" } }, - "node_modules/postcss-page-break": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/postcss-page-break/-/postcss-page-break-2.0.0.tgz", - "integrity": "sha512-tkpTSrLpfLfD9HvgOlJuigLuk39wVTbbd8RKcy8/ugV2bNBUW3xU+AIqyxhDrQr1VUj1RmyJrBn1YWrqUm9zAQ==", - "dev": true, - "dependencies": { - "postcss": "^7.0.2" - } + "node_modules/protractor/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/postcss-page-break/node_modules/postcss": { - "version": "7.0.36", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", - "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "node_modules/protractor/node_modules/yargs": { + "version": "15.4.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", + "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", "dev": true, "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">=6.0.0" + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-page-break/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": ">=8" } }, - "node_modules/postcss-page-break/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==", + "node_modules/protractor/node_modules/yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", "dev": true, "dependencies": { - "has-flag": "^3.0.0" + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" }, "engines": { "node": ">=6" } }, - "node_modules/postcss-place": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-place/-/postcss-place-4.0.1.tgz", - "integrity": "sha512-Zb6byCSLkgRKLODj/5mQugyuj9bvAAw9LqJJjgwz5cYryGeXfFZfSXoP1UfveccFmeq0b/2xxwcTEVScnqGxBg==", - "dev": true, - "dependencies": { - "postcss": "^7.0.2", - "postcss-values-parser": "^2.0.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/postcss-place/node_modules/postcss": { - "version": "7.0.36", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", - "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "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": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" }, "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" + "node": ">= 0.10" } }, - "node_modules/postcss-place/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==", + "node_modules/proxy-addr/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.0" + "node": ">= 0.10" } }, - "node_modules/postcss-place/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==", + "node_modules/prr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==", "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } + "optional": true }, - "node_modules/postcss-preset-env": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-6.7.0.tgz", - "integrity": "sha512-eU4/K5xzSFwUFJ8hTdTQzo2RBLbDVt83QZrAvI07TULOkmyQlnYlpwep+2yIK+K+0KlZO4BvFcleOCCcUtwchg==", - "dev": true, - "dependencies": { - "autoprefixer": "^9.6.1", - "browserslist": "^4.6.4", - "caniuse-lite": "^1.0.30000981", - "css-blank-pseudo": "^0.1.4", - "css-has-pseudo": "^0.10.0", - "css-prefers-color-scheme": "^3.1.1", - "cssdb": "^4.4.0", - "postcss": "^7.0.17", - "postcss-attribute-case-insensitive": "^4.0.1", - "postcss-color-functional-notation": "^2.0.1", - "postcss-color-gray": "^5.0.0", - "postcss-color-hex-alpha": "^5.0.3", - "postcss-color-mod-function": "^3.0.3", - "postcss-color-rebeccapurple": "^4.0.1", - "postcss-custom-media": "^7.0.8", - "postcss-custom-properties": "^8.0.11", - "postcss-custom-selectors": "^5.1.2", - "postcss-dir-pseudo-class": "^5.0.0", - "postcss-double-position-gradients": "^1.0.0", - "postcss-env-function": "^2.0.2", - "postcss-focus-visible": "^4.0.0", - "postcss-focus-within": "^3.0.0", - "postcss-font-variant": "^4.0.0", - "postcss-gap-properties": "^2.0.0", - "postcss-image-set-function": "^3.0.1", - "postcss-initial": "^3.0.0", - "postcss-lab-function": "^2.0.1", - "postcss-logical": "^3.0.0", - "postcss-media-minmax": "^4.0.0", - "postcss-nesting": "^7.0.0", - "postcss-overflow-shorthand": "^2.0.0", - "postcss-page-break": "^2.0.0", - "postcss-place": "^4.0.1", - "postcss-pseudo-class-any-link": "^6.0.0", - "postcss-replace-overflow-wrap": "^3.0.0", - "postcss-selector-matches": "^4.0.0", - "postcss-selector-not": "^4.0.0" - }, - "engines": { - "node": ">=6.0.0" - } + "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/postcss-preset-env/node_modules/postcss": { - "version": "7.0.36", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", - "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", - "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==", "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-preset-env/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" + "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/postcss-preset-env/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==", + "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, - "dependencies": { - "has-flag": "^3.0.0" - }, "engines": { "node": ">=6" } }, - "node_modules/postcss-pseudo-class-any-link": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-6.0.0.tgz", - "integrity": "sha512-lgXW9sYJdLqtmw23otOzrtbDXofUdfYzNm4PIpNE322/swES3VU9XlXHeJS46zT2onFO7V1QFdD4Q9LiZj8mew==", + "node_modules/q": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.4.1.tgz", + "integrity": "sha1-VXBbzZPF82c1MMLCy8DCs63cKG4=", "dev": true, - "dependencies": { - "postcss": "^7.0.2", - "postcss-selector-parser": "^5.0.0-rc.3" - }, "engines": { - "node": ">=6.0.0" + "node": ">=0.6.0", + "teleport": ">=0.2.0" } }, - "node_modules/postcss-pseudo-class-any-link/node_modules/cssesc": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz", - "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==", + "node_modules/qjobs": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/qjobs/-/qjobs-1.2.0.tgz", + "integrity": "sha512-8YOJEHtxpySA3fFDyCRxA+UUV+fA+rTWnuWvylOK/NCjhY+b4ocCtmu8TtsWb+mYeU+GCHf/S66KZF/AsteKHg==", "dev": true, - "bin": { - "cssesc": "bin/cssesc" - }, "engines": { - "node": ">=4" + "node": ">=0.9" } }, - "node_modules/postcss-pseudo-class-any-link/node_modules/postcss": { - "version": "7.0.36", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", - "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "node_modules/qs": { + "version": "6.10.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz", + "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==", "dev": true, "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" + "side-channel": "^1.0.4" }, "engines": { - "node": ">=6.0.0" + "node": ">=0.6" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/postcss-pseudo-class-any-link/node_modules/postcss-selector-parser": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz", - "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==", + "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, - "dependencies": { - "cssesc": "^2.0.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - }, - "engines": { - "node": ">=4" - } + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] }, - "node_modules/postcss-pseudo-class-any-link/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/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dependencies": { + "safe-buffer": "^5.1.0" } }, - "node_modules/postcss-pseudo-class-any-link/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, + "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==", "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" } }, - "node_modules/postcss-reduce-initial": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.0.1.tgz", - "integrity": "sha512-zlCZPKLLTMAqA3ZWH57HlbCjkD55LX9dsRyxlls+wfuRfqCi5mSlZVan0heX5cHr154Dq9AfbH70LyhrSAezJw==", + "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, - "dependencies": { - "browserslist": "^4.16.0", - "caniuse-api": "^3.0.0" - }, "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node": ">= 0.6" } }, - "node_modules/postcss-reduce-transforms": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.0.1.tgz", - "integrity": "sha512-a//FjoPeFkRuAguPscTVmRQUODP+f3ke2HqFNgGPwdYnpeC29RZdCBvGRGTsKpMURb/I3p6jdKoBQ2zI+9Q7kA==", + "node_modules/raw-body": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", + "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", "dev": true, "dependencies": { - "cssnano-utils": "^2.0.1", - "postcss-value-parser": "^4.1.0" + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" }, "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node": ">= 0.8" } }, - "node_modules/postcss-replace-overflow-wrap": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-3.0.0.tgz", - "integrity": "sha512-2T5hcEHArDT6X9+9dVSPQdo7QHzG4XKclFT8rU5TzJPDN7RIRTbO9c4drUISOVemLj03aezStHCR2AIcr8XLpw==", + "node_modules/read-cache": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", "dev": true, "dependencies": { - "postcss": "^7.0.2" + "pify": "^2.3.0" } }, - "node_modules/postcss-replace-overflow-wrap/node_modules/postcss": { - "version": "7.0.36", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", - "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "node_modules/read-package-json-fast": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-2.0.3.tgz", + "integrity": "sha512-W/BKtbL+dUjTuRL2vziuYhp76s5HZ9qQhd/dKfWIZveD0O40453QNyZhC0e63lqZrAQ4jiOapVoeJ7JrszenQQ==", "dev": true, "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" + "json-parse-even-better-errors": "^2.3.0", + "npm-normalize-package-bin": "^1.0.1" }, "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" + "node": ">=10" } }, - "node_modules/postcss-replace-overflow-wrap/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==", + "node_modules/read-pkg": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", + "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", "dev": true, + "dependencies": { + "load-json-file": "^2.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^2.0.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "node_modules/postcss-replace-overflow-wrap/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==", + "node_modules/read-pkg-up": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", + "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", "dev": true, "dependencies": { - "has-flag": "^3.0.0" + "find-up": "^2.0.0", + "read-pkg": "^2.0.0" }, "engines": { - "node": ">=6" + "node": ">=4" } }, - "node_modules/postcss-selector-matches": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-selector-matches/-/postcss-selector-matches-4.0.0.tgz", - "integrity": "sha512-LgsHwQR/EsRYSqlwdGzeaPKVT0Ml7LAT6E75T8W8xLJY62CE4S/l03BWIt3jT8Taq22kXP08s2SfTSzaraoPww==", + "node_modules/read-pkg/node_modules/path-type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", + "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", "dev": true, "dependencies": { - "balanced-match": "^1.0.0", - "postcss": "^7.0.2" + "pify": "^2.0.0" + }, + "engines": { + "node": ">=4" } }, - "node_modules/postcss-selector-matches/node_modules/postcss": { - "version": "7.0.36", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", - "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", - "dev": true, + "node_modules/readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" }, "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" + "node": ">= 6" } }, - "node_modules/postcss-selector-matches/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==", + "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": ">=0.10.0" + "node": ">=8.10.0" } }, - "node_modules/postcss-selector-matches/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==", + "node_modules/reflect-metadata": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.13.tgz", + "integrity": "sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==", + "dev": true + }, + "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": { - "has-flag": "^3.0.0" + "regenerate": "^1.4.2" }, "engines": { - "node": ">=6" + "node": ">=4" } }, - "node_modules/postcss-selector-not": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-selector-not/-/postcss-selector-not-4.0.1.tgz", - "integrity": "sha512-YolvBgInEK5/79C+bdFMyzqTg6pkYqDbzZIST/PDMqa/o3qtXenD05apBG2jLgT0/BQ77d4U2UK12jWpilqMAQ==", + "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==" + }, + "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": { - "balanced-match": "^1.0.0", - "postcss": "^7.0.2" + "@babel/runtime": "^7.8.4" } }, - "node_modules/postcss-selector-not/node_modules/postcss": { - "version": "7.0.36", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", - "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "node_modules/regex-parser": { + "version": "2.2.11", + "resolved": "https://registry.npmjs.org/regex-parser/-/regex-parser-2.2.11.tgz", + "integrity": "sha512-jbD/FT0+9MBU2XAZluI7w2OBs1RBi6p9M83nkoZayQXXU9e8Robt69FcZc7wU4eJD/YFTjn1JdCk3rbMJajz8Q==", + "dev": true + }, + "node_modules/regexp.prototype.flags": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz", + "integrity": "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==", "dev": true, "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "functions-have-names": "^1.2.2" }, "engines": { - "node": ">=6.0.0" + "node": ">= 0.4" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/postcss-selector-not/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==", + "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": ">=0.10.0" - } - }, - "node_modules/postcss-selector-not/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" + "node": ">=8" }, - "engines": { - "node": ">=6" + "funding": { + "url": "https://github.com/sponsors/mysticatea" } }, - "node_modules/postcss-selector-parser": { - "version": "6.0.6", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.6.tgz", - "integrity": "sha512-9LXrvaaX3+mcv5xkg5kFwqSzSH1JIObIx51PrndZwlmznwXRfxMddDvo9gve3gVR8ZTKgoFDdWkbRFmEhT4PMg==", + "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": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" + "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/postcss-svgo": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.0.2.tgz", - "integrity": "sha512-YzQuFLZu3U3aheizD+B1joQ94vzPfE6BNUcSYuceNxlVnKKsOtdo6hL9/zyC168Q8EwfLSgaDSalsUGa9f2C0A==", - "dev": true, - "dependencies": { - "postcss-value-parser": "^4.1.0", - "svgo": "^2.3.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-unique-selectors": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.0.1.tgz", - "integrity": "sha512-gwi1NhHV4FMmPn+qwBNuot1sG1t2OmacLQ/AX29lzyggnjd+MnVD5uqQmpXO3J17KGL2WAxQruj1qTd3H0gG/w==", + "node_modules/regextras": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/regextras/-/regextras-0.7.1.tgz", + "integrity": "sha512-9YXf6xtW+qzQ+hcMQXx95MOvfqXFgsKDZodX3qZB0x2n5Z94ioetIITsBtvJbiOyxa/6s9AtyweBLCdPmPko/w==", "dev": true, - "dependencies": { - "alphanum-sort": "^1.0.2", - "postcss-selector-parser": "^6.0.5", - "uniqs": "^2.0.0" - }, "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node": ">=0.1.14" } }, - "node_modules/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==", + "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/postcss-values-parser": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/postcss-values-parser/-/postcss-values-parser-2.0.1.tgz", - "integrity": "sha512-2tLuBsA6P4rYTNKCXYG/71C7j1pU6pK503suYOmn4xYrQIzW+opD+7FAFNuGSdZC/3Qfy334QbeMu7MEb8gOxg==", + "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": { - "flatten": "^1.0.2", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" + "jsesc": "~0.5.0" }, - "engines": { - "node": ">=6.14.4" + "bin": { + "regjsparser": "bin/parser" } }, - "node_modules/postcss/node_modules/colorette": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz", - "integrity": "sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==", - "dev": true - }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "node_modules/regjsparser/node_modules/jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", "dev": true, - "engines": { - "node": ">= 0.8.0" + "bin": { + "jsesc": "bin/jsesc" } }, - "node_modules/pretty-bytes": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", - "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==", - "dev": true, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "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/promise-retry": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", - "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", - "dev": true, - "dependencies": { - "err-code": "^2.0.2", - "retry": "^0.12.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/prompts": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.1.tgz", - "integrity": "sha512-EQyfIuO2hPDsX1L/blblV+H7I0knhgAd82cVneCwcdND9B8AuCDuRcBH6yIcG4dFzlOUqbazQqwGjx5xmsNLuQ==", + "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": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" + "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/prompts/node_modules/kleur": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "node_modules/request/node_modules/qs": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", "dev": true, "engines": { - "node": ">=6" + "node": ">=0.6" } }, - "node_modules/protractor": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/protractor/-/protractor-7.0.0.tgz", - "integrity": "sha512-UqkFjivi4GcvUQYzqGYNe0mLzfn5jiLmO8w9nMhQoJRLhy2grJonpga2IWhI6yJO30LibWXJJtA4MOIZD2GgZw==", + "node_modules/request/node_modules/uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", "dev": true, - "dependencies": { - "@types/q": "^0.0.32", - "@types/selenium-webdriver": "^3.0.0", - "blocking-proxy": "^1.0.0", - "browserstack": "^1.5.1", - "chalk": "^1.1.3", - "glob": "^7.0.3", - "jasmine": "2.8.0", - "jasminewd2": "^2.1.0", - "q": "1.4.1", - "saucelabs": "^1.5.0", - "selenium-webdriver": "3.6.0", - "source-map-support": "~0.4.0", - "webdriver-js-extender": "2.1.0", - "webdriver-manager": "^12.1.7", - "yargs": "^15.3.1" - }, "bin": { - "protractor": "bin/protractor", - "webdriver-manager": "bin/webdriver-manager" - }, - "engines": { - "node": ">=10.13.x" + "uuid": "bin/uuid" } }, - "node_modules/protractor/node_modules/ansi-regex": { + "node_modules/require-directory": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "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/protractor/node_modules/ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "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/protractor/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/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/protractor/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/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/protractor/node_modules/cliui": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "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": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" + "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/protractor/node_modules/cliui/node_modules/ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "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": ">=8" + "node": ">=4" } }, - "node_modules/protractor/node_modules/cliui/node_modules/strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "node_modules/resolve-url-loader": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-5.0.0.tgz", + "integrity": "sha512-uZtduh8/8srhBoMx//5bwqjQ+rfYOUq8zC9NrMUGtjBiGTtFJM42s58/36+hTqeqINcnYe08Nj3LkK9lW4N8Xg==", "dev": true, "dependencies": { - "ansi-regex": "^5.0.0" + "adjust-sourcemap-loader": "^4.0.0", + "convert-source-map": "^1.7.0", + "loader-utils": "^2.0.0", + "postcss": "^8.2.14", + "source-map": "0.6.1" }, "engines": { - "node": ">=8" + "node": ">=12" } }, - "node_modules/protractor/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==", + "node_modules/resolve-url-loader/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, - "dependencies": { - "color-name": "~1.1.4" - }, "engines": { - "node": ">=7.0.0" + "node": ">=0.10.0" } }, - "node_modules/protractor/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/protractor/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==", + "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": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" }, "engines": { "node": ">=8" } }, - "node_modules/protractor/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==", + "node_modules/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", "dev": true, - "dependencies": { - "p-locate": "^4.1.0" - }, "engines": { - "node": ">=8" + "node": ">= 4" } }, - "node_modules/protractor/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==", + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", "dev": true, - "dependencies": { - "p-try": "^2.0.0" - }, "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "iojs": ">=1.0.0", + "node": ">=0.10.0" } }, - "node_modules/protractor/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==", + "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/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": { - "p-limit": "^2.2.0" + "glob": "^7.1.3" }, - "engines": { - "node": ">=8" + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/protractor/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/ripemd160": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "dependencies": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1" } }, - "node_modules/protractor/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "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.10.0" + "node": ">=0.12.0" } }, - "node_modules/protractor/node_modules/source-map-support": { - "version": "0.4.18", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", - "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], "dependencies": { - "source-map": "^0.5.6" + "queue-microtask": "^1.2.2" } }, - "node_modules/protractor/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, + "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==", "dependencies": { - "ansi-regex": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" + "tslib": "^2.1.0" } }, - "node_modules/protractor/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/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==" }, - "node_modules/protractor/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==", + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "node_modules/sass": { + "version": "1.49.9", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.49.9.tgz", + "integrity": "sha512-YlYWkkHP9fbwaFRZQRXgDi3mXZShslVmmo+FVK3kHLUELHHEYrCmL1x6IUjC7wLS6VuJSAFXRQS/DxdsC4xL1A==", "dev": true, "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" + "chokidar": ">=3.0.0 <4.0.0", + "immutable": "^4.0.0", + "source-map-js": ">=0.6.2 <2.0.0" + }, + "bin": { + "sass": "sass.js" }, "engines": { - "node": ">=8" - } - }, - "node_modules/protractor/node_modules/wrap-ansi/node_modules/ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "dev": true, - "engines": { - "node": ">=8" + "node": ">=12.0.0" } }, - "node_modules/protractor/node_modules/wrap-ansi/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==", + "node_modules/sass-loader": { + "version": "12.4.0", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-12.4.0.tgz", + "integrity": "sha512-7xN+8khDIzym1oL9XyS6zP6Ges+Bo2B2xbPrjdMHEYyV3AQYhd/wXeru++3ODHF0zMjYmVadblSKrPrjEkL8mg==", "dev": true, "dependencies": { - "color-convert": "^2.0.1" + "klona": "^2.0.4", + "neo-async": "^2.6.2" }, "engines": { - "node": ">=8" + "node": ">= 12.13.0" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "fibers": ">= 3.1.0", + "node-sass": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0", + "sass": "^1.3.0", + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "fibers": { + "optional": true + }, + "node-sass": { + "optional": true + }, + "sass": { + "optional": true + } } }, - "node_modules/protractor/node_modules/wrap-ansi/node_modules/strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "node_modules/saucelabs": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/saucelabs/-/saucelabs-1.5.0.tgz", + "integrity": "sha512-jlX3FGdWvYf4Q3LFfFWS1QvPg3IGCGWxIc8QBFdPTbpTJnt/v17FHXYVAn7C8sHf1yUXo2c7yIM0isDryfYtHQ==", "dev": true, "dependencies": { - "ansi-regex": "^5.0.0" + "https-proxy-agent": "^2.2.1" }, "engines": { - "node": ">=8" + "node": "*" } }, - "node_modules/protractor/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/protractor/node_modules/yargs": { - "version": "15.4.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", - "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", + "node_modules/saucelabs/node_modules/agent-base": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz", + "integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==", "dev": true, "dependencies": { - "cliui": "^6.0.0", - "decamelize": "^1.2.0", - "find-up": "^4.1.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.2" + "es6-promisify": "^5.0.0" }, "engines": { - "node": ">=8" + "node": ">= 4.0.0" } }, - "node_modules/protractor/node_modules/yargs-parser": { - "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "node_modules/saucelabs/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": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - }, - "engines": { - "node": ">=6" + "ms": "^2.1.1" } }, - "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==", + "node_modules/saucelabs/node_modules/https-proxy-agent": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz", + "integrity": "sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg==", "dev": true, "dependencies": { - "forwarded": "0.2.0", - "ipaddr.js": "1.9.1" + "agent-base": "^4.3.0", + "debug": "^3.1.0" }, "engines": { - "node": ">= 0.10" + "node": ">= 4.5.0" } }, - "node_modules/prr": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", - "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", - "dev": true - }, - "node_modules/psl": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", - "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", + "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/pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "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": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" + "@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/punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "node_modules/schema-utils/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, - "engines": { - "node": ">=6" + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/q": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/q/-/q-1.4.1.tgz", - "integrity": "sha1-VXBbzZPF82c1MMLCy8DCs63cKG4=", - "dev": true, - "engines": { - "node": ">=0.6.0", - "teleport": ">=0.2.0" - } - }, - "node_modules/qjobs": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/qjobs/-/qjobs-1.2.0.tgz", - "integrity": "sha512-8YOJEHtxpySA3fFDyCRxA+UUV+fA+rTWnuWvylOK/NCjhY+b4ocCtmu8TtsWb+mYeU+GCHf/S66KZF/AsteKHg==", + "node_modules/schema-utils/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, - "engines": { - "node": ">=0.9" + "peerDependencies": { + "ajv": "^6.9.1" } }, - "node_modules/qs": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", - "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", - "dev": true, - "engines": { - "node": ">=0.6" - } + "node_modules/schema-utils/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/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/scryptsy": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/scryptsy/-/scryptsy-2.1.0.tgz", + "integrity": "sha512-1CdSqHQowJBnMAFyPEBRfqag/YP9OF394FV+4YREIJX4ljD7OxvQRDayyoyyCk+senRjSkP6VnUNQmVQqB6g7w==" }, - "node_modules/querystringify": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", - "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", + "node_modules/select-hose": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", + "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==", "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==", + "node_modules/selenium-webdriver": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-3.6.0.tgz", + "integrity": "sha512-WH7Aldse+2P5bbFBO4Gle/nuQOdVwpHMTL6raL3uuBj/vPG07k6uzt3aiahu352ONBr5xXh0hDlM3LhtXPOC4Q==", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] + "dependencies": { + "jszip": "^3.1.3", + "rimraf": "^2.5.4", + "tmp": "0.0.30", + "xml2js": "^0.4.17" + }, + "engines": { + "node": ">= 6.9.0" + } }, - "node_modules/randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "node_modules/selenium-webdriver/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": { - "safe-buffer": "^5.1.0" + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" } }, - "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==", + "node_modules/selenium-webdriver/node_modules/tmp": { + "version": "0.0.30", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.30.tgz", + "integrity": "sha1-ckGdSovn1s51FI/YsyTlk6cRwu0=", "dev": true, + "dependencies": { + "os-tmpdir": "~1.0.1" + }, "engines": { - "node": ">= 0.6" + "node": ">=0.4.0" } }, - "node_modules/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==", + "node_modules/selfsigned": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.0.1.tgz", + "integrity": "sha512-LmME957M1zOsUhG+67rAjKfiWFox3SBxE/yymatMZsAx+oMrJ0YQ8AToOnyCm7xbeg2ep37IHLxdu0o2MavQOQ==", "dev": true, "dependencies": { - "bytes": "3.1.0", - "http-errors": "1.7.2", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" + "node-forge": "^1" }, "engines": { - "node": ">= 0.8" + "node": ">=10" } }, - "node_modules/raw-loader": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/raw-loader/-/raw-loader-4.0.2.tgz", - "integrity": "sha512-ZnScIV3ag9A4wPX/ZayxL/jZH+euYb6FcUinPcgiQW0+UBtEv0O6Q3lGd3cqJ+GHH+rksEv3Pj99oxJ3u3VIKA==", + "node_modules/semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", "dev": true, "dependencies": { - "loader-utils": "^2.0.0", - "schema-utils": "^3.0.0" - }, - "engines": { - "node": ">= 10.13.0" + "lru-cache": "^6.0.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" + "bin": { + "semver": "bin/semver.js" }, - "peerDependencies": { - "webpack": "^4.0.0 || ^5.0.0" + "engines": { + "node": ">=10" } }, - "node_modules/raw-loader/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "node_modules/send": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", "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" + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "engines": { + "node": ">= 0.8.0" } }, - "node_modules/raw-loader/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==", + "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, - "peerDependencies": { - "ajv": "^6.9.1" + "dependencies": { + "ms": "2.0.0" } }, - "node_modules/raw-loader/node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "node_modules/send/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true }, - "node_modules/raw-loader/node_modules/schema-utils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.0.tgz", - "integrity": "sha512-tTEaeYkyIhEZ9uWgAjDerWov3T9MgX8dhhy2r0IGeeX4W8ngtGl1++dUve/RUqzuaASSh7shwCDJjEzthxki8w==", + "node_modules/send/node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.7", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/read-cache": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", - "integrity": "sha1-5mTvMRYRZsl1HNvo28+GtftY93Q=", - "dev": true, - "dependencies": { - "pify": "^2.3.0" + "node": ">= 0.8" } }, - "node_modules/read-package-json-fast": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-2.0.2.tgz", - "integrity": "sha512-5fyFUyO9B799foVk4n6ylcoAktG/FbE3jwRKxvwaeSrIunaoMc0u81dzXxjeAFKOce7O5KncdfwpGvvs6r5PsQ==", + "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, - "dependencies": { - "json-parse-even-better-errors": "^2.3.0", - "npm-normalize-package-bin": "^1.0.1" + "bin": { + "mime": "cli.js" }, "engines": { - "node": ">=10" + "node": ">=4" } }, - "node_modules/read-pkg": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", - "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", + "node_modules/send/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, + "node_modules/send/node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", "dev": true, "dependencies": { - "load-json-file": "^2.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^2.0.0" + "ee-first": "1.1.1" }, "engines": { - "node": ">=4" + "node": ">= 0.8" } }, - "node_modules/read-pkg-up": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", - "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", + "node_modules/send/node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", "dev": true, - "dependencies": { - "find-up": "^2.0.0", - "read-pkg": "^2.0.0" - }, "engines": { - "node": ">=4" + "node": ">= 0.8" } }, - "node_modules/read-pkg/node_modules/path-type": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", - "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", + "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": { - "pify": "^2.0.0" - }, - "engines": { - "node": ">=4" + "randombytes": "^2.1.0" } }, - "node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "node_modules/serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==", "dev": true, "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" + "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": ">= 6" + "node": ">= 0.8.0" } }, - "node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "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": { - "picomatch": "^2.2.1" + "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": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", + "dev": true, + "dependencies": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" }, "engines": { - "node": ">=8.10.0" + "node": ">= 0.6" } }, - "node_modules/reflect-metadata": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.13.tgz", - "integrity": "sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==", + "node_modules/serve-index/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", "dev": true }, - "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==", + "node_modules/serve-index/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true }, - "node_modules/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==", + "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.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", "dev": true, "dependencies": { - "regenerate": "^1.4.0" + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" }, "engines": { - "node": ">=4" + "node": ">= 0.8.0" } }, - "node_modules/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==", + "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/regenerator-transform": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.5.tgz", - "integrity": "sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==", - "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==", + "node_modules/set-immediate-shim": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz", + "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=", "dev": true, - "dependencies": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" - }, "engines": { "node": ">=0.10.0" } }, - "node_modules/regex-parser": { - "version": "2.2.11", - "resolved": "https://registry.npmjs.org/regex-parser/-/regex-parser-2.2.11.tgz", - "integrity": "sha512-jbD/FT0+9MBU2XAZluI7w2OBs1RBi6p9M83nkoZayQXXU9e8Robt69FcZc7wU4eJD/YFTjn1JdCk3rbMJajz8Q==", + "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/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==", - "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==", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - }, - "engines": { - "node": ">= 0.4" + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "bin": { + "sha.js": "bin.js" } }, - "node_modules/regexpp": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", - "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", + "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" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" } }, - "node_modules/regexpu-core": { - "version": "4.7.1", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.1.tgz", - "integrity": "sha512-ywH2VUraA44DZQuRKzARmw6S66mr48pQVva4LBeRhcOltJ6hExvWly5ZjFLYo67xbIxb6W1q4bAGtgfEl20zfQ==", + "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": { - "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" + "shebang-regex": "^3.0.0" }, "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/regextras": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/regextras/-/regextras-0.7.1.tgz", - "integrity": "sha512-9YXf6xtW+qzQ+hcMQXx95MOvfqXFgsKDZodX3qZB0x2n5Z94ioetIITsBtvJbiOyxa/6s9AtyweBLCdPmPko/w==", + "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": ">=0.1.14" + "node": ">=8" } }, - "node_modules/regjsgen": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz", - "integrity": "sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==", - "dev": true - }, - "node_modules/regjsparser": { - "version": "0.6.9", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.9.tgz", - "integrity": "sha512-ZqbNRz1SNjLAiYuwY0zoXW8Ne675IX5q+YHioAGbCw4X96Mjl2+dcX9B2ciaeyYjViDAfvIjFpQjJgLttTEERQ==", + "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": { - "jsesc": "~0.5.0" + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" }, - "bin": { - "regjsparser": "bin/parser" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "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/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/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=", + "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/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==", + "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": ">=0.10.0" + "node": ">=8" } }, - "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=", + "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": ">=0.10" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" } }, - "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", + "node_modules/slice-ansi/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "dependencies": { - "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" + "color-convert": "^2.0.1" }, "engines": { - "node": ">= 6" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/request/node_modules/qs": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", - "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", + "node_modules/slice-ansi/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, "engines": { - "node": ">=0.6" + "node": ">=7.0.0" } }, - "node_modules/request/node_modules/uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", + "node_modules/slice-ansi/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/smart-buffer": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", "dev": true, - "bin": { - "uuid": "bin/uuid" + "engines": { + "node": ">= 6.0.0", + "npm": ">= 3.0.0" } }, - "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=", + "node_modules/socket.io": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-3.1.2.tgz", + "integrity": "sha512-JubKZnTQ4Z8G4IZWtaAZSiRP3I/inpy8c/Bsx2jrwGrTbKeVU5xd6qkKMHpChYeM3dWZSO0QACiGK+obhBNwYw==", "dev": true, + "dependencies": { + "@types/cookie": "^0.4.0", + "@types/cors": "^2.8.8", + "@types/node": ">=10.0.0", + "accepts": "~1.3.4", + "base64id": "~2.0.0", + "debug": "~4.3.1", + "engine.io": "~4.1.0", + "socket.io-adapter": "~2.1.0", + "socket.io-parser": "~4.0.3" + }, "engines": { - "node": ">=0.10.0" + "node": ">=10.0.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==", + "node_modules/socket.io-adapter": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.1.0.tgz", + "integrity": "sha512-+vDov/aTsLjViYTwS9fPy5pEtTkrbEKsw2M+oVSoFGw6OD1IpvlV1VPhUzNbofCQ8oyMbdYJqDtGdmHQK6TdPg==", + "dev": true + }, + "node_modules/socket.io-parser": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.0.4.tgz", + "integrity": "sha512-t+b0SS+IxG7Rxzda2EVvyBZbvFPBCjJoyHuE0P//7OAsN23GItzDRdWa6ALxZI/8R5ygK7jAR6t028/z+7295g==", "dev": true, + "dependencies": { + "@types/component-emitter": "^1.2.10", + "component-emitter": "~1.3.0", + "debug": "~4.3.1" + }, "engines": { - "node": ">=0.10.0" + "node": ">=10.0.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/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/resolve": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", - "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", + "node_modules/socks": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.6.2.tgz", + "integrity": "sha512-zDZhHhZRY9PxRruRMR7kMhnf3I8hDs4S3f9RecfnGxvcBHQcKcIH/oUcEWffsfl1XxdYlA7nnlGbbTvPz9D8gA==", "dev": true, "dependencies": { - "is-core-module": "^2.2.0", - "path-parse": "^1.0.6" + "ip": "^1.1.5", + "smart-buffer": "^4.2.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">= 10.13.0", + "npm": ">= 3.0.0" } }, - "node_modules/resolve-cwd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", - "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", + "node_modules/socks-proxy-agent": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.2.1.tgz", + "integrity": "sha512-a6KW9G+6B3nWZ1yB8G7pJwL3ggLy1uTzKAgCb7ttblwqdz9fMGJUuTy3uFzEP48FAs9FLILlmzDlE2JJhVQaXQ==", "dev": true, "dependencies": { - "resolve-from": "^3.0.0" + "agent-base": "^6.0.2", + "debug": "^4.3.3", + "socks": "^2.6.2" }, "engines": { - "node": ">=4" + "node": ">= 10" } }, - "node_modules/resolve-cwd/node_modules/resolve-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", - "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", + "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.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", "dev": true, "engines": { - "node": ">=4" + "node": ">= 8" } }, - "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==", + "node_modules/source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", "dev": true, "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "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/resolve-url-loader": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-4.0.0.tgz", - "integrity": "sha512-05VEMczVREcbtT7Bz+C+96eUO5HDNvdthIiMB34t7FcF8ehcu4wC0sSgPUubs3XW2Q3CNLJk/BJrCU9wVRymiA==", + "node_modules/source-map-loader": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-3.0.1.tgz", + "integrity": "sha512-Vp1UsfyPvgujKQzi4pyDiTOnE3E4H+yHvkVRN3c/9PJmQS4CQJExvcDvaX/D+RV+xQben9HJ56jMJS3CgUeWyA==", "dev": true, "dependencies": { - "adjust-sourcemap-loader": "^4.0.0", - "convert-source-map": "^1.7.0", - "loader-utils": "^2.0.0", - "postcss": "^7.0.35", - "source-map": "0.6.1" + "abab": "^2.0.5", + "iconv-lite": "^0.6.3", + "source-map-js": "^1.0.1" }, "engines": { - "node": ">=8.9" + "node": ">= 12.13.0" }, - "peerDependencies": { - "rework": "1.0.1", - "rework-visit": "1.0.0" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" }, - "peerDependenciesMeta": { - "rework": { - "optional": true - }, - "rework-visit": { - "optional": true - } + "peerDependencies": { + "webpack": "^5.0.0" } }, - "node_modules/resolve-url-loader/node_modules/postcss": { - "version": "7.0.36", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", - "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "node_modules/source-map-loader/node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", "dev": true, "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" + "safer-buffer": ">= 2.1.2 < 3.0.0" }, "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" + "node": ">=0.10.0" } }, - "node_modules/resolve-url-loader/node_modules/source-map": { + "node_modules/source-map-resolve": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.6.0.tgz", + "integrity": "sha512-KXBr9d/fO/bWo97NXsPIAW1bFSBOuCnjbNTBMO7N59hsv5i9yzRDfcYwwt0l04+VqnKC+EwzvJZIP/qkuMgR/w==", + "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated", + "dev": true, + "dependencies": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.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==", @@ -15861,106 +15966,179 @@ "node": ">=0.10.0" } }, - "node_modules/resolve-url-loader/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==", + "node_modules/sourcemap-codec": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", + "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", + "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": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" } }, - "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==", + "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": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - }, - "engines": { - "node": ">=8" + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" } }, - "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==", + "node_modules/spdx-license-ids": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.9.tgz", + "integrity": "sha512-Ki212dKK4ogX+xDo4CtOZBVIwhsKBEfsEEcwmJfLQzirgc2jIWdzg40Unxz/HzEUqM1WFzVlQSMF9kZZ2HboLQ==", + "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": ">=0.12" + "node": ">=6.0.0" } }, - "node_modules/retry": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", - "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=", + "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, - "engines": { - "node": ">= 4" + "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/reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "node_modules/split2": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz", + "integrity": "sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==", "dev": true, - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" + "dependencies": { + "readable-stream": "^3.0.0" } }, - "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=", + "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/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "node_modules/sshpk": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", + "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", "dev": true, "dependencies": { - "glob": "^7.1.3" + "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": { - "rimraf": "bin.js" + "sshpk-conv": "bin/sshpk-conv", + "sshpk-sign": "bin/sshpk-sign", + "sshpk-verify": "bin/sshpk-verify" }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "engines": { + "node": ">=0.10.0" } }, - "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==", + "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": ">=0.12.0" + "node": ">= 8" } }, - "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==", + "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/stream-browserify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-3.0.0.tgz", + "integrity": "sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA==", + "dependencies": { + "inherits": "~2.0.4", + "readable-stream": "^3.5.0" + } + }, + "node_modules/streamroller": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-2.2.4.tgz", + "integrity": "sha512-OG79qm3AujAM9ImoqgWEY1xG4HX+Lw+yY6qZj9R1K2mhF5bEmQ849wvrb+4vt4jLMLzwXttJlQbOdPOQVRv7DQ==", + "dev": true, + "dependencies": { + "date-format": "^2.1.0", + "debug": "^4.1.1", + "fs-extra": "^8.1.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/streamroller/node_modules/date-format": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/date-format/-/date-format-2.1.0.tgz", + "integrity": "sha512-bYQuGLeFxhkxNOF3rcMtiZxvCBAquGzZm6oWA1oZ0g2THUzivaRhv8uOhdr19LmoobSOLoIAxeUK2RdbM8IFTA==", "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string_decoder/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", "funding": [ { "type": "github", @@ -15974,1391 +16152,1455 @@ "type": "consulting", "url": "https://feross.org/support" } - ], - "dependencies": { - "queue-microtask": "^1.2.2" - } + ] }, - "node_modules/rxjs": { - "version": "6.6.7", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", - "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "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": { - "tslib": "^1.9.0" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" }, "engines": { - "npm": ">=2.0.0" + "node": ">=8" } }, - "node_modules/rxjs/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - }, - "node_modules/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=", + "node_modules/string-width/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, - "dependencies": { - "ret": "~0.1.10" + "engines": { + "node": ">=8" } }, - "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/sass": { - "version": "1.32.12", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.32.12.tgz", - "integrity": "sha512-zmXn03k3hN0KaiVTjohgkg98C3UowhL1/VSGdj4/VAAiMKGQOE80PFPxFP2Kyq0OUskPKcY5lImkhBKEHlypJA==", + "node_modules/string-width/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": { - "chokidar": ">=3.0.0 <4.0.0" - }, - "bin": { - "sass": "sass.js" + "ansi-regex": "^5.0.1" }, "engines": { - "node": ">=8.9.0" + "node": ">=8" } }, - "node_modules/sass-loader": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-11.0.1.tgz", - "integrity": "sha512-Vp1LcP4slTsTNLEiDkTcm8zGN/XYYrZz2BZybQbliWA8eXveqA/AxsEjllQTpJbg2MzCsx/qNO48sHdZtOaxTw==", + "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": { - "klona": "^2.0.4", - "neo-async": "^2.6.2" - }, - "engines": { - "node": ">= 10.13.0" + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "fibers": ">= 3.1.0", - "node-sass": "^4.0.0 || ^5.0.0", - "sass": "^1.3.0", - "webpack": "^5.0.0" - }, - "peerDependenciesMeta": { - "fibers": { - "optional": true - }, - "node-sass": { - "optional": true - }, - "sass": { - "optional": true - } + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/saucelabs": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/saucelabs/-/saucelabs-1.5.0.tgz", - "integrity": "sha512-jlX3FGdWvYf4Q3LFfFWS1QvPg3IGCGWxIc8QBFdPTbpTJnt/v17FHXYVAn7C8sHf1yUXo2c7yIM0isDryfYtHQ==", + "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": { - "https-proxy-agent": "^2.2.1" + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" }, - "engines": { - "node": "*" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/saucelabs/node_modules/agent-base": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz", - "integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==", + "node_modules/strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", "dev": true, "dependencies": { - "es6-promisify": "^5.0.0" + "ansi-regex": "^5.0.0" }, "engines": { - "node": ">= 4.0.0" + "node": ">=8" } }, - "node_modules/saucelabs/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "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, - "dependencies": { - "ms": "^2.1.1" + "engines": { + "node": ">=4" } }, - "node_modules/saucelabs/node_modules/https-proxy-agent": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz", - "integrity": "sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg==", + "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-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/stylus": { + "version": "0.56.0", + "resolved": "https://registry.npmjs.org/stylus/-/stylus-0.56.0.tgz", + "integrity": "sha512-Ev3fOb4bUElwWu4F9P9WjnnaSpc8XB9OFHSFZSKMFL1CE1oM+oFXWEgAqPmmZIyhBihuqIQlFsVTypiiS9RxeA==", "dev": true, "dependencies": { - "agent-base": "^4.3.0", - "debug": "^3.1.0" + "css": "^3.0.0", + "debug": "^4.3.2", + "glob": "^7.1.6", + "safer-buffer": "^2.1.2", + "sax": "~1.2.4", + "source-map": "^0.7.3" + }, + "bin": { + "stylus": "bin/stylus" }, "engines": { - "node": ">= 4.5.0" + "node": "*" } }, - "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/schema-utils": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", - "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", + "node_modules/stylus-loader": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/stylus-loader/-/stylus-loader-6.2.0.tgz", + "integrity": "sha512-5dsDc7qVQGRoc6pvCL20eYgRUxepZ9FpeK28XhdXaIPP6kXr6nI1zAAKFQgP5OBkOfKaURp4WUpJzspg1f01Gg==", "dev": true, "dependencies": { - "@types/json-schema": "^7.0.5", - "ajv": "^6.12.4", - "ajv-keywords": "^3.5.2" + "fast-glob": "^3.2.7", + "klona": "^2.0.4", + "normalize-path": "^3.0.0" }, "engines": { - "node": ">= 8.9.0" + "node": ">= 12.13.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "stylus": ">=0.52.4", + "webpack": "^5.0.0" } }, - "node_modules/schema-utils/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "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": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" + "has-flag": "^3.0.0" }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "engines": { + "node": ">=4" } }, - "node_modules/schema-utils/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==", + "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, - "peerDependencies": { - "ajv": "^6.9.1" + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/schema-utils/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/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/selenium-webdriver": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-3.6.0.tgz", - "integrity": "sha512-WH7Aldse+2P5bbFBO4Gle/nuQOdVwpHMTL6raL3uuBj/vPG07k6uzt3aiahu352ONBr5xXh0hDlM3LhtXPOC4Q==", + "node_modules/symbol-observable": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-4.0.0.tgz", + "integrity": "sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ==", "dev": true, - "dependencies": { - "jszip": "^3.1.3", - "rimraf": "^2.5.4", - "tmp": "0.0.30", - "xml2js": "^0.4.17" - }, "engines": { - "node": ">= 6.9.0" + "node": ">=0.10" } }, - "node_modules/selenium-webdriver/node_modules/rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "node_modules/table": { + "version": "6.7.1", + "resolved": "https://registry.npmjs.org/table/-/table-6.7.1.tgz", + "integrity": "sha512-ZGum47Yi6KOOFDE8m223td53ath2enHcYLgOCjGr5ngu8bdIARQk6mN/wRMv4yMRcHnCSnHbCEha4sobQx5yWg==", "dev": true, "dependencies": { - "glob": "^7.1.3" + "ajv": "^8.0.1", + "lodash.clonedeep": "^4.5.0", + "lodash.truncate": "^4.4.2", + "slice-ansi": "^4.0.0", + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0" }, - "bin": { - "rimraf": "bin.js" + "engines": { + "node": ">=10.0.0" } }, - "node_modules/selenium-webdriver/node_modules/tmp": { - "version": "0.0.30", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.30.tgz", - "integrity": "sha1-ckGdSovn1s51FI/YsyTlk6cRwu0=", + "node_modules/tapable": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.0.tgz", + "integrity": "sha512-FBk4IesMV1rBxX2tfiK8RAmogtWn53puLOQlvO8XuwlgxcYbP4mVPS9Ph4aeamSyyVjOl24aYWAuc8U5kCVwMw==", "dev": true, - "dependencies": { - "os-tmpdir": "~1.0.1" - }, "engines": { - "node": ">=0.4.0" + "node": ">=6" } }, - "node_modules/selfsigned": { - "version": "1.10.11", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.11.tgz", - "integrity": "sha512-aVmbPOfViZqOZPgRBT0+3u4yZFHpmnIghLMlAcb5/xhp5ZtB/RVnKhz5vl2M32CLXAqR4kha9zfhNg0Lf/sxKA==", + "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": { - "node-forge": "^0.10.0" + "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/semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "node_modules/terser": { + "version": "5.11.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.11.0.tgz", + "integrity": "sha512-uCA9DLanzzWSsN1UirKwylhhRz3aKPInlfmpGfw8VN6jHsAtu8HJtIpeeHHK23rxnE/cDc+yvmq5wqkIC6Kn0A==", "dev": true, "dependencies": { - "lru-cache": "^6.0.0" + "acorn": "^8.5.0", + "commander": "^2.20.0", + "source-map": "~0.7.2", + "source-map-support": "~0.5.20" }, "bin": { - "semver": "bin/semver.js" + "terser": "bin/terser" }, "engines": { "node": ">=10" } }, - "node_modules/send": { - "version": "0.17.1", - "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", - "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", + "node_modules/terser-webpack-plugin": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.3.tgz", + "integrity": "sha512-Fx60G5HNYknNTNQnzQ1VePRuu89ZVYWfjRAeT5rITuCY/1b08s49e5kSQwHDirKZWuoKOBRFS98EUUoZ9kLEwQ==", "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.7.2", - "mime": "1.6.0", - "ms": "2.1.1", - "on-finished": "~2.3.0", - "range-parser": "~1.2.1", - "statuses": "~1.5.0" + "@jridgewell/trace-mapping": "^0.3.7", + "jest-worker": "^27.4.5", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.0", + "terser": "^5.7.2" }, "engines": { - "node": ">= 0.8.0" + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "uglify-js": { + "optional": true + } } }, - "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==", + "node_modules/terser-webpack-plugin/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": { - "ms": "2.0.0" + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "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=", + "node_modules/terser-webpack-plugin/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/terser-webpack-plugin/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/send/node_modules/mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "node_modules/terser-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, - "bin": { - "mime": "cli.js" + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" }, "engines": { - "node": ">=4" + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" } }, - "node_modules/send/node_modules/ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", - "dev": true - }, - "node_modules/serialize-javascript": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz", - "integrity": "sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==", + "node_modules/terser-webpack-plugin/node_modules/serialize-javascript": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", + "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", "dev": true, "dependencies": { "randombytes": "^2.1.0" } }, - "node_modules/serve-index": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", - "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", + "node_modules/terser/node_modules/acorn": { + "version": "8.7.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.1.tgz", + "integrity": "sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==", "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" + "bin": { + "acorn": "bin/acorn" }, "engines": { - "node": ">= 0.8.0" + "node": ">=0.4.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/terser/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/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=", + "node_modules/test-exclude": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", "dev": true, "dependencies": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.0", - "statuses": ">= 1.4.0 < 2" + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" }, "engines": { - "node": ">= 0.6" + "node": ">=8" } }, - "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=", + "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/serve-index/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", "dev": true }, - "node_modules/serve-index/node_modules/setprototypeof": { + "node_modules/through2": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", + "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", + "dev": true, + "dependencies": { + "readable-stream": "3" + } + }, + "node_modules/thunky": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", + "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", + "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", "dev": true }, - "node_modules/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==", + "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": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.17.1" + "os-tmpdir": "~1.0.2" }, "engines": { - "node": ">= 0.8.0" + "node": ">=0.6.0" } }, - "node_modules/set-blocking": { + "node_modules/to-fast-properties": { "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-immediate-shim": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz", - "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "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==", + "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": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" + "is-number": "^7.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=8.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=", + "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, - "dependencies": { - "is-extendable": "^0.1.0" - }, "engines": { - "node": ">=0.10.0" + "node": ">=0.6" } }, - "node_modules/set-value/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=", + "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.10.0" + "node": ">=0.8" } }, - "node_modules/setprototypeof": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", - "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==", - "dev": true + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" }, - "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==", + "node_modules/tree-kill": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", + "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", + "dev": true, + "bin": { + "tree-kill": "cli.js" + } + }, + "node_modules/ts-node": { + "version": "8.10.2", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-8.10.2.tgz", + "integrity": "sha512-ISJJGgkIpDdBhWVu3jufsWpK3Rzo7bdiIXJjQc0ynKxVOVcg2oIrf2H2cejminGrptVc6q6/uynAHNCuWGbpVA==", "dev": true, "dependencies": { - "kind-of": "^6.0.2" + "arg": "^4.1.0", + "diff": "^4.0.1", + "make-error": "^1.1.1", + "source-map-support": "^0.5.17", + "yn": "3.1.1" + }, + "bin": { + "ts-node": "dist/bin.js", + "ts-node-script": "dist/bin-script.js", + "ts-node-transpile-only": "dist/bin-transpile.js", + "ts-script": "dist/bin-script-deprecated.js" }, "engines": { - "node": ">=8" + "node": ">=6.0.0" + }, + "peerDependencies": { + "typescript": ">=2.7" } }, - "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==", + "node_modules/tsconfig-paths": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.10.1.tgz", + "integrity": "sha512-rETidPDgCpltxF7MjBZlAFPUHv5aHH2MymyPvh+vEyWAED4Eb/WeMbsnD/JDr4OKPOA1TssDHgIcpTN5Kh0p6Q==", "dev": true, "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" + "json5": "^2.2.0", + "minimist": "^1.2.0", + "strip-bom": "^3.0.0" } }, - "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==", + "node_modules/tslib": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz", + "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==" + }, + "node_modules/tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", "dev": true, + "dependencies": { + "tslib": "^1.8.1" + }, "engines": { - "node": ">=8" + "node": ">= 6" + }, + "peerDependencies": { + "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" } }, - "node_modules/signal-exit": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", - "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", - "dev": true - }, - "node_modules/sisteransi": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "node_modules/tsutils/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/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "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": ">=8" + "node": "*" } }, - "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==", + "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": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", + "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==" + }, + "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": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" + "prelude-ls": "^1.2.1" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/slice-ansi?sponsor=1" + "node": ">= 0.8.0" } }, - "node_modules/slice-ansi/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==", + "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, - "dependencies": { - "color-convert": "^2.0.1" - }, "engines": { - "node": ">=8" + "node": ">=10" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/slice-ansi/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==", + "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": { - "color-name": "~1.1.4" + "media-typer": "0.3.0", + "mime-types": "~2.1.24" }, "engines": { - "node": ">=7.0.0" + "node": ">= 0.6" } }, - "node_modules/slice-ansi/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/typed-assert": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/typed-assert/-/typed-assert-1.0.9.tgz", + "integrity": "sha512-KNNZtayBCtmnNmbo5mG47p1XsCyrx6iVqomjcZnec/1Y5GGARaxPs6r49RnSPeUP3YjNYiU9sQHAtY4BBvnZwg==", "dev": true }, - "node_modules/smart-buffer": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.1.0.tgz", - "integrity": "sha512-iVICrxOzCynf/SNaBQCw34eM9jROU/s5rzIhpOvzhzuYHfJR/DhZfDkXiZSgKXfgv26HT3Yni3AV/DGw0cGnnw==", - "dev": true, - "engines": { - "node": ">= 6.0.0", - "npm": ">= 3.0.0" + "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==", + "dependencies": { + "is-typedarray": "^1.0.0" } }, - "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==", + "node_modules/typescript": { + "version": "4.6.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.6.4.tgz", + "integrity": "sha512-9ia/jWHIEbo49HfjrLGfKbZSuWo9iTMwXO+Ca3pRsSpbsMbc7/IU8NKdCZVRRBafVPGnoJeFL76ZOAA84I9fEg==", "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" + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" }, "engines": { - "node": ">=0.10.0" + "node": ">=4.2.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==", + "node_modules/ua-parser-js": { + "version": "0.7.28", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.28.tgz", + "integrity": "sha512-6Gurc1n//gjp9eQNXjD9O3M/sMwVtN5S8Lv9bvOYBfKfDNiIIhqiyi01vMBO45u4zkDE420w/e0se7Vs+sIg+g==", "dev": true, - "dependencies": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" - }, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/ua-parser-js" + }, + { + "type": "paypal", + "url": "https://paypal.me/faisalman" + } + ], "engines": { - "node": ">=0.10.0" + "node": "*" } }, - "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=", + "node_modules/uglify-js": { + "version": "3.16.1", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.16.1.tgz", + "integrity": "sha512-X5BGTIDH8U6IQ1TIRP62YC36k+ULAa1d59BxlWvPUJ1NkW5L3FwcGfEzuVvGmhJFBu0YJ5Ge25tmRISqCmLiRQ==", "dev": true, - "dependencies": { - "is-descriptor": "^1.0.0" + "optional": true, + "bin": { + "uglifyjs": "bin/uglifyjs" }, "engines": { - "node": ">=0.10.0" + "node": ">=0.8.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==", + "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": { - "kind-of": "^3.2.0" + "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": ">=0.10.0" + "node": ">=4" } }, - "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=", + "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": { - "is-buffer": "^1.1.5" + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "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==", + "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, - "dependencies": { - "ms": "2.0.0" + "engines": { + "node": ">=4" } }, - "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=", + "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, - "dependencies": { - "is-descriptor": "^0.1.0" - }, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "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=", + "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": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" + "unique-slug": "^2.0.0" } }, - "node_modules/snapdragon/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=", + "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": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" + "imurmurhash": "^0.1.4" } }, - "node_modules/snapdragon/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=", + "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, - "dependencies": { - "is-buffer": "^1.1.5" - }, "engines": { - "node": ">=0.10.0" + "node": ">= 4.0.0" } }, - "node_modules/snapdragon/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=", + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.8" } }, - "node_modules/snapdragon/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=", + "node_modules/untildify": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz", + "integrity": "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==", "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/snapdragon/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==", + "node_modules/update-browserslist-db": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.3.tgz", + "integrity": "sha512-ufSazemeh9Gty0qiWtoRpJ9F5Q5W3xdIPm1UZQqYQv/q0Nyb9EMHUB2lu+O9x1re9WsorpMAUu4Y6Lxcs5n+XQ==", "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + } + ], "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" + "escalade": "^3.1.1", + "picocolors": "^1.0.0" }, - "engines": { - "node": ">=0.10.0" + "bin": { + "browserslist-lint": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" } }, - "node_modules/snapdragon/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=", + "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, - "engines": { - "node": ">=0.10.0" + "dependencies": { + "punycode": "^2.1.0" } }, - "node_modules/snapdragon/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, + "node_modules/utf-8-validate": { + "version": "5.0.9", + "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.9.tgz", + "integrity": "sha512-Yek7dAy0v3Kl0orwMlvi7TPtiCNrdfHNd7Gcc/pLq4BLXqfAmd0J7OWMizUQnTTJsyjKn02mU7anqwfmUP4J8Q==", + "hasInstallScript": true, + "dependencies": { + "node-gyp-build": "^4.3.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">=6.14.2" } }, - "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/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" }, - "node_modules/snapdragon/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "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.10.0" - } - }, - "node_modules/snapdragon/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==", - "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": ">= 0.4.0" } }, - "node_modules/socket.io": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-3.1.2.tgz", - "integrity": "sha512-JubKZnTQ4Z8G4IZWtaAZSiRP3I/inpy8c/Bsx2jrwGrTbKeVU5xd6qkKMHpChYeM3dWZSO0QACiGK+obhBNwYw==", + "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, - "dependencies": { - "@types/cookie": "^0.4.0", - "@types/cors": "^2.8.8", - "@types/node": ">=10.0.0", - "accepts": "~1.3.4", - "base64id": "~2.0.0", - "debug": "~4.3.1", - "engine.io": "~4.1.0", - "socket.io-adapter": "~2.1.0", - "socket.io-parser": "~4.0.3" - }, - "engines": { - "node": ">=10.0.0" + "bin": { + "uuid": "dist/bin/uuid" } }, - "node_modules/socket.io-adapter": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.1.0.tgz", - "integrity": "sha512-+vDov/aTsLjViYTwS9fPy5pEtTkrbEKsw2M+oVSoFGw6OD1IpvlV1VPhUzNbofCQ8oyMbdYJqDtGdmHQK6TdPg==", + "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/socket.io-parser": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.0.4.tgz", - "integrity": "sha512-t+b0SS+IxG7Rxzda2EVvyBZbvFPBCjJoyHuE0P//7OAsN23GItzDRdWa6ALxZI/8R5ygK7jAR6t028/z+7295g==", + "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": { - "@types/component-emitter": "^1.2.10", - "component-emitter": "~1.3.0", - "debug": "~4.3.1" - }, - "engines": { - "node": ">=10.0.0" + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" } }, - "node_modules/sockjs": { - "version": "0.3.21", - "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.21.tgz", - "integrity": "sha512-DhbPFGpxjc6Z3I+uX07Id5ZO2XwYsWOrYjaSeieES78cq+JaJvVe5q/m1uvjIQhXinhIeCFRH6JgXe+mvVMyXw==", + "node_modules/validate-npm-package-name": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz", + "integrity": "sha512-M6w37eVCMMouJ9V/sdPGnC5H4uDr73/+xdq0FBLO3TFFX1+7wiUY6Es328NN+y43tmY+doUdN9g9J21vqB7iLw==", "dev": true, "dependencies": { - "faye-websocket": "^0.11.3", - "uuid": "^3.4.0", - "websocket-driver": "^0.7.4" + "builtins": "^1.0.3" } }, - "node_modules/sockjs-client": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.5.1.tgz", - "integrity": "sha512-VnVAb663fosipI/m6pqRXakEOw7nvd7TUgdr3PlR/8V2I95QIdwT8L4nMxhyU8SmDBHYXU1TOElaKOmKLfYzeQ==", + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", "dev": true, - "dependencies": { - "debug": "^3.2.6", - "eventsource": "^1.0.7", - "faye-websocket": "^0.11.3", - "inherits": "^2.0.4", - "json3": "^3.3.3", - "url-parse": "^1.5.1" + "engines": { + "node": ">= 0.8" } }, - "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==", + "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": { - "ms": "^2.1.1" + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" } }, - "node_modules/sockjs/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.", + "node_modules/void-elements": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz", + "integrity": "sha1-wGavtYK7HLQSjWDqkjkulNXp2+w=", "dev": true, - "bin": { - "uuid": "bin/uuid" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/socks": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/socks/-/socks-2.6.1.tgz", - "integrity": "sha512-kLQ9N5ucj8uIcxrDwjm0Jsqk06xdpBjGNQtpXy4Q8/QY2k+fY7nZH8CARy+hkbG+SGAovmzzuauCpBlb8FrnBA==", + "node_modules/watchpack": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", + "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", "dev": true, "dependencies": { - "ip": "^1.1.5", - "smart-buffer": "^4.1.0" + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" }, "engines": { - "node": ">= 10.13.0", - "npm": ">= 3.0.0" + "node": ">=10.13.0" } }, - "node_modules/socks-proxy-agent": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-5.0.1.tgz", - "integrity": "sha512-vZdmnjb9a2Tz6WEQVIurybSwElwPxMZaIc7PzqbJTrezcKNznv6giT7J7tZDZ1BojVaa1jvO/UiUdhDVB0ACoQ==", + "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": { - "agent-base": "^6.0.2", - "debug": "4", - "socks": "^2.3.3" - }, - "engines": { - "node": ">= 6" + "minimalistic-assert": "^1.0.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.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", + "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, - "engines": { - "node": ">= 8" + "dependencies": { + "defaults": "^1.0.3" } }, - "node_modules/source-map-js": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-0.6.2.tgz", - "integrity": "sha512-/3GptzWzu0+0MBQFrDKzw/DvvMTUORvgY6k6jd/VS6iCR4RDTKWH6v6WPwQoUO8667uQEf9Oe38DxAYWY5F/Ug==", + "node_modules/webdriver-js-extender": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/webdriver-js-extender/-/webdriver-js-extender-2.1.0.tgz", + "integrity": "sha512-lcUKrjbBfCK6MNsh7xaY2UAUmZwe+/ib03AjVOpFobX4O7+83BUveSrLfU0Qsyb1DaKJdQRbuU+kM9aZ6QUhiQ==", "dev": true, + "dependencies": { + "@types/selenium-webdriver": "^3.0.0", + "selenium-webdriver": "^3.0.1" + }, "engines": { - "node": ">=0.10.0" + "node": ">=6.9.x" } }, - "node_modules/source-map-loader": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-2.0.1.tgz", - "integrity": "sha512-UzOTTQhoNPeTNzOxwFw220RSRzdGSyH4lpNyWjR7Qm34P4/N0W669YSUFdH07+YNeN75h765XLHmNsF/bm97RQ==", + "node_modules/webdriver-manager": { + "version": "12.1.8", + "resolved": "https://registry.npmjs.org/webdriver-manager/-/webdriver-manager-12.1.8.tgz", + "integrity": "sha512-qJR36SXG2VwKugPcdwhaqcLQOD7r8P2Xiv9sfNbfZrKBnX243iAkOueX1yAmeNgIKhJ3YAT/F2gq6IiEZzahsg==", "dev": true, "dependencies": { - "abab": "^2.0.5", - "iconv-lite": "^0.6.2", - "source-map-js": "^0.6.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" + "adm-zip": "^0.4.9", + "chalk": "^1.1.1", + "del": "^2.2.0", + "glob": "^7.0.3", + "ini": "^1.3.4", + "minimist": "^1.2.0", + "q": "^1.4.1", + "request": "^2.87.0", + "rimraf": "^2.5.2", + "semver": "^5.3.0", + "xml2js": "^0.4.17" }, - "peerDependencies": { - "webpack": "^5.0.0" - } - }, - "node_modules/source-map-loader/node_modules/iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "dev": true, - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" + "bin": { + "webdriver-manager": "bin/webdriver-manager" }, "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-resolve": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.6.0.tgz", - "integrity": "sha512-KXBr9d/fO/bWo97NXsPIAW1bFSBOuCnjbNTBMO7N59hsv5i9yzRDfcYwwt0l04+VqnKC+EwzvJZIP/qkuMgR/w==", - "dev": true, - "dependencies": { - "atob": "^2.1.2", - "decode-uri-component": "^0.2.0" - } - }, - "node_modules/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==", - "dev": true, - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" + "node": ">=6.9.x" } }, - "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==", + "node_modules/webdriver-manager/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/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==", - "dev": true - }, - "node_modules/sourcemap-codec": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", - "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", - "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==", + "node_modules/webdriver-manager/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, - "dependencies": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" + "engines": { + "node": ">=0.10.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==", + "node_modules/webdriver-manager/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": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" + "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/spdx-license-ids": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.9.tgz", - "integrity": "sha512-Ki212dKK4ogX+xDo4CtOZBVIwhsKBEfsEEcwmJfLQzirgc2jIWdzg40Unxz/HzEUqM1WFzVlQSMF9kZZ2HboLQ==", + "node_modules/webdriver-manager/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/spdy": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", - "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", + "node_modules/webdriver-manager/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": { - "debug": "^4.1.0", - "handle-thing": "^2.0.0", - "http-deceiver": "^1.2.7", - "select-hose": "^2.0.0", - "spdy-transport": "^3.0.0" + "glob": "^7.1.3" }, - "engines": { - "node": ">=6.0.0" + "bin": { + "rimraf": "bin.js" } }, - "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==", + "node_modules/webdriver-manager/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "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" + "bin": { + "semver": "bin/semver" } }, - "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==", + "node_modules/webdriver-manager/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": { - "extend-shallow": "^3.0.0" + "ansi-regex": "^2.0.0" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/split2": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz", - "integrity": "sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==", + "node_modules/webdriver-manager/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, - "dependencies": { - "readable-stream": "^3.0.0" + "engines": { + "node": ">=0.8.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/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" }, - "node_modules/sshpk": { - "version": "1.16.1", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", - "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", - "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" + "node_modules/webpack": { + "version": "5.70.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.70.0.tgz", + "integrity": "sha512-ZMWWy8CeuTTjCxbeaQI21xSswseF2oNOwc70QSKNePvmxE7XW36i7vpBMYZFAUHPwQiEbNGCEYIOOlyRbdGmxw==", + "dev": true, + "dependencies": { + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^0.0.51", + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/wasm-edit": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1", + "acorn": "^8.4.1", + "acorn-import-assertions": "^1.7.6", + "browserslist": "^4.14.5", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.9.2", + "es-module-lexer": "^0.9.0", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.9", + "json-parse-better-errors": "^1.0.2", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.1.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.1.3", + "watchpack": "^2.3.1", + "webpack-sources": "^3.2.3" }, "bin": { - "sshpk-conv": "bin/sshpk-conv", - "sshpk-sign": "bin/sshpk-sign", - "sshpk-verify": "bin/sshpk-verify" + "webpack": "bin/webpack.js" }, "engines": { - "node": ">=0.10.0" + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } } }, - "node_modules/ssri": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz", - "integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==", + "node_modules/webpack-dev-middleware": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.0.tgz", + "integrity": "sha512-MouJz+rXAm9B1OTOYaJnn6rtD/lWZPy2ufQCH3BPs8Rloh/Du6Jze4p7AeLYHkVi0giJnYLaSGDC7S+GM9arhg==", "dev": true, "dependencies": { - "minipass": "^3.1.1" + "colorette": "^2.0.10", + "memfs": "^3.2.2", + "mime-types": "^2.1.31", + "range-parser": "^1.2.1", + "schema-utils": "^4.0.0" }, "engines": { - "node": ">= 8" + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" } }, - "node_modules/stable": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", - "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", - "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=", + "node_modules/webpack-dev-middleware/node_modules/ajv": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", + "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", "dev": true, "dependencies": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" }, - "engines": { - "node": ">=0.10.0" + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "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=", + "node_modules/webpack-dev-middleware/node_modules/ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", "dev": true, "dependencies": { - "is-descriptor": "^0.1.0" + "ajv": "^8.0.0" }, - "engines": { - "node": ">=0.10.0" + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } } }, - "node_modules/static-extend/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=", + "node_modules/webpack-dev-middleware/node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", "dev": true, "dependencies": { - "kind-of": "^3.0.2" + "fast-deep-equal": "^3.1.3" }, - "engines": { - "node": ">=0.10.0" + "peerDependencies": { + "ajv": "^8.8.2" } }, - "node_modules/static-extend/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, + "node_modules/webpack-dev-middleware/node_modules/colorette": { + "version": "2.0.19", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.19.tgz", + "integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==", + "dev": true + }, + "node_modules/webpack-dev-middleware/node_modules/schema-utils": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", + "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", + "dev": true, "dependencies": { - "is-buffer": "^1.1.5" + "@types/json-schema": "^7.0.9", + "ajv": "^8.8.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" } }, - "node_modules/static-extend/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=", + "node_modules/webpack-dev-server": { + "version": "4.7.3", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.7.3.tgz", + "integrity": "sha512-mlxq2AsIw2ag016nixkzUkdyOE8ST2GTy34uKSABp1c4nhjZvH90D5ZRR+UOLSsG4Z3TFahAi72a3ymRtfRm+Q==", "dev": true, "dependencies": { - "kind-of": "^3.0.2" + "@types/bonjour": "^3.5.9", + "@types/connect-history-api-fallback": "^1.3.5", + "@types/serve-index": "^1.9.1", + "@types/sockjs": "^0.3.33", + "@types/ws": "^8.2.2", + "ansi-html-community": "^0.0.8", + "bonjour": "^3.5.0", + "chokidar": "^3.5.2", + "colorette": "^2.0.10", + "compression": "^1.7.4", + "connect-history-api-fallback": "^1.6.0", + "default-gateway": "^6.0.3", + "del": "^6.0.0", + "express": "^4.17.1", + "graceful-fs": "^4.2.6", + "html-entities": "^2.3.2", + "http-proxy-middleware": "^2.0.0", + "ipaddr.js": "^2.0.1", + "open": "^8.0.9", + "p-retry": "^4.5.0", + "portfinder": "^1.0.28", + "schema-utils": "^4.0.0", + "selfsigned": "^2.0.0", + "serve-index": "^1.9.1", + "sockjs": "^0.3.21", + "spdy": "^4.0.2", + "strip-ansi": "^7.0.0", + "webpack-dev-middleware": "^5.3.0", + "ws": "^8.1.0" + }, + "bin": { + "webpack-dev-server": "bin/webpack-dev-server.js" }, "engines": { - "node": ">=0.10.0" + "node": ">= 12.13.0" + }, + "peerDependencies": { + "webpack": "^4.37.0 || ^5.0.0" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } } }, - "node_modules/static-extend/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=", + "node_modules/webpack-dev-server/node_modules/ajv": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", + "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", "dev": true, "dependencies": { - "is-buffer": "^1.1.5" + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" }, - "engines": { - "node": ">=0.10.0" + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/static-extend/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==", + "node_modules/webpack-dev-server/node_modules/ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", "dev": true, "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" + "ajv": "^8.0.0" }, - "engines": { - "node": ">=0.10.0" + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } } }, - "node_modules/static-extend/node_modules/kind-of": { + "node_modules/webpack-dev-server/node_modules/ajv-keywords": { "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", "dev": true, - "engines": { - "node": ">=0.10.0" + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" } }, - "node_modules/statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", + "node_modules/webpack-dev-server/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", "dev": true, "engines": { - "node": ">= 0.6" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" } }, - "node_modules/streamroller": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-2.2.4.tgz", - "integrity": "sha512-OG79qm3AujAM9ImoqgWEY1xG4HX+Lw+yY6qZj9R1K2mhF5bEmQ849wvrb+4vt4jLMLzwXttJlQbOdPOQVRv7DQ==", + "node_modules/webpack-dev-server/node_modules/colorette": { + "version": "2.0.19", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.19.tgz", + "integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==", + "dev": true + }, + "node_modules/webpack-dev-server/node_modules/del": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/del/-/del-6.1.1.tgz", + "integrity": "sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg==", "dev": true, "dependencies": { - "date-format": "^2.1.0", - "debug": "^4.1.1", - "fs-extra": "^8.1.0" + "globby": "^11.0.1", + "graceful-fs": "^4.2.4", + "is-glob": "^4.0.1", + "is-path-cwd": "^2.2.0", + "is-path-inside": "^3.0.2", + "p-map": "^4.0.0", + "rimraf": "^3.0.2", + "slash": "^3.0.0" }, "engines": { - "node": ">=8.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/streamroller/node_modules/date-format": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/date-format/-/date-format-2.1.0.tgz", - "integrity": "sha512-bYQuGLeFxhkxNOF3rcMtiZxvCBAquGzZm6oWA1oZ0g2THUzivaRhv8uOhdr19LmoobSOLoIAxeUK2RdbM8IFTA==", + "node_modules/webpack-dev-server/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": ">=4.0" + "node": ">=6" } }, - "node_modules/string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "node_modules/webpack-dev-server/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, - "dependencies": { - "safe-buffer": "~5.2.0" + "engines": { + "node": ">=8" } }, - "node_modules/string_decoder/node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/string-width": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", - "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", + "node_modules/webpack-dev-server/node_modules/schema-utils": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", + "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", "dev": true, "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" + "@types/json-schema": "^7.0.9", + "ajv": "^8.8.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.0.0" }, "engines": { - "node": ">=8" + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" } }, - "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==", + "node_modules/webpack-dev-server/node_modules/strip-ansi": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", + "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, - "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==", + "node_modules/webpack-dev-server/node_modules/ws": { + "version": "8.8.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.8.0.tgz", + "integrity": "sha512-JDAgSYQ1ksuwqfChJusw1LSJ8BizJ2e/vVu5Lxjq3YvNJNlROv1ui4i+c/kUUrPheBvQl4c5UbERhTwKa6QBJQ==", "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" + "engines": { + "node": ">=10.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } } }, - "node_modules/strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "node_modules/webpack-merge": { + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.8.0.tgz", + "integrity": "sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q==", "dev": true, "dependencies": { - "ansi-regex": "^5.0.0" + "clone-deep": "^4.0.1", + "wildcard": "^2.0.0" }, "engines": { - "node": ">=8" + "node": ">=10.0.0" } }, - "node_modules/strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "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, - "engines": { - "node": ">=4" + "dependencies": { + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" } }, - "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=", + "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/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==", + "node_modules/webpack-subresource-integrity": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/webpack-subresource-integrity/-/webpack-subresource-integrity-5.1.0.tgz", + "integrity": "sha512-sacXoX+xd8r4WKsy9MvH/q/vBtEHr86cpImXwyg74pFIpERKt6FmB8cXpeuh0ZLgclOlHI4Wcll7+R5L02xk9Q==", "dev": true, + "dependencies": { + "typed-assert": "^1.0.8" + }, "engines": { - "node": ">=8" + "node": ">= 12" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "html-webpack-plugin": ">= 5.0.0-beta.1 < 6", + "webpack": "^5.12.0" + }, + "peerDependenciesMeta": { + "html-webpack-plugin": { + "optional": true + } } }, - "node_modules/style-loader": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-2.0.0.tgz", - "integrity": "sha512-Z0gYUJmzZ6ZdRUqpg1r8GsaFKypE+3xAzuFeMuoHgjc9KZv3wMyCRjQIWEbhoFSq7+7yoHXySDJyyWQaPajeiQ==", + "node_modules/webpack/node_modules/acorn": { + "version": "8.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.4.1.tgz", + "integrity": "sha512-asabaBSkEKosYKMITunzX177CXxQ4Q8BSSzMTKD+FefUhipQC70gfW5SiUDhYQ3vk8G+81HqQk7Fv9OXwwn9KA==", "dev": true, - "dependencies": { - "loader-utils": "^2.0.0", - "schema-utils": "^3.0.0" + "bin": { + "acorn": "bin/acorn" }, "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, + "node": ">=0.4.0" + } + }, + "node_modules/webpack/node_modules/acorn-import-assertions": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz", + "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==", + "dev": true, "peerDependencies": { - "webpack": "^4.0.0 || ^5.0.0" + "acorn": "^8" } }, - "node_modules/style-loader/node_modules/ajv": { + "node_modules/webpack/node_modules/ajv": { "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", @@ -17374,7 +17616,7 @@ "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/style-loader/node_modules/ajv-keywords": { + "node_modules/webpack/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==", @@ -17383,13 +17625,13 @@ "ajv": "^6.9.1" } }, - "node_modules/style-loader/node_modules/json-schema-traverse": { + "node_modules/webpack/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/style-loader/node_modules/schema-utils": { + "node_modules/webpack/node_modules/schema-utils": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.0.tgz", "integrity": "sha512-tTEaeYkyIhEZ9uWgAjDerWov3T9MgX8dhhy2r0IGeeX4W8ngtGl1++dUve/RUqzuaASSh7shwCDJjEzthxki8w==", @@ -17407,155 +17649,176 @@ "url": "https://opencollective.com/webpack" } }, - "node_modules/stylehacks": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.0.1.tgz", - "integrity": "sha512-Es0rVnHIqbWzveU1b24kbw92HsebBepxfcqe5iix7t9j0PQqhs0IxXVXv0pY2Bxa08CgMkzD6OWql7kbGOuEdA==", + "node_modules/webpack/node_modules/webpack-sources": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", "dev": true, - "dependencies": { - "browserslist": "^4.16.0", - "postcss-selector-parser": "^6.0.4" - }, "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node": ">=10.13.0" } }, - "node_modules/stylus": { - "version": "0.54.8", - "resolved": "https://registry.npmjs.org/stylus/-/stylus-0.54.8.tgz", - "integrity": "sha512-vr54Or4BZ7pJafo2mpf0ZcwA74rpuYCZbxrHBsH8kbcXOwSfvBFwsRfpGO5OD5fhG5HDCFW737PKaawI7OqEAg==", - "dev": true, + "node_modules/websocket": { + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/websocket/-/websocket-1.0.34.tgz", + "integrity": "sha512-PRDso2sGwF6kM75QykIesBijKSVceR6jL2G8NGYyq2XrItNC2P5/qL5XeR056GhA+Ly7JMFvJb9I312mJfmqnQ==", "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" + "bufferutil": "^4.0.1", + "debug": "^2.2.0", + "es5-ext": "^0.10.50", + "typedarray-to-buffer": "^3.1.5", + "utf-8-validate": "^5.0.2", + "yaeti": "^0.0.6" }, "engines": { - "node": "*" + "node": ">=4.0.0" } }, - "node_modules/stylus-loader": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/stylus-loader/-/stylus-loader-5.0.0.tgz", - "integrity": "sha512-1OaGgixTgC8IAaMCodZXg7XYsfP1qU0UzTHDyPaWACUh34j9geJL4iA583tFJDOtfNUOfDLaBpUywc5MicQ1aA==", + "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": { - "fast-glob": "^3.2.5", - "klona": "^2.0.4", - "normalize-path": "^3.0.0" + "http-parser-js": ">=0.5.1", + "safe-buffer": ">=5.1.0", + "websocket-extensions": ">=0.1.1" }, "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "stylus": ">=0.52.4", - "webpack": "^5.0.0" + "node": ">=0.8.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==", + "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/websocket/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dependencies": { "ms": "2.0.0" } }, - "node_modules/stylus/node_modules/ms": { + "node_modules/websocket/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" }, - "node_modules/stylus/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/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" } }, - "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==", + "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": { - "has-flag": "^3.0.0" + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" }, "engines": { - "node": ">=4" + "node": ">= 8" } }, - "node_modules/svgo": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.3.1.tgz", - "integrity": "sha512-riDDIQgXpEnn0BEl9Gvhh1LNLIyiusSpt64IR8upJu7MwxnzetmF/Y57pXQD2NMX2lVyMRzXt5f2M5rO4wG7Dw==", + "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": { - "@trysound/sax": "0.1.1", - "chalk": "^4.1.0", - "commander": "^7.1.0", - "css-select": "^4.1.3", - "css-tree": "^1.1.2", - "csso": "^4.2.0", - "stable": "^0.1.8" - }, - "bin": { - "svgo": "bin/svgo" + "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/wide-align": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", + "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", + "dev": true, + "dependencies": { + "string-width": "^1.0.2 || 2 || 3 || 4" + } + }, + "node_modules/wildcard": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz", + "integrity": "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==", + "dev": true + }, + "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": ">=10.13.0" + "node": ">=0.10.0" } }, - "node_modules/svgo/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==", + "node_modules/wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==", + "dev": true + }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dev": true, "dependencies": { - "color-convert": "^2.0.1" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" }, "engines": { - "node": ">=8" + "node": ">=10" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/svgo/node_modules/chalk": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", - "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "color-convert": "^2.0.1" }, "engines": { - "node": ">=10" + "node": ">=8" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/svgo/node_modules/color-convert": { + "node_modules/wrap-ansi/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==", @@ -17567,7797 +17830,4445 @@ "node": ">=7.0.0" } }, - "node_modules/svgo/node_modules/color-name": { + "node_modules/wrap-ansi/node_modules/color-name": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, - "node_modules/svgo/node_modules/css-select": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.1.3.tgz", - "integrity": "sha512-gT3wBNd9Nj49rAbmtFHj1cljIAOLYSX1nZ8CB7TBO3INYckygm5B7LISU/szY//YmdiSLbJvDLOx9VnMVpMBxA==", - "dev": true, - "dependencies": { - "boolbase": "^1.0.0", - "css-what": "^5.0.0", - "domhandler": "^4.2.0", - "domutils": "^2.6.0", - "nth-check": "^2.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } + "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/svgo/node_modules/css-what": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-5.0.1.tgz", - "integrity": "sha512-FYDTSHb/7KXsWICVsxdmiExPjCfRC4qRFBdVwv7Ax9hMnvMmEjP9RfxTEZ3qPZGmADDn2vAKSo9UcN1jKVYscg==", + "node_modules/ws": { + "version": "7.5.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.3.tgz", + "integrity": "sha512-kQ/dHIzuLrS6Je9+uv81ueZomEwH0qVYstcAQ4/Z93K8zeko9gtAbttJWzoC5ukqXY1PpoouV3+VSOqEAFt5wg==", "dev": true, "engines": { - "node": ">= 6" + "node": ">=8.3.0" }, - "funding": { - "url": "https://github.com/sponsors/fb55" + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } } }, - "node_modules/svgo/node_modules/dom-serializer": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.2.tgz", - "integrity": "sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==", + "node_modules/xml2js": { + "version": "0.4.23", + "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.23.tgz", + "integrity": "sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==", "dev": true, "dependencies": { - "domelementtype": "^2.0.1", - "domhandler": "^4.2.0", - "entities": "^2.0.0" + "sax": ">=0.6.0", + "xmlbuilder": "~11.0.0" }, - "funding": { - "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + "engines": { + "node": ">=4.0.0" } }, - "node_modules/svgo/node_modules/domelementtype": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz", - "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==", + "node_modules/xmlbuilder": { + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", + "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ] + "engines": { + "node": ">=4.0" + } }, - "node_modules/svgo/node_modules/domhandler": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.2.0.tgz", - "integrity": "sha512-zk7sgt970kzPks2Bf+dwT/PLzghLnsivb9CcxkvR8Mzr66Olr0Ofd8neSbglHJHaHa2MadfoSdNlKYAaafmWfA==", + "node_modules/xmldom": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/xmldom/-/xmldom-0.5.0.tgz", + "integrity": "sha512-Foaj5FXVzgn7xFzsKeNIde9g6aFBxTPi37iwsno8QvApmtg7KYrr+OPyRHcJF7dud2a5nGRBXK3n0dL62Gf7PA==", "dev": true, - "dependencies": { - "domelementtype": "^2.2.0" - }, "engines": { - "node": ">= 4" - }, - "funding": { - "url": "https://github.com/fb55/domhandler?sponsor=1" + "node": ">=10.0.0" } }, - "node_modules/svgo/node_modules/domutils": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.7.0.tgz", - "integrity": "sha512-8eaHa17IwJUPAiB+SoTYBo5mCdeMgdcAoXJ59m6DT1vw+5iLS3gNoqYaRowaBKtGVrOF1Jz4yDTgYKLK2kvfJg==", - "dev": true, + "node_modules/xxhashjs": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/xxhashjs/-/xxhashjs-0.2.2.tgz", + "integrity": "sha512-AkTuIuVTET12tpsVIQo+ZU6f/qDmKuRUcjaqR+OIvm+aCBsZ95i7UVY5WJ9TMsSaZ0DA2WxoZ4acu0sPH+OKAw==", "dependencies": { - "dom-serializer": "^1.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.2.0" - }, - "funding": { - "url": "https://github.com/fb55/domutils?sponsor=1" + "cuint": "^0.2.2" } }, - "node_modules/svgo/node_modules/entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "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, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" + "engines": { + "node": ">=10" } }, - "node_modules/svgo/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, + "node_modules/yaeti": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/yaeti/-/yaeti-0.0.6.tgz", + "integrity": "sha512-MvQa//+KcZCUkBTIC9blM+CU9J2GzuTytsOUwf2lidtvkx/6gnEp1QvJv34t9vdjhFmha/mUiNDbN0D0mJWdug==", "engines": { - "node": ">=8" + "node": ">=0.10.32" } }, - "node_modules/svgo/node_modules/nth-check": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.0.tgz", - "integrity": "sha512-i4sc/Kj8htBrAiH1viZ0TgU8Y5XqCaV/FziYK6TBczxmeKm3AEFWqqF3195yKudrarqy7Zu80Ra5dobFjn9X/Q==", - "dev": true, - "dependencies": { - "boolbase": "^1.0.0" - }, - "funding": { - "url": "https://github.com/fb55/nth-check?sponsor=1" - } - }, - "node_modules/svgo/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/symbol-observable": { + "node_modules/yallist": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-4.0.0.tgz", - "integrity": "sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ==", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "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": ">=0.10" + "node": ">= 6" } }, - "node_modules/table": { - "version": "6.7.1", - "resolved": "https://registry.npmjs.org/table/-/table-6.7.1.tgz", - "integrity": "sha512-ZGum47Yi6KOOFDE8m223td53ath2enHcYLgOCjGr5ngu8bdIARQk6mN/wRMv4yMRcHnCSnHbCEha4sobQx5yWg==", + "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": { - "ajv": "^8.0.1", - "lodash.clonedeep": "^4.5.0", - "lodash.truncate": "^4.4.2", - "slice-ansi": "^4.0.0", + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", "string-width": "^4.2.0", - "strip-ansi": "^6.0.0" + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" }, "engines": { - "node": ">=10.0.0" + "node": ">=10" } }, - "node_modules/tapable": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.0.tgz", - "integrity": "sha512-FBk4IesMV1rBxX2tfiK8RAmogtWn53puLOQlvO8XuwlgxcYbP4mVPS9Ph4aeamSyyVjOl24aYWAuc8U5kCVwMw==", + "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": ">=6" + "node": ">=10" } }, - "node_modules/tar": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.0.tgz", - "integrity": "sha512-DUCttfhsnLCjwoDoFcI+B2iJgYa93vBnDUATYEeRx6sntCTdN01VnqsIuTlALXla/LWooNg0yEGeB+Y8WdFxGA==", + "node_modules/yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=", "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" + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" } }, - "node_modules/terser": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.7.0.tgz", - "integrity": "sha512-HP5/9hp2UaZt5fYkuhNBR8YyRcT8juw8+uFbAme53iN9hblvKnLUTKkmwJG6ocWpIKf8UK4DoeWG4ty0J6S6/g==", + "node_modules/yn": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", "dev": true, - "dependencies": { - "commander": "^2.20.0", - "source-map": "~0.7.2", - "source-map-support": "~0.5.19" - }, - "bin": { - "terser": "bin/terser" - }, "engines": { - "node": ">=10" + "node": ">=6" } }, - "node_modules/terser-webpack-plugin": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.1.2.tgz", - "integrity": "sha512-6QhDaAiVHIQr5Ab3XUWZyDmrIPCHMiqJVljMF91YKyqwKkL5QHnYMkrMBy96v9Z7ev1hGhSEw1HQZc2p/s5Z8Q==", + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", "dev": true, - "dependencies": { - "jest-worker": "^26.6.2", - "p-limit": "^3.1.0", - "schema-utils": "^3.0.0", - "serialize-javascript": "^5.0.1", - "source-map": "^0.6.1", - "terser": "^5.7.0" - }, "engines": { - "node": ">= 10.13.0" + "node": ">=10" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.1.0" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/terser-webpack-plugin/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, + "node_modules/zone.js": { + "version": "0.11.6", + "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.11.6.tgz", + "integrity": "sha512-umJqFtKyZlPli669gB1gOrRE9hxUUGkZr7mo878z+NEBJZZixJkKeVYfnoLa7g25SseUDc92OZrMKKHySyJrFg==", "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" + "tslib": "^2.3.0" } - }, - "node_modules/terser-webpack-plugin/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==", + } + }, + "dependencies": { + "@ampproject/remapping": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", + "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", "dev": true, - "peerDependencies": { - "ajv": "^6.9.1" + "requires": { + "@jridgewell/gen-mapping": "^0.1.0", + "@jridgewell/trace-mapping": "^0.3.9" } }, - "node_modules/terser-webpack-plugin/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/terser-webpack-plugin/node_modules/schema-utils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.0.tgz", - "integrity": "sha512-tTEaeYkyIhEZ9uWgAjDerWov3T9MgX8dhhy2r0IGeeX4W8ngtGl1++dUve/RUqzuaASSh7shwCDJjEzthxki8w==", + "@angular-devkit/architect": { + "version": "0.1200.5", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1200.5.tgz", + "integrity": "sha512-222VZ4OeaDK3vON8V5m+w15SRWfUs5uOb4H9ij/H9/6tyHD83uWfCDoOGg+ax4wJVdWEFJIS+Vn4ijGcZCq9WQ==", "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.7", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" + "peer": true, + "requires": { + "@angular-devkit/core": "12.0.5", + "rxjs": "6.6.7" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "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/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/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/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": "4.0.2", - "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", - "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", - "dev": true, "dependencies": { - "readable-stream": "3" + "rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dev": true, + "peer": true, + "requires": { + "tslib": "^1.9.0" + } + }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true, + "peer": true + } } }, - "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/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" + "@angular-devkit/build-angular": { + "version": "13.3.8", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-13.3.8.tgz", + "integrity": "sha512-5nWqb58oLcWoBoAECqHiUlOV23/J/4W1a9aqaFQcN6bThRzoy54S69zUuQREnBE36elDrSxhn2Y34poqYe8iKQ==", + "dev": true, + "requires": { + "@ampproject/remapping": "2.2.0", + "@angular-devkit/architect": "0.1303.8", + "@angular-devkit/build-webpack": "0.1303.8", + "@angular-devkit/core": "13.3.8", + "@babel/core": "7.16.12", + "@babel/generator": "7.16.8", + "@babel/helper-annotate-as-pure": "7.16.7", + "@babel/plugin-proposal-async-generator-functions": "7.16.8", + "@babel/plugin-transform-async-to-generator": "7.16.8", + "@babel/plugin-transform-runtime": "7.16.10", + "@babel/preset-env": "7.16.11", + "@babel/runtime": "7.16.7", + "@babel/template": "7.16.7", + "@discoveryjs/json-ext": "0.5.6", + "@ngtools/webpack": "13.3.8", + "ansi-colors": "4.1.1", + "babel-loader": "8.2.5", + "babel-plugin-istanbul": "6.1.1", + "browserslist": "^4.9.1", + "cacache": "15.3.0", + "circular-dependency-plugin": "5.2.2", + "copy-webpack-plugin": "10.2.1", + "core-js": "3.20.3", + "critters": "0.0.16", + "css-loader": "6.5.1", + "esbuild": "0.14.22", + "esbuild-wasm": "0.14.22", + "glob": "7.2.0", + "https-proxy-agent": "5.0.0", + "inquirer": "8.2.0", + "jsonc-parser": "3.0.0", + "karma-source-map-support": "1.4.0", + "less": "4.1.2", + "less-loader": "10.2.0", + "license-webpack-plugin": "4.0.2", + "loader-utils": "3.2.0", + "mini-css-extract-plugin": "2.5.3", + "minimatch": "3.0.5", + "open": "8.4.0", + "ora": "5.4.1", + "parse5-html-rewriting-stream": "6.0.1", + "piscina": "3.2.0", + "postcss": "8.4.5", + "postcss-import": "14.0.2", + "postcss-loader": "6.2.1", + "postcss-preset-env": "7.2.3", + "regenerator-runtime": "0.13.9", + "resolve-url-loader": "5.0.0", + "rxjs": "6.6.7", + "sass": "1.49.9", + "sass-loader": "12.4.0", + "semver": "7.3.5", + "source-map-loader": "3.0.1", + "source-map-support": "0.5.21", + "stylus": "0.56.0", + "stylus-loader": "6.2.0", + "terser": "5.11.0", + "text-table": "0.2.0", + "tree-kill": "1.2.2", + "tslib": "2.3.1", + "webpack": "5.70.0", + "webpack-dev-middleware": "5.3.0", + "webpack-dev-server": "4.7.3", + "webpack-merge": "5.8.0", + "webpack-subresource-integrity": "5.1.0" }, - "engines": { - "node": ">=0.6.0" - } - }, - "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-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": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/toidentifier": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", - "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==", - "dev": true, - "engines": { - "node": ">=0.6" - } - }, - "node_modules/tough-cookie": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", - "dev": true, - "dependencies": { - "psl": "^1.1.28", - "punycode": "^2.1.1" - }, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/tree-kill": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", - "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", - "dev": true, - "bin": { - "tree-kill": "cli.js" - } - }, - "node_modules/ts-node": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-8.3.0.tgz", - "integrity": "sha512-dyNS/RqyVTDcmNM4NIBAeDMpsAdaQ+ojdf0GOLqE6nwJOgzEkdRNzJywhDfwnuvB10oa6NLVG1rUJQCpRN7qoQ==", - "dev": true, - "dependencies": { - "arg": "^4.1.0", - "diff": "^4.0.1", - "make-error": "^1.1.1", - "source-map-support": "^0.5.6", - "yn": "^3.0.0" - }, - "bin": { - "ts-node": "dist/bin.js" - }, - "engines": { - "node": ">=4.2.0" - }, - "peerDependencies": { - "typescript": ">=2.0" - } - }, - "node_modules/tsconfig-paths": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.10.1.tgz", - "integrity": "sha512-rETidPDgCpltxF7MjBZlAFPUHv5aHH2MymyPvh+vEyWAED4Eb/WeMbsnD/JDr4OKPOA1TssDHgIcpTN5Kh0p6Q==", - "dev": true, - "dependencies": { - "json5": "^2.2.0", - "minimist": "^1.2.0", - "strip-bom": "^3.0.0" - } - }, - "node_modules/tslib": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz", - "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==" - }, - "node_modules/tsutils": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", - "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", - "dev": true, - "dependencies": { - "tslib": "^1.8.1" - }, - "engines": { - "node": ">= 6" - }, - "peerDependencies": { - "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" - } - }, - "node_modules/tsutils/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/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.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/type-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/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/typescript": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.2.4.tgz", - "integrity": "sha512-V+evlYHZnQkaz8TRBuxTA92yZBPotr5H+WhQ7bD3hZUndx5tGOa1fuCgeSjxAzM1RiN5IzvadIXTVefuuwZCRg==", - "dev": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=4.2.0" - } - }, - "node_modules/ua-parser-js": { - "version": "0.7.28", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.28.tgz", - "integrity": "sha512-6Gurc1n//gjp9eQNXjD9O3M/sMwVtN5S8Lv9bvOYBfKfDNiIIhqiyi01vMBO45u4zkDE420w/e0se7Vs+sIg+g==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/ua-parser-js" + "@angular-devkit/architect": { + "version": "0.1303.8", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1303.8.tgz", + "integrity": "sha512-2zaNejnfZbq+fFOVgkmWkh+2UmK/CBDbWTq7VJHopJLtUuf7pFNvRk73s9xayuJ3Lt2/sY17Mykku2LziBF89A==", + "dev": true, + "requires": { + "@angular-devkit/core": "13.3.8", + "rxjs": "6.6.7" + } }, - { - "type": "paypal", - "url": "https://paypal.me/faisalman" - } - ], - "engines": { - "node": "*" - } - }, - "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": "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==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/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==", - "dev": true, - "dependencies": { - "unicode-canonical-property-names-ecmascript": "^1.0.4", - "unicode-property-aliases-ecmascript": "^1.0.4" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/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==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/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==", - "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/union-value/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/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/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/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/untildify": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz", - "integrity": "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "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/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-parse": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.1.tgz", - "integrity": "sha512-HOfCOUJt7iSYzEx/UqgtwKRMC6EU91NFhsCHMv9oM03VJcVo2Qrp8T8kI9D7amFf1cu+/3CEhgb3rF9zL7k85Q==", - "dev": true, - "dependencies": { - "querystringify": "^2.1.1", - "requires-port": "^1.0.0" - } - }, - "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-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", - "dev": true - }, - "node_modules/utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", - "dev": true, - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", - "dev": true, - "bin": { - "uuid": "dist/bin/uuid" - } - }, - "node_modules/v8-compile-cache": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", - "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", - "dev": true - }, - "node_modules/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/validate-npm-package-name": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz", - "integrity": "sha1-X6kS2B630MdK/BQN5zF/DKffQ34=", - "dev": true, - "dependencies": { - "builtins": "^1.0.3" - } - }, - "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/void-elements": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz", - "integrity": "sha1-wGavtYK7HLQSjWDqkjkulNXp2+w=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/watchpack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.2.0.tgz", - "integrity": "sha512-up4YAn/XHgZHIxFBVCdlMiWDj6WaLKpwVeGQk2I5thdYxF/KmF0aaz6TfJZ/hfl1h/XlcDr7k1KH7ThDagpFaA==", - "dev": true, - "dependencies": { - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.1.2" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "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/webdriver-js-extender": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/webdriver-js-extender/-/webdriver-js-extender-2.1.0.tgz", - "integrity": "sha512-lcUKrjbBfCK6MNsh7xaY2UAUmZwe+/ib03AjVOpFobX4O7+83BUveSrLfU0Qsyb1DaKJdQRbuU+kM9aZ6QUhiQ==", - "dev": true, - "dependencies": { - "@types/selenium-webdriver": "^3.0.0", - "selenium-webdriver": "^3.0.1" - }, - "engines": { - "node": ">=6.9.x" - } - }, - "node_modules/webdriver-manager": { - "version": "12.1.8", - "resolved": "https://registry.npmjs.org/webdriver-manager/-/webdriver-manager-12.1.8.tgz", - "integrity": "sha512-qJR36SXG2VwKugPcdwhaqcLQOD7r8P2Xiv9sfNbfZrKBnX243iAkOueX1yAmeNgIKhJ3YAT/F2gq6IiEZzahsg==", - "dev": true, - "dependencies": { - "adm-zip": "^0.4.9", - "chalk": "^1.1.1", - "del": "^2.2.0", - "glob": "^7.0.3", - "ini": "^1.3.4", - "minimist": "^1.2.0", - "q": "^1.4.1", - "request": "^2.87.0", - "rimraf": "^2.5.2", - "semver": "^5.3.0", - "xml2js": "^0.4.17" - }, - "bin": { - "webdriver-manager": "bin/webdriver-manager" - }, - "engines": { - "node": ">=6.9.x" - } - }, - "node_modules/webdriver-manager/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/webdriver-manager/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/webdriver-manager/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/webdriver-manager/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/webdriver-manager/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/webdriver-manager/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/webdriver-manager/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/webdriver-manager/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/webpack": { - "version": "5.39.1", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.39.1.tgz", - "integrity": "sha512-ulOvoNCh2PvTUa+zbpRuEb1VPeQnhxpnHleMPVVCq3QqnaFogjsLyps+o42OviQFoaGtTQYrUqDXu1QNkvUPzw==", - "dev": true, - "dependencies": { - "@types/eslint-scope": "^3.7.0", - "@types/estree": "^0.0.47", - "@webassemblyjs/ast": "1.11.0", - "@webassemblyjs/wasm-edit": "1.11.0", - "@webassemblyjs/wasm-parser": "1.11.0", - "acorn": "^8.2.1", - "browserslist": "^4.14.5", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.8.0", - "es-module-lexer": "^0.4.0", - "eslint-scope": "5.1.1", - "events": "^3.2.0", - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.4", - "json-parse-better-errors": "^1.0.2", - "loader-runner": "^4.2.0", - "mime-types": "^2.1.27", - "neo-async": "^2.6.2", - "schema-utils": "^3.0.0", - "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.1.1", - "watchpack": "^2.2.0", - "webpack-sources": "^2.3.0" - }, - "bin": { - "webpack": "bin/webpack.js" - }, - "engines": { - "node": ">=10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependenciesMeta": { - "webpack-cli": { - "optional": true - } - } - }, - "node_modules/webpack-dev-middleware": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-4.1.0.tgz", - "integrity": "sha512-mpa/FY+DiBu5+r5JUIyTCYWRfkWgyA3/OOE9lwfzV9S70A4vJYLsVRKj5rMFEsezBroy2FmPyQ8oBRVW8QmK1A==", - "dev": true, - "dependencies": { - "colorette": "^1.2.1", - "mem": "^8.0.0", - "memfs": "^3.2.0", - "mime-types": "^2.1.28", - "range-parser": "^1.2.1", - "schema-utils": "^3.0.0" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^4.0.0 || ^5.0.0" - } - }, - "node_modules/webpack-dev-middleware/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/webpack-dev-middleware/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/webpack-dev-middleware/node_modules/colorette": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz", - "integrity": "sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==", - "dev": true - }, - "node_modules/webpack-dev-middleware/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/webpack-dev-middleware/node_modules/schema-utils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.0.tgz", - "integrity": "sha512-tTEaeYkyIhEZ9uWgAjDerWov3T9MgX8dhhy2r0IGeeX4W8ngtGl1++dUve/RUqzuaASSh7shwCDJjEzthxki8w==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.7", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/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==", - "dev": true, - "dependencies": { - "ansi-html": "0.0.7", - "bonjour": "^3.5.0", - "chokidar": "^2.1.8", - "compression": "^1.7.4", - "connect-history-api-fallback": "^1.6.0", - "debug": "^4.1.1", - "del": "^4.1.1", - "express": "^4.17.1", - "html-entities": "^1.3.1", - "http-proxy-middleware": "0.19.1", - "import-local": "^2.0.0", - "internal-ip": "^4.3.0", - "ip": "^1.1.5", - "is-absolute-url": "^3.0.3", - "killable": "^1.0.1", - "loglevel": "^1.6.8", - "opn": "^5.5.0", - "p-retry": "^3.0.1", - "portfinder": "^1.0.26", - "schema-utils": "^1.0.0", - "selfsigned": "^1.10.8", - "semver": "^6.3.0", - "serve-index": "^1.9.1", - "sockjs": "^0.3.21", - "sockjs-client": "^1.5.0", - "spdy": "^4.0.2", - "strip-ansi": "^3.0.1", - "supports-color": "^6.1.0", - "url": "^0.11.0", - "webpack-dev-middleware": "^3.7.2", - "webpack-log": "^2.0.0", - "ws": "^6.2.1", - "yargs": "^13.3.2" - }, - "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/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/webpack-dev-server/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/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/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/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/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/webpack-dev-server/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/webpack-dev-server/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/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 will break on node v14+. Upgrade to chokidar 3 with 15x less 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/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/webpack-dev-server/node_modules/cliui/node_modules/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, - "engines": { - "node": ">=6" - } - }, - "node_modules/webpack-dev-server/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/webpack-dev-server/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/webpack-dev-server/node_modules/del/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/webpack-dev-server/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/webpack-dev-server/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/webpack-dev-server/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/webpack-dev-server/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/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/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/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/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/webpack-dev-server/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/webpack-dev-server/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/webpack-dev-server/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/webpack-dev-server/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/webpack-dev-server/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/webpack-dev-server/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/webpack-dev-server/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/webpack-dev-server/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/webpack-dev-server/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/webpack-dev-server/node_modules/mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "dev": true, - "dependencies": { - "minimist": "^1.2.5" - }, - "bin": { - "mkdirp": "bin/cmd.js" - } - }, - "node_modules/webpack-dev-server/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/webpack-dev-server/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/webpack-dev-server/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/webpack-dev-server/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/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/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/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/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/webpack-dev-server/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/webpack-dev-server/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/webpack-dev-server/node_modules/string-width/node_modules/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, - "engines": { - "node": ">=6" - } - }, - "node_modules/webpack-dev-server/node_modules/string-width/node_modules/strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "dependencies": { - "ansi-regex": "^4.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/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/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/webpack-dev-server/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/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/webpack-dev-server/node_modules/wrap-ansi/node_modules/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, - "engines": { - "node": ">=6" - } - }, - "node_modules/webpack-dev-server/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/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-dev-server/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/webpack-dev-server/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/webpack-dev-server/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/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-log/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/webpack-log/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/webpack-merge": { - "version": "5.7.3", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.7.3.tgz", - "integrity": "sha512-6/JUQv0ELQ1igjGDzHkXbVDRxkfA57Zw7PfiupdLFJYrgFqY5ZP8xxbpp2lU3EPwYx89ht5Z/aDkD40hFCm5AA==", - "dev": true, - "dependencies": { - "clone-deep": "^4.0.1", - "wildcard": "^2.0.0" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "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-subresource-integrity": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/webpack-subresource-integrity/-/webpack-subresource-integrity-1.5.2.tgz", - "integrity": "sha512-GBWYBoyalbo5YClwWop9qe6Zclp8CIXYGIz12OPclJhIrSplDxs1Ls1JDMH8xBPPrg1T6ISaTW9Y6zOrwEiAzw==", - "dev": true, - "dependencies": { - "webpack-sources": "^1.3.0" - }, - "engines": { - "node": ">=4" - }, - "peerDependencies": { - "html-webpack-plugin": ">= 2.21.0 < 5", - "webpack": ">= 1.12.11 < 6" - }, - "peerDependenciesMeta": { - "html-webpack-plugin": { - "optional": true - } - } - }, - "node_modules/webpack/node_modules/acorn": { - "version": "8.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.4.1.tgz", - "integrity": "sha512-asabaBSkEKosYKMITunzX177CXxQ4Q8BSSzMTKD+FefUhipQC70gfW5SiUDhYQ3vk8G+81HqQk7Fv9OXwwn9KA==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/webpack/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/webpack/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/webpack/node_modules/enhanced-resolve": { - "version": "5.8.2", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.8.2.tgz", - "integrity": "sha512-F27oB3WuHDzvR2DOGNTaYy0D5o0cnrv8TeI482VM4kYgQd/FT9lUQwuNsJ0oOHtBUq7eiW5ytqzp7nBFknL+GA==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/webpack/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/webpack/node_modules/schema-utils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.0.tgz", - "integrity": "sha512-tTEaeYkyIhEZ9uWgAjDerWov3T9MgX8dhhy2r0IGeeX4W8ngtGl1++dUve/RUqzuaASSh7shwCDJjEzthxki8w==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.7", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/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/webpack/node_modules/webpack-sources": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-2.3.0.tgz", - "integrity": "sha512-WyOdtwSvOML1kbgtXbTDnEW0jkJ7hZr/bDByIwszhWd/4XX1A3XMkrbFMsuH4+/MfLlZCUzlAdg4r7jaGKEIgQ==", - "dev": true, - "dependencies": { - "source-list-map": "^2.0.1", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "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/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/which-boxed-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", - "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", - "dev": true, - "dependencies": { - "is-bigint": "^1.0.1", - "is-boolean-object": "^1.1.0", - "is-number-object": "^1.0.4", - "is-string": "^1.0.5", - "is-symbol": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", - "dev": true - }, - "node_modules/wide-align": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", - "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", - "dev": true, - "dependencies": { - "string-width": "^1.0.2 || 2" - } - }, - "node_modules/wide-align/node_modules/ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/wide-align/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/wide-align/node_modules/string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, - "dependencies": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/wide-align/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/wildcard": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz", - "integrity": "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==", - "dev": true - }, - "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/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/wrap-ansi/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/wrap-ansi/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/wrap-ansi/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true - }, - "node_modules/ws": { - "version": "7.5.3", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.3.tgz", - "integrity": "sha512-kQ/dHIzuLrS6Je9+uv81ueZomEwH0qVYstcAQ4/Z93K8zeko9gtAbttJWzoC5ukqXY1PpoouV3+VSOqEAFt5wg==", - "dev": true, - "engines": { - "node": ">=8.3.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, - "node_modules/xml2js": { - "version": "0.4.23", - "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.23.tgz", - "integrity": "sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==", - "dev": true, - "dependencies": { - "sax": ">=0.6.0", - "xmlbuilder": "~11.0.0" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/xmlbuilder": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", - "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/xmldom": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/xmldom/-/xmldom-0.5.0.tgz", - "integrity": "sha512-Foaj5FXVzgn7xFzsKeNIde9g6aFBxTPi37iwsno8QvApmtg7KYrr+OPyRHcJF7dud2a5nGRBXK3n0dL62Gf7PA==", - "dev": true, - "engines": { - "node": ">=10.0.0" - } - }, - "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/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/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": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "dev": true, - "dependencies": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/yargs-parser": { - "version": "20.2.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/yauzl": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", - "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=", - "dev": true, - "dependencies": { - "buffer-crc32": "~0.2.3", - "fd-slicer": "~1.1.0" - } - }, - "node_modules/yn": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", - "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/zone.js": { - "version": "0.11.4", - "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.11.4.tgz", - "integrity": "sha512-DDh2Ab+A/B+9mJyajPjHFPWfYU1H+pdun4wnnk0OcQTNjem1XQSZ2CDW+rfZEUDjv5M19SBqAkjZi0x5wuB5Qw==", - "dependencies": { - "tslib": "^2.0.0" - } - } - }, - "dependencies": { - "@angular-devkit/architect": { - "version": "0.1200.5", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1200.5.tgz", - "integrity": "sha512-222VZ4OeaDK3vON8V5m+w15SRWfUs5uOb4H9ij/H9/6tyHD83uWfCDoOGg+ax4wJVdWEFJIS+Vn4ijGcZCq9WQ==", - "dev": true, - "requires": { - "@angular-devkit/core": "12.0.5", - "rxjs": "6.6.7" - } - }, - "@angular-devkit/build-angular": { - "version": "12.0.5", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-12.0.5.tgz", - "integrity": "sha512-rFbaAQPeuWM9KE9lK3J0sF6GB9nKF/s2Z7rtzKux7whGTF3Tlj8NHrcSxZTf4eBm3cnEpaiod1uPBQg8fUWD4w==", - "dev": true, - "requires": { - "@angular-devkit/architect": "0.1200.5", - "@angular-devkit/build-optimizer": "0.1200.5", - "@angular-devkit/build-webpack": "0.1200.5", - "@angular-devkit/core": "12.0.5", - "@babel/core": "7.14.3", - "@babel/generator": "7.14.3", - "@babel/plugin-transform-async-to-generator": "7.13.0", - "@babel/plugin-transform-runtime": "7.14.3", - "@babel/preset-env": "7.14.2", - "@babel/runtime": "7.14.0", - "@babel/template": "7.12.13", - "@discoveryjs/json-ext": "0.5.2", - "@jsdevtools/coverage-istanbul-loader": "3.0.5", - "@ngtools/webpack": "12.0.5", - "ansi-colors": "4.1.1", - "babel-loader": "8.2.2", - "browserslist": "^4.9.1", - "cacache": "15.0.6", - "caniuse-lite": "^1.0.30001032", - "circular-dependency-plugin": "5.2.2", - "copy-webpack-plugin": "8.1.1", - "core-js": "3.12.0", - "critters": "0.0.10", - "css-loader": "5.2.4", - "css-minimizer-webpack-plugin": "3.0.0", - "find-cache-dir": "3.3.1", - "glob": "7.1.7", - "https-proxy-agent": "5.0.0", - "inquirer": "8.0.0", - "jest-worker": "26.6.2", - "karma-source-map-support": "1.4.0", - "less": "4.1.1", - "less-loader": "8.1.1", - "license-webpack-plugin": "2.3.19", - "loader-utils": "2.0.0", - "mini-css-extract-plugin": "1.5.1", - "minimatch": "3.0.4", - "open": "8.0.2", - "ora": "5.4.0", - "parse5-html-rewriting-stream": "6.0.1", - "postcss": "8.3.0", - "postcss-import": "14.0.1", - "postcss-loader": "5.2.0", - "postcss-preset-env": "6.7.0", - "raw-loader": "4.0.2", - "regenerator-runtime": "0.13.7", - "resolve-url-loader": "4.0.0", - "rimraf": "3.0.2", - "rxjs": "6.6.7", - "sass": "1.32.12", - "sass-loader": "11.0.1", - "semver": "7.3.5", - "source-map": "0.7.3", - "source-map-loader": "2.0.1", - "source-map-support": "0.5.19", - "style-loader": "2.0.0", - "stylus": "0.54.8", - "stylus-loader": "5.0.0", - "terser": "5.7.0", - "terser-webpack-plugin": "5.1.2", - "text-table": "0.2.0", - "tree-kill": "1.2.2", - "webpack": "5.39.1", - "webpack-dev-middleware": "4.1.0", - "webpack-dev-server": "3.11.2", - "webpack-merge": "5.7.3", - "webpack-subresource-integrity": "1.5.2" - } - }, - "@angular-devkit/build-optimizer": { - "version": "0.1200.5", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1200.5.tgz", - "integrity": "sha512-3XlDVVak3CfIgUjDZMoON7sxnI1vxhzEm2LvVg5yN98Q7ijnfykXiIzryEcplzTMTZwGNkem0361HDs1EX8zNg==", - "dev": true, - "requires": { - "source-map": "0.7.3", - "tslib": "2.2.0", - "typescript": "4.2.4" - }, - "dependencies": { - "tslib": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.2.0.tgz", - "integrity": "sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w==", - "dev": true - } - } - }, - "@angular-devkit/build-webpack": { - "version": "0.1200.5", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1200.5.tgz", - "integrity": "sha512-cx8DVwOmogzeHS1dsZGWummwA3T1zqsJ6q9NIL0S0ZiOScZuz0j9zAOLjBkyCj5XexOFzHv3TcAVQyzJsi1tIw==", - "dev": true, - "requires": { - "@angular-devkit/architect": "0.1200.5", - "rxjs": "6.6.7" - } - }, - "@angular-devkit/core": { - "version": "12.0.5", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-12.0.5.tgz", - "integrity": "sha512-zVSQV+8/vjUjsUKGlj8Kf5LioA6AXJTGI0yhHW9q1dFX4dPpbW63k0R1UoIB2wJ0F/AbYVgpnPGPe9BBm2fvZA==", - "dev": true, - "requires": { - "ajv": "8.2.0", - "ajv-formats": "2.0.2", - "fast-json-stable-stringify": "2.1.0", - "magic-string": "0.25.7", - "rxjs": "6.6.7", - "source-map": "0.7.3" - } - }, - "@angular-devkit/schematics": { - "version": "12.1.2", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-12.1.2.tgz", - "integrity": "sha512-/UGcAJChq+g7wf46Exr5iIyuVw3j4TxTIntTpuKg/z/xf9Y+8mzJAZgGittu/yFcHAJ9aYcOHctffrfEdV7QSA==", - "dev": true, - "peer": true, - "requires": { - "@angular-devkit/core": "12.1.2", - "ora": "5.4.1", - "rxjs": "6.6.7" - }, - "dependencies": { - "@angular-devkit/core": { - "version": "12.1.2", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-12.1.2.tgz", - "integrity": "sha512-TeaRbvsNEeAkRJcIBlT6yUNh0vaVVBGBYfXYFIMg/I04ex/HI0ApEowu78GeTzCqlE0r4t+WaGT46m7+NIljKg==", - "dev": true, - "peer": true, - "requires": { - "ajv": "8.6.0", - "ajv-formats": "2.1.0", - "fast-json-stable-stringify": "2.1.0", - "magic-string": "0.25.7", - "rxjs": "6.6.7", - "source-map": "0.7.3" - } - }, - "ajv": { - "version": "8.6.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.6.0.tgz", - "integrity": "sha512-cnUG4NSBiM4YFBxgZIj/In3/6KX+rQ2l2YPRVcvAMQGWEPKuXoPIhxzwqh31jA3IPbI4qEOp/5ILI4ynioXsGQ==", - "dev": true, - "peer": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "ajv-formats": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.0.tgz", - "integrity": "sha512-USH2jBb+C/hIpwD2iRjp0pe0k+MvzG0mlSn/FIdCgQhUb9ALPRjt2KIQdfZDS9r0ZIeUAg7gOu9KL0PFqGqr5Q==", - "dev": true, - "peer": true, - "requires": { - "ajv": "^8.0.0" - } - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "peer": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", - "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", - "dev": true, - "peer": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "peer": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "peer": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "peer": true - }, - "ora": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", - "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", - "dev": true, - "peer": true, - "requires": { - "bl": "^4.1.0", - "chalk": "^4.1.0", - "cli-cursor": "^3.1.0", - "cli-spinners": "^2.5.0", - "is-interactive": "^1.0.0", - "is-unicode-supported": "^0.1.0", - "log-symbols": "^4.1.0", - "strip-ansi": "^6.0.0", - "wcwidth": "^1.0.1" - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "peer": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@angular-eslint/builder": { - "version": "12.0.0", - "resolved": "https://registry.npmjs.org/@angular-eslint/builder/-/builder-12.0.0.tgz", - "integrity": "sha512-gvvXQDXXi0gsWZ25KyMqF/1b3AaX+CJbpVgTPqxJdEx4euvmG/m3993ynmpf+Kc+F+aI2O9W4TUbDbbLWoCjIA==", - "dev": true, - "requires": {} - }, - "@angular-eslint/eslint-plugin": { - "version": "12.0.0", - "resolved": "https://registry.npmjs.org/@angular-eslint/eslint-plugin/-/eslint-plugin-12.0.0.tgz", - "integrity": "sha512-osdJdMu8bYFv9WGhC04AwRcbeKq4sxCQnShV7NiF0xkgNG9KqDaStytVhPjJFn2Ja1QhfiTGlcFFk4D/9aruog==", - "dev": true, - "requires": { - "@typescript-eslint/experimental-utils": "4.23.0" - } - }, - "@angular-eslint/eslint-plugin-template": { - "version": "12.0.0", - "resolved": "https://registry.npmjs.org/@angular-eslint/eslint-plugin-template/-/eslint-plugin-template-12.0.0.tgz", - "integrity": "sha512-RF8PwN2A3U4ihd7sKYUM8wgPj46M30reziLl8CPPhN3H5Hn46nksmKmHRbPNakH2gW0Ba7NIxy+ocqUy0fQpcQ==", - "dev": true, - "requires": { - "@typescript-eslint/experimental-utils": "4.23.0", - "aria-query": "^4.2.2", - "axobject-query": "^2.2.0" - } - }, - "@angular-eslint/template-parser": { - "version": "12.0.0", - "resolved": "https://registry.npmjs.org/@angular-eslint/template-parser/-/template-parser-12.0.0.tgz", - "integrity": "sha512-gl5ansA2a8LY6TEjhe0k8NiQJJdEQPjjqpysO1Rpt3NWUYQkFMt+1+AnUyokHB1TU3/11dHRUjVWXj+pMtTIAA==", - "dev": true, - "requires": { - "eslint-scope": "^5.1.0" - } - }, - "@angular/cli": { - "version": "12.0.5", - "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-12.0.5.tgz", - "integrity": "sha512-MdgJ9DY3bWYsMFr9Xa+60gtVaYErhAE8ULGnUyI8zLMhWqrV1ZpJJ1WfP8pMQYx4HaKJIgx7wd8az7ZXAcF8hg==", - "dev": true, - "requires": { - "@angular-devkit/architect": "0.1200.5", - "@angular-devkit/core": "12.0.5", - "@angular-devkit/schematics": "12.0.5", - "@schematics/angular": "12.0.5", - "@yarnpkg/lockfile": "1.1.0", - "ansi-colors": "4.1.1", - "debug": "4.3.1", - "ini": "2.0.0", - "inquirer": "8.0.0", - "jsonc-parser": "3.0.0", - "npm-package-arg": "8.1.2", - "npm-pick-manifest": "6.1.1", - "open": "8.0.2", - "ora": "5.4.0", - "pacote": "11.3.2", - "resolve": "1.20.0", - "rimraf": "3.0.2", - "semver": "7.3.5", - "symbol-observable": "4.0.0", - "uuid": "8.3.2" - }, - "dependencies": { - "@angular-devkit/schematics": { - "version": "12.0.5", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-12.0.5.tgz", - "integrity": "sha512-iW3XuDHScr3TXuunlEjF5O01zBpwpLgfr1oEny8PvseFGDlHK4Nj8zNIoIn3Yg936aiFO4GJAC/UXsT8g5vKxQ==", - "dev": true, - "requires": { - "@angular-devkit/core": "12.0.5", - "ora": "5.4.0", - "rxjs": "6.6.7" - } - } - } - }, - "@angular/common": { - "version": "12.0.5", - "resolved": "https://registry.npmjs.org/@angular/common/-/common-12.0.5.tgz", - "integrity": "sha512-jKiPjWVL3jXVKgXwINlsF5O0r9gX/mAoa5UVy57O8jcg+ENbH9LLSOikgiF/0HPxk2uvRV5OYmbBgOY1xT41kQ==", - "requires": { - "tslib": "^2.1.0" - } - }, - "@angular/compiler": { - "version": "12.0.5", - "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-12.0.5.tgz", - "integrity": "sha512-G255aP4hhQ04hSQ1/JgiKNeTzRCuLgK220lJXkHubpu+f67os5LArhFNxZaUC/EVa/sloOT7Fo5tn8C5gy7iLA==", - "requires": { - "tslib": "^2.1.0" - } - }, - "@angular/compiler-cli": { - "version": "12.0.5", - "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-12.0.5.tgz", - "integrity": "sha512-XBZWU2S7N2kvQJK0H5KyLHiLVhYJrjh3NtbVBv67sCY9Ft8fv2jjbozTgXqeoYZ1xAxcZ2ZAB0n5SkhmY75Mow==", - "dev": true, - "requires": { - "@babel/core": "^7.8.6", - "@babel/types": "^7.8.6", - "canonical-path": "1.0.0", - "chokidar": "^3.0.0", - "convert-source-map": "^1.5.1", - "dependency-graph": "^0.11.0", - "magic-string": "^0.25.0", - "minimist": "^1.2.0", - "reflect-metadata": "^0.1.2", - "semver": "^7.0.0", - "source-map": "^0.6.1", - "sourcemap-codec": "^1.4.8", - "tslib": "^2.1.0", - "yargs": "^16.2.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "@angular/core": { - "version": "12.0.5", - "resolved": "https://registry.npmjs.org/@angular/core/-/core-12.0.5.tgz", - "integrity": "sha512-uVYsZa1VqVw8vNcjUYgfjXBc1M3WaxLXoLnCsDvutJiln4csa8Yw8p7RqQSrZ6AgQ8o2LHD2JJ5kus3EDMwfcA==", - "requires": { - "tslib": "^2.1.0" - } - }, - "@angular/forms": { - "version": "12.0.5", - "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-12.0.5.tgz", - "integrity": "sha512-Ew/fGPTsywoYnm6DFPA/DyLl4Sb+1/uzpledrbxUHzaSKIrnXFrjQiUTmsbbq+8qono3JzbUIblqH1DrNThYiA==", - "requires": { - "tslib": "^2.1.0" - } - }, - "@angular/language-service": { - "version": "12.0.5", - "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-12.0.5.tgz", - "integrity": "sha512-mhb21Ixdky3KOAQ9eps16tzP5hm/uKwCToLM244Llgozem1zHdfc2LPePAwWt/9fSl642xX2JKWjjKFgC4bgNw==", - "dev": true - }, - "@angular/platform-browser": { - "version": "12.0.5", - "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-12.0.5.tgz", - "integrity": "sha512-MLioK9gcdZOKINE8OmIHZICRnFySaWyCBeVbHS4Z4Vxgr+E2S2eO1IxBmGyQpJq1wDPBP9A/9LVLMUNbHu4Cdw==", - "requires": { - "tslib": "^2.1.0" - } - }, - "@angular/platform-browser-dynamic": { - "version": "12.0.5", - "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-12.0.5.tgz", - "integrity": "sha512-sYkOJxXj4vEZICT2oODkQF9wNaKoScSkiw2ooBYN0UX02mFKlWKa9vkzp6JmN1EF8YOWF0JnRqBPAi1WbOnAMw==", - "requires": { - "tslib": "^2.1.0" - } - }, - "@angular/router": { - "version": "12.0.5", - "resolved": "https://registry.npmjs.org/@angular/router/-/router-12.0.5.tgz", - "integrity": "sha512-2jiaT+OxCmJbeJ0MTPmIHBsTFLysenvPZteozYsjcmUo9mOzJHAjqHLJvTC+Ri+E9xvnplh+8BPETRleV1pAFw==", - "requires": { - "tslib": "^2.1.0" - } - }, - "@babel/code-frame": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.14.5.tgz", - "integrity": "sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw==", - "dev": true, - "requires": { - "@babel/highlight": "^7.14.5" - } - }, - "@babel/compat-data": { - "version": "7.14.7", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.14.7.tgz", - "integrity": "sha512-nS6dZaISCXJ3+518CWiBfEr//gHyMO02uDxBkXTKZDN5POruCnOZ1N4YBRZDCabwF8nZMWBpRxIicmXtBs+fvw==", - "dev": true - }, - "@babel/core": { - "version": "7.14.3", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.14.3.tgz", - "integrity": "sha512-jB5AmTKOCSJIZ72sd78ECEhuPiDMKlQdDI/4QRI6lzYATx5SSogS1oQA2AoPecRCknm30gHi2l+QVvNUu3wZAg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.12.13", - "@babel/generator": "^7.14.3", - "@babel/helper-compilation-targets": "^7.13.16", - "@babel/helper-module-transforms": "^7.14.2", - "@babel/helpers": "^7.14.0", - "@babel/parser": "^7.14.3", - "@babel/template": "^7.12.13", - "@babel/traverse": "^7.14.2", - "@babel/types": "^7.14.2", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.1.2", - "semver": "^6.3.0", - "source-map": "^0.5.0" - }, - "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 - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - } - } - }, - "@babel/generator": { - "version": "7.14.3", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.14.3.tgz", - "integrity": "sha512-bn0S6flG/j0xtQdz3hsjJ624h3W0r3llttBMfyHX3YrZ/KtLYr15bjA0FXkgW7FpvrDuTuElXeVjiKlYRpnOFA==", - "dev": true, - "requires": { - "@babel/types": "^7.14.2", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" - }, - "dependencies": { - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - } - } - }, - "@babel/helper-annotate-as-pure": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.14.5.tgz", - "integrity": "sha512-EivH9EgBIb+G8ij1B2jAwSH36WnGvkQSEC6CkX/6v6ZFlw5fVOHvsgGF4uiEHO2GzMvunZb6tDLQEQSdrdocrA==", - "dev": true, - "requires": { - "@babel/types": "^7.14.5" - } - }, - "@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.14.5.tgz", - "integrity": "sha512-YTA/Twn0vBXDVGJuAX6PwW7x5zQei1luDDo2Pl6q1qZ7hVNl0RZrhHCQG/ArGpR29Vl7ETiB8eJyrvpuRp300w==", - "dev": true, - "requires": { - "@babel/helper-explode-assignable-expression": "^7.14.5", - "@babel/types": "^7.14.5" - } - }, - "@babel/helper-compilation-targets": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.14.5.tgz", - "integrity": "sha512-v+QtZqXEiOnpO6EYvlImB6zCD2Lel06RzOPzmkz/D/XgQiUu3C/Jb1LOqSt/AIA34TYi/Q+KlT8vTQrgdxkbLw==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.14.5", - "@babel/helper-validator-option": "^7.14.5", - "browserslist": "^4.16.6", - "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 - } - } - }, - "@babel/helper-create-class-features-plugin": { - "version": "7.14.6", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.14.6.tgz", - "integrity": "sha512-Z6gsfGofTxH/+LQXqYEK45kxmcensbzmk/oi8DmaQytlQCgqNZt9XQF8iqlI/SeXWVjaMNxvYvzaYw+kh42mDg==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.14.5", - "@babel/helper-function-name": "^7.14.5", - "@babel/helper-member-expression-to-functions": "^7.14.5", - "@babel/helper-optimise-call-expression": "^7.14.5", - "@babel/helper-replace-supers": "^7.14.5", - "@babel/helper-split-export-declaration": "^7.14.5" - } - }, - "@babel/helper-create-regexp-features-plugin": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.14.5.tgz", - "integrity": "sha512-TLawwqpOErY2HhWbGJ2nZT5wSkR192QpN+nBg1THfBfftrlvOh+WbhrxXCH4q4xJ9Gl16BGPR/48JA+Ryiho/A==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.14.5", - "regexpu-core": "^4.7.1" - } - }, - "@babel/helper-define-polyfill-provider": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.2.3.tgz", - "integrity": "sha512-RH3QDAfRMzj7+0Nqu5oqgO5q9mFtQEVvCRsi8qCEfzLR9p2BHfn5FzhSB2oj1fF7I2+DcTORkYaQ6aTR9Cofew==", - "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" - }, - "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 - } - } - }, - "@babel/helper-explode-assignable-expression": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.14.5.tgz", - "integrity": "sha512-Htb24gnGJdIGT4vnRKMdoXiOIlqOLmdiUYpAQ0mYfgVT/GDm8GOYhgi4GL+hMKrkiPRohO4ts34ELFsGAPQLDQ==", - "dev": true, - "requires": { - "@babel/types": "^7.14.5" - } - }, - "@babel/helper-function-name": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.14.5.tgz", - "integrity": "sha512-Gjna0AsXWfFvrAuX+VKcN/aNNWonizBj39yGwUzVDVTlMYJMK2Wp6xdpy72mfArFq5uK+NOuexfzZlzI1z9+AQ==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.14.5", - "@babel/template": "^7.14.5", - "@babel/types": "^7.14.5" - }, - "dependencies": { - "@babel/template": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.14.5.tgz", - "integrity": "sha512-6Z3Po85sfxRGachLULUhOmvAaOo7xCvqGQtxINai2mEGPFm6pQ4z5QInFnUrRpfoSV60BnjyF5F3c+15fxFV1g==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.14.5", - "@babel/parser": "^7.14.5", - "@babel/types": "^7.14.5" - } - } - } - }, - "@babel/helper-get-function-arity": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.14.5.tgz", - "integrity": "sha512-I1Db4Shst5lewOM4V+ZKJzQ0JGGaZ6VY1jYvMghRjqs6DWgxLCIyFt30GlnKkfUeFLpJt2vzbMVEXVSXlIFYUg==", - "dev": true, - "requires": { - "@babel/types": "^7.14.5" - } - }, - "@babel/helper-hoist-variables": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.14.5.tgz", - "integrity": "sha512-R1PXiz31Uc0Vxy4OEOm07x0oSjKAdPPCh3tPivn/Eo8cvz6gveAeuyUUPB21Hoiif0uoPQSSdhIPS3352nvdyQ==", - "dev": true, - "requires": { - "@babel/types": "^7.14.5" - } - }, - "@babel/helper-member-expression-to-functions": { - "version": "7.14.7", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.14.7.tgz", - "integrity": "sha512-TMUt4xKxJn6ccjcOW7c4hlwyJArizskAhoSTOCkA0uZ+KghIaci0Qg9R043kUMWI9mtQfgny+NQ5QATnZ+paaA==", - "dev": true, - "requires": { - "@babel/types": "^7.14.5" - } - }, - "@babel/helper-module-imports": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.14.5.tgz", - "integrity": "sha512-SwrNHu5QWS84XlHwGYPDtCxcA0hrSlL2yhWYLgeOc0w7ccOl2qv4s/nARI0aYZW+bSwAL5CukeXA47B/1NKcnQ==", - "dev": true, - "requires": { - "@babel/types": "^7.14.5" - } - }, - "@babel/helper-module-transforms": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.14.5.tgz", - "integrity": "sha512-iXpX4KW8LVODuAieD7MzhNjmM6dzYY5tfRqT+R9HDXWl0jPn/djKmA+G9s/2C2T9zggw5tK1QNqZ70USfedOwA==", - "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.14.5", - "@babel/helper-replace-supers": "^7.14.5", - "@babel/helper-simple-access": "^7.14.5", - "@babel/helper-split-export-declaration": "^7.14.5", - "@babel/helper-validator-identifier": "^7.14.5", - "@babel/template": "^7.14.5", - "@babel/traverse": "^7.14.5", - "@babel/types": "^7.14.5" - }, - "dependencies": { - "@babel/template": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.14.5.tgz", - "integrity": "sha512-6Z3Po85sfxRGachLULUhOmvAaOo7xCvqGQtxINai2mEGPFm6pQ4z5QInFnUrRpfoSV60BnjyF5F3c+15fxFV1g==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.14.5", - "@babel/parser": "^7.14.5", - "@babel/types": "^7.14.5" - } - } - } - }, - "@babel/helper-optimise-call-expression": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.14.5.tgz", - "integrity": "sha512-IqiLIrODUOdnPU9/F8ib1Fx2ohlgDhxnIDU7OEVi+kAbEZcyiF7BLU8W6PfvPi9LzztjS7kcbzbmL7oG8kD6VA==", - "dev": true, - "requires": { - "@babel/types": "^7.14.5" - } - }, - "@babel/helper-plugin-utils": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz", - "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==", - "dev": true - }, - "@babel/helper-remap-async-to-generator": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.14.5.tgz", - "integrity": "sha512-rLQKdQU+HYlxBwQIj8dk4/0ENOUEhA/Z0l4hN8BexpvmSMN9oA9EagjnhnDpNsRdWCfjwa4mn/HyBXO9yhQP6A==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.14.5", - "@babel/helper-wrap-function": "^7.14.5", - "@babel/types": "^7.14.5" - } - }, - "@babel/helper-replace-supers": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.14.5.tgz", - "integrity": "sha512-3i1Qe9/8x/hCHINujn+iuHy+mMRLoc77b2nI9TB0zjH1hvn9qGlXjWlggdwUcju36PkPCy/lpM7LLUdcTyH4Ow==", - "dev": true, - "requires": { - "@babel/helper-member-expression-to-functions": "^7.14.5", - "@babel/helper-optimise-call-expression": "^7.14.5", - "@babel/traverse": "^7.14.5", - "@babel/types": "^7.14.5" - } - }, - "@babel/helper-simple-access": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.14.5.tgz", - "integrity": "sha512-nfBN9xvmCt6nrMZjfhkl7i0oTV3yxR4/FztsbOASyTvVcoYd0TRHh7eMLdlEcCqobydC0LAF3LtC92Iwxo0wyw==", - "dev": true, - "requires": { - "@babel/types": "^7.14.5" - } - }, - "@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.14.5.tgz", - "integrity": "sha512-dmqZB7mrb94PZSAOYtr+ZN5qt5owZIAgqtoTuqiFbHFtxgEcmQlRJVI+bO++fciBunXtB6MK7HrzrfcAzIz2NQ==", - "dev": true, - "requires": { - "@babel/types": "^7.14.5" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.14.5.tgz", - "integrity": "sha512-hprxVPu6e5Kdp2puZUmvOGjaLv9TCe58E/Fl6hRq4YiVQxIcNvuq6uTM2r1mT/oPskuS9CgR+I94sqAYv0NGKA==", - "dev": true, - "requires": { - "@babel/types": "^7.14.5" - } - }, - "@babel/helper-validator-identifier": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.5.tgz", - "integrity": "sha512-5lsetuxCLilmVGyiLEfoHBRX8UCFD+1m2x3Rj97WrW3V7H3u4RWRXA4evMjImCsin2J2YT0QaVDGf+z8ondbAg==", - "dev": true - }, - "@babel/helper-validator-option": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz", - "integrity": "sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow==", - "dev": true - }, - "@babel/helper-wrap-function": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.14.5.tgz", - "integrity": "sha512-YEdjTCq+LNuNS1WfxsDCNpgXkJaIyqco6DAelTUjT4f2KIWC1nBcaCaSdHTBqQVLnTBexBcVcFhLSU1KnYuePQ==", - "dev": true, - "requires": { - "@babel/helper-function-name": "^7.14.5", - "@babel/template": "^7.14.5", - "@babel/traverse": "^7.14.5", - "@babel/types": "^7.14.5" - }, - "dependencies": { - "@babel/template": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.14.5.tgz", - "integrity": "sha512-6Z3Po85sfxRGachLULUhOmvAaOo7xCvqGQtxINai2mEGPFm6pQ4z5QInFnUrRpfoSV60BnjyF5F3c+15fxFV1g==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.14.5", - "@babel/parser": "^7.14.5", - "@babel/types": "^7.14.5" - } - } - } - }, - "@babel/helpers": { - "version": "7.14.6", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.14.6.tgz", - "integrity": "sha512-yesp1ENQBiLI+iYHSJdoZKUtRpfTlL1grDIX9NRlAVppljLw/4tTyYupIB7uIYmC3stW/imAv8EqaKaS/ibmeA==", - "dev": true, - "requires": { - "@babel/template": "^7.14.5", - "@babel/traverse": "^7.14.5", - "@babel/types": "^7.14.5" - }, - "dependencies": { - "@babel/template": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.14.5.tgz", - "integrity": "sha512-6Z3Po85sfxRGachLULUhOmvAaOo7xCvqGQtxINai2mEGPFm6pQ4z5QInFnUrRpfoSV60BnjyF5F3c+15fxFV1g==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.14.5", - "@babel/parser": "^7.14.5", - "@babel/types": "^7.14.5" - } - } - } - }, - "@babel/highlight": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz", - "integrity": "sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.14.5", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.14.7", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.14.7.tgz", - "integrity": "sha512-X67Z5y+VBJuHB/RjwECp8kSl5uYi0BvRbNeWqkaJCVh+LiTPl19WBUfG627psSgp9rSf6ojuXghQM3ha6qHHdA==", - "dev": true - }, - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.14.5.tgz", - "integrity": "sha512-ZoJS2XCKPBfTmL122iP6NM9dOg+d4lc9fFk3zxc8iDjvt8Pk4+TlsHSKhIPf6X+L5ORCdBzqMZDjL/WHj7WknQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.14.5", - "@babel/plugin-proposal-optional-chaining": "^7.14.5" - } - }, - "@babel/plugin-proposal-async-generator-functions": { - "version": "7.14.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.14.7.tgz", - "integrity": "sha512-RK8Wj7lXLY3bqei69/cc25gwS5puEc3dknoFPFbqfy3XxYQBQFvu4ioWpafMBAB+L9NyptQK4nMOa5Xz16og8Q==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-remap-async-to-generator": "^7.14.5", - "@babel/plugin-syntax-async-generators": "^7.8.4" - } - }, - "@babel/plugin-proposal-class-properties": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.14.5.tgz", - "integrity": "sha512-q/PLpv5Ko4dVc1LYMpCY7RVAAO4uk55qPwrIuJ5QJ8c6cVuAmhu7I/49JOppXL6gXf7ZHzpRVEUZdYoPLM04Gg==", - "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-proposal-class-static-block": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.14.5.tgz", - "integrity": "sha512-KBAH5ksEnYHCegqseI5N9skTdxgJdmDoAOc0uXa+4QMYKeZD0w5IARh4FMlTNtaHhbB8v+KzMdTgxMMzsIy6Yg==", - "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/plugin-syntax-class-static-block": "^7.14.5" - } - }, - "@babel/plugin-proposal-dynamic-import": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.14.5.tgz", - "integrity": "sha512-ExjiNYc3HDN5PXJx+bwC50GIx/KKanX2HiggnIUAYedbARdImiCU4RhhHfdf0Kd7JNXGpsBBBCOm+bBVy3Gb0g==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/plugin-syntax-dynamic-import": "^7.8.3" - } - }, - "@babel/plugin-proposal-export-namespace-from": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.14.5.tgz", - "integrity": "sha512-g5POA32bXPMmSBu5Dx/iZGLGnKmKPc5AiY7qfZgurzrCYgIztDlHFbznSNCoQuv57YQLnQfaDi7dxCtLDIdXdA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3" - } - }, - "@babel/plugin-proposal-json-strings": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.14.5.tgz", - "integrity": "sha512-NSq2fczJYKVRIsUJyNxrVUMhB27zb7N7pOFGQOhBKJrChbGcgEAqyZrmZswkPk18VMurEeJAaICbfm57vUeTbQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/plugin-syntax-json-strings": "^7.8.3" - } - }, - "@babel/plugin-proposal-logical-assignment-operators": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.14.5.tgz", - "integrity": "sha512-YGn2AvZAo9TwyhlLvCCWxD90Xq8xJ4aSgaX3G5D/8DW94L8aaT+dS5cSP+Z06+rCJERGSr9GxMBZ601xoc2taw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" - } - }, - "@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.14.5.tgz", - "integrity": "sha512-gun/SOnMqjSb98Nkaq2rTKMwervfdAoz6NphdY0vTfuzMfryj+tDGb2n6UkDKwez+Y8PZDhE3D143v6Gepp4Hg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" - } - }, - "@babel/plugin-proposal-numeric-separator": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.14.5.tgz", - "integrity": "sha512-yiclALKe0vyZRZE0pS6RXgjUOt87GWv6FYa5zqj15PvhOGFO69R5DusPlgK/1K5dVnCtegTiWu9UaBSrLLJJBg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" - } - }, - "@babel/plugin-proposal-object-rest-spread": { - "version": "7.14.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.14.7.tgz", - "integrity": "sha512-082hsZz+sVabfmDWo1Oct1u1AgbKbUAyVgmX4otIc7bdsRgHBXwTwb3DpDmD4Eyyx6DNiuz5UAATT655k+kL5g==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.14.7", - "@babel/helper-compilation-targets": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.14.5" - } - }, - "@babel/plugin-proposal-optional-catch-binding": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.14.5.tgz", - "integrity": "sha512-3Oyiixm0ur7bzO5ybNcZFlmVsygSIQgdOa7cTfOYCMY+wEPAYhZAJxi3mixKFCTCKUhQXuCTtQ1MzrpL3WT8ZQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" - } - }, - "@babel/plugin-proposal-optional-chaining": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.14.5.tgz", - "integrity": "sha512-ycz+VOzo2UbWNI1rQXxIuMOzrDdHGrI23fRiz/Si2R4kv2XZQ1BK8ccdHwehMKBlcH/joGW/tzrUmo67gbJHlQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.14.5", - "@babel/plugin-syntax-optional-chaining": "^7.8.3" - } - }, - "@babel/plugin-proposal-private-methods": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.14.5.tgz", - "integrity": "sha512-838DkdUA1u+QTCplatfq4B7+1lnDa/+QMI89x5WZHBcnNv+47N8QEj2k9I2MUU9xIv8XJ4XvPCviM/Dj7Uwt9g==", - "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-proposal-private-property-in-object": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.14.5.tgz", - "integrity": "sha512-62EyfyA3WA0mZiF2e2IV9mc9Ghwxcg8YTu8BS4Wss4Y3PY725OmS9M0qLORbJwLqFtGh+jiE4wAmocK2CTUK2Q==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.14.5", - "@babel/helper-create-class-features-plugin": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5" - } - }, - "@babel/plugin-proposal-unicode-property-regex": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.14.5.tgz", - "integrity": "sha512-6axIeOU5LnY471KenAB9vI8I5j7NQ2d652hIYwVyRfgaZT5UpiqFKCuVXCDMSrU+3VFafnu2c5m3lrWIlr6A5Q==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@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, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@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, - "requires": { - "@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-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, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@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, - "requires": { - "@babel/helper-plugin-utils": "^7.8.3" - } - }, - "@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, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@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, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@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, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@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, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@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, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@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, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@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, - "requires": { - "@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.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.14.5" - } - }, - "@babel/plugin-transform-arrow-functions": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.14.5.tgz", - "integrity": "sha512-KOnO0l4+tD5IfOdi4x8C1XmEIRWUjNRV8wc6K2vz/3e8yAOoZZvsRXRRIF/yo/MAOFb4QjtAw9xSxMXbSMRy8A==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@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==", - "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/plugin-transform-block-scoped-functions": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.14.5.tgz", - "integrity": "sha512-dtqWqdWZ5NqBX3KzsVCWfQI3A53Ft5pWFCT2eCVUftWZgjc5DpDponbIF1+c+7cSGk2wN0YK7HGL/ezfRbpKBQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-block-scoping": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.14.5.tgz", - "integrity": "sha512-LBYm4ZocNgoCqyxMLoOnwpsmQ18HWTQvql64t3GvMUzLQrNoV1BDG0lNftC8QKYERkZgCCT/7J5xWGObGAyHDw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-classes": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.14.5.tgz", - "integrity": "sha512-J4VxKAMykM06K/64z9rwiL6xnBHgB1+FVspqvlgCdwD1KUbQNfszeKVVOMh59w3sztHYIZDgnhOC4WbdEfHFDA==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.14.5", - "@babel/helper-function-name": "^7.14.5", - "@babel/helper-optimise-call-expression": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-replace-supers": "^7.14.5", - "@babel/helper-split-export-declaration": "^7.14.5", - "globals": "^11.1.0" - } - }, - "@babel/plugin-transform-computed-properties": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.14.5.tgz", - "integrity": "sha512-pWM+E4283UxaVzLb8UBXv4EIxMovU4zxT1OPnpHJcmnvyY9QbPPTKZfEj31EUvG3/EQRbYAGaYEUZ4yWOBC2xg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-destructuring": { - "version": "7.14.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.14.7.tgz", - "integrity": "sha512-0mDE99nK+kVh3xlc5vKwB6wnP9ecuSj+zQCa/n0voENtP/zymdT4HH6QEb65wjjcbqr1Jb/7z9Qp7TF5FtwYGw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-dotall-regex": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.14.5.tgz", - "integrity": "sha512-loGlnBdj02MDsFaHhAIJzh7euK89lBrGIdM9EAtHFo6xKygCUGuuWe07o1oZVk287amtW1n0808sQM99aZt3gw==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-duplicate-keys": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.14.5.tgz", - "integrity": "sha512-iJjbI53huKbPDAsJ8EmVmvCKeeq21bAze4fu9GBQtSLqfvzj2oRuHVx4ZkDwEhg1htQ+5OBZh/Ab0XDf5iBZ7A==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-exponentiation-operator": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.14.5.tgz", - "integrity": "sha512-jFazJhMBc9D27o9jDnIE5ZErI0R0m7PbKXVq77FFvqFbzvTMuv8jaAwLZ5PviOLSFttqKIW0/wxNSDbjLk0tYA==", - "dev": true, - "requires": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-for-of": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.14.5.tgz", - "integrity": "sha512-CfmqxSUZzBl0rSjpoQSFoR9UEj3HzbGuGNL21/iFTmjb5gFggJp3ph0xR1YBhexmLoKRHzgxuFvty2xdSt6gTA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-function-name": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.14.5.tgz", - "integrity": "sha512-vbO6kv0fIzZ1GpmGQuvbwwm+O4Cbm2NrPzwlup9+/3fdkuzo1YqOZcXw26+YUJB84Ja7j9yURWposEHLYwxUfQ==", - "dev": true, - "requires": { - "@babel/helper-function-name": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-literals": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.14.5.tgz", - "integrity": "sha512-ql33+epql2F49bi8aHXxvLURHkxJbSmMKl9J5yHqg4PLtdE6Uc48CH1GS6TQvZ86eoB/ApZXwm7jlA+B3kra7A==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-member-expression-literals": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.14.5.tgz", - "integrity": "sha512-WkNXxH1VXVTKarWFqmso83xl+2V3Eo28YY5utIkbsmXoItO8Q3aZxN4BTS2k0hz9dGUloHK26mJMyQEYfkn/+Q==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-modules-amd": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.14.5.tgz", - "integrity": "sha512-3lpOU8Vxmp3roC4vzFpSdEpGUWSMsHFreTWOMMLzel2gNGfHE5UWIh/LN6ghHs2xurUp4jRFYMUIZhuFbody1g==", - "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5", - "babel-plugin-dynamic-import-node": "^2.3.3" - } - }, - "@babel/plugin-transform-modules-commonjs": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.14.5.tgz", - "integrity": "sha512-en8GfBtgnydoao2PS+87mKyw62k02k7kJ9ltbKe0fXTHrQmG6QZZflYuGI1VVG7sVpx4E1n7KBpNlPb8m78J+A==", - "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-simple-access": "^7.14.5", - "babel-plugin-dynamic-import-node": "^2.3.3" - } - }, - "@babel/plugin-transform-modules-systemjs": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.14.5.tgz", - "integrity": "sha512-mNMQdvBEE5DcMQaL5LbzXFMANrQjd2W7FPzg34Y4yEz7dBgdaC+9B84dSO+/1Wba98zoDbInctCDo4JGxz1VYA==", - "dev": true, - "requires": { - "@babel/helper-hoist-variables": "^7.14.5", - "@babel/helper-module-transforms": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-validator-identifier": "^7.14.5", - "babel-plugin-dynamic-import-node": "^2.3.3" - } - }, - "@babel/plugin-transform-modules-umd": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.14.5.tgz", - "integrity": "sha512-RfPGoagSngC06LsGUYyM9QWSXZ8MysEjDJTAea1lqRjNECE3y0qIJF/qbvJxc4oA4s99HumIMdXOrd+TdKaAAA==", - "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.14.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.14.7.tgz", - "integrity": "sha512-DTNOTaS7TkW97xsDMrp7nycUVh6sn/eq22VaxWfEdzuEbRsiaOU0pqU7DlyUGHVsbQbSghvjKRpEl+nUCKGQSg==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.14.5" - } - }, - "@babel/plugin-transform-new-target": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.14.5.tgz", - "integrity": "sha512-Nx054zovz6IIRWEB49RDRuXGI4Gy0GMgqG0cII9L3MxqgXz/+rgII+RU58qpo4g7tNEx1jG7rRVH4ihZoP4esQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-object-super": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.14.5.tgz", - "integrity": "sha512-MKfOBWzK0pZIrav9z/hkRqIk/2bTv9qvxHzPQc12RcVkMOzpIKnFCNYJip00ssKWYkd8Sf5g0Wr7pqJ+cmtuFg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-replace-supers": "^7.14.5" - } - }, - "@babel/plugin-transform-parameters": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.14.5.tgz", - "integrity": "sha512-Tl7LWdr6HUxTmzQtzuU14SqbgrSKmaR77M0OKyq4njZLQTPfOvzblNKyNkGwOfEFCEx7KeYHQHDI0P3F02IVkA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-property-literals": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.14.5.tgz", - "integrity": "sha512-r1uilDthkgXW8Z1vJz2dKYLV1tuw2xsbrp3MrZmD99Wh9vsfKoob+JTgri5VUb/JqyKRXotlOtwgu4stIYCmnw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-regenerator": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.14.5.tgz", - "integrity": "sha512-NVIY1W3ITDP5xQl50NgTKlZ0GrotKtLna08/uGY6ErQt6VEQZXla86x/CTddm5gZdcr+5GSsvMeTmWA5Ii6pkg==", - "dev": true, - "requires": { - "regenerator-transform": "^0.14.2" - } - }, - "@babel/plugin-transform-reserved-words": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.14.5.tgz", - "integrity": "sha512-cv4F2rv1nD4qdexOGsRQXJrOcyb5CrgjUH9PKrrtyhSDBNWGxd0UIitjyJiWagS+EbUGjG++22mGH1Pub8D6Vg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" + "@angular-devkit/core": { + "version": "13.3.8", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-13.3.8.tgz", + "integrity": "sha512-PCmfMkErpnH429l1cANak4PnCpAscqAubS6Dw83++cS34ht0/bgKRb2zSyBuB2Ka6kw7wAZ3fCyTcVvyfxVFEg==", + "dev": true, + "requires": { + "ajv": "8.9.0", + "ajv-formats": "2.1.1", + "fast-json-stable-stringify": "2.1.0", + "magic-string": "0.25.7", + "rxjs": "6.6.7", + "source-map": "0.7.3" + } + }, + "@babel/core": { + "version": "7.16.12", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.16.12.tgz", + "integrity": "sha512-dK5PtG1uiN2ikk++5OzSYsitZKny4wOCD0nrO4TqnW4BVBTQ2NGS3NgilvT/TEyxTST7LNyWV/T4tXDoD3fOgg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.16.7", + "@babel/generator": "^7.16.8", + "@babel/helper-compilation-targets": "^7.16.7", + "@babel/helper-module-transforms": "^7.16.7", + "@babel/helpers": "^7.16.7", + "@babel/parser": "^7.16.12", + "@babel/template": "^7.16.7", + "@babel/traverse": "^7.16.10", + "@babel/types": "^7.16.8", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.1.2", + "semver": "^6.3.0", + "source-map": "^0.5.0" + }, + "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 + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "dev": true + } + } + }, + "ajv": { + "version": "8.9.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.9.0.tgz", + "integrity": "sha512-qOKJyNj/h+OWx7s5DePL6Zu1KeM9jPZhwBqs+7DzP6bGOvqzVCSf0xueYmVuaC/oQ/VtS2zLMLHdQFbkka+XDQ==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "dev": true, + "requires": { + "ajv": "^8.0.0" + } + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "loader-utils": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.2.0.tgz", + "integrity": "sha512-HVl9ZqccQihZ7JM85dco1MvO9G+ONvxoGa9rkhzFsneGLKSUg1gJf9bWzhRhcvm2qChhWpebQhP44qxjKIUCaQ==", + "dev": true + }, + "ora": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", + "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", + "dev": true, + "requires": { + "bl": "^4.1.0", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.5.0", + "is-interactive": "^1.0.0", + "is-unicode-supported": "^0.1.0", + "log-symbols": "^4.1.0", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" + } + }, + "rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dev": true, + "requires": { + "tslib": "^1.9.0" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + } + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "tslib": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", + "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==", + "dev": true + } } }, - "@babel/plugin-transform-runtime": { - "version": "7.14.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.14.3.tgz", - "integrity": "sha512-t960xbi8wpTFE623ef7sd+UpEC5T6EEguQlTBJDEO05+XwnIWVfuqLw/vdLWY6IdFmtZE+65CZAfByT39zRpkg==", + "@angular-devkit/build-webpack": { + "version": "0.1303.8", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1303.8.tgz", + "integrity": "sha512-N3DehEQ4uARricbYTuASBCnHdrtKFIMZpl6A4GB5DKQILF7KctsaAz0QvAiA8y4ojhSIRvXK5XVWklX3QVlJIw==", "dev": true, "requires": { - "@babel/helper-module-imports": "^7.13.12", - "@babel/helper-plugin-utils": "^7.13.0", - "babel-plugin-polyfill-corejs2": "^0.2.0", - "babel-plugin-polyfill-corejs3": "^0.2.0", - "babel-plugin-polyfill-regenerator": "^0.2.0", - "semver": "^6.3.0" + "@angular-devkit/architect": "0.1303.8", + "rxjs": "6.6.7" }, "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "@angular-devkit/architect": { + "version": "0.1303.8", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1303.8.tgz", + "integrity": "sha512-2zaNejnfZbq+fFOVgkmWkh+2UmK/CBDbWTq7VJHopJLtUuf7pFNvRk73s9xayuJ3Lt2/sY17Mykku2LziBF89A==", + "dev": true, + "requires": { + "@angular-devkit/core": "13.3.8", + "rxjs": "6.6.7" + } + }, + "@angular-devkit/core": { + "version": "13.3.8", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-13.3.8.tgz", + "integrity": "sha512-PCmfMkErpnH429l1cANak4PnCpAscqAubS6Dw83++cS34ht0/bgKRb2zSyBuB2Ka6kw7wAZ3fCyTcVvyfxVFEg==", + "dev": true, + "requires": { + "ajv": "8.9.0", + "ajv-formats": "2.1.1", + "fast-json-stable-stringify": "2.1.0", + "magic-string": "0.25.7", + "rxjs": "6.6.7", + "source-map": "0.7.3" + } + }, + "ajv": { + "version": "8.9.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.9.0.tgz", + "integrity": "sha512-qOKJyNj/h+OWx7s5DePL6Zu1KeM9jPZhwBqs+7DzP6bGOvqzVCSf0xueYmVuaC/oQ/VtS2zLMLHdQFbkka+XDQ==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "dev": true, + "requires": { + "ajv": "^8.0.0" + } + }, + "rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dev": true, + "requires": { + "tslib": "^1.9.0" + } + }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", "dev": true } } }, - "@babel/plugin-transform-shorthand-properties": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.14.5.tgz", - "integrity": "sha512-xLucks6T1VmGsTB+GWK5Pl9Jl5+nRXD1uoFdA5TSO6xtiNjtXTjKkmPdFXVLGlK5A2/or/wQMKfmQ2Y0XJfn5g==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-spread": { - "version": "7.14.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.14.6.tgz", - "integrity": "sha512-Zr0x0YroFJku7n7+/HH3A2eIrGMjbmAIbJSVv0IZ+t3U2WUQUA64S/oeied2e+MaGSjmt4alzBCsK9E8gh+fag==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.14.5" - } - }, - "@babel/plugin-transform-sticky-regex": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.14.5.tgz", - "integrity": "sha512-Z7F7GyvEMzIIbwnziAZmnSNpdijdr4dWt+FJNBnBLz5mwDFkqIXU9wmBcWWad3QeJF5hMTkRe4dAq2sUZiG+8A==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-template-literals": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.14.5.tgz", - "integrity": "sha512-22btZeURqiepOfuy/VkFr+zStqlujWaarpMErvay7goJS6BWwdd6BY9zQyDLDa4x2S3VugxFb162IZ4m/S/+Gg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-typeof-symbol": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.14.5.tgz", - "integrity": "sha512-lXzLD30ffCWseTbMQzrvDWqljvZlHkXU+CnseMhkMNqU1sASnCsz3tSzAaH3vCUXb9PHeUb90ZT1BdFTm1xxJw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-unicode-escapes": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.14.5.tgz", - "integrity": "sha512-crTo4jATEOjxj7bt9lbYXcBAM3LZaUrbP2uUdxb6WIorLmjNKSpHfIybgY4B8SRpbf8tEVIWH3Vtm7ayCrKocA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-unicode-regex": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.14.5.tgz", - "integrity": "sha512-UygduJpC5kHeCiRw/xDVzC+wj8VaYSoKl5JNVmbP7MadpNinAm3SvZCxZ42H37KZBKztz46YC73i9yV34d0Tzw==", + "@angular-devkit/core": { + "version": "12.0.5", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-12.0.5.tgz", + "integrity": "sha512-zVSQV+8/vjUjsUKGlj8Kf5LioA6AXJTGI0yhHW9q1dFX4dPpbW63k0R1UoIB2wJ0F/AbYVgpnPGPe9BBm2fvZA==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5" + "ajv": "8.2.0", + "ajv-formats": "2.0.2", + "fast-json-stable-stringify": "2.1.0", + "magic-string": "0.25.7", + "rxjs": "6.6.7", + "source-map": "0.7.3" + }, + "dependencies": { + "rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dev": true, + "requires": { + "tslib": "^1.9.0" + } + }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + } } }, - "@babel/preset-env": { - "version": "7.14.2", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.14.2.tgz", - "integrity": "sha512-7dD7lVT8GMrE73v4lvDEb85cgcQhdES91BSD7jS/xjC6QY8PnRhux35ac+GCpbiRhp8crexBvZZqnaL6VrY8TQ==", + "@angular-devkit/schematics": { + "version": "12.1.2", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-12.1.2.tgz", + "integrity": "sha512-/UGcAJChq+g7wf46Exr5iIyuVw3j4TxTIntTpuKg/z/xf9Y+8mzJAZgGittu/yFcHAJ9aYcOHctffrfEdV7QSA==", "dev": true, + "peer": true, "requires": { - "@babel/compat-data": "^7.14.0", - "@babel/helper-compilation-targets": "^7.13.16", - "@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.14.2", - "@babel/plugin-proposal-class-properties": "^7.13.0", - "@babel/plugin-proposal-class-static-block": "^7.13.11", - "@babel/plugin-proposal-dynamic-import": "^7.14.2", - "@babel/plugin-proposal-export-namespace-from": "^7.14.2", - "@babel/plugin-proposal-json-strings": "^7.14.2", - "@babel/plugin-proposal-logical-assignment-operators": "^7.14.2", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.14.2", - "@babel/plugin-proposal-numeric-separator": "^7.14.2", - "@babel/plugin-proposal-object-rest-spread": "^7.14.2", - "@babel/plugin-proposal-optional-catch-binding": "^7.14.2", - "@babel/plugin-proposal-optional-chaining": "^7.14.2", - "@babel/plugin-proposal-private-methods": "^7.13.0", - "@babel/plugin-proposal-private-property-in-object": "^7.14.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.12.13", - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-class-properties": "^7.12.13", - "@babel/plugin-syntax-class-static-block": "^7.12.13", - "@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.0", - "@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.14.2", - "@babel/plugin-transform-classes": "^7.14.2", - "@babel/plugin-transform-computed-properties": "^7.13.0", - "@babel/plugin-transform-destructuring": "^7.13.17", - "@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.14.2", - "@babel/plugin-transform-modules-commonjs": "^7.14.0", - "@babel/plugin-transform-modules-systemjs": "^7.13.8", - "@babel/plugin-transform-modules-umd": "^7.14.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.14.2", - "@babel/plugin-transform-property-literals": "^7.12.13", - "@babel/plugin-transform-regenerator": "^7.13.15", - "@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.14.2", - "babel-plugin-polyfill-corejs2": "^0.2.0", - "babel-plugin-polyfill-corejs3": "^0.2.0", - "babel-plugin-polyfill-regenerator": "^0.2.0", - "core-js-compat": "^3.9.0", - "semver": "^6.3.0" + "@angular-devkit/core": "12.1.2", + "ora": "5.4.1", + "rxjs": "6.6.7" }, "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 + "@angular-devkit/core": { + "version": "12.1.2", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-12.1.2.tgz", + "integrity": "sha512-TeaRbvsNEeAkRJcIBlT6yUNh0vaVVBGBYfXYFIMg/I04ex/HI0ApEowu78GeTzCqlE0r4t+WaGT46m7+NIljKg==", + "dev": true, + "peer": true, + "requires": { + "ajv": "8.6.0", + "ajv-formats": "2.1.0", + "fast-json-stable-stringify": "2.1.0", + "magic-string": "0.25.7", + "rxjs": "6.6.7", + "source-map": "0.7.3" + } + }, + "ajv": { + "version": "8.6.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.6.0.tgz", + "integrity": "sha512-cnUG4NSBiM4YFBxgZIj/In3/6KX+rQ2l2YPRVcvAMQGWEPKuXoPIhxzwqh31jA3IPbI4qEOp/5ILI4ynioXsGQ==", + "dev": true, + "peer": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "ajv-formats": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.0.tgz", + "integrity": "sha512-USH2jBb+C/hIpwD2iRjp0pe0k+MvzG0mlSn/FIdCgQhUb9ALPRjt2KIQdfZDS9r0ZIeUAg7gOu9KL0PFqGqr5Q==", + "dev": true, + "peer": true, + "requires": { + "ajv": "^8.0.0" + } + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "peer": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", + "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", + "dev": true, + "peer": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "peer": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "peer": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "peer": true + }, + "ora": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", + "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", + "dev": true, + "peer": true, + "requires": { + "bl": "^4.1.0", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.5.0", + "is-interactive": "^1.0.0", + "is-unicode-supported": "^0.1.0", + "log-symbols": "^4.1.0", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" + } + }, + "rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dev": true, + "peer": true, + "requires": { + "tslib": "^1.9.0" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "peer": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true, + "peer": true } } }, - "@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==", + "@angular-eslint/builder": { + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/@angular-eslint/builder/-/builder-12.0.0.tgz", + "integrity": "sha512-gvvXQDXXi0gsWZ25KyMqF/1b3AaX+CJbpVgTPqxJdEx4euvmG/m3993ynmpf+Kc+F+aI2O9W4TUbDbbLWoCjIA==", "dev": true, - "requires": { - "@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" - } + "requires": {} }, - "@babel/runtime": { - "version": "7.14.0", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.14.0.tgz", - "integrity": "sha512-JELkvo/DlpNdJ7dlyw/eY7E0suy5i5GQH+Vlxaq1nsNJ+H7f4Vtv3jMeCEgRhZZQFXTjldYfQgv2qmM6M1v5wA==", + "@angular-eslint/eslint-plugin": { + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/@angular-eslint/eslint-plugin/-/eslint-plugin-12.0.0.tgz", + "integrity": "sha512-osdJdMu8bYFv9WGhC04AwRcbeKq4sxCQnShV7NiF0xkgNG9KqDaStytVhPjJFn2Ja1QhfiTGlcFFk4D/9aruog==", "dev": true, "requires": { - "regenerator-runtime": "^0.13.4" + "@typescript-eslint/experimental-utils": "4.23.0" } }, - "@babel/runtime-corejs3": { - "version": "7.14.7", - "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.14.7.tgz", - "integrity": "sha512-Wvzcw4mBYbTagyBVZpAJWI06auSIj033T/yNE0Zn1xcup83MieCddZA7ls3kme17L4NOGBrQ09Q+nKB41RLWBA==", + "@angular-eslint/eslint-plugin-template": { + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/@angular-eslint/eslint-plugin-template/-/eslint-plugin-template-12.0.0.tgz", + "integrity": "sha512-RF8PwN2A3U4ihd7sKYUM8wgPj46M30reziLl8CPPhN3H5Hn46nksmKmHRbPNakH2gW0Ba7NIxy+ocqUy0fQpcQ==", "dev": true, "requires": { - "core-js-pure": "^3.15.0", - "regenerator-runtime": "^0.13.4" + "@typescript-eslint/experimental-utils": "4.23.0", + "aria-query": "^4.2.2", + "axobject-query": "^2.2.0" } }, - "@babel/template": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.13.tgz", - "integrity": "sha512-/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA==", + "@angular-eslint/template-parser": { + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/@angular-eslint/template-parser/-/template-parser-12.0.0.tgz", + "integrity": "sha512-gl5ansA2a8LY6TEjhe0k8NiQJJdEQPjjqpysO1Rpt3NWUYQkFMt+1+AnUyokHB1TU3/11dHRUjVWXj+pMtTIAA==", "dev": true, "requires": { - "@babel/code-frame": "^7.12.13", - "@babel/parser": "^7.12.13", - "@babel/types": "^7.12.13" + "eslint-scope": "^5.1.0" } }, - "@babel/traverse": { - "version": "7.14.7", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.14.7.tgz", - "integrity": "sha512-9vDr5NzHu27wgwejuKL7kIOm4bwEtaPQ4Z6cpCmjSuaRqpH/7xc4qcGEscwMqlkwgcXl6MvqoAjZkQ24uSdIZQ==", + "@angular/cli": { + "version": "13.3.8", + "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-13.3.8.tgz", + "integrity": "sha512-dsvum8oGnbgX5mLh9CDzP1ip2UGDZdppPD6np2XXhqX75DfJxRlgl4u3NxBSnDmeyhIGTsGV0HKAxoB5EOoHcw==", "dev": true, "requires": { - "@babel/code-frame": "^7.14.5", - "@babel/generator": "^7.14.5", - "@babel/helper-function-name": "^7.14.5", - "@babel/helper-hoist-variables": "^7.14.5", - "@babel/helper-split-export-declaration": "^7.14.5", - "@babel/parser": "^7.14.7", - "@babel/types": "^7.14.5", - "debug": "^4.1.0", - "globals": "^11.1.0" + "@angular-devkit/architect": "0.1303.8", + "@angular-devkit/core": "13.3.8", + "@angular-devkit/schematics": "13.3.8", + "@schematics/angular": "13.3.8", + "@yarnpkg/lockfile": "1.1.0", + "ansi-colors": "4.1.1", + "debug": "4.3.3", + "ini": "2.0.0", + "inquirer": "8.2.0", + "jsonc-parser": "3.0.0", + "npm-package-arg": "8.1.5", + "npm-pick-manifest": "6.1.1", + "open": "8.4.0", + "ora": "5.4.1", + "pacote": "12.0.3", + "resolve": "1.22.0", + "semver": "7.3.5", + "symbol-observable": "4.0.0", + "uuid": "8.3.2" }, "dependencies": { - "@babel/generator": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.14.5.tgz", - "integrity": "sha512-y3rlP+/G25OIX3mYKKIOlQRcqj7YgrvHxOLbVmyLJ9bPmi5ttvUmpydVjcFjZphOktWuA7ovbx91ECloWTfjIA==", + "@angular-devkit/architect": { + "version": "0.1303.8", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1303.8.tgz", + "integrity": "sha512-2zaNejnfZbq+fFOVgkmWkh+2UmK/CBDbWTq7VJHopJLtUuf7pFNvRk73s9xayuJ3Lt2/sY17Mykku2LziBF89A==", "dev": true, "requires": { - "@babel/types": "^7.14.5", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" + "@angular-devkit/core": "13.3.8", + "rxjs": "6.6.7" } }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "@angular-devkit/core": { + "version": "13.3.8", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-13.3.8.tgz", + "integrity": "sha512-PCmfMkErpnH429l1cANak4PnCpAscqAubS6Dw83++cS34ht0/bgKRb2zSyBuB2Ka6kw7wAZ3fCyTcVvyfxVFEg==", + "dev": true, + "requires": { + "ajv": "8.9.0", + "ajv-formats": "2.1.1", + "fast-json-stable-stringify": "2.1.0", + "magic-string": "0.25.7", + "rxjs": "6.6.7", + "source-map": "0.7.3" + } + }, + "@angular-devkit/schematics": { + "version": "13.3.8", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-13.3.8.tgz", + "integrity": "sha512-7mTlxZhS9uHxtmOiZeSMkKdIE5r5FmQ/1IBhRBfD5XDQdipQkUJyOtclPO/+t/AJIG0+LYt9+7X5hHUr7W3kZA==", + "dev": true, + "requires": { + "@angular-devkit/core": "13.3.8", + "jsonc-parser": "3.0.0", + "magic-string": "0.25.7", + "ora": "5.4.1", + "rxjs": "6.6.7" + } + }, + "@schematics/angular": { + "version": "13.3.8", + "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-13.3.8.tgz", + "integrity": "sha512-VKRTTNYX5OsaJ6sWlCIuU71qihV3ysNNJ49wqLedOlWm1v0GMwoyGMCTJk9OZab1rpo/tYfLTcUlYqP3l6GVDQ==", + "dev": true, + "requires": { + "@angular-devkit/core": "13.3.8", + "@angular-devkit/schematics": "13.3.8", + "jsonc-parser": "3.0.0" + } + }, + "ajv": { + "version": "8.9.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.9.0.tgz", + "integrity": "sha512-qOKJyNj/h+OWx7s5DePL6Zu1KeM9jPZhwBqs+7DzP6bGOvqzVCSf0xueYmVuaC/oQ/VtS2zLMLHdQFbkka+XDQ==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "dev": true, + "requires": { + "ajv": "^8.0.0" + } + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "ora": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", + "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", + "dev": true, + "requires": { + "bl": "^4.1.0", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.5.0", + "is-interactive": "^1.0.0", + "is-unicode-supported": "^0.1.0", + "log-symbols": "^4.1.0", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" + } + }, + "rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dev": true, + "requires": { + "tslib": "^1.9.0" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", "dev": true } } }, - "@babel/types": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.14.5.tgz", - "integrity": "sha512-M/NzBpEL95I5Hh4dwhin5JlE7EzO5PHMAuzjxss3tiOBD46KfQvVedN/3jEPZvdRvtsK2222XfdHogNIttFgcg==", - "dev": true, + "@angular/common": { + "version": "13.3.11", + "resolved": "https://registry.npmjs.org/@angular/common/-/common-13.3.11.tgz", + "integrity": "sha512-gPMwDYIAag1izXm2tRQ6EOIx9FVEUqLdr+qYtRVoQtoBmfkoTSLGcpeBXqqlPVxVPbA6Li1WZZT5wxLLlLAN+Q==", "requires": { - "@babel/helper-validator-identifier": "^7.14.5", - "to-fast-properties": "^2.0.0" + "tslib": "^2.3.0" } }, - "@capacitor/app": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@capacitor/app/-/app-1.0.2.tgz", - "integrity": "sha512-P9PInUnUdkiqYk+7wzd51Oe6AzJ4KyKDRFVebDMGo7UgHFuK2ogDTDLabrv9XQUV1Zk2tXvpEoGmw46dd+2Img==", - "requires": {} + "@angular/compiler": { + "version": "13.3.11", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-13.3.11.tgz", + "integrity": "sha512-EV6JCBbXdHDHbPShWmymvuoxFYG0KVc8sDJpYp47WLHCY2zgZaXhvWs//Hrls3fmi+TGTekgRa2jOBBNce/Ggg==", + "requires": { + "tslib": "^2.3.0" + } }, - "@capacitor/cli": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@capacitor/cli/-/cli-3.1.1.tgz", - "integrity": "sha512-I8YF59WqxToujLH+Kn0k0rmGbmy/aTJGuSFXr7zKwCzBQPI4d6RST9aprvQI+7CTFIdcXIhMOz5XnEV1V/1FTA==", + "@angular/compiler-cli": { + "version": "13.3.11", + "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-13.3.11.tgz", + "integrity": "sha512-cl+3Wzxt8NRi2WY+RdsxuQ3yQRUp8pSlfSlJJnfaKE1BEqap6uem2DovuhnIbmrLhxZ5xt7o+I1szyO6sn6+ag==", "dev": true, "requires": { - "@ionic/cli-framework-output": "^2.2.1", - "@ionic/utils-fs": "^3.1.5", - "@ionic/utils-subprocess": "^2.1.6", - "@ionic/utils-terminal": "^2.3.0", - "commander": "^6.0.0", - "debug": "^4.2.0", - "env-paths": "^2.2.0", - "kleur": "^4.1.1", - "native-run": "^1.4.0", - "open": "^7.1.0", - "plist": "^3.0.2", - "prompts": "^2.3.2", - "semver": "^7.3.2", - "tar": "^6.0.5", - "tslib": "^2.1.0", - "xml2js": "^0.4.23" + "@babel/core": "^7.17.2", + "chokidar": "^3.0.0", + "convert-source-map": "^1.5.1", + "dependency-graph": "^0.11.0", + "magic-string": "^0.26.0", + "reflect-metadata": "^0.1.2", + "semver": "^7.0.0", + "sourcemap-codec": "^1.4.8", + "tslib": "^2.3.0", + "yargs": "^17.2.1" }, "dependencies": { - "commander": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", - "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==", - "dev": true + "magic-string": { + "version": "0.26.2", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.26.2.tgz", + "integrity": "sha512-NzzlXpclt5zAbmo6h6jNc8zl2gNRGHvmsZW4IvZhTC4W7k4OlLP+S5YLussa/r3ixNT66KOQfNORlXHSOy/X4A==", + "dev": true, + "requires": { + "sourcemap-codec": "^1.4.8" + } }, - "open": { - "version": "7.4.2", - "resolved": "https://registry.npmjs.org/open/-/open-7.4.2.tgz", - "integrity": "sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==", + "yargs": { + "version": "17.5.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.5.1.tgz", + "integrity": "sha512-t6YAJcxDkNX7NFYiVtKvWUz8l+PaKTLiL63mJYWR2GnHq2gjEWISzsLp9wg3aY36dY1j+gfIEL3pIF+XlJJfbA==", "dev": true, "requires": { - "is-docker": "^2.0.0", - "is-wsl": "^2.1.1" + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.0.0" } + }, + "yargs-parser": { + "version": "21.0.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.0.1.tgz", + "integrity": "sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg==", + "dev": true } } }, - "@capacitor/core": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@capacitor/core/-/core-3.1.1.tgz", - "integrity": "sha512-VTOdy2GZPLxMGDmwXWfhQWoP7G+0XE8gx2er2uo8e8Y6K8YjT8bxqlOL4VJ8gC5X8Wq281SR4OsajzhdgDazgQ==", + "@angular/core": { + "version": "13.3.11", + "resolved": "https://registry.npmjs.org/@angular/core/-/core-13.3.11.tgz", + "integrity": "sha512-9BmE2CxyV0g+AkBeuc8IwjSOiJ8Y+kptXnqD/J8EAFT3B0/fLGVnjFdZC6Sev9L0SNZb6qdzebpfIOLqbUjReQ==", "requires": { - "tslib": "^2.1.0" + "tslib": "^2.3.0" } }, - "@capacitor/haptics": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@capacitor/haptics/-/haptics-1.0.2.tgz", - "integrity": "sha512-ex629YmC439cqJcBX0HRTLtQ5lRc+Grx2/EPDLPEK33aTMcwplOsY8IQdjKL2pmO44AX4BmYtztui14Mf89q/g==", - "requires": {} + "@angular/forms": { + "version": "13.3.11", + "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-13.3.11.tgz", + "integrity": "sha512-iMgTNB+Qc3TsfAZSk1FnUE6MVoddPzxhG9AKCfSlvpjFh8VmXkIjxPL3dun7J8OjayT3X+B8f7LZ9AkKNXtBKw==", + "requires": { + "tslib": "^2.3.0" + } }, - "@capacitor/keyboard": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@capacitor/keyboard/-/keyboard-1.0.2.tgz", - "integrity": "sha512-JdIkYXfrfiuP/iLxO65GJe8rY+VcCoGesPzu/eMHRoWOuRyRcwjw9AtVOPyAXj4qPq1bbmGB8if/m2/R1S1X9A==", - "requires": {} + "@angular/language-service": { + "version": "13.3.11", + "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-13.3.11.tgz", + "integrity": "sha512-EDw8L0RKrRYUYWB2P0xS1WRazYvv5gOguX+IwPZlCpR95QLQPTTpmNaqvnYjmFlvQjGHJYc8wqtJJIIMiL6FSA==", + "dev": true }, - "@capacitor/status-bar": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@capacitor/status-bar/-/status-bar-1.0.2.tgz", - "integrity": "sha512-NgAZIw8Uq2lm6Ln1lWipAqi/YxqIDd92boO4k81Z1WMOdZJt6oLxZB8LfJRDLXU7xNkpW97zHcNBf5pIXJIFqw==", - "requires": {} + "@angular/platform-browser": { + "version": "13.3.11", + "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-13.3.11.tgz", + "integrity": "sha512-PG3chCErARb6wNzkOed2NsZmgvTmbumRx/6sMXqGkDKXYQm0JULnl4X42Rn+JCgJ9DLJi5/jrd1dbcBCrKk9Vg==", + "requires": { + "tslib": "^2.3.0" + } }, - "@csstools/convert-colors": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@csstools/convert-colors/-/convert-colors-1.4.0.tgz", - "integrity": "sha512-5a6wqoJV/xEdbRNKVo6I4hO3VjyDq//8q2f9I6PBAvMesJHFauXDorcNCsr9RzvsZnaWi5NYCcfyqP1QeFHFbw==", - "dev": true + "@angular/platform-browser-dynamic": { + "version": "13.3.11", + "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-13.3.11.tgz", + "integrity": "sha512-xM0VRC1Nw//SHO3gkghUHyjCaaQbk1UYMq4vIu3iKVq9KLqOSZgccv0NcOKHzXXN3S5RgX2auuyOUOCD6ny1Pg==", + "requires": { + "tslib": "^2.3.0" + } }, - "@discoveryjs/json-ext": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.2.tgz", - "integrity": "sha512-HyYEUDeIj5rRQU2Hk5HTB2uHsbRQpF70nvMhVzi+VJR0X+xNEhjPui4/kBf3VeH/wqD28PT4sVOm8qqLjBrSZg==", + "@angular/router": { + "version": "13.3.11", + "resolved": "https://registry.npmjs.org/@angular/router/-/router-13.3.11.tgz", + "integrity": "sha512-bJTcxDYKEyoqtsi1kJcDJWLmEN+dXpwhU07SsqUwfyN4V5fYF1ApDhpJ4c17hNdjEqe106srT9tiHXhmWayhmQ==", + "requires": { + "tslib": "^2.3.0" + } + }, + "@assemblyscript/loader": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/@assemblyscript/loader/-/loader-0.10.1.tgz", + "integrity": "sha512-H71nDOOL8Y7kWRLqf6Sums+01Q5msqBW2KhDUTemh1tvY04eSkSXrK0uj/4mmY0Xr16/3zyZmsrxN7CKuRbNRg==", "dev": true }, - "@eslint/eslintrc": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.2.tgz", - "integrity": "sha512-8nmGq/4ycLpIwzvhI4tNDmQztZ8sp+hI7cyG8i1nQDhkAbRzHpXPidRAHlNvCZQpJTKw5ItIpMw9RSToGF00mg==", + "@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": { - "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" + "@babel/highlight": "^7.16.7" + } + }, + "@babel/compat-data": { + "version": "7.18.5", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.18.5.tgz", + "integrity": "sha512-BxhE40PVCBxVEJsSBhB6UWyAuqJRxGsAw8BdHMJ3AKGydcwuWW4kOO3HmqBQAdcq/OP+/DlTVxLvsCzRTnZuGg==", + "dev": true + }, + "@babel/core": { + "version": "7.18.5", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.18.5.tgz", + "integrity": "sha512-MGY8vg3DxMnctw0LdvSEojOsumc70g0t18gNyUdAZqB1Rpd1Bqo/svHGvt+UJ6JcGX+DIekGFDxxIWofBxLCnQ==", + "dev": true, + "requires": { + "@ampproject/remapping": "^2.1.0", + "@babel/code-frame": "^7.16.7", + "@babel/generator": "^7.18.2", + "@babel/helper-compilation-targets": "^7.18.2", + "@babel/helper-module-transforms": "^7.18.0", + "@babel/helpers": "^7.18.2", + "@babel/parser": "^7.18.5", + "@babel/template": "^7.16.7", + "@babel/traverse": "^7.18.5", + "@babel/types": "^7.18.4", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.1", + "semver": "^6.3.0" }, "dependencies": { - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "@babel/generator": { + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.18.2.tgz", + "integrity": "sha512-W1lG5vUwFvfMd8HVXqdfbuG7RuaSrTCCD8cl8fP8wOivdbtbIg2Db3IWUcgvfxKbbn6ZBGYRW/Zk1MIwK49mgw==", "dev": true, "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" + "@babel/types": "^7.18.2", + "@jridgewell/gen-mapping": "^0.3.0", + "jsesc": "^2.5.1" } }, - "globals": { - "version": "13.10.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.10.0.tgz", - "integrity": "sha512-piHC3blgLGFjvOuMmWZX60f+na1lXFDhQXBf1UYp2fXPXqvEUbOhNwi6BsQ0bQishwedgnjkwv1d9zKf+MWw3g==", + "@jridgewell/gen-mapping": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.1.tgz", + "integrity": "sha512-GcHwniMlA2z+WFPWuY8lp3fsza0I8xPFMWL5+n8LYyP6PSvPrXf4+n8stDHZY2DM0zy9sVkRDy1jDI4XGzYVqg==", "dev": true, "requires": { - "type-fest": "^0.20.2" + "@jridgewell/set-array": "^1.0.0", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" } }, - "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==", + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true - }, - "type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + } + } + }, + "@babel/generator": { + "version": "7.16.8", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.16.8.tgz", + "integrity": "sha512-1ojZwE9+lOXzcWdWmO6TbUzDfqLD39CmEhN8+2cX9XkDo5yW1OpgfejfliysR2AWLpMamTiOiAp/mtroaymhpw==", + "dev": true, + "requires": { + "@babel/types": "^7.16.8", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + }, + "dependencies": { + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", "dev": true } } }, - "@humanwhocodes/config-array": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz", - "integrity": "sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==", + "@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": { - "@humanwhocodes/object-schema": "^1.2.0", - "debug": "^4.1.1", - "minimatch": "^3.0.4" + "@babel/types": "^7.16.7" } }, - "@humanwhocodes/object-schema": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.0.tgz", - "integrity": "sha512-wdppn25U8z/2yiaT6YGquE6X8sSv7hNMWSXYSSU1jGv/yd6XqjXgTDJ8KP4NgjTXfJ3GbRjeeb8RTV7a/VpM+w==", - "dev": true + "@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" + } }, - "@ionic/angular": { - "version": "5.6.11", - "resolved": "https://registry.npmjs.org/@ionic/angular/-/angular-5.6.11.tgz", - "integrity": "sha512-LMSN1W0DVM11uu8NaUt4hz5TdWyvepNSmj0bXyg3KxzJHA4aLwRXSirIxNH+ThRHDpqmU/r5zTuzvlfCKl8twg==", + "@babel/helper-compilation-targets": { + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.18.2.tgz", + "integrity": "sha512-s1jnPotJS9uQnzFtiZVBUxe67CuBa679oWFHpxYYnTpRL/1ffhyX44R9uYiXoa/pLXcY9H2moJta0iaanlk/rQ==", + "dev": true, "requires": { - "@ionic/core": "5.6.11", - "tslib": "^1.9.3" + "@babel/compat-data": "^7.17.10", + "@babel/helper-validator-option": "^7.16.7", + "browserslist": "^4.20.2", + "semver": "^6.3.0" }, "dependencies": { - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true } } }, - "@ionic/angular-toolkit": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@ionic/angular-toolkit/-/angular-toolkit-4.0.0.tgz", - "integrity": "sha512-HGRAGUtc1YSwNZ/Q7X7c2QRyYM2AfsSm++OasPrMo3LnPRVr8OIsUih2ithEU7f3CXrViUR7j/Anu90zGsRgzg==", + "@babel/helper-create-class-features-plugin": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.18.0.tgz", + "integrity": "sha512-Kh8zTGR9de3J63e5nS0rQUdRs/kbtwoeQQ0sriS0lItjC96u8XXZN6lKpuyWd2coKSU13py/y+LTmThLuVX0Pg==", "dev": true, "requires": { - "@schematics/angular": "^12.0.0", - "cheerio": "1.0.0-rc.3", - "colorette": "1.1.0", - "copy-webpack-plugin": "^6.2.1", - "tapable": "^2.1.1", - "tslib": "^2.0.3", - "ws": "^7.0.1" + "@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.12", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.17.12.tgz", + "integrity": "sha512-b2aZrV4zvutr9AIa6/gA3wsZKRwTKYoDxYiFKcESS3Ug2GTXzwBEvMuuFLhCQpEnRXs1zng4ISAXSUxxKBIcxw==", + "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" }, "dependencies": { - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "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, - "requires": {} - }, - "copy-webpack-plugin": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-6.4.1.tgz", - "integrity": "sha512-MXyPCjdPVx5iiWyl40Va3JGh27bKzOTNY3NjUTrosD2q7dR/cLD0013uqJ3BpFbUjyONINjb6qI7nDIJujrMbA==", - "dev": true, - "requires": { - "cacache": "^15.0.5", - "fast-glob": "^3.2.4", - "find-cache-dir": "^3.3.1", - "glob-parent": "^5.1.1", - "globby": "^11.0.1", - "loader-utils": "^2.0.0", - "normalize-path": "^3.0.0", - "p-limit": "^3.0.2", - "schema-utils": "^3.0.0", - "serialize-javascript": "^5.0.1", - "webpack-sources": "^1.4.3" - } - }, - "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==", + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true - }, - "schema-utils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.0.tgz", - "integrity": "sha512-tTEaeYkyIhEZ9uWgAjDerWov3T9MgX8dhhy2r0IGeeX4W8ngtGl1++dUve/RUqzuaASSh7shwCDJjEzthxki8w==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.7", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } } } }, - "@ionic/cli-framework-output": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/@ionic/cli-framework-output/-/cli-framework-output-2.2.2.tgz", - "integrity": "sha512-eQYkqIW1/tCwSC6Bd0gjse96U11lDX/ikf3jvsjX7a8z/zwSmGzCHRizb7xogV65Ey+1/zyAZR71cpDRQuFLBQ==", + "@babel/helper-environment-visitor": { + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.2.tgz", + "integrity": "sha512-14GQKWkX9oJzPiQQ7/J36FTXcD4kSp8egKjO9nINlSKiHITRA9q/R74qu8S9xlc/b/yjsJItQUeeh3xnGN0voQ==", + "dev": true + }, + "@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": { - "@ionic/utils-terminal": "2.3.1", - "debug": "^4.0.0", - "tslib": "^2.0.1" + "@babel/types": "^7.17.0" } }, - "@ionic/core": { - "version": "5.6.11", - "resolved": "https://registry.npmjs.org/@ionic/core/-/core-5.6.11.tgz", - "integrity": "sha512-bWn2K3L/QWRUs8SBm+YJcgJhOO6W00eipfxJunlAr/7PbMePdqYnU+PQ2Cv54ufK3yUtLr2b0YdvZ9wZ6pGS3w==", + "@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": { - "@stencil/core": "^2.4.0", - "ionicons": "^5.5.1", - "tslib": "^2.1.0" + "@babel/types": "^7.16.7" } }, - "@ionic/utils-array": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@ionic/utils-array/-/utils-array-2.1.5.tgz", - "integrity": "sha512-HD72a71IQVBmQckDwmA8RxNVMTbxnaLbgFOl+dO5tbvW9CkkSFCv41h6fUuNsSEVgngfkn0i98HDuZC8mk+lTA==", + "@babel/helper-module-transforms": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.18.0.tgz", + "integrity": "sha512-kclUYSUBIjlvnzN2++K9f2qzYKFgjmnmjwL4zlmU5f8ZtzgWe8s0rUPSTGy2HmK4P8T52MQsS+HTQAgZd3dMEA==", "dev": true, "requires": { - "debug": "^4.0.0", - "tslib": "^2.0.1" + "@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.18.0", + "@babel/types": "^7.18.0" } }, - "@ionic/utils-fs": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/@ionic/utils-fs/-/utils-fs-3.1.5.tgz", - "integrity": "sha512-a41bY2dHqWSEQQ/80CpbXSs8McyiCFf2DnIWWLukrhYWf46h4qi6M/8dxcMKrofRiqI/3F+cL3S2mOm9Zz/o2Q==", + "@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": { - "debug": "^4.0.0", - "fs-extra": "^9.0.0", - "tslib": "^2.0.1" - }, - "dependencies": { - "fs-extra": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", - "dev": true, - "requires": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - } - }, - "jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6", - "universalify": "^2.0.0" - } - }, - "universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", - "dev": true - } + "@babel/types": "^7.16.7" } }, - "@ionic/utils-object": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@ionic/utils-object/-/utils-object-2.1.5.tgz", - "integrity": "sha512-XnYNSwfewUqxq+yjER1hxTKggftpNjFLJH0s37jcrNDwbzmbpFTQTVAp4ikNK4rd9DOebX/jbeZb8jfD86IYxw==", + "@babel/helper-plugin-utils": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.17.12.tgz", + "integrity": "sha512-JDkf04mqtN3y4iAbO1hv9U2ARpPyPL1zqyWs/2WG1pgSq9llHFjStX5jdxb84himgJm+8Ng+x0oiWF/nw/XQKA==", + "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": { - "debug": "^4.0.0", - "tslib": "^2.0.1" + "@babel/helper-annotate-as-pure": "^7.16.7", + "@babel/helper-wrap-function": "^7.16.8", + "@babel/types": "^7.16.8" } }, - "@ionic/utils-process": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/@ionic/utils-process/-/utils-process-2.1.8.tgz", - "integrity": "sha512-VBBoyTzi+m6tgKAItl+jiTQneGwTOsctcrTG4CsEgmVOVOEhUYkPhddXqzD+oC54hPDU9ROsd3I014P5CWEuhQ==", + "@babel/helper-replace-supers": { + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.18.2.tgz", + "integrity": "sha512-XzAIyxx+vFnrOxiQrToSUOzUOn0e1J2Li40ntddek1Y69AXUTXoDJ40/D5RdjFu7s7qHiaeoTiempZcbuVXh2Q==", "dev": true, "requires": { - "@ionic/utils-object": "2.1.5", - "@ionic/utils-terminal": "2.3.1", - "debug": "^4.0.0", - "signal-exit": "^3.0.3", - "tree-kill": "^1.2.2", - "tslib": "^2.0.1" + "@babel/helper-environment-visitor": "^7.18.2", + "@babel/helper-member-expression-to-functions": "^7.17.7", + "@babel/helper-optimise-call-expression": "^7.16.7", + "@babel/traverse": "^7.18.2", + "@babel/types": "^7.18.2" } }, - "@ionic/utils-stream": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/@ionic/utils-stream/-/utils-stream-3.1.5.tgz", - "integrity": "sha512-hkm46uHvEC05X/8PHgdJi4l4zv9VQDELZTM+Kz69odtO9zZYfnt8DkfXHJqJ+PxmtiE5mk/ehJWLnn/XAczTUw==", + "@babel/helper-simple-access": { + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.18.2.tgz", + "integrity": "sha512-7LIrjYzndorDY88MycupkpQLKS1AFfsVRm2k/9PtKScSy5tZq0McZTj+DiMRynboZfIqOKvo03pmhTaUgiD6fQ==", "dev": true, "requires": { - "debug": "^4.0.0", - "tslib": "^2.0.1" + "@babel/types": "^7.18.2" } }, - "@ionic/utils-subprocess": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/@ionic/utils-subprocess/-/utils-subprocess-2.1.8.tgz", - "integrity": "sha512-pkmtf1LtXcEMPn6/cctREL2aZtZoy0+0Sl+nT0NIkOHIoBUcqrcfMWdctCSM4Mp6+2/hLWtgpHE3TOIibkWfIg==", + "@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, "requires": { - "@ionic/utils-array": "2.1.5", - "@ionic/utils-fs": "3.1.5", - "@ionic/utils-process": "2.1.8", - "@ionic/utils-stream": "3.1.5", - "@ionic/utils-terminal": "2.3.1", - "cross-spawn": "^7.0.0", - "debug": "^4.0.0", - "tslib": "^2.0.1" + "@babel/types": "^7.16.0" } }, - "@ionic/utils-terminal": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/@ionic/utils-terminal/-/utils-terminal-2.3.1.tgz", - "integrity": "sha512-cglsSd2AckI3Ldtdfczeq64vIIDjtPspV5QJtky8f8uIdxkeOIGeRV7bCj1+BEf1hyo+ZuggQxLviHnbMZhiRw==", + "@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, "requires": { - "debug": "^4.0.0", - "signal-exit": "^3.0.3", - "slice-ansi": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0", - "tslib": "^2.0.1", - "untildify": "^4.0.0", - "wrap-ansi": "^7.0.0" + "@babel/types": "^7.16.7" } }, - "@istanbuljs/schema": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", - "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "@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 }, - "@jsdevtools/coverage-istanbul-loader": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@jsdevtools/coverage-istanbul-loader/-/coverage-istanbul-loader-3.0.5.tgz", - "integrity": "sha512-EUCPEkaRPvmHjWAAZkWMT7JDzpw7FKB00WTISaiXsbNOd5hCHg77XLA8sLYLFDo1zepYLo2w7GstN8YBqRXZfA==", + "@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 + }, + "@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, "requires": { - "convert-source-map": "^1.7.0", - "istanbul-lib-instrument": "^4.0.3", - "loader-utils": "^2.0.0", - "merge-source-map": "^1.1.0", - "schema-utils": "^2.7.0" + "@babel/helper-function-name": "^7.16.7", + "@babel/template": "^7.16.7", + "@babel/traverse": "^7.16.8", + "@babel/types": "^7.16.8" } }, - "@ngtools/webpack": { - "version": "12.0.5", - "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-12.0.5.tgz", - "integrity": "sha512-yoKK6qhEm1iWnniz50xzOBqa3U1iUrjZs+SpLOXRZFonpwObz8j4zraR231K4uV4kXcX40qorYk9iOf+ljG4JQ==", + "@babel/helpers": { + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.18.2.tgz", + "integrity": "sha512-j+d+u5xT5utcQSzrh9p+PaJX94h++KN+ng9b9WEJq7pkUPAd61FGqhjuUEdfknb3E/uDBb7ruwEeKkIxNJPIrg==", "dev": true, "requires": { - "enhanced-resolve": "5.7.0" + "@babel/template": "^7.16.7", + "@babel/traverse": "^7.18.2", + "@babel/types": "^7.18.2" } }, - "@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "@babel/highlight": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.17.12.tgz", + "integrity": "sha512-7yykMVF3hfZY2jsHZEEgLc+3x4o1O+fYyULu11GynEUQNwB6lua+IIQn1FiJxNucd5UlyJryrwsOh8PL9Sn8Qg==", "dev": true, "requires": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" + "@babel/helper-validator-identifier": "^7.16.7", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" } }, - "@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "@babel/parser": { + "version": "7.18.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.18.5.tgz", + "integrity": "sha512-YZWVaglMiplo7v8f1oMQ5ZPQr0vn7HPeZXxXWsxXJRjGVrzUFn9OxFQl1sb5wzfootjA/yChhW84BV+383FSOw==", "dev": true }, - "@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.17.12", + "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.17.12.tgz", + "integrity": "sha512-xCJQXl4EeQ3J9C4yOmpTrtVGmzpm2iSzyxbkZHw7UCnZBftHpF/hpII80uWVyVrc40ytIClHjgWGTG1g/yB+aw==", "dev": true, "requires": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" + "@babel/helper-plugin-utils": "^7.17.12" } }, - "@npmcli/git": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-2.1.0.tgz", - "integrity": "sha512-/hBFX/QG1b+N7PZBFs0bi+evgRZcK9nWBxQKZkGoXUT5hJSwl5c4d7y8/hm+NQZRPhQ67RzFaj5UM9YeyKoryw==", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.17.12.tgz", + "integrity": "sha512-/vt0hpIw0x4b6BLKUkwlvEoiGZYYLNZ96CzyHYPbtG2jZGz6LBe7/V+drYrc/d+ovrF9NBi0pmtvmNb/FsWtRQ==", "dev": true, "requires": { - "@npmcli/promise-spawn": "^1.3.2", - "lru-cache": "^6.0.0", - "mkdirp": "^1.0.4", - "npm-pick-manifest": "^6.1.1", - "promise-inflight": "^1.0.1", - "promise-retry": "^2.0.1", - "semver": "^7.3.5", - "which": "^2.0.2" + "@babel/helper-plugin-utils": "^7.17.12", + "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0", + "@babel/plugin-proposal-optional-chaining": "^7.17.12" } }, - "@npmcli/installed-package-contents": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/@npmcli/installed-package-contents/-/installed-package-contents-1.0.7.tgz", - "integrity": "sha512-9rufe0wnJusCQoLpV9ZPKIVP55itrM5BxOXs10DmdbRfgWtHy1LDyskbwRnBghuB0PrF7pNPOqREVtpz4HqzKw==", + "@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, "requires": { - "npm-bundled": "^1.1.1", - "npm-normalize-package-bin": "^1.0.1" + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-remap-async-to-generator": "^7.16.8", + "@babel/plugin-syntax-async-generators": "^7.8.4" } }, - "@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==", + "@babel/plugin-proposal-class-properties": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.17.12.tgz", + "integrity": "sha512-U0mI9q8pW5Q9EaTHFPwSVusPMV/DV9Mm8p7csqROFLtIE9rBF5piLqyrBGigftALrBcsBGu4m38JneAe7ZDLXw==", "dev": true, "requires": { - "mkdirp": "^1.0.4", - "rimraf": "^3.0.2" + "@babel/helper-create-class-features-plugin": "^7.17.12", + "@babel/helper-plugin-utils": "^7.17.12" } }, - "@npmcli/node-gyp": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-1.0.2.tgz", - "integrity": "sha512-yrJUe6reVMpktcvagumoqD9r08fH1iRo01gn1u0zoCApa9lnZGEigVKUd2hzsCId4gdtkZZIVscLhNxMECKgRg==", - "dev": true - }, - "@npmcli/promise-spawn": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-1.3.2.tgz", - "integrity": "sha512-QyAGYo/Fbj4MXeGdJcFzZ+FkDkomfRBrPM+9QYJSg+PxgAUL+LU3FneQk37rKR2/zjqkCV1BLHccX98wRXG3Sg==", + "@babel/plugin-proposal-class-static-block": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.18.0.tgz", + "integrity": "sha512-t+8LsRMMDE74c6sV7KShIw13sqbqd58tlqNrsWoWBTIMw7SVQ0cZ905wLNS/FBCy/3PyooRHLFFlfrUNyyz5lA==", "dev": true, "requires": { - "infer-owner": "^1.0.4" + "@babel/helper-create-class-features-plugin": "^7.18.0", + "@babel/helper-plugin-utils": "^7.17.12", + "@babel/plugin-syntax-class-static-block": "^7.14.5" } }, - "@npmcli/run-script": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-1.8.5.tgz", - "integrity": "sha512-NQspusBCpTjNwNRFMtz2C5MxoxyzlbuJ4YEhxAKrIonTiirKDtatsZictx9RgamQIx6+QuHMNmPl0wQdoESs9A==", + "@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, "requires": { - "@npmcli/node-gyp": "^1.0.2", - "@npmcli/promise-spawn": "^1.3.2", - "infer-owner": "^1.0.4", - "node-gyp": "^7.1.0", - "read-package-json-fast": "^2.0.1" + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" } }, - "@schematics/angular": { - "version": "12.0.5", - "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-12.0.5.tgz", - "integrity": "sha512-gMT66T33az+uGLDSc7UkJVg+vloPeTpQNgWddBVGnW/Lkl1tGaWUxyqUJAp8AvusPNU+NCP+ZFB3qUm+pc7tCg==", + "@babel/plugin-proposal-export-namespace-from": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.17.12.tgz", + "integrity": "sha512-j7Ye5EWdwoXOpRmo5QmRyHPsDIe6+u70ZYZrd7uz+ebPYFKfRcLcNu3Ro0vOlJ5zuv8rU7xa+GttNiRzX56snQ==", "dev": true, "requires": { - "@angular-devkit/core": "12.0.5", - "@angular-devkit/schematics": "12.0.5", - "jsonc-parser": "3.0.0" - }, - "dependencies": { - "@angular-devkit/schematics": { - "version": "12.0.5", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-12.0.5.tgz", - "integrity": "sha512-iW3XuDHScr3TXuunlEjF5O01zBpwpLgfr1oEny8PvseFGDlHK4Nj8zNIoIn3Yg936aiFO4GJAC/UXsT8g5vKxQ==", - "dev": true, - "requires": { - "@angular-devkit/core": "12.0.5", - "ora": "5.4.0", - "rxjs": "6.6.7" - } - } + "@babel/helper-plugin-utils": "^7.17.12", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" } }, - "@stencil/core": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/@stencil/core/-/core-2.6.0.tgz", - "integrity": "sha512-QsxWayZyusnqSZrlCl81R71rA3KqFjVVQSH4E0rGN15F1GdQaFonKlHLyCOLKLig1zzC+DQkLLiUuocexuvdeQ==" - }, - "@tootallnate/once": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", - "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", - "dev": true - }, - "@trysound/sax": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.1.1.tgz", - "integrity": "sha512-Z6DoceYb/1xSg5+e+ZlPZ9v0N16ZvZ+wYMraFue4HYrE4ttONKtsvruIRf6t9TBR0YvSOfi1hUU0fJfBLCDYow==", - "dev": true - }, - "@types/component-emitter": { - "version": "1.2.10", - "resolved": "https://registry.npmjs.org/@types/component-emitter/-/component-emitter-1.2.10.tgz", - "integrity": "sha512-bsjleuRKWmGqajMerkzox19aGbscQX5rmmvvXl3wlIp5gMG1HgkiwPxsN5p070fBDKTNSPgojVbuY1+HWMbFhg==", - "dev": true - }, - "@types/cookie": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.1.tgz", - "integrity": "sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==", - "dev": true - }, - "@types/cors": { - "version": "2.8.12", - "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.12.tgz", - "integrity": "sha512-vt+kDhq/M2ayberEtJcIN/hxXy1Pk+59g2FV/ZQceeaTyCtCucjL2Q7FXlFjtWn4n15KCr1NE2lNNFhp0lEThw==", - "dev": true - }, - "@types/eslint": { - "version": "7.28.0", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-7.28.0.tgz", - "integrity": "sha512-07XlgzX0YJUn4iG1ocY4IX9DzKSmMGUs6ESKlxWhZRaa0fatIWaHWUVapcuGa8r5HFnTqzj+4OCjd5f7EZ/i/A==", + "@babel/plugin-proposal-json-strings": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.17.12.tgz", + "integrity": "sha512-rKJ+rKBoXwLnIn7n6o6fulViHMrOThz99ybH+hKHcOZbnN14VuMnH9fo2eHE69C8pO4uX1Q7t2HYYIDmv8VYkg==", "dev": true, "requires": { - "@types/estree": "*", - "@types/json-schema": "*" + "@babel/helper-plugin-utils": "^7.17.12", + "@babel/plugin-syntax-json-strings": "^7.8.3" } }, - "@types/eslint-scope": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.1.tgz", - "integrity": "sha512-SCFeogqiptms4Fg29WpOTk5nHIzfpKCemSN63ksBQYKTcXoJEmJagV+DhVmbapZzY4/5YaOV1nZwrsU79fFm1g==", + "@babel/plugin-proposal-logical-assignment-operators": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.17.12.tgz", + "integrity": "sha512-EqFo2s1Z5yy+JeJu7SFfbIUtToJTVlC61/C7WLKDntSw4Sz6JNAIfL7zQ74VvirxpjB5kz/kIx0gCcb+5OEo2Q==", "dev": true, "requires": { - "@types/eslint": "*", - "@types/estree": "*" + "@babel/helper-plugin-utils": "^7.17.12", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" } }, - "@types/estree": { - "version": "0.0.47", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.47.tgz", - "integrity": "sha512-c5ciR06jK8u9BstrmJyO97m+klJrrhCf9u3rLu3DEAJBirxRqSCvDQoYKmxuYwQI5SZChAWu+tq9oVlGRuzPAg==", - "dev": true - }, - "@types/glob": { - "version": "7.1.4", - "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.4.tgz", - "integrity": "sha512-w+LsMxKyYQm347Otw+IfBXOv9UWVjpHpCDdbBMt8Kz/xbvCYNjP+0qPh91Km3iKfSRLBB0P7fAMf0KHrPu+MyA==", + "@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.17.12.tgz", + "integrity": "sha512-ws/g3FSGVzv+VH86+QvgtuJL/kR67xaEIF2x0iPqdDfYW6ra6JF3lKVBkWynRLcNtIC1oCTfDRVxmm2mKzy+ag==", "dev": true, "requires": { - "@types/minimatch": "*", - "@types/node": "*" + "@babel/helper-plugin-utils": "^7.17.12", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" } }, - "@types/jasmine": { - "version": "3.6.11", - "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-3.6.11.tgz", - "integrity": "sha512-S6pvzQDvMZHrkBz2Mcn/8Du7cpr76PlRJBAoHnSDNbulULsH5dp0Gns+WRyNX5LHejz/ljxK4/vIHK/caHt6SQ==", - "dev": true - }, - "@types/jasminewd2": { - "version": "2.0.10", - "resolved": "https://registry.npmjs.org/@types/jasminewd2/-/jasminewd2-2.0.10.tgz", - "integrity": "sha512-J7mDz7ovjwjc+Y9rR9rY53hFWKATcIkrr9DwQWmOas4/pnIPJTXawnzjwpHm3RSxz/e3ZVUvQ7cRbd5UQLo10g==", + "@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, "requires": { - "@types/jasmine": "*" + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" } }, - "@types/json-schema": { - "version": "7.0.8", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.8.tgz", - "integrity": "sha512-YSBPTLTVm2e2OoQIDYx8HaeWJ5tTToLH67kXR7zYNGupXMEHa2++G8k+DczX2cFVgalypqtyZIcU19AFcmOpmg==", - "dev": true - }, - "@types/minimatch": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", - "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==", - "dev": true - }, - "@types/node": { - "version": "12.20.16", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.16.tgz", - "integrity": "sha512-6CLxw83vQf6DKqXxMPwl8qpF8I7THFZuIwLt4TnNsumxkp1VsRZWT8txQxncT/Rl2UojTsFzWgDG4FRMwafrlA==", - "dev": true - }, - "@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 - }, - "@types/q": { - "version": "0.0.32", - "resolved": "https://registry.npmjs.org/@types/q/-/q-0.0.32.tgz", - "integrity": "sha1-vShOV8hPEyXacCur/IKlMoGQwMU=", - "dev": true - }, - "@types/selenium-webdriver": { - "version": "3.0.19", - "resolved": "https://registry.npmjs.org/@types/selenium-webdriver/-/selenium-webdriver-3.0.19.tgz", - "integrity": "sha512-OFUilxQg+rWL2FMxtmIgCkUDlJB6pskkpvmew7yeXfzzsOBb5rc+y2+DjHm+r3r1ZPPcJefK3DveNSYWGiy68g==", - "dev": true + "@babel/plugin-proposal-object-rest-spread": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.18.0.tgz", + "integrity": "sha512-nbTv371eTrFabDfHLElkn9oyf9VG+VKK6WMzhY2o4eHKaG19BToD9947zzGMO6I/Irstx9d8CwX6njPNIAR/yw==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.17.10", + "@babel/helper-compilation-targets": "^7.17.10", + "@babel/helper-plugin-utils": "^7.17.12", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.17.12" + } }, - "@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 + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + } }, - "@types/webpack-sources": { - "version": "0.1.9", - "resolved": "https://registry.npmjs.org/@types/webpack-sources/-/webpack-sources-0.1.9.tgz", - "integrity": "sha512-bvzMnzqoK16PQIC8AYHNdW45eREJQMd6WG/msQWX5V2+vZmODCOPb4TJcbgRljTZZTwTM4wUMcsI8FftNA7new==", + "@babel/plugin-proposal-optional-chaining": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.17.12.tgz", + "integrity": "sha512-7wigcOs/Z4YWlK7xxjkvaIw84vGhDv/P1dFGQap0nHkc8gFKY/r+hXc8Qzf5k1gY7CvGIcHqAnOagVKJJ1wVOQ==", "dev": true, "requires": { - "@types/node": "*", - "@types/source-list-map": "*", - "source-map": "^0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } + "@babel/helper-plugin-utils": "^7.17.12", + "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" } }, - "@typescript-eslint/eslint-plugin": { - "version": "4.16.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.16.1.tgz", - "integrity": "sha512-SK777klBdlkUZpZLC1mPvyOWk9yAFCWmug13eAjVQ4/Q1LATE/NbcQL1xDHkptQkZOLnPmLUA1Y54m8dqYwnoQ==", + "@babel/plugin-proposal-private-methods": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.17.12.tgz", + "integrity": "sha512-SllXoxo19HmxhDWm3luPz+cPhtoTSKLJE9PXshsfrOzBqs60QP0r8OaJItrPhAj0d7mZMnNF0Y1UUggCDgMz1A==", "dev": true, "requires": { - "@typescript-eslint/experimental-utils": "4.16.1", - "@typescript-eslint/scope-manager": "4.16.1", - "debug": "^4.1.1", - "functional-red-black-tree": "^1.0.1", - "lodash": "^4.17.15", - "regexpp": "^3.0.0", - "semver": "^7.3.2", - "tsutils": "^3.17.1" - }, - "dependencies": { - "@typescript-eslint/experimental-utils": { - "version": "4.16.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.16.1.tgz", - "integrity": "sha512-0Hm3LSlMYFK17jO4iY3un1Ve9x1zLNn4EM50Lia+0EV99NdbK+cn0er7HC7IvBA23mBg3P+8dUkMXy4leL33UQ==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.3", - "@typescript-eslint/scope-manager": "4.16.1", - "@typescript-eslint/types": "4.16.1", - "@typescript-eslint/typescript-estree": "4.16.1", - "eslint-scope": "^5.0.0", - "eslint-utils": "^2.0.0" - } - }, - "@typescript-eslint/types": { - "version": "4.16.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.16.1.tgz", - "integrity": "sha512-nnKqBwMgRlhzmJQF8tnFDZWfunXmJyuXj55xc8Kbfup4PbkzdoDXZvzN8//EiKR27J6vUSU8j4t37yUuYPiLqA==", - "dev": true - }, - "@typescript-eslint/typescript-estree": { - "version": "4.16.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.16.1.tgz", - "integrity": "sha512-m8I/DKHa8YbeHt31T+UGd/l8Kwr0XCTCZL3H4HMvvLCT7HU9V7yYdinTOv1gf/zfqNeDcCgaFH2BMsS8x6NvJg==", - "dev": true, - "requires": { - "@typescript-eslint/types": "4.16.1", - "@typescript-eslint/visitor-keys": "4.16.1", - "debug": "^4.1.1", - "globby": "^11.0.1", - "is-glob": "^4.0.1", - "semver": "^7.3.2", - "tsutils": "^3.17.1" - } - } + "@babel/helper-create-class-features-plugin": "^7.17.12", + "@babel/helper-plugin-utils": "^7.17.12" } }, - "@typescript-eslint/experimental-utils": { - "version": "4.23.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.23.0.tgz", - "integrity": "sha512-WAFNiTDnQfrF3Z2fQ05nmCgPsO5o790vOhmWKXbbYQTO9erE1/YsFot5/LnOUizLzU2eeuz6+U/81KV5/hFTGA==", + "@babel/plugin-proposal-private-property-in-object": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.17.12.tgz", + "integrity": "sha512-/6BtVi57CJfrtDNKfK5b66ydK2J5pXUKBKSPD2G1whamMuEnZWgoOIfO8Vf9F/DoD4izBLD/Au4NMQfruzzykg==", "dev": true, "requires": { - "@types/json-schema": "^7.0.3", - "@typescript-eslint/scope-manager": "4.23.0", - "@typescript-eslint/types": "4.23.0", - "@typescript-eslint/typescript-estree": "4.23.0", - "eslint-scope": "^5.0.0", - "eslint-utils": "^2.0.0" - }, - "dependencies": { - "@typescript-eslint/scope-manager": { - "version": "4.23.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.23.0.tgz", - "integrity": "sha512-ZZ21PCFxPhI3n0wuqEJK9omkw51wi2bmeKJvlRZPH5YFkcawKOuRMQMnI8mH6Vo0/DoHSeZJnHiIx84LmVQY+w==", - "dev": true, - "requires": { - "@typescript-eslint/types": "4.23.0", - "@typescript-eslint/visitor-keys": "4.23.0" - } - }, - "@typescript-eslint/visitor-keys": { - "version": "4.23.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.23.0.tgz", - "integrity": "sha512-5PNe5cmX9pSifit0H+nPoQBXdbNzi5tOEec+3riK+ku4e3er37pKxMKDH5Ct5Y4fhWxcD4spnlYjxi9vXbSpwg==", - "dev": true, - "requires": { - "@typescript-eslint/types": "4.23.0", - "eslint-visitor-keys": "^2.0.0" - } - } + "@babel/helper-annotate-as-pure": "^7.16.7", + "@babel/helper-create-class-features-plugin": "^7.17.12", + "@babel/helper-plugin-utils": "^7.17.12", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" } }, - "@typescript-eslint/parser": { - "version": "4.16.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.16.1.tgz", - "integrity": "sha512-/c0LEZcDL5y8RyI1zLcmZMvJrsR6SM1uetskFkoh3dvqDKVXPsXI+wFB/CbVw7WkEyyTKobC1mUNp/5y6gRvXg==", + "@babel/plugin-proposal-unicode-property-regex": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.17.12.tgz", + "integrity": "sha512-Wb9qLjXf3ZazqXA7IvI7ozqRIXIGPtSo+L5coFmEkhTQK18ao4UDDD0zdTGAarmbLj2urpRwrc6893cu5Bfh0A==", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "4.16.1", - "@typescript-eslint/types": "4.16.1", - "@typescript-eslint/typescript-estree": "4.16.1", - "debug": "^4.1.1" - }, - "dependencies": { - "@typescript-eslint/types": { - "version": "4.16.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.16.1.tgz", - "integrity": "sha512-nnKqBwMgRlhzmJQF8tnFDZWfunXmJyuXj55xc8Kbfup4PbkzdoDXZvzN8//EiKR27J6vUSU8j4t37yUuYPiLqA==", - "dev": true - }, - "@typescript-eslint/typescript-estree": { - "version": "4.16.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.16.1.tgz", - "integrity": "sha512-m8I/DKHa8YbeHt31T+UGd/l8Kwr0XCTCZL3H4HMvvLCT7HU9V7yYdinTOv1gf/zfqNeDcCgaFH2BMsS8x6NvJg==", - "dev": true, - "requires": { - "@typescript-eslint/types": "4.16.1", - "@typescript-eslint/visitor-keys": "4.16.1", - "debug": "^4.1.1", - "globby": "^11.0.1", - "is-glob": "^4.0.1", - "semver": "^7.3.2", - "tsutils": "^3.17.1" - } - } + "@babel/helper-create-regexp-features-plugin": "^7.17.12", + "@babel/helper-plugin-utils": "^7.17.12" } }, - "@typescript-eslint/scope-manager": { - "version": "4.16.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.16.1.tgz", - "integrity": "sha512-6IlZv9JaurqV0jkEg923cV49aAn8V6+1H1DRfhRcvZUrptQ+UtSKHb5kwTayzOYTJJ/RsYZdcvhOEKiBLyc0Cw==", + "@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, "requires": { - "@typescript-eslint/types": "4.16.1", - "@typescript-eslint/visitor-keys": "4.16.1" - }, - "dependencies": { - "@typescript-eslint/types": { - "version": "4.16.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.16.1.tgz", - "integrity": "sha512-nnKqBwMgRlhzmJQF8tnFDZWfunXmJyuXj55xc8Kbfup4PbkzdoDXZvzN8//EiKR27J6vUSU8j4t37yUuYPiLqA==", - "dev": true - } + "@babel/helper-plugin-utils": "^7.8.0" } }, - "@typescript-eslint/types": { - "version": "4.23.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.23.0.tgz", - "integrity": "sha512-oqkNWyG2SLS7uTWLZf6Sr7Dm02gA5yxiz1RP87tvsmDsguVATdpVguHr4HoGOcFOpCvx9vtCSCyQUGfzq28YCw==", - "dev": true + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.12.13" + } }, - "@typescript-eslint/typescript-estree": { - "version": "4.23.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.23.0.tgz", - "integrity": "sha512-5Sty6zPEVZF5fbvrZczfmLCOcby3sfrSPu30qKoY1U3mca5/jvU5cwsPb/CO6Q3ByRjixTMIVsDkqwIxCf/dMw==", + "@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": { - "@typescript-eslint/types": "4.23.0", - "@typescript-eslint/visitor-keys": "4.23.0", - "debug": "^4.1.1", - "globby": "^11.0.1", - "is-glob": "^4.0.1", - "semver": "^7.3.2", - "tsutils": "^3.17.1" - }, - "dependencies": { - "@typescript-eslint/visitor-keys": { - "version": "4.23.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.23.0.tgz", - "integrity": "sha512-5PNe5cmX9pSifit0H+nPoQBXdbNzi5tOEec+3riK+ku4e3er37pKxMKDH5Ct5Y4fhWxcD4spnlYjxi9vXbSpwg==", - "dev": true, - "requires": { - "@typescript-eslint/types": "4.23.0", - "eslint-visitor-keys": "^2.0.0" - } - } + "@babel/helper-plugin-utils": "^7.14.5" } }, - "@typescript-eslint/visitor-keys": { - "version": "4.16.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.16.1.tgz", - "integrity": "sha512-s/aIP1XcMkEqCNcPQtl60ogUYjSM8FU2mq1O7y5cFf3Xcob1z1iXWNB6cC43Op+NGRTFgGolri6s8z/efA9i1w==", + "@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, "requires": { - "@typescript-eslint/types": "4.16.1", - "eslint-visitor-keys": "^2.0.0" - }, - "dependencies": { - "@typescript-eslint/types": { - "version": "4.16.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.16.1.tgz", - "integrity": "sha512-nnKqBwMgRlhzmJQF8tnFDZWfunXmJyuXj55xc8Kbfup4PbkzdoDXZvzN8//EiKR27J6vUSU8j4t37yUuYPiLqA==", - "dev": true - } + "@babel/helper-plugin-utils": "^7.8.0" } }, - "@webassemblyjs/ast": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.0.tgz", - "integrity": "sha512-kX2W49LWsbthrmIRMbQZuQDhGtjyqXfEmmHyEi4XWnSZtPmxY0+3anPIzsnRb45VH/J55zlOfWvZuY47aJZTJg==", + "@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, "requires": { - "@webassemblyjs/helper-numbers": "1.11.0", - "@webassemblyjs/helper-wasm-bytecode": "1.11.0" + "@babel/helper-plugin-utils": "^7.8.3" } }, - "@webassemblyjs/floating-point-hex-parser": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.0.tgz", - "integrity": "sha512-Q/aVYs/VnPDVYvsCBL/gSgwmfjeCb4LW8+TMrO3cSzJImgv8lxxEPM2JA5jMrivE7LSz3V+PFqtMbls3m1exDA==", - "dev": true - }, - "@webassemblyjs/helper-api-error": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.0.tgz", - "integrity": "sha512-baT/va95eXiXb2QflSx95QGT5ClzWpGaa8L7JnJbgzoYeaA27FCvuBXU758l+KXWRndEmUXjP0Q5fibhavIn8w==", - "dev": true - }, - "@webassemblyjs/helper-buffer": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.0.tgz", - "integrity": "sha512-u9HPBEl4DS+vA8qLQdEQ6N/eJQ7gT7aNvMIo8AAWvAl/xMrcOSiI2M0MAnMCy3jIFke7bEee/JwdX1nUpCtdyA==", - "dev": true - }, - "@webassemblyjs/helper-numbers": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.0.tgz", - "integrity": "sha512-DhRQKelIj01s5IgdsOJMKLppI+4zpmcMQ3XboFPLwCpSNH6Hqo1ritgHgD0nqHeSYqofA6aBN/NmXuGjM1jEfQ==", + "@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, "requires": { - "@webassemblyjs/floating-point-hex-parser": "1.11.0", - "@webassemblyjs/helper-api-error": "1.11.0", - "@xtuc/long": "4.2.2" + "@babel/helper-plugin-utils": "^7.8.0" } }, - "@webassemblyjs/helper-wasm-bytecode": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.0.tgz", - "integrity": "sha512-MbmhvxXExm542tWREgSFnOVo07fDpsBJg3sIl6fSp9xuu75eGz5lz31q7wTLffwL3Za7XNRCMZy210+tnsUSEA==", - "dev": true - }, - "@webassemblyjs/helper-wasm-section": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.0.tgz", - "integrity": "sha512-3Eb88hcbfY/FCukrg6i3EH8H2UsD7x8Vy47iVJrP967A9JGqgBVL9aH71SETPx1JrGsOUVLo0c7vMCN22ytJew==", + "@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, "requires": { - "@webassemblyjs/ast": "1.11.0", - "@webassemblyjs/helper-buffer": "1.11.0", - "@webassemblyjs/helper-wasm-bytecode": "1.11.0", - "@webassemblyjs/wasm-gen": "1.11.0" + "@babel/helper-plugin-utils": "^7.10.4" } }, - "@webassemblyjs/ieee754": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.0.tgz", - "integrity": "sha512-KXzOqpcYQwAfeQ6WbF6HXo+0udBNmw0iXDmEK5sFlmQdmND+tr773Ti8/5T/M6Tl/413ArSJErATd8In3B+WBA==", + "@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, "requires": { - "@xtuc/ieee754": "^1.2.0" + "@babel/helper-plugin-utils": "^7.8.0" } }, - "@webassemblyjs/leb128": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.0.tgz", - "integrity": "sha512-aqbsHa1mSQAbeeNcl38un6qVY++hh8OpCOzxhixSYgbRfNWcxJNJQwe2rezK9XEcssJbbWIkblaJRwGMS9zp+g==", + "@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, "requires": { - "@xtuc/long": "4.2.2" + "@babel/helper-plugin-utils": "^7.10.4" } }, - "@webassemblyjs/utf8": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.0.tgz", - "integrity": "sha512-A/lclGxH6SpSLSyFowMzO/+aDEPU4hvEiooCMXQPcQFPPJaYcPQNKGOCLUySJsYJ4trbpr+Fs08n4jelkVTGVw==", - "dev": true + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } }, - "@webassemblyjs/wasm-edit": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.0.tgz", - "integrity": "sha512-JHQ0damXy0G6J9ucyKVXO2j08JVJ2ntkdJlq1UTiUrIgfGMmA7Ik5VdC/L8hBK46kVJgujkBIoMtT8yVr+yVOQ==", + "@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, "requires": { - "@webassemblyjs/ast": "1.11.0", - "@webassemblyjs/helper-buffer": "1.11.0", - "@webassemblyjs/helper-wasm-bytecode": "1.11.0", - "@webassemblyjs/helper-wasm-section": "1.11.0", - "@webassemblyjs/wasm-gen": "1.11.0", - "@webassemblyjs/wasm-opt": "1.11.0", - "@webassemblyjs/wasm-parser": "1.11.0", - "@webassemblyjs/wast-printer": "1.11.0" + "@babel/helper-plugin-utils": "^7.8.0" } }, - "@webassemblyjs/wasm-gen": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.0.tgz", - "integrity": "sha512-BEUv1aj0WptCZ9kIS30th5ILASUnAPEvE3tVMTrItnZRT9tXCLW2LEXT8ezLw59rqPP9klh9LPmpU+WmRQmCPQ==", + "@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, "requires": { - "@webassemblyjs/ast": "1.11.0", - "@webassemblyjs/helper-wasm-bytecode": "1.11.0", - "@webassemblyjs/ieee754": "1.11.0", - "@webassemblyjs/leb128": "1.11.0", - "@webassemblyjs/utf8": "1.11.0" + "@babel/helper-plugin-utils": "^7.8.0" } }, - "@webassemblyjs/wasm-opt": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.0.tgz", - "integrity": "sha512-tHUSP5F4ywyh3hZ0+fDQuWxKx3mJiPeFufg+9gwTpYp324mPCQgnuVKwzLTZVqj0duRDovnPaZqDwoyhIO8kYg==", + "@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": { - "@webassemblyjs/ast": "1.11.0", - "@webassemblyjs/helper-buffer": "1.11.0", - "@webassemblyjs/wasm-gen": "1.11.0", - "@webassemblyjs/wasm-parser": "1.11.0" + "@babel/helper-plugin-utils": "^7.14.5" } }, - "@webassemblyjs/wasm-parser": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.0.tgz", - "integrity": "sha512-6L285Sgu9gphrcpDXINvm0M9BskznnzJTE7gYkjDbxET28shDqp27wpruyx3C2S/dvEwiigBwLA1cz7lNUi0kw==", + "@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, "requires": { - "@webassemblyjs/ast": "1.11.0", - "@webassemblyjs/helper-api-error": "1.11.0", - "@webassemblyjs/helper-wasm-bytecode": "1.11.0", - "@webassemblyjs/ieee754": "1.11.0", - "@webassemblyjs/leb128": "1.11.0", - "@webassemblyjs/utf8": "1.11.0" + "@babel/helper-plugin-utils": "^7.14.5" } }, - "@webassemblyjs/wast-printer": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.0.tgz", - "integrity": "sha512-Fg5OX46pRdTgB7rKIUojkh9vXaVN6sGYCnEiJN1GYkb0RPwShZXp6KTDqmoMdQPKhcroOXh3fEzmkWmCYaKYhQ==", + "@babel/plugin-transform-arrow-functions": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.17.12.tgz", + "integrity": "sha512-PHln3CNi/49V+mza4xMwrg+WGYevSF1oaiXaC2EQfdp4HWlSjRsrDXWJiQBKpP7749u6vQ9mcry2uuFOv5CXvA==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.11.0", - "@xtuc/long": "4.2.2" + "@babel/helper-plugin-utils": "^7.17.12" } }, - "@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 + "@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, + "requires": { + "@babel/helper-module-imports": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-remap-async-to-generator": "^7.16.8" + } }, - "@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 + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.16.7" + } }, - "@yarnpkg/lockfile": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz", - "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==", - "dev": true + "@babel/plugin-transform-block-scoping": { + "version": "7.18.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.18.4.tgz", + "integrity": "sha512-+Hq10ye+jlvLEogSOtq4mKvtk7qwcUQ1f0Mrueai866C82f844Yom2cttfJdMdqRLTxWpsbfbkIkOIfovyUQXw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.17.12" + } }, - "abab": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz", - "integrity": "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==", - "dev": true + "@babel/plugin-transform-classes": { + "version": "7.18.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.18.4.tgz", + "integrity": "sha512-e42NSG2mlKWgxKUAD9EJJSkZxR67+wZqzNxLSpc51T8tRU5SLFHsPmgYR5yr7sdgX4u+iHA1C5VafJ6AyImV3A==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.16.7", + "@babel/helper-environment-visitor": "^7.18.2", + "@babel/helper-function-name": "^7.17.9", + "@babel/helper-optimise-call-expression": "^7.16.7", + "@babel/helper-plugin-utils": "^7.17.12", + "@babel/helper-replace-supers": "^7.18.2", + "@babel/helper-split-export-declaration": "^7.16.7", + "globals": "^11.1.0" + } }, - "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 + "@babel/plugin-transform-computed-properties": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.17.12.tgz", + "integrity": "sha512-a7XINeplB5cQUWMg1E/GI1tFz3LfK021IjV1rj1ypE+R7jHm+pIHmHl25VNkZxtx9uuYp7ThGk8fur1HHG7PgQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.17.12" + } }, - "accepts": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", - "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", + "@babel/plugin-transform-destructuring": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.18.0.tgz", + "integrity": "sha512-Mo69klS79z6KEfrLg/1WkmVnB8javh75HX4pi2btjvlIoasuxilEyjtsQW6XPrubNd7AQy0MMaNIaQE4e7+PQw==", "dev": true, "requires": { - "mime-types": "~2.1.24", - "negotiator": "0.6.2" + "@babel/helper-plugin-utils": "^7.17.12" } }, - "acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", - "dev": true + "@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, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" + } }, - "acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "@babel/plugin-transform-duplicate-keys": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.17.12.tgz", + "integrity": "sha512-EA5eYFUG6xeerdabina/xIoB95jJ17mAkR8ivx6ZSu9frKShBjpOGZPn511MTDTkiCO+zXnzNczvUM69YSf3Zw==", "dev": true, - "requires": {} + "requires": { + "@babel/helper-plugin-utils": "^7.17.12" + } }, - "adjust-sourcemap-loader": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-4.0.0.tgz", - "integrity": "sha512-OXwN5b9pCUXNQHJpwwD2qP40byEmSgzj8B4ydSN0uMNYWiFmJ6x6KwUllMmfk8Rwu/HJDFR7U8ubsWBoN0Xp0A==", + "@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, "requires": { - "loader-utils": "^2.0.0", - "regex-parser": "^2.2.11" + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" } }, - "adm-zip": { - "version": "0.4.16", - "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.16.tgz", - "integrity": "sha512-TFi4HBKSGfIKsK5YCkKaaFG2m4PEDyViZmEwof3MTIgzimHLto6muaHVpbrljdIvIrFZzEq/p4nafOeLcYegrg==", - "dev": true + "@babel/plugin-transform-for-of": { + "version": "7.18.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.1.tgz", + "integrity": "sha512-+TTB5XwvJ5hZbO8xvl2H4XaMDOAK57zF4miuC9qQJgysPNEAZZ9Z69rdF5LJkozGdZrjBIUAIyKUWRMmebI7vg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.17.12" + } }, - "agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "@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, "requires": { - "debug": "4" + "@babel/helper-compilation-targets": "^7.16.7", + "@babel/helper-function-name": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" } }, - "agentkeepalive": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.1.4.tgz", - "integrity": "sha512-+V/rGa3EuU74H6wR04plBb7Ks10FbtUQgRj/FQOG7uUIEuaINI+AiqJR1k6t3SVNs7o7ZjIdus6706qqzVq8jQ==", + "@babel/plugin-transform-literals": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.17.12.tgz", + "integrity": "sha512-8iRkvaTjJciWycPIZ9k9duu663FT7VrBdNqNgxnVXEFwOIp55JWcZd23VBRySYbnS3PwQ3rGiabJBBBGj5APmQ==", "dev": true, "requires": { - "debug": "^4.1.0", - "depd": "^1.1.2", - "humanize-ms": "^1.2.1" + "@babel/helper-plugin-utils": "^7.17.12" } }, - "aggregate-error": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "@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, "requires": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" + "@babel/helper-plugin-utils": "^7.16.7" } }, - "ajv": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.2.0.tgz", - "integrity": "sha512-WSNGFuyWd//XO8n/m/EaOlNLtO0yL8EXT/74LqT4khdhpZjP7lkj/kT5uwRmGitKEVp/Oj7ZUHeGfPtgHhQ5CA==", + "@babel/plugin-transform-modules-amd": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.18.0.tgz", + "integrity": "sha512-h8FjOlYmdZwl7Xm2Ug4iX2j7Qy63NANI+NQVWQzv6r25fqgg7k2dZl03p95kvqNclglHs4FZ+isv4p1uXMA+QA==", "dev": true, "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" + "@babel/helper-module-transforms": "^7.18.0", + "@babel/helper-plugin-utils": "^7.17.12", + "babel-plugin-dynamic-import-node": "^2.3.3" } }, - "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==", + "@babel/plugin-transform-modules-commonjs": { + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.18.2.tgz", + "integrity": "sha512-f5A865gFPAJAEE0K7F/+nm5CmAE3y8AWlMBG9unu5j9+tk50UQVK0QS8RNxSp7MJf0wh97uYyLWt3Zvu71zyOQ==", "dev": true, - "requires": {} + "requires": { + "@babel/helper-module-transforms": "^7.18.0", + "@babel/helper-plugin-utils": "^7.17.12", + "@babel/helper-simple-access": "^7.18.2", + "babel-plugin-dynamic-import-node": "^2.3.3" + } }, - "ajv-formats": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.0.2.tgz", - "integrity": "sha512-Brah4Uo5/U8v76c6euTwtjVFFaVishwnJrQBYpev1JRh4vjA1F4HY3UzQez41YUCszUCXKagG8v6eVRBHV1gkw==", + "@babel/plugin-transform-modules-systemjs": { + "version": "7.18.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.18.5.tgz", + "integrity": "sha512-SEewrhPpcqMF1V7DhnEbhVJLrC+nnYfe1E0piZMZXBpxi9WvZqWGwpsk7JYP7wPWeqaBh4gyKlBhHJu3uz5g4Q==", "dev": true, "requires": { - "ajv": "^8.0.0" + "@babel/helper-hoist-variables": "^7.16.7", + "@babel/helper-module-transforms": "^7.18.0", + "@babel/helper-plugin-utils": "^7.17.12", + "@babel/helper-validator-identifier": "^7.16.7", + "babel-plugin-dynamic-import-node": "^2.3.3" } }, - "alphanum-sort": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz", - "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=", - "dev": true + "@babel/plugin-transform-modules-umd": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.0.tgz", + "integrity": "sha512-d/zZ8I3BWli1tmROLxXLc9A6YXvGK8egMxHp+E/rRwMh1Kip0AP77VwZae3snEJ33iiWwvNv2+UIIhfalqhzZA==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.18.0", + "@babel/helper-plugin-utils": "^7.17.12" + } }, - "ansi-colors": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", - "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", - "dev": true + "@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.17.12.tgz", + "integrity": "sha512-vWoWFM5CKaTeHrdUJ/3SIOTRV+MBVGybOC9mhJkaprGNt5demMymDW24yC74avb915/mIRe3TgNb/d8idvnCRA==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.17.12", + "@babel/helper-plugin-utils": "^7.17.12" + } }, - "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==", + "@babel/plugin-transform-new-target": { + "version": "7.18.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.5.tgz", + "integrity": "sha512-TuRL5uGW4KXU6OsRj+mLp9BM7pO8e7SGNTEokQRRxHFkXYMFiy2jlKSZPFtI/mKORDzciH+hneskcSOp0gU8hg==", "dev": true, "requires": { - "type-fest": "^0.21.3" + "@babel/helper-plugin-utils": "^7.17.12" } }, - "ansi-html": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz", - "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=", - "dev": true + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-replace-supers": "^7.16.7" + } }, - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "dev": true + "@babel/plugin-transform-parameters": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.17.12.tgz", + "integrity": "sha512-6qW4rWo1cyCdq1FkYri7AHpauchbGLXpdwnYsfxFb+KtddHENfsY5JZb35xUwkK5opOLcJ3BNd2l7PhRYGlwIA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.17.12" + } }, - "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==", + "@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, "requires": { - "color-convert": "^1.9.0" + "@babel/helper-plugin-utils": "^7.16.7" } }, - "anymatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", - "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "@babel/plugin-transform-regenerator": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.18.0.tgz", + "integrity": "sha512-C8YdRw9uzx25HSIzwA7EM7YP0FhCe5wNvJbZzjVNHHPGVcDJ3Aie+qGYYdS1oVQgn+B3eAIJbWFLrJ4Jipv7nw==", "dev": true, "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" + "@babel/helper-plugin-utils": "^7.17.12", + "regenerator-transform": "^0.15.0" } }, - "aproba": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", - "dev": true + "@babel/plugin-transform-reserved-words": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.17.12.tgz", + "integrity": "sha512-1KYqwbJV3Co03NIi14uEHW8P50Md6KqFgt0FfpHdK6oyAHQVTosgPuPSiWud1HX0oYJ1hGRRlk0fP87jFpqXZA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.17.12" + } }, - "are-we-there-yet": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", - "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", + "@babel/plugin-transform-runtime": { + "version": "7.16.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.16.10.tgz", + "integrity": "sha512-9nwTiqETv2G7xI4RvXHNfpGdr8pAA+Q/YtN3yLK7OoK7n9OibVm/xymJ838a9A6E/IciOLPj82lZk0fW6O4O7w==", "dev": true, "requires": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" + "@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" }, "dependencies": { - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "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" - } + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true } } }, - "arg": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", - "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", - "dev": true - }, - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "@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, "requires": { - "sprintf-js": "~1.0.2" + "@babel/helper-plugin-utils": "^7.16.7" } }, - "aria-query": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-4.2.2.tgz", - "integrity": "sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA==", + "@babel/plugin-transform-spread": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.17.12.tgz", + "integrity": "sha512-9pgmuQAtFi3lpNUstvG9nGfk9DkrdmWNp9KeKPFmuZCpEnxRzYlS8JgwPjYj+1AWDOSvoGN0H30p1cBOmT/Svg==", "dev": true, "requires": { - "@babel/runtime": "^7.10.2", - "@babel/runtime-corejs3": "^7.10.2" + "@babel/helper-plugin-utils": "^7.17.12", + "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0" } }, - "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 - }, - "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 - }, - "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 - }, - "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 - }, - "array-includes": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.3.tgz", - "integrity": "sha512-gcem1KlBU7c9rB+Rq8/3PPKsK2kjqeEBa3bD5kkQo4nYlOHQCJqIJFqBXDEfwaRuYTT4E+FxA9xez7Gf/e3Q7A==", + "@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, "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.2", - "get-intrinsic": "^1.1.1", - "is-string": "^1.0.5" + "@babel/helper-plugin-utils": "^7.16.7" } }, - "array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "dev": true - }, - "array-uniq": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", - "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", - "dev": true - }, - "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 - }, - "array.prototype.flat": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.4.tgz", - "integrity": "sha512-4470Xi3GAPAjZqFcljX2xzckv1qeKPizoNkiS0+O4IoPR2ZNpcjE0pkhdihlDouK+x6QOast26B4Q/O9DJnwSg==", + "@babel/plugin-transform-template-literals": { + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.2.tgz", + "integrity": "sha512-/cmuBVw9sZBGZVOMkpAEaVLwm4JmK2GZ1dFKOGGpMzEHWFmyZZ59lUU0PdRr8YNYeQdNzTDwuxP2X2gzydTc9g==", "dev": true, "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.1" + "@babel/helper-plugin-utils": "^7.17.12" } }, - "arrify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", - "dev": true - }, - "asn1": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", - "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", + "@babel/plugin-transform-typeof-symbol": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.17.12.tgz", + "integrity": "sha512-Q8y+Jp7ZdtSPXCThB6zjQ74N3lj0f6TDh1Hnf5B+sYlzQ8i5Pjp8gW0My79iekSpT4WnI06blqP6DT0OmaXXmw==", "dev": true, "requires": { - "safer-buffer": "~2.1.0" + "@babel/helper-plugin-utils": "^7.17.12" } }, - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true - }, - "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 - }, - "astral-regex": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", - "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", - "dev": true - }, - "async": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", - "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", + "@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, "requires": { - "lodash": "^4.17.14" + "@babel/helper-plugin-utils": "^7.16.7" } }, - "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 - }, - "async-limiter": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", - "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==", - "dev": true - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", - "dev": true + "@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, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" + } }, - "at-least-node": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", - "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", - "dev": true + "@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, + "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", + "@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" + }, + "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 + } + } }, - "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 + "@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, + "requires": { + "@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" + } }, - "autoprefixer": { - "version": "9.8.6", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.6.tgz", - "integrity": "sha512-XrvP4VVHdRBCdX1S3WXVD8+RyG9qeb1D5Sn1DeLiG2xfSpzellk5k54xbUERJ3M5DggQxes39UGOTP8CFrEGbg==", + "@babel/register": { + "version": "7.17.7", + "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.17.7.tgz", + "integrity": "sha512-fg56SwvXRifootQEDQAu1mKdjh5uthPzdO0N6t358FktfL4XjAVXuH58ULoiW8mesxiOgNIrxiImqEwv0+hRRA==", "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", - "postcss": "^7.0.32", - "postcss-value-parser": "^4.1.0" + "clone-deep": "^4.0.1", + "find-cache-dir": "^2.0.0", + "make-dir": "^2.1.0", + "pirates": "^4.0.5", + "source-map-support": "^0.5.16" }, "dependencies": { - "colorette": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz", - "integrity": "sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==", - "dev": true + "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, + "requires": { + "commondir": "^1.0.1", + "make-dir": "^2.0.0", + "pkg-dir": "^3.0.0" + } + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "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, + "requires": { + "pify": "^4.0.1", + "semver": "^5.6.0" + } }, - "postcss": { - "version": "7.0.36", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", - "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" + "p-try": "^2.0.0" } }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", "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==", + "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, "requires": { - "has-flag": "^3.0.0" + "find-up": "^3.0.0" } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true } } }, - "aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", - "dev": true - }, - "aws4": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", - "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==", - "dev": true + "@babel/runtime": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.16.7.tgz", + "integrity": "sha512-9E9FJowqAsytyOY6LG+1KuueckRL+aQW+mKvXRXnuFGyRAyepJPmEo9vgMfXUA6O9u3IeEdv9MAkppFcaQwogQ==", + "requires": { + "regenerator-runtime": "^0.13.4" + } }, - "axobject-query": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-2.2.0.tgz", - "integrity": "sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA==", - "dev": true + "@babel/runtime-corejs3": { + "version": "7.14.7", + "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.14.7.tgz", + "integrity": "sha512-Wvzcw4mBYbTagyBVZpAJWI06auSIj033T/yNE0Zn1xcup83MieCddZA7ls3kme17L4NOGBrQ09Q+nKB41RLWBA==", + "dev": true, + "requires": { + "core-js-pure": "^3.15.0", + "regenerator-runtime": "^0.13.4" + } }, - "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==", + "@babel/template": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.16.7.tgz", + "integrity": "sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==", "dev": true, "requires": { - "find-cache-dir": "^3.3.1", - "loader-utils": "^1.4.0", - "make-dir": "^3.1.0", - "schema-utils": "^2.6.5" + "@babel/code-frame": "^7.16.7", + "@babel/parser": "^7.16.7", + "@babel/types": "^7.16.7" + } + }, + "@babel/traverse": { + "version": "7.18.5", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.18.5.tgz", + "integrity": "sha512-aKXj1KT66sBj0vVzk6rEeAO6Z9aiiQ68wfDgge3nHhA/my6xMM/7HGQUNumKZaoa2qUPQ5whJG9aAifsxUKfLA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.16.7", + "@babel/generator": "^7.18.2", + "@babel/helper-environment-visitor": "^7.18.2", + "@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.18.5", + "@babel/types": "^7.18.4", + "debug": "^4.1.0", + "globals": "^11.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==", + "@babel/generator": { + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.18.2.tgz", + "integrity": "sha512-W1lG5vUwFvfMd8HVXqdfbuG7RuaSrTCCD8cl8fP8wOivdbtbIg2Db3IWUcgvfxKbbn6ZBGYRW/Zk1MIwK49mgw==", "dev": true, "requires": { - "minimist": "^1.2.0" + "@babel/types": "^7.18.2", + "@jridgewell/gen-mapping": "^0.3.0", + "jsesc": "^2.5.1" } }, - "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==", + "@jridgewell/gen-mapping": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.1.tgz", + "integrity": "sha512-GcHwniMlA2z+WFPWuY8lp3fsza0I8xPFMWL5+n8LYyP6PSvPrXf4+n8stDHZY2DM0zy9sVkRDy1jDI4XGzYVqg==", "dev": true, "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" + "@jridgewell/set-array": "^1.0.0", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" } } } }, - "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, - "requires": { - "object.assign": "^4.1.0" - } - }, - "babel-plugin-polyfill-corejs2": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.2.2.tgz", - "integrity": "sha512-kISrENsJ0z5dNPq5eRvcctITNHYXWOA4DUZRFYCz3jYCcvTb/A546LIddmoGNMVYg2U38OyFeNosQwI9ENTqIQ==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.13.11", - "@babel/helper-define-polyfill-provider": "^0.2.2", - "semver": "^6.1.1" - }, - "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 - } - } - }, - "babel-plugin-polyfill-corejs3": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.2.3.tgz", - "integrity": "sha512-rCOFzEIJpJEAU14XCcV/erIf/wZQMmMT5l5vXOpL5uoznyOGfDIjPj6FVytMvtzaKSTSVKouOCTPJ5OMUZH30g==", - "dev": true, - "requires": { - "@babel/helper-define-polyfill-provider": "^0.2.2", - "core-js-compat": "^3.14.0" - } - }, - "babel-plugin-polyfill-regenerator": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.2.2.tgz", - "integrity": "sha512-Goy5ghsc21HgPDFtzRkSirpZVW35meGoTmTOb2bxqdl60ghub4xOidgNTHaZfQ2FaxQsKmwvXtOAkcIS4SMBWg==", + "@babel/types": { + "version": "7.18.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.18.4.tgz", + "integrity": "sha512-ThN1mBcMq5pG/Vm2IcBmPPfyPXbd8S02rS+OBIDENdufvqC7Z/jHPCv9IcP01277aKtDI8g/2XysBN4hA8niiw==", "dev": true, "requires": { - "@babel/helper-define-polyfill-provider": "^0.2.2" + "@babel/helper-validator-identifier": "^7.16.7", + "to-fast-properties": "^2.0.0" } }, - "balanced-match": { + "@capacitor/app": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true + "resolved": "https://registry.npmjs.org/@capacitor/app/-/app-1.0.2.tgz", + "integrity": "sha512-P9PInUnUdkiqYk+7wzd51Oe6AzJ4KyKDRFVebDMGo7UgHFuK2ogDTDLabrv9XQUV1Zk2tXvpEoGmw46dd+2Img==", + "requires": {} }, - "base": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", - "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "@capacitor/cli": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@capacitor/cli/-/cli-3.1.1.tgz", + "integrity": "sha512-I8YF59WqxToujLH+Kn0k0rmGbmy/aTJGuSFXr7zKwCzBQPI4d6RST9aprvQI+7CTFIdcXIhMOz5XnEV1V/1FTA==", "dev": true, "requires": { - "cache-base": "^1.0.1", - "class-utils": "^0.3.5", - "component-emitter": "^1.2.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "mixin-deep": "^1.2.0", - "pascalcase": "^0.1.1" + "@ionic/cli-framework-output": "^2.2.1", + "@ionic/utils-fs": "^3.1.5", + "@ionic/utils-subprocess": "^2.1.6", + "@ionic/utils-terminal": "^2.3.0", + "commander": "^6.0.0", + "debug": "^4.2.0", + "env-paths": "^2.2.0", + "kleur": "^4.1.1", + "native-run": "^1.4.0", + "open": "^7.1.0", + "plist": "^3.0.2", + "prompts": "^2.3.2", + "semver": "^7.3.2", + "tar": "^6.0.5", + "tslib": "^2.1.0", + "xml2js": "^0.4.23" }, "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "commander": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", + "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==", + "dev": true + }, + "open": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/open/-/open-7.4.2.tgz", + "integrity": "sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==", "dev": true, "requires": { - "is-descriptor": "^1.0.0" + "is-docker": "^2.0.0", + "is-wsl": "^2.1.1" } } } }, - "base64-arraybuffer": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.4.tgz", - "integrity": "sha1-mBjHngWbE1X5fgQooBfIOOkLqBI=", - "dev": true - }, - "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 - }, - "base64id": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz", - "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==", - "dev": true - }, - "batch": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", - "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=", - "dev": true - }, - "bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", - "dev": true, + "@capacitor/core": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@capacitor/core/-/core-3.1.1.tgz", + "integrity": "sha512-VTOdy2GZPLxMGDmwXWfhQWoP7G+0XE8gx2er2uo8e8Y6K8YjT8bxqlOL4VJ8gC5X8Wq281SR4OsajzhdgDazgQ==", "requires": { - "tweetnacl": "^0.14.3" + "tslib": "^2.1.0" } }, - "big-integer": { - "version": "1.6.48", - "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.48.tgz", - "integrity": "sha512-j51egjPa7/i+RdiRuJbPdJ2FIUYYPhvYLjzoYbcMMm62ooO6F94fETG4MTs46zPAF9Brs04OajboA/qTGuz78w==", - "dev": true + "@capacitor/haptics": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@capacitor/haptics/-/haptics-1.0.2.tgz", + "integrity": "sha512-ex629YmC439cqJcBX0HRTLtQ5lRc+Grx2/EPDLPEK33aTMcwplOsY8IQdjKL2pmO44AX4BmYtztui14Mf89q/g==", + "requires": {} }, - "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 + "@capacitor/keyboard": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@capacitor/keyboard/-/keyboard-1.0.2.tgz", + "integrity": "sha512-JdIkYXfrfiuP/iLxO65GJe8rY+VcCoGesPzu/eMHRoWOuRyRcwjw9AtVOPyAXj4qPq1bbmGB8if/m2/R1S1X9A==", + "requires": {} }, - "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 + "@capacitor/status-bar": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@capacitor/status-bar/-/status-bar-1.0.2.tgz", + "integrity": "sha512-NgAZIw8Uq2lm6Ln1lWipAqi/YxqIDd92boO4k81Z1WMOdZJt6oLxZB8LfJRDLXU7xNkpW97zHcNBf5pIXJIFqw==", + "requires": {} }, - "bindings": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", - "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "@csstools/postcss-progressive-custom-properties": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-1.3.0.tgz", + "integrity": "sha512-ASA9W1aIy5ygskZYuWams4BzafD12ULvSypmaLJT2jvQ8G0M3I8PRQhC0h7mG0Z3LI05+agZjqSR9+K9yaQQjA==", "dev": true, - "optional": true, "requires": { - "file-uri-to-path": "1.0.0" + "postcss-value-parser": "^4.2.0" } }, - "bl": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "@csstools/selector-specificity": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-2.0.1.tgz", + "integrity": "sha512-aG20vknL4/YjQF9BSV7ts4EWm/yrjagAN7OWBNmlbEOUiu0llj4OGrFoOKK3g2vey4/p2omKCoHrWtPxSwV3HA==", "dev": true, - "requires": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - } + "requires": {} }, - "blocking-proxy": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/blocking-proxy/-/blocking-proxy-1.0.1.tgz", - "integrity": "sha512-KE8NFMZr3mN2E0HcvCgRtX7DjhiIQrwle+nSVJVC/yqFb9+xznHl2ZcoBp2L9qzkI4t4cBFJ1efXF8Dwi132RA==", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } + "@discoveryjs/json-ext": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.6.tgz", + "integrity": "sha512-ws57AidsDvREKrZKYffXddNkyaF14iHNHm8VQnZH6t99E8gczjNN0GpvcGny0imC80yQ0tHz1xVUKk/KFQSUyA==", + "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==", + "@duniter/core-types": { + "version": "file:../../../../../home/blavenie/git/duniter/lc-core-substrate/types-bundle/dist" + }, + "@eslint/eslintrc": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.2.tgz", + "integrity": "sha512-8nmGq/4ycLpIwzvhI4tNDmQztZ8sp+hI7cyG8i1nQDhkAbRzHpXPidRAHlNvCZQpJTKw5ItIpMw9RSToGF00mg==", "dev": true, "requires": { - "bytes": "3.1.0", - "content-type": "~1.0.4", - "debug": "2.6.9", - "depd": "~1.1.2", - "http-errors": "1.7.2", - "iconv-lite": "0.4.24", - "on-finished": "~2.3.0", - "qs": "6.7.0", - "raw-body": "2.4.0", - "type-is": "~1.6.17" + "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" }, "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dev": true, "requires": { - "ms": "2.0.0" + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" } }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "globals": { + "version": "13.10.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.10.0.tgz", + "integrity": "sha512-piHC3blgLGFjvOuMmWZX60f+na1lXFDhQXBf1UYp2fXPXqvEUbOhNwi6BsQ0bQishwedgnjkwv1d9zKf+MWw3g==", + "dev": true, + "requires": { + "type-fest": "^0.20.2" + } + }, + "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 + }, + "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 } } }, - "bonjour": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz", - "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=", - "dev": true, - "requires": { - "array-flatten": "^2.1.0", - "deep-equal": "^1.0.1", - "dns-equal": "^1.0.0", - "dns-txt": "^2.0.2", - "multicast-dns": "^6.0.1", - "multicast-dns-service-types": "^1.1.0" - } - }, - "boolbase": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", + "@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 }, - "bplist-parser": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.2.0.tgz", - "integrity": "sha512-z0M+byMThzQmD9NILRniCUXYsYpjwnlO8N5uCFaCqIOpqRsJCrQL9NK3JsD67CN5a08nF5oIL2bD6loTdHOuKw==", - "dev": true, - "requires": { - "big-integer": "^1.6.44" - } - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "@humanwhocodes/config-array": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz", + "integrity": "sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==", "dev": true, "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "@humanwhocodes/object-schema": "^1.2.0", + "debug": "^4.1.1", + "minimatch": "^3.0.4" } }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "requires": { - "fill-range": "^7.0.1" - } + "@humanwhocodes/object-schema": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.0.tgz", + "integrity": "sha512-wdppn25U8z/2yiaT6YGquE6X8sSv7hNMWSXYSSU1jGv/yd6XqjXgTDJ8KP4NgjTXfJ3GbRjeeb8RTV7a/VpM+w==", + "dev": true }, - "browserslist": { - "version": "4.16.6", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.6.tgz", - "integrity": "sha512-Wspk/PqO+4W9qp5iUTJsa1B/QrYn1keNCcEP5OvP7WBwT4KaDly0uONYmC6Xa3Z5IqnUgS0KcgLYu1l74x0ZXQ==", - "dev": true, + "@ionic/angular": { + "version": "5.6.11", + "resolved": "https://registry.npmjs.org/@ionic/angular/-/angular-5.6.11.tgz", + "integrity": "sha512-LMSN1W0DVM11uu8NaUt4hz5TdWyvepNSmj0bXyg3KxzJHA4aLwRXSirIxNH+ThRHDpqmU/r5zTuzvlfCKl8twg==", "requires": { - "caniuse-lite": "^1.0.30001219", - "colorette": "^1.2.2", - "electron-to-chromium": "^1.3.723", - "escalade": "^3.1.1", - "node-releases": "^1.1.71" + "@ionic/core": "5.6.11", + "tslib": "^1.9.3" }, "dependencies": { - "colorette": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz", - "integrity": "sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==", - "dev": true + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" } } }, - "browserstack": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/browserstack/-/browserstack-1.6.1.tgz", - "integrity": "sha512-GxtFjpIaKdbAyzHfFDKixKO8IBT7wR3NjbzrGc78nNs/Ciys9wU3/nBtsqsWv5nDSrdI5tz0peKuzCPuNXNUiw==", + "@ionic/angular-toolkit": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@ionic/angular-toolkit/-/angular-toolkit-4.0.0.tgz", + "integrity": "sha512-HGRAGUtc1YSwNZ/Q7X7c2QRyYM2AfsSm++OasPrMo3LnPRVr8OIsUih2ithEU7f3CXrViUR7j/Anu90zGsRgzg==", "dev": true, "requires": { - "https-proxy-agent": "^2.2.1" + "@schematics/angular": "^12.0.0", + "cheerio": "1.0.0-rc.3", + "colorette": "1.1.0", + "copy-webpack-plugin": "^6.2.1", + "tapable": "^2.1.1", + "tslib": "^2.0.3", + "ws": "^7.0.1" }, "dependencies": { - "agent-base": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz", - "integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==", + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dev": true, "requires": { - "es6-promisify": "^5.0.0" + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" } }, - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "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, + "requires": {} + }, + "copy-webpack-plugin": { + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-6.4.1.tgz", + "integrity": "sha512-MXyPCjdPVx5iiWyl40Va3JGh27bKzOTNY3NjUTrosD2q7dR/cLD0013uqJ3BpFbUjyONINjb6qI7nDIJujrMbA==", "dev": true, "requires": { - "ms": "^2.1.1" + "cacache": "^15.0.5", + "fast-glob": "^3.2.4", + "find-cache-dir": "^3.3.1", + "glob-parent": "^5.1.1", + "globby": "^11.0.1", + "loader-utils": "^2.0.0", + "normalize-path": "^3.0.0", + "p-limit": "^3.0.2", + "schema-utils": "^3.0.0", + "serialize-javascript": "^5.0.1", + "webpack-sources": "^1.4.3" } }, - "https-proxy-agent": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz", - "integrity": "sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg==", + "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 + }, + "schema-utils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.0.tgz", + "integrity": "sha512-tTEaeYkyIhEZ9uWgAjDerWov3T9MgX8dhhy2r0IGeeX4W8ngtGl1++dUve/RUqzuaASSh7shwCDJjEzthxki8w==", "dev": true, "requires": { - "agent-base": "^4.3.0", - "debug": "^3.1.0" + "@types/json-schema": "^7.0.7", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" } } } }, - "buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "@ionic/cli-framework-output": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/@ionic/cli-framework-output/-/cli-framework-output-2.2.2.tgz", + "integrity": "sha512-eQYkqIW1/tCwSC6Bd0gjse96U11lDX/ikf3jvsjX7a8z/zwSmGzCHRizb7xogV65Ey+1/zyAZR71cpDRQuFLBQ==", "dev": true, "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" + "@ionic/utils-terminal": "2.3.1", + "debug": "^4.0.0", + "tslib": "^2.0.1" } }, - "buffer-crc32": { - "version": "0.2.13", - "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", - "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=", - "dev": true - }, - "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==", - "dev": true - }, - "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 - }, - "builtins": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/builtins/-/builtins-1.0.3.tgz", - "integrity": "sha1-y5T662HIaWRR2zZTThQi+U8K7og=", - "dev": true - }, - "bytes": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", - "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", - "dev": true - }, - "cacache": { - "version": "15.0.6", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.0.6.tgz", - "integrity": "sha512-g1WYDMct/jzW+JdWEyjaX2zoBkZ6ZT9VpOyp2I/VMtDsNLffNat3kqPFfi1eDRSK9/SuKGyORDHcQMcPF8sQ/w==", - "dev": true, + "@ionic/core": { + "version": "5.6.11", + "resolved": "https://registry.npmjs.org/@ionic/core/-/core-5.6.11.tgz", + "integrity": "sha512-bWn2K3L/QWRUs8SBm+YJcgJhOO6W00eipfxJunlAr/7PbMePdqYnU+PQ2Cv54ufK3yUtLr2b0YdvZ9wZ6pGS3w==", "requires": { - "@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" + "@stencil/core": "^2.4.0", + "ionicons": "^5.5.1", + "tslib": "^2.1.0" } }, - "cache-base": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", - "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "@ionic/utils-array": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@ionic/utils-array/-/utils-array-2.1.5.tgz", + "integrity": "sha512-HD72a71IQVBmQckDwmA8RxNVMTbxnaLbgFOl+dO5tbvW9CkkSFCv41h6fUuNsSEVgngfkn0i98HDuZC8mk+lTA==", "dev": true, "requires": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" + "debug": "^4.0.0", + "tslib": "^2.0.1" } }, - "call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "@ionic/utils-fs": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/@ionic/utils-fs/-/utils-fs-3.1.5.tgz", + "integrity": "sha512-a41bY2dHqWSEQQ/80CpbXSs8McyiCFf2DnIWWLukrhYWf46h4qi6M/8dxcMKrofRiqI/3F+cL3S2mOm9Zz/o2Q==", "dev": true, "requires": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" + "debug": "^4.0.0", + "fs-extra": "^9.0.0", + "tslib": "^2.0.1" + }, + "dependencies": { + "fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true + } } }, - "callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true - }, - "camelcase": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz", - "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==", - "dev": true - }, - "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==", + "@ionic/utils-object": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@ionic/utils-object/-/utils-object-2.1.5.tgz", + "integrity": "sha512-XnYNSwfewUqxq+yjER1hxTKggftpNjFLJH0s37jcrNDwbzmbpFTQTVAp4ikNK4rd9DOebX/jbeZb8jfD86IYxw==", "dev": true, "requires": { - "browserslist": "^4.0.0", - "caniuse-lite": "^1.0.0", - "lodash.memoize": "^4.1.2", - "lodash.uniq": "^4.5.0" + "debug": "^4.0.0", + "tslib": "^2.0.1" } }, - "caniuse-lite": { - "version": "1.0.30001245", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001245.tgz", - "integrity": "sha512-768fM9j1PKXpOCKws6eTo3RHmvTUsG9UrpT4WoREFeZgJBTi4/X9g565azS/rVUGtqb8nt7FjLeF5u4kukERnA==", - "dev": true - }, - "canonical-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/canonical-path/-/canonical-path-1.0.0.tgz", - "integrity": "sha512-feylzsbDxi1gPZ1IjystzIQZagYYLvfKrSuygUCgf7z6x790VEzze5QEkdSV1U58RA7Hi0+v6fv4K54atOzATg==", - "dev": true - }, - "caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", - "dev": true - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "@ionic/utils-process": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/@ionic/utils-process/-/utils-process-2.1.8.tgz", + "integrity": "sha512-VBBoyTzi+m6tgKAItl+jiTQneGwTOsctcrTG4CsEgmVOVOEhUYkPhddXqzD+oC54hPDU9ROsd3I014P5CWEuhQ==", "dev": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "@ionic/utils-object": "2.1.5", + "@ionic/utils-terminal": "2.3.1", + "debug": "^4.0.0", + "signal-exit": "^3.0.3", + "tree-kill": "^1.2.2", + "tslib": "^2.0.1" } }, - "chardet": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", - "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", - "dev": true - }, - "cheerio": { - "version": "1.0.0-rc.3", - "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.3.tgz", - "integrity": "sha512-0td5ijfUPuubwLUu0OBoe98gZj8C/AA+RW3v67GPlGOrvxWjZmBXiBCRU+I8VEiNyJzjth40POfHiz2RB3gImA==", + "@ionic/utils-stream": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/@ionic/utils-stream/-/utils-stream-3.1.5.tgz", + "integrity": "sha512-hkm46uHvEC05X/8PHgdJi4l4zv9VQDELZTM+Kz69odtO9zZYfnt8DkfXHJqJ+PxmtiE5mk/ehJWLnn/XAczTUw==", "dev": true, "requires": { - "css-select": "~1.2.0", - "dom-serializer": "~0.1.1", - "entities": "~1.1.1", - "htmlparser2": "^3.9.1", - "lodash": "^4.15.0", - "parse5": "^3.0.1" + "debug": "^4.0.0", + "tslib": "^2.0.1" } }, - "chokidar": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz", - "integrity": "sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==", + "@ionic/utils-subprocess": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/@ionic/utils-subprocess/-/utils-subprocess-2.1.8.tgz", + "integrity": "sha512-pkmtf1LtXcEMPn6/cctREL2aZtZoy0+0Sl+nT0NIkOHIoBUcqrcfMWdctCSM4Mp6+2/hLWtgpHE3TOIibkWfIg==", "dev": true, "requires": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "fsevents": "~2.3.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" + "@ionic/utils-array": "2.1.5", + "@ionic/utils-fs": "3.1.5", + "@ionic/utils-process": "2.1.8", + "@ionic/utils-stream": "3.1.5", + "@ionic/utils-terminal": "2.3.1", + "cross-spawn": "^7.0.0", + "debug": "^4.0.0", + "tslib": "^2.0.1" } }, - "chownr": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", - "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", - "dev": true - }, - "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 - }, - "circular-dependency-plugin": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/circular-dependency-plugin/-/circular-dependency-plugin-5.2.2.tgz", - "integrity": "sha512-g38K9Cm5WRwlaH6g03B9OEz/0qRizI+2I7n+Gz+L5DxXJAPAiWQvwlYNm1V1jkdpUv95bOe/ASm2vfi/G560jQ==", + "@ionic/utils-terminal": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@ionic/utils-terminal/-/utils-terminal-2.3.1.tgz", + "integrity": "sha512-cglsSd2AckI3Ldtdfczeq64vIIDjtPspV5QJtky8f8uIdxkeOIGeRV7bCj1+BEf1hyo+ZuggQxLviHnbMZhiRw==", "dev": true, - "requires": {} + "requires": { + "debug": "^4.0.0", + "signal-exit": "^3.0.3", + "slice-ansi": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "tslib": "^2.0.1", + "untildify": "^4.0.0", + "wrap-ansi": "^7.0.0" + } }, - "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==", + "@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", "dev": true, "requires": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" }, "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + }, + "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, "requires": { - "is-descriptor": "^0.1.0" + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" } }, - "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=", + "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, "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } + "p-locate": "^4.1.0" } }, - "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=", + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } + "p-try": "^2.0.0" } }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "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, "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" + "p-limit": "^2.2.0" } }, - "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==", + "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 + }, + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", "dev": true } } }, - "clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", "dev": true }, - "cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "@jridgewell/gen-mapping": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", + "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", "dev": true, "requires": { - "restore-cursor": "^3.1.0" + "@jridgewell/set-array": "^1.0.0", + "@jridgewell/sourcemap-codec": "^1.4.10" } }, - "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==", + "@jridgewell/resolve-uri": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.7.tgz", + "integrity": "sha512-8cXDaBBHOr2pQ7j77Y6Vp5VDT2sIqWyWQ56TjEq4ih/a4iST3dItRe8Q9fp0rrIl9DoKhWQtUQz/YpOxLkXbNA==", "dev": true }, - "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==", + "@jridgewell/set-array": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.1.tgz", + "integrity": "sha512-Ct5MqZkLGEXTVmQYbGtx9SVqD2fqwvdubdps5D3djjAkgkKwT918VNOz65pEHFaYTeWcukmJmH5SwsA9Tn2ObQ==", "dev": true }, - "cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "@jridgewell/sourcemap-codec": { + "version": "1.4.13", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.13.tgz", + "integrity": "sha512-GryiOJmNcWbovBxTfZSF71V/mXbgcV3MewDe3kIMCLyIh5e7SKAeUZs+rMnJ8jkMolZ/4/VsdBmMrw3l+VdZ3w==", + "dev": true + }, + "@jridgewell/trace-mapping": { + "version": "0.3.13", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.13.tgz", + "integrity": "sha512-o1xbKhp9qnIAoHJSWd6KlCZfqslL4valSF81H8ImioOAxluWYWOpWkpyktY2vnt4tbrX9XYaxovq6cgowaJp2w==", + "dev": true, + "requires": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "@ngtools/webpack": { + "version": "13.3.8", + "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-13.3.8.tgz", + "integrity": "sha512-meuXHb1zQ5lz7Uj7kGYTgjd9Tknsi/0jJxs+12nz06h0tifIyIoGU01YA3mUj4/bntIjfWif35KGYP+23bbAVw==", + "dev": true, + "requires": {} + }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", "dev": true, "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" } }, - "clone": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", + "@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", "dev": true }, - "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==", + "@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", "dev": true, "requires": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" } }, - "code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", - "dev": true - }, - "collection-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "@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": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" + "@gar/promisify": "^1.0.1", + "semver": "^7.3.5" } }, - "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==", + "@npmcli/git": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-2.1.0.tgz", + "integrity": "sha512-/hBFX/QG1b+N7PZBFs0bi+evgRZcK9nWBxQKZkGoXUT5hJSwl5c4d7y8/hm+NQZRPhQ67RzFaj5UM9YeyKoryw==", "dev": true, "requires": { - "color-name": "1.1.3" + "@npmcli/promise-spawn": "^1.3.2", + "lru-cache": "^6.0.0", + "mkdirp": "^1.0.4", + "npm-pick-manifest": "^6.1.1", + "promise-inflight": "^1.0.1", + "promise-retry": "^2.0.1", + "semver": "^7.3.5", + "which": "^2.0.2" } }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true + "@npmcli/installed-package-contents": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/@npmcli/installed-package-contents/-/installed-package-contents-1.0.7.tgz", + "integrity": "sha512-9rufe0wnJusCQoLpV9ZPKIVP55itrM5BxOXs10DmdbRfgWtHy1LDyskbwRnBghuB0PrF7pNPOqREVtpz4HqzKw==", + "dev": true, + "requires": { + "npm-bundled": "^1.1.1", + "npm-normalize-package-bin": "^1.0.1" + } }, - "colord": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/colord/-/colord-2.1.0.tgz", - "integrity": "sha512-H5sDP9XDk2uP+x/xSGkgB9SEFc1bojdI5DMKU0jmSXQtml2GIe48dj1DcSS0e53QQAHn+JKqUXbGeGX24xWD7w==", - "dev": true + "@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, + "requires": { + "mkdirp": "^1.0.4", + "rimraf": "^3.0.2" + } }, - "colorette": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.1.0.tgz", - "integrity": "sha512-6S062WDQUXi6hOfkO/sBPVwE5ASXY4G2+b4atvhJfSsuUUhIaUKlkjLe9692Ipyt5/a+IPF5aVTu3V5gvXq5cg==", + "@npmcli/node-gyp": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-1.0.3.tgz", + "integrity": "sha512-fnkhw+fmX65kiLqk6E3BFLXNC26rUhK90zVwe2yncPliVT/Qos3xjhTLE59Df8KnPlcwIERXKVlU1bXoUQ+liA==", "dev": true }, - "colors": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", - "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", - "dev": true + "@npmcli/promise-spawn": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-1.3.2.tgz", + "integrity": "sha512-QyAGYo/Fbj4MXeGdJcFzZ+FkDkomfRBrPM+9QYJSg+PxgAUL+LU3FneQk37rKR2/zjqkCV1BLHccX98wRXG3Sg==", + "dev": true, + "requires": { + "infer-owner": "^1.0.4" + } }, - "combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "@npmcli/run-script": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-2.0.0.tgz", + "integrity": "sha512-fSan/Pu11xS/TdaTpTB0MRn9guwGU8dye+x56mEVgBEd/QsybBbYcAL0phPXi8SGWFEChkQd6M9qL4y6VOpFig==", "dev": true, "requires": { - "delayed-stream": "~1.0.0" + "@npmcli/node-gyp": "^1.0.2", + "@npmcli/promise-spawn": "^1.3.2", + "node-gyp": "^8.2.0", + "read-package-json-fast": "^2.0.1" } }, - "commander": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", - "dev": true + "@polkadot/api": { + "version": "5.9.1", + "resolved": "https://registry.npmjs.org/@polkadot/api/-/api-5.9.1.tgz", + "integrity": "sha512-POpIXn/Ao+NLB0uMldXdXU44dVbRr6+6Ax77Z0R285M8Z2EiF5jl2K3SPvlowLo4SntxiCSaHQxCekYhUcJKlw==", + "requires": { + "@babel/runtime": "^7.15.4", + "@polkadot/api-derive": "5.9.1", + "@polkadot/keyring": "^7.3.1", + "@polkadot/rpc-core": "5.9.1", + "@polkadot/rpc-provider": "5.9.1", + "@polkadot/types": "5.9.1", + "@polkadot/types-known": "5.9.1", + "@polkadot/util": "^7.3.1", + "@polkadot/util-crypto": "^7.3.1", + "eventemitter3": "^4.0.7", + "rxjs": "^7.3.0" + } }, - "comment-parser": { - "version": "0.7.6", - "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-0.7.6.tgz", - "integrity": "sha512-GKNxVA7/iuTnAqGADlTWX4tkhzxZKXp5fLJqKTlQLHkE65XDUKutZ3BHaJC5IGcper2tT3QRD1xr4o3jNpgXXg==", - "dev": true + "@polkadot/api-derive": { + "version": "5.9.1", + "resolved": "https://registry.npmjs.org/@polkadot/api-derive/-/api-derive-5.9.1.tgz", + "integrity": "sha512-iMrVKnYIS3UQciDlFqww6AFyXgG+iN8UqWu8QbTuZecri3qrSmM3Nn8Jkvju3meZIacwWIMSmBcnj8+zef3rkQ==", + "requires": { + "@babel/runtime": "^7.15.4", + "@polkadot/api": "5.9.1", + "@polkadot/rpc-core": "5.9.1", + "@polkadot/types": "5.9.1", + "@polkadot/util": "^7.3.1", + "@polkadot/util-crypto": "^7.3.1", + "rxjs": "^7.3.0" + } }, - "commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", - "dev": true + "@polkadot/keyring": { + "version": "7.9.2", + "resolved": "https://registry.npmjs.org/@polkadot/keyring/-/keyring-7.9.2.tgz", + "integrity": "sha512-6UGoIxhiTyISkYEZhUbCPpgVxaneIfb/DBVlHtbvaABc8Mqh1KuqcTIq19Mh9wXlBuijl25rw4lUASrE/9sBqg==", + "requires": { + "@babel/runtime": "^7.16.3", + "@polkadot/util": "7.9.2", + "@polkadot/util-crypto": "7.9.2" + } }, - "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 + "@polkadot/networks": { + "version": "7.9.2", + "resolved": "https://registry.npmjs.org/@polkadot/networks/-/networks-7.9.2.tgz", + "integrity": "sha512-4obI1RdW5/7TFwbwKA9oqw8aggVZ65JAUvIFMd2YmMC2T4+NiZLnok0WhRkhZkUnqjLIHXYNwq7Ho1i39dte0g==", + "requires": { + "@babel/runtime": "^7.16.3" + } }, - "compressible": { - "version": "2.0.18", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", - "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", - "dev": true, + "@polkadot/rpc-core": { + "version": "5.9.1", + "resolved": "https://registry.npmjs.org/@polkadot/rpc-core/-/rpc-core-5.9.1.tgz", + "integrity": "sha512-5fXiICAcjp7ow81DnIl2Dq/xuCtJUqyjJkxe9jNHJWBluBxOouqYDb8bYPPGSdckiaVyYe0l8lA9fBUFMdEt6w==", "requires": { - "mime-db": ">= 1.43.0 < 2" + "@babel/runtime": "^7.15.4", + "@polkadot/rpc-provider": "5.9.1", + "@polkadot/types": "5.9.1", + "@polkadot/util": "^7.3.1", + "rxjs": "^7.3.0" } }, - "compression": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", - "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "@polkadot/rpc-provider": { + "version": "5.9.1", + "resolved": "https://registry.npmjs.org/@polkadot/rpc-provider/-/rpc-provider-5.9.1.tgz", + "integrity": "sha512-9zamxfnsY7iCswXIK22W0Ji1XHLprm97js3WLw3lP2hr/uSim4Cv4y07zY/z4dDQyF0gJtjKwR27Wo9CZqdr6A==", + "requires": { + "@babel/runtime": "^7.15.4", + "@polkadot/types": "5.9.1", + "@polkadot/util": "^7.3.1", + "@polkadot/util-crypto": "^7.3.1", + "@polkadot/x-fetch": "^7.3.1", + "@polkadot/x-global": "^7.3.1", + "@polkadot/x-ws": "^7.3.1", + "eventemitter3": "^4.0.7" + } + }, + "@polkadot/typegen": { + "version": "5.9.1", + "resolved": "https://registry.npmjs.org/@polkadot/typegen/-/typegen-5.9.1.tgz", + "integrity": "sha512-eyVVlHRKqPtXYkd793++LRnvSzxpjfVGD4p7HnBEyRoViCCtGmVZGWGUhqd/YBBnF9telO28e+ind+nMyfN0Fg==", "dev": true, "requires": { - "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" + "@babel/core": "^7.15.5", + "@babel/register": "^7.15.3", + "@babel/runtime": "^7.15.4", + "@polkadot/api": "5.9.1", + "@polkadot/rpc-provider": "5.9.1", + "@polkadot/types": "5.9.1", + "@polkadot/types-support": "5.9.1", + "@polkadot/util": "^7.3.1", + "handlebars": "^4.7.7", + "websocket": "^1.0.34", + "yargs": "^17.1.1" }, "dependencies": { - "bytes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", - "dev": true - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "yargs": { + "version": "17.5.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.5.1.tgz", + "integrity": "sha512-t6YAJcxDkNX7NFYiVtKvWUz8l+PaKTLiL63mJYWR2GnHq2gjEWISzsLp9wg3aY36dY1j+gfIEL3pIF+XlJJfbA==", "dev": true, "requires": { - "ms": "2.0.0" + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.0.0" } }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "yargs-parser": { + "version": "21.0.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.0.1.tgz", + "integrity": "sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg==", "dev": true } } }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true + "@polkadot/types": { + "version": "5.9.1", + "resolved": "https://registry.npmjs.org/@polkadot/types/-/types-5.9.1.tgz", + "integrity": "sha512-30vcSlNBxPyWYZaxKDr/BoMhfLCRKB265XxpnnNJmbdZZsL+N4Zp2mJR9/UbA6ypmJBkUjD7b1s9AYsLwUs+8w==", + "requires": { + "@babel/runtime": "^7.15.4", + "@polkadot/util": "^7.3.1", + "@polkadot/util-crypto": "^7.3.1", + "rxjs": "^7.3.0" + } }, - "connect": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz", - "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==", + "@polkadot/types-known": { + "version": "5.9.1", + "resolved": "https://registry.npmjs.org/@polkadot/types-known/-/types-known-5.9.1.tgz", + "integrity": "sha512-7lpLuIVGaKziQRzPMnTxyjlYy3spL6WqUg3CcEzmJUKQeUonHglOliQh8JSSz1bcP+YuNHGXK1cKsTjHb+GYxA==", + "requires": { + "@babel/runtime": "^7.15.4", + "@polkadot/networks": "^7.3.1", + "@polkadot/types": "5.9.1", + "@polkadot/util": "^7.3.1" + } + }, + "@polkadot/types-support": { + "version": "5.9.1", + "resolved": "https://registry.npmjs.org/@polkadot/types-support/-/types-support-5.9.1.tgz", + "integrity": "sha512-2FGVfcIYBnMPHw+cPDTMnD+ecu/izNf+r8ASuouo8F5SOVKYF6isAdvBt7J4F8PCpWhwbyoLDiMrhnhbwlyt/Q==", "dev": true, "requires": { - "debug": "2.6.9", - "finalhandler": "1.1.2", - "parseurl": "~1.3.3", - "utils-merge": "1.0.1" + "@babel/runtime": "^7.15.4", + "@polkadot/util": "^7.3.1" + } + }, + "@polkadot/util": { + "version": "7.9.2", + "resolved": "https://registry.npmjs.org/@polkadot/util/-/util-7.9.2.tgz", + "integrity": "sha512-6ABY6ErgkCsM4C6+X+AJSY4pBGwbKlHZmUtHftaiTvbaj4XuA4nTo3GU28jw8wY0Jh2cJZJvt6/BJ5GVkm5tBA==", + "requires": { + "@babel/runtime": "^7.16.3", + "@polkadot/x-textdecoder": "7.9.2", + "@polkadot/x-textencoder": "7.9.2", + "@types/bn.js": "^4.11.6", + "bn.js": "^4.12.0", + "camelcase": "^6.2.1", + "ip-regex": "^4.3.0" + } + }, + "@polkadot/util-crypto": { + "version": "7.9.2", + "resolved": "https://registry.npmjs.org/@polkadot/util-crypto/-/util-crypto-7.9.2.tgz", + "integrity": "sha512-nNwqUwP44eCH9jKKcPie+IHLKkg9LMe6H7hXo91hy3AtoslnNrT51tP3uAm5yllhLvswJfnAgnlHq7ybCgqeFw==", + "requires": { + "@babel/runtime": "^7.16.3", + "@polkadot/networks": "7.9.2", + "@polkadot/util": "7.9.2", + "@polkadot/wasm-crypto": "^4.4.1", + "@polkadot/x-randomvalues": "7.9.2", + "blakejs": "^1.1.1", + "bn.js": "^4.12.0", + "create-hash": "^1.2.0", + "ed2curve": "^0.3.0", + "elliptic": "^6.5.4", + "hash.js": "^1.1.7", + "js-sha3": "^0.8.0", + "micro-base": "^0.9.0", + "scryptsy": "^2.1.0", + "tweetnacl": "^1.0.3", + "xxhashjs": "^0.2.2" }, "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, + "tweetnacl": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-1.0.3.tgz", + "integrity": "sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==" + } + } + }, + "@polkadot/wasm-crypto": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/@polkadot/wasm-crypto/-/wasm-crypto-4.6.1.tgz", + "integrity": "sha512-2wEftBDxDG+TN8Ah6ogtvzjdZdcF0mAjU4UNNOfpmkBCxQYZOrAHB8HXhzo3noSsKkLX7PDX57NxvJ9OhoTAjw==", + "requires": { + "@babel/runtime": "^7.17.2", + "@polkadot/wasm-crypto-asmjs": "^4.6.1", + "@polkadot/wasm-crypto-wasm": "^4.6.1" + }, + "dependencies": { + "@babel/runtime": { + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.18.3.tgz", + "integrity": "sha512-38Y8f7YUhce/K7RMwTp7m0uCumpv9hZkitCbBClqQIow1qSbCvGkcegKOXpEWCQLfWmevgRiWokZ1GkpfhbZug==", "requires": { - "ms": "2.0.0" + "regenerator-runtime": "^0.13.4" } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true } } }, - "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 - }, - "console-control-strings": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", - "dev": true - }, - "contains-path": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/contains-path/-/contains-path-0.1.0.tgz", - "integrity": "sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=", - "dev": true + "@polkadot/wasm-crypto-asmjs": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/@polkadot/wasm-crypto-asmjs/-/wasm-crypto-asmjs-4.6.1.tgz", + "integrity": "sha512-1oHQjz2oEO1kCIcQniOP+dZ9N2YXf2yCLHLsKaKSvfXiWaetVCaBNB8oIHIVYvuLnVc8qlMi66O6xc1UublHsw==", + "requires": { + "@babel/runtime": "^7.17.2" + }, + "dependencies": { + "@babel/runtime": { + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.18.3.tgz", + "integrity": "sha512-38Y8f7YUhce/K7RMwTp7m0uCumpv9hZkitCbBClqQIow1qSbCvGkcegKOXpEWCQLfWmevgRiWokZ1GkpfhbZug==", + "requires": { + "regenerator-runtime": "^0.13.4" + } + } + } }, - "content-disposition": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", - "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", - "dev": true, + "@polkadot/wasm-crypto-wasm": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/@polkadot/wasm-crypto-wasm/-/wasm-crypto-wasm-4.6.1.tgz", + "integrity": "sha512-NI3JVwmLjrSYpSVuhu0yeQYSlsZrdpK41UC48sY3kyxXC71pi6OVePbtHS1K3xh3FFmDd9srSchExi3IwzKzMw==", "requires": { - "safe-buffer": "5.1.2" + "@babel/runtime": "^7.17.2" + }, + "dependencies": { + "@babel/runtime": { + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.18.3.tgz", + "integrity": "sha512-38Y8f7YUhce/K7RMwTp7m0uCumpv9hZkitCbBClqQIow1qSbCvGkcegKOXpEWCQLfWmevgRiWokZ1GkpfhbZug==", + "requires": { + "regenerator-runtime": "^0.13.4" + } + } } }, - "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 + "@polkadot/x-fetch": { + "version": "7.9.2", + "resolved": "https://registry.npmjs.org/@polkadot/x-fetch/-/x-fetch-7.9.2.tgz", + "integrity": "sha512-zutLkFJVaLVpY3cIGYJD0AReLfAnPr2J82Ca4pvy/BxqwwGYuGLcn36A4m6nliGBP2lcH4oYY+mcCqIwoPWQUQ==", + "requires": { + "@babel/runtime": "^7.16.3", + "@polkadot/x-global": "7.9.2", + "@types/node-fetch": "^2.5.12", + "node-fetch": "^2.6.6" + } }, - "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, + "@polkadot/x-global": { + "version": "7.9.2", + "resolved": "https://registry.npmjs.org/@polkadot/x-global/-/x-global-7.9.2.tgz", + "integrity": "sha512-JX5CrGWckHf1P9xKXq4vQCAuMUbL81l2hOWX7xeP8nv4caHEpmf5T1wD1iMdQBL5PFifo6Pg0V6/oZBB+bts7A==", "requires": { - "safe-buffer": "~5.1.1" + "@babel/runtime": "^7.16.3" } }, - "cookie": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz", - "integrity": "sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==", - "dev": true + "@polkadot/x-randomvalues": { + "version": "7.9.2", + "resolved": "https://registry.npmjs.org/@polkadot/x-randomvalues/-/x-randomvalues-7.9.2.tgz", + "integrity": "sha512-svQfG31yCXf6yVyIgP0NgCzEy7oc3Lw054ZspkaqjOivxYdrXaf5w3JSSUyM/MRjI2+nk+B/EyJoMYcfSwTfsQ==", + "requires": { + "@babel/runtime": "^7.16.3", + "@polkadot/x-global": "7.9.2" + } }, - "cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", - "dev": true + "@polkadot/x-textdecoder": { + "version": "7.9.2", + "resolved": "https://registry.npmjs.org/@polkadot/x-textdecoder/-/x-textdecoder-7.9.2.tgz", + "integrity": "sha512-wfwbSHXPhrOAl12QvlIOGNkMH/N/h8PId2ytIjvM/8zPPFB5Il6DWSFLtVapOGEpIFjEWbd5t8Td4pHBVXIEbg==", + "requires": { + "@babel/runtime": "^7.16.3", + "@polkadot/x-global": "7.9.2" + } }, - "copy-anything": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-2.0.3.tgz", - "integrity": "sha512-GK6QUtisv4fNS+XcI7shX0Gx9ORg7QqIznyfho79JTnX1XhLiyZHfftvGiziqzRiEi/Bjhgpi+D2o7HxJFPnDQ==", - "dev": true, + "@polkadot/x-textencoder": { + "version": "7.9.2", + "resolved": "https://registry.npmjs.org/@polkadot/x-textencoder/-/x-textencoder-7.9.2.tgz", + "integrity": "sha512-A19wwYINuZwU2dUyQ/mMzB0ISjyfc4cISfL4zCMUAVgj7xVoXMYV2GfjNdMpA8Wsjch3su6pxLbtJ2wU03sRTQ==", "requires": { - "is-what": "^3.12.0" + "@babel/runtime": "^7.16.3", + "@polkadot/x-global": "7.9.2" } }, - "copy-descriptor": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", - "dev": true + "@polkadot/x-ws": { + "version": "7.9.2", + "resolved": "https://registry.npmjs.org/@polkadot/x-ws/-/x-ws-7.9.2.tgz", + "integrity": "sha512-+yppMsZtvDztVOSmkqAQuhR6TfV1Axa6ergAsWb52DrfXvFP5geqtARsI6ZdDgMsE3qHSVQTcJz8vgNOr5+ztQ==", + "requires": { + "@babel/runtime": "^7.16.3", + "@polkadot/x-global": "7.9.2", + "@types/websocket": "^1.0.4", + "websocket": "^1.0.34" + } }, - "copy-webpack-plugin": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-8.1.1.tgz", - "integrity": "sha512-rYM2uzRxrLRpcyPqGceRBDpxxUV8vcDqIKxAUKfcnFpcrPxT5+XvhTxv7XLjo5AvEJFPdAE3zCogG2JVahqgSQ==", + "@schematics/angular": { + "version": "12.0.5", + "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-12.0.5.tgz", + "integrity": "sha512-gMT66T33az+uGLDSc7UkJVg+vloPeTpQNgWddBVGnW/Lkl1tGaWUxyqUJAp8AvusPNU+NCP+ZFB3qUm+pc7tCg==", "dev": true, "requires": { - "fast-glob": "^3.2.5", - "glob-parent": "^5.1.1", - "globby": "^11.0.3", - "normalize-path": "^3.0.0", - "p-limit": "^3.1.0", - "schema-utils": "^3.0.0", - "serialize-javascript": "^5.0.1" + "@angular-devkit/core": "12.0.5", + "@angular-devkit/schematics": "12.0.5", + "jsonc-parser": "3.0.0" }, "dependencies": { - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "@angular-devkit/schematics": { + "version": "12.0.5", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-12.0.5.tgz", + "integrity": "sha512-iW3XuDHScr3TXuunlEjF5O01zBpwpLgfr1oEny8PvseFGDlHK4Nj8zNIoIn3Yg936aiFO4GJAC/UXsT8g5vKxQ==", "dev": true, "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" + "@angular-devkit/core": "12.0.5", + "ora": "5.4.0", + "rxjs": "6.6.7" } }, - "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, - "requires": {} - }, - "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 - }, - "schema-utils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.0.tgz", - "integrity": "sha512-tTEaeYkyIhEZ9uWgAjDerWov3T9MgX8dhhy2r0IGeeX4W8ngtGl1++dUve/RUqzuaASSh7shwCDJjEzthxki8w==", + "rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", "dev": true, "requires": { - "@types/json-schema": "^7.0.7", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" + "tslib": "^1.9.0" } + }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true } } }, - "core-js": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.12.0.tgz", - "integrity": "sha512-SaMnchL//WwU2Ot1hhkPflE8gzo7uq1FGvUJ8GKmi3TOU7rGTHIU+eir1WGf6qOtTyxdfdcp10yPdGZ59sQ3hw==", + "@stencil/core": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@stencil/core/-/core-2.6.0.tgz", + "integrity": "sha512-QsxWayZyusnqSZrlCl81R71rA3KqFjVVQSH4E0rGN15F1GdQaFonKlHLyCOLKLig1zzC+DQkLLiUuocexuvdeQ==" + }, + "@tootallnate/once": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", + "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", "dev": true }, - "core-js-compat": { - "version": "3.15.2", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.15.2.tgz", - "integrity": "sha512-Wp+BJVvwopjI+A1EFqm2dwUmWYXrvucmtIB2LgXn/Rb+gWPKYxtmb4GKHGKG/KGF1eK9jfjzT38DITbTOCX/SQ==", + "@types/bn.js": { + "version": "4.11.6", + "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.6.tgz", + "integrity": "sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==", + "requires": { + "@types/node": "*" + } + }, + "@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, "requires": { - "browserslist": "^4.16.6", - "semver": "7.0.0" - }, - "dependencies": { - "semver": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", - "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", - "dev": true - } + "@types/connect": "*", + "@types/node": "*" } }, - "core-js-pure": { - "version": "3.15.2", - "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.15.2.tgz", - "integrity": "sha512-D42L7RYh1J2grW8ttxoY1+17Y4wXZeKe7uyplAI3FkNQyI5OgBIAjUfFiTPfL1rs0qLpxaabITNbjKl1Sp82tA==", + "@types/bonjour": { + "version": "3.5.10", + "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.10.tgz", + "integrity": "sha512-p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/component-emitter": { + "version": "1.2.10", + "resolved": "https://registry.npmjs.org/@types/component-emitter/-/component-emitter-1.2.10.tgz", + "integrity": "sha512-bsjleuRKWmGqajMerkzox19aGbscQX5rmmvvXl3wlIp5gMG1HgkiwPxsN5p070fBDKTNSPgojVbuY1+HWMbFhg==", "dev": true }, - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "@types/connect": { + "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.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": "*", + "@types/node": "*" + } + }, + "@types/cookie": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.1.tgz", + "integrity": "sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==", "dev": true }, - "cors": { - "version": "2.8.5", - "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", - "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", + "@types/cors": { + "version": "2.8.12", + "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.12.tgz", + "integrity": "sha512-vt+kDhq/M2ayberEtJcIN/hxXy1Pk+59g2FV/ZQceeaTyCtCucjL2Q7FXlFjtWn4n15KCr1NE2lNNFhp0lEThw==", + "dev": true + }, + "@types/eslint": { + "version": "8.4.3", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.3.tgz", + "integrity": "sha512-YP1S7YJRMPs+7KZKDb9G63n8YejIwW9BALq7a5j2+H4yl6iOv9CB29edho+cuFRrvmJbbaH2yiVChKLJVysDGw==", "dev": true, "requires": { - "object-assign": "^4", - "vary": "^1" + "@types/estree": "*", + "@types/json-schema": "*" } }, - "cosmiconfig": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.0.tgz", - "integrity": "sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA==", + "@types/eslint-scope": { + "version": "3.7.3", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.3.tgz", + "integrity": "sha512-PB3ldyrcnAicT35TWPs5IcwKD8S333HMaa2VVv4+wdvebJkjWuW/xESoB8IwRcog8HYVYamb1g/R31Qv5Bx03g==", "dev": true, "requires": { - "@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" + "@types/eslint": "*", + "@types/estree": "*" } }, - "critters": { - "version": "0.0.10", - "resolved": "https://registry.npmjs.org/critters/-/critters-0.0.10.tgz", - "integrity": "sha512-p5VKhP1803+f+0Jq5P03w1SbiHtpAKm+1EpJHkiPxQPq0Vu9QLZHviJ02GRrWi0dlcJqrmzMWInbwp4d22RsGw==", + "@types/estree": { + "version": "0.0.51", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz", + "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==", + "dev": true + }, + "@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, "requires": { - "chalk": "^4.1.0", - "css": "^3.0.0", - "parse5": "^6.0.1", - "parse5-htmlparser2-tree-adapter": "^6.0.1", - "pretty-bytes": "^5.3.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", - "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "parse5": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", - "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.18", + "@types/qs": "*", + "@types/serve-static": "*" } }, - "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "@types/express-serve-static-core": { + "version": "4.17.29", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.29.tgz", + "integrity": "sha512-uMd++6dMKS32EOuw1Uli3e3BPgdLIXmezcfHv7N4c1s3gkhikBplORPpMq3fuWkxncZN1reb16d5n8yhQ80x7Q==", "dev": true, "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*" } }, - "css": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/css/-/css-3.0.0.tgz", - "integrity": "sha512-DG9pFfwOrzc+hawpmqX/dHYHJG+Bsdb0klhyi1sDneOgGOXy9wQIC8hzyVp1e4NRYDBdxcylvywPkkXCHAzTyQ==", + "@types/http-proxy": { + "version": "1.17.9", + "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.9.tgz", + "integrity": "sha512-QsbSjA/fSk7xB+UXlCT3wHBy5ai9wOcNDWwZAtud+jXhwOM3l+EYZh8Lng4+/6n8uar0J7xILzqftJdJ/Wdfkw==", "dev": true, "requires": { - "inherits": "^2.0.4", - "source-map": "^0.6.1", - "source-map-resolve": "^0.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } + "@types/node": "*" + } + }, + "@types/jasmine": { + "version": "3.6.11", + "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-3.6.11.tgz", + "integrity": "sha512-S6pvzQDvMZHrkBz2Mcn/8Du7cpr76PlRJBAoHnSDNbulULsH5dp0Gns+WRyNX5LHejz/ljxK4/vIHK/caHt6SQ==", + "dev": true + }, + "@types/jasminewd2": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/@types/jasminewd2/-/jasminewd2-2.0.10.tgz", + "integrity": "sha512-J7mDz7ovjwjc+Y9rR9rY53hFWKATcIkrr9DwQWmOas4/pnIPJTXawnzjwpHm3RSxz/e3ZVUvQ7cRbd5UQLo10g==", + "dev": true, + "requires": { + "@types/jasmine": "*" } }, - "css-blank-pseudo": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-0.1.4.tgz", - "integrity": "sha512-LHz35Hr83dnFeipc7oqFDmsjHdljj3TQtxGGiNWSOsTLIAubSm4TEz8qCaKFpk7idaQ1GfWscF4E6mgpBysA1w==", - "dev": true, + "@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 + }, + "@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 + }, + "@types/node": { + "version": "12.20.16", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.16.tgz", + "integrity": "sha512-6CLxw83vQf6DKqXxMPwl8qpF8I7THFZuIwLt4TnNsumxkp1VsRZWT8txQxncT/Rl2UojTsFzWgDG4FRMwafrlA==" + }, + "@types/node-fetch": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.2.tgz", + "integrity": "sha512-DHqhlq5jeESLy19TYhLakJ07kNumXWjcDdxXsLUMJZ6ue8VZJj4kLPQVE/2mdHh3xZziNF1xppu5lwmS53HR+A==", "requires": { - "postcss": "^7.0.5" + "@types/node": "*", + "form-data": "^3.0.0" }, "dependencies": { - "postcss": { - "version": "7.0.36", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", - "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, - "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 - }, - "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, + "form-data": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", + "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", "requires": { - "has-flag": "^3.0.0" + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" } } } }, - "css-color-names": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-1.0.1.tgz", - "integrity": "sha512-/loXYOch1qU1biStIFsHH8SxTmOseh1IJqFvy8IujXOm1h+QjUdDhkzOrR5HG8K8mlxREj0yfi8ewCHx0eMxzA==", + "@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 }, - "css-declaration-sorter": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.0.3.tgz", - "integrity": "sha512-52P95mvW1SMzuRZegvpluT6yEv0FqQusydKQPZsNN5Q7hh8EwQvN8E2nwuJ16BBvNN6LcoIZXu/Bk58DAhrrxw==", + "@types/q": { + "version": "0.0.32", + "resolved": "https://registry.npmjs.org/@types/q/-/q-0.0.32.tgz", + "integrity": "sha1-vShOV8hPEyXacCur/IKlMoGQwMU=", + "dev": true + }, + "@types/qs": { + "version": "6.9.7", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", + "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==", + "dev": true + }, + "@types/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 + }, + "@types/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==", + "dev": true + }, + "@types/selenium-webdriver": { + "version": "3.0.19", + "resolved": "https://registry.npmjs.org/@types/selenium-webdriver/-/selenium-webdriver-3.0.19.tgz", + "integrity": "sha512-OFUilxQg+rWL2FMxtmIgCkUDlJB6pskkpvmew7yeXfzzsOBb5rc+y2+DjHm+r3r1ZPPcJefK3DveNSYWGiy68g==", + "dev": true + }, + "@types/serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha512-d/Hs3nWDxNL2xAczmOVZNj92YZCS6RGxfBPjKzuu/XirCgXdpKEb88dYNbrYGint6IVWLNP+yonwVAuRC0T2Dg==", "dev": true, "requires": { - "timsort": "^0.3.0" + "@types/express": "*" } }, - "css-has-pseudo": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/css-has-pseudo/-/css-has-pseudo-0.10.0.tgz", - "integrity": "sha512-Z8hnfsZu4o/kt+AuFzeGpLVhFOGO9mluyHBaA2bA8aCGTwah5sT3WV/fTHH8UNZUytOIImuGPrl/prlb4oX4qQ==", + "@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, "requires": { - "postcss": "^7.0.6", - "postcss-selector-parser": "^5.0.0-rc.4" - }, - "dependencies": { - "cssesc": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz", - "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==", - "dev": true - }, - "postcss": { - "version": "7.0.36", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", - "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, - "postcss-selector-parser": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz", - "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==", - "dev": true, - "requires": { - "cssesc": "^2.0.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - } - }, - "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 - }, - "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" - } - } + "@types/mime": "^1", + "@types/node": "*" } }, - "css-loader": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-5.2.4.tgz", - "integrity": "sha512-OFYGyINCKkdQsTrSYxzGSFnGS4gNjcXkKkQgWxK138jgnPt+lepxdjSZNc8sHAl5vP3DhsJUxufWIjOwI8PMMw==", + "@types/sockjs": { + "version": "0.3.33", + "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.33.tgz", + "integrity": "sha512-f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw==", "dev": true, "requires": { - "camelcase": "^6.2.0", - "icss-utils": "^5.1.0", - "loader-utils": "^2.0.0", - "postcss": "^8.2.10", - "postcss-modules-extract-imports": "^3.0.0", - "postcss-modules-local-by-default": "^4.0.0", - "postcss-modules-scope": "^3.0.0", - "postcss-modules-values": "^4.0.0", - "postcss-value-parser": "^4.1.0", - "schema-utils": "^3.0.0", - "semver": "^7.3.5" - }, - "dependencies": { - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "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, - "requires": {} - }, - "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 - }, - "schema-utils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.0.tgz", - "integrity": "sha512-tTEaeYkyIhEZ9uWgAjDerWov3T9MgX8dhhy2r0IGeeX4W8ngtGl1++dUve/RUqzuaASSh7shwCDJjEzthxki8w==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.7", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - } + "@types/node": "*" } }, - "css-minimizer-webpack-plugin": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-3.0.0.tgz", - "integrity": "sha512-yIrqG0pPphR1RoNx2wDxYmxRf2ubRChLDXxv7ccipEm5bRKsZRYp8n+2peeXehtTF5s3yNxlqsdz3WQOsAgUkw==", + "@types/websocket": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/websocket/-/websocket-1.0.5.tgz", + "integrity": "sha512-NbsqiNX9CnEfC1Z0Vf4mE1SgAJ07JnRYcNex7AJ9zAVzmiGHmjKFEk7O4TJIsgv2B1sLEb6owKFZrACwdYngsQ==", + "requires": { + "@types/node": "*" + } + }, + "@types/ws": { + "version": "8.5.3", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.3.tgz", + "integrity": "sha512-6YOoWjruKj1uLf3INHH7D3qTXwFfEsg1kf3c0uDdSBJwfa/llkwIjrAGV7j7mVgGNbzTQ3HiHKKDXl6bJPD97w==", "dev": true, "requires": { - "cssnano": "^5.0.0", - "jest-worker": "^26.3.0", - "p-limit": "^3.0.2", - "postcss": "^8.2.9", - "schema-utils": "^3.0.0", - "serialize-javascript": "^5.0.1", - "source-map": "^0.6.1" + "@types/node": "*" + } + }, + "@typescript-eslint/eslint-plugin": { + "version": "4.16.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.16.1.tgz", + "integrity": "sha512-SK777klBdlkUZpZLC1mPvyOWk9yAFCWmug13eAjVQ4/Q1LATE/NbcQL1xDHkptQkZOLnPmLUA1Y54m8dqYwnoQ==", + "dev": true, + "requires": { + "@typescript-eslint/experimental-utils": "4.16.1", + "@typescript-eslint/scope-manager": "4.16.1", + "debug": "^4.1.1", + "functional-red-black-tree": "^1.0.1", + "lodash": "^4.17.15", + "regexpp": "^3.0.0", + "semver": "^7.3.2", + "tsutils": "^3.17.1" }, "dependencies": { - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "@typescript-eslint/experimental-utils": { + "version": "4.16.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.16.1.tgz", + "integrity": "sha512-0Hm3LSlMYFK17jO4iY3un1Ve9x1zLNn4EM50Lia+0EV99NdbK+cn0er7HC7IvBA23mBg3P+8dUkMXy4leL33UQ==", "dev": true, "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" + "@types/json-schema": "^7.0.3", + "@typescript-eslint/scope-manager": "4.16.1", + "@typescript-eslint/types": "4.16.1", + "@typescript-eslint/typescript-estree": "4.16.1", + "eslint-scope": "^5.0.0", + "eslint-utils": "^2.0.0" } }, - "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, - "requires": {} - }, - "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==", + "@typescript-eslint/types": { + "version": "4.16.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.16.1.tgz", + "integrity": "sha512-nnKqBwMgRlhzmJQF8tnFDZWfunXmJyuXj55xc8Kbfup4PbkzdoDXZvzN8//EiKR27J6vUSU8j4t37yUuYPiLqA==", "dev": true }, - "schema-utils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.0.tgz", - "integrity": "sha512-tTEaeYkyIhEZ9uWgAjDerWov3T9MgX8dhhy2r0IGeeX4W8ngtGl1++dUve/RUqzuaASSh7shwCDJjEzthxki8w==", + "@typescript-eslint/typescript-estree": { + "version": "4.16.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.16.1.tgz", + "integrity": "sha512-m8I/DKHa8YbeHt31T+UGd/l8Kwr0XCTCZL3H4HMvvLCT7HU9V7yYdinTOv1gf/zfqNeDcCgaFH2BMsS8x6NvJg==", "dev": true, "requires": { - "@types/json-schema": "^7.0.7", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" + "@typescript-eslint/types": "4.16.1", + "@typescript-eslint/visitor-keys": "4.16.1", + "debug": "^4.1.1", + "globby": "^11.0.1", + "is-glob": "^4.0.1", + "semver": "^7.3.2", + "tsutils": "^3.17.1" } - }, - "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 } } }, - "css-parse": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/css-parse/-/css-parse-2.0.0.tgz", - "integrity": "sha1-pGjuZnwW2BzPBcWMONKpfHgNv9Q=", + "@typescript-eslint/experimental-utils": { + "version": "4.23.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.23.0.tgz", + "integrity": "sha512-WAFNiTDnQfrF3Z2fQ05nmCgPsO5o790vOhmWKXbbYQTO9erE1/YsFot5/LnOUizLzU2eeuz6+U/81KV5/hFTGA==", "dev": true, "requires": { - "css": "^2.0.0" + "@types/json-schema": "^7.0.3", + "@typescript-eslint/scope-manager": "4.23.0", + "@typescript-eslint/types": "4.23.0", + "@typescript-eslint/typescript-estree": "4.23.0", + "eslint-scope": "^5.0.0", + "eslint-utils": "^2.0.0" }, "dependencies": { - "css": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/css/-/css-2.2.4.tgz", - "integrity": "sha512-oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw==", + "@typescript-eslint/scope-manager": { + "version": "4.23.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.23.0.tgz", + "integrity": "sha512-ZZ21PCFxPhI3n0wuqEJK9omkw51wi2bmeKJvlRZPH5YFkcawKOuRMQMnI8mH6Vo0/DoHSeZJnHiIx84LmVQY+w==", "dev": true, "requires": { - "inherits": "^2.0.3", - "source-map": "^0.6.1", - "source-map-resolve": "^0.5.2", - "urix": "^0.1.0" + "@typescript-eslint/types": "4.23.0", + "@typescript-eslint/visitor-keys": "4.23.0" } }, - "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 - }, - "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==", + "@typescript-eslint/visitor-keys": { + "version": "4.23.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.23.0.tgz", + "integrity": "sha512-5PNe5cmX9pSifit0H+nPoQBXdbNzi5tOEec+3riK+ku4e3er37pKxMKDH5Ct5Y4fhWxcD4spnlYjxi9vXbSpwg==", "dev": true, "requires": { - "atob": "^2.1.2", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" + "@typescript-eslint/types": "4.23.0", + "eslint-visitor-keys": "^2.0.0" } } } }, - "css-prefers-color-scheme": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-3.1.1.tgz", - "integrity": "sha512-MTu6+tMs9S3EUqzmqLXEcgNRbNkkD/TGFvowpeoWJn5Vfq7FMgsmRQs9X5NXAURiOBmOxm/lLjsDNXDE6k9bhg==", + "@typescript-eslint/parser": { + "version": "4.16.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.16.1.tgz", + "integrity": "sha512-/c0LEZcDL5y8RyI1zLcmZMvJrsR6SM1uetskFkoh3dvqDKVXPsXI+wFB/CbVw7WkEyyTKobC1mUNp/5y6gRvXg==", "dev": true, "requires": { - "postcss": "^7.0.5" + "@typescript-eslint/scope-manager": "4.16.1", + "@typescript-eslint/types": "4.16.1", + "@typescript-eslint/typescript-estree": "4.16.1", + "debug": "^4.1.1" }, "dependencies": { - "postcss": { - "version": "7.0.36", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", - "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "@typescript-eslint/types": { + "version": "4.16.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.16.1.tgz", + "integrity": "sha512-nnKqBwMgRlhzmJQF8tnFDZWfunXmJyuXj55xc8Kbfup4PbkzdoDXZvzN8//EiKR27J6vUSU8j4t37yUuYPiLqA==", "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==", + "@typescript-eslint/typescript-estree": { + "version": "4.16.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.16.1.tgz", + "integrity": "sha512-m8I/DKHa8YbeHt31T+UGd/l8Kwr0XCTCZL3H4HMvvLCT7HU9V7yYdinTOv1gf/zfqNeDcCgaFH2BMsS8x6NvJg==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "@typescript-eslint/types": "4.16.1", + "@typescript-eslint/visitor-keys": "4.16.1", + "debug": "^4.1.1", + "globby": "^11.0.1", + "is-glob": "^4.0.1", + "semver": "^7.3.2", + "tsutils": "^3.17.1" } } } }, - "css-select": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz", - "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=", - "dev": true, - "requires": { - "boolbase": "~1.0.0", - "css-what": "2.1", - "domutils": "1.5.1", - "nth-check": "~1.0.1" - } - }, - "css-tree": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", - "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "@typescript-eslint/scope-manager": { + "version": "4.16.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.16.1.tgz", + "integrity": "sha512-6IlZv9JaurqV0jkEg923cV49aAn8V6+1H1DRfhRcvZUrptQ+UtSKHb5kwTayzOYTJJ/RsYZdcvhOEKiBLyc0Cw==", "dev": true, "requires": { - "mdn-data": "2.0.14", - "source-map": "^0.6.1" + "@typescript-eslint/types": "4.16.1", + "@typescript-eslint/visitor-keys": "4.16.1" }, "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "@typescript-eslint/types": { + "version": "4.16.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.16.1.tgz", + "integrity": "sha512-nnKqBwMgRlhzmJQF8tnFDZWfunXmJyuXj55xc8Kbfup4PbkzdoDXZvzN8//EiKR27J6vUSU8j4t37yUuYPiLqA==", "dev": true } } }, - "css-what": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.3.tgz", - "integrity": "sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg==", - "dev": true - }, - "cssdb": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-4.4.0.tgz", - "integrity": "sha512-LsTAR1JPEM9TpGhl/0p3nQecC2LJ0kD8X5YARu1hk/9I1gril5vDtMZyNxcEpxxDj34YNck/ucjuoUd66K03oQ==", - "dev": true - }, - "cssesc": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "@typescript-eslint/types": { + "version": "4.23.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.23.0.tgz", + "integrity": "sha512-oqkNWyG2SLS7uTWLZf6Sr7Dm02gA5yxiz1RP87tvsmDsguVATdpVguHr4HoGOcFOpCvx9vtCSCyQUGfzq28YCw==", "dev": true }, - "cssnano": { - "version": "5.0.6", - "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.0.6.tgz", - "integrity": "sha512-NiaLH/7yqGksFGsFNvSRe2IV/qmEBAeDE64dYeD8OBrgp6lE8YoMeQJMtsv5ijo6MPyhuoOvFhI94reahBRDkw==", - "dev": true, - "requires": { - "cosmiconfig": "^7.0.0", - "cssnano-preset-default": "^5.1.3", - "is-resolvable": "^1.1.0" - } - }, - "cssnano-preset-default": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.1.3.tgz", - "integrity": "sha512-qo9tX+t4yAAZ/yagVV3b+QBKeLklQbmgR3wI7mccrDcR+bEk9iHgZN1E7doX68y9ThznLya3RDmR+nc7l6/2WQ==", - "dev": true, - "requires": { - "css-declaration-sorter": "^6.0.3", - "cssnano-utils": "^2.0.1", - "postcss-calc": "^8.0.0", - "postcss-colormin": "^5.2.0", - "postcss-convert-values": "^5.0.1", - "postcss-discard-comments": "^5.0.1", - "postcss-discard-duplicates": "^5.0.1", - "postcss-discard-empty": "^5.0.1", - "postcss-discard-overridden": "^5.0.1", - "postcss-merge-longhand": "^5.0.2", - "postcss-merge-rules": "^5.0.2", - "postcss-minify-font-values": "^5.0.1", - "postcss-minify-gradients": "^5.0.1", - "postcss-minify-params": "^5.0.1", - "postcss-minify-selectors": "^5.1.0", - "postcss-normalize-charset": "^5.0.1", - "postcss-normalize-display-values": "^5.0.1", - "postcss-normalize-positions": "^5.0.1", - "postcss-normalize-repeat-style": "^5.0.1", - "postcss-normalize-string": "^5.0.1", - "postcss-normalize-timing-functions": "^5.0.1", - "postcss-normalize-unicode": "^5.0.1", - "postcss-normalize-url": "^5.0.2", - "postcss-normalize-whitespace": "^5.0.1", - "postcss-ordered-values": "^5.0.2", - "postcss-reduce-initial": "^5.0.1", - "postcss-reduce-transforms": "^5.0.1", - "postcss-svgo": "^5.0.2", - "postcss-unique-selectors": "^5.0.1" - } - }, - "cssnano-utils": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-2.0.1.tgz", - "integrity": "sha512-i8vLRZTnEH9ubIyfdZCAdIdgnHAUeQeByEeQ2I7oTilvP9oHO6RScpeq3GsFUVqeB8uZgOQ9pw8utofNn32hhQ==", - "dev": true, - "requires": {} - }, - "csso": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", - "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", + "@typescript-eslint/typescript-estree": { + "version": "4.23.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.23.0.tgz", + "integrity": "sha512-5Sty6zPEVZF5fbvrZczfmLCOcby3sfrSPu30qKoY1U3mca5/jvU5cwsPb/CO6Q3ByRjixTMIVsDkqwIxCf/dMw==", "dev": true, "requires": { - "css-tree": "^1.1.2" + "@typescript-eslint/types": "4.23.0", + "@typescript-eslint/visitor-keys": "4.23.0", + "debug": "^4.1.1", + "globby": "^11.0.1", + "is-glob": "^4.0.1", + "semver": "^7.3.2", + "tsutils": "^3.17.1" + }, + "dependencies": { + "@typescript-eslint/visitor-keys": { + "version": "4.23.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.23.0.tgz", + "integrity": "sha512-5PNe5cmX9pSifit0H+nPoQBXdbNzi5tOEec+3riK+ku4e3er37pKxMKDH5Ct5Y4fhWxcD4spnlYjxi9vXbSpwg==", + "dev": true, + "requires": { + "@typescript-eslint/types": "4.23.0", + "eslint-visitor-keys": "^2.0.0" + } + } } }, - "custom-event": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/custom-event/-/custom-event-1.0.1.tgz", - "integrity": "sha1-XQKkaFCt8bSjF5RqOSj8y1v9BCU=", - "dev": true - }, - "dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "@typescript-eslint/visitor-keys": { + "version": "4.16.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.16.1.tgz", + "integrity": "sha512-s/aIP1XcMkEqCNcPQtl60ogUYjSM8FU2mq1O7y5cFf3Xcob1z1iXWNB6cC43Op+NGRTFgGolri6s8z/efA9i1w==", "dev": true, "requires": { - "assert-plus": "^1.0.0" + "@typescript-eslint/types": "4.16.1", + "eslint-visitor-keys": "^2.0.0" + }, + "dependencies": { + "@typescript-eslint/types": { + "version": "4.16.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.16.1.tgz", + "integrity": "sha512-nnKqBwMgRlhzmJQF8tnFDZWfunXmJyuXj55xc8Kbfup4PbkzdoDXZvzN8//EiKR27J6vUSU8j4t37yUuYPiLqA==", + "dev": true + } } }, - "date-format": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/date-format/-/date-format-3.0.0.tgz", - "integrity": "sha512-eyTcpKOcamdhWJXj56DpQMo1ylSQpcGtGKXcU0Tb97+K56/CF5amAqqqNj0+KvA0iw2ynxtHWFsPDSClCxe48w==", - "dev": true - }, - "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "@webassemblyjs/ast": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", + "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==", "dev": true, "requires": { - "ms": "2.1.2" + "@webassemblyjs/helper-numbers": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1" } }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz", + "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==", "dev": true }, - "decode-uri-component": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", + "@webassemblyjs/helper-api-error": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz", + "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==", "dev": true }, - "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, - "requires": { - "is-arguments": "^1.0.4", - "is-date-object": "^1.0.1", - "is-regex": "^1.0.4", - "object-is": "^1.0.1", - "object-keys": "^1.1.1", - "regexp.prototype.flags": "^1.2.0" - } - }, - "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=", + "@webassemblyjs/helper-buffer": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz", + "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==", "dev": true }, - "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, - "requires": { - "execa": "^1.0.0", - "ip-regex": "^2.1.0" - } - }, - "defaults": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", - "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", + "@webassemblyjs/helper-numbers": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz", + "integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==", "dev": true, "requires": { - "clone": "^1.0.2" + "@webassemblyjs/floating-point-hex-parser": "1.11.1", + "@webassemblyjs/helper-api-error": "1.11.1", + "@xtuc/long": "4.2.2" } }, - "define-lazy-prop": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", - "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz", + "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==", "dev": true }, - "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==", + "@webassemblyjs/helper-wasm-section": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz", + "integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==", "dev": true, "requires": { - "object-keys": "^1.0.12" + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1" } }, - "define-property": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", - "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "@webassemblyjs/ieee754": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz", + "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==", "dev": true, "requires": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" + "@xtuc/ieee754": "^1.2.0" } }, - "del": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/del/-/del-2.2.2.tgz", - "integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=", + "@webassemblyjs/leb128": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz", + "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==", "dev": true, - "requires": { - "globby": "^5.0.0", - "is-path-cwd": "^1.0.0", - "is-path-in-cwd": "^1.0.0", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "rimraf": "^2.2.8" - }, - "dependencies": { - "array-union": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", - "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", - "dev": true, - "requires": { - "array-uniq": "^1.0.1" - } - }, - "globby": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz", - "integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=", - "dev": true, - "requires": { - "array-union": "^1.0.1", - "arrify": "^1.0.0", - "glob": "^7.0.3", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - } + "requires": { + "@xtuc/long": "4.2.2" } }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "@webassemblyjs/utf8": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz", + "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==", "dev": true }, - "delegates": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", - "dev": true + "@webassemblyjs/wasm-edit": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz", + "integrity": "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/helper-wasm-section": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1", + "@webassemblyjs/wasm-opt": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1", + "@webassemblyjs/wast-printer": "1.11.1" + } }, - "depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", + "@webassemblyjs/wasm-gen": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz", + "integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/ieee754": "1.11.1", + "@webassemblyjs/leb128": "1.11.1", + "@webassemblyjs/utf8": "1.11.1" + } + }, + "@webassemblyjs/wasm-opt": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz", + "integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1" + } + }, + "@webassemblyjs/wasm-parser": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz", + "integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-api-error": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/ieee754": "1.11.1", + "@webassemblyjs/leb128": "1.11.1", + "@webassemblyjs/utf8": "1.11.1" + } + }, + "@webassemblyjs/wast-printer": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz", + "integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.1", + "@xtuc/long": "4.2.2" + } + }, + "@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 }, - "dependency-graph": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.11.0.tgz", - "integrity": "sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg==", + "@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 }, - "destroy": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", - "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", + "@yarnpkg/lockfile": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz", + "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==", "dev": true }, - "detect-node": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", - "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", + "abab": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", + "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", "dev": true }, - "di": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/di/-/di-0.0.1.tgz", - "integrity": "sha1-gGZJMmzqp8qjMG112YXqJ0i6kTw=", + "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 }, - "diff": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "dev": true, + "requires": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + } + }, + "acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", "dev": true }, - "dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "requires": {} + }, + "adjust-sourcemap-loader": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-4.0.0.tgz", + "integrity": "sha512-OXwN5b9pCUXNQHJpwwD2qP40byEmSgzj8B4ydSN0uMNYWiFmJ6x6KwUllMmfk8Rwu/HJDFR7U8ubsWBoN0Xp0A==", "dev": true, "requires": { - "path-type": "^4.0.0" + "loader-utils": "^2.0.0", + "regex-parser": "^2.2.11" } }, - "dns-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", - "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=", + "adm-zip": { + "version": "0.4.16", + "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.16.tgz", + "integrity": "sha512-TFi4HBKSGfIKsK5YCkKaaFG2m4PEDyViZmEwof3MTIgzimHLto6muaHVpbrljdIvIrFZzEq/p4nafOeLcYegrg==", "dev": true }, - "dns-packet": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.4.tgz", - "integrity": "sha512-BQ6F4vycLXBvdrJZ6S3gZewt6rcrks9KBgM9vrhW+knGRqc8uEdT7fuCwloc7nny5xNoMJ17HGH0R/6fpo8ECA==", + "agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", "dev": true, "requires": { - "ip": "^1.1.0", - "safe-buffer": "^5.0.1" + "debug": "4" } }, - "dns-txt": { + "agentkeepalive": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.2.1.tgz", + "integrity": "sha512-Zn4cw2NEqd+9fiSVWMscnjyQ1a8Yfoc5oBajLeo5w+YBHgDUcEBY2hS4YpTz6iN5f/2zQiktcuM6tS8x1p9dpA==", + "dev": true, + "requires": { + "debug": "^4.1.0", + "depd": "^1.1.2", + "humanize-ms": "^1.2.1" + } + }, + "aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "dev": true, + "requires": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + } + }, + "ajv": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.2.0.tgz", + "integrity": "sha512-WSNGFuyWd//XO8n/m/EaOlNLtO0yL8EXT/74LqT4khdhpZjP7lkj/kT5uwRmGitKEVp/Oj7ZUHeGfPtgHhQ5CA==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "ajv-formats": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz", - "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.0.2.tgz", + "integrity": "sha512-Brah4Uo5/U8v76c6euTwtjVFFaVishwnJrQBYpev1JRh4vjA1F4HY3UzQez41YUCszUCXKagG8v6eVRBHV1gkw==", "dev": true, "requires": { - "buffer-indexof": "^1.0.0" + "ajv": "^8.0.0" } }, - "doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "ansi-colors": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", + "dev": true + }, + "ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", "dev": true, "requires": { - "esutils": "^2.0.2" + "type-fest": "^0.21.3" } }, - "dom-serialize": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/dom-serialize/-/dom-serialize-2.2.1.tgz", - "integrity": "sha1-ViromZ9Evl6jB29UGdzVnrQ6yVs=", + "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": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "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": { - "custom-event": "~1.0.0", - "ent": "~2.2.0", - "extend": "^3.0.0", - "void-elements": "^2.0.0" + "color-convert": "^1.9.0" } }, - "dom-serializer": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.1.tgz", - "integrity": "sha512-l0IU0pPzLWSHBcieZbpOKgkIn3ts3vAh7ZuFyXNwJxJXk/c4Gwj9xaTJwIDVQCXawWD0qb3IzMGH5rglQaO0XA==", + "anymatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", "dev": true, "requires": { - "domelementtype": "^1.3.0", - "entities": "^1.1.1" + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" } }, - "domelementtype": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", - "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==", + "aproba": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", + "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==", "dev": true }, - "domhandler": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz", - "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", + "are-we-there-yet": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.0.tgz", + "integrity": "sha512-0GWpv50YSOcLXaN6/FAKY3vfRbllXWV2xvfA/oKJF8pzFhWXPV+yjhJXDBbjscDYowv7Yw1A3uigpzn5iEGTyw==", "dev": true, "requires": { - "domelementtype": "1" + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" } }, - "domutils": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", - "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", + "arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", + "dev": true + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dev": true, "requires": { - "dom-serializer": "0", - "domelementtype": "1" + "sprintf-js": "~1.0.2" } }, - "ecc-jsbn": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "aria-query": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-4.2.2.tgz", + "integrity": "sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA==", "dev": true, "requires": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" + "@babel/runtime": "^7.10.2", + "@babel/runtime-corejs3": "^7.10.2" } }, - "ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", - "dev": true - }, - "electron-to-chromium": { - "version": "1.3.778", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.778.tgz", - "integrity": "sha512-Lw04qJaPtWdq0d7qKHJTgkam+FhFi3hm/scf1EyqJWdjO3ZIGUJhNmZJRXWb7yb/bRYXQyVGSpa9RqVpjjWMQw==", + "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 }, - "elementtree": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/elementtree/-/elementtree-0.1.7.tgz", - "integrity": "sha1-mskb5uUvtuYkTE5UpKw+2K6OKcA=", + "array-includes": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.3.tgz", + "integrity": "sha512-gcem1KlBU7c9rB+Rq8/3PPKsK2kjqeEBa3bD5kkQo4nYlOHQCJqIJFqBXDEfwaRuYTT4E+FxA9xez7Gf/e3Q7A==", "dev": true, "requires": { - "sax": "1.1.4" - }, - "dependencies": { - "sax": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.1.4.tgz", - "integrity": "sha1-dLbTPJrh4AFRDxeakRaFiPGu2qk=", - "dev": true - } + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.2", + "get-intrinsic": "^1.1.1", + "is-string": "^1.0.5" } }, - "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 - }, - "emojis-list": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", - "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", "dev": true }, - "encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", + "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 }, - "encoding": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", - "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", + "array.prototype.flat": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.4.tgz", + "integrity": "sha512-4470Xi3GAPAjZqFcljX2xzckv1qeKPizoNkiS0+O4IoPR2ZNpcjE0pkhdihlDouK+x6QOast26B4Q/O9DJnwSg==", "dev": true, - "optional": true, "requires": { - "iconv-lite": "^0.6.2" - }, - "dependencies": { - "iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "dev": true, - "optional": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - } - } + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.1" } }, - "end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "dev": true, - "requires": { - "once": "^1.4.0" - } + "arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", + "dev": true }, - "engine.io": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-4.1.1.tgz", - "integrity": "sha512-t2E9wLlssQjGw0nluF6aYyfX8LwYU8Jj0xct+pAhfWfv/YrBn6TSNtEYsgxHIfaMqfrLx07czcMg9bMN6di+3w==", + "asn1": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", + "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", "dev": true, "requires": { - "accepts": "~1.3.4", - "base64id": "2.0.0", - "cookie": "~0.4.1", - "cors": "~2.8.5", - "debug": "~4.3.1", - "engine.io-parser": "~4.0.0", - "ws": "~7.4.2" - }, - "dependencies": { - "ws": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz", - "integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==", - "dev": true, - "requires": {} - } + "safer-buffer": "~2.1.0" } }, - "engine.io-parser": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-4.0.2.tgz", - "integrity": "sha512-sHfEQv6nmtJrq6TKuIz5kyEKH/qSdK56H/A+7DnAuUPWosnIZAS2NHNcPLmyjtY3cGS/MqJdZbUjW97JU72iYg==", - "dev": true, + "asn1.js": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", + "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", "requires": { - "base64-arraybuffer": "0.1.4" + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "safer-buffer": "^2.1.0" } }, - "enhanced-resolve": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.7.0.tgz", - "integrity": "sha512-6njwt/NsZFUKhM6j9U8hzVyD4E4r0x7NQzhTCbcWOJ0IQjNSAoalWmb0AE51Wn+fwan5qVESWi7t2ToBxs9vrw==", + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true + }, + "astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "dev": true + }, + "async": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", + "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", "dev": true, "requires": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" + "lodash": "^4.17.14" } }, - "enquirer": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", - "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" + }, + "at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "dev": true + }, + "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 + }, + "autoprefixer": { + "version": "10.4.7", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.7.tgz", + "integrity": "sha512-ypHju4Y2Oav95SipEcCcI5J7CGPuvz8oat7sUtYj3ClK44bldfvtvcxK6IEK++7rqB7YchDGzweZIBG+SD0ZAA==", "dev": true, "requires": { - "ansi-colors": "^4.1.1" + "browserslist": "^4.20.3", + "caniuse-lite": "^1.0.30001335", + "fraction.js": "^4.2.0", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.0", + "postcss-value-parser": "^4.2.0" } }, - "ent": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/ent/-/ent-2.2.0.tgz", - "integrity": "sha1-6WQhkyWiHQX0RGai9obtbOX13R0=", + "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 }, - "entities": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", - "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==", + "aws4": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", + "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==", "dev": true }, - "env-paths": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", - "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "axobject-query": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-2.2.0.tgz", + "integrity": "sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA==", "dev": true }, - "err-code": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", - "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==", - "dev": true + "babel-loader": { + "version": "8.2.5", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.5.tgz", + "integrity": "sha512-OSiFfH89LrEMiWd4pLNqGz4CwJDtbs2ZVc+iGu2HrkRfPxId9F2anQj38IxWpmRfsUY0aBZYi1EFcd3mhtRMLQ==", + "dev": true, + "requires": { + "find-cache-dir": "^3.3.1", + "loader-utils": "^2.0.0", + "make-dir": "^3.1.0", + "schema-utils": "^2.6.5" + } }, - "errno": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", - "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", + "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, "requires": { - "prr": "~1.0.1" + "object.assign": "^4.1.0" } }, - "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==", + "babel-plugin-istanbul": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", + "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", "dev": true, "requires": { - "is-arrayish": "^0.2.1" + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^5.0.4", + "test-exclude": "^6.0.0" + }, + "dependencies": { + "istanbul-lib-instrument": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.0.tgz", + "integrity": "sha512-6Lthe1hqXHBNsqvgDzGO6l03XNeu3CrG4RqQ1KM9+l5+jNGpEJfIELx1NS3SEHmJQA8np/u+E4EPRKRiu6m19A==", + "dev": true, + "requires": { + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^6.3.0" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } } }, - "es-abstract": { - "version": "1.18.3", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.3.tgz", - "integrity": "sha512-nQIr12dxV7SSxE6r6f1l3DtAeEYdsGpps13dR0TwJg1S8gyp4ZPgy3FZcHBgbiQqnoqSTb+oC+kO4UQ0C/J8vw==", + "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, "requires": { - "call-bind": "^1.0.2", - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "get-intrinsic": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.2", - "is-callable": "^1.2.3", - "is-negative-zero": "^2.0.1", - "is-regex": "^1.1.3", - "is-string": "^1.0.6", - "object-inspect": "^1.10.3", - "object-keys": "^1.1.1", - "object.assign": "^4.1.2", - "string.prototype.trimend": "^1.0.4", - "string.prototype.trimstart": "^1.0.4", - "unbox-primitive": "^1.0.1" + "@babel/compat-data": "^7.13.11", + "@babel/helper-define-polyfill-provider": "^0.3.1", + "semver": "^6.1.1" + }, + "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 + } } }, - "es-module-lexer": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.4.1.tgz", - "integrity": "sha512-ooYciCUtfw6/d2w56UVeqHPcoCFAiJdz5XOkYpv/Txl1HMUozpXjz/2RIQgqwKdXNDPSF1W7mJCFse3G+HDyAA==", - "dev": true + "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, + "requires": { + "@babel/helper-define-polyfill-provider": "^0.3.1", + "core-js-compat": "^3.21.0" + } }, - "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==", + "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, "requires": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" + "@babel/helper-define-polyfill-provider": "^0.3.1" } }, - "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==", + "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 }, - "es6-promisify": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", - "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=", + "base64-arraybuffer": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.4.tgz", + "integrity": "sha1-mBjHngWbE1X5fgQooBfIOOkLqBI=", + "dev": true + }, + "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 + }, + "base64id": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz", + "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==", + "dev": true + }, + "batch": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", + "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==", + "dev": true + }, + "bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", "dev": true, "requires": { - "es6-promise": "^4.0.3" + "tweetnacl": "^0.14.3" } }, - "escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "big-integer": { + "version": "1.6.48", + "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.48.tgz", + "integrity": "sha512-j51egjPa7/i+RdiRuJbPdJ2FIUYYPhvYLjzoYbcMMm62ooO6F94fETG4MTs46zPAF9Brs04OajboA/qTGuz78w==", "dev": true }, - "escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", + "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 }, - "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=", + "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 }, - "eslint": { - "version": "7.30.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.30.0.tgz", - "integrity": "sha512-VLqz80i3as3NdloY44BQSJpFw534L9Oh+6zJOUaViV4JPd+DaHwutqP7tcpkW3YiXbK6s05RZl7yl7cQn+lijg==", + "bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", "dev": true, "requires": { - "@babel/code-frame": "7.12.11", - "@eslint/eslintrc": "^0.4.2", - "@humanwhocodes/config-array": "^0.5.0", - "ajv": "^6.10.0", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.0.1", - "doctrine": "^3.0.0", - "enquirer": "^2.3.5", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^5.1.1", - "eslint-utils": "^2.1.0", - "eslint-visitor-keys": "^2.0.0", - "espree": "^7.3.1", - "esquery": "^1.4.0", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "functional-red-black-tree": "^1.0.1", - "glob-parent": "^5.1.2", - "globals": "^13.6.0", - "ignore": "^4.0.6", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "js-yaml": "^3.13.1", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.0.4", - "natural-compare": "^1.4.0", - "optionator": "^0.9.1", - "progress": "^2.0.0", - "regexpp": "^3.1.0", - "semver": "^7.2.1", - "strip-ansi": "^6.0.0", - "strip-json-comments": "^3.1.0", - "table": "^6.0.9", - "text-table": "^0.2.0", - "v8-compile-cache": "^2.0.3" - }, - "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" - } - }, - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", - "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true - }, - "globals": { - "version": "13.10.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.10.0.tgz", - "integrity": "sha512-piHC3blgLGFjvOuMmWZX60f+na1lXFDhQXBf1UYp2fXPXqvEUbOhNwi6BsQ0bQishwedgnjkwv1d9zKf+MWw3g==", - "dev": true, - "requires": { - "type-fest": "^0.20.2" - } - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "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 - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - }, - "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 - } + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" } }, - "eslint-import-resolver-node": { - "version": "0.3.4", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.4.tgz", - "integrity": "sha512-ogtf+5AB/O+nM6DIeBUNr2fuT7ot9Qg/1harBfBtaP13ekEWFQEEMP94BCB7zaNW3gyY+8SHYF00rnqYwXKWOA==", + "blakejs": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/blakejs/-/blakejs-1.2.1.tgz", + "integrity": "sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ==" + }, + "blocking-proxy": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/blocking-proxy/-/blocking-proxy-1.0.1.tgz", + "integrity": "sha512-KE8NFMZr3mN2E0HcvCgRtX7DjhiIQrwle+nSVJVC/yqFb9+xznHl2ZcoBp2L9qzkI4t4cBFJ1efXF8Dwi132RA==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + }, + "body-parser": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.0.tgz", + "integrity": "sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg==", "dev": true, "requires": { - "debug": "^2.6.9", - "resolve": "^1.13.1" + "bytes": "3.1.2", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.10.3", + "raw-body": "2.5.1", + "type-is": "~1.6.18", + "unpipe": "1.0.0" }, "dependencies": { "debug": { @@ -25369,323 +22280,542 @@ "ms": "2.0.0" } }, + "depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true + }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true + }, + "on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dev": true, + "requires": { + "ee-first": "1.1.1" + } } } }, - "eslint-module-utils": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.6.1.tgz", - "integrity": "sha512-ZXI9B8cxAJIH4nfkhTwcRTEAnrVfobYqwjWy/QMCZ8rHkZHFjf9yO4BzpiF9kCSfNlMG54eKigISHpX0+AaT4A==", + "bonjour": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz", + "integrity": "sha512-RaVTblr+OnEli0r/ud8InrU7D+G0y6aJhlxaLa6Pwty4+xoxboF1BsUI45tujvRpbj9dQVoglChqonGAsjEBYg==", "dev": true, "requires": { - "debug": "^3.2.7", - "pkg-dir": "^2.0.0" + "array-flatten": "^2.1.0", + "deep-equal": "^1.0.1", + "dns-equal": "^1.0.0", + "dns-txt": "^2.0.2", + "multicast-dns": "^6.0.1", + "multicast-dns-service-types": "^1.1.0" + } + }, + "boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", + "dev": true + }, + "bplist-parser": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.2.0.tgz", + "integrity": "sha512-z0M+byMThzQmD9NILRniCUXYsYpjwnlO8N5uCFaCqIOpqRsJCrQL9NK3JsD67CN5a08nF5oIL2bD6loTdHOuKw==", + "dev": true, + "requires": { + "big-integer": "^1.6.44" + } + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==" + }, + "browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "requires": { + "buffer-xor": "^1.0.3", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.3", + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "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==", + "requires": { + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" + } + }, + "browserify-des": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", + "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", + "requires": { + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "browserify-rsa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", + "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", + "requires": { + "bn.js": "^5.0.0", + "randombytes": "^2.0.1" }, "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } + "bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" } } }, - "eslint-plugin-import": { - "version": "2.22.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.22.1.tgz", - "integrity": "sha512-8K7JjINHOpH64ozkAhpT3sd+FswIZTfMZTjdx052pnWrgRCVfp8op9tbjpAk3DdUeI/Ba4C8OjdC0r90erHEOw==", + "browserify-sign": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz", + "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==", + "requires": { + "bn.js": "^5.1.1", + "browserify-rsa": "^4.0.1", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "elliptic": "^6.5.3", + "inherits": "^2.0.4", + "parse-asn1": "^5.1.5", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + }, + "dependencies": { + "bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" + }, + "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==" + } + } + }, + "browserslist": { + "version": "4.21.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.0.tgz", + "integrity": "sha512-UQxE0DIhRB5z/zDz9iA03BOfxaN2+GQdBYH/2WrSIWEUrnpzTPJbhqt+umq6r3acaPRTW1FNTkrcp0PXgtFkvA==", "dev": true, "requires": { - "array-includes": "^3.1.1", - "array.prototype.flat": "^1.2.3", - "contains-path": "^0.1.0", - "debug": "^2.6.9", - "doctrine": "1.5.0", - "eslint-import-resolver-node": "^0.3.4", - "eslint-module-utils": "^2.6.0", - "has": "^1.0.3", - "minimatch": "^3.0.4", - "object.values": "^1.1.1", - "read-pkg-up": "^2.0.0", - "resolve": "^1.17.0", - "tsconfig-paths": "^3.9.0" + "caniuse-lite": "^1.0.30001358", + "electron-to-chromium": "^1.4.164", + "node-releases": "^2.0.5", + "update-browserslist-db": "^1.0.0" + } + }, + "browserstack": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/browserstack/-/browserstack-1.6.1.tgz", + "integrity": "sha512-GxtFjpIaKdbAyzHfFDKixKO8IBT7wR3NjbzrGc78nNs/Ciys9wU3/nBtsqsWv5nDSrdI5tz0peKuzCPuNXNUiw==", + "dev": true, + "requires": { + "https-proxy-agent": "^2.2.1" }, "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "agent-base": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz", + "integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==", "dev": true, "requires": { - "ms": "2.0.0" + "es6-promisify": "^5.0.0" } }, - "doctrine": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz", - "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, "requires": { - "esutils": "^2.0.2", - "isarray": "^1.0.0" + "ms": "^2.1.1" } }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true + "https-proxy-agent": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz", + "integrity": "sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg==", + "dev": true, + "requires": { + "agent-base": "^4.3.0", + "debug": "^3.1.0" + } } } }, - "eslint-plugin-jsdoc": { - "version": "30.7.6", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-30.7.6.tgz", - "integrity": "sha512-w18IOiS/9ahKgRfQOuHbce+EQYx3fwIkZhUZDEK+augNlhJkzgTSZkrBkzaflSbFNZ9/Tk4xzUABEaTbsBSzew==", + "buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=", + "dev": true + }, + "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==", + "dev": true + }, + "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 + }, + "buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==" + }, + "bufferutil": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.6.tgz", + "integrity": "sha512-jduaYOYtnio4aIAyc6UbvPCVcgq7nYpVnucyxr6eCYg/Woad9Hf/oxxBRDnGGjPfjUm6j5O/uBWhIu4iLebFaw==", + "requires": { + "node-gyp-build": "^4.3.0" + } + }, + "builtins": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/builtins/-/builtins-1.0.3.tgz", + "integrity": "sha512-uYBjakWipfaO/bXI7E8rq6kpwHRZK5cNYrUv2OzZSI/FvmdMyXJ2tG9dKcjEC5YHmHpUAwsargWIZNWdxb/bnQ==", + "dev": true + }, + "bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "dev": true + }, + "cacache": { + "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", + "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" + } + }, + "call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + } + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true + }, + "camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==" + }, + "caniuse-lite": { + "version": "1.0.30001358", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001358.tgz", + "integrity": "sha512-hvp8PSRymk85R20bsDra7ZTCpSVGN/PAz9pSAjPSjKC+rNmnUk5vCRgJwiTT/O4feQ/yu/drvZYpKxxhbFuChw==", + "dev": true + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", + "dev": true + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, "requires": { - "comment-parser": "^0.7.6", - "debug": "^4.2.0", - "jsdoctypeparser": "^9.0.0", - "lodash": "^4.17.20", - "regextras": "^0.7.1", - "semver": "^7.3.2", - "spdx-expression-parse": "^3.0.1" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, - "eslint-plugin-prefer-arrow": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-prefer-arrow/-/eslint-plugin-prefer-arrow-1.2.2.tgz", - "integrity": "sha512-C8YMhL+r8RMeMdYAw/rQtE6xNdMulj+zGWud/qIGnlmomiPRaLDGLMeskZ3alN6uMBojmooRimtdrXebLN4svQ==", + "chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", + "dev": true + }, + "cheerio": { + "version": "1.0.0-rc.3", + "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.3.tgz", + "integrity": "sha512-0td5ijfUPuubwLUu0OBoe98gZj8C/AA+RW3v67GPlGOrvxWjZmBXiBCRU+I8VEiNyJzjth40POfHiz2RB3gImA==", "dev": true, - "requires": {} + "requires": { + "css-select": "~1.2.0", + "dom-serializer": "~0.1.1", + "entities": "~1.1.1", + "htmlparser2": "^3.9.1", + "lodash": "^4.15.0", + "parse5": "^3.0.1" + } }, - "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==", + "chokidar": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz", + "integrity": "sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==", "dev": true, "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "fsevents": "~2.3.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" } }, - "eslint-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", - "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", + "chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "dev": true + }, + "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 + }, + "cipher-base": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "circular-dependency-plugin": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/circular-dependency-plugin/-/circular-dependency-plugin-5.2.2.tgz", + "integrity": "sha512-g38K9Cm5WRwlaH6g03B9OEz/0qRizI+2I7n+Gz+L5DxXJAPAiWQvwlYNm1V1jkdpUv95bOe/ASm2vfi/G560jQ==", + "dev": true, + "requires": {} + }, + "clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "dev": true + }, + "cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", "dev": true, "requires": { - "eslint-visitor-keys": "^1.1.0" - }, - "dependencies": { - "eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "dev": true - } + "restore-cursor": "^3.1.0" } }, - "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==", + "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==", "dev": true }, - "espree": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", - "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", + "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 + }, + "cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", "dev": true, "requires": { - "acorn": "^7.4.0", - "acorn-jsx": "^5.3.1", - "eslint-visitor-keys": "^1.3.0" - }, - "dependencies": { - "eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "dev": true - } + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" } }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", "dev": true }, - "esquery": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", - "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", + "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, "requires": { - "estraverse": "^5.1.0" - }, - "dependencies": { - "estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", - "dev": true - } + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" } }, - "esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "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": { - "estraverse": "^5.2.0" - }, - "dependencies": { - "estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", - "dev": true - } + "color-name": "1.1.3" } }, - "estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", "dev": true }, - "esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "color-support": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", + "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", "dev": true }, - "etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", + "colorette": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.1.0.tgz", + "integrity": "sha512-6S062WDQUXi6hOfkO/sBPVwE5ASXY4G2+b4atvhJfSsuUUhIaUKlkjLe9692Ipyt5/a+IPF5aVTu3V5gvXq5cg==", "dev": true }, - "eventemitter3": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", - "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", + "colors": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", + "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", "dev": true }, - "events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "comment-parser": { + "version": "0.7.6", + "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-0.7.6.tgz", + "integrity": "sha512-GKNxVA7/iuTnAqGADlTWX4tkhzxZKXp5fLJqKTlQLHkE65XDUKutZ3BHaJC5IGcper2tT3QRD1xr4o3jNpgXXg==", "dev": true }, - "eventsource": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-1.1.0.tgz", - "integrity": "sha512-VSJjT5oCNrFvCS6igjzPAt5hBzQ2qPBFIbJ03zLI9SE0mxwZpMw6BfJrbFHm1a141AavMEB8JHmBhWAd66PfCg==", + "commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", + "dev": true + }, + "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 + }, + "compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", "dev": true, "requires": { - "original": "^1.0.0" + "mime-db": ">= 1.43.0 < 2" } }, - "execa": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", - "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "compression": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", + "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", "dev": true, "requires": { - "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" + "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" }, "dependencies": { - "cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "dev": true, - "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - }, - "path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", - "dev": true - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - }, - "shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", - "dev": true, - "requires": { - "shebang-regex": "^1.0.0" - } - }, - "shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", "dev": true }, - "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - } - } - }, - "exit": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", - "dev": true - }, - "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, - "requires": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { "debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", @@ -25695,145 +22825,32 @@ "ms": "2.0.0" } }, - "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, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "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, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "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, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "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, - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - } - }, - "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 - }, - "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 - }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true } } }, - "express": { - "version": "4.17.1", - "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", - "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", + "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 + }, + "connect": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz", + "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==", "dev": true, "requires": { - "accepts": "~1.3.7", - "array-flatten": "1.1.1", - "body-parser": "1.19.0", - "content-disposition": "0.5.3", - "content-type": "~1.0.4", - "cookie": "0.4.0", - "cookie-signature": "1.0.6", "debug": "2.6.9", - "depd": "~1.1.2", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "~1.1.2", - "fresh": "0.5.2", - "merge-descriptors": "1.0.1", - "methods": "~1.1.2", - "on-finished": "~2.3.0", + "finalhandler": "1.1.2", "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.5", - "qs": "6.7.0", - "range-parser": "~1.2.1", - "safe-buffer": "5.1.2", - "send": "0.17.1", - "serve-static": "1.14.1", - "setprototypeof": "1.1.1", - "statuses": "~1.5.0", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" + "utils-merge": "1.0.1" }, "dependencies": { - "array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", - "dev": true - }, - "cookie": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", - "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==", - "dev": true - }, "debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", @@ -25851,3393 +22868,3868 @@ } } }, - "extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "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 }, - "extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "dev": true, - "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - } + "console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==", + "dev": true }, - "external-editor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", - "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", - "dev": true, - "requires": { - "chardet": "^0.7.0", - "iconv-lite": "^0.4.24", - "tmp": "^0.0.33" - } + "contains-path": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/contains-path/-/contains-path-0.1.0.tgz", + "integrity": "sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=", + "dev": true }, - "extglob": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", "dev": true, "requires": { - "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" + "safe-buffer": "5.2.1" }, "dependencies": { - "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, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "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 } } }, - "extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", - "dev": true - }, - "fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true - }, - "fast-glob": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz", - "integrity": "sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==", - "dev": true, - "requires": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - } - }, - "fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true - }, - "fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "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 }, - "fastq": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.11.1.tgz", - "integrity": "sha512-HOnr8Mc60eNYl1gzwp6r5RoUyAn5/glBolUzP/Ez6IFVPMPirxn/9phgL6zhOtaTy7ISwPvQ+wT+hfcRZh/bzw==", - "dev": true, - "requires": { - "reusify": "^1.0.4" - } - }, - "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, - "requires": { - "websocket-driver": ">=0.5.1" - } - }, - "fd-slicer": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", - "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=", - "dev": true, - "requires": { - "pend": "~1.2.0" - } - }, - "figures": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", - "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "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, "requires": { - "escape-string-regexp": "^1.0.5" + "safe-buffer": "~5.1.1" } }, - "file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", - "dev": true, - "requires": { - "flat-cache": "^3.0.4" - } + "cookie": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz", + "integrity": "sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==", + "dev": true }, - "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, - "optional": true + "cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", + "dev": true }, - "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==", + "copy-anything": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-2.0.6.tgz", + "integrity": "sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==", "dev": true, "requires": { - "to-regex-range": "^5.0.1" + "is-what": "^3.14.1" } }, - "finalhandler": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", - "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "copy-webpack-plugin": { + "version": "10.2.1", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-10.2.1.tgz", + "integrity": "sha512-nr81NhCAIpAWXGCK5thrKmfCQ6GDY0L5RN0U+BnIn/7Us55+UCex5ANNsNKmIVtDRnk0Ecf+/kzp9SUVrrBMLg==", "dev": true, "requires": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "~2.3.0", - "parseurl": "~1.3.3", - "statuses": "~1.5.0", - "unpipe": "~1.0.0" + "fast-glob": "^3.2.7", + "glob-parent": "^6.0.1", + "globby": "^12.0.2", + "normalize-path": "^3.0.0", + "schema-utils": "^4.0.0", + "serialize-javascript": "^6.0.0" }, "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "ajv": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", + "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", "dev": true, "requires": { - "ms": "2.0.0" + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" } }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } - } - }, - "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==", - "dev": true, - "requires": { - "commondir": "^1.0.1", - "make-dir": "^3.0.2", - "pkg-dir": "^4.1.0" - }, - "dependencies": { - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", "dev": true, "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" + "ajv": "^8.0.0" } }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", "dev": true, "requires": { - "p-locate": "^4.1.0" + "fast-deep-equal": "^3.1.3" } }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "array-union": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-3.0.1.tgz", + "integrity": "sha512-1OvF9IbWwaeiM9VhzYXVQacMibxpXOMYVNIvMtKRyX9SImBXpKcFr8XvFDeEslCyuH/t6KRt7HEO94AlP8Iatw==", + "dev": true + }, + "glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", "dev": true, "requires": { - "p-try": "^2.0.0" + "is-glob": "^4.0.3" } }, - "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==", + "globby": { + "version": "12.2.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-12.2.0.tgz", + "integrity": "sha512-wiSuFQLZ+urS9x2gGPl1H5drc5twabmm4m2gTR27XDFyjUHJUNsS8o/2aKyIF6IoBaR630atdher0XJ5g6OMmA==", "dev": true, "requires": { - "p-limit": "^2.2.0" + "array-union": "^3.0.1", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.7", + "ignore": "^5.1.9", + "merge2": "^1.4.1", + "slash": "^4.0.0" } }, - "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==", + "ignore": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", + "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", "dev": true }, - "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==", + "schema-utils": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", + "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", "dev": true, "requires": { - "find-up": "^4.0.0" + "@types/json-schema": "^7.0.9", + "ajv": "^8.8.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.0.0" + } + }, + "serialize-javascript": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", + "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", + "dev": true, + "requires": { + "randombytes": "^2.1.0" } + }, + "slash": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", + "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", + "dev": true } } }, - "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "dev": true, - "requires": { - "locate-path": "^2.0.0" - } + "core-js": { + "version": "3.20.3", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.20.3.tgz", + "integrity": "sha512-vVl8j8ph6tRS3B8qir40H7yw7voy17xL0piAjlbBUsH7WIfzoedL/ZOr1OV9FyZQLWXsayOJyV4tnRyXR85/ag==", + "dev": true }, - "flat-cache": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "core-js-compat": { + "version": "3.23.2", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.23.2.tgz", + "integrity": "sha512-lrgZvxFwbQp9v7E8mX0rJ+JX7Bvh4eGULZXA1IAyjlsnWvCdw6TF8Tg6xtaSUSJMrSrMaLdpmk+V54LM1dvfOA==", "dev": true, "requires": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" + "browserslist": "^4.20.4", + "semver": "7.0.0" + }, + "dependencies": { + "semver": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", + "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", + "dev": true + } } }, - "flatted": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.1.tgz", - "integrity": "sha512-OMQjaErSFHmHqZe+PSidH5n8j3O0F2DdnVh8JB4j4eUQ2k6KvB0qGfrKIhapvez5JerBbmWkaLYUYWISaESoXg==", - "dev": true - }, - "flatten": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/flatten/-/flatten-1.0.3.tgz", - "integrity": "sha512-dVsPA/UwQ8+2uoFe5GHtiBMu48dWLTdsuEd7CKGlZlD78r1TTWBvDuFaFGKCo/ZfEr95Uk56vZoX86OsHkUeIg==", - "dev": true - }, - "follow-redirects": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.1.tgz", - "integrity": "sha512-HWqDgT7ZEkqRzBvc2s64vSZ/hfOceEol3ac/7tKwzuvEyWx3/4UegXh5oBOIotkGsObyk3xznnSRVADBgWSQVg==", + "core-js-pure": { + "version": "3.15.2", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.15.2.tgz", + "integrity": "sha512-D42L7RYh1J2grW8ttxoY1+17Y4wXZeKe7uyplAI3FkNQyI5OgBIAjUfFiTPfL1rs0qLpxaabITNbjKl1Sp82tA==", "dev": true }, - "for-in": { + "core-util-is": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", - "dev": true - }, - "forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", "dev": true }, - "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==", + "cors": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", + "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", "dev": true, "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" + "object-assign": "^4", + "vary": "^1" } }, - "forwarded": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", - "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", - "dev": true - }, - "fragment-cache": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", - "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "cosmiconfig": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz", + "integrity": "sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==", "dev": true, "requires": { - "map-cache": "^0.2.2" + "@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" } }, - "fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", - "dev": true - }, - "fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "dev": true, + "create-ecdh": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", + "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" + "bn.js": "^4.1.0", + "elliptic": "^6.5.3" } }, - "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, + "create-hash": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", "requires": { - "minipass": "^3.0.0" + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" } }, - "fs-monkey": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.3.tgz", - "integrity": "sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q==", - "dev": true - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true - }, - "fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, - "optional": true - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true - }, - "functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", - "dev": true + "create-hmac": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "requires": { + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } }, - "gauge": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", - "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", + "critters": { + "version": "0.0.16", + "resolved": "https://registry.npmjs.org/critters/-/critters-0.0.16.tgz", + "integrity": "sha512-JwjgmO6i3y6RWtLYmXwO5jMd+maZt8Tnfu7VVISmEWyQqfLpB8soBswf8/2bu6SBXxtKA68Al3c+qIG1ApT68A==", "dev": true, "requires": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" + "chalk": "^4.1.0", + "css-select": "^4.2.0", + "parse5": "^6.0.1", + "parse5-htmlparser2-tree-adapter": "^6.0.1", + "postcss": "^8.3.7", + "pretty-bytes": "^5.3.0" }, "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "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": { - "number-is-nan": "^1.0.0" + "boolbase": "^1.0.0", + "css-what": "^6.0.1", + "domhandler": "^4.3.1", + "domutils": "^2.8.0", + "nth-check": "^2.0.1" } }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "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": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" } }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "dev": true + }, + "domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", "dev": true, "requires": { - "ansi-regex": "^2.0.0" + "domelementtype": "^2.2.0" + } + }, + "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" + } + }, + "entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "dev": true, + "requires": { + "boolbase": "^1.0.0" + } + }, + "parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" } } } }, - "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 - }, - "get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true - }, - "get-intrinsic": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", - "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", "dev": true, "requires": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1" + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" } }, - "get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "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==", + "requires": { + "browserify-cipher": "^1.0.0", + "browserify-sign": "^4.0.0", + "create-ecdh": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.0", + "diffie-hellman": "^5.0.0", + "inherits": "^2.0.1", + "pbkdf2": "^3.0.3", + "public-encrypt": "^4.0.0", + "randombytes": "^2.0.0", + "randomfill": "^1.0.3" + } + }, + "css": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/css/-/css-3.0.0.tgz", + "integrity": "sha512-DG9pFfwOrzc+hawpmqX/dHYHJG+Bsdb0klhyi1sDneOgGOXy9wQIC8hzyVp1e4NRYDBdxcylvywPkkXCHAzTyQ==", "dev": true, "requires": { - "pump": "^3.0.0" + "inherits": "^2.0.4", + "source-map": "^0.6.1", + "source-map-resolve": "^0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } } }, - "get-value": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", - "dev": true - }, - "getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "css-blank-pseudo": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-3.0.3.tgz", + "integrity": "sha512-VS90XWtsHGqoM0t4KpH053c4ehxZ2E6HtGI7x68YFV0pTo/QmkV/YFA+NnlvK8guxZVNWGQhVNJGC39Q8XF4OQ==", "dev": true, "requires": { - "assert-plus": "^1.0.0" + "postcss-selector-parser": "^6.0.9" } }, - "glob": { - "version": "7.1.7", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", - "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", + "css-has-pseudo": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/css-has-pseudo/-/css-has-pseudo-3.0.4.tgz", + "integrity": "sha512-Vse0xpR1K9MNlp2j5w1pgWIJtm1a8qS0JwS9goFYcImjlHEmywP9VUF05aGBXzGpDJF86QXk4L0ypBmwPhGArw==", "dev": true, "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "postcss-selector-parser": "^6.0.9" } }, - "glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "css-loader": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.5.1.tgz", + "integrity": "sha512-gEy2w9AnJNnD9Kuo4XAP9VflW/ujKoS9c/syO+uWMlm5igc7LysKzPXaDoR2vroROkSwsTS2tGr1yGGEbZOYZQ==", "dev": true, "requires": { - "is-glob": "^4.0.1" + "icss-utils": "^5.1.0", + "postcss": "^8.2.15", + "postcss-modules-extract-imports": "^3.0.0", + "postcss-modules-local-by-default": "^4.0.0", + "postcss-modules-scope": "^3.0.0", + "postcss-modules-values": "^4.0.0", + "postcss-value-parser": "^4.1.0", + "semver": "^7.3.5" } }, - "glob-to-regexp": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", - "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", - "dev": true - }, - "globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true + "css-prefers-color-scheme": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-6.0.3.tgz", + "integrity": "sha512-4BqMbZksRkJQx2zAjrokiGMd07RqOa2IxIrrN10lyBe9xhn9DEvjUK79J6jkeiv9D9hQFXKb6g1jwU62jziJZA==", + "dev": true, + "requires": {} }, - "globby": { - "version": "11.0.4", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.4.tgz", - "integrity": "sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==", + "css-select": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz", + "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=", "dev": true, "requires": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.1.1", - "ignore": "^5.1.4", - "merge2": "^1.3.0", - "slash": "^3.0.0" - }, - "dependencies": { - "ignore": { - "version": "5.1.8", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", - "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", - "dev": true - } + "boolbase": "~1.0.0", + "css-what": "2.1", + "domutils": "1.5.1", + "nth-check": "~1.0.1" } }, - "graceful-fs": { - "version": "4.2.6", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz", - "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==", + "css-what": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.3.tgz", + "integrity": "sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg==", "dev": true }, - "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==", + "cssdb": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-5.1.0.tgz", + "integrity": "sha512-/vqjXhv1x9eGkE/zO6o8ZOI7dgdZbLVLUGyVRbPgk6YipXbW87YzUCcO+Jrmi5bwJlAH6oD+MNeZyRgXea1GZw==", "dev": true }, - "har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", + "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 }, - "har-validator": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", - "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", - "dev": true, + "cuint": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/cuint/-/cuint-0.2.2.tgz", + "integrity": "sha512-d4ZVpCW31eWwCMe1YT3ur7mUDnTXbgwyzaL320DrcRT45rfjYxkt5QWLrmOJ+/UEAI2+fQgKe/fCjR8l4TpRgw==" + }, + "custom-event": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/custom-event/-/custom-event-1.0.1.tgz", + "integrity": "sha1-XQKkaFCt8bSjF5RqOSj8y1v9BCU=", + "dev": true + }, + "d": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", + "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", "requires": { - "ajv": "^6.12.3", - "har-schema": "^2.0.0" - }, - "dependencies": { - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "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 - } + "es5-ext": "^0.10.50", + "type": "^1.0.1" } }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", "dev": true, "requires": { - "function-bind": "^1.1.1" + "assert-plus": "^1.0.0" } }, - "has-ansi": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "date-format": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/date-format/-/date-format-3.0.0.tgz", + "integrity": "sha512-eyTcpKOcamdhWJXj56DpQMo1ylSQpcGtGKXcU0Tb97+K56/CF5amAqqqNj0+KvA0iw2ynxtHWFsPDSClCxe48w==", + "dev": true + }, + "debug": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", + "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", "dev": true, "requires": { - "ansi-regex": "^2.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true - } + "ms": "2.1.2" } }, - "has-bigints": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz", - "integrity": "sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==", + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", "dev": true }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha512-hjf+xovcEn31w/EUYdTXQh/8smFL/dzYjohQGEIgjyNavaJfBY2p5F527Bo1VPATxv0VYTUC2bOcXvqFwk78Og==", "dev": true }, - "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==", - "dev": true + "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, + "requires": { + "is-arguments": "^1.0.4", + "is-date-object": "^1.0.1", + "is-regex": "^1.0.4", + "object-is": "^1.0.1", + "object-keys": "^1.1.1", + "regexp.prototype.flags": "^1.2.0" + } }, - "has-unicode": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", + "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=", "dev": true }, - "has-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", - "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "default-gateway": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", + "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", "dev": true, "requires": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" + "execa": "^5.0.0" } }, - "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=", + "defaults": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", + "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", "dev": true, "requires": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" - }, - "dependencies": { - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } + "clone": "^1.0.2" } }, - "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==", + "define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", "dev": true }, - "hosted-git-info": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz", - "integrity": "sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==", + "define-properties": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", + "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", "dev": true, "requires": { - "lru-cache": "^6.0.0" + "object-keys": "^1.0.12" } }, - "hpack.js": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", - "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=", + "del": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/del/-/del-2.2.2.tgz", + "integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=", "dev": true, "requires": { - "inherits": "^2.0.1", - "obuf": "^1.0.0", - "readable-stream": "^2.0.1", - "wbuf": "^1.1.0" + "globby": "^5.0.0", + "is-path-cwd": "^1.0.0", + "is-path-in-cwd": "^1.0.0", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "rimraf": "^2.2.8" }, "dependencies": { - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", "dev": true, "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "array-uniq": "^1.0.1" } }, - "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==", + "globby": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz", + "integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=", "dev": true, "requires": { - "safe-buffer": "~5.1.0" + "array-union": "^1.0.1", + "arrify": "^1.0.0", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "requires": { + "glob": "^7.1.3" } } } }, - "hsl-regex": { + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" + }, + "delegates": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/hsl-regex/-/hsl-regex-1.0.0.tgz", - "integrity": "sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4=", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==", + "dev": true + }, + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", + "dev": true + }, + "dependency-graph": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.11.0.tgz", + "integrity": "sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg==", + "dev": true + }, + "des.js": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", + "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", + "requires": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", "dev": true }, - "hsla-regex": { + "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 + }, + "di": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/di/-/di-0.0.1.tgz", + "integrity": "sha1-gGZJMmzqp8qjMG112YXqJ0i6kTw=", + "dev": true + }, + "diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "dev": true + }, + "diffie-hellman": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "requires": { + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" + } + }, + "dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "requires": { + "path-type": "^4.0.0" + } + }, + "dns-equal": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/hsla-regex/-/hsla-regex-1.0.0.tgz", - "integrity": "sha1-wc56MWjIxmFAM6S194d/OyJfnDg=", + "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", + "integrity": "sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==", "dev": true }, - "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 + "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, + "requires": { + "ip": "^1.1.0", + "safe-buffer": "^5.0.1" + } }, - "html-escaper": { + "dns-txt": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", - "dev": true - }, - "htmlparser2": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz", - "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==", + "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz", + "integrity": "sha512-Ix5PrWjphuSoUXV/Zv5gaFHjnaJtb02F2+Si3Ht9dyJ87+Z/lMmy+dpNHtTGraNK958ndXq2i+GLkWsWHcKaBQ==", "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" + "buffer-indexof": "^1.0.0" } }, - "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 + "doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } }, - "http-deceiver": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", - "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=", - "dev": true + "dom-serialize": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/dom-serialize/-/dom-serialize-2.2.1.tgz", + "integrity": "sha1-ViromZ9Evl6jB29UGdzVnrQ6yVs=", + "dev": true, + "requires": { + "custom-event": "~1.0.0", + "ent": "~2.2.0", + "extend": "^3.0.0", + "void-elements": "^2.0.0" + } }, - "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==", + "dom-serializer": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.1.tgz", + "integrity": "sha512-l0IU0pPzLWSHBcieZbpOKgkIn3ts3vAh7ZuFyXNwJxJXk/c4Gwj9xaTJwIDVQCXawWD0qb3IzMGH5rglQaO0XA==", "dev": true, "requires": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.1", - "statuses": ">= 1.5.0 < 2", - "toidentifier": "1.0.0" - }, - "dependencies": { - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true - } + "domelementtype": "^1.3.0", + "entities": "^1.1.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==", + "domelementtype": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", + "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==", "dev": true }, - "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==", + "domhandler": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz", + "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", "dev": true, "requires": { - "eventemitter3": "^4.0.0", - "follow-redirects": "^1.0.0", - "requires-port": "^1.0.0" + "domelementtype": "1" } }, - "http-proxy-agent": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", - "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", + "domutils": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", + "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", "dev": true, "requires": { - "@tootallnate/once": "1", - "agent-base": "6", - "debug": "4" + "dom-serializer": "0", + "domelementtype": "1" } }, - "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==", + "ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", "dev": true, "requires": { - "http-proxy": "^1.17.0", - "is-glob": "^4.0.0", - "lodash": "^4.17.11", - "micromatch": "^3.1.10" + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "ed2curve": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/ed2curve/-/ed2curve-0.3.0.tgz", + "integrity": "sha512-8w2fmmq3hv9rCrcI7g9hms2pMunQr1JINfcjwR9tAyZqhtyaMN991lF/ZfHfr5tzZQ8c7y7aBgZbjfbd0fjFwQ==", + "requires": { + "tweetnacl": "1.x.x" }, "dependencies": { - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dev": true, - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "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 - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dev": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - } - }, - "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "dev": true, - "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - } + "tweetnacl": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-1.0.3.tgz", + "integrity": "sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==" } } }, - "http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", - "dev": true, - "requires": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" - } + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", + "dev": true }, - "https-proxy-agent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", - "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==", - "dev": true, - "requires": { - "agent-base": "6", - "debug": "4" - } + "electron-to-chromium": { + "version": "1.4.167", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.167.tgz", + "integrity": "sha512-lPHuHXBwpkr4RcfaZBKm6TKOWG/1N9mVggUpP4fY3l1JIUU2x4fkM8928smYdZ5lF+6KCTAxo1aK9JmqT+X71Q==", + "dev": true }, - "humanize-ms": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", - "integrity": "sha1-xG4xWaKT9riW2ikxbYtv6Lt5u+0=", + "elementtree": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/elementtree/-/elementtree-0.1.7.tgz", + "integrity": "sha1-mskb5uUvtuYkTE5UpKw+2K6OKcA=", "dev": true, "requires": { - "ms": "^2.0.0" + "sax": "1.1.4" + }, + "dependencies": { + "sax": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.1.4.tgz", + "integrity": "sha1-dLbTPJrh4AFRDxeakRaFiPGu2qk=", + "dev": true + } } }, - "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, + "elliptic": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", + "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", "requires": { - "safer-buffer": ">= 2.1.2 < 3" + "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" } }, - "icss-utils": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", - "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", - "dev": true, - "requires": {} + "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 }, - "ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", "dev": true }, - "ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", "dev": true }, - "ignore-walk": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.4.tgz", - "integrity": "sha512-PY6Ii8o1jMRA1z4F2hRkH/xN59ox43DavKvD3oDpfurRlOJyAHpifIwpbdv1n4jt4ov0jSpw3kQ4GhJnpBL6WQ==", + "encoding": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", + "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", + "optional": true, + "requires": { + "iconv-lite": "^0.6.2" + }, + "dependencies": { + "iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "optional": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + } + } + } + }, + "engine.io": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-4.1.1.tgz", + "integrity": "sha512-t2E9wLlssQjGw0nluF6aYyfX8LwYU8Jj0xct+pAhfWfv/YrBn6TSNtEYsgxHIfaMqfrLx07czcMg9bMN6di+3w==", "dev": true, "requires": { - "minimatch": "^3.0.4" + "accepts": "~1.3.4", + "base64id": "2.0.0", + "cookie": "~0.4.1", + "cors": "~2.8.5", + "debug": "~4.3.1", + "engine.io-parser": "~4.0.0", + "ws": "~7.4.2" + }, + "dependencies": { + "ws": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz", + "integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==", + "dev": true, + "requires": {} + } } }, - "image-size": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz", - "integrity": "sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w=", + "engine.io-parser": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-4.0.2.tgz", + "integrity": "sha512-sHfEQv6nmtJrq6TKuIz5kyEKH/qSdK56H/A+7DnAuUPWosnIZAS2NHNcPLmyjtY3cGS/MqJdZbUjW97JU72iYg==", "dev": true, - "optional": true - }, - "immediate": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", - "integrity": "sha1-nbHb0Pr43m++D13V5Wu2BigN5ps=", - "dev": true + "requires": { + "base64-arraybuffer": "0.1.4" + } }, - "import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "enhanced-resolve": { + "version": "5.9.3", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.9.3.tgz", + "integrity": "sha512-Bq9VSor+kjvW3f9/MiiR4eE3XYgOl7/rS8lnSxbRbF3kS0B2r+Y9w5krBWxZgDxASVZbdYrn5wT4j/Wb0J9qow==", "dev": true, "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" } }, - "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==", + "enquirer": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", + "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", "dev": true, "requires": { - "pkg-dir": "^3.0.0", - "resolve-cwd": "^2.0.0" - }, - "dependencies": { - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "requires": { - "p-limit": "^2.0.0" - } - }, - "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, - "requires": { - "find-up": "^3.0.0" - } - } + "ansi-colors": "^4.1.1" } }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "ent": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/ent/-/ent-2.2.0.tgz", + "integrity": "sha1-6WQhkyWiHQX0RGai9obtbOX13R0=", "dev": true }, - "indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "entities": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", + "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==", "dev": true }, - "indexes-of": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", - "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=", + "env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", "dev": true }, - "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==", + "err-code": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", + "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==", "dev": true }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "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, + "optional": true, "requires": { - "once": "^1.3.0", - "wrappy": "1" + "prr": "~1.0.1" } }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "requires": { + "is-arrayish": "^0.2.1" + } }, - "ini": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", - "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==", + "es-abstract": { + "version": "1.18.3", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.3.tgz", + "integrity": "sha512-nQIr12dxV7SSxE6r6f1l3DtAeEYdsGpps13dR0TwJg1S8gyp4ZPgy3FZcHBgbiQqnoqSTb+oC+kO4UQ0C/J8vw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "get-intrinsic": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.2", + "is-callable": "^1.2.3", + "is-negative-zero": "^2.0.1", + "is-regex": "^1.1.3", + "is-string": "^1.0.6", + "object-inspect": "^1.10.3", + "object-keys": "^1.1.1", + "object.assign": "^4.1.2", + "string.prototype.trimend": "^1.0.4", + "string.prototype.trimstart": "^1.0.4", + "unbox-primitive": "^1.0.1" + } + }, + "es-module-lexer": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz", + "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==", "dev": true }, - "inquirer": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.0.0.tgz", - "integrity": "sha512-ON8pEJPPCdyjxj+cxsYRe6XfCJepTxANdNnTebsTuQgXpRyZRRT9t4dJwjRubgmvn20CLSEnozRUayXyM9VTXA==", + "es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", "dev": true, "requires": { - "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.21", - "mute-stream": "0.0.8", - "run-async": "^2.4.0", - "rxjs": "^6.6.6", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0", - "through": "^2.3.6" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", - "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" } }, - "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, + "es5-ext": { + "version": "0.10.61", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.61.tgz", + "integrity": "sha512-yFhIqQAzu2Ca2I4SE2Au3rxVfmohU9Y7wqGR+s7+H7krk26NXhIRAZDgqd6xqjCEFUomDEA3/Bo/7fKmIkW1kA==", "requires": { - "default-gateway": "^4.2.0", - "ipaddr.js": "^1.9.0" + "es6-iterator": "^2.0.3", + "es6-symbol": "^3.1.3", + "next-tick": "^1.1.0" } }, - "ionicons": { - "version": "5.5.2", - "resolved": "https://registry.npmjs.org/ionicons/-/ionicons-5.5.2.tgz", - "integrity": "sha512-SHVBBtzNVQjY4jtcqKEHkqL5nIQwA/o2MIdU9JtMz8kQAB0NRVJFv5AxwmVbXXKDpxz57SiEjeLp8Uzt7jirpw==", + "es6-iterator": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", + "integrity": "sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==", "requires": { - "@stencil/core": "^2.5.0" + "d": "1", + "es5-ext": "^0.10.35", + "es6-symbol": "^3.1.1" } }, - "ip": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", - "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", - "dev": true - }, - "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 - }, - "ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", - "dev": true - }, - "is-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==", + "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 }, - "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==", + "es6-promisify": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", + "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=", "dev": true, "requires": { - "kind-of": "^6.0.0" + "es6-promise": "^4.0.3" } }, - "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==", - "dev": true, + "es6-symbol": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz", + "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==", "requires": { - "call-bind": "^1.0.0" + "d": "^1.0.1", + "ext": "^1.1.2" } }, - "is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", - "dev": true + "esbuild": { + "version": "0.14.22", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.14.22.tgz", + "integrity": "sha512-CjFCFGgYtbFOPrwZNJf7wsuzesx8kqwAffOlbYcFDLFuUtP8xloK1GH+Ai13Qr0RZQf9tE7LMTHJ2iVGJ1SKZA==", + "dev": true, + "optional": true, + "requires": { + "esbuild-android-arm64": "0.14.22", + "esbuild-darwin-64": "0.14.22", + "esbuild-darwin-arm64": "0.14.22", + "esbuild-freebsd-64": "0.14.22", + "esbuild-freebsd-arm64": "0.14.22", + "esbuild-linux-32": "0.14.22", + "esbuild-linux-64": "0.14.22", + "esbuild-linux-arm": "0.14.22", + "esbuild-linux-arm64": "0.14.22", + "esbuild-linux-mips64le": "0.14.22", + "esbuild-linux-ppc64le": "0.14.22", + "esbuild-linux-riscv64": "0.14.22", + "esbuild-linux-s390x": "0.14.22", + "esbuild-netbsd-64": "0.14.22", + "esbuild-openbsd-64": "0.14.22", + "esbuild-sunos-64": "0.14.22", + "esbuild-windows-32": "0.14.22", + "esbuild-windows-64": "0.14.22", + "esbuild-windows-arm64": "0.14.22" + } + }, + "esbuild-android-arm64": { + "version": "0.14.22", + "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.14.22.tgz", + "integrity": "sha512-k1Uu4uC4UOFgrnTj2zuj75EswFSEBK+H6lT70/DdS4mTAOfs2ECv2I9ZYvr3w0WL0T4YItzJdK7fPNxcPw6YmQ==", + "dev": true, + "optional": true }, - "is-bigint": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.2.tgz", - "integrity": "sha512-0JV5+SOCQkIdzjBK9buARcV804Ddu7A0Qet6sHi3FimE9ne6m4BGQZfRn+NZiXbBk4F4XmHfDZIipLj9pX8dSA==", - "dev": true + "esbuild-darwin-64": { + "version": "0.14.22", + "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.14.22.tgz", + "integrity": "sha512-d8Ceuo6Vw6HM3fW218FB6jTY6O3r2WNcTAU0SGsBkXZ3k8SDoRLd3Nrc//EqzdgYnzDNMNtrWegK2Qsss4THhw==", + "dev": true, + "optional": true }, - "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==", + "esbuild-darwin-arm64": { + "version": "0.14.22", + "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.22.tgz", + "integrity": "sha512-YAt9Tj3SkIUkswuzHxkaNlT9+sg0xvzDvE75LlBo4DI++ogSgSmKNR6B4eUhU5EUUepVXcXdRIdqMq9ppeRqfw==", "dev": true, - "requires": { - "binary-extensions": "^2.0.0" - } + "optional": true }, - "is-boolean-object": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.1.tgz", - "integrity": "sha512-bXdQWkECBUIAcCkeH1unwJLIpZYaa5VvuygSyS/c2lf719mTKZDU5UdDRlpd01UjADgmW8RfqaP+mRaVPdr/Ng==", + "esbuild-freebsd-64": { + "version": "0.14.22", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.22.tgz", + "integrity": "sha512-ek1HUv7fkXMy87Qm2G4IRohN+Qux4IcnrDBPZGXNN33KAL0pEJJzdTv0hB/42+DCYWylSrSKxk3KUXfqXOoH4A==", "dev": true, - "requires": { - "call-bind": "^1.0.2" - } + "optional": true }, - "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 + "esbuild-freebsd-arm64": { + "version": "0.14.22", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.22.tgz", + "integrity": "sha512-zPh9SzjRvr9FwsouNYTqgqFlsMIW07O8mNXulGeQx6O5ApgGUBZBgtzSlBQXkHi18WjrosYfsvp5nzOKiWzkjQ==", + "dev": true, + "optional": 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==", - "dev": true + "esbuild-linux-32": { + "version": "0.14.22", + "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.14.22.tgz", + "integrity": "sha512-SnpveoE4nzjb9t2hqCIzzTWBM0RzcCINDMBB67H6OXIuDa4KqFqaIgmTchNA9pJKOVLVIKd5FYxNiJStli21qg==", + "dev": true, + "optional": true }, - "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=", + "esbuild-linux-64": { + "version": "0.14.22", + "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.14.22.tgz", + "integrity": "sha512-Zcl9Wg7gKhOWWNqAjygyqzB+fJa19glgl2JG7GtuxHyL1uEnWlpSMytTLMqtfbmRykIHdab797IOZeKwk5g0zg==", "dev": true, - "requires": { - "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" - }, - "dependencies": { - "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 - } - } + "optional": true }, - "is-core-module": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.5.0.tgz", - "integrity": "sha512-TXCMSDsEHMEEZ6eCA8rwRDbLu55MRGmrctljsBX/2v1d9/GzqHOxW5c5oPSgrUt2vBFXebu9rGqckXGPWOlYpg==", + "esbuild-linux-arm": { + "version": "0.14.22", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.14.22.tgz", + "integrity": "sha512-soPDdbpt/C0XvOOK45p4EFt8HbH5g+0uHs5nUKjHVExfgR7du734kEkXR/mE5zmjrlymk5AA79I0VIvj90WZ4g==", "dev": true, - "requires": { - "has": "^1.0.3" - } + "optional": true }, - "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==", + "esbuild-linux-arm64": { + "version": "0.14.22", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.22.tgz", + "integrity": "sha512-8q/FRBJtV5IHnQChO3LHh/Jf7KLrxJ/RCTGdBvlVZhBde+dk3/qS9fFsUy+rs3dEi49aAsyVitTwlKw1SUFm+A==", "dev": true, - "requires": { - "kind-of": "^6.0.0" - } + "optional": true }, - "is-date-object": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.4.tgz", - "integrity": "sha512-/b4ZVsG7Z5XVtIxs/h9W8nvfLgSAyKYdtGWQLbqy6jA1icmgjf8WCoTKgeS4wy5tYaPePouzFMANbnj94c2Z+A==", - "dev": true + "esbuild-linux-mips64le": { + "version": "0.14.22", + "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.22.tgz", + "integrity": "sha512-SiNDfuRXhGh1JQLLA9JPprBgPVFOsGuQ0yDfSPTNxztmVJd8W2mX++c4FfLpAwxuJe183mLuKf7qKCHQs5ZnBQ==", + "dev": true, + "optional": true }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "esbuild-linux-ppc64le": { + "version": "0.14.22", + "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.22.tgz", + "integrity": "sha512-6t/GI9I+3o1EFm2AyN9+TsjdgWCpg2nwniEhjm2qJWtJyJ5VzTXGUU3alCO3evopu8G0hN2Bu1Jhz2YmZD0kng==", "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } + "optional": true }, - "is-docker": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", - "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", - "dev": true + "esbuild-linux-riscv64": { + "version": "0.14.22", + "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.22.tgz", + "integrity": "sha512-AyJHipZKe88sc+tp5layovquw5cvz45QXw5SaDgAq2M911wLHiCvDtf/07oDx8eweCyzYzG5Y39Ih568amMTCQ==", + "dev": true, + "optional": true }, - "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==", + "esbuild-linux-s390x": { + "version": "0.14.22", + "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.22.tgz", + "integrity": "sha512-Sz1NjZewTIXSblQDZWEFZYjOK6p8tV6hrshYdXZ0NHTjWE+lwxpOpWeElUGtEmiPcMT71FiuA9ODplqzzSxkzw==", "dev": true, - "requires": { - "is-plain-object": "^2.0.4" - } + "optional": true }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true + "esbuild-netbsd-64": { + "version": "0.14.22", + "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.22.tgz", + "integrity": "sha512-TBbCtx+k32xydImsHxvFgsOCuFqCTGIxhzRNbgSL1Z2CKhzxwT92kQMhxort9N/fZM2CkRCPPs5wzQSamtzEHA==", + "dev": true, + "optional": true }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true + "esbuild-openbsd-64": { + "version": "0.14.22", + "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.22.tgz", + "integrity": "sha512-vK912As725haT313ANZZZN+0EysEEQXWC/+YE4rQvOQzLuxAQc2tjbzlAFREx3C8+uMuZj/q7E5gyVB7TzpcTA==", + "dev": true, + "optional": 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==", + "esbuild-sunos-64": { + "version": "0.14.22", + "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.14.22.tgz", + "integrity": "sha512-/mbJdXTW7MTcsPhtfDsDyPEOju9EOABvCjeUU2OJ7fWpX/Em/H3WYDa86tzLUbcVg++BScQDzqV/7RYw5XNY0g==", "dev": true, - "requires": { - "is-extglob": "^2.1.1" - } + "optional": true }, - "is-interactive": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", - "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", + "esbuild-wasm": { + "version": "0.14.22", + "resolved": "https://registry.npmjs.org/esbuild-wasm/-/esbuild-wasm-0.14.22.tgz", + "integrity": "sha512-FOSAM29GN1fWusw0oLMv6JYhoheDIh5+atC72TkJKfIUMID6yISlicoQSd9gsNSFsNBvABvtE2jR4JB1j4FkFw==", "dev": true }, - "is-lambda": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz", - "integrity": "sha1-PZh3iZ5qU+/AFgUEzeFfgubwYdU=", - "dev": true + "esbuild-windows-32": { + "version": "0.14.22", + "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.14.22.tgz", + "integrity": "sha512-1vRIkuvPTjeSVK3diVrnMLSbkuE36jxA+8zGLUOrT4bb7E/JZvDRhvtbWXWaveUc/7LbhaNFhHNvfPuSw2QOQg==", + "dev": true, + "optional": true }, - "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==", - "dev": true + "esbuild-windows-64": { + "version": "0.14.22", + "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.14.22.tgz", + "integrity": "sha512-AxjIDcOmx17vr31C5hp20HIwz1MymtMjKqX4qL6whPj0dT9lwxPexmLj6G1CpR3vFhui6m75EnBEe4QL82SYqw==", + "dev": true, + "optional": true }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true + "esbuild-windows-arm64": { + "version": "0.14.22", + "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.22.tgz", + "integrity": "sha512-5wvQ+39tHmRhNpu2Fx04l7QfeK3mQ9tKzDqqGR8n/4WUxsFxnVLfDRBGirIfk4AfWlxk60kqirlODPoT5LqMUg==", + "dev": true, + "optional": true }, - "is-number-object": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.5.tgz", - "integrity": "sha512-RU0lI/n95pMoUKu9v1BZP5MBcZuNSVJkMkAG2dJqC4z2GlkGUNeH68SuHuBKBD/XFe+LHZ+f9BKkLET60Niedw==", + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", "dev": true }, - "is-path-cwd": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz", - "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=", + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", "dev": true }, - "is-path-in-cwd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz", - "integrity": "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==", - "dev": true, - "requires": { - "is-path-inside": "^1.0.0" - } + "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 }, - "is-path-inside": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz", - "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", + "eslint": { + "version": "7.30.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.30.0.tgz", + "integrity": "sha512-VLqz80i3as3NdloY44BQSJpFw534L9Oh+6zJOUaViV4JPd+DaHwutqP7tcpkW3YiXbK6s05RZl7yl7cQn+lijg==", "dev": true, "requires": { - "path-is-inside": "^1.0.1" + "@babel/code-frame": "7.12.11", + "@eslint/eslintrc": "^0.4.2", + "@humanwhocodes/config-array": "^0.5.0", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "enquirer": "^2.3.5", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^5.1.1", + "eslint-utils": "^2.1.0", + "eslint-visitor-keys": "^2.0.0", + "espree": "^7.3.1", + "esquery": "^1.4.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^5.1.2", + "globals": "^13.6.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "js-yaml": "^3.13.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.0.4", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "progress": "^2.0.0", + "regexpp": "^3.1.0", + "semver": "^7.2.1", + "strip-ansi": "^6.0.0", + "strip-json-comments": "^3.1.0", + "table": "^6.0.9", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + }, + "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" + } + }, + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", + "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true + }, + "globals": { + "version": "13.10.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.10.0.tgz", + "integrity": "sha512-piHC3blgLGFjvOuMmWZX60f+na1lXFDhQXBf1UYp2fXPXqvEUbOhNwi6BsQ0bQishwedgnjkwv1d9zKf+MWw3g==", + "dev": true, + "requires": { + "type-fest": "^0.20.2" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "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 + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "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 + } } }, - "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==", + "eslint-import-resolver-node": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.4.tgz", + "integrity": "sha512-ogtf+5AB/O+nM6DIeBUNr2fuT7ot9Qg/1harBfBtaP13ekEWFQEEMP94BCB7zaNW3gyY+8SHYF00rnqYwXKWOA==", "dev": true, "requires": { - "isobject": "^3.0.1" + "debug": "^2.6.9", + "resolve": "^1.13.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } } }, - "is-regex": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.3.tgz", - "integrity": "sha512-qSVXFz28HM7y+IWX6vLCsexdlvzT1PJNFSBuaQLQ5o0IEw8UDYW6/2+eCMVyIsbM8CNLX2a/QWmSpyxYEHY7CQ==", + "eslint-module-utils": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.6.1.tgz", + "integrity": "sha512-ZXI9B8cxAJIH4nfkhTwcRTEAnrVfobYqwjWy/QMCZ8rHkZHFjf9yO4BzpiF9kCSfNlMG54eKigISHpX0+AaT4A==", "dev": true, "requires": { - "call-bind": "^1.0.2", - "has-symbols": "^1.0.2" + "debug": "^3.2.7", + "pkg-dir": "^2.0.0" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + } } }, - "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 - }, - "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", - "dev": true - }, - "is-string": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.6.tgz", - "integrity": "sha512-2gdzbKUuqtQ3lYNrUTQYoClPhm7oQu4UdpSZMp1/DGgkHBT8E2Z1l0yMdb6D4zNAxwDiMv8MdulKROJGNl0Q0w==", - "dev": true - }, - "is-symbol": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", - "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "eslint-plugin-import": { + "version": "2.22.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.22.1.tgz", + "integrity": "sha512-8K7JjINHOpH64ozkAhpT3sd+FswIZTfMZTjdx052pnWrgRCVfp8op9tbjpAk3DdUeI/Ba4C8OjdC0r90erHEOw==", "dev": true, "requires": { - "has-symbols": "^1.0.2" + "array-includes": "^3.1.1", + "array.prototype.flat": "^1.2.3", + "contains-path": "^0.1.0", + "debug": "^2.6.9", + "doctrine": "1.5.0", + "eslint-import-resolver-node": "^0.3.4", + "eslint-module-utils": "^2.6.0", + "has": "^1.0.3", + "minimatch": "^3.0.4", + "object.values": "^1.1.1", + "read-pkg-up": "^2.0.0", + "resolve": "^1.17.0", + "tsconfig-paths": "^3.9.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "doctrine": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz", + "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "isarray": "^1.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } } }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", - "dev": true - }, - "is-unicode-supported": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", - "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", - "dev": true - }, - "is-what": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/is-what/-/is-what-3.14.1.tgz", - "integrity": "sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==", - "dev": true - }, - "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 - }, - "is-wsl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", - "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "eslint-plugin-jsdoc": { + "version": "30.7.6", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-30.7.6.tgz", + "integrity": "sha512-w18IOiS/9ahKgRfQOuHbce+EQYx3fwIkZhUZDEK+augNlhJkzgTSZkrBkzaflSbFNZ9/Tk4xzUABEaTbsBSzew==", "dev": true, "requires": { - "is-docker": "^2.0.0" - } - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "isbinaryfile": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.8.tgz", - "integrity": "sha512-53h6XFniq77YdW+spoRrebh0mnmTxRPTlcuIArO57lmMdq4uBKFKaeTjnb92oYWrSn/LVL+LT+Hap2tFQj8V+w==", - "dev": true - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true + "comment-parser": "^0.7.6", + "debug": "^4.2.0", + "jsdoctypeparser": "^9.0.0", + "lodash": "^4.17.20", + "regextras": "^0.7.1", + "semver": "^7.3.2", + "spdx-expression-parse": "^3.0.1" + } }, - "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 + "eslint-plugin-prefer-arrow": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-prefer-arrow/-/eslint-plugin-prefer-arrow-1.2.2.tgz", + "integrity": "sha512-C8YMhL+r8RMeMdYAw/rQtE6xNdMulj+zGWud/qIGnlmomiPRaLDGLMeskZ3alN6uMBojmooRimtdrXebLN4svQ==", + "dev": true, + "requires": {} }, - "istanbul-lib-coverage": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz", - "integrity": "sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg==", - "dev": true + "eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } }, - "istanbul-lib-instrument": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz", - "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==", + "eslint-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", + "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", "dev": true, "requires": { - "@babel/core": "^7.7.5", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.0.0", - "semver": "^6.3.0" + "eslint-visitor-keys": "^1.1.0" }, "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "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 } } }, - "istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", + "eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "dev": true + }, + "espree": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", + "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", "dev": true, "requires": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^3.0.0", - "supports-color": "^7.1.0" + "acorn": "^7.4.0", + "acorn-jsx": "^5.3.1", + "eslint-visitor-keys": "^1.3.0" }, "dependencies": { - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "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 - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } } } }, - "istanbul-lib-source-maps": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz", - "integrity": "sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg==", + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true + }, + "esquery": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", + "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", "dev": true, "requires": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" + "estraverse": "^5.1.0" }, "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", "dev": true } } }, - "istanbul-reports": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.0.2.tgz", - "integrity": "sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw==", - "dev": true, - "requires": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" - } - }, - "jasmine": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/jasmine/-/jasmine-2.8.0.tgz", - "integrity": "sha1-awicChFXax8W3xG4AUbZHU6Lij4=", + "esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", "dev": true, "requires": { - "exit": "^0.1.2", - "glob": "^7.0.6", - "jasmine-core": "~2.8.0" + "estraverse": "^5.2.0" }, "dependencies": { - "jasmine-core": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-2.8.0.tgz", - "integrity": "sha1-vMl5rh+f0FcB5F5S5l06XWPxok4=", + "estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", "dev": true } } }, - "jasmine-core": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-3.8.0.tgz", - "integrity": "sha512-zl0nZWDrmbCiKns0NcjkFGYkVTGCPUgoHypTaj+G2AzaWus7QGoXARSlYsSle2VRpSdfJmM+hzmFKzQNhF2kHg==", + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", "dev": true }, - "jasmine-spec-reporter": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/jasmine-spec-reporter/-/jasmine-spec-reporter-5.0.2.tgz", - "integrity": "sha512-6gP1LbVgJ+d7PKksQBc2H0oDGNRQI3gKUsWlswKaQ2fif9X5gzhQcgM5+kiJGCQVurOG09jqNhk7payggyp5+g==", + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "dev": true + }, + "eventemitter-asyncresource": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/eventemitter-asyncresource/-/eventemitter-asyncresource-1.0.0.tgz", + "integrity": "sha512-39F7TBIV0G7gTelxwbEqnwhp90eqCPON1k0NwNfwhgKn4Co4ybUbj2pECcXT0B3ztRKZ7Pw1JujUUgmQJHcVAQ==", + "dev": true + }, + "eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" + }, + "events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "dev": true + }, + "evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "requires": { + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" + } + }, + "execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", "dev": true, "requires": { - "colors": "1.4.0" + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" } }, - "jasminewd2": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/jasminewd2/-/jasminewd2-2.2.0.tgz", - "integrity": "sha1-43zwsX8ZnM4jvqcbIDk5Uka07E4=", + "exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", "dev": true }, - "jest-worker": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", - "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", + "express": { + "version": "4.18.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.18.1.tgz", + "integrity": "sha512-zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q==", "dev": true, "requires": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^7.0.0" + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.0", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.5.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.2.0", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.7", + "qs": "6.10.3", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.18.0", + "serve-static": "1.15.0", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" }, "dependencies": { - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", "dev": true }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "cookie": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", + "dev": true + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "requires": { - "has-flag": "^4.0.0" + "ms": "2.0.0" + } + }, + "depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true + }, + "finalhandler": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "dev": true, + "requires": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dev": true, + "requires": { + "ee-first": "1.1.1" } + }, + "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 + }, + "statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true } } }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true - }, - "js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "dev": true, + "ext": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/ext/-/ext-1.6.0.tgz", + "integrity": "sha512-sdBImtzkq2HpkdRLtlLWDa6w4DX22ijZLKx8BMPUuKe1c5lbN6xwQDQCxSfxBQnHZ13ls/FH0MQZx/q/gr6FQg==", "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" + "type": "^2.5.0" + }, + "dependencies": { + "type": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/type/-/type-2.6.0.tgz", + "integrity": "sha512-eiDBDOmkih5pMbo9OqsqPRGMljLodLcwd5XD5JbtNB0o89xZAwynY9EdCDsJU7LtcVCClu9DvM7/0Ep1hYX3EQ==" + } } }, - "jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", - "dev": true - }, - "jsdoctypeparser": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/jsdoctypeparser/-/jsdoctypeparser-9.0.0.tgz", - "integrity": "sha512-jrTA2jJIL6/DAEILBEh2/w9QxCuwmvNXIry39Ay/HVfhE3o2yVV0U44blYkqdHA/OKloJEqvJy0xU+GSdE2SIw==", - "dev": true - }, - "jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true - }, - "json-parse-better-errors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", "dev": true }, - "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 + "external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "dev": true, + "requires": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + } }, - "json-schema": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", "dev": true }, - "json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "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 }, - "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 + "fast-glob": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz", + "integrity": "sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + } }, - "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=", + "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 }, - "json3": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.3.tgz", - "integrity": "sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA==", + "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 }, - "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==", + "fastq": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.11.1.tgz", + "integrity": "sha512-HOnr8Mc60eNYl1gzwp6r5RoUyAn5/glBolUzP/Ez6IFVPMPirxn/9phgL6zhOtaTy7ISwPvQ+wT+hfcRZh/bzw==", "dev": true, "requires": { - "minimist": "^1.2.5" + "reusify": "^1.0.4" } }, - "jsonc-parser": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.0.0.tgz", - "integrity": "sha512-fQzRfAbIBnR0IQvftw9FJveWiHp72Fg20giDrHz6TdfB12UH/uue0D3hm57UB5KgAVuniLMCaS8P1IMj9NR7cA==", - "dev": true - }, - "jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "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, "requires": { - "graceful-fs": "^4.1.6" + "websocket-driver": ">=0.5.1" } }, - "jsonparse": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", - "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=", - "dev": true + "fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=", + "dev": true, + "requires": { + "pend": "~1.2.0" + } }, - "jsprim": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", - "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", "dev": true, "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.2.3", - "verror": "1.10.0" + "escape-string-regexp": "^1.0.5" } }, - "jszip": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.6.0.tgz", - "integrity": "sha512-jgnQoG9LKnWO3mnVNBnfhkh0QknICd1FGSrXcgrl67zioyJ4wgx25o9ZqwNtrROSflGBCGYnJfjrIyRIby1OoQ==", + "file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", "dev": true, "requires": { - "lie": "~3.3.0", - "pako": "~1.0.2", - "readable-stream": "~2.3.6", - "set-immediate-shim": "~1.0.1" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "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" - } - } + "flat-cache": "^3.0.4" } }, - "karma": { - "version": "6.3.4", - "resolved": "https://registry.npmjs.org/karma/-/karma-6.3.4.tgz", - "integrity": "sha512-hbhRogUYIulfkBTZT7xoPrCYhRBnBoqbbL4fszWD0ReFGUxU+LYBr3dwKdAluaDQ/ynT9/7C+Lf7pPNW4gSx4Q==", + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", "dev": true, "requires": { - "body-parser": "^1.19.0", - "braces": "^3.0.2", - "chokidar": "^3.5.1", - "colors": "^1.4.0", - "connect": "^3.7.0", - "di": "^0.0.1", - "dom-serialize": "^2.2.1", - "glob": "^7.1.7", - "graceful-fs": "^4.2.6", - "http-proxy": "^1.18.1", - "isbinaryfile": "^4.0.8", - "lodash": "^4.17.21", - "log4js": "^6.3.0", - "mime": "^2.5.2", - "minimatch": "^3.0.4", - "qjobs": "^1.2.0", - "range-parser": "^1.2.1", - "rimraf": "^3.0.2", - "socket.io": "^3.1.0", - "source-map": "^0.6.1", - "tmp": "^0.2.1", - "ua-parser-js": "^0.7.28", - "yargs": "^16.1.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "tmp": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", - "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", - "dev": true, - "requires": { - "rimraf": "^3.0.0" - } - } + "to-regex-range": "^5.0.1" } }, - "karma-chrome-launcher": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-3.1.0.tgz", - "integrity": "sha512-3dPs/n7vgz1rxxtynpzZTvb9y/GIaW8xjAwcIGttLbycqoFtI7yo1NGnQi6oFTherRE+GIhCAHZC4vEqWGhNvg==", + "finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", "dev": true, "requires": { - "which": "^1.2.1" + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", + "unpipe": "~1.0.0" }, "dependencies": { - "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "requires": { - "isexe": "^2.0.0" + "ms": "2.0.0" } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true } } }, - "karma-coverage": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/karma-coverage/-/karma-coverage-2.0.3.tgz", - "integrity": "sha512-atDvLQqvPcLxhED0cmXYdsPMCQuh6Asa9FMZW1bhNqlVEhJoB9qyZ2BY1gu7D/rr5GLGb5QzYO4siQskxaWP/g==", - "dev": true, - "requires": { - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-instrument": "^4.0.1", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.0.0", - "minimatch": "^3.0.4" - } - }, - "karma-coverage-istanbul-reporter": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/karma-coverage-istanbul-reporter/-/karma-coverage-istanbul-reporter-3.0.3.tgz", - "integrity": "sha512-wE4VFhG/QZv2Y4CdAYWDbMmcAHeS926ZIji4z+FkB2aF/EposRb6DP6G5ncT/wXhqUfAb/d7kZrNKPonbvsATw==", + "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==", "dev": true, "requires": { - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^3.0.6", - "istanbul-reports": "^3.0.2", - "minimatch": "^3.0.4" + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" }, "dependencies": { - "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==", + "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, "requires": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^2.0.5", - "make-dir": "^2.1.0", - "rimraf": "^2.6.3", - "source-map": "^0.6.1" - }, - "dependencies": { - "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 - } + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" } }, - "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==", + "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, "requires": { - "pify": "^4.0.1", - "semver": "^5.6.0" + "p-locate": "^4.1.0" } }, - "pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "dev": true + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } }, - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "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, "requires": { - "glob": "^7.1.3" + "p-limit": "^2.2.0" } }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "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 }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "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, + "requires": { + "find-up": "^4.0.0" + } + } + } + }, + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "requires": { + "locate-path": "^2.0.0" + } + }, + "flat-cache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "dev": true, + "requires": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + } + }, + "flatted": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.1.tgz", + "integrity": "sha512-OMQjaErSFHmHqZe+PSidH5n8j3O0F2DdnVh8JB4j4eUQ2k6KvB0qGfrKIhapvez5JerBbmWkaLYUYWISaESoXg==", + "dev": true + }, + "follow-redirects": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.1.tgz", + "integrity": "sha512-HWqDgT7ZEkqRzBvc2s64vSZ/hfOceEol3ac/7tKwzuvEyWx3/4UegXh5oBOIotkGsObyk3xznnSRVADBgWSQVg==", + "dev": true + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "dev": true + }, + "form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "dev": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + } + }, + "forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "dev": true + }, + "fraction.js": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz", + "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==", + "dev": true + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "dev": true + }, + "fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "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, + "requires": { + "minipass": "^3.0.0" + } + }, + "fs-monkey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.3.tgz", + "integrity": "sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q==", + "dev": true + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "optional": true + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", + "dev": true + }, + "functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "dev": true + }, + "gauge": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", + "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", + "dev": true, + "requires": { + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.3", + "console-control-strings": "^1.1.0", + "has-unicode": "^2.0.1", + "signal-exit": "^3.0.7", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.5" + }, + "dependencies": { + "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 + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } } } }, - "karma-jasmine": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/karma-jasmine/-/karma-jasmine-4.0.1.tgz", - "integrity": "sha512-h8XDAhTiZjJKzfkoO1laMH+zfNlra+dEQHUAjpn5JV1zCPtOIVWGQjLBrqhnzQa/hrU2XrZwSyBa6XjEBzfXzw==", + "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 + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true + }, + "get-intrinsic": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", + "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", "dev": true, "requires": { - "jasmine-core": "^3.6.0" + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1" } }, - "karma-jasmine-html-reporter": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/karma-jasmine-html-reporter/-/karma-jasmine-html-reporter-1.7.0.tgz", - "integrity": "sha512-pzum1TL7j90DTE86eFt48/s12hqwQuiD+e5aXx2Dc9wDEn2LfGq6RoAxEZZjFiN0RDSCOnosEKRZWxbQ+iMpQQ==", + "get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "dev": true + }, + "get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true + }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", "dev": true, - "requires": {} + "requires": { + "assert-plus": "^1.0.0" + } }, - "karma-source-map-support": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/karma-source-map-support/-/karma-source-map-support-1.4.0.tgz", - "integrity": "sha512-RsBECncGO17KAoJCYXjv+ckIz+Ii9NCi+9enk+rq6XC81ezYkb4/RHE6CTXdA7IOJqoF3wcaLfVG0CPmE5ca6A==", + "glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", "dev": true, "requires": { - "source-map-support": "^0.5.5" + "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" } }, - "killable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz", - "integrity": "sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg==", + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + }, + "glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", "dev": true }, - "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==", + "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 }, - "kleur": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.4.tgz", - "integrity": "sha512-8QADVssbrFjivHWQU7KkMgptGTl6WAcSdlbBPY4uNF+mWr6DGcKrvY2w4FQJoXch7+fKMjj0dRrL75vk3k23OA==", + "globby": { + "version": "11.0.4", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.4.tgz", + "integrity": "sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==", + "dev": true, + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.1.1", + "ignore": "^5.1.4", + "merge2": "^1.3.0", + "slash": "^3.0.0" + }, + "dependencies": { + "ignore": { + "version": "5.1.8", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", + "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", + "dev": true + } + } + }, + "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 }, - "klona": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.4.tgz", - "integrity": "sha512-ZRbnvdg/NxqzC7L9Uyqzf4psi1OM4Cuc+sJAkQPjO6XkQIJTNbfK2Rsmbw8fx1p2mkZdp2FZYo2+LwXYY/uwIA==", + "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 }, - "less": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/less/-/less-4.1.1.tgz", - "integrity": "sha512-w09o8tZFPThBscl5d0Ggp3RcrKIouBoQscnOMgFH3n5V3kN/CXGHNfCkRPtxJk6nKryDXaV9aHLK55RXuH4sAw==", + "handlebars": { + "version": "4.7.7", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz", + "integrity": "sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==", "dev": true, "requires": { - "copy-anything": "^2.0.1", - "errno": "^0.1.1", - "graceful-fs": "^4.1.2", - "image-size": "~0.5.0", - "make-dir": "^2.1.0", - "mime": "^1.4.1", - "needle": "^2.5.2", - "parse-node-version": "^1.0.1", - "source-map": "~0.6.0", - "tslib": "^1.10.0" + "minimist": "^1.2.5", + "neo-async": "^2.6.0", + "source-map": "^0.6.1", + "uglify-js": "^3.1.4", + "wordwrap": "^1.0.0" }, "dependencies": { - "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, - "optional": true, - "requires": { - "pify": "^4.0.1", - "semver": "^5.6.0" - } - }, - "mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "dev": true, - "optional": true - }, - "pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "dev": true, - "optional": true - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true, - "optional": true - }, "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 - }, - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", "dev": true } } }, - "less-loader": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/less-loader/-/less-loader-8.1.1.tgz", - "integrity": "sha512-K93jJU7fi3n6rxVvzp8Cb88Uy9tcQKfHlkoezHwKILXhlNYiRQl4yowLIkQqmBXOH/5I8yoKiYeIf781HGkW9g==", + "har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", + "dev": true + }, + "har-validator": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", + "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", "dev": true, "requires": { - "klona": "^2.0.4" + "ajv": "^6.12.3", + "har-schema": "^2.0.0" + }, + "dependencies": { + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "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 + } } }, - "levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", "dev": true, "requires": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" + "function-bind": "^1.1.1" } }, - "license-webpack-plugin": { - "version": "2.3.19", - "resolved": "https://registry.npmjs.org/license-webpack-plugin/-/license-webpack-plugin-2.3.19.tgz", - "integrity": "sha512-z/izhwFRYHs1sCrDgrTUsNJpd+Xsd06OcFWSwHz/TiZygm5ucweVZi1Hu14Rf6tOj/XAl1Ebyc7GW6ZyyINyWA==", + "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, "requires": { - "@types/webpack-sources": "^0.1.5", - "webpack-sources": "^1.2.0" + "ansi-regex": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + } } }, - "lie": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz", - "integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==", + "has-bigints": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz", + "integrity": "sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "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==", + "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": { - "immediate": "~3.0.5" + "has-symbols": "^1.0.2" } }, - "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=", + "has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==", "dev": true }, - "load-json-file": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", - "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", - "dev": true, + "hash-base": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", + "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "strip-bom": "^3.0.0" + "inherits": "^2.0.4", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" }, "dependencies": { - "parse-json": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", - "dev": true, - "requires": { - "error-ex": "^1.2.0" - } + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" } } }, - "loader-runner": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.2.0.tgz", - "integrity": "sha512-92+huvxMvYlMzMt0iIOukcwYBFpkYJdpl2xsZ7LrlayO7E8SOv+JJUEK17B/dJIHAOLMfh2dZZ/Y18WgmGtYNw==", - "dev": true - }, - "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, + "hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" } }, - "locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "hdr-histogram-js": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/hdr-histogram-js/-/hdr-histogram-js-2.0.3.tgz", + "integrity": "sha512-Hkn78wwzWHNCp2uarhzQ2SGFLU3JY8SBDDd3TAABK4fc30wm+MuPOrg5QVFVfkKOQd6Bfz3ukJEI+q9sXEkK1g==", "dev": true, "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" + "@assemblyscript/loader": "^0.10.1", + "base64-js": "^1.2.0", + "pako": "^1.0.3" } }, - "lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true - }, - "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 - }, - "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 - }, - "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 - }, - "lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true - }, - "lodash.truncate": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", - "integrity": "sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=", + "hdr-histogram-percentiles-obj": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hdr-histogram-percentiles-obj/-/hdr-histogram-percentiles-obj-3.0.0.tgz", + "integrity": "sha512-7kIufnBqdsBGcSZLPJwqHT3yhk1QTsSlFsVD3kx5ixH/AlgBs9yM1q6DPhXZ8f8gtdqgh7N7/5btRLpQsS2gHw==", "dev": true }, - "lodash.uniq": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", - "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=", - "dev": true + "hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", + "requires": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } }, - "log-symbols": { + "hosted-git-info": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", - "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", + "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", "dev": true, "requires": { - "chalk": "^4.1.0", - "is-unicode-supported": "^0.1.0" + "lru-cache": "^6.0.0" + } + }, + "hpack.js": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", + "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" }, "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", - "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "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==", + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", "dev": true, "requires": { - "color-name": "~1.1.4" + "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" } }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "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==", + "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": { - "has-flag": "^4.0.0" + "safe-buffer": "~5.1.0" } } } }, - "log4js": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/log4js/-/log4js-6.3.0.tgz", - "integrity": "sha512-Mc8jNuSFImQUIateBFwdOQcmC6Q5maU0VVvdC2R6XMb66/VnT+7WS4D/0EeNMZu1YODmJe5NIn2XftCzEocUgw==", - "dev": true, - "requires": { - "date-format": "^3.0.0", - "debug": "^4.1.1", - "flatted": "^2.0.1", - "rfdc": "^1.1.4", - "streamroller": "^2.2.4" - }, - "dependencies": { - "flatted": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz", - "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==", - "dev": true - } - } + "html-entities": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.3.3.tgz", + "integrity": "sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA==", + "dev": true }, - "loglevel": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.7.1.tgz", - "integrity": "sha512-Hesni4s5UkWkwCGJMQGAh71PaLUmKFM60dHvq0zi/vDhhrzuk+4GgNbTXJ12YYQJn6ZKBDNIjYcuQGKudvqrIw==", + "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 }, - "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==", + "htmlparser2": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz", + "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==", "dev": true, "requires": { - "yallist": "^4.0.0" + "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" } }, - "magic-string": { - "version": "0.25.7", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz", - "integrity": "sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==", - "dev": true, - "requires": { - "sourcemap-codec": "^1.4.4" - } + "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 }, - "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==", + "http-deceiver": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", + "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==", + "dev": true + }, + "http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", "dev": true, "requires": { - "semver": "^6.0.0" + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" }, "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true + }, + "statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", "dev": true } } }, - "make-error": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", - "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "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 }, - "make-fetch-happen": { - "version": "8.0.14", - "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-8.0.14.tgz", - "integrity": "sha512-EsS89h6l4vbfJEtBZnENTOFk8mCRpY5ru36Xe5bcX1KYIli2mkSHqoFsp5O1wMDvTJJzxe/4THpCTtygjeeGWQ==", + "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, + "requires": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + } + }, + "http-proxy-agent": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", + "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", + "dev": true, + "requires": { + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4" + } + }, + "http-proxy-middleware": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz", + "integrity": "sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==", "dev": true, "requires": { - "agentkeepalive": "^4.1.3", - "cacache": "^15.0.5", - "http-cache-semantics": "^4.1.0", - "http-proxy-agent": "^4.0.1", - "https-proxy-agent": "^5.0.0", - "is-lambda": "^1.0.1", - "lru-cache": "^6.0.0", - "minipass": "^3.1.3", - "minipass-collect": "^1.0.2", - "minipass-fetch": "^1.3.2", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "promise-retry": "^2.0.1", - "socks-proxy-agent": "^5.0.0", - "ssri": "^8.0.0" + "@types/http-proxy": "^1.17.8", + "http-proxy": "^1.18.1", + "is-glob": "^4.0.1", + "is-plain-obj": "^3.0.0", + "micromatch": "^4.0.2" } }, - "map-age-cleaner": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz", - "integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==", + "http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", "dev": true, "requires": { - "p-defer": "^1.0.0" + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" } }, - "map-cache": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", - "dev": true - }, - "map-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", - "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "https-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", + "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==", "dev": true, "requires": { - "object-visit": "^1.0.0" + "agent-base": "6", + "debug": "4" } }, - "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 - }, - "media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", + "human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", "dev": true }, - "mem": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/mem/-/mem-8.1.1.tgz", - "integrity": "sha512-qFCFUDs7U3b8mBDPyz5EToEKoAkgCzqquIgi9nkkR9bixxOVOre+09lbuH7+9Kn2NFpm56M3GUWVbU2hQgdACA==", + "humanize-ms": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", + "integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==", "dev": true, "requires": { - "map-age-cleaner": "^0.1.3", - "mimic-fn": "^3.1.0" - }, - "dependencies": { - "mimic-fn": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-3.1.0.tgz", - "integrity": "sha512-Ysbi9uYW9hFyfrThdDEQuykN4Ey6BuwPD2kpI5ES/nFTDn/98yxYNLZJcgUAKPT/mcrLLKaGzJR9YVxJrIdASQ==", - "dev": true - } + "ms": "^2.0.0" } }, - "memfs": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.2.2.tgz", - "integrity": "sha512-RE0CwmIM3CEvpcdK3rZ19BC4E6hv9kADkMN5rPduRak58cNArWLi/9jFLsa4rhsjfVxMP3v0jO7FHXq7SvFY5Q==", + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", "dev": true, "requires": { - "fs-monkey": "1.0.3" + "safer-buffer": ">= 2.1.2 < 3" } }, - "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=", + "icss-utils": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", + "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", "dev": true, - "requires": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "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" - } - } - } + "requires": {} }, - "merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", + "ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", "dev": true }, - "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==", + "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 + }, + "ignore-walk": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-4.0.1.tgz", + "integrity": "sha512-rzDQLaW4jQbh2YrOFlJdCtX8qgJTehFRYiUB2r1osqTeDzV/3+Jh8fz1oAPzUThf3iku8Ds4IDqawI5d8mUiQw==", "dev": true, "requires": { - "source-map": "^0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } + "minimatch": "^3.0.4" } }, - "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 + "image-size": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz", + "integrity": "sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==", + "dev": true, + "optional": true }, - "merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "immediate": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", + "integrity": "sha1-nbHb0Pr43m++D13V5Wu2BigN5ps=", "dev": true }, - "methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", + "immutable": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.1.0.tgz", + "integrity": "sha512-oNkuqVTA8jqG1Q6c+UglTOD1xhC1BtjKI7XkCXRkZHrN5m18/XsnUp8Q89GkQO/z+0WjonSvl0FLhDYftp46nQ==", "dev": true }, - "micromatch": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", - "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", + "import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", "dev": true, "requires": { - "braces": "^3.0.1", - "picomatch": "^2.2.3" + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" } }, - "mime": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.5.2.tgz", - "integrity": "sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg==", + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", "dev": true }, - "mime-db": { - "version": "1.48.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.48.0.tgz", - "integrity": "sha512-FM3QwxV+TnZYQ2aRqhlKBMHxk10lTbMt3bBkMAp54ddrNeVSfcQYOOKuGuy3Ddrm38I04If834fOUSq1yzslJQ==", + "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 }, - "mime-types": { - "version": "2.1.31", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.31.tgz", - "integrity": "sha512-XGZnNzm3QvgKxa8dpzyhFTHmpP3l5YNusmne07VUOXxou9CqUqYa/HBy124RqtVh/O2pECas/MOcsDgpilPOPg==", + "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 + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "dev": true, "requires": { - "mime-db": "1.48.0" + "once": "^1.3.0", + "wrappy": "1" } }, - "mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "ini": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", + "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==", "dev": true }, - "mini-css-extract-plugin": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-1.5.1.tgz", - "integrity": "sha512-wEpr0XooH6rw/Mlf+9KTJoMBLT3HujzdTrmohPjAzF47N4Q6yAeczQLpRD/WxvAtXvskcXbily7TAdCfi2M4Dg==", + "inquirer": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.0.tgz", + "integrity": "sha512-0crLweprevJ02tTuA6ThpoAERAGyVILC4sS74uib58Xf/zSr1/ZWtmm7D5CI+bSQEaA04f0K7idaHpQbSWgiVQ==", "dev": true, "requires": { - "loader-utils": "^2.0.0", - "schema-utils": "^3.0.0", - "webpack-sources": "^1.1.0" + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.1", + "cli-cursor": "^3.1.0", + "cli-width": "^3.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.21", + "mute-stream": "0.0.8", + "ora": "^5.4.1", + "run-async": "^2.4.0", + "rxjs": "^7.2.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6" }, "dependencies": { - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" + "color-convert": "^2.0.1" } }, - "ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, - "requires": {} + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } }, - "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==", + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, - "schema-utils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.0.tgz", - "integrity": "sha512-tTEaeYkyIhEZ9uWgAjDerWov3T9MgX8dhhy2r0IGeeX4W8ngtGl1++dUve/RUqzuaASSh7shwCDJjEzthxki8w==", + "ora": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", + "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", "dev": true, "requires": { - "@types/json-schema": "^7.0.7", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" + "bl": "^4.1.0", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.5.0", + "is-interactive": "^1.0.0", + "is-unicode-supported": "^0.1.0", + "log-symbols": "^4.1.0", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" } } } }, - "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==", + "ionicons": { + "version": "5.5.2", + "resolved": "https://registry.npmjs.org/ionicons/-/ionicons-5.5.2.tgz", + "integrity": "sha512-SHVBBtzNVQjY4jtcqKEHkqL5nIQwA/o2MIdU9JtMz8kQAB0NRVJFv5AxwmVbXXKDpxz57SiEjeLp8Uzt7jirpw==", + "requires": { + "@stencil/core": "^2.5.0" + } + }, + "ip": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.8.tgz", + "integrity": "sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg==", "dev": true }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "ip-regex": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-4.3.0.tgz", + "integrity": "sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q==" + }, + "ipaddr.js": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.0.1.tgz", + "integrity": "sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng==", + "dev": true + }, + "is-arguments": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", + "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", "dev": true, "requires": { - "brace-expansion": "^1.1.7" + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" } }, - "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", "dev": true }, - "minipass": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz", - "integrity": "sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==", + "is-bigint": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.2.tgz", + "integrity": "sha512-0JV5+SOCQkIdzjBK9buARcV804Ddu7A0Qet6sHi3FimE9ne6m4BGQZfRn+NZiXbBk4F4XmHfDZIipLj9pX8dSA==", + "dev": true + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", "dev": true, "requires": { - "yallist": "^4.0.0" + "binary-extensions": "^2.0.0" } }, - "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==", + "is-boolean-object": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.1.tgz", + "integrity": "sha512-bXdQWkECBUIAcCkeH1unwJLIpZYaa5VvuygSyS/c2lf719mTKZDU5UdDRlpd01UjADgmW8RfqaP+mRaVPdr/Ng==", "dev": true, "requires": { - "minipass": "^3.0.0" + "call-bind": "^1.0.2" } }, - "minipass-fetch": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-1.3.4.tgz", - "integrity": "sha512-TielGogIzbUEtd1LsjZFs47RWuHHfhl6TiCx1InVxApBAmQ8bL0dL5ilkLGcRvuyW/A9nE+Lvn855Ewz8S0PnQ==", + "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==", + "dev": true + }, + "is-core-module": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz", + "integrity": "sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==", "dev": true, "requires": { - "encoding": "^0.1.12", - "minipass": "^3.1.0", - "minipass-sized": "^1.0.3", - "minizlib": "^2.0.0" + "has": "^1.0.3" } }, - "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==", + "is-date-object": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.4.tgz", + "integrity": "sha512-/b4ZVsG7Z5XVtIxs/h9W8nvfLgSAyKYdtGWQLbqy6jA1icmgjf8WCoTKgeS4wy5tYaPePouzFMANbnj94c2Z+A==", + "dev": true + }, + "is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "dev": true + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "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 + }, + "is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "dev": true, "requires": { - "minipass": "^3.0.0" + "is-extglob": "^2.1.1" } }, - "minipass-json-stream": { + "is-interactive": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", + "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", + "dev": true + }, + "is-lambda": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minipass-json-stream/-/minipass-json-stream-1.0.1.tgz", - "integrity": "sha512-ODqY18UZt/I8k+b7rl2AENgbWE8IDYam+undIJONvigAz8KR5GWblsFTEfQs0WODsjbSXWlm+JHEv8Gr6Tfdbg==", + "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz", + "integrity": "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==", + "dev": true + }, + "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==", + "dev": true + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "is-number-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.5.tgz", + "integrity": "sha512-RU0lI/n95pMoUKu9v1BZP5MBcZuNSVJkMkAG2dJqC4z2GlkGUNeH68SuHuBKBD/XFe+LHZ+f9BKkLET60Niedw==", + "dev": true + }, + "is-path-cwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz", + "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=", + "dev": true + }, + "is-path-in-cwd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz", + "integrity": "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==", "dev": true, "requires": { - "jsonparse": "^1.3.1", - "minipass": "^3.0.0" + "is-path-inside": "^1.0.0" } }, - "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==", + "is-path-inside": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz", + "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", "dev": true, "requires": { - "minipass": "^3.0.0" + "path-is-inside": "^1.0.1" } }, - "minipass-sized": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz", - "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==", + "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 + }, + "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, "requires": { - "minipass": "^3.0.0" + "isobject": "^3.0.1" } }, - "minizlib": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", - "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "is-regex": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.3.tgz", + "integrity": "sha512-qSVXFz28HM7y+IWX6vLCsexdlvzT1PJNFSBuaQLQ5o0IEw8UDYW6/2+eCMVyIsbM8CNLX2a/QWmSpyxYEHY7CQ==", "dev": true, "requires": { - "minipass": "^3.0.0", - "yallist": "^4.0.0" + "call-bind": "^1.0.2", + "has-symbols": "^1.0.2" } }, - "mixin-deep": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", - "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "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 + }, + "is-string": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.6.tgz", + "integrity": "sha512-2gdzbKUuqtQ3lYNrUTQYoClPhm7oQu4UdpSZMp1/DGgkHBT8E2Z1l0yMdb6D4zNAxwDiMv8MdulKROJGNl0Q0w==", + "dev": true + }, + "is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", "dev": true, "requires": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" + "has-symbols": "^1.0.2" } }, - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" + }, + "is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", "dev": true }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "is-what": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/is-what/-/is-what-3.14.1.tgz", + "integrity": "sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==", "dev": true }, - "multicast-dns": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz", - "integrity": "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==", + "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, "requires": { - "dns-packet": "^1.3.1", - "thunky": "^1.0.2" + "is-docker": "^2.0.0" } }, - "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=", + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", "dev": true }, - "mute-stream": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", - "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", + "isbinaryfile": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.8.tgz", + "integrity": "sha512-53h6XFniq77YdW+spoRrebh0mnmTxRPTlcuIArO57lmMdq4uBKFKaeTjnb92oYWrSn/LVL+LT+Hap2tFQj8V+w==", "dev": true }, - "nan": { - "version": "2.14.2", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.2.tgz", - "integrity": "sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ==", - "dev": true, - "optional": true + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true }, - "nanoid": { - "version": "3.1.23", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.23.tgz", - "integrity": "sha512-FiB0kzdP0FFVGDKlRLEQ1BgDzU87dy5NnzjeW9YZNt+/c3+q82EQDUwniSAUxp/F0gFNI1ZhKU1FqYsMuqZVnw==", + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", "dev": true }, - "nanomatch": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", - "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", - "dev": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "fragment-cache": "^0.2.1", - "is-windows": "^1.0.2", - "kind-of": "^6.0.2", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - } + "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 }, - "native-run": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/native-run/-/native-run-1.4.0.tgz", - "integrity": "sha512-3XJiDxGNi6XCsn8KYDQFSYGDVkKEMg0y55qTMU0feEuPNNU4iztBwW5bE87sfybZsQPsYDJQyYt9CUKDSoJgdQ==", + "istanbul-lib-coverage": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", + "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", + "dev": true + }, + "istanbul-lib-instrument": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz", + "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==", "dev": true, "requires": { - "@ionic/utils-fs": "^3.0.0", - "@ionic/utils-terminal": "^2.3.1", - "bplist-parser": "0.2.0", - "debug": "^4.1.1", - "elementtree": "^0.1.7", - "ini": "^1.3.5", - "plist": "^3.0.1", - "split2": "^3.1.0", - "through2": "^4.0.2", - "tslib": "^2.0.1", - "yauzl": "^2.10.0" + "@babel/core": "^7.7.5", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.0.0", + "semver": "^6.3.0" }, "dependencies": { - "ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true } } }, - "natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", - "dev": true - }, - "needle": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/needle/-/needle-2.8.0.tgz", - "integrity": "sha512-ZTq6WYkN/3782H1393me3utVYdq2XyqNUFBsprEE3VMAT0+hP/cItpnITpqsY6ep2yeFE4Tqtqwc74VqUlUYtw==", + "istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", "dev": true, - "optional": true, "requires": { - "debug": "^3.2.6", - "iconv-lite": "^0.4.4", - "sax": "^1.2.4" + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^3.0.0", + "supports-color": "^7.1.0" }, "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, - "optional": true, "requires": { - "ms": "^2.1.1" + "has-flag": "^4.0.0" } } } }, - "negotiator": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", - "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==", - "dev": true - }, - "neo-async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", - "dev": true - }, - "nice-try": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", - "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", - "dev": true + "istanbul-lib-source-maps": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz", + "integrity": "sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg==", + "dev": true, + "requires": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } }, - "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 + "istanbul-reports": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.0.2.tgz", + "integrity": "sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw==", + "dev": true, + "requires": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + } }, - "node-gyp": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-7.1.2.tgz", - "integrity": "sha512-CbpcIo7C3eMu3dL1c3d0xw449fHIGALIJsRP4DDPHpyiW8vcriNY7ubh9TE4zEKfSxscY7PjeFnshE7h75ynjQ==", + "jasmine": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/jasmine/-/jasmine-2.8.0.tgz", + "integrity": "sha1-awicChFXax8W3xG4AUbZHU6Lij4=", "dev": true, "requires": { - "env-paths": "^2.2.0", - "glob": "^7.1.4", - "graceful-fs": "^4.2.3", - "nopt": "^5.0.0", - "npmlog": "^4.1.2", - "request": "^2.88.2", - "rimraf": "^3.0.2", - "semver": "^7.3.2", - "tar": "^6.0.2", - "which": "^2.0.2" + "exit": "^0.1.2", + "glob": "^7.0.6", + "jasmine-core": "~2.8.0" + }, + "dependencies": { + "jasmine-core": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-2.8.0.tgz", + "integrity": "sha1-vMl5rh+f0FcB5F5S5l06XWPxok4=", + "dev": true + } } }, - "node-releases": { - "version": "1.1.73", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.73.tgz", - "integrity": "sha512-uW7fodD6pyW2FZNZnp/Z3hvWKeEW1Y8R1+1CnErE8cXFXzl5blBOoVB41CvMer6P6Q0S5FXDwcHgFd1Wj0U9zg==", + "jasmine-core": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-3.8.0.tgz", + "integrity": "sha512-zl0nZWDrmbCiKns0NcjkFGYkVTGCPUgoHypTaj+G2AzaWus7QGoXARSlYsSle2VRpSdfJmM+hzmFKzQNhF2kHg==", "dev": true }, - "nopt": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", - "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", + "jasmine-spec-reporter": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/jasmine-spec-reporter/-/jasmine-spec-reporter-5.0.2.tgz", + "integrity": "sha512-6gP1LbVgJ+d7PKksQBc2H0oDGNRQI3gKUsWlswKaQ2fif9X5gzhQcgM5+kiJGCQVurOG09jqNhk7payggyp5+g==", "dev": true, "requires": { - "abbrev": "1" + "colors": "1.4.0" } }, - "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==", + "jasminewd2": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/jasminewd2/-/jasminewd2-2.2.0.tgz", + "integrity": "sha1-43zwsX8ZnM4jvqcbIDk5Uka07E4=", + "dev": true + }, + "jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", "dev": true, "requires": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" }, "dependencies": { - "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==", + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } } } }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "js-sha3": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", + "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", + "dev": true + }, + "jsdoctypeparser": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/jsdoctypeparser/-/jsdoctypeparser-9.0.0.tgz", + "integrity": "sha512-jrTA2jJIL6/DAEILBEh2/w9QxCuwmvNXIry39Ay/HVfhE3o2yVV0U44blYkqdHA/OKloJEqvJy0xU+GSdE2SIw==", + "dev": true + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true + }, + "json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "dev": true + }, + "json-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 }, - "normalize-range": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", - "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", + "json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", "dev": true }, - "normalize-url": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", - "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", + "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 }, - "npm-bundled": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.1.2.tgz", - "integrity": "sha512-x5DHup0SuyQcmL3s7Rx/YQ8sbw/Hzg0rj48eN0dV7hf5cmQq5PXIeioroH3raV1QC1yh3uTYuMThvEQF3iKgGQ==", - "dev": true, - "requires": { - "npm-normalize-package-bin": "^1.0.1" - } + "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 }, - "npm-install-checks": { + "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 + }, + "json5": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", + "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==", + "dev": true + }, + "jsonc-parser": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.0.0.tgz", + "integrity": "sha512-fQzRfAbIBnR0IQvftw9FJveWiHp72Fg20giDrHz6TdfB12UH/uue0D3hm57UB5KgAVuniLMCaS8P1IMj9NR7cA==", + "dev": true + }, + "jsonfile": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-4.0.0.tgz", - "integrity": "sha512-09OmyDkNLYwqKPOnbI8exiOZU2GVVmQp7tgez2BPi5OZC8M82elDAps7sxC4l//uSUtotWqoEIDwjRvWH4qz8w==", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", "dev": true, "requires": { - "semver": "^7.1.1" + "graceful-fs": "^4.1.6" } }, - "npm-normalize-package-bin": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz", - "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==", + "jsonparse": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", + "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==", "dev": true }, - "npm-package-arg": { - "version": "8.1.2", - "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.2.tgz", - "integrity": "sha512-6Eem455JsSMJY6Kpd3EyWE+n5hC+g9bSyHr9K9U2zqZb7+02+hObQ2c0+8iDk/mNF+8r1MhY44WypKJAkySIYA==", + "jsprim": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", "dev": true, "requires": { - "hosted-git-info": "^4.0.1", - "semver": "^7.3.4", - "validate-npm-package-name": "^3.0.0" + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" } }, - "npm-packlist": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-2.2.2.tgz", - "integrity": "sha512-Jt01acDvJRhJGthnUJVF/w6gumWOZxO7IkpY/lsX9//zqQgnF7OJaxgQXcerd4uQOLu7W5bkb4mChL9mdfm+Zg==", + "jszip": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.6.0.tgz", + "integrity": "sha512-jgnQoG9LKnWO3mnVNBnfhkh0QknICd1FGSrXcgrl67zioyJ4wgx25o9ZqwNtrROSflGBCGYnJfjrIyRIby1OoQ==", "dev": true, "requires": { - "glob": "^7.1.6", - "ignore-walk": "^3.0.3", - "npm-bundled": "^1.1.1", - "npm-normalize-package-bin": "^1.0.1" + "lie": "~3.3.0", + "pako": "~1.0.2", + "readable-stream": "~2.3.6", + "set-immediate-shim": "~1.0.1" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "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" + } + } } }, - "npm-pick-manifest": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-6.1.1.tgz", - "integrity": "sha512-dBsdBtORT84S8V8UTad1WlUyKIY9iMsAmqxHbLdeEeBNMLQDlDWWra3wYUx9EBEIiG/YwAy0XyNHDd2goAsfuA==", + "karma": { + "version": "6.3.4", + "resolved": "https://registry.npmjs.org/karma/-/karma-6.3.4.tgz", + "integrity": "sha512-hbhRogUYIulfkBTZT7xoPrCYhRBnBoqbbL4fszWD0ReFGUxU+LYBr3dwKdAluaDQ/ynT9/7C+Lf7pPNW4gSx4Q==", "dev": true, "requires": { - "npm-install-checks": "^4.0.0", - "npm-normalize-package-bin": "^1.0.1", - "npm-package-arg": "^8.1.2", - "semver": "^7.3.4" + "body-parser": "^1.19.0", + "braces": "^3.0.2", + "chokidar": "^3.5.1", + "colors": "^1.4.0", + "connect": "^3.7.0", + "di": "^0.0.1", + "dom-serialize": "^2.2.1", + "glob": "^7.1.7", + "graceful-fs": "^4.2.6", + "http-proxy": "^1.18.1", + "isbinaryfile": "^4.0.8", + "lodash": "^4.17.21", + "log4js": "^6.3.0", + "mime": "^2.5.2", + "minimatch": "^3.0.4", + "qjobs": "^1.2.0", + "range-parser": "^1.2.1", + "rimraf": "^3.0.2", + "socket.io": "^3.1.0", + "source-map": "^0.6.1", + "tmp": "^0.2.1", + "ua-parser-js": "^0.7.28", + "yargs": "^16.1.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "tmp": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", + "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", + "dev": true, + "requires": { + "rimraf": "^3.0.0" + } + } } }, - "npm-registry-fetch": { - "version": "10.1.2", - "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-10.1.2.tgz", - "integrity": "sha512-KsM/TdPmntqgBFlfsbkOLkkE9ovZo7VpVcd+/eTdYszCrgy5zFl5JzWm+OxavFaEWlbkirpkou+ZYI00RmOBFA==", + "karma-chrome-launcher": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-3.1.0.tgz", + "integrity": "sha512-3dPs/n7vgz1rxxtynpzZTvb9y/GIaW8xjAwcIGttLbycqoFtI7yo1NGnQi6oFTherRE+GIhCAHZC4vEqWGhNvg==", "dev": true, "requires": { - "lru-cache": "^6.0.0", - "make-fetch-happen": "^8.0.9", - "minipass": "^3.1.3", - "minipass-fetch": "^1.3.0", - "minipass-json-stream": "^1.0.1", - "minizlib": "^2.0.0", - "npm-package-arg": "^8.0.0" + "which": "^1.2.1" + }, + "dependencies": { + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } } }, - "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=", + "karma-coverage": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/karma-coverage/-/karma-coverage-2.0.3.tgz", + "integrity": "sha512-atDvLQqvPcLxhED0cmXYdsPMCQuh6Asa9FMZW1bhNqlVEhJoB9qyZ2BY1gu7D/rr5GLGb5QzYO4siQskxaWP/g==", + "dev": true, + "requires": { + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^4.0.1", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.0.0", + "minimatch": "^3.0.4" + } + }, + "karma-coverage-istanbul-reporter": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/karma-coverage-istanbul-reporter/-/karma-coverage-istanbul-reporter-3.0.3.tgz", + "integrity": "sha512-wE4VFhG/QZv2Y4CdAYWDbMmcAHeS926ZIji4z+FkB2aF/EposRb6DP6G5ncT/wXhqUfAb/d7kZrNKPonbvsATw==", "dev": true, "requires": { - "path-key": "^2.0.0" + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^3.0.6", + "istanbul-reports": "^3.0.2", + "minimatch": "^3.0.4" }, "dependencies": { - "path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "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, + "requires": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^2.0.5", + "make-dir": "^2.1.0", + "rimraf": "^2.6.3", + "source-map": "^0.6.1" + }, + "dependencies": { + "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 + } + } + }, + "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, + "requires": { + "pify": "^4.0.1", + "semver": "^5.6.0" + } + }, + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + }, + "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 } } }, - "npmlog": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", - "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", + "karma-jasmine": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/karma-jasmine/-/karma-jasmine-4.0.1.tgz", + "integrity": "sha512-h8XDAhTiZjJKzfkoO1laMH+zfNlra+dEQHUAjpn5JV1zCPtOIVWGQjLBrqhnzQa/hrU2XrZwSyBa6XjEBzfXzw==", "dev": true, "requires": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" + "jasmine-core": "^3.6.0" } }, - "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==", + "karma-jasmine-html-reporter": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/karma-jasmine-html-reporter/-/karma-jasmine-html-reporter-1.7.0.tgz", + "integrity": "sha512-pzum1TL7j90DTE86eFt48/s12hqwQuiD+e5aXx2Dc9wDEn2LfGq6RoAxEZZjFiN0RDSCOnosEKRZWxbQ+iMpQQ==", + "dev": true, + "requires": {} + }, + "karma-source-map-support": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/karma-source-map-support/-/karma-source-map-support-1.4.0.tgz", + "integrity": "sha512-RsBECncGO17KAoJCYXjv+ckIz+Ii9NCi+9enk+rq6XC81ezYkb4/RHE6CTXdA7IOJqoF3wcaLfVG0CPmE5ca6A==", "dev": true, "requires": { - "boolbase": "~1.0.0" + "source-map-support": "^0.5.5" } }, - "num2fraction": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", - "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=", - "dev": true - }, - "number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "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 }, - "oauth-sign": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", + "kleur": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.4.tgz", + "integrity": "sha512-8QADVssbrFjivHWQU7KkMgptGTl6WAcSdlbBPY4uNF+mWr6DGcKrvY2w4FQJoXch7+fKMjj0dRrL75vk3k23OA==", "dev": true }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "klona": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.5.tgz", + "integrity": "sha512-pJiBpiXMbt7dkzXe8Ghj/u4FfXOOa98fPW+bihOJ4SjnoijweJrNThJfd3ifXpXhREjpoF2mZVH1GfS9LV3kHQ==", "dev": true }, - "object-copy": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", - "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "less": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/less/-/less-4.1.2.tgz", + "integrity": "sha512-EoQp/Et7OSOVu0aJknJOtlXZsnr8XE8KwuzTHOLeVSEx8pVWUICc8Q0VYRHgzyjX78nMEyC/oztWFbgyhtNfDA==", "dev": true, "requires": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" + "copy-anything": "^2.0.1", + "errno": "^0.1.1", + "graceful-fs": "^4.1.2", + "image-size": "~0.5.0", + "make-dir": "^2.1.0", + "mime": "^1.4.1", + "needle": "^2.5.2", + "parse-node-version": "^1.0.1", + "source-map": "~0.6.0", + "tslib": "^2.3.0" }, "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "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, + "optional": true, "requires": { - "is-descriptor": "^0.1.0" + "pify": "^4.0.1", + "semver": "^5.6.0" } }, - "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=", + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", "dev": true, - "requires": { - "kind-of": "^3.0.2" - } + "optional": true }, - "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=", + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", "dev": true, - "requires": { - "kind-of": "^3.0.2" - } + "optional": true }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "dev": true, - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "dependencies": { - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true - } - } + "optional": true }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "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, - "requires": { - "is-buffer": "^1.1.5" - } + "optional": true } } }, - "object-inspect": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.11.0.tgz", - "integrity": "sha512-jp7ikS6Sd3GxQfZJPyH3cjcbJF6GZPClgdV+EFygjFLQ5FmW/dRUnTd9PQ9k0JhoNDabWFbpF1yCdSWCC6gexg==", - "dev": true - }, - "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, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - } - }, - "object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "dev": true - }, - "object-visit": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", - "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "less-loader": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/less-loader/-/less-loader-10.2.0.tgz", + "integrity": "sha512-AV5KHWvCezW27GT90WATaDnfXBv99llDbtaj4bshq6DvAihMdNjaPDcUMa6EXKLRF+P2opFenJp89BXg91XLYg==", "dev": true, "requires": { - "isobject": "^3.0.0" + "klona": "^2.0.4" } }, - "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==", + "levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", "dev": true, "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "has-symbols": "^1.0.1", - "object-keys": "^1.1.1" + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" } }, - "object.pick": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "license-webpack-plugin": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/license-webpack-plugin/-/license-webpack-plugin-4.0.2.tgz", + "integrity": "sha512-771TFWFD70G1wLTC4oU2Cw4qvtmNrIw+wRvBtn+okgHl7slJVi7zfNcdmqDL72BojM30VNJ2UHylr1o77U37Jw==", "dev": true, "requires": { - "isobject": "^3.0.1" + "webpack-sources": "^3.0.0" + }, + "dependencies": { + "webpack-sources": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", + "dev": true + } } }, - "object.values": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.4.tgz", - "integrity": "sha512-TnGo7j4XSnKQoK3MfvkzqKCi0nVe/D9I9IjwTNYdb/fxYHpjrluHVOgw0AF6jrRFGMPHdfuidR09tIDiIvnaSg==", + "lie": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz", + "integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==", "dev": true, "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.18.2" + "immediate": "~3.0.5" } }, - "obuf": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", - "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", + "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 }, - "on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "load-json-file": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", + "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", "dev": true, "requires": { - "ee-first": "1.1.1" + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "strip-bom": "^3.0.0" + }, + "dependencies": { + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "dev": true, + "requires": { + "error-ex": "^1.2.0" + } + } } }, - "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==", + "loader-runner": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.2.0.tgz", + "integrity": "sha512-92+huvxMvYlMzMt0iIOukcwYBFpkYJdpl2xsZ7LrlayO7E8SOv+JJUEK17B/dJIHAOLMfh2dZZ/Y18WgmGtYNw==", "dev": true }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "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, "requires": { - "wrappy": "1" + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" } }, - "onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", "dev": true, "requires": { - "mimic-fn": "^2.1.0" + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" } }, - "open": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/open/-/open-8.0.2.tgz", - "integrity": "sha512-NV5QmWJrTaNBLHABJyrb+nd5dXI5zfea/suWawBhkHzAbVhLLiJdrqMgxMypGK9Eznp2Ltoh7SAVkQ3XAucX7Q==", - "dev": true, - "requires": { - "define-lazy-prop": "^2.0.0", - "is-docker": "^2.1.1", - "is-wsl": "^2.2.0" - } + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "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 + }, + "lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", + "dev": true }, - "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, - "requires": { - "is-wsl": "^1.1.0" - }, - "dependencies": { - "is-wsl": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", - "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", - "dev": true - } - } + "lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true }, - "optionator": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", - "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", - "dev": true, - "requires": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.3" - } + "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 }, - "ora": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.0.tgz", - "integrity": "sha512-1StwyXQGoU6gdjYkyVcqOLnVlbKj+6yPNNOxJVgpt9t4eksKjiriiHuxktLYkgllwk+D6MbC4ihH84L1udRXPg==", + "log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", "dev": true, "requires": { - "bl": "^4.1.0", "chalk": "^4.1.0", - "cli-cursor": "^3.1.0", - "cli-spinners": "^2.5.0", - "is-interactive": "^1.0.0", - "is-unicode-supported": "^0.1.0", - "log-symbols": "^4.1.0", - "strip-ansi": "^6.0.0", - "wcwidth": "^1.0.1" + "is-unicode-supported": "^0.1.0" }, "dependencies": { "ansi-styles": { @@ -29291,349 +26783,428 @@ } } }, - "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==", + "log4js": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/log4js/-/log4js-6.3.0.tgz", + "integrity": "sha512-Mc8jNuSFImQUIateBFwdOQcmC6Q5maU0VVvdC2R6XMb66/VnT+7WS4D/0EeNMZu1YODmJe5NIn2XftCzEocUgw==", + "dev": true, + "requires": { + "date-format": "^3.0.0", + "debug": "^4.1.1", + "flatted": "^2.0.1", + "rfdc": "^1.1.4", + "streamroller": "^2.2.4" + }, + "dependencies": { + "flatted": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz", + "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==", + "dev": true + } + } + }, + "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": { - "url-parse": "^1.4.3" + "yallist": "^4.0.0" } }, - "os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", - "dev": true + "magic-string": { + "version": "0.25.7", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz", + "integrity": "sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==", + "dev": true, + "requires": { + "sourcemap-codec": "^1.4.4" + } }, - "p-defer": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz", - "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=", + "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, + "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": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", "dev": true }, - "p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", + "make-fetch-happen": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz", + "integrity": "sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==", + "dev": true, + "requires": { + "agentkeepalive": "^4.1.3", + "cacache": "^15.2.0", + "http-cache-semantics": "^4.1.0", + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "^5.0.0", + "is-lambda": "^1.0.1", + "lru-cache": "^6.0.0", + "minipass": "^3.1.3", + "minipass-collect": "^1.0.2", + "minipass-fetch": "^1.3.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.2", + "promise-retry": "^2.0.1", + "socks-proxy-agent": "^6.0.0", + "ssri": "^8.0.0" + } + }, + "md5.js": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", + "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", "dev": true }, - "p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "memfs": { + "version": "3.4.6", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.4.6.tgz", + "integrity": "sha512-rH9mjopto6Wkr7RFuH9l9dk3qb2XGOcYKr7xMhaYqfzuJqOqhRrcFvfD7JMuPj6SLmPreh5+6eAuv36NFAU+Mw==", "dev": true, "requires": { - "yocto-queue": "^0.1.0" + "fs-monkey": "^1.0.3" } }, - "p-locate": { + "merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==", + "dev": true + }, + "merge-stream": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true + }, + "methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "dev": true + }, + "micro-base": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/micro-base/-/micro-base-0.9.0.tgz", + "integrity": "sha512-4+tOMKidYT5nQ6/UNmYrGVO5PMcnJdfuR4NC8HK8s2H61B4itOhA9yrsjBdqGV7ecdtej36x3YSIfPLRmPrspg==" + }, + "micromatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", + "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", "dev": true, "requires": { - "p-limit": "^1.1.0" + "braces": "^3.0.1", + "picomatch": "^2.2.3" + } + }, + "miller-rabin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "requires": { + "bn.js": "^4.0.0", + "brorand": "^1.0.1" + } + }, + "mime": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.5.2.tgz", + "integrity": "sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg==", + "dev": true + }, + "mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" + }, + "mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "requires": { + "mime-db": "1.52.0" + } + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true + }, + "mini-css-extract-plugin": { + "version": "2.5.3", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.5.3.tgz", + "integrity": "sha512-YseMB8cs8U/KCaAGQoqYmfUuhhGW0a9p9XvWXrxVOkE3/IiISTLw4ALNt7JR5B2eYauFM+PQGSbXMDmVbR7Tfw==", + "dev": true, + "requires": { + "schema-utils": "^4.0.0" }, "dependencies": { - "p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "ajv": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", + "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", "dev": true, "requires": { - "p-try": "^1.0.0" + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" } }, - "p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", - "dev": true + "ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "dev": true, + "requires": { + "ajv": "^8.0.0" + } + }, + "ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.3" + } + }, + "schema-utils": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", + "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.8.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.0.0" + } } } }, - "p-map": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", - "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", - "dev": true, - "requires": { - "aggregate-error": "^3.0.0" - } + "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==" }, - "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==", + "minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==" + }, + "minimatch": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.5.tgz", + "integrity": "sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw==", "dev": true, "requires": { - "retry": "^0.12.0" + "brace-expansion": "^1.1.7" } }, - "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==", + "minimist": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", + "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", "dev": true }, - "pacote": { - "version": "11.3.2", - "resolved": "https://registry.npmjs.org/pacote/-/pacote-11.3.2.tgz", - "integrity": "sha512-lMO7V9aMhyE5gfaSFxKfW3OTdXuFBNQJfuNuet3NPzWWhOYIW90t85vHcHLDjdhgmfAdAHyh9q1HAap96ea0XA==", + "minipass": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.3.tgz", + "integrity": "sha512-N0BOsdFAlNRfmwMhjAsLVWOk7Ljmeb39iqFlsV1At+jqRhSUP9yeof8FyJu4imaJiSUp8vQebWD/guZwGQC8iA==", "dev": true, "requires": { - "@npmcli/git": "^2.0.1", - "@npmcli/installed-package-contents": "^1.0.6", - "@npmcli/promise-spawn": "^1.2.0", - "@npmcli/run-script": "^1.8.2", - "cacache": "^15.0.5", - "chownr": "^2.0.0", - "fs-minipass": "^2.1.0", - "infer-owner": "^1.0.4", - "minipass": "^3.1.3", - "mkdirp": "^1.0.3", - "npm-package-arg": "^8.0.1", - "npm-packlist": "^2.1.4", - "npm-pick-manifest": "^6.0.0", - "npm-registry-fetch": "^10.0.0", - "promise-retry": "^2.0.1", - "read-package-json-fast": "^2.0.1", - "rimraf": "^3.0.2", - "ssri": "^8.0.1", - "tar": "^6.1.0" + "yallist": "^4.0.0" } }, - "pako": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", - "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", - "dev": true + "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, + "requires": { + "minipass": "^3.0.0" + } }, - "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==", + "minipass-fetch": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-1.4.1.tgz", + "integrity": "sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw==", "dev": true, "requires": { - "callsites": "^3.0.0" + "encoding": "^0.1.12", + "minipass": "^3.1.0", + "minipass-sized": "^1.0.3", + "minizlib": "^2.0.0" } }, - "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==", + "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, "requires": { - "@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" + "minipass": "^3.0.0" } }, - "parse-node-version": { + "minipass-json-stream": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz", - "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==", - "dev": true - }, - "parse5": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-3.0.3.tgz", - "integrity": "sha512-rgO9Zg5LLLkfJF9E6CCmXlSE4UVceloys8JrFqCcHloC3usd/kJCyPDwH2SOlzix2j3xaP9sUX3e8+kvkuleAA==", + "resolved": "https://registry.npmjs.org/minipass-json-stream/-/minipass-json-stream-1.0.1.tgz", + "integrity": "sha512-ODqY18UZt/I8k+b7rl2AENgbWE8IDYam+undIJONvigAz8KR5GWblsFTEfQs0WODsjbSXWlm+JHEv8Gr6Tfdbg==", "dev": true, "requires": { - "@types/node": "*" + "jsonparse": "^1.3.1", + "minipass": "^3.0.0" } }, - "parse5-html-rewriting-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5-html-rewriting-stream/-/parse5-html-rewriting-stream-6.0.1.tgz", - "integrity": "sha512-vwLQzynJVEfUlURxgnf51yAJDQTtVpNyGD8tKi2Za7m+akukNHxCcUQMAa/mUGLhCeicFdpy7Tlvj8ZNKadprg==", + "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, "requires": { - "parse5": "^6.0.1", - "parse5-sax-parser": "^6.0.1" - }, - "dependencies": { - "parse5": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", - "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", - "dev": true - } + "minipass": "^3.0.0" } }, - "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==", + "minipass-sized": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz", + "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==", "dev": true, "requires": { - "parse5": "^6.0.1" - }, - "dependencies": { - "parse5": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", - "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", - "dev": true - } + "minipass": "^3.0.0" } }, - "parse5-sax-parser": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5-sax-parser/-/parse5-sax-parser-6.0.1.tgz", - "integrity": "sha512-kXX+5S81lgESA0LsDuGjAlBybImAChYRMT+/uKCEXFBFOeEhS52qUCydGhU3qLRD8D9DVjaUo821WK7DM4iCeg==", + "minizlib": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", "dev": true, "requires": { - "parse5": "^6.0.1" - }, - "dependencies": { - "parse5": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", - "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", - "dev": true - } + "minipass": "^3.0.0", + "yallist": "^4.0.0" } }, - "parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", - "dev": true - }, - "pascalcase": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", - "dev": true - }, - "path-dirname": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", - "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", - "dev": true - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true - }, - "path-is-inside": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", - "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", - "dev": true - }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true - }, - "path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true - }, - "path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=", - "dev": true - }, - "path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", "dev": true }, - "pend": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", - "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=", + "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 }, - "performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", - "dev": true + "multicast-dns": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz", + "integrity": "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==", + "dev": true, + "requires": { + "dns-packet": "^1.3.1", + "thunky": "^1.0.2" + } }, - "picomatch": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz", - "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==", + "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": "sha512-cnAsSVxIDsYt0v7HmC0hWZFwwXSh+E6PgCrREDuN/EsjgLwA5XRmlMHhSiDPrt6HxY1gTivEa/Zh7GtODoLevQ==", "dev": true }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "mute-stream": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", "dev": true }, - "pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "nanoid": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", + "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==", "dev": true }, - "pinkie-promise": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", - "dev": true, - "requires": { - "pinkie": "^2.0.0" - } - }, - "pkg-dir": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", - "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", - "dev": true, - "requires": { - "find-up": "^2.1.0" - } - }, - "plist": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/plist/-/plist-3.0.2.tgz", - "integrity": "sha512-MSrkwZBdQ6YapHy87/8hDU8MnIcyxBKjeF+McXnr5A9MtffPewTs7G3hlpodT5TacyfIyFTaJEhh3GGcmasTgQ==", + "native-run": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/native-run/-/native-run-1.4.0.tgz", + "integrity": "sha512-3XJiDxGNi6XCsn8KYDQFSYGDVkKEMg0y55qTMU0feEuPNNU4iztBwW5bE87sfybZsQPsYDJQyYt9CUKDSoJgdQ==", "dev": true, "requires": { - "base64-js": "^1.5.1", - "xmlbuilder": "^9.0.7", - "xmldom": "^0.5.0" + "@ionic/utils-fs": "^3.0.0", + "@ionic/utils-terminal": "^2.3.1", + "bplist-parser": "0.2.0", + "debug": "^4.1.1", + "elementtree": "^0.1.7", + "ini": "^1.3.5", + "plist": "^3.0.1", + "split2": "^3.1.0", + "through2": "^4.0.2", + "tslib": "^2.0.1", + "yauzl": "^2.10.0" }, "dependencies": { - "xmlbuilder": { - "version": "9.0.7", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz", - "integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=", + "ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", "dev": true } } }, - "portfinder": { - "version": "1.0.28", - "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.28.tgz", - "integrity": "sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA==", + "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 + }, + "needle": { + "version": "2.9.1", + "resolved": "https://registry.npmjs.org/needle/-/needle-2.9.1.tgz", + "integrity": "sha512-6R9fqJ5Zcmf+uYaFgdIHmLwNldn5HbK8L5ybn7Uz+ylX/rnOsSp1AHcvQSrCaFN+qNM1wpymHqD7mVasEOlHGQ==", "dev": true, + "optional": true, "requires": { - "async": "^2.6.2", - "debug": "^3.1.1", - "mkdirp": "^0.5.5" + "debug": "^3.2.6", + "iconv-lite": "^0.4.4", + "sax": "^1.2.4" }, "dependencies": { "debug": { @@ -29641,1610 +27212,1326 @@ "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, + "optional": true, "requires": { "ms": "^2.1.1" } - }, - "mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "dev": true, - "requires": { - "minimist": "^1.2.5" - } } } }, - "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=", + "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 }, - "postcss": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.3.0.tgz", - "integrity": "sha512-+ogXpdAjWGa+fdYY5BQ96V/6tAo+TdSSIMP5huJBIygdWwKtVoB5JWZ7yUd4xZ8r+8Kvvx4nyg/PQ071H4UtcQ==", + "neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true + }, + "next-tick": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz", + "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==" + }, + "nice-napi": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/nice-napi/-/nice-napi-1.0.2.tgz", + "integrity": "sha512-px/KnJAJZf5RuBGcfD+Sp2pAKq0ytz8j+1NehvgIGFkvtvFrDM3T8E4x/JJODXK9WZow8RRGrbA9QQ3hs+pDhA==", "dev": true, + "optional": true, "requires": { - "colorette": "^1.2.2", - "nanoid": "^3.1.23", - "source-map-js": "^0.6.2" - }, - "dependencies": { - "colorette": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz", - "integrity": "sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==", - "dev": true - } + "node-addon-api": "^3.0.0", + "node-gyp-build": "^4.2.2" } }, - "postcss-attribute-case-insensitive": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-4.0.2.tgz", - "integrity": "sha512-clkFxk/9pcdb4Vkn0hAHq3YnxBQ2p0CGD1dy24jN+reBck+EWxMbxSUqN4Yj7t0w8csl87K6p0gxBe1utkJsYA==", + "node-addon-api": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.2.1.tgz", + "integrity": "sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==", "dev": true, + "optional": true + }, + "node-fetch": { + "version": "2.6.7", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", + "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", "requires": { - "postcss": "^7.0.2", - "postcss-selector-parser": "^6.0.2" - }, - "dependencies": { - "postcss": { - "version": "7.0.36", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", - "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, - "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 - }, - "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" - } - } + "whatwg-url": "^5.0.0" } }, - "postcss-calc": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.0.0.tgz", - "integrity": "sha512-5NglwDrcbiy8XXfPM11F3HeC6hoT9W7GUH/Zi5U/p7u3Irv4rHhdDcIZwG0llHXV4ftsBjpfWMXAnXNl4lnt8g==", + "node-forge": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", + "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", + "dev": true + }, + "node-gyp": { + "version": "8.4.1", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-8.4.1.tgz", + "integrity": "sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w==", "dev": true, "requires": { - "postcss-selector-parser": "^6.0.2", - "postcss-value-parser": "^4.0.2" + "env-paths": "^2.2.0", + "glob": "^7.1.4", + "graceful-fs": "^4.2.6", + "make-fetch-happen": "^9.1.0", + "nopt": "^5.0.0", + "npmlog": "^6.0.0", + "rimraf": "^3.0.2", + "semver": "^7.3.5", + "tar": "^6.1.2", + "which": "^2.0.2" } }, - "postcss-color-functional-notation": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-2.0.1.tgz", - "integrity": "sha512-ZBARCypjEDofW4P6IdPVTLhDNXPRn8T2s1zHbZidW6rPaaZvcnCS2soYFIQJrMZSxiePJ2XIYTlcb2ztr/eT2g==", + "node-gyp-build": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.4.0.tgz", + "integrity": "sha512-amJnQCcgtRVw9SvoebO3BKGESClrfXGCUTX9hSn1OuGQTQBOZmVd0Z0OlecpuRksKvbsUqALE8jls/ErClAPuQ==" + }, + "node-releases": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.5.tgz", + "integrity": "sha512-U9h1NLROZTq9uE1SNffn6WuPDg8icmi3ns4rEl/oTfIle4iLjTliCzgTsbaIFMq/Xn078/lfY/BL0GWZ+psK4Q==", + "dev": true + }, + "nopt": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", + "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", "dev": true, "requires": { - "postcss": "^7.0.2", - "postcss-values-parser": "^2.0.0" - }, - "dependencies": { - "postcss": { - "version": "7.0.36", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", - "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, - "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 - }, - "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" - } - } + "abbrev": "1" } }, - "postcss-color-gray": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-color-gray/-/postcss-color-gray-5.0.0.tgz", - "integrity": "sha512-q6BuRnAGKM/ZRpfDascZlIZPjvwsRye7UDNalqVz3s7GDxMtqPY6+Q871liNxsonUw8oC61OG+PSaysYpl1bnw==", + "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, "requires": { - "@csstools/convert-colors": "^1.4.0", - "postcss": "^7.0.5", - "postcss-values-parser": "^2.0.0" + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" }, "dependencies": { - "postcss": { - "version": "7.0.36", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", - "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "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 }, - "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" - } + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true } } }, - "postcss-color-hex-alpha": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/postcss-color-hex-alpha/-/postcss-color-hex-alpha-5.0.3.tgz", - "integrity": "sha512-PF4GDel8q3kkreVXKLAGNpHKilXsZ6xuu+mOQMHWHLPNyjiUBOr75sp5ZKJfmv1MCus5/DWUGcK9hm6qHEnXYw==", + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + }, + "normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "dev": true + }, + "npm-bundled": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.1.2.tgz", + "integrity": "sha512-x5DHup0SuyQcmL3s7Rx/YQ8sbw/Hzg0rj48eN0dV7hf5cmQq5PXIeioroH3raV1QC1yh3uTYuMThvEQF3iKgGQ==", "dev": true, "requires": { - "postcss": "^7.0.14", - "postcss-values-parser": "^2.0.1" - }, - "dependencies": { - "postcss": { - "version": "7.0.36", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", - "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, - "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 - }, - "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" - } - } + "npm-normalize-package-bin": "^1.0.1" } }, - "postcss-color-mod-function": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/postcss-color-mod-function/-/postcss-color-mod-function-3.0.3.tgz", - "integrity": "sha512-YP4VG+xufxaVtzV6ZmhEtc+/aTXH3d0JLpnYfxqTvwZPbJhWqp8bSY3nfNzNRFLgB4XSaBA82OE4VjOOKpCdVQ==", + "npm-install-checks": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-4.0.0.tgz", + "integrity": "sha512-09OmyDkNLYwqKPOnbI8exiOZU2GVVmQp7tgez2BPi5OZC8M82elDAps7sxC4l//uSUtotWqoEIDwjRvWH4qz8w==", "dev": true, "requires": { - "@csstools/convert-colors": "^1.4.0", - "postcss": "^7.0.2", - "postcss-values-parser": "^2.0.0" - }, - "dependencies": { - "postcss": { - "version": "7.0.36", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", - "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, - "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 - }, - "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" - } - } + "semver": "^7.1.1" } }, - "postcss-color-rebeccapurple": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-4.0.1.tgz", - "integrity": "sha512-aAe3OhkS6qJXBbqzvZth2Au4V3KieR5sRQ4ptb2b2O8wgvB3SJBsdG+jsn2BZbbwekDG8nTfcCNKcSfe/lEy8g==", + "npm-normalize-package-bin": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz", + "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==", + "dev": true + }, + "npm-package-arg": { + "version": "8.1.5", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.5.tgz", + "integrity": "sha512-LhgZrg0n0VgvzVdSm1oiZworPbTxYHUJCgtsJW8mGvlDpxTM1vSJc3m5QZeUkhAHIzbz3VCHd/R4osi1L1Tg/Q==", "dev": true, "requires": { - "postcss": "^7.0.2", - "postcss-values-parser": "^2.0.0" - }, - "dependencies": { - "postcss": { - "version": "7.0.36", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", - "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, - "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 - }, - "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" - } - } + "hosted-git-info": "^4.0.1", + "semver": "^7.3.4", + "validate-npm-package-name": "^3.0.0" } }, - "postcss-colormin": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.2.0.tgz", - "integrity": "sha512-+HC6GfWU3upe5/mqmxuqYZ9B2Wl4lcoUUNkoaX59nEWV4EtADCMiBqui111Bu8R8IvaZTmqmxrqOAqjbHIwXPw==", + "npm-packlist": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-3.0.0.tgz", + "integrity": "sha512-L/cbzmutAwII5glUcf2DBRNY/d0TFd4e/FnaZigJV6JD85RHZXJFGwCndjMWiiViiWSsWt3tiOLpI3ByTnIdFQ==", "dev": true, "requires": { - "browserslist": "^4.16.6", - "caniuse-api": "^3.0.0", - "colord": "^2.0.1", - "postcss-value-parser": "^4.1.0" + "glob": "^7.1.6", + "ignore-walk": "^4.0.1", + "npm-bundled": "^1.1.1", + "npm-normalize-package-bin": "^1.0.1" } }, - "postcss-convert-values": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.0.1.tgz", - "integrity": "sha512-C3zR1Do2BkKkCgC0g3sF8TS0koF2G+mN8xxayZx3f10cIRmTaAnpgpRQZjNekTZxM2ciSPoh2IWJm0VZx8NoQg==", + "npm-pick-manifest": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-6.1.1.tgz", + "integrity": "sha512-dBsdBtORT84S8V8UTad1WlUyKIY9iMsAmqxHbLdeEeBNMLQDlDWWra3wYUx9EBEIiG/YwAy0XyNHDd2goAsfuA==", "dev": true, "requires": { - "postcss-value-parser": "^4.1.0" + "npm-install-checks": "^4.0.0", + "npm-normalize-package-bin": "^1.0.1", + "npm-package-arg": "^8.1.2", + "semver": "^7.3.4" } }, - "postcss-custom-media": { - "version": "7.0.8", - "resolved": "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-7.0.8.tgz", - "integrity": "sha512-c9s5iX0Ge15o00HKbuRuTqNndsJUbaXdiNsksnVH8H4gdc+zbLzr/UasOwNG6CTDpLFekVY4672eWdiiWu2GUg==", + "npm-registry-fetch": { + "version": "12.0.2", + "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-12.0.2.tgz", + "integrity": "sha512-Df5QT3RaJnXYuOwtXBXS9BWs+tHH2olvkCLh6jcR/b/u3DvPMlp3J0TvvYwplPKxHMOwfg287PYih9QqaVFoKA==", "dev": true, "requires": { - "postcss": "^7.0.14" + "make-fetch-happen": "^10.0.1", + "minipass": "^3.1.6", + "minipass-fetch": "^1.4.1", + "minipass-json-stream": "^1.0.1", + "minizlib": "^2.1.2", + "npm-package-arg": "^8.1.5" }, "dependencies": { - "postcss": { - "version": "7.0.36", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", - "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "@npmcli/fs": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-2.1.0.tgz", + "integrity": "sha512-DmfBvNXGaetMxj9LTp8NAN9vEidXURrf5ZTslQzEAi/6GbW+4yjaLFQc6Tue5cpZ9Frlk4OBo/Snf1Bh/S7qTQ==", "dev": true, "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" + "@gar/promisify": "^1.1.3", + "semver": "^7.3.5" } }, - "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 - }, - "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==", + "@npmcli/move-file": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-2.0.0.tgz", + "integrity": "sha512-UR6D5f4KEGWJV6BGPH3Qb2EtgH+t+1XQ1Tt85c7qicN6cezzuHPdZwwAxqZr4JLtnQu0LZsTza/5gmNmSl8XLg==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "mkdirp": "^1.0.4", + "rimraf": "^3.0.2" } - } - } - }, - "postcss-custom-properties": { - "version": "8.0.11", - "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-8.0.11.tgz", - "integrity": "sha512-nm+o0eLdYqdnJ5abAJeXp4CEU1c1k+eB2yMCvhgzsds/e0umabFrN6HoTy/8Q4K5ilxERdl/JD1LO5ANoYBeMA==", - "dev": true, - "requires": { - "postcss": "^7.0.17", - "postcss-values-parser": "^2.0.1" - }, - "dependencies": { - "postcss": { - "version": "7.0.36", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", - "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + }, + "@tootallnate/once": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", + "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", + "dev": true + }, + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dev": true, "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" + "balanced-match": "^1.0.0" } }, - "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 - }, - "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==", + "cacache": { + "version": "16.1.1", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-16.1.1.tgz", + "integrity": "sha512-VDKN+LHyCQXaaYZ7rA/qtkURU+/yYhviUdvqEv2LT6QPZU8jpyzEkEVAcKlKLt5dJ5BRp11ym8lo3NKLluEPLg==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "@npmcli/fs": "^2.1.0", + "@npmcli/move-file": "^2.0.0", + "chownr": "^2.0.0", + "fs-minipass": "^2.1.0", + "glob": "^8.0.1", + "infer-owner": "^1.0.4", + "lru-cache": "^7.7.1", + "minipass": "^3.1.6", + "minipass-collect": "^1.0.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "mkdirp": "^1.0.4", + "p-map": "^4.0.0", + "promise-inflight": "^1.0.1", + "rimraf": "^3.0.2", + "ssri": "^9.0.0", + "tar": "^6.1.11", + "unique-filename": "^1.1.1" } - } - } - }, - "postcss-custom-selectors": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-5.1.2.tgz", - "integrity": "sha512-DSGDhqinCqXqlS4R7KGxL1OSycd1lydugJ1ky4iRXPHdBRiozyMHrdu0H3o7qNOCiZwySZTUI5MV0T8QhCLu+w==", - "dev": true, - "requires": { - "postcss": "^7.0.2", - "postcss-selector-parser": "^5.0.0-rc.3" - }, - "dependencies": { - "cssesc": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz", - "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==", - "dev": true }, - "postcss": { - "version": "7.0.36", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", - "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "glob": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.0.3.tgz", + "integrity": "sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==", "dev": true, "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" } }, - "postcss-selector-parser": { + "http-proxy-agent": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz", - "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", + "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", "dev": true, "requires": { - "cssesc": "^2.0.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" + "@tootallnate/once": "2", + "agent-base": "6", + "debug": "4" } }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "lru-cache": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.10.1.tgz", + "integrity": "sha512-BQuhQxPuRl79J5zSXRP+uNzPOyZw2oFI9JLRQ80XswSvg21KMKNtQza9eF42rfI/3Z40RvzBdXgziEkudzjo8A==", "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" + "make-fetch-happen": { + "version": "10.1.8", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-10.1.8.tgz", + "integrity": "sha512-0ASJbG12Au6+N5I84W+8FhGS6iM8MyzvZady+zaQAu+6IOaESFzCLLD0AR1sAFF3Jufi8bxm586ABN6hWd3k7g==", + "dev": true, + "requires": { + "agentkeepalive": "^4.2.1", + "cacache": "^16.1.0", + "http-cache-semantics": "^4.1.0", + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.0", + "is-lambda": "^1.0.1", + "lru-cache": "^7.7.1", + "minipass": "^3.1.6", + "minipass-collect": "^1.0.2", + "minipass-fetch": "^2.0.3", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.3", + "promise-retry": "^2.0.1", + "socks-proxy-agent": "^7.0.0", + "ssri": "^9.0.0" + }, + "dependencies": { + "minipass-fetch": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-2.1.0.tgz", + "integrity": "sha512-H9U4UVBGXEyyWJnqYDCLp1PwD8XIkJ4akNHp1aGVI+2Ym7wQMlxDKi4IB4JbmyU+pl9pEs/cVrK6cOuvmbK4Sg==", + "dev": true, + "requires": { + "encoding": "^0.1.13", + "minipass": "^3.1.6", + "minipass-sized": "^1.0.3", + "minizlib": "^2.1.2" + } + } } - } - } - }, - "postcss-dir-pseudo-class": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-5.0.0.tgz", - "integrity": "sha512-3pm4oq8HYWMZePJY+5ANriPs3P07q+LW6FAdTlkFH2XqDdP4HeeJYMOzn0HYLhRSjBO3fhiqSwwU9xEULSrPgw==", - "dev": true, - "requires": { - "postcss": "^7.0.2", - "postcss-selector-parser": "^5.0.0-rc.3" - }, - "dependencies": { - "cssesc": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz", - "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==", - "dev": true }, - "postcss": { - "version": "7.0.36", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", - "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "minimatch": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz", + "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==", "dev": true, "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" + "brace-expansion": "^2.0.1" } }, - "postcss-selector-parser": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz", - "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==", + "socks-proxy-agent": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-7.0.0.tgz", + "integrity": "sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww==", "dev": true, "requires": { - "cssesc": "^2.0.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" + "agent-base": "^6.0.2", + "debug": "^4.3.3", + "socks": "^2.6.2" } }, - "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 - }, - "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==", + "ssri": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-9.0.1.tgz", + "integrity": "sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "minipass": "^3.1.1" } } } }, - "postcss-discard-comments": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.0.1.tgz", - "integrity": "sha512-lgZBPTDvWrbAYY1v5GYEv8fEO/WhKOu/hmZqmCYfrpD6eyDWWzAOsl2rF29lpvziKO02Gc5GJQtlpkTmakwOWg==", + "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, - "requires": {} + "requires": { + "path-key": "^3.0.0" + } }, - "postcss-discard-duplicates": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.0.1.tgz", - "integrity": "sha512-svx747PWHKOGpAXXQkCc4k/DsWo+6bc5LsVrAsw+OU+Ibi7klFZCyX54gjYzX4TH+f2uzXjRviLARxkMurA2bA==", + "npmlog": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", + "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", "dev": true, - "requires": {} + "requires": { + "are-we-there-yet": "^3.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^4.0.3", + "set-blocking": "^2.0.0" + } }, - "postcss-discard-empty": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.0.1.tgz", - "integrity": "sha512-vfU8CxAQ6YpMxV2SvMcMIyF2LX1ZzWpy0lqHDsOdaKKLQVQGVP1pzhrI9JlsO65s66uQTfkQBKBD/A5gp9STFw==", + "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, - "requires": {} + "requires": { + "boolbase": "~1.0.0" + } }, - "postcss-discard-overridden": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.0.1.tgz", - "integrity": "sha512-Y28H7y93L2BpJhrdUR2SR2fnSsT+3TVx1NmVQLbcnZWwIUpJ7mfcTC6Za9M2PG6w8j7UQRfzxqn8jU2VwFxo3Q==", + "oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", + "dev": true + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "dev": true + }, + "object-inspect": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.11.0.tgz", + "integrity": "sha512-jp7ikS6Sd3GxQfZJPyH3cjcbJF6GZPClgdV+EFygjFLQ5FmW/dRUnTd9PQ9k0JhoNDabWFbpF1yCdSWCC6gexg==", + "dev": true + }, + "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, - "requires": {} + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + } }, - "postcss-double-position-gradients": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-1.0.0.tgz", - "integrity": "sha512-G+nV8EnQq25fOI8CH/B6krEohGWnF5+3A6H/+JEpOncu5dCnkS1QQ6+ct3Jkaepw1NGVqqOZH6lqrm244mCftA==", + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true + }, + "object.assign": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", "dev": true, "requires": { - "postcss": "^7.0.5", - "postcss-values-parser": "^2.0.0" - }, - "dependencies": { - "postcss": { - "version": "7.0.36", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", - "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, - "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 - }, - "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" - } - } + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + } + }, + "object.values": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.4.tgz", + "integrity": "sha512-TnGo7j4XSnKQoK3MfvkzqKCi0nVe/D9I9IjwTNYdb/fxYHpjrluHVOgw0AF6jrRFGMPHdfuidR09tIDiIvnaSg==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.18.2" + } + }, + "obuf": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", + "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", + "dev": true + }, + "on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "dev": true, + "requires": { + "ee-first": "1.1.1" + } + }, + "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 + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "open": { + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/open/-/open-8.4.0.tgz", + "integrity": "sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==", + "dev": true, + "requires": { + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" + } + }, + "optionator": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "dev": true, + "requires": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" } }, - "postcss-env-function": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/postcss-env-function/-/postcss-env-function-2.0.2.tgz", - "integrity": "sha512-rwac4BuZlITeUbiBq60h/xbLzXY43qOsIErngWa4l7Mt+RaSkT7QBjXVGTcBHupykkblHMDrBFh30zchYPaOUw==", + "ora": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.0.tgz", + "integrity": "sha512-1StwyXQGoU6gdjYkyVcqOLnVlbKj+6yPNNOxJVgpt9t4eksKjiriiHuxktLYkgllwk+D6MbC4ihH84L1udRXPg==", "dev": true, "requires": { - "postcss": "^7.0.2", - "postcss-values-parser": "^2.0.0" + "bl": "^4.1.0", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.5.0", + "is-interactive": "^1.0.0", + "is-unicode-supported": "^0.1.0", + "log-symbols": "^4.1.0", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" }, "dependencies": { - "postcss": { - "version": "7.0.36", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", - "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" + "color-convert": "^2.0.1" } }, - "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 - }, - "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==", + "chalk": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", + "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" } - } - } - }, - "postcss-focus-visible": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-focus-visible/-/postcss-focus-visible-4.0.0.tgz", - "integrity": "sha512-Z5CkWBw0+idJHSV6+Bgf2peDOFf/x4o+vX/pwcNYrWpXFrSfTkQ3JQ1ojrq9yS+upnAlNRHeg8uEwFTgorjI8g==", - "dev": true, - "requires": { - "postcss": "^7.0.2" - }, - "dependencies": { - "postcss": { - "version": "7.0.36", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", - "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" + "color-name": "~1.1.4" } }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, "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==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "has-flag": "^4.0.0" } } } }, - "postcss-focus-within": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-focus-within/-/postcss-focus-within-3.0.0.tgz", - "integrity": "sha512-W0APui8jQeBKbCGZudW37EeMCjDeVxKgiYfIIEo8Bdh5SpB9sxds/Iq8SEuzS0Q4YFOlG7EPFulbbxujpkrV2w==", + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "dev": true + }, + "p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "dev": true, "requires": { - "postcss": "^7.0.2" - }, - "dependencies": { - "postcss": { - "version": "7.0.36", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", - "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, - "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 - }, - "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" - } - } + "yocto-queue": "^0.1.0" } }, - "postcss-font-variant": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-font-variant/-/postcss-font-variant-4.0.1.tgz", - "integrity": "sha512-I3ADQSTNtLTTd8uxZhtSOrTCQ9G4qUVKPjHiDk0bV75QSxXjVWiJVJ2VLdspGUi9fbW9BcjKJoRvxAH1pckqmA==", + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", "dev": true, "requires": { - "postcss": "^7.0.2" + "p-limit": "^1.1.0" }, "dependencies": { - "postcss": { - "version": "7.0.36", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", - "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", "dev": true, "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" + "p-try": "^1.0.0" } }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", "dev": true - }, - "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" - } } } }, - "postcss-gap-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-2.0.0.tgz", - "integrity": "sha512-QZSqDaMgXCHuHTEzMsS2KfVDOq7ZFiknSpkrPJY6jmxbugUPTuSzs/vuE5I3zv0WAS+3vhrlqhijiprnuQfzmg==", + "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": { - "postcss": "^7.0.2" - }, - "dependencies": { - "postcss": { - "version": "7.0.36", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", - "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, - "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 - }, - "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" - } - } + "aggregate-error": "^3.0.0" } }, - "postcss-image-set-function": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/postcss-image-set-function/-/postcss-image-set-function-3.0.1.tgz", - "integrity": "sha512-oPTcFFip5LZy8Y/whto91L9xdRHCWEMs3e1MdJxhgt4jy2WYXfhkng59fH5qLXSCPN8k4n94p1Czrfe5IOkKUw==", + "p-retry": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz", + "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==", "dev": true, "requires": { - "postcss": "^7.0.2", - "postcss-values-parser": "^2.0.0" + "@types/retry": "0.12.0", + "retry": "^0.13.1" }, "dependencies": { - "postcss": { - "version": "7.0.36", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", - "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "retry": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", + "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", "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" - } } } }, - "postcss-import": { - "version": "14.0.1", - "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-14.0.1.tgz", - "integrity": "sha512-Xn2+z++vWObbEPhiiKO1a78JiyhqipyrXHBb3AHpv0ks7Cdg+GxQQJ24ODNMTanldf7197gSP3axppO9yaG0lA==", + "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 + }, + "pacote": { + "version": "12.0.3", + "resolved": "https://registry.npmjs.org/pacote/-/pacote-12.0.3.tgz", + "integrity": "sha512-CdYEl03JDrRO3x18uHjBYA9TyoW8gy+ThVcypcDkxPtKlw76e4ejhYB6i9lJ+/cebbjpqPW/CijjqxwDTts8Ow==", "dev": true, "requires": { - "postcss-value-parser": "^4.0.0", - "read-cache": "^1.0.0", - "resolve": "^1.1.7" + "@npmcli/git": "^2.1.0", + "@npmcli/installed-package-contents": "^1.0.6", + "@npmcli/promise-spawn": "^1.2.0", + "@npmcli/run-script": "^2.0.0", + "cacache": "^15.0.5", + "chownr": "^2.0.0", + "fs-minipass": "^2.1.0", + "infer-owner": "^1.0.4", + "minipass": "^3.1.3", + "mkdirp": "^1.0.3", + "npm-package-arg": "^8.0.1", + "npm-packlist": "^3.0.0", + "npm-pick-manifest": "^6.0.0", + "npm-registry-fetch": "^12.0.0", + "promise-retry": "^2.0.1", + "read-package-json-fast": "^2.0.1", + "rimraf": "^3.0.2", + "ssri": "^8.0.1", + "tar": "^6.1.0" } }, - "postcss-initial": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/postcss-initial/-/postcss-initial-3.0.4.tgz", - "integrity": "sha512-3RLn6DIpMsK1l5UUy9jxQvoDeUN4gP939tDcKUHD/kM8SGSKbFAnvkpFpj3Bhtz3HGk1jWY5ZNWX6mPta5M9fg==", + "pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", + "dev": true + }, + "parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", "dev": true, "requires": { - "postcss": "^7.0.2" - }, - "dependencies": { - "postcss": { - "version": "7.0.36", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", - "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, - "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 - }, - "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" - } - } + "callsites": "^3.0.0" } }, - "postcss-lab-function": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-2.0.1.tgz", - "integrity": "sha512-whLy1IeZKY+3fYdqQFuDBf8Auw+qFuVnChWjmxm/UhHWqNHZx+B99EwxTvGYmUBqe3Fjxs4L1BoZTJmPu6usVg==", + "parse-asn1": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", + "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", + "requires": { + "asn1.js": "^5.2.0", + "browserify-aes": "^1.0.0", + "evp_bytestokey": "^1.0.0", + "pbkdf2": "^3.0.3", + "safe-buffer": "^5.1.1" + } + }, + "parse-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, "requires": { - "@csstools/convert-colors": "^1.4.0", - "postcss": "^7.0.2", - "postcss-values-parser": "^2.0.0" - }, - "dependencies": { - "postcss": { - "version": "7.0.36", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", - "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, - "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 - }, - "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" - } - } + "@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" } }, - "postcss-loader": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-5.2.0.tgz", - "integrity": "sha512-uSuCkENFeUaOYsKrXm0eNNgVIxc71z8RcckLMbVw473rGojFnrUeqEz6zBgXsH2q1EIzXnO/4pEz9RhALjlITA==", + "parse-node-version": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz", + "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==", + "dev": true + }, + "parse5": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-3.0.3.tgz", + "integrity": "sha512-rgO9Zg5LLLkfJF9E6CCmXlSE4UVceloys8JrFqCcHloC3usd/kJCyPDwH2SOlzix2j3xaP9sUX3e8+kvkuleAA==", "dev": true, "requires": { - "cosmiconfig": "^7.0.0", - "klona": "^2.0.4", - "semver": "^7.3.4" + "@types/node": "*" } }, - "postcss-logical": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-logical/-/postcss-logical-3.0.0.tgz", - "integrity": "sha512-1SUKdJc2vuMOmeItqGuNaC+N8MzBWFWEkAnRnLpFYj1tGGa7NqyVBujfRtgNa2gXR+6RkGUiB2O5Vmh7E2RmiA==", + "parse5-html-rewriting-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5-html-rewriting-stream/-/parse5-html-rewriting-stream-6.0.1.tgz", + "integrity": "sha512-vwLQzynJVEfUlURxgnf51yAJDQTtVpNyGD8tKi2Za7m+akukNHxCcUQMAa/mUGLhCeicFdpy7Tlvj8ZNKadprg==", "dev": true, "requires": { - "postcss": "^7.0.2" + "parse5": "^6.0.1", + "parse5-sax-parser": "^6.0.1" }, "dependencies": { - "postcss": { - "version": "7.0.36", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", - "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", "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" - } } } }, - "postcss-media-minmax": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-media-minmax/-/postcss-media-minmax-4.0.0.tgz", - "integrity": "sha512-fo9moya6qyxsjbFAYl97qKO9gyre3qvbMnkOZeZwlsW6XYFsvs2DMGDlchVLfAd8LHPZDxivu/+qW2SMQeTHBw==", + "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, "requires": { - "postcss": "^7.0.2" + "parse5": "^6.0.1" }, "dependencies": { - "postcss": { - "version": "7.0.36", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", - "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", "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" - } } } }, - "postcss-merge-longhand": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.0.2.tgz", - "integrity": "sha512-BMlg9AXSI5G9TBT0Lo/H3PfUy63P84rVz3BjCFE9e9Y9RXQZD3+h3YO1kgTNsNJy7bBc1YQp8DmSnwLIW5VPcw==", + "parse5-sax-parser": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5-sax-parser/-/parse5-sax-parser-6.0.1.tgz", + "integrity": "sha512-kXX+5S81lgESA0LsDuGjAlBybImAChYRMT+/uKCEXFBFOeEhS52qUCydGhU3qLRD8D9DVjaUo821WK7DM4iCeg==", "dev": true, "requires": { - "css-color-names": "^1.0.1", - "postcss-value-parser": "^4.1.0", - "stylehacks": "^5.0.1" + "parse5": "^6.0.1" + }, + "dependencies": { + "parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", + "dev": true + } } }, - "postcss-merge-rules": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.0.2.tgz", - "integrity": "sha512-5K+Md7S3GwBewfB4rjDeol6V/RZ8S+v4B66Zk2gChRqLTCC8yjnHQ601omj9TKftS19OPGqZ/XzoqpzNQQLwbg==", - "dev": true, - "requires": { - "browserslist": "^4.16.6", - "caniuse-api": "^3.0.0", - "cssnano-utils": "^2.0.1", - "postcss-selector-parser": "^6.0.5", - "vendors": "^1.0.3" - } + "parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "dev": true }, - "postcss-minify-font-values": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.0.1.tgz", - "integrity": "sha512-7JS4qIsnqaxk+FXY1E8dHBDmraYFWmuL6cgt0T1SWGRO5bzJf8sUoelwa4P88LEWJZweHevAiDKxHlofuvtIoA==", - "dev": true, - "requires": { - "postcss-value-parser": "^4.1.0" - } + "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 }, - "postcss-minify-gradients": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.0.1.tgz", - "integrity": "sha512-odOwBFAIn2wIv+XYRpoN2hUV3pPQlgbJ10XeXPq8UY2N+9ZG42xu45lTn/g9zZ+d70NKSQD6EOi6UiCMu3FN7g==", - "dev": true, - "requires": { - "cssnano-utils": "^2.0.1", - "is-color-stop": "^1.1.0", - "postcss-value-parser": "^4.1.0" - } + "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 }, - "postcss-minify-params": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.0.1.tgz", - "integrity": "sha512-4RUC4k2A/Q9mGco1Z8ODc7h+A0z7L7X2ypO1B6V8057eVK6mZ6xwz6QN64nHuHLbqbclkX1wyzRnIrdZehTEHw==", - "dev": true, + "path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", + "dev": true + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true + }, + "path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==", + "dev": true + }, + "path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true + }, + "pbkdf2": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", + "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", "requires": { - "alphanum-sort": "^1.0.2", - "browserslist": "^4.16.0", - "cssnano-utils": "^2.0.1", - "postcss-value-parser": "^4.1.0", - "uniqs": "^2.0.0" + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" } }, - "postcss-minify-selectors": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.1.0.tgz", - "integrity": "sha512-NzGBXDa7aPsAcijXZeagnJBKBPMYLaJJzB8CQh6ncvyl2sIndLVWfbcDi0SBjRWk5VqEjXvf8tYwzoKf4Z07og==", + "pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=", + "dev": true + }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "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.3.0", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz", + "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==", + "dev": true + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true + }, + "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, "requires": { - "alphanum-sort": "^1.0.2", - "postcss-selector-parser": "^6.0.5" + "pinkie": "^2.0.0" } }, - "postcss-modules-extract-imports": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz", - "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==", - "dev": true, - "requires": {} + "pirates": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz", + "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==", + "dev": true }, - "postcss-modules-local-by-default": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz", - "integrity": "sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==", + "piscina": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/piscina/-/piscina-3.2.0.tgz", + "integrity": "sha512-yn/jMdHRw+q2ZJhFhyqsmANcbF6V2QwmD84c6xRau+QpQOmtrBCoRGdvTfeuFDYXB5W2m6MfLkjkvQa9lUSmIA==", "dev": true, "requires": { - "icss-utils": "^5.0.0", - "postcss-selector-parser": "^6.0.2", - "postcss-value-parser": "^4.1.0" + "eventemitter-asyncresource": "^1.0.0", + "hdr-histogram-js": "^2.0.1", + "hdr-histogram-percentiles-obj": "^3.0.0", + "nice-napi": "^1.0.2" } }, - "postcss-modules-scope": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz", - "integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==", + "pkg-dir": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", + "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", "dev": true, "requires": { - "postcss-selector-parser": "^6.0.4" + "find-up": "^2.1.0" } }, - "postcss-modules-values": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", - "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", + "plist": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/plist/-/plist-3.0.2.tgz", + "integrity": "sha512-MSrkwZBdQ6YapHy87/8hDU8MnIcyxBKjeF+McXnr5A9MtffPewTs7G3hlpodT5TacyfIyFTaJEhh3GGcmasTgQ==", "dev": true, "requires": { - "icss-utils": "^5.0.0" + "base64-js": "^1.5.1", + "xmlbuilder": "^9.0.7", + "xmldom": "^0.5.0" + }, + "dependencies": { + "xmlbuilder": { + "version": "9.0.7", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz", + "integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=", + "dev": true + } } }, - "postcss-nesting": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-7.0.1.tgz", - "integrity": "sha512-FrorPb0H3nuVq0Sff7W2rnc3SmIcruVC6YwpcS+k687VxyxO33iE1amna7wHuRVzM8vfiYofXSBHNAZ3QhLvYg==", + "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, "requires": { - "postcss": "^7.0.2" + "async": "^2.6.2", + "debug": "^3.1.1", + "mkdirp": "^0.5.5" }, "dependencies": { - "postcss": { - "version": "7.0.36", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", - "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" + "ms": "^2.1.1" } }, - "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 - }, - "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==", + "mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "minimist": "^1.2.6" } } } }, - "postcss-normalize-charset": { + "postcss": { + "version": "8.4.5", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.5.tgz", + "integrity": "sha512-jBDboWM8qpaqwkMwItqTQTiFikhs/67OYVvblFFTM7MrZjt6yMKd6r2kgXizEbTTljacm4NldIlZnhbjr84QYg==", + "dev": true, + "requires": { + "nanoid": "^3.1.30", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.1" + } + }, + "postcss-attribute-case-insensitive": { "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.0.1.tgz", - "integrity": "sha512-6J40l6LNYnBdPSk+BHZ8SF+HAkS4q2twe5jnocgd+xWpz/mx/5Sa32m3W1AA8uE8XaXN+eg8trIlfu8V9x61eg==", + "resolved": "https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-5.0.1.tgz", + "integrity": "sha512-wrt2VndqSLJpyBRNz9OmJcgnhI9MaongeWgapdBuUMu2a/KNJ8SENesG4SdiTnQwGO9b1VKbTWYAfCPeokLqZQ==", "dev": true, - "requires": {} + "requires": { + "postcss-selector-parser": "^6.0.10" + } }, - "postcss-normalize-display-values": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.0.1.tgz", - "integrity": "sha512-uupdvWk88kLDXi5HEyI9IaAJTE3/Djbcrqq8YgjvAVuzgVuqIk3SuJWUisT2gaJbZm1H9g5k2w1xXilM3x8DjQ==", + "postcss-color-functional-notation": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-4.2.3.tgz", + "integrity": "sha512-5fbr6FzFzjwHXKsVnkmEYrJYG8VNNzvD1tAXaPPWR97S6rhKI5uh2yOfV5TAzhDkZoq4h+chxEplFDc8GeyFtw==", "dev": true, "requires": { - "cssnano-utils": "^2.0.1", - "postcss-value-parser": "^4.1.0" + "postcss-value-parser": "^4.2.0" } }, - "postcss-normalize-positions": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.0.1.tgz", - "integrity": "sha512-rvzWAJai5xej9yWqlCb1OWLd9JjW2Ex2BCPzUJrbaXmtKtgfL8dBMOOMTX6TnvQMtjk3ei1Lswcs78qKO1Skrg==", + "postcss-color-hex-alpha": { + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/postcss-color-hex-alpha/-/postcss-color-hex-alpha-8.0.4.tgz", + "integrity": "sha512-nLo2DCRC9eE4w2JmuKgVA3fGL3d01kGq752pVALF68qpGLmx2Qrk91QTKkdUqqp45T1K1XV8IhQpcu1hoAQflQ==", "dev": true, "requires": { - "postcss-value-parser": "^4.1.0" + "postcss-value-parser": "^4.2.0" } }, - "postcss-normalize-repeat-style": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.0.1.tgz", - "integrity": "sha512-syZ2itq0HTQjj4QtXZOeefomckiV5TaUO6ReIEabCh3wgDs4Mr01pkif0MeVwKyU/LHEkPJnpwFKRxqWA/7O3w==", + "postcss-color-rebeccapurple": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-7.1.0.tgz", + "integrity": "sha512-1jtE5AKnZcKq4pjOrltFHcbEM2/IvtbD1OdhZ/wqds18//bh0UmQkffcCkzDJU+/vGodfIsVQeKn+45CJvX9Bw==", "dev": true, "requires": { - "cssnano-utils": "^2.0.1", - "postcss-value-parser": "^4.1.0" + "postcss-value-parser": "^4.2.0" } }, - "postcss-normalize-string": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.0.1.tgz", - "integrity": "sha512-Ic8GaQ3jPMVl1OEn2U//2pm93AXUcF3wz+OriskdZ1AOuYV25OdgS7w9Xu2LO5cGyhHCgn8dMXh9bO7vi3i9pA==", + "postcss-custom-media": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-8.0.2.tgz", + "integrity": "sha512-7yi25vDAoHAkbhAzX9dHx2yc6ntS4jQvejrNcC+csQJAXjj15e7VcWfMgLqBNAbOvqi5uIa9huOVwdHbf+sKqg==", "dev": true, "requires": { - "postcss-value-parser": "^4.1.0" + "postcss-value-parser": "^4.2.0" } }, - "postcss-normalize-timing-functions": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.0.1.tgz", - "integrity": "sha512-cPcBdVN5OsWCNEo5hiXfLUnXfTGtSFiBU9SK8k7ii8UD7OLuznzgNRYkLZow11BkQiiqMcgPyh4ZqXEEUrtQ1Q==", + "postcss-custom-properties": { + "version": "12.1.8", + "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-12.1.8.tgz", + "integrity": "sha512-8rbj8kVu00RQh2fQF81oBqtduiANu4MIxhyf0HbbStgPtnFlWn0yiaYTpLHrPnJbffVY1s9apWsIoVZcc68FxA==", "dev": true, "requires": { - "cssnano-utils": "^2.0.1", - "postcss-value-parser": "^4.1.0" + "postcss-value-parser": "^4.2.0" } }, - "postcss-normalize-unicode": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.0.1.tgz", - "integrity": "sha512-kAtYD6V3pK0beqrU90gpCQB7g6AOfP/2KIPCVBKJM2EheVsBQmx/Iof+9zR9NFKLAx4Pr9mDhogB27pmn354nA==", + "postcss-custom-selectors": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-6.0.3.tgz", + "integrity": "sha512-fgVkmyiWDwmD3JbpCmB45SvvlCD6z9CG6Ie6Iere22W5aHea6oWa7EM2bpnv2Fj3I94L3VbtvX9KqwSi5aFzSg==", "dev": true, "requires": { - "browserslist": "^4.16.0", - "postcss-value-parser": "^4.1.0" + "postcss-selector-parser": "^6.0.4" } }, - "postcss-normalize-url": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.0.2.tgz", - "integrity": "sha512-k4jLTPUxREQ5bpajFQZpx8bCF2UrlqOTzP9kEqcEnOfwsRshWs2+oAFIHfDQB8GO2PaUaSE0NlTAYtbluZTlHQ==", + "postcss-dir-pseudo-class": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-6.0.4.tgz", + "integrity": "sha512-I8epwGy5ftdzNWEYok9VjW9whC4xnelAtbajGv4adql4FIF09rnrxnA9Y8xSHN47y7gqFIv10C5+ImsLeJpKBw==", "dev": true, "requires": { - "is-absolute-url": "^3.0.3", - "normalize-url": "^6.0.1", - "postcss-value-parser": "^4.1.0" + "postcss-selector-parser": "^6.0.9" } }, - "postcss-normalize-whitespace": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.0.1.tgz", - "integrity": "sha512-iPklmI5SBnRvwceb/XH568yyzK0qRVuAG+a1HFUsFRf11lEJTiQQa03a4RSCQvLKdcpX7XsI1Gen9LuLoqwiqA==", + "postcss-double-position-gradients": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-3.1.1.tgz", + "integrity": "sha512-jM+CGkTs4FcG53sMPjrrGE0rIvLDdCrqMzgDC5fLI7JHDO7o6QG8C5TQBtExb13hdBdoH9C2QVbG4jo2y9lErQ==", "dev": true, "requires": { - "postcss-value-parser": "^4.1.0" + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" } }, - "postcss-ordered-values": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.0.2.tgz", - "integrity": "sha512-8AFYDSOYWebJYLyJi3fyjl6CqMEG/UVworjiyK1r573I56kb3e879sCJLGvR3merj+fAdPpVplXKQZv+ey6CgQ==", + "postcss-env-function": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/postcss-env-function/-/postcss-env-function-4.0.6.tgz", + "integrity": "sha512-kpA6FsLra+NqcFnL81TnsU+Z7orGtDTxcOhl6pwXeEq1yFPpRMkCDpHhrz8CFQDr/Wfm0jLiNQ1OsGGPjlqPwA==", "dev": true, "requires": { - "cssnano-utils": "^2.0.1", - "postcss-value-parser": "^4.1.0" + "postcss-value-parser": "^4.2.0" } }, - "postcss-overflow-shorthand": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/postcss-overflow-shorthand/-/postcss-overflow-shorthand-2.0.0.tgz", - "integrity": "sha512-aK0fHc9CBNx8jbzMYhshZcEv8LtYnBIRYQD5i7w/K/wS9c2+0NSR6B3OVMu5y0hBHYLcMGjfU+dmWYNKH0I85g==", + "postcss-focus-visible": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/postcss-focus-visible/-/postcss-focus-visible-6.0.4.tgz", + "integrity": "sha512-QcKuUU/dgNsstIK6HELFRT5Y3lbrMLEOwG+A4s5cA+fx3A3y/JTq3X9LaOj3OC3ALH0XqyrgQIgey/MIZ8Wczw==", "dev": true, "requires": { - "postcss": "^7.0.2" - }, - "dependencies": { - "postcss": { - "version": "7.0.36", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", - "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, - "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 - }, - "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" - } - } + "postcss-selector-parser": "^6.0.9" } }, - "postcss-page-break": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/postcss-page-break/-/postcss-page-break-2.0.0.tgz", - "integrity": "sha512-tkpTSrLpfLfD9HvgOlJuigLuk39wVTbbd8RKcy8/ugV2bNBUW3xU+AIqyxhDrQr1VUj1RmyJrBn1YWrqUm9zAQ==", + "postcss-focus-within": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/postcss-focus-within/-/postcss-focus-within-5.0.4.tgz", + "integrity": "sha512-vvjDN++C0mu8jz4af5d52CB184ogg/sSxAFS+oUJQq2SuCe7T5U2iIsVJtsCp2d6R4j0jr5+q3rPkBVZkXD9fQ==", "dev": true, "requires": { - "postcss": "^7.0.2" - }, - "dependencies": { - "postcss": { - "version": "7.0.36", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", - "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, - "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 - }, - "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" - } - } + "postcss-selector-parser": "^6.0.9" } }, - "postcss-place": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-place/-/postcss-place-4.0.1.tgz", - "integrity": "sha512-Zb6byCSLkgRKLODj/5mQugyuj9bvAAw9LqJJjgwz5cYryGeXfFZfSXoP1UfveccFmeq0b/2xxwcTEVScnqGxBg==", + "postcss-font-variant": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-font-variant/-/postcss-font-variant-5.0.0.tgz", + "integrity": "sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA==", + "dev": true, + "requires": {} + }, + "postcss-gap-properties": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-3.0.3.tgz", + "integrity": "sha512-rPPZRLPmEKgLk/KlXMqRaNkYTUpE7YC+bOIQFN5xcu1Vp11Y4faIXv6/Jpft6FMnl6YRxZqDZG0qQOW80stzxQ==", + "dev": true, + "requires": {} + }, + "postcss-image-set-function": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/postcss-image-set-function/-/postcss-image-set-function-4.0.6.tgz", + "integrity": "sha512-KfdC6vg53GC+vPd2+HYzsZ6obmPqOk6HY09kttU19+Gj1nC3S3XBVEXDHxkhxTohgZqzbUb94bKXvKDnYWBm/A==", "dev": true, "requires": { - "postcss": "^7.0.2", - "postcss-values-parser": "^2.0.0" - }, - "dependencies": { - "postcss": { - "version": "7.0.36", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", - "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, - "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 - }, - "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" - } - } + "postcss-value-parser": "^4.2.0" } }, - "postcss-preset-env": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-6.7.0.tgz", - "integrity": "sha512-eU4/K5xzSFwUFJ8hTdTQzo2RBLbDVt83QZrAvI07TULOkmyQlnYlpwep+2yIK+K+0KlZO4BvFcleOCCcUtwchg==", - "dev": true, - "requires": { - "autoprefixer": "^9.6.1", - "browserslist": "^4.6.4", - "caniuse-lite": "^1.0.30000981", - "css-blank-pseudo": "^0.1.4", - "css-has-pseudo": "^0.10.0", - "css-prefers-color-scheme": "^3.1.1", - "cssdb": "^4.4.0", - "postcss": "^7.0.17", - "postcss-attribute-case-insensitive": "^4.0.1", - "postcss-color-functional-notation": "^2.0.1", - "postcss-color-gray": "^5.0.0", - "postcss-color-hex-alpha": "^5.0.3", - "postcss-color-mod-function": "^3.0.3", - "postcss-color-rebeccapurple": "^4.0.1", - "postcss-custom-media": "^7.0.8", - "postcss-custom-properties": "^8.0.11", - "postcss-custom-selectors": "^5.1.2", - "postcss-dir-pseudo-class": "^5.0.0", - "postcss-double-position-gradients": "^1.0.0", - "postcss-env-function": "^2.0.2", - "postcss-focus-visible": "^4.0.0", - "postcss-focus-within": "^3.0.0", - "postcss-font-variant": "^4.0.0", - "postcss-gap-properties": "^2.0.0", - "postcss-image-set-function": "^3.0.1", - "postcss-initial": "^3.0.0", - "postcss-lab-function": "^2.0.1", - "postcss-logical": "^3.0.0", - "postcss-media-minmax": "^4.0.0", - "postcss-nesting": "^7.0.0", - "postcss-overflow-shorthand": "^2.0.0", - "postcss-page-break": "^2.0.0", - "postcss-place": "^4.0.1", - "postcss-pseudo-class-any-link": "^6.0.0", - "postcss-replace-overflow-wrap": "^3.0.0", - "postcss-selector-matches": "^4.0.0", - "postcss-selector-not": "^4.0.0" - }, - "dependencies": { - "postcss": { - "version": "7.0.36", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", - "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, - "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 - }, - "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" - } - } + "postcss-import": { + "version": "14.0.2", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-14.0.2.tgz", + "integrity": "sha512-BJ2pVK4KhUyMcqjuKs9RijV5tatNzNa73e/32aBVE/ejYPe37iH+6vAu9WvqUkB5OAYgLHzbSvzHnorybJCm9g==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.0.0", + "read-cache": "^1.0.0", + "resolve": "^1.1.7" } }, - "postcss-pseudo-class-any-link": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-6.0.0.tgz", - "integrity": "sha512-lgXW9sYJdLqtmw23otOzrtbDXofUdfYzNm4PIpNE322/swES3VU9XlXHeJS46zT2onFO7V1QFdD4Q9LiZj8mew==", + "postcss-initial": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-initial/-/postcss-initial-4.0.1.tgz", + "integrity": "sha512-0ueD7rPqX8Pn1xJIjay0AZeIuDoF+V+VvMt/uOnn+4ezUKhZM/NokDeP6DwMNyIoYByuN/94IQnt5FEkaN59xQ==", + "dev": true, + "requires": {} + }, + "postcss-lab-function": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-4.2.0.tgz", + "integrity": "sha512-Zb1EO9DGYfa3CP8LhINHCcTTCTLI+R3t7AX2mKsDzdgVQ/GkCpHOTgOr6HBHslP7XDdVbqgHW5vvRPMdVANQ8w==", "dev": true, "requires": { - "postcss": "^7.0.2", - "postcss-selector-parser": "^5.0.0-rc.3" - }, - "dependencies": { - "cssesc": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz", - "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==", - "dev": true - }, - "postcss": { - "version": "7.0.36", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", - "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, - "postcss-selector-parser": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz", - "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==", - "dev": true, - "requires": { - "cssesc": "^2.0.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - } - }, - "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 - }, - "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" - } - } + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" } }, - "postcss-reduce-initial": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.0.1.tgz", - "integrity": "sha512-zlCZPKLLTMAqA3ZWH57HlbCjkD55LX9dsRyxlls+wfuRfqCi5mSlZVan0heX5cHr154Dq9AfbH70LyhrSAezJw==", + "postcss-loader": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-6.2.1.tgz", + "integrity": "sha512-WbbYpmAaKcux/P66bZ40bpWsBucjx/TTgVVzRZ9yUO8yQfVBlameJ0ZGVaPfH64hNSBh63a+ICP5nqOpBA0w+Q==", "dev": true, "requires": { - "browserslist": "^4.16.0", - "caniuse-api": "^3.0.0" + "cosmiconfig": "^7.0.0", + "klona": "^2.0.5", + "semver": "^7.3.5" } }, - "postcss-reduce-transforms": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.0.1.tgz", - "integrity": "sha512-a//FjoPeFkRuAguPscTVmRQUODP+f3ke2HqFNgGPwdYnpeC29RZdCBvGRGTsKpMURb/I3p6jdKoBQ2zI+9Q7kA==", + "postcss-logical": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/postcss-logical/-/postcss-logical-5.0.4.tgz", + "integrity": "sha512-RHXxplCeLh9VjinvMrZONq7im4wjWGlRJAqmAVLXyZaXwfDWP73/oq4NdIp+OZwhQUMj0zjqDfM5Fj7qby+B4g==", + "dev": true, + "requires": {} + }, + "postcss-media-minmax": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-media-minmax/-/postcss-media-minmax-5.0.0.tgz", + "integrity": "sha512-yDUvFf9QdFZTuCUg0g0uNSHVlJ5X1lSzDZjPSFaiCWvjgsvu8vEVxtahPrLMinIDEEGnx6cBe6iqdx5YWz08wQ==", + "dev": true, + "requires": {} + }, + "postcss-modules-extract-imports": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz", + "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==", + "dev": true, + "requires": {} + }, + "postcss-modules-local-by-default": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz", + "integrity": "sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==", "dev": true, "requires": { - "cssnano-utils": "^2.0.1", + "icss-utils": "^5.0.0", + "postcss-selector-parser": "^6.0.2", "postcss-value-parser": "^4.1.0" } }, - "postcss-replace-overflow-wrap": { + "postcss-modules-scope": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-3.0.0.tgz", - "integrity": "sha512-2T5hcEHArDT6X9+9dVSPQdo7QHzG4XKclFT8rU5TzJPDN7RIRTbO9c4drUISOVemLj03aezStHCR2AIcr8XLpw==", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz", + "integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==", "dev": true, "requires": { - "postcss": "^7.0.2" - }, - "dependencies": { - "postcss": { - "version": "7.0.36", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", - "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, - "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 - }, - "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" - } - } + "postcss-selector-parser": "^6.0.4" } }, - "postcss-selector-matches": { + "postcss-modules-values": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-selector-matches/-/postcss-selector-matches-4.0.0.tgz", - "integrity": "sha512-LgsHwQR/EsRYSqlwdGzeaPKVT0Ml7LAT6E75T8W8xLJY62CE4S/l03BWIt3jT8Taq22kXP08s2SfTSzaraoPww==", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", + "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", "dev": true, "requires": { - "balanced-match": "^1.0.0", - "postcss": "^7.0.2" - }, - "dependencies": { - "postcss": { - "version": "7.0.36", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", - "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, - "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 - }, - "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" - } - } + "icss-utils": "^5.0.0" + } + }, + "postcss-nesting": { + "version": "10.1.8", + "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-10.1.8.tgz", + "integrity": "sha512-txdb3/idHYsBbNDFo1PFY0ExCgH5nfWi8G5lO49e6iuU42TydbODTzJgF5UuL5bhgeSlnAtDgfFTDG0Cl1zaSQ==", + "dev": true, + "requires": { + "@csstools/selector-specificity": "^2.0.0", + "postcss-selector-parser": "^6.0.10" } }, - "postcss-selector-not": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-selector-not/-/postcss-selector-not-4.0.1.tgz", - "integrity": "sha512-YolvBgInEK5/79C+bdFMyzqTg6pkYqDbzZIST/PDMqa/o3qtXenD05apBG2jLgT0/BQ77d4U2UK12jWpilqMAQ==", + "postcss-overflow-shorthand": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/postcss-overflow-shorthand/-/postcss-overflow-shorthand-3.0.3.tgz", + "integrity": "sha512-CxZwoWup9KXzQeeIxtgOciQ00tDtnylYIlJBBODqkgS/PU2jISuWOL/mYLHmZb9ZhZiCaNKsCRiLp22dZUtNsg==", + "dev": true, + "requires": {} + }, + "postcss-page-break": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/postcss-page-break/-/postcss-page-break-3.0.4.tgz", + "integrity": "sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ==", + "dev": true, + "requires": {} + }, + "postcss-place": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/postcss-place/-/postcss-place-7.0.4.tgz", + "integrity": "sha512-MrgKeiiu5OC/TETQO45kV3npRjOFxEHthsqGtkh3I1rPbZSbXGD/lZVi9j13cYh+NA8PIAPyk6sGjT9QbRyvSg==", "dev": true, "requires": { - "balanced-match": "^1.0.0", - "postcss": "^7.0.2" - }, - "dependencies": { - "postcss": { - "version": "7.0.36", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", - "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, - "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 - }, - "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" - } - } + "postcss-value-parser": "^4.2.0" } }, - "postcss-selector-parser": { - "version": "6.0.6", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.6.tgz", - "integrity": "sha512-9LXrvaaX3+mcv5xkg5kFwqSzSH1JIObIx51PrndZwlmznwXRfxMddDvo9gve3gVR8ZTKgoFDdWkbRFmEhT4PMg==", + "postcss-preset-env": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-7.2.3.tgz", + "integrity": "sha512-Ok0DhLfwrcNGrBn8sNdy1uZqWRk/9FId0GiQ39W4ILop5GHtjJs8bu1MY9isPwHInpVEPWjb4CEcEaSbBLpfwA==", + "dev": true, + "requires": { + "autoprefixer": "^10.4.2", + "browserslist": "^4.19.1", + "caniuse-lite": "^1.0.30001299", + "css-blank-pseudo": "^3.0.2", + "css-has-pseudo": "^3.0.3", + "css-prefers-color-scheme": "^6.0.2", + "cssdb": "^5.0.0", + "postcss-attribute-case-insensitive": "^5.0.0", + "postcss-color-functional-notation": "^4.2.1", + "postcss-color-hex-alpha": "^8.0.2", + "postcss-color-rebeccapurple": "^7.0.2", + "postcss-custom-media": "^8.0.0", + "postcss-custom-properties": "^12.1.2", + "postcss-custom-selectors": "^6.0.0", + "postcss-dir-pseudo-class": "^6.0.3", + "postcss-double-position-gradients": "^3.0.4", + "postcss-env-function": "^4.0.4", + "postcss-focus-visible": "^6.0.3", + "postcss-focus-within": "^5.0.3", + "postcss-font-variant": "^5.0.0", + "postcss-gap-properties": "^3.0.2", + "postcss-image-set-function": "^4.0.4", + "postcss-initial": "^4.0.1", + "postcss-lab-function": "^4.0.3", + "postcss-logical": "^5.0.3", + "postcss-media-minmax": "^5.0.0", + "postcss-nesting": "^10.1.2", + "postcss-overflow-shorthand": "^3.0.2", + "postcss-page-break": "^3.0.4", + "postcss-place": "^7.0.3", + "postcss-pseudo-class-any-link": "^7.0.2", + "postcss-replace-overflow-wrap": "^4.0.0", + "postcss-selector-not": "^5.0.0" + } + }, + "postcss-pseudo-class-any-link": { + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-7.1.4.tgz", + "integrity": "sha512-JxRcLXm96u14N3RzFavPIE9cRPuOqLDuzKeBsqi4oRk4vt8n0A7I0plFs/VXTg7U2n7g/XkQi0OwqTO3VWBfEg==", "dev": true, "requires": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" + "postcss-selector-parser": "^6.0.10" } }, - "postcss-svgo": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.0.2.tgz", - "integrity": "sha512-YzQuFLZu3U3aheizD+B1joQ94vzPfE6BNUcSYuceNxlVnKKsOtdo6hL9/zyC168Q8EwfLSgaDSalsUGa9f2C0A==", + "postcss-replace-overflow-wrap": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-4.0.0.tgz", + "integrity": "sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw==", + "dev": true, + "requires": {} + }, + "postcss-selector-not": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-selector-not/-/postcss-selector-not-5.0.0.tgz", + "integrity": "sha512-/2K3A4TCP9orP4TNS7u3tGdRFVKqz/E6pX3aGnriPG0jU78of8wsUcqE4QAhWEU0d+WnMSF93Ah3F//vUtK+iQ==", "dev": true, "requires": { - "postcss-value-parser": "^4.1.0", - "svgo": "^2.3.0" + "balanced-match": "^1.0.0" } }, - "postcss-unique-selectors": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.0.1.tgz", - "integrity": "sha512-gwi1NhHV4FMmPn+qwBNuot1sG1t2OmacLQ/AX29lzyggnjd+MnVD5uqQmpXO3J17KGL2WAxQruj1qTd3H0gG/w==", + "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, "requires": { - "alphanum-sort": "^1.0.2", - "postcss-selector-parser": "^6.0.5", - "uniqs": "^2.0.0" + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" } }, "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 }, - "postcss-values-parser": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/postcss-values-parser/-/postcss-values-parser-2.0.1.tgz", - "integrity": "sha512-2tLuBsA6P4rYTNKCXYG/71C7j1pU6pK503suYOmn4xYrQIzW+opD+7FAFNuGSdZC/3Qfy334QbeMu7MEb8gOxg==", - "dev": true, - "requires": { - "flatten": "^1.0.2", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - } - }, "prelude-ls": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", @@ -31555,13 +28842,22 @@ "requires": { "forwarded": "0.2.0", "ipaddr.js": "1.9.1" + }, + "dependencies": { + "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 + } } }, "prr": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", - "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", - "dev": true + "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==", + "dev": true, + "optional": true }, "psl": { "version": "1.8.0", @@ -31569,14 +28865,17 @@ "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", "dev": true }, - "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, + "public-encrypt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", + "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" + "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" } }, "punycode": { @@ -31598,22 +28897,13 @@ "dev": true }, "qs": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", - "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", - "dev": true - }, - "querystring": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", - "dev": true - }, - "querystringify": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", - "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", - "dev": true + "version": "6.10.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz", + "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==", + "dev": true, + "requires": { + "side-channel": "^1.0.4" + } }, "queue-microtask": { "version": "1.2.3", @@ -31625,11 +28915,19 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dev": true, "requires": { "safe-buffer": "^5.1.0" } }, + "randomfill": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", + "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", + "requires": { + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" + } + }, "range-parser": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", @@ -31637,78 +28935,30 @@ "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.5.1", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", + "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", "dev": true, "requires": { - "bytes": "3.1.0", - "http-errors": "1.7.2", + "bytes": "3.1.2", + "http-errors": "2.0.0", "iconv-lite": "0.4.24", "unpipe": "1.0.0" } }, - "raw-loader": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/raw-loader/-/raw-loader-4.0.2.tgz", - "integrity": "sha512-ZnScIV3ag9A4wPX/ZayxL/jZH+euYb6FcUinPcgiQW0+UBtEv0O6Q3lGd3cqJ+GHH+rksEv3Pj99oxJ3u3VIKA==", - "dev": true, - "requires": { - "loader-utils": "^2.0.0", - "schema-utils": "^3.0.0" - }, - "dependencies": { - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "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, - "requires": {} - }, - "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 - }, - "schema-utils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.0.tgz", - "integrity": "sha512-tTEaeYkyIhEZ9uWgAjDerWov3T9MgX8dhhy2r0IGeeX4W8ngtGl1++dUve/RUqzuaASSh7shwCDJjEzthxki8w==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.7", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - } - } - }, "read-cache": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", - "integrity": "sha1-5mTvMRYRZsl1HNvo28+GtftY93Q=", + "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", "dev": true, "requires": { "pify": "^2.3.0" } }, "read-package-json-fast": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-2.0.2.tgz", - "integrity": "sha512-5fyFUyO9B799foVk4n6ylcoAktG/FbE3jwRKxvwaeSrIunaoMc0u81dzXxjeAFKOce7O5KncdfwpGvvs6r5PsQ==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-2.0.3.tgz", + "integrity": "sha512-W/BKtbL+dUjTuRL2vziuYhp76s5HZ9qQhd/dKfWIZveD0O40453QNyZhC0e63lqZrAQ4jiOapVoeJ7JrszenQQ==", "dev": true, "requires": { "json-parse-even-better-errors": "^2.3.0", @@ -31751,7 +29001,6 @@ "version": "3.6.0", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, "requires": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -31780,39 +29029,28 @@ "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==", - "dev": true + "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==" }, "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" } }, - "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, - "requires": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" - } - }, "regex-parser": { "version": "2.2.11", "resolved": "https://registry.npmjs.org/regex-parser/-/regex-parser-2.2.11.tgz", @@ -31820,13 +29058,14 @@ "dev": true }, "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.3", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz", + "integrity": "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==", "dev": true, "requires": { "call-bind": "^1.0.2", - "define-properties": "^1.1.3" + "define-properties": "^1.1.3", + "functions-have-names": "^1.2.2" } }, "regexpp": { @@ -31836,17 +29075,17 @@ "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" } }, "regextras": { @@ -31856,15 +29095,15 @@ "dev": true }, "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" @@ -31873,29 +29112,11 @@ "jsesc": { "version": "0.5.0", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", + "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", "dev": true } } }, - "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 - }, - "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 - }, - "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 - }, "request": { "version": "2.88.2", "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", @@ -31963,30 +29184,14 @@ "dev": true }, "resolve": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", - "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", - "dev": true, - "requires": { - "is-core-module": "^2.2.0", - "path-parse": "^1.0.6" - } - }, - "resolve-cwd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", - "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz", + "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==", "dev": true, "requires": { - "resolve-from": "^3.0.0" - }, - "dependencies": { - "resolve-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", - "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", - "dev": true - } + "is-core-module": "^2.8.1", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" } }, "resolve-from": { @@ -31995,50 +29200,24 @@ "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", "dev": true }, - "resolve-url": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", - "dev": true - }, "resolve-url-loader": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-4.0.0.tgz", - "integrity": "sha512-05VEMczVREcbtT7Bz+C+96eUO5HDNvdthIiMB34t7FcF8ehcu4wC0sSgPUubs3XW2Q3CNLJk/BJrCU9wVRymiA==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-5.0.0.tgz", + "integrity": "sha512-uZtduh8/8srhBoMx//5bwqjQ+rfYOUq8zC9NrMUGtjBiGTtFJM42s58/36+hTqeqINcnYe08Nj3LkK9lW4N8Xg==", "dev": true, "requires": { "adjust-sourcemap-loader": "^4.0.0", "convert-source-map": "^1.7.0", "loader-utils": "^2.0.0", - "postcss": "^7.0.35", + "postcss": "^8.2.14", "source-map": "0.6.1" }, "dependencies": { - "postcss": { - "version": "7.0.36", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", - "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, "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 - }, - "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" - } } } }, @@ -32052,16 +29231,10 @@ "signal-exit": "^3.0.2" } }, - "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 - }, "retry": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", - "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=", + "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", "dev": true }, "reusify": { @@ -32076,18 +29249,6 @@ "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", - "integrity": "sha1-wODWiC3w4jviVKR16O3UGRX+rrE=", - "dev": true - }, - "rgba-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/rgba-regex/-/rgba-regex-1.0.0.tgz", - "integrity": "sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=", - "dev": true - }, "rimraf": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", @@ -32097,6 +29258,15 @@ "glob": "^7.1.3" } }, + "ripemd160": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1" + } + }, "run-async": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", @@ -32113,54 +29283,38 @@ } }, "rxjs": { - "version": "6.6.7", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", - "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.5.5.tgz", + "integrity": "sha512-sy+H0pQofO95VDmFLzyaw9xNJU4KTRSwQIGM6+iG3SypAtCiLDzpeG8sJrNCWn2Up9km+KhkvTdbkrdy+yzZdw==", "requires": { - "tslib": "^1.9.0" - }, - "dependencies": { - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - } + "tslib": "^2.1.0" } }, "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 - }, - "safe-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", - "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", - "dev": true, - "requires": { - "ret": "~0.1.10" - } + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" }, "safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, "sass": { - "version": "1.32.12", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.32.12.tgz", - "integrity": "sha512-zmXn03k3hN0KaiVTjohgkg98C3UowhL1/VSGdj4/VAAiMKGQOE80PFPxFP2Kyq0OUskPKcY5lImkhBKEHlypJA==", + "version": "1.49.9", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.49.9.tgz", + "integrity": "sha512-YlYWkkHP9fbwaFRZQRXgDi3mXZShslVmmo+FVK3kHLUELHHEYrCmL1x6IUjC7wLS6VuJSAFXRQS/DxdsC4xL1A==", "dev": true, "requires": { - "chokidar": ">=3.0.0 <4.0.0" + "chokidar": ">=3.0.0 <4.0.0", + "immutable": "^4.0.0", + "source-map-js": ">=0.6.2 <2.0.0" } }, "sass-loader": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-11.0.1.tgz", - "integrity": "sha512-Vp1LcP4slTsTNLEiDkTcm8zGN/XYYrZz2BZybQbliWA8eXveqA/AxsEjllQTpJbg2MzCsx/qNO48sHdZtOaxTw==", + "version": "12.4.0", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-12.4.0.tgz", + "integrity": "sha512-7xN+8khDIzym1oL9XyS6zP6Ges+Bo2B2xbPrjdMHEYyV3AQYhd/wXeru++3ODHF0zMjYmVadblSKrPrjEkL8mg==", "dev": true, "requires": { "klona": "^2.0.4", @@ -32250,10 +29404,15 @@ } } }, + "scryptsy": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/scryptsy/-/scryptsy-2.1.0.tgz", + "integrity": "sha512-1CdSqHQowJBnMAFyPEBRfqag/YP9OF394FV+4YREIJX4ljD7OxvQRDayyoyyCk+senRjSkP6VnUNQmVQqB6g7w==" + }, "select-hose": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", - "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=", + "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==", "dev": true }, "selenium-webdriver": { @@ -32289,12 +29448,12 @@ } }, "selfsigned": { - "version": "1.10.11", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.11.tgz", - "integrity": "sha512-aVmbPOfViZqOZPgRBT0+3u4yZFHpmnIghLMlAcb5/xhp5ZtB/RVnKhz5vl2M32CLXAqR4kha9zfhNg0Lf/sxKA==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.0.1.tgz", + "integrity": "sha512-LmME957M1zOsUhG+67rAjKfiWFox3SBxE/yymatMZsAx+oMrJ0YQ8AToOnyCm7xbeg2ep37IHLxdu0o2MavQOQ==", "dev": true, "requires": { - "node-forge": "^0.10.0" + "node-forge": "^1" } }, "semver": { @@ -32307,24 +29466,24 @@ } }, "send": { - "version": "0.17.1", - "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", - "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", "dev": true, "requires": { "debug": "2.6.9", - "depd": "~1.1.2", - "destroy": "~1.0.4", + "depd": "2.0.0", + "destroy": "1.2.0", "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "etag": "~1.8.1", "fresh": "0.5.2", - "http-errors": "~1.7.2", + "http-errors": "2.0.0", "mime": "1.6.0", - "ms": "2.1.1", - "on-finished": "~2.3.0", + "ms": "2.1.3", + "on-finished": "2.4.1", "range-parser": "~1.2.1", - "statuses": "~1.5.0" + "statuses": "2.0.1" }, "dependencies": { "debug": { @@ -32339,11 +29498,17 @@ "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true } } }, + "depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true + }, "mime": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", @@ -32351,9 +29516,24 @@ "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 + }, + "on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dev": true, + "requires": { + "ee-first": "1.1.1" + } + }, + "statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", "dev": true } } @@ -32370,7 +29550,7 @@ "serve-index": { "version": "1.9.1", "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", - "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", + "integrity": "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==", "dev": true, "requires": { "accepts": "~1.3.4", @@ -32394,7 +29574,7 @@ "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=", + "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", "dev": true, "requires": { "depd": "~1.1.2", @@ -32406,13 +29586,13 @@ "inherits": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", "dev": true }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true }, "setprototypeof": { @@ -32424,15 +29604,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.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", "dev": true, "requires": { "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "parseurl": "~1.3.3", - "send": "0.17.1" + "send": "0.18.0" } }, "set-blocking": { @@ -32447,41 +29627,21 @@ "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=", "dev": true }, - "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, - "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "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 - } - } - }, "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": { + "version": "2.4.11", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, "shallow-clone": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", @@ -32506,10 +29666,21 @@ "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "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" + } + }, "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 }, "sisteransi": { @@ -32562,186 +29733,11 @@ } }, "smart-buffer": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.1.0.tgz", - "integrity": "sha512-iVICrxOzCynf/SNaBQCw34eM9jROU/s5rzIhpOvzhzuYHfJR/DhZfDkXiZSgKXfgv26HT3Yni3AV/DGw0cGnnw==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", "dev": true }, - "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, - "requires": { - "base": "^0.11.1", - "debug": "^2.2.0", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "map-cache": "^0.2.2", - "source-map": "^0.5.6", - "source-map-resolve": "^0.5.0", - "use": "^3.1.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "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, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "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, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "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, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "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, - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - } - }, - "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 - }, - "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 - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - }, - "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==", - "dev": true, - "requires": { - "atob": "^2.1.2", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" - } - } - } - }, - "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, - "requires": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" - }, - "dependencies": { - "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, - "requires": { - "is-descriptor": "^1.0.0" - } - } - } - }, - "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, - "requires": { - "kind-of": "^3.2.0" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, "socket.io": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-3.1.2.tgz", @@ -32777,68 +29773,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": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "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==", - "dev": true, - "requires": { - "debug": "^3.2.6", - "eventsource": "^1.0.7", - "faye-websocket": "^0.11.3", - "inherits": "^2.0.4", - "json3": "^3.3.3", - "url-parse": "^1.5.1" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - } } }, "socks": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/socks/-/socks-2.6.1.tgz", - "integrity": "sha512-kLQ9N5ucj8uIcxrDwjm0Jsqk06xdpBjGNQtpXy4Q8/QY2k+fY7nZH8CARy+hkbG+SGAovmzzuauCpBlb8FrnBA==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.6.2.tgz", + "integrity": "sha512-zDZhHhZRY9PxRruRMR7kMhnf3I8hDs4S3f9RecfnGxvcBHQcKcIH/oUcEWffsfl1XxdYlA7nnlGbbTvPz9D8gA==", "dev": true, "requires": { "ip": "^1.1.5", - "smart-buffer": "^4.1.0" + "smart-buffer": "^4.2.0" } }, "socks-proxy-agent": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-5.0.1.tgz", - "integrity": "sha512-vZdmnjb9a2Tz6WEQVIurybSwElwPxMZaIc7PzqbJTrezcKNznv6giT7J7tZDZ1BojVaa1jvO/UiUdhDVB0ACoQ==", + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.2.1.tgz", + "integrity": "sha512-a6KW9G+6B3nWZ1yB8G7pJwL3ggLy1uTzKAgCb7ttblwqdz9fMGJUuTy3uFzEP48FAs9FLILlmzDlE2JJhVQaXQ==", "dev": true, "requires": { "agent-base": "^6.0.2", - "debug": "4", - "socks": "^2.3.3" + "debug": "^4.3.3", + "socks": "^2.6.2" } }, "source-list-map": { @@ -32854,20 +29817,20 @@ "dev": true }, "source-map-js": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-0.6.2.tgz", - "integrity": "sha512-/3GptzWzu0+0MBQFrDKzw/DvvMTUORvgY6k6jd/VS6iCR4RDTKWH6v6WPwQoUO8667uQEf9Oe38DxAYWY5F/Ug==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", "dev": true }, "source-map-loader": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-2.0.1.tgz", - "integrity": "sha512-UzOTTQhoNPeTNzOxwFw220RSRzdGSyH4lpNyWjR7Qm34P4/N0W669YSUFdH07+YNeN75h765XLHmNsF/bm97RQ==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-3.0.1.tgz", + "integrity": "sha512-Vp1UsfyPvgujKQzi4pyDiTOnE3E4H+yHvkVRN3c/9PJmQS4CQJExvcDvaX/D+RV+xQben9HJ56jMJS3CgUeWyA==", "dev": true, "requires": { "abab": "^2.0.5", - "iconv-lite": "^0.6.2", - "source-map-js": "^0.6.2" + "iconv-lite": "^0.6.3", + "source-map-js": "^1.0.1" }, "dependencies": { "iconv-lite": { @@ -32892,9 +29855,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", @@ -32909,12 +29872,6 @@ } } }, - "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==", - "dev": true - }, "sourcemap-codec": { "version": "1.4.8", "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", @@ -32980,15 +29937,6 @@ "wbuf": "^1.7.3" } }, - "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, - "requires": { - "extend-shallow": "^3.0.0" - } - }, "split2": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz", @@ -33030,96 +29978,21 @@ "minipass": "^3.1.1" } }, - "stable": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", - "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", - "dev": true - }, - "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, - "requires": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" - }, - "dependencies": { - "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, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "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, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "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, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "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, - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - } - }, - "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 - } - } - }, "statuses": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", "dev": true }, + "stream-browserify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-3.0.0.tgz", + "integrity": "sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA==", + "requires": { + "inherits": "~2.0.4", + "readable-stream": "^3.5.0" + } + }, "streamroller": { "version": "2.2.4", "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-2.2.4.tgz", @@ -33143,7 +30016,6 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "dev": true, "requires": { "safe-buffer": "~5.2.0" }, @@ -33151,20 +30023,36 @@ "safe-buffer": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" } } }, "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" + }, + "dependencies": { + "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 + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + } } }, "string.prototype.trimend": { @@ -33202,122 +30090,39 @@ "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", "dev": true }, - "strip-eof": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", + "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 }, "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 - }, - "style-loader": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-2.0.0.tgz", - "integrity": "sha512-Z0gYUJmzZ6ZdRUqpg1r8GsaFKypE+3xAzuFeMuoHgjc9KZv3wMyCRjQIWEbhoFSq7+7yoHXySDJyyWQaPajeiQ==", - "dev": true, - "requires": { - "loader-utils": "^2.0.0", - "schema-utils": "^3.0.0" - }, - "dependencies": { - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "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, - "requires": {} - }, - "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 - }, - "schema-utils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.0.tgz", - "integrity": "sha512-tTEaeYkyIhEZ9uWgAjDerWov3T9MgX8dhhy2r0IGeeX4W8ngtGl1++dUve/RUqzuaASSh7shwCDJjEzthxki8w==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.7", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - } - } - }, - "stylehacks": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.0.1.tgz", - "integrity": "sha512-Es0rVnHIqbWzveU1b24kbw92HsebBepxfcqe5iix7t9j0PQqhs0IxXVXv0pY2Bxa08CgMkzD6OWql7kbGOuEdA==", - "dev": true, - "requires": { - "browserslist": "^4.16.0", - "postcss-selector-parser": "^6.0.4" - } + "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 }, "stylus": { - "version": "0.54.8", - "resolved": "https://registry.npmjs.org/stylus/-/stylus-0.54.8.tgz", - "integrity": "sha512-vr54Or4BZ7pJafo2mpf0ZcwA74rpuYCZbxrHBsH8kbcXOwSfvBFwsRfpGO5OD5fhG5HDCFW737PKaawI7OqEAg==", + "version": "0.56.0", + "resolved": "https://registry.npmjs.org/stylus/-/stylus-0.56.0.tgz", + "integrity": "sha512-Ev3fOb4bUElwWu4F9P9WjnnaSpc8XB9OFHSFZSKMFL1CE1oM+oFXWEgAqPmmZIyhBihuqIQlFsVTypiiS9RxeA==", "dev": true, "requires": { - "css-parse": "~2.0.0", - "debug": "~3.1.0", + "css": "^3.0.0", + "debug": "^4.3.2", "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" - }, - "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } } }, "stylus-loader": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/stylus-loader/-/stylus-loader-5.0.0.tgz", - "integrity": "sha512-1OaGgixTgC8IAaMCodZXg7XYsfP1qU0UzTHDyPaWACUh34j9geJL4iA583tFJDOtfNUOfDLaBpUywc5MicQ1aA==", + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/stylus-loader/-/stylus-loader-6.2.0.tgz", + "integrity": "sha512-5dsDc7qVQGRoc6pvCL20eYgRUxepZ9FpeK28XhdXaIPP6kXr6nI1zAAKFQgP5OBkOfKaURp4WUpJzspg1f01Gg==", "dev": true, "requires": { - "fast-glob": "^3.2.5", + "fast-glob": "^3.2.7", "klona": "^2.0.4", "normalize-path": "^3.0.0" } @@ -33331,142 +30136,11 @@ "has-flag": "^3.0.0" } }, - "svgo": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.3.1.tgz", - "integrity": "sha512-riDDIQgXpEnn0BEl9Gvhh1LNLIyiusSpt64IR8upJu7MwxnzetmF/Y57pXQD2NMX2lVyMRzXt5f2M5rO4wG7Dw==", - "dev": true, - "requires": { - "@trysound/sax": "0.1.1", - "chalk": "^4.1.0", - "commander": "^7.1.0", - "css-select": "^4.1.3", - "css-tree": "^1.1.2", - "csso": "^4.2.0", - "stable": "^0.1.8" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", - "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "css-select": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.1.3.tgz", - "integrity": "sha512-gT3wBNd9Nj49rAbmtFHj1cljIAOLYSX1nZ8CB7TBO3INYckygm5B7LISU/szY//YmdiSLbJvDLOx9VnMVpMBxA==", - "dev": true, - "requires": { - "boolbase": "^1.0.0", - "css-what": "^5.0.0", - "domhandler": "^4.2.0", - "domutils": "^2.6.0", - "nth-check": "^2.0.0" - } - }, - "css-what": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-5.0.1.tgz", - "integrity": "sha512-FYDTSHb/7KXsWICVsxdmiExPjCfRC4qRFBdVwv7Ax9hMnvMmEjP9RfxTEZ3qPZGmADDn2vAKSo9UcN1jKVYscg==", - "dev": true - }, - "dom-serializer": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.2.tgz", - "integrity": "sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==", - "dev": true, - "requires": { - "domelementtype": "^2.0.1", - "domhandler": "^4.2.0", - "entities": "^2.0.0" - } - }, - "domelementtype": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz", - "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==", - "dev": true - }, - "domhandler": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.2.0.tgz", - "integrity": "sha512-zk7sgt970kzPks2Bf+dwT/PLzghLnsivb9CcxkvR8Mzr66Olr0Ofd8neSbglHJHaHa2MadfoSdNlKYAaafmWfA==", - "dev": true, - "requires": { - "domelementtype": "^2.2.0" - } - }, - "domutils": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.7.0.tgz", - "integrity": "sha512-8eaHa17IwJUPAiB+SoTYBo5mCdeMgdcAoXJ59m6DT1vw+5iLS3gNoqYaRowaBKtGVrOF1Jz4yDTgYKLK2kvfJg==", - "dev": true, - "requires": { - "dom-serializer": "^1.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.2.0" - } - }, - "entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "nth-check": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.0.tgz", - "integrity": "sha512-i4sc/Kj8htBrAiH1viZ0TgU8Y5XqCaV/FziYK6TBczxmeKm3AEFWqqF3195yKudrarqy7Zu80Ra5dobFjn9X/Q==", - "dev": true, - "requires": { - "boolbase": "^1.0.0" - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } + "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 }, "symbol-observable": { "version": "4.0.0", @@ -33495,9 +30169,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", @@ -33509,16 +30183,23 @@ } }, "terser": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.7.0.tgz", - "integrity": "sha512-HP5/9hp2UaZt5fYkuhNBR8YyRcT8juw8+uFbAme53iN9hblvKnLUTKkmwJG6ocWpIKf8UK4DoeWG4ty0J6S6/g==", + "version": "5.11.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.11.0.tgz", + "integrity": "sha512-uCA9DLanzzWSsN1UirKwylhhRz3aKPInlfmpGfw8VN6jHsAtu8HJtIpeeHHK23rxnE/cDc+yvmq5wqkIC6Kn0A==", "dev": true, "requires": { + "acorn": "^8.5.0", "commander": "^2.20.0", "source-map": "~0.7.2", - "source-map-support": "~0.5.19" + "source-map-support": "~0.5.20" }, "dependencies": { + "acorn": { + "version": "8.7.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.1.tgz", + "integrity": "sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==", + "dev": true + }, "commander": { "version": "2.20.3", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", @@ -33528,17 +30209,16 @@ } }, "terser-webpack-plugin": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.1.2.tgz", - "integrity": "sha512-6QhDaAiVHIQr5Ab3XUWZyDmrIPCHMiqJVljMF91YKyqwKkL5QHnYMkrMBy96v9Z7ev1hGhSEw1HQZc2p/s5Z8Q==", + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.3.tgz", + "integrity": "sha512-Fx60G5HNYknNTNQnzQ1VePRuu89ZVYWfjRAeT5rITuCY/1b08s49e5kSQwHDirKZWuoKOBRFS98EUUoZ9kLEwQ==", "dev": true, "requires": { - "jest-worker": "^26.6.2", - "p-limit": "^3.1.0", - "schema-utils": "^3.0.0", - "serialize-javascript": "^5.0.1", - "source-map": "^0.6.1", - "terser": "^5.7.0" + "@jridgewell/trace-mapping": "^0.3.7", + "jest-worker": "^27.4.5", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.0", + "terser": "^5.7.2" }, "dependencies": { "ajv": { @@ -33567,24 +30247,38 @@ "dev": true }, "schema-utils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.0.tgz", - "integrity": "sha512-tTEaeYkyIhEZ9uWgAjDerWov3T9MgX8dhhy2r0IGeeX4W8ngtGl1++dUve/RUqzuaASSh7shwCDJjEzthxki8w==", + "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.7", + "@types/json-schema": "^7.0.8", "ajv": "^6.12.5", "ajv-keywords": "^3.5.2" } }, - "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 + "serialize-javascript": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", + "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", + "dev": true, + "requires": { + "randombytes": "^2.1.0" + } } } }, + "test-exclude": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "dev": true, + "requires": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + } + }, "text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", @@ -33594,7 +30288,7 @@ "through": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", "dev": true }, "through2": { @@ -33612,12 +30306,6 @@ "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", "dev": true }, - "timsort": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz", - "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=", - "dev": true - }, "tmp": { "version": "0.0.33", "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", @@ -33630,41 +30318,9 @@ "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=", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", "dev": true }, - "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, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "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, - "requires": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" - } - }, "to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", @@ -33675,9 +30331,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 }, "tough-cookie": { @@ -33690,6 +30346,11 @@ "punycode": "^2.1.1" } }, + "tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" + }, "tree-kill": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", @@ -33697,16 +30358,16 @@ "dev": true }, "ts-node": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-8.3.0.tgz", - "integrity": "sha512-dyNS/RqyVTDcmNM4NIBAeDMpsAdaQ+ojdf0GOLqE6nwJOgzEkdRNzJywhDfwnuvB10oa6NLVG1rUJQCpRN7qoQ==", + "version": "8.10.2", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-8.10.2.tgz", + "integrity": "sha512-ISJJGgkIpDdBhWVu3jufsWpK3Rzo7bdiIXJjQc0ynKxVOVcg2oIrf2H2cejminGrptVc6q6/uynAHNCuWGbpVA==", "dev": true, "requires": { "arg": "^4.1.0", "diff": "^4.0.1", "make-error": "^1.1.1", - "source-map-support": "^0.5.6", - "yn": "^3.0.0" + "source-map-support": "^0.5.17", + "yn": "3.1.1" } }, "tsconfig-paths": { @@ -33757,6 +30418,11 @@ "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", "dev": true }, + "type": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", + "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==" + }, "type-check": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", @@ -33782,10 +30448,24 @@ "mime-types": "~2.1.24" } }, + "typed-assert": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/typed-assert/-/typed-assert-1.0.9.tgz", + "integrity": "sha512-KNNZtayBCtmnNmbo5mG47p1XsCyrx6iVqomjcZnec/1Y5GGARaxPs6r49RnSPeUP3YjNYiU9sQHAtY4BBvnZwg==", + "dev": true + }, + "typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "requires": { + "is-typedarray": "^1.0.0" + } + }, "typescript": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.2.4.tgz", - "integrity": "sha512-V+evlYHZnQkaz8TRBuxTA92yZBPotr5H+WhQ7bD3hZUndx5tGOa1fuCgeSjxAzM1RiN5IzvadIXTVefuuwZCRg==", + "version": "4.6.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.6.4.tgz", + "integrity": "sha512-9ia/jWHIEbo49HfjrLGfKbZSuWo9iTMwXO+Ca3pRsSpbsMbc7/IU8NKdCZVRRBafVPGnoJeFL76ZOAA84I9fEg==", "dev": true }, "ua-parser-js": { @@ -33794,6 +30474,13 @@ "integrity": "sha512-6Gurc1n//gjp9eQNXjD9O3M/sMwVtN5S8Lv9bvOYBfKfDNiIIhqiyi01vMBO45u4zkDE420w/e0se7Vs+sIg+g==", "dev": true }, + "uglify-js": { + "version": "3.16.1", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.16.1.tgz", + "integrity": "sha512-X5BGTIDH8U6IQ1TIRP62YC36k+ULAa1d59BxlWvPUJ1NkW5L3FwcGfEzuVvGmhJFBu0YJ5Ge25tmRISqCmLiRQ==", + "dev": true, + "optional": true + }, "unbox-primitive": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz", @@ -33807,63 +30494,31 @@ } }, "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==", - "dev": true - }, - "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, - "requires": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^2.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true - } - } - }, - "uniq": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", - "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=", - "dev": true - }, - "uniqs": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz", - "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz", + "integrity": "sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ==", "dev": true }, "unique-filename": { @@ -33880,73 +30535,37 @@ "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", "dev": true, - "requires": { - "imurmurhash": "^0.1.4" - } - }, - "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 - }, - "unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", - "dev": true - }, - "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, - "requires": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" - }, - "dependencies": { - "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, - "requires": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" - }, - "dependencies": { - "isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", - "dev": true, - "requires": { - "isarray": "1.0.0" - } - } - } - }, - "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 - } + "requires": { + "imurmurhash": "^0.1.4" } }, + "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 + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", + "dev": true + }, "untildify": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz", "integrity": "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==", "dev": true }, - "upath": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", - "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", - "dev": true + "update-browserslist-db": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.3.tgz", + "integrity": "sha512-ufSazemeh9Gty0qiWtoRpJ9F5Q5W3xdIPm1UZQqYQv/q0Nyb9EMHUB2lu+O9x1re9WsorpMAUu4Y6Lxcs5n+XQ==", + "dev": true, + "requires": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + } }, "uri-js": { "version": "4.4.1", @@ -33957,51 +30576,18 @@ "punycode": "^2.1.0" } }, - "urix": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", - "dev": true - }, - "url": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", - "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", - "dev": true, - "requires": { - "punycode": "1.3.2", - "querystring": "0.2.0" - }, - "dependencies": { - "punycode": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", - "dev": true - } - } - }, - "url-parse": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.1.tgz", - "integrity": "sha512-HOfCOUJt7iSYzEx/UqgtwKRMC6EU91NFhsCHMv9oM03VJcVo2Qrp8T8kI9D7amFf1cu+/3CEhgb3rF9zL7k85Q==", - "dev": true, + "utf-8-validate": { + "version": "5.0.9", + "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.9.tgz", + "integrity": "sha512-Yek7dAy0v3Kl0orwMlvi7TPtiCNrdfHNd7Gcc/pLq4BLXqfAmd0J7OWMizUQnTTJsyjKn02mU7anqwfmUP4J8Q==", "requires": { - "querystringify": "^2.1.1", - "requires-port": "^1.0.0" + "node-gyp-build": "^4.3.0" } }, - "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 - }, "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", - "dev": true + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" }, "utils-merge": { "version": "1.0.1", @@ -34034,7 +30620,7 @@ "validate-npm-package-name": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz", - "integrity": "sha1-X6kS2B630MdK/BQN5zF/DKffQ34=", + "integrity": "sha512-M6w37eVCMMouJ9V/sdPGnC5H4uDr73/+xdq0FBLO3TFFX1+7wiUY6Es328NN+y43tmY+doUdN9g9J21vqB7iLw==", "dev": true, "requires": { "builtins": "^1.0.3" @@ -34046,12 +30632,6 @@ "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", "dev": true }, - "vendors": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.4.tgz", - "integrity": "sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w==", - "dev": true - }, "verror": { "version": "1.10.0", "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", @@ -34070,9 +30650,9 @@ "dev": true }, "watchpack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.2.0.tgz", - "integrity": "sha512-up4YAn/XHgZHIxFBVCdlMiWDj6WaLKpwVeGQk2I5thdYxF/KmF0aaz6TfJZ/hfl1h/XlcDr7k1KH7ThDagpFaA==", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", + "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", "dev": true, "requires": { "glob-to-regexp": "^0.4.1", @@ -34118,893 +30698,375 @@ "del": "^2.2.0", "glob": "^7.0.3", "ini": "^1.3.4", - "minimist": "^1.2.0", - "q": "^1.4.1", - "request": "^2.87.0", - "rimraf": "^2.5.2", - "semver": "^5.3.0", - "xml2js": "^0.4.17" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true - }, - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - } - }, - "ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", - "dev": true - }, - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - }, - "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, - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "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 - } - } - }, - "webpack": { - "version": "5.39.1", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.39.1.tgz", - "integrity": "sha512-ulOvoNCh2PvTUa+zbpRuEb1VPeQnhxpnHleMPVVCq3QqnaFogjsLyps+o42OviQFoaGtTQYrUqDXu1QNkvUPzw==", - "dev": true, - "requires": { - "@types/eslint-scope": "^3.7.0", - "@types/estree": "^0.0.47", - "@webassemblyjs/ast": "1.11.0", - "@webassemblyjs/wasm-edit": "1.11.0", - "@webassemblyjs/wasm-parser": "1.11.0", - "acorn": "^8.2.1", - "browserslist": "^4.14.5", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.8.0", - "es-module-lexer": "^0.4.0", - "eslint-scope": "5.1.1", - "events": "^3.2.0", - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.4", - "json-parse-better-errors": "^1.0.2", - "loader-runner": "^4.2.0", - "mime-types": "^2.1.27", - "neo-async": "^2.6.2", - "schema-utils": "^3.0.0", - "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.1.1", - "watchpack": "^2.2.0", - "webpack-sources": "^2.3.0" - }, - "dependencies": { - "acorn": { - "version": "8.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.4.1.tgz", - "integrity": "sha512-asabaBSkEKosYKMITunzX177CXxQ4Q8BSSzMTKD+FefUhipQC70gfW5SiUDhYQ3vk8G+81HqQk7Fv9OXwwn9KA==", - "dev": true - }, - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "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, - "requires": {} - }, - "enhanced-resolve": { - "version": "5.8.2", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.8.2.tgz", - "integrity": "sha512-F27oB3WuHDzvR2DOGNTaYy0D5o0cnrv8TeI482VM4kYgQd/FT9lUQwuNsJ0oOHtBUq7eiW5ytqzp7nBFknL+GA==", - "dev": true, - "requires": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" - } - }, - "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 - }, - "schema-utils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.0.tgz", - "integrity": "sha512-tTEaeYkyIhEZ9uWgAjDerWov3T9MgX8dhhy2r0IGeeX4W8ngtGl1++dUve/RUqzuaASSh7shwCDJjEzthxki8w==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.7", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - }, - "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 - }, - "webpack-sources": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-2.3.0.tgz", - "integrity": "sha512-WyOdtwSvOML1kbgtXbTDnEW0jkJ7hZr/bDByIwszhWd/4XX1A3XMkrbFMsuH4+/MfLlZCUzlAdg4r7jaGKEIgQ==", - "dev": true, - "requires": { - "source-list-map": "^2.0.1", - "source-map": "^0.6.1" - } - } - } - }, - "webpack-dev-middleware": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-4.1.0.tgz", - "integrity": "sha512-mpa/FY+DiBu5+r5JUIyTCYWRfkWgyA3/OOE9lwfzV9S70A4vJYLsVRKj5rMFEsezBroy2FmPyQ8oBRVW8QmK1A==", - "dev": true, - "requires": { - "colorette": "^1.2.1", - "mem": "^8.0.0", - "memfs": "^3.2.0", - "mime-types": "^2.1.28", - "range-parser": "^1.2.1", - "schema-utils": "^3.0.0" - }, - "dependencies": { - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "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, - "requires": {} - }, - "colorette": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz", - "integrity": "sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==", - "dev": true - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "schema-utils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.0.tgz", - "integrity": "sha512-tTEaeYkyIhEZ9uWgAjDerWov3T9MgX8dhhy2r0IGeeX4W8ngtGl1++dUve/RUqzuaASSh7shwCDJjEzthxki8w==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.7", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - } - } - }, - "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==", - "dev": true, - "requires": { - "ansi-html": "0.0.7", - "bonjour": "^3.5.0", - "chokidar": "^2.1.8", - "compression": "^1.7.4", - "connect-history-api-fallback": "^1.6.0", - "debug": "^4.1.1", - "del": "^4.1.1", - "express": "^4.17.1", - "html-entities": "^1.3.1", - "http-proxy-middleware": "0.19.1", - "import-local": "^2.0.0", - "internal-ip": "^4.3.0", - "ip": "^1.1.5", - "is-absolute-url": "^3.0.3", - "killable": "^1.0.1", - "loglevel": "^1.6.8", - "opn": "^5.5.0", - "p-retry": "^3.0.1", - "portfinder": "^1.0.26", - "schema-utils": "^1.0.0", - "selfsigned": "^1.10.8", - "semver": "^6.3.0", - "serve-index": "^1.9.1", - "sockjs": "^0.3.21", - "sockjs-client": "^1.5.0", - "spdy": "^4.0.2", - "strip-ansi": "^3.0.1", - "supports-color": "^6.1.0", - "url": "^0.11.0", - "webpack-dev-middleware": "^3.7.2", - "webpack-log": "^2.0.0", - "ws": "^6.2.1", - "yargs": "^13.3.2" + "minimist": "^1.2.0", + "q": "^1.4.1", + "request": "^2.87.0", + "rimraf": "^2.5.2", + "semver": "^5.3.0", + "xml2js": "^0.4.17" }, "dependencies": { - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "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, - "requires": {} - }, "ansi-regex": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", "dev": true }, - "anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", - "dev": true, - "requires": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" - }, - "dependencies": { - "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, - "requires": { - "remove-trailing-separator": "^1.0.1" - } - } - } - }, - "array-union": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", - "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", - "dev": true, - "requires": { - "array-uniq": "^1.0.1" - } - }, - "binary-extensions": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", - "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", "dev": true }, - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } + "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" } }, - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", "dev": true }, - "chokidar": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", - "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", - "dev": true, - "requires": { - "anymatch": "^2.0.0", - "async-each": "^1.0.1", - "braces": "^2.3.2", - "fsevents": "^1.2.7", - "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" - } - }, - "cliui": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", - "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", - "dev": true, - "requires": { - "string-width": "^3.1.0", - "strip-ansi": "^5.2.0", - "wrap-ansi": "^5.1.0" - }, - "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 - }, - "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" - } - } - } - }, - "del": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/del/-/del-4.1.1.tgz", - "integrity": "sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==", + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", "dev": true, "requires": { - "@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" - }, - "dependencies": { - "pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "dev": true - } + "glob": "^7.1.3" } }, - "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "dev": true }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "fsevents": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", - "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", - "dev": true, - "optional": true, - "requires": { - "bindings": "^1.5.0", - "nan": "^2.12.1" - } - }, - "glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", - "dev": true, - "requires": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - }, - "dependencies": { - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "dev": true, - "requires": { - "is-extglob": "^2.1.0" - } - } - } - }, - "globby": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", - "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", - "dev": true, - "requires": { - "array-union": "^1.0.1", - "glob": "^7.0.3", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, - "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=", + "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, "requires": { - "binary-extensions": "^1.0.0" + "ansi-regex": "^2.0.0" } }, - "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 - }, - "is-fullwidth-code-point": { + "supports-color": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "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 - }, - "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, - "requires": { - "is-path-inside": "^2.1.0" - } - }, - "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, - "requires": { - "path-is-inside": "^1.0.2" - } - }, - "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==", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", "dev": true - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dev": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - } - }, - "mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "dev": true, - "requires": { - "minimist": "^1.2.5" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "requires": { - "p-limit": "^2.0.0" - } - }, - "p-map": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", - "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==", + } + } + }, + "webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" + }, + "webpack": { + "version": "5.70.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.70.0.tgz", + "integrity": "sha512-ZMWWy8CeuTTjCxbeaQI21xSswseF2oNOwc70QSKNePvmxE7XW36i7vpBMYZFAUHPwQiEbNGCEYIOOlyRbdGmxw==", + "dev": true, + "requires": { + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^0.0.51", + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/wasm-edit": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1", + "acorn": "^8.4.1", + "acorn-import-assertions": "^1.7.6", + "browserslist": "^4.14.5", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.9.2", + "es-module-lexer": "^0.9.0", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.9", + "json-parse-better-errors": "^1.0.2", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.1.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.1.3", + "watchpack": "^2.3.1", + "webpack-sources": "^3.2.3" + }, + "dependencies": { + "acorn": { + "version": "8.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.4.1.tgz", + "integrity": "sha512-asabaBSkEKosYKMITunzX177CXxQ4Q8BSSzMTKD+FefUhipQC70gfW5SiUDhYQ3vk8G+81HqQk7Fv9OXwwn9KA==", "dev": true }, - "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==", + "acorn-import-assertions": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz", + "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==", "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } + "requires": {} }, - "readdirp": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", - "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dev": true, "requires": { - "graceful-fs": "^4.1.11", - "micromatch": "^3.1.10", - "readable-stream": "^2.0.2" + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" } }, - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "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, - "requires": { - "glob": "^7.1.3" - } + "requires": {} + }, + "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 }, "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==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.0.tgz", + "integrity": "sha512-tTEaeYkyIhEZ9uWgAjDerWov3T9MgX8dhhy2r0IGeeX4W8ngtGl1++dUve/RUqzuaASSh7shwCDJjEzthxki8w==", "dev": true, "requires": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" + "@types/json-schema": "^7.0.7", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" } }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "webpack-sources": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", "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==", + } + } + }, + "webpack-dev-middleware": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.0.tgz", + "integrity": "sha512-MouJz+rXAm9B1OTOYaJnn6rtD/lWZPy2ufQCH3BPs8Rloh/Du6Jze4p7AeLYHkVi0giJnYLaSGDC7S+GM9arhg==", + "dev": true, + "requires": { + "colorette": "^2.0.10", + "memfs": "^3.2.2", + "mime-types": "^2.1.31", + "range-parser": "^1.2.1", + "schema-utils": "^4.0.0" + }, + "dependencies": { + "ajv": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", + "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", "dev": true, "requires": { - "safe-buffer": "~5.1.0" + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" } }, - "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==", + "ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", "dev": true, "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - } + "ajv": "^8.0.0" } }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", "dev": true, "requires": { - "ansi-regex": "^2.0.0" + "fast-deep-equal": "^3.1.3" } }, - "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==", + "colorette": { + "version": "2.0.19", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.19.tgz", + "integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==", + "dev": true + }, + "schema-utils": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", + "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "@types/json-schema": "^7.0.9", + "ajv": "^8.8.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.0.0" } - }, - "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=", + } + } + }, + "webpack-dev-server": { + "version": "4.7.3", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.7.3.tgz", + "integrity": "sha512-mlxq2AsIw2ag016nixkzUkdyOE8ST2GTy34uKSABp1c4nhjZvH90D5ZRR+UOLSsG4Z3TFahAi72a3ymRtfRm+Q==", + "dev": true, + "requires": { + "@types/bonjour": "^3.5.9", + "@types/connect-history-api-fallback": "^1.3.5", + "@types/serve-index": "^1.9.1", + "@types/sockjs": "^0.3.33", + "@types/ws": "^8.2.2", + "ansi-html-community": "^0.0.8", + "bonjour": "^3.5.0", + "chokidar": "^3.5.2", + "colorette": "^2.0.10", + "compression": "^1.7.4", + "connect-history-api-fallback": "^1.6.0", + "default-gateway": "^6.0.3", + "del": "^6.0.0", + "express": "^4.17.1", + "graceful-fs": "^4.2.6", + "html-entities": "^2.3.2", + "http-proxy-middleware": "^2.0.0", + "ipaddr.js": "^2.0.1", + "open": "^8.0.9", + "p-retry": "^4.5.0", + "portfinder": "^1.0.28", + "schema-utils": "^4.0.0", + "selfsigned": "^2.0.0", + "serve-index": "^1.9.1", + "sockjs": "^0.3.21", + "spdy": "^4.0.2", + "strip-ansi": "^7.0.0", + "webpack-dev-middleware": "^5.3.0", + "ws": "^8.1.0" + }, + "dependencies": { + "ajv": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", + "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", "dev": true, "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" } }, - "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==", + "ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", "dev": true, "requires": { - "memory-fs": "^0.4.1", - "mime": "^2.4.4", - "mkdirp": "^0.5.1", - "range-parser": "^1.2.1", - "webpack-log": "^2.0.0" + "ajv": "^8.0.0" } }, - "wrap-ansi": { + "ajv-keywords": { "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==", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", "dev": true, "requires": { - "ansi-styles": "^3.2.0", - "string-width": "^3.0.0", - "strip-ansi": "^5.0.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 - }, - "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" - } - } + "fast-deep-equal": "^3.1.3" } }, - "ws": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.2.tgz", - "integrity": "sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw==", + "ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true + }, + "colorette": { + "version": "2.0.19", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.19.tgz", + "integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==", + "dev": true + }, + "del": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/del/-/del-6.1.1.tgz", + "integrity": "sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg==", "dev": true, "requires": { - "async-limiter": "~1.0.0" + "globby": "^11.0.1", + "graceful-fs": "^4.2.4", + "is-glob": "^4.0.1", + "is-path-cwd": "^2.2.0", + "is-path-inside": "^3.0.2", + "p-map": "^4.0.0", + "rimraf": "^3.0.2", + "slash": "^3.0.0" } }, - "y18n": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", + "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 }, - "yargs": { - "version": "13.3.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", - "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", + "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 + }, + "schema-utils": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", + "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", "dev": true, "requires": { - "cliui": "^5.0.0", - "find-up": "^3.0.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^3.0.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^13.1.2" + "@types/json-schema": "^7.0.9", + "ajv": "^8.8.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.0.0" } }, - "yargs-parser": { - "version": "13.1.2", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", - "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", + "strip-ansi": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", + "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", "dev": true, "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" + "ansi-regex": "^6.0.1" } - } - } - }, - "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, - "requires": { - "ansi-colors": "^3.0.0", - "uuid": "^3.3.2" - }, - "dependencies": { - "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 }, - "uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "dev": true + "ws": { + "version": "8.8.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.8.0.tgz", + "integrity": "sha512-JDAgSYQ1ksuwqfChJusw1LSJ8BizJ2e/vVu5Lxjq3YvNJNlROv1ui4i+c/kUUrPheBvQl4c5UbERhTwKa6QBJQ==", + "dev": true, + "requires": {} } } }, "webpack-merge": { - "version": "5.7.3", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.7.3.tgz", - "integrity": "sha512-6/JUQv0ELQ1igjGDzHkXbVDRxkfA57Zw7PfiupdLFJYrgFqY5ZP8xxbpp2lU3EPwYx89ht5Z/aDkD40hFCm5AA==", + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.8.0.tgz", + "integrity": "sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q==", "dev": true, "requires": { "clone-deep": "^4.0.1", @@ -35030,12 +31092,40 @@ } }, "webpack-subresource-integrity": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/webpack-subresource-integrity/-/webpack-subresource-integrity-1.5.2.tgz", - "integrity": "sha512-GBWYBoyalbo5YClwWop9qe6Zclp8CIXYGIz12OPclJhIrSplDxs1Ls1JDMH8xBPPrg1T6ISaTW9Y6zOrwEiAzw==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/webpack-subresource-integrity/-/webpack-subresource-integrity-5.1.0.tgz", + "integrity": "sha512-sacXoX+xd8r4WKsy9MvH/q/vBtEHr86cpImXwyg74pFIpERKt6FmB8cXpeuh0ZLgclOlHI4Wcll7+R5L02xk9Q==", "dev": true, "requires": { - "webpack-sources": "^1.3.0" + "typed-assert": "^1.0.8" + } + }, + "websocket": { + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/websocket/-/websocket-1.0.34.tgz", + "integrity": "sha512-PRDso2sGwF6kM75QykIesBijKSVceR6jL2G8NGYyq2XrItNC2P5/qL5XeR056GhA+Ly7JMFvJb9I312mJfmqnQ==", + "requires": { + "bufferutil": "^4.0.1", + "debug": "^2.2.0", + "es5-ext": "^0.10.50", + "typedarray-to-buffer": "^3.1.5", + "utf-8-validate": "^5.0.2", + "yaeti": "^0.0.6" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + } } }, "websocket-driver": { @@ -35055,6 +31145,15 @@ "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", "dev": true }, + "whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "requires": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, "which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", @@ -35084,45 +31183,12 @@ "dev": true }, "wide-align": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", - "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", + "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", "dev": true, "requires": { - "string-width": "^1.0.2 || 2" - }, - "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 - }, - "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" - } - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "^3.0.0" - } - } + "string-width": "^1.0.2 || 2 || 3 || 4" } }, "wildcard": { @@ -35137,6 +31203,12 @@ "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", "dev": true }, + "wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==", + "dev": true + }, "wrap-ansi": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", @@ -35209,12 +31281,25 @@ "integrity": "sha512-Foaj5FXVzgn7xFzsKeNIde9g6aFBxTPi37iwsno8QvApmtg7KYrr+OPyRHcJF7dud2a5nGRBXK3n0dL62Gf7PA==", "dev": true }, + "xxhashjs": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/xxhashjs/-/xxhashjs-0.2.2.tgz", + "integrity": "sha512-AkTuIuVTET12tpsVIQo+ZU6f/qDmKuRUcjaqR+OIvm+aCBsZ95i7UVY5WJ9TMsSaZ0DA2WxoZ4acu0sPH+OKAw==", + "requires": { + "cuint": "^0.2.2" + } + }, "y18n": { "version": "5.0.8", "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", "dev": true }, + "yaeti": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/yaeti/-/yaeti-0.0.6.tgz", + "integrity": "sha512-MvQa//+KcZCUkBTIC9blM+CU9J2GzuTytsOUwf2lidtvkx/6gnEp1QvJv34t9vdjhFmha/mUiNDbN0D0mJWdug==" + }, "yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", @@ -35271,11 +31356,11 @@ "dev": true }, "zone.js": { - "version": "0.11.4", - "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.11.4.tgz", - "integrity": "sha512-DDh2Ab+A/B+9mJyajPjHFPWfYU1H+pdun4wnnk0OcQTNjem1XQSZ2CDW+rfZEUDjv5M19SBqAkjZi0x5wuB5Qw==", + "version": "0.11.6", + "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.11.6.tgz", + "integrity": "sha512-umJqFtKyZlPli669gB1gOrRE9hxUUGkZr7mo878z+NEBJZZixJkKeVYfnoLa7g25SseUDc92OZrMKKHySyJrFg==", "requires": { - "tslib": "^2.0.0" + "tslib": "^2.3.0" } } } diff --git a/package.json b/package.json index 09f073a..3a36118 100644 --- a/package.json +++ b/package.json @@ -1,8 +1,14 @@ { - "name": "Cesium2", - "version": "0.0.1", - "author": "Cesium team", + "name": "cesium", + "version": "2.0.0-rc1", + "description": "Manage G1 wallet", + "author": "Benoit Lavenier <benoit.lavenier@e-is.pro>", "homepage": "https://cesium.app", + "license": "AGPL-3.0", + "repository": { + "type": "git", + "url": "git.duniter.org:clients/cesium-grp/cesium2.git" + }, "scripts": { "postinstall": "ngcc", "ng": "ng", @@ -11,68 +17,80 @@ "test": "ng test", "lint": "ng lint", "e2e": "ng e2e", - "build-defs": "yarn generate:defs && yarn generate:meta", - "generate:defs": "ts-node --skip-project node_modules/.bin/polkadot-types-from-defs --package sample-polkadotjs-typegen/interfaces --input ./src/interfaces", - "generate:meta": "ts-node --skip-project node_modules/.bin/polkadot-types-from-chain --package sample-polkadotjs-typegen/interfaces --endpoint ./edgeware.json --output ./src/interfaces" + "typegen": "yarn get:meta && yarn generate:defs && yarn generate:meta", + "get:meta": "curl -H \"Content-Type: application/json\" -d '{\"id\":\"1\", \"jsonrpc\":\"2.0\", \"method\": \"state_getMetadata\", \"params\":[]}' http://localhost:9933 > ./src/interfaces/types.json", + "generate:defs": "ts-node --skip-project node_modules/.bin/polkadot-types-from-defs --package @duniter/core-types/interfaces --input ./src/interfaces --endpoint ./src/interfaces/types.json", + "generate:meta": "ts-node --skip-project node_modules/.bin/polkadot-types-from-chain --package @duniter/core-types/interfaces --output ./src/interfaces --endpoint ./src/interfaces/types.json" }, - "private": true, "dependencies": { - "@angular/common": "~12.0.1", - "@angular/core": "~12.0.1", - "@angular/forms": "~12.0.1", - "@angular/platform-browser": "~12.0.1", - "@angular/platform-browser-dynamic": "~12.0.1", - "@angular/router": "~12.0.1", + "@angular/animations": "~13.3.11", + "@angular/common": "~13.3.11", + "@angular/core": "~13.3.11", + "@angular/forms": "~13.3.11", + "@angular/platform-browser": "~13.3.11", + "@angular/platform-browser-dynamic": "~13.3.11", + "@angular/router": "~13.3.11", "@capacitor/app": "1.0.2", + "@capacitor/clipboard": "^1.0.8", "@capacitor/core": "3.1.1", "@capacitor/haptics": "1.0.2", "@capacitor/keyboard": "1.0.2", "@capacitor/status-bar": "1.0.2", - "@ionic/angular": "^5.5.2", - "@polkadot/api": "^5.1.1", - "@duniter/core-types": "file:/home/blavenie/git/duniter/lc-core-substrate/types-bundle/dist", + "@capacitor/storage": "^1.2.5", + "@ionic/angular": "^6.1.11", + "@ionic/storage": "^3.0.6", + "@ionic/storage-angular": "^3.0.6", + "@ngx-translate/core": "^13.0.0", + "@ngx-translate/http-loader": "^6.0.0", + "@polkadot/api": "^8.9.1", + "@polkadot/keyring": "^9.6.1", + "@polkadot/ui-keyring": "^2.6.1", + "@polkadot/ui-settings": "^2.6.1", "crypto-browserify": "^3.12.0", - "rxjs": "~7.5.5", + "jdenticon": "^3.1.1", + "moment": "^2.29.3", + "moment-timezone": "^0.5.34", + "ngx-jdenticon": "^1.0.4", + "rxjs": "~7.4.0", "stream-browserify": "^3.0.0", "tslib": "^2.0.0", "zone.js": "~0.11.6" }, "devDependencies": { - "@angular-devkit/build-angular": "~12.0.1", - "@angular-eslint/builder": "~12.0.0", - "@angular-eslint/eslint-plugin": "~12.0.0", - "@angular-eslint/eslint-plugin-template": "~12.0.0", - "@angular-eslint/template-parser": "~12.0.0", - "@angular/cli": "^12.1.2", - "@angular/compiler": "~12.0.1", - "@angular/compiler-cli": "~12.0.1", - "@angular/language-service": "~12.0.1", - "@capacitor/cli": "3.1.1", - "@ionic/angular-toolkit": "^4.0.0", - "@types/jasmine": "~3.6.0", - "@types/jasminewd2": "~2.0.3", - "@types/node": "^12.11.1", - "@typescript-eslint/eslint-plugin": "4.16.1", - "@typescript-eslint/parser": "4.16.1", - "eslint": "^7.6.0", - "eslint-plugin-import": "2.22.1", - "eslint-plugin-jsdoc": "30.7.6", - "eslint-plugin-prefer-arrow": "1.2.2", - "jasmine-core": "~3.8.0", - "jasmine-spec-reporter": "~5.0.0", - "karma": "~6.3.2", - "karma-chrome-launcher": "~3.1.0", - "karma-coverage": "~2.0.3", - "karma-coverage-istanbul-reporter": "~3.0.2", - "karma-jasmine": "~4.0.0", - "karma-jasmine-html-reporter": "^1.5.0", + "@angular-devkit/build-angular": "~13.3.8", + "@angular-eslint/builder": "~13.5.0", + "@angular-eslint/eslint-plugin": "~13.5.0", + "@angular-eslint/eslint-plugin-template": "~13.5.0", + "@angular-eslint/template-parser": "~13.5.0", + "@angular/cli": "^13.3.8", + "@angular/compiler": "~13.3.11", + "@angular/compiler-cli": "~13.3.11", + "@angular/language-service": "~13.3.11", + "@capacitor/cli": "3.6.0", + "@ionic/angular-toolkit": "^6.1.0", + "@polkadot/typegen": "^8.9.1", + "@polkadot/types": "^8.9.1", + "@types/jasmine": "~4.0.3", + "@types/jasminewd2": "~2.0.10", + "@types/node": "^12.20.55", + "@typescript-eslint/eslint-plugin": "4.33.0", + "@typescript-eslint/parser": "4.33.0", + "eslint": "^7.32.0", + "eslint-plugin-import": "2.26.0", + "eslint-plugin-jsdoc": "39.3.3", + "eslint-plugin-prefer-arrow": "1.2.3", + "jasmine-core": "~4.2.0", + "jasmine-spec-reporter": "~7.0.0", + "karma": "~6.4.0", + "karma-chrome-launcher": "~3.1.1", + "karma-coverage": "~2.2.0", + "karma-coverage-istanbul-reporter": "~3.0.3", + "karma-jasmine": "~5.1.0", + "karma-jasmine-html-reporter": "^2.0.0", "protractor": "~7.0.0", "ts-node": "^8.6.2", - "typescript": "~4.2.4", - "@polkadot/typegen": "^5.1.1", - "@polkadot/types": "^5.1.1" + "typescript": "~4.6.4" }, - "description": "Manage G1 wallet", "engines": { "node": ">= 14.17.3" } diff --git a/src/app/app-routing.module.ts b/src/app/app-routing.module.ts index 0ded359..d112a93 100644 --- a/src/app/app-routing.module.ts +++ b/src/app/app-routing.module.ts @@ -1,19 +1,31 @@ -import { NgModule } from '@angular/core'; -import { PreloadAllModules, RouterModule, Routes } from '@angular/router'; +import {NgModule} from '@angular/core'; +import {PreloadAllModules, RouterModule, Routes} from '@angular/router'; const routes: Routes = [ { path: '', - redirectTo: 'wallet/main', - pathMatch: 'full' + pathMatch: 'full', + redirectTo: 'home' }, { - path: 'folder/:id', - loadChildren: () => import('./folder/folder.module').then( m => m.FolderPageModule) + path: 'home', + loadChildren: () => import('./home/home.module').then( m => m.HomeModule) }, { path: 'wallet/:id', loadChildren: () => import('./wallet/wallet.module').then( m => m.WalletPageModule) + }, + { + path: 'transfer', + loadChildren: () => import('./transfer/transfer.module').then( m => m.TransferPageModule) + }, + { + path: 'wot', + loadChildren: () => import('./wot/wot.module').then( m => m.WotModule) + }, + { + path: 'settings', + loadChildren: () => import('./settings/settings.module').then( m => m.SettingsPageModule) } ]; diff --git a/src/app/app.component.html b/src/app/app.component.html index 2a83eea..030ff78 100644 --- a/src/app/app.component.html +++ b/src/app/app.component.html @@ -9,7 +9,7 @@ <ion-menu-toggle auto-hide="false" *ngFor="let p of appPages; let i = index"> <ion-item routerDirection="root" [routerLink]="[p.url]" lines="none" detail="false" routerLinkActive="selected"> <ion-icon slot="start" [ios]="p.icon + '-outline'" [md]="p.icon + '-sharp'"></ion-icon> - <ion-label>{{ p.title }}</ion-label> + <ion-label>{{ p.title | translate }}</ion-label> </ion-item> </ion-menu-toggle> </ion-list> diff --git a/src/app/app.component.ts b/src/app/app.component.ts index ac055d1..22b29c5 100644 --- a/src/app/app.component.ts +++ b/src/app/app.component.ts @@ -8,16 +8,17 @@ import {PlatformService} from "./services/platform.service"; export class AppComponent { public appPages = [ - { title: 'Wallet', url: '/wallet', icon: 'mail' }, + { title: 'MENU.HOME', url: '/home', icon: 'home' }, + { title: 'MENU.ACCOUNT', url: '/wallet/Alice', icon: 'card' }, + { title: 'TRANSFER.SUB_TITLE', url: '/transfer', icon: 'paper-plane' }, - { title: 'Inbox', url: '/folder/Inbox', icon: 'mail' }, - { title: 'Outbox', url: '/folder/Outbox', icon: 'paper-plane' }, - { title: 'Favorites', url: '/folder/Favorites', icon: 'heart' }, - { title: 'Archived', url: '/folder/Archived', icon: 'archive' }, - { title: 'Trash', url: '/folder/Trash', icon: 'trash' }, - { title: 'Spam', url: '/folder/Spam', icon: 'warning' }, + // { title: 'Messages', url: '/message/inbox', icon: 'mail' }, + + { title: 'MENU.WOT', url: '/wot', icon: 'people' }, + + { title: 'MENU.SETTINGS', url: '/settings', icon: 'settings' }, ]; - public labels = ['Family', 'Friends', 'Notes', 'Work', 'Travel', 'Reminders']; + public labels = []; constructor(private platform: PlatformService) { this.start(); diff --git a/src/app/app.module.ts b/src/app/app.module.ts index 2e6cedc..f643461 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -1,25 +1,82 @@ -import { NgModule } from '@angular/core'; -import { BrowserModule } from '@angular/platform-browser'; -import { RouteReuseStrategy } from '@angular/router'; +import {NgModule} from '@angular/core'; +import {BrowserModule} from '@angular/platform-browser'; +import {RouteReuseStrategy} from '@angular/router'; -import { IonicModule, IonicRouteStrategy } from '@ionic/angular'; +import {IonicModule, IonicRouteStrategy} from '@ionic/angular'; -import { AppComponent } from './app.component'; -import { AppRoutingModule } from './app-routing.module'; +import {AppComponent} from './app.component'; +import {AppRoutingModule} from './app-routing.module'; import {PlatformService} from "./services/platform.service"; +import {BrowserAnimationsModule} from "@angular/platform-browser/animations"; +import {HttpClient, HttpClientModule} from "@angular/common/http"; +import {TranslateLoader, TranslateModule} from '@ngx-translate/core'; +import {TranslateHttpLoader} from '@ngx-translate/http-loader'; +import {IonicStorageModule} from '@ionic/storage-angular'; +import {environment} from "@environments/environment"; +import {AppSharedModule} from "@app/shared/shared.module"; +import {APP_BASE_HREF} from "@angular/common"; +import {JDENTICON_CONFIG} from "ngx-jdenticon"; +import {APP_LOCALES} from "@app/settings/settings.model"; +import {FormsModule, ReactiveFormsModule} from "@angular/forms"; @NgModule({ - declarations: [AppComponent], - entryComponents: [], - imports: [ - BrowserModule, - IonicModule.forRoot(), - AppRoutingModule - ], - providers: [ - {provide: RouteReuseStrategy, useClass: IonicRouteStrategy}, - {provide: PlatformService, useClass: PlatformService} - ], - bootstrap: [AppComponent], + declarations: [AppComponent], + imports: [ + BrowserModule, + BrowserAnimationsModule, + HttpClientModule, + IonicModule.forRoot(), + AppRoutingModule, + AppSharedModule, + IonicStorageModule.forRoot({ + name: 'cesium', // default + ...environment.storage + }), + TranslateModule.forRoot({ + loader: { + provide: TranslateLoader, + useFactory: (httpClient) => new TranslateHttpLoader(httpClient, './assets/i18n/', `.json`), + deps: [HttpClient] + } + }), + ], + providers: [ + { provide: RouteReuseStrategy, useClass: IonicRouteStrategy }, + { provide: PlatformService, useClass: PlatformService }, + + {provide: APP_BASE_HREF, useValue: (environment.baseUrl || '/')}, + + { + provide: APP_LOCALES, useValue: + [ + {key:'en', value: 'English', country: 'us'}, + {key:'en-GB', value: 'English (UK)', country: 'gb'}, + {key:'eo-EO', value: 'Esperanto', country: 'eo'}, + {key:'fr', value: 'Français', country: 'fr'}, + {key:'nl-NL', value: 'Nederlands', country: 'nl'}, + {key:'es-ES', value: 'Spanish', country: 'es'}, + {key:'ca', value: 'Català', country: 'ca'}, + {key:'it-IT', value: 'Italiano', country: 'it'} + ] + }, + + // Custom identicon style + // https://jdenticon.com/icon-designer.html?config=4451860010ff320028501e5a + { + provide: JDENTICON_CONFIG, + useValue: { + lightness: { + color: [0.26, 0.80], + grayscale: [0.30, 0.90], + }, + saturation: { + color: 0.50, + grayscale: 0.46, + }, + backColor: '#0000' + } + } + ], + bootstrap: [AppComponent] }) export class AppModule {} diff --git a/src/app/auth/auth.form.html b/src/app/auth/auth.form.html new file mode 100644 index 0000000..ca53320 --- /dev/null +++ b/src/app/auth/auth.form.html @@ -0,0 +1,59 @@ +<form [formGroup]="form" novalidate (ngSubmit)="doSubmit($event)" class="form-container ion-padding" (keyup.enter)="doSubmit($event)"> + + <ion-list> + <!-- error --> + <ion-item lines="none" *ngIf="error && !loading" @slideUpDownAnimation> + <ion-icon color="danger" slot="start" name="alert-circle"></ion-icon> + <ion-label color="danger" class="error" [innerHTML]="error|translate"></ion-label> + </ion-item> + + + <!-- Username --> + <ion-item> + <ion-label color="medium" translate>LOGIN.SALT</ion-label> + <ion-input [placeholder]="''|translate" + formControlName="username" + autocomplete="off" + required> + + </ion-input> + </ion-item> + + <!-- Password --> + <ion-item> + <ion-label color="medium" translate>LOGIN.PASSWORD</ion-label> + <ion-input formControlName="password" + autocomplete="off" + required> + + </ion-input> + </ion-item> + <!--<mat-form-field> + <input matInput [placeholder]="'USER.PASSWORD'|translate" + formControlName="password" + autocomplete="section-red new-password" + [type]="showPwd ? 'text' : 'password'" + (keyup.enter)="doSubmit($event)" + required> + + <!– Show pwd button –> + <button matSuffix type="button" + mat-icon-button + *ngIf="mobile" + (click)="showPwd = !showPwd" + tabindex="-1"> + <mat-icon>{{showPwd ? 'visibility_off' : 'visibility'}}</mat-icon> + </button> + <mat-error *ngIf="form.controls.password.hasError('required') && form.controls.password.touched" translate>ERROR.FIELD_REQUIRED</mat-error> + </mat-form-field>--> + </ion-list> + + <!-- Not register yet ? --> + <p *ngIf="canRegister" class="padding" style="text-align: center;"> + <span translate>AUTH.NO_ACCOUNT_QUESTION</span> + <br/> + <a (click)="register()"> + <span translate>AUTH.BTN_REGISTER</span> + </a> + </p> +</form> diff --git a/src/app/auth/auth.form.scss b/src/app/auth/auth.form.scss new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/src/app/auth/auth.form.scss @@ -0,0 +1 @@ + diff --git a/src/app/auth/auth.form.ts b/src/app/auth/auth.form.ts new file mode 100644 index 0000000..a4c3fc9 --- /dev/null +++ b/src/app/auth/auth.form.ts @@ -0,0 +1,109 @@ +import {ChangeDetectionStrategy, Component, EventEmitter, Injector, OnInit, Output} from '@angular/core'; +import {FormBuilder, Validators} from '@angular/forms'; +import {ModalController} from '@ionic/angular'; +import {RegisterModal} from '../register/register.modal'; +import {slideUpDownAnimation} from "@app/shared/animations"; +import {AppForm} from "@app/shared/form.class"; +import {AuthData} from "@app/auth/auth.model"; +import {SettingsService} from "@app/settings/settings.service"; +import {NetworkService} from "@app/network/network.service"; +import {environment} from "@duniter/core-types/environments/environment"; +import {FormUtils} from "@app/shared/forms"; + + +@Component({ + selector: 'app-auth-form', + templateUrl: 'auth.form.html', + styleUrls: ['./auth.form.scss'], + animations: [slideUpDownAnimation], + changeDetection: ChangeDetectionStrategy.OnPush +}) +export class AuthForm extends AppForm<AuthData> implements OnInit { + + readonly mobile: boolean; + showPwd = false; + canRegister: boolean; + + @Output() onCancel = new EventEmitter<any>(); + @Output() onSubmit = new EventEmitter<AuthData>(); + + disable(opts?: { onlySelf?: boolean; emitEvent?: boolean }) { + super.disable(opts); + this.showPwd = false; // Hide pwd when disable (e.g. when submitted) + } + + constructor( + injector: Injector, + settings: SettingsService, + formBuilder: FormBuilder, + private modalCtrl: ModalController, + public network: NetworkService + ) { + super(injector, + formBuilder.group({ + username: [null, Validators.required], + password: [null, Validators.required] + })); + + this.mobile = settings.mobile; + this._enable = true; + + } + + ngOnInit() { + super.ngOnInit(); + + // For DEV only: set the default user, for testing + if (!environment.production && environment.dev?.auth) { + this.form.patchValue(environment.dev.auth); + } + } + + cancel() { + this.onCancel.emit(); + } + + async doSubmit(event?: UIEvent) { + if (event) { + event.preventDefault(); + event.stopPropagation(); + } + + if (this.loading) return; + + if (!this.form.valid) { + await FormUtils.waitWhilePending(this.form); + if (this.form.invalid) { + FormUtils.logErrors(this.form); + return; // Skip if invalid + } + } + + this.markAsLoading(); + const data = this.form.value; + this.showPwd = false; // Hide password + this.error = null; // Reset error + + setTimeout(() => this.onSubmit.emit({ + username: data.username, + password: data.password + })); + } + + register() { + this.onCancel.emit(); + setTimeout(async () => { + const modal = await this.modalCtrl.create({ + component: RegisterModal, + backdropDismiss: false + }); + return modal.present(); + }, 200); + } + + /* -- protected functions -- */ + + protected markForCheck() { + this._cd.markForCheck(); + } +} diff --git a/src/app/auth/auth.modal.html b/src/app/auth/auth.modal.html new file mode 100644 index 0000000..20e2112 --- /dev/null +++ b/src/app/auth/auth.modal.html @@ -0,0 +1,52 @@ +<ion-header> + <ion-toolbar [color]="auth?'danger': 'primary'"> + <ion-buttons slot="start"> + <ion-button (click)="cancel()" *ngIf="mobile"> + <ion-icon slot="icon-only" name="arrow-back"></ion-icon> + </ion-button> + </ion-buttons> + + <ion-title [innerHTML]="auth?'AUTH.TITLE': 'LOGIN.TITLE'|translate"> + </ion-title> + + <ion-buttons slot="end"> + <ion-spinner *ngIf="loading"></ion-spinner> + + <ion-button + (click)="doSubmit()" *ngIf="!loading && mobile"> + <ion-icon slot="icon-only" name="checkmark"></ion-icon> + </ion-button> + </ion-buttons> + </ion-toolbar> +</ion-header> + +<ion-content style="height: 100%"> + <app-auth-form #form + (onSubmit)="doSubmit()" + (onCancel)="cancel()"> + </app-auth-form> + + <ion-toolbar *ngIf="!mobile"> + + <ion-row class="ion-no-padding" nowrap> + <ion-col></ion-col> + + <!-- buttons --> + <ion-col size="auto"> + <ion-button fill="clear" color="dark" (click)="cancel()"> + <ion-label translate>COMMON.BTN_CANCEL</ion-label> + </ion-button> + + <ion-button [fill]="form.invalid ? 'clear' : 'solid'" + [disabled]="loading || form.invalid" + (click)="doSubmit()" + (keyup.enter)="doSubmit()" + color="tertiary"> + <ion-label translate>COMMON.BTN_LOGIN</ion-label> + </ion-button> + </ion-col> + </ion-row> + + + </ion-toolbar> +</ion-content> diff --git a/src/app/auth/auth.modal.scss b/src/app/auth/auth.modal.scss new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/src/app/auth/auth.modal.scss @@ -0,0 +1 @@ + diff --git a/src/app/auth/auth.modal.ts b/src/app/auth/auth.modal.ts new file mode 100644 index 0000000..8db61fd --- /dev/null +++ b/src/app/auth/auth.modal.ts @@ -0,0 +1,92 @@ +import {ChangeDetectionStrategy, ChangeDetectorRef, Component, Input, OnInit, ViewChild} from '@angular/core'; +import {ModalController} from '@ionic/angular'; +import {AccountService} from '@app/wallet/account.service'; +import {AuthForm} from './auth.form'; +import {firstNotNilPromise} from '@app/shared/observables'; + +@Component({ + selector: 'app-auth-modal', + templateUrl: 'auth.modal.html', + styleUrls: ['./auth.modal.scss'], + changeDetection: ChangeDetectionStrategy.OnPush +}) +export class AuthModal implements OnInit { + + title: string = null; + get loading() { + return this.form?.loading; + } + + get mobile(): boolean { + return this.form?.mobile; + } + + @Input() auth = false; + + @ViewChild('form', { static: true }) private form: AuthForm; + + constructor(private accountService: AccountService, + private viewCtrl: ModalController, + private cd: ChangeDetectorRef + ) { + } + + ngOnInit() { + + this.title = this.auth ? 'AUTH.TITLE' : 'LOGIN.TITLE'; + + this.form.markAsReady({emitEvent: false}); + this.form.markAsLoaded(); + } + + cancel() { + this.viewCtrl.dismiss(); + } + + async doSubmit(): Promise<any> { + if (this.form.disabled) return; + if (!this.form.valid) { + this.form.markAllAsTouched(); + return; + } + this.markAsLoading(); + + try { + const data = this.form.value; + + // Disable the form + this.form.disable(); + + const account = await this.accountService.login(data); + + return this.viewCtrl.dismiss(account); + } + catch (err) { + this.form.error = err && err.message || err; + this.markAsLoaded(); + + // Enable the form + this.form.enable(); + + // Reset form error on next changes + firstNotNilPromise(this.form.form.valueChanges).then(() => { + this.form.error = null; + this.markForCheck(); + }); + + return; + } + } + + protected markForCheck() { + this.cd.markForCheck(); + } + + protected markAsLoading(opts?: {emitEvent?: boolean}) { + this.form.markAsLoading(opts); + } + + protected markAsLoaded(opts?: {emitEvent?: boolean}) { + this.form.markAsLoaded(opts); + } +} diff --git a/src/app/auth/auth.model.ts b/src/app/auth/auth.model.ts new file mode 100644 index 0000000..a4a8adf --- /dev/null +++ b/src/app/auth/auth.model.ts @@ -0,0 +1,9 @@ +import {AccountExtendedMeta} from "@app/wallet/account.model"; + +export interface AuthData { + username: string; + password: string; + + phrase?: string; + meta?: AccountExtendedMeta; +} diff --git a/src/app/auth/auth.module.ts b/src/app/auth/auth.module.ts new file mode 100644 index 0000000..ffa8510 --- /dev/null +++ b/src/app/auth/auth.module.ts @@ -0,0 +1,25 @@ +import {NgModule} from '@angular/core'; +import {CommonModule} from '@angular/common'; +import {FormsModule, ReactiveFormsModule} from '@angular/forms'; + +import {IonicModule} from '@ionic/angular'; +import {AuthForm} from "./auth.form"; +import {AuthModal} from "./auth.modal"; +import {AppSharedModule} from "@app/shared/shared.module"; +import {TranslateModule} from "@ngx-translate/core"; + +@NgModule({ + imports: [ + CommonModule, + FormsModule, + ReactiveFormsModule, + IonicModule, + AppSharedModule, + TranslateModule + ], + exports: [ + AuthForm, AuthModal + ], + declarations: [AuthForm, AuthModal] +}) +export class AppAuthModule {} diff --git a/src/app/home/home-routing.module.ts b/src/app/home/home-routing.module.ts new file mode 100644 index 0000000..17b538a --- /dev/null +++ b/src/app/home/home-routing.module.ts @@ -0,0 +1,17 @@ +import {NgModule} from '@angular/core'; +import {RouterModule, Routes} from '@angular/router'; +import {HomePage} from "@app/home/home.page"; + +const routes: Routes = [ + { + path: '', + pathMatch: 'full', + component: HomePage + } +]; + +@NgModule({ + imports: [RouterModule.forChild(routes)], + exports: [RouterModule], +}) +export class HomePageRoutingModule {} diff --git a/src/app/home/home.module.ts b/src/app/home/home.module.ts new file mode 100644 index 0000000..83b0a83 --- /dev/null +++ b/src/app/home/home.module.ts @@ -0,0 +1,18 @@ +import {NgModule} from '@angular/core'; + +import {HomePage} from './home.page'; +import {AppSharedModule} from "@app/shared/shared.module"; +import {TranslateModule} from "@ngx-translate/core"; +import {HomePageRoutingModule} from "@app/home/home-routing.module"; +import {AppAuthModule} from "@app/auth/auth.module"; + +@NgModule({ + imports: [ + AppSharedModule, + TranslateModule.forChild(), + HomePageRoutingModule, + AppAuthModule + ], + declarations: [HomePage] +}) +export class HomeModule {} diff --git a/src/app/home/home.page.html b/src/app/home/home.page.html new file mode 100644 index 0000000..19234c2 --- /dev/null +++ b/src/app/home/home.page.html @@ -0,0 +1,53 @@ +<ion-header [translucent]="true"> + <ion-toolbar> + <ion-buttons slot="start"> + <ion-menu-button></ion-menu-button> + </ion-buttons> + <ion-title translate>HOME.TITLE</ion-title> + <ion-buttons slot="end"> + <!-- locale button --> + <ion-button id="locale-menu-trigger" [title]="'COMMON.LANGUAGE'|translate"> + <ion-icon slot="icon-only" name="language"></ion-icon> + </ion-button> + <ion-popover #popover trigger="locale-menu-trigger" triggerAction="locale-menu"> + <ng-template> + <ion-content> + <ion-list> + <ion-item *ngFor="let item of locales" + (click)="changeLocale(item.key) || popover.dismiss()" + tappable> + <ion-label>{{item.value}}</ion-label> + <ion-icon slot="end" name="checkmark" *ngIf="data.locale===item.key"></ion-icon> + </ion-item> + </ion-list> + </ion-content> + </ng-template> + </ion-popover> + + </ion-buttons> + </ion-toolbar> +</ion-header> + +<ion-content [fullscreen]="true"> + + <div id="container"> + + <ion-button id="open-modal-trigger"> + <ion-label translate>COMMON.BTN_LOGIN</ion-label> + </ion-button> + + </div> +</ion-content> + +<ion-modal + #modal + trigger="open-modal-trigger" + [backdropDismiss]="false" +> + <ng-template> + <ion-content scrollY="false"> + <app-auth-modal></app-auth-modal> + </ion-content> + </ng-template> +</ion-modal> + diff --git a/src/app/home/home.page.scss b/src/app/home/home.page.scss new file mode 100644 index 0000000..281733f --- /dev/null +++ b/src/app/home/home.page.scss @@ -0,0 +1,6 @@ +ion-menu-button { + color: var(--ion-color-primary); +} + +#container { +} diff --git a/src/app/home/home.page.spec.ts b/src/app/home/home.page.spec.ts new file mode 100644 index 0000000..cf36b24 --- /dev/null +++ b/src/app/home/home.page.spec.ts @@ -0,0 +1,24 @@ +import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; +import { IonicModule } from '@ionic/angular'; +import { RouterModule } from '@angular/router'; +import { HomePage } from './settings.page'; + +describe('SettingsPage', () => { + let component: HomePage; + let fixture: ComponentFixture<HomePage>; + + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + declarations: [ HomePage ], + imports: [IonicModule.forRoot(), RouterModule.forRoot([])] + }).compileComponents(); + + fixture = TestBed.createComponent(HomePage); + component = fixture.componentInstance; + fixture.detectChanges(); + })); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/home/home.page.ts b/src/app/home/home.page.ts new file mode 100644 index 0000000..1e4662c --- /dev/null +++ b/src/app/home/home.page.ts @@ -0,0 +1,38 @@ +import {Component, Inject, Injector, OnInit} from '@angular/core'; +import {SettingsService} from "@app/settings/settings.service"; +import {APP_LOCALES, LocaleConfig, Settings} from "@app/settings/settings.model"; +import {BasePage} from "@app/shared/page/base.page"; + +@Component({ + selector: 'app-home', + templateUrl: './home.page.html', + styleUrls: ['./home.page.scss'], +}) +export class HomePage extends BasePage<Settings> implements OnInit { + + loading = true; + + constructor( + injector: Injector, + @Inject(APP_LOCALES) public locales: LocaleConfig[] + ) { + super(injector, {name: 'home'}) + + } + + ngOnInit() { + super.ngOnInit(); + } + + protected async ngOnLoad(): Promise<Settings> { + await this.settings.ready(); + return this.settings.clone(); + } + + + changeLocale(locale: string) { + this.settings.patchValue({locale}); + this.data.locale = locale; + this.markForCheck(); + } +} diff --git a/src/app/model/account.model.ts b/src/app/model/account.model.ts deleted file mode 100644 index b80eb8f..0000000 --- a/src/app/model/account.model.ts +++ /dev/null @@ -1,11 +0,0 @@ - -export interface AccountMeta { - name: string; - source: string; -} -export interface Account { - address: string; -} -export interface AccountWithMeta extends Account{ - meta: AccountMeta; -} diff --git a/src/app/model/peer.model.ts b/src/app/model/peer.model.ts deleted file mode 100644 index 3181fcc..0000000 --- a/src/app/model/peer.model.ts +++ /dev/null @@ -1,6 +0,0 @@ -export interface Peer { - host: string; - port: number; - useSsl?: boolean; - path?: string; -} diff --git a/src/app/model/settings.model.ts b/src/app/model/settings.model.ts deleted file mode 100644 index 15dbd53..0000000 --- a/src/app/model/settings.model.ts +++ /dev/null @@ -1,15 +0,0 @@ -export interface Peer { - host: string; - port: number; - useSsl?: boolean; - path?: string; -} - -export interface Settings { - - preferredPeers: Peer[]; - - // TODO - [key: string]: any; -} - diff --git a/src/app/network/network.service.ts b/src/app/network/network.service.ts new file mode 100644 index 0000000..93a8c82 --- /dev/null +++ b/src/app/network/network.service.ts @@ -0,0 +1,110 @@ +import {Injectable} from "@angular/core"; +import {ApiPromise, WsProvider} from "@polkadot/api"; +import {SettingsService} from "../settings/settings.service"; +import {Peer, Peers} from "./peer.model"; +import {StartableService} from "@app/shared/services/startable-service.class"; +//import * as definitions from '@duniter/core-types/interfaces' + +const WELL_KNOWN_CURRENCIES = { + 'Ğdev': { + symbol: 'ĞD' + } +} +@Injectable({providedIn: 'root'}) +export class NetworkService extends StartableService<ApiPromise> { + + chain = { + name: null, + symbol: null + } + + get api(): ApiPromise { + return this._data; + } + + get currencySign(): string { + // TODO + return 'GD' + } + + constructor( + private settings: SettingsService + ) { + super(settings, { + name: 'network-service' + }); + } + + protected async ngOnStart(): Promise<any> { + + const settings = await this.settings.ready(); + + const peers = await this.filterAliveNodes(settings.preferredPeers); + if (!peers.length) { + throw {message: 'ERROR.CHECK_NETWORK_CONNECTION'}; + } + + const peer = this.selectRandomPeer(peers); + const wsUri = Peers.getWsUri(peer); + console.info(`Connecting to peer {${wsUri}}...`) + + // Extract all types from definitions - fast and dirty approach, flatted on 'types' + // const types = Object.values(definitions).reduce((res: any, { types }): object => { + // return { ...res, ...types }; + // }, {}); + // this.log(types); + + // Construct + const wsProvider = new WsProvider(wsUri); + const api = await ApiPromise.create({ + provider: wsProvider + //,...types + }); + + // get the chain information + const chainInfo = await api.registry.getChainProperties(); + this.debug('Connecting to chain: ', chainInfo); + + // Read the genesys block hash + console.info('Connected to Blockchain genesis: ' + api.genesisHash.toHex()); + + // Retrieve the chain name + const chain = ''+(await api.rpc.system.chain()); + this.chain = WELL_KNOWN_CURRENCIES[chain]; + + // Retrieve the latest header + const lastHeader = await api.rpc.chain.getHeader(); + + // Log the information + console.info(`${chain}: last block #${lastHeader.number} has hash ${lastHeader.hash}`); + + return api; + } + + async filterAliveNodes(peers: string[], opts?: { + timeout?: number; + }): Promise<Peer[]> { + const result: Peer[] = []; + await Promise.all(peers + .map(peer => Peers.fromUri(peer)) + .map(peer => this.isPeerAlive(peer) + .then(alive => { + if (!alive) return; + result.push(peer); + })) + ); + return result; + } + + async isPeerAlive(peer: Peer, opts?: { + timeout?: number; + }): Promise<boolean> { + // TODO + return Promise.resolve(true); + } + + selectRandomPeer(peers: Peer[]): Peer { + const index = Math.floor(Math.random() * peers.length); + return peers[index]; + } +} diff --git a/src/app/network/peer.model.ts b/src/app/network/peer.model.ts new file mode 100644 index 0000000..7140cd2 --- /dev/null +++ b/src/app/network/peer.model.ts @@ -0,0 +1,32 @@ +import {isNil, isNotNil, isNotNilOrBlank} from "@app/shared/functions"; + +export interface Peer { + host: string; + port: number; + useSsl?: boolean; + path?: string; +} + +export abstract class Peers { + + static fromUri(peerUri: string): Peer { + try { + const url = new URL(peerUri); + let port = isNotNilOrBlank(url.port) ? +url.port : undefined; + if (isNil(port) && (url.protocol === 'https:' || url.protocol === 'wss:')) { + port = 443; + } + return { + host: url.host, + port, + path: url.pathname + }; + } catch(err) { + throw new Error('Invalid URI: ' + peerUri); + } + } + + static getWsUri(peer: Peer) { + return `${peer.useSsl || peer.port === 443 ? 'wss' : 'ws'}://${peer.host}${isNil(peer.port) ? '' : ':' + peer.port}${peer.path||'/ws'}` + } +} diff --git a/src/app/register/register.form.html b/src/app/register/register.form.html new file mode 100644 index 0000000..0fda191 --- /dev/null +++ b/src/app/register/register.form.html @@ -0,0 +1,11 @@ +<ion-slides pager="true" [options]="slideOpts"> + <ion-slide> + <h1>Slide 1</h1> + </ion-slide> + <ion-slide> + <h1>Slide 2</h1> + </ion-slide> + <ion-slide> + <h1>Slide 3</h1> + </ion-slide> +</ion-slides> diff --git a/src/app/register/register.form.js b/src/app/register/register.form.js new file mode 100644 index 0000000..880eaac --- /dev/null +++ b/src/app/register/register.form.js @@ -0,0 +1,188 @@ +"use strict"; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +exports.__esModule = true; +exports.RegisterForm = void 0; +var core_1 = require("@angular/core"); +var forms_1 = require("@angular/forms"); +var account_model_1 = require("../../services/model/account.model"); +var referential_model_1 = require("../../services/model/referential.model"); +var rxjs_1 = require("rxjs"); +var operators_1 = require("rxjs/operators"); +var material_autocomplete_1 = require("../../../shared/material/autocomplete/material.autocomplete"); +var environment_class_1 = require("../../../../environments/environment.class"); +var RegisterForm = /** @class */ (function () { + function RegisterForm(accountService, accountValidatorService, formBuilder, environment, settings) { + var _this = this; + this.accountService = accountService; + this.accountValidatorService = accountValidatorService; + this.formBuilder = formBuilder; + this.environment = environment; + this.settings = settings; + this.debug = false; + this.subscriptions = []; + this.sending = false; + this.showPwd = false; + this.showConfirmPwd = false; + this.onCancel = new core_1.EventEmitter(); + this.onSubmit = new core_1.EventEmitter(); + this.referentialToString = referential_model_1.referentialToString; + this.forms = []; + // Email form + this.forms.push(formBuilder.group({ + email: new forms_1.FormControl(null, forms_1.Validators.compose([forms_1.Validators.required, forms_1.Validators.email]), this.emailAvailability(this.accountService)), + confirmEmail: new forms_1.FormControl(null, forms_1.Validators.compose([forms_1.Validators.required, this.equalsValidator('email')])) + })); + // Password form + this.forms.push(formBuilder.group({ + password: new forms_1.FormControl(null, forms_1.Validators.compose([forms_1.Validators.required, forms_1.Validators.minLength(8)])), + confirmPassword: new forms_1.FormControl(null, forms_1.Validators.compose([forms_1.Validators.required, this.equalsValidator('password')])) + })); + // Detail form + var formDetailDef = { + lastName: new forms_1.FormControl(null, forms_1.Validators.compose([forms_1.Validators.required, forms_1.Validators.minLength(2)])), + firstName: new forms_1.FormControl(null, forms_1.Validators.compose([forms_1.Validators.required, forms_1.Validators.minLength(2)])) + }; + // Prepare autocomplete settings + this.autocompleteHelper = new material_autocomplete_1.MatAutocompleteConfigHolder(settings && { + getUserAttributes: function (a, b) { return settings.getFieldDisplayAttributes(a, b); } + }); + // Add additional fields to details form + this.additionalFields = this.accountService.additionalFields + // Keep only required fields + .filter(function (field) { return field.extra && field.extra.registration && field.extra.registration.required; }); + this.additionalFields.forEach(function (field) { + //if (this.debug) console.debug("[register-form] Add additional field {" + field.name + "} to form", field); + formDetailDef[field.key] = new forms_1.FormControl(null, _this.accountValidatorService.getValidators(field)); + if (field.type === 'entity') { + field.autocomplete = _this.autocompleteHelper.add(field.key, field.autocomplete); + } + }); + this.forms.push(formBuilder.group(formDetailDef)); + this.form = formBuilder.group({ + emailStep: this.forms[0], + passwordStep: this.forms[1], + detailsStep: this.forms[2] + }); + } + RegisterForm.prototype.ngOnInit = function () { + // For DEV only ------------------------ + if (!this.environment.production) { + this.form.setValue({ + emailStep: { + email: 'contact@e-is.pro', + confirmEmail: 'contact@e-is.pro' + }, + passwordStep: { + password: 'contactera', + confirmPassword: 'contactera' + }, + detailsStep: { + lastName: 'Lavenier 2', + firstName: 'Benoit', + department: null + } + }); + } + }; + Object.defineProperty(RegisterForm.prototype, "value", { + get: function () { + var result = { + username: this.form.value.emailStep.email, + password: this.form.value.passwordStep.password, + account: new account_model_1.Account() + }; + result.account.fromObject(this.form.value.detailsStep); + result.account.email = result.username; + return result; + }, + enumerable: false, + configurable: true + }); + Object.defineProperty(RegisterForm.prototype, "valid", { + get: function () { + return this.form.valid; + }, + enumerable: false, + configurable: true + }); + RegisterForm.prototype.isEnd = function () { + return this.stepper.selectedIndex === 2; + }; + RegisterForm.prototype.isBeginning = function () { + return this.stepper.selectedIndex === 0; + }; + RegisterForm.prototype.slidePrev = function () { + return this.stepper.previous(); + }; + RegisterForm.prototype.slideNext = function (event) { + if (event) { + event.stopPropagation(); + event.preventDefault(); + } + return this.stepper.next(); + }; + RegisterForm.prototype.equalsValidator = function (otherControlName) { + return function (c) { + if (c.parent && c.value !== c.parent.value[otherControlName]) { + return { + equals: true + }; + } + return null; + }; + }; + RegisterForm.prototype.emailAvailability = function (accountService) { + return function (control) { + return rxjs_1.timer(500).pipe(operators_1.mergeMap(function () { return accountService.checkEmailAvailable(control.value) + .then(function (res) { return null; })["catch"](function (err) { + console.error(err); + return { availability: true }; + }); })); + }; + }; + RegisterForm.prototype.cancel = function () { + this.onCancel.emit(); + }; + RegisterForm.prototype.doSubmit = function (event) { + if (this.form.invalid) + return; + this.sending = true; + this.onSubmit.emit(this.value); + }; + RegisterForm.prototype.markAsTouched = function () { + this.form.markAsTouched(); + }; + RegisterForm.prototype.disable = function () { + this.form.disable(); + }; + RegisterForm.prototype.enable = function () { + this.form.enable(); + }; + __decorate([ + core_1.ViewChild('stepper', { static: true }) + ], RegisterForm.prototype, "stepper"); + __decorate([ + core_1.Output() + ], RegisterForm.prototype, "onCancel"); + __decorate([ + core_1.Output() + ], RegisterForm.prototype, "onSubmit"); + RegisterForm = __decorate([ + core_1.Component({ + selector: 'form-register', + templateUrl: 'form-register.html', + styleUrls: ['./form-register.scss'] + }), + __param(3, core_1.Inject(environment_class_1.ENVIRONMENT)) + ], RegisterForm); + return RegisterForm; +}()); +exports.RegisterForm = RegisterForm; diff --git a/src/app/register/register.form.scss b/src/app/register/register.form.scss new file mode 100644 index 0000000..100769b --- /dev/null +++ b/src/app/register/register.form.scss @@ -0,0 +1,10 @@ +form ion-toolbar.toolbar-buttons { + .toolbar-content { + text-align: right; + } + + .toolbar-background { + border: 0; + background: inherit !important; + } +} diff --git a/src/app/register/register.form.ts b/src/app/register/register.form.ts new file mode 100644 index 0000000..f11b6b6 --- /dev/null +++ b/src/app/register/register.form.ts @@ -0,0 +1,136 @@ +import {Component, EventEmitter, Injector, OnInit, Output} from '@angular/core'; +import { + AbstractControl, + AsyncValidatorFn, + FormBuilder, + FormControl, + FormGroup, + ValidationErrors, + ValidatorFn, + Validators +} from '@angular/forms'; +import {Observable, of, Subscription, timer} from 'rxjs'; +import {mergeMap} from 'rxjs/operators'; +import {AccountService} from "@app/wallet/account.service"; +import {SettingsService} from "@app/settings/settings.service"; +import {environment} from "@environments/environment"; +import {RegisterData} from "@app/register/register.model"; +import {AccountExtendedMeta} from "@app/wallet/account.model"; +import {AppForm} from "@app/shared/form.class"; + + +@Component({ + selector: 'form-register', + templateUrl: 'form-register.html', + styleUrls: ['./form-register.scss'] +}) +export class RegisterForm extends AppForm<RegisterData> implements OnInit { + + slideOpts = { + initialSlide: 0, + speed: 400, + }; + + forms: FormGroup[]; + + + constructor( + injector: Injector, + private accountService: AccountService, + public formBuilder: FormBuilder, + protected settings?: SettingsService + ) { + super(injector) + + this.forms = []; + // Email form + this.forms.push(formBuilder.group({ + email: new FormControl(null, Validators.compose([Validators.required, Validators.email]), this.emailAvailability(this.accountService)), + confirmEmail: new FormControl(null, Validators.compose([Validators.required, this.equalsValidator('email')])) + })); + + // Password form + this.forms.push(formBuilder.group({ + password: new FormControl(null, Validators.compose([Validators.required, Validators.minLength(8)])), + confirmPassword: new FormControl(null, Validators.compose([Validators.required, this.equalsValidator('password')])) + })); + + // Detail form + const formDetailDef = { + lastName: new FormControl(null, Validators.compose([Validators.required, Validators.minLength(2)])), + firstName: new FormControl(null, Validators.compose([Validators.required, Validators.minLength(2)])) + }; + + this.forms.push(formBuilder.group(formDetailDef)); + + this.setForm(formBuilder.group({ + emailStep: this.forms[0], + passwordStep: this.forms[1], + detailsStep: this.forms[2] + })); + } + + ngOnInit() { + // For DEV only ------------------------ + if (!environment.production) { + this.form.setValue({ + emailStep: { + email: 'contact@e-is.pro', + confirmEmail: 'contact@e-is.pro' + }, + passwordStep: { + password: 'contactera', + confirmPassword: 'contactera' + }, + detailsStep: { + lastName: 'Lavenier 2', + firstName: 'Benoit' + } + }); + } + } + + get value(): RegisterData { + const result: RegisterData = { + phrase: this.form.value.emailStep.email, + meta: <AccountExtendedMeta>{} + }; + result.meta.name = this.form.value.detailsStep; + //result.meta.name = this.form.value.detailsSte; + + return result; + } + + get valid(): boolean { + return this.form.valid; + } + + + equalsValidator(otherControlName: string): ValidatorFn { + return function(c: AbstractControl): ValidationErrors | null { + if (c.parent && c.value !== c.parent.value[otherControlName]) { + return { + equals: true + }; + } + return null; + }; + } + + emailAvailability(accountService: AccountService): AsyncValidatorFn { + return function(control: AbstractControl): Observable<ValidationErrors | null> { + + return timer(500).pipe(mergeMap(() => Promise.resolve(true)/* accountService.checkEmailAvailable(control.value)*/ + .then(res => null) + .catch(err => { + console.error(err); + return { availability: true }; + }))); + }; + } + + cancel() { + this.onCancel.emit(); + } + +} diff --git a/src/app/register/register.modal.html b/src/app/register/register.modal.html new file mode 100644 index 0000000..157f00d --- /dev/null +++ b/src/app/register/register.modal.html @@ -0,0 +1,68 @@ +<ion-header> + <ion-toolbar color="secondary"> + <ion-buttons slot="start"> + <ion-button *ngIf="form.isBeginning()" (click)="cancel()" + visible-xs visible-sm visible-mobile> + <ion-icon slot="icon-only" name="arrow-back"></ion-icon> + </ion-button> + <ion-button *ngIf="!form.isBeginning()" (click)="form.slidePrev()" + visible-xs visible-sm visible-mobile> + <ion-icon slot="icon-only" name="arrow-back"></ion-icon> + </ion-button> + </ion-buttons> + + <ion-title translate>REGISTER.TITLE</ion-title> + + <ion-buttons slot="end"> + <ion-spinner *ngIf="sending"></ion-spinner> + + <ion-button *ngIf="!form.isEnd()" (click)="form.slideNext()" + visible-xs visible-sm visible-mobile> + <ion-label translate>COMMON.BTN_NEXT</ion-label> + <ion-icon slot="end" name="arrow-forward"></ion-icon> + </ion-button> + + <ion-button *ngIf="form.isEnd() && !sending" (click)="doSubmit()" + visible-xs visible-sm visible-mobile> + <ion-icon slot="icon-only" name="send"></ion-icon> + </ion-button> + </ion-buttons> + </ion-toolbar> +</ion-header> + +<ion-content> + <form-register (onSubmit)="doSubmit()" (onCancel)="cancel()" #form> + </form-register> +</ion-content> + +<ion-footer hidden-xs hidden-sm hidden-mobile> + <!-- buttons --> + <ion-toolbar> + + <ion-row> + <ion-col></ion-col> + <ion-col size="auto"> + <ion-button *ngIf="form.isBeginning()" fill="clear" color="dark" (click)="cancel()"> + <ion-label translate>COMMON.BTN_CANCEL</ion-label> + </ion-button> + + <ion-button *ngIf="!form.isBeginning()" fill="clear" color="dark" (click)="form.slidePrev()" [disabled]="sending"> + <ion-icon slot="start" name="arrow-back"></ion-icon> + <ion-label translate>COMMON.BTN_BACK</ion-label> + </ion-button> + + <ion-button *ngIf="!form.isEnd()" (click)="form.slideNext()" fill="solid" color="tertiary"> + <ion-label translate>COMMON.BTN_NEXT</ion-label> + <ion-icon slot="end" name="arrow-forward"></ion-icon> + </ion-button> + + <ion-button *ngIf="form.isEnd()" (click)="doSubmit()" fill="solid" [disabled]="sending" color="tertiary"> + <span translate>COMMON.BTN_SEND</span> + <ion-icon slot="end" name="send"></ion-icon> + </ion-button> + </ion-col> + </ion-row> + + + </ion-toolbar> +</ion-footer> diff --git a/src/app/register/register.modal.js b/src/app/register/register.modal.js new file mode 100644 index 0000000..f398d83 --- /dev/null +++ b/src/app/register/register.modal.js @@ -0,0 +1,108 @@ +"use strict"; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +var __generator = (this && this.__generator) || function (thisArg, body) { + var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; + return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; + function verb(n) { return function (v) { return step([n, v]); }; } + function step(op) { + if (f) throw new TypeError("Generator is already executing."); + while (_) try { + if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; + if (y = 0, t) op = [op[0] & 2, t.value]; + switch (op[0]) { + case 0: case 1: t = op; break; + case 4: _.label++; return { value: op[1], done: false }; + case 5: _.label++; y = op[1]; op = [0]; continue; + case 7: op = _.ops.pop(); _.trys.pop(); continue; + default: + if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } + if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } + if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } + if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } + if (t[2]) _.ops.pop(); + _.trys.pop(); continue; + } + op = body.call(thisArg, _); + } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } + if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; + } +}; +exports.__esModule = true; +exports.RegisterModal = void 0; +var core_1 = require("@angular/core"); +var RegisterModal = /** @class */ (function () { + function RegisterModal(accountService, viewCtrl) { + this.accountService = accountService; + this.viewCtrl = viewCtrl; + this.sending = false; + } + RegisterModal.prototype.cancel = function () { + console.debug('[register] cancelled'); + this.viewCtrl.dismiss(); + }; + RegisterModal.prototype.doSubmit = function (event) { + return __awaiter(this, void 0, void 0, function () { + var data, res, err_1; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + if (this.form.form.disabled || this.sending) + return [2 /*return*/]; // Skip + if (!this.form.valid || !this.form.isEnd()) { + this.form.markAsTouched(); + return [2 /*return*/]; + } + this.sending = true; + data = this.form.value; + this.form.disable(); + _a.label = 1; + case 1: + _a.trys.push([1, 4, 5, 6]); + console.debug('[register] Sending registration to server...', data); + return [4 /*yield*/, this.accountService.register(data)]; + case 2: + res = _a.sent(); + console.debug('[register] Account registered!'); + return [4 /*yield*/, this.viewCtrl.dismiss()]; + case 3: + _a.sent(); + return [3 /*break*/, 6]; + case 4: + err_1 = _a.sent(); + this.form.error = err_1 && err_1.message || err_1; + this.form.enable(); + return [3 /*break*/, 6]; + case 5: + this.sending = false; + return [7 /*endfinally*/]; + case 6: return [2 /*return*/]; + } + }); + }); + }; + __decorate([ + core_1.ViewChild('form', { static: true }) + ], RegisterModal.prototype, "form"); + RegisterModal = __decorate([ + core_1.Component({ + selector: 'modal-register', + templateUrl: 'modal-register.html', + }) + ], RegisterModal); + return RegisterModal; +}()); +exports.RegisterModal = RegisterModal; diff --git a/src/app/register/register.modal.scss b/src/app/register/register.modal.scss new file mode 100644 index 0000000..7eb3ada --- /dev/null +++ b/src/app/register/register.modal.scss @@ -0,0 +1,3 @@ +modal-register { + +} diff --git a/src/app/register/register.modal.ts b/src/app/register/register.modal.ts new file mode 100644 index 0000000..63d6bb0 --- /dev/null +++ b/src/app/register/register.modal.ts @@ -0,0 +1,56 @@ +import {Component, ViewChild} from '@angular/core'; +import {ModalController} from '@ionic/angular'; +import {RegisterForm} from "@app/register/register.form"; +import {AccountService} from "@app/wallet/account.service"; +import {FormUtils} from "@app/shared/forms"; +import {RegisterData} from "@app/register/register.model"; + +@Component({ + selector: 'app-register-modal', + templateUrl: 'register.modal.html', + styleUrls: ['./register.modal.scss'] +}) +export class RegisterModal { + + + @ViewChild('form', { static: true }) private form: RegisterForm; + + constructor( + private accountService: AccountService, + public viewCtrl: ModalController) { + } + + cancel() { + console.debug('[register] cancelled'); + this.viewCtrl.dismiss(); + } + + async doSubmit(event?: any) { + if (this.form.disabled) return; // Skip + + if (!this.form.valid) { + await FormUtils.waitWhilePending(this.form); + + if (this.form.invalid) { + this.form.markAllAsTouched(); + return; + } + } + + const data = this.form.value; + + this.form.disable(); + + try { + console.debug('[register] Sending registration to server...', data); + await this.accountService.register(data as RegisterData); + + console.debug('[register] Account registered!'); + await this.viewCtrl.dismiss(); + } + catch (err) { + this.form.error = err && err.message || err; + this.form.enable(); + } + } +} diff --git a/src/app/register/register.model.ts b/src/app/register/register.model.ts new file mode 100644 index 0000000..254c451 --- /dev/null +++ b/src/app/register/register.model.ts @@ -0,0 +1,7 @@ +import {AccountExtendedMeta} from "@app/wallet/account.model"; + +export interface RegisterData { + phrase?: string; + address?: string; + meta?: AccountExtendedMeta; +} diff --git a/src/app/register/register.module.ts b/src/app/register/register.module.ts new file mode 100644 index 0000000..e94cfe7 --- /dev/null +++ b/src/app/register/register.module.ts @@ -0,0 +1,20 @@ +import {NgModule} from '@angular/core'; +import {CommonModule} from '@angular/common'; +import {FormsModule} from '@angular/forms'; + +import {IonicModule} from '@ionic/angular'; +import {RegisterForm} from "@app/register/register.form"; +import {RegisterModal} from "@app/register/register.modal"; + +@NgModule({ + imports: [ + CommonModule, + FormsModule, + IonicModule, + ], + exports: [ + RegisterForm, RegisterModal + ], + declarations: [RegisterForm, RegisterModal] +}) +export class AppAuthModule {} diff --git a/src/app/services/account.service.ts b/src/app/services/account.service.ts deleted file mode 100644 index 48f924f..0000000 --- a/src/app/services/account.service.ts +++ /dev/null @@ -1,91 +0,0 @@ -import {Injectable} from "@angular/core"; -import {AppBaseService} from "./base.service"; -import {PeerService} from "./peer.service"; -import {ApiPromise} from "@polkadot/api"; -import {AccountWithMeta} from "../model/account.model"; -import {PlatformService} from "./platform.service"; - -@Injectable({providedIn: 'root'}) -export class AccountService extends AppBaseService { - - accounts: AccountWithMeta[] = null; - - get api(): ApiPromise { - return this.node.api; - } - - constructor( - protected platform: PlatformService, - protected node: PeerService - ) { - super(platform, { - name: 'wallet-service' - }) - } - - protected async doStart(): Promise<any> { - - // Wait node service - await this.node.ready(); - - await this.loadAccounts(); - - } - - async loadAccounts() { - - // Restore locally - this.accounts = [ - { - address: '5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY', - meta: { - name: 'Test', - source: '' //TODO - } - }, - { - address: '5ESoncgJ42j8WAyh9SBk2ztMZhUzejEZxF93LnZVBCXR77Kg', - meta: { - name: 'Alice', - source: '0xc74be00087825d9f8ba924d38fde43a8e8953c40c8f6a269b8a4ca337fbef7b7' - } - } - ] - - await Promise.all(this.accounts.map((account) => { - return Promise.all([ - this.api.query.timestamp.now(), - this.api.query.system.account(account.address) - ]) - .then(([now, { nonce, data: balance }]) => { - this.info(`${now}: balance of ${balance.free} and a nonce of ${nonce}`); - }) - })); - } - - async transfer() { - - // the address we use to use for signing, as injected - const SENDER = this.accounts[0].address; - - // finds an injector for an address - //const injector = await web3FromAddress(SENDER); - /*const injector = await web3FromSource(this.accounts[0].meta.source); - - // sign and send our transaction - notice here that the address of the account - // (as retrieved injected) is passed through as the param to the `signAndSend`, - // the API then calls the extension to present to the user and get it signed. - // Once complete, the api sends the tx + signature via the normal process - this.api.tx.balances - .transfer('5C5555yEXUcmEJ5kkcCMvdZjUo7NGJiQJMS7vZXEeoMhj3VQ', 12) - .signAndSend(SENDER, { signer: injector.signer }, (status) => { - if (status.isInBlock) { - console.log(`Completed at block hash #${status}`); - } else { - console.log(`Current status: ${status}`); - } - }).catch((error: any) => { - console.log(':( transaction failed', error); - });*/ - } -} diff --git a/src/app/services/base.service.ts b/src/app/services/base.service.ts deleted file mode 100644 index 7ac0afd..0000000 --- a/src/app/services/base.service.ts +++ /dev/null @@ -1,82 +0,0 @@ -import {Injectable} from "@angular/core"; -import {Platform} from "@ionic/angular"; -import {environment} from "../../environments/environment"; - -export interface IPlatform { - ready(): Promise<any>; - mobile?: boolean; - touchUi?: boolean; -} - -@Injectable() -export abstract class AppBaseService { - - private readonly _debug: boolean; - private readonly _logPrefix: string = null; - - private _started = false; - private _startPromise: Promise<void> = null; - - - get started(): boolean { - return this._started; - } - - protected constructor(protected ionicPlatform: IPlatform, opts?: { - logPrefix?: string; - name?: string; - }) { - this._debug = !environment.production; - this._logPrefix = (opts && opts.logPrefix) || ("[" + (opts && opts.name || 'base-service') + "] "); - } - - start(immediate?: boolean): Promise<any> { - if (this._startPromise) return this._startPromise; - if (this._started) return Promise.resolve(); - - this._started = false; - const now = Date.now(); - this.info('Starting service...'); - - this._startPromise = (immediate ? Promise.resolve() : this.ionicPlatform.ready()) - .then(() => this.doStart()) - .then((result: any) => { - this._started = true; - this._startPromise = undefined; - this.info(`Starting service [OK] in ${Date.now() - now}ms`); - return result; - }) - .catch((err) => { - this.error('Cannot start:', err); - throw err; // Rethrow - }); - - return this._startPromise; - } - - ready(): Promise<boolean> { - if (this._started) return Promise.resolve(true); - return this.start() - .then((_) => { - return true; - }) - .catch((err) => { - return false; - }); - } - - protected abstract doStart(): Promise<any>; - - protected debug(msg, ...params: any[]) { - if (this._debug) console.debug(this._logPrefix + msg, params); - } - protected info(msg, ...params: any[]) { - console.info(this._logPrefix + msg, params); - } - protected warn(msg, ...params: any[]) { - console.warn(this._logPrefix + msg, params); - } - protected error(msg, ...params: any[]) { - console.error(this._logPrefix + msg, params); - } -} diff --git a/src/app/services/peer.service.ts b/src/app/services/peer.service.ts deleted file mode 100644 index 7973bb8..0000000 --- a/src/app/services/peer.service.ts +++ /dev/null @@ -1,91 +0,0 @@ -import {Injectable} from "@angular/core"; -import {AppBaseService} from "./base.service"; -import {ApiPromise, WsProvider} from "@polkadot/api"; - -import * as types from "@duniter/core-types/interfaces/runtime/definitions"; -import {SettingsService} from "./settings.service"; -import {PlatformService} from "./platform.service"; -import {firstNotNilPromise} from "../shared/observables"; -import {Peer} from "../model/peer.model"; -import {PeerUtils} from "../shared/peers"; - - -@Injectable({providedIn: 'root'}) -export class PeerService extends AppBaseService { - - private _api: ApiPromise; - - get api(): ApiPromise { - return this._api - } - - constructor( - protected platform: PlatformService, - private settings: SettingsService - ) { - super(platform, { - name: 'node-service' - }); - } - - protected async doStart(): Promise<any> { - - await this.settings.ready(); - const settings = await firstNotNilPromise(this.settings.value$); - - const peers = await this.filterAliveNodes(settings.preferredPeers); - if (!peers.length) { - throw {message: 'ERROR.CHECK_NETWORK_CONNECTION'}; - } - - const peer = this.selectRandomPeer(peers); - const wsUri = PeerUtils.getWsUri(peer); - this.info(`Connecting to peer {${wsUri}}...`) - - // Construct - const wsProvider = new WsProvider(wsUri); - const api = await ApiPromise.create({ - provider: wsProvider, - ...types - }); - - // Read the genesys block hash - this.info("Connected to Blockchain genesis: " + api.genesisHash.toHex()); - - // Retrieve the chain name - const chain = await api.rpc.system.chain(); - - // Retrieve the latest header - const lastHeader = await api.rpc.chain.getHeader(); - - // Log the information - this.info(`${chain}: last block #${lastHeader.number} has hash ${lastHeader.hash}`); - - this._api = api; - } - - async filterAliveNodes(peers: Peer[], opts?: { - timeout?: number; - }): Promise<Peer[]> { - const result: Peer[] = []; - await Promise.all(peers - .map(peer => this.isPeerAlive(peer).then(alive => { - if (!alive) return; - result.push(peer); - })) - ); - return result; - } - - async isPeerAlive(peer: Peer, opts?: { - timeout?: number; - }): Promise<boolean> { - // TODO - return Promise.resolve(true); - } - - selectRandomPeer(peers: Peer[]): Peer { - var index = Math.floor(Math.random() * peers.length); - return peers[index]; - } -} diff --git a/src/app/services/platform.service.ts b/src/app/services/platform.service.ts index 44953cc..62637d7 100644 --- a/src/app/services/platform.service.ts +++ b/src/app/services/platform.service.ts @@ -1,17 +1,25 @@ import {Injectable} from "@angular/core"; import {Platform} from "@ionic/angular"; -import {AppBaseService, IPlatform} from "./base.service"; -import {PeerService} from "./peer.service"; -import {SettingsService} from "./settings.service"; +import {NetworkService} from "../network/network.service"; +import {SettingsService} from "../settings/settings.service"; +import {StartableService} from "@app/shared/services/startable-service.class"; +import {StorageService} from "@app/services/storage.service"; +import {environment} from "@environments/environment.prod"; +import {TranslateService} from "@ngx-translate/core"; +import * as momentImported from 'moment'; +import {Subject} from "rxjs"; +import {Settings} from "@app/settings/settings.model"; +const moment = momentImported; @Injectable({ providedIn: 'root' }) -export class PlatformService extends AppBaseService implements IPlatform { +export class PlatformService extends StartableService { private _mobile: boolean = null; private _touchUi: boolean = null; + get mobile(): boolean { return this._mobile != null ? this._mobile : this.ionicPlatform.is('mobile'); } @@ -23,25 +31,77 @@ export class PlatformService extends AppBaseService implements IPlatform { constructor( protected ionicPlatform: Platform, + protected translate: TranslateService, protected settings: SettingsService, - protected node: PeerService + protected network: NetworkService, + protected storage: StorageService ) { super(ionicPlatform, { name: 'platform-service' }) } - - async doStart(): Promise<any> { + async ngOnStart(): Promise<any> { this._mobile = this.mobile; this._touchUi = this.touchUi; + + // Configure translation + await this.configureTranslate(); + + await this.configureStorage(); + await Promise.all([ - this.settings.start(true), - this.node.start(true) + this.settings.ready(), + this.network.ready() ] - ) - // TODO: Init required service + ); + } + + + protected configureTranslate() { + console.info('[platform] Configuring i18n ...'); + + // this language will be used as a fallback when a translation isn't found in the current language + this.translate.setDefaultLang(environment.defaultLocale); + + // When locale changes, apply to date adapter + this.translate.onLangChange.subscribe(event => { + if (event && event.lang) { + + // force 'en' as 'en_GB' + if (event.lang === 'en') { + event.lang = 'en_GB'; + } + + // config moment lib + try { + moment.locale(event.lang); + console.debug('[platform] Use locale {' + event.lang + '}'); + } + // If error, fallback to en + catch (err) { + moment.locale('en'); + console.warn('[platform] Unknown local for moment lib. Using default [en]'); + } + + // Config date adapter + //this.dateAdapter.setLocale(moment.locale()); + } + }); + + this.settings.changes.subscribe(data => { + if (data?.locale && data.locale !== this.translate.currentLang) { + this.translate.use(data.locale); + } + }); + } + + private async configureStorage(): Promise<void> { + console.info(`[platform] Configure storage...`); + await this.storage.configure({ + group: environment.storage?.name + }); } } diff --git a/src/app/services/settings.service.ts b/src/app/services/settings.service.ts deleted file mode 100644 index 0d4418c..0000000 --- a/src/app/services/settings.service.ts +++ /dev/null @@ -1,43 +0,0 @@ -import {Injectable} from "@angular/core"; -import {AppBaseService} from "./base.service"; -import {Settings} from "../model/settings.model"; -import {environment} from "../../environments/environment"; -import {PlatformService} from "./platform.service"; -import {BehaviorSubject, Observable} from "rxjs"; - -@Injectable({providedIn: 'root'}) -export class SettingsService extends AppBaseService { - - private _value$ = new BehaviorSubject<Settings>(null); - - get value$(): Observable<Settings> { - return this._value$.asObservable(); - } - - constructor( - protected platform: PlatformService - ) { - super(platform, { - name: 'settings-service' - }) - } - - protected async doStart(): Promise<any> { - - - await this.restoreLocally(); - - } - - async restoreLocally() { - const data: Settings = { - preferredPeers: [...environment.defaultPeers] - // TODO - }; - this._value$.next(data); - } - - async saveLocally() { - - } -} diff --git a/src/app/services/storage.service.ts b/src/app/services/storage.service.ts new file mode 100644 index 0000000..fa30c12 --- /dev/null +++ b/src/app/services/storage.service.ts @@ -0,0 +1,45 @@ +import { Injectable } from '@angular/core'; +import {ConfigureOptions, Storage} from '@capacitor/storage'; + + +@Injectable({ + providedIn: 'root' +}) +export class StorageService { + + constructor() { } + + configure(options: ConfigureOptions): Promise<void> { + return Storage.configure(options); + } + + async setString(key: string, value: string) { + await Storage.set({ key, value }); + } + + async getString(key: string): Promise<{ value: any }> { + return (await Storage.get({ key })); + } + + async setObject(key: string, value: any) { + await Storage.set({ key, value: JSON.stringify(value) }); + } + + async getObject(key: string): Promise<{ value: any }> { + const ret = await Storage.get({ key }); + return JSON.parse(ret.value); + } + + async removeItem(key: string) { + await Storage.remove({ key }); + } + + async keys(): Promise<string[]> { + const {keys} = await Storage.keys(); + return keys; + } + + async clear() { + await Storage.clear(); + } +} diff --git a/src/app/settings/settings-routing.module.ts b/src/app/settings/settings-routing.module.ts new file mode 100644 index 0000000..6c4b49c --- /dev/null +++ b/src/app/settings/settings-routing.module.ts @@ -0,0 +1,17 @@ +import { NgModule } from '@angular/core'; +import { Routes, RouterModule } from '@angular/router'; + +import {SettingsPage} from "@app/settings/settings.page"; + +const routes: Routes = [ + { + path: '', + component: SettingsPage + } +]; + +@NgModule({ + imports: [RouterModule.forChild(routes)], + exports: [RouterModule], +}) +export class SettingsPageRoutingModule {} diff --git a/src/app/settings/settings.model.ts b/src/app/settings/settings.model.ts new file mode 100644 index 0000000..2df53a8 --- /dev/null +++ b/src/app/settings/settings.model.ts @@ -0,0 +1,19 @@ +import {PropertiesMap, Property} from '../shared/types'; +import {InjectionToken} from '@angular/core'; +import {Peer} from "@app/network/peer.model"; + +export declare interface LocaleConfig extends Property { + country?: string; +} + +export const APP_LOCALES = new InjectionToken<LocaleConfig[]>('locales'); + +export declare interface Settings { + peer: string; + preferredPeers?: string[]; + pages?: any; + locale?: string; + mobile?: boolean; + properties?: PropertiesMap; +} + diff --git a/src/app/settings/settings.module.ts b/src/app/settings/settings.module.ts new file mode 100644 index 0000000..d15fa77 --- /dev/null +++ b/src/app/settings/settings.module.ts @@ -0,0 +1,16 @@ +import {NgModule} from '@angular/core'; + +import {SettingsPage} from './settings.page'; +import {AppSharedModule} from "@app/shared/shared.module"; +import {TranslateModule} from "@ngx-translate/core"; +import {SettingsPageRoutingModule} from "@app/settings/settings-routing.module"; + +@NgModule({ + imports: [ + AppSharedModule, + TranslateModule.forChild(), + SettingsPageRoutingModule + ], + declarations: [SettingsPage] +}) +export class SettingsPageModule {} diff --git a/src/app/settings/settings.page.html b/src/app/settings/settings.page.html new file mode 100644 index 0000000..ec15171 --- /dev/null +++ b/src/app/settings/settings.page.html @@ -0,0 +1,56 @@ +<ion-header [translucent]="true"> + <ion-toolbar> + <ion-buttons slot="start"> + <ion-menu-button></ion-menu-button> + </ion-buttons> + <ion-title translate>SETTINGS.TITLE</ion-title> + </ion-toolbar> +</ion-header> + +<ion-content [fullscreen]="true"> + <ion-header collapse="condense"> + <ion-toolbar> + <ion-title size="large" translate>SETTINGS.TITLE</ion-title> + </ion-toolbar> + </ion-header> + + <div id="container"> + + <ion-list *ngIf="!loading"> + <ion-item> + <ion-icon slot="start" name="language"></ion-icon> + <ion-label color="dark" translate>COMMON.LANGUAGE</ion-label> + <ion-select [(ngModel)]="data.locale"> + <ion-select-option *ngFor="let locale of locales" [value]="locale.key"> + {{locale.value}} + </ion-select-option> + </ion-select> + </ion-item> + + <ion-item-divider translate>SETTINGS.NETWORK_SETTINGS</ion-item-divider> + + <ion-item> + + <ion-icon slot="start" name="cloud-done"></ion-icon> + <ion-label color="dark" translate>SETTINGS.PEER</ion-label> + + <ion-input [(ngModel)]="data.peer" class="ion-text-end"> + + </ion-input> + <ion-button slot="end" (click)="selectPeer()"> + <ion-icon slot="icon-only" name=""></ion-icon> + </ion-button> + </ion-item> + </ion-list> + + <div class="ion-text-center"> + <ion-button (click)="cancel()" color="light" > + <ion-label translate>COMMON.BTN_CANCEL</ion-label> + </ion-button> + <ion-button (click)="save()" color="danger"> + <ion-label translate="COMMON.BTN_SAVE"></ion-label> + </ion-button> + </div> + </div> +</ion-content> + diff --git a/src/app/settings/settings.page.scss b/src/app/settings/settings.page.scss new file mode 100644 index 0000000..281733f --- /dev/null +++ b/src/app/settings/settings.page.scss @@ -0,0 +1,6 @@ +ion-menu-button { + color: var(--ion-color-primary); +} + +#container { +} diff --git a/src/app/settings/settings.page.spec.ts b/src/app/settings/settings.page.spec.ts new file mode 100644 index 0000000..5bfbf98 --- /dev/null +++ b/src/app/settings/settings.page.spec.ts @@ -0,0 +1,24 @@ +import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; +import { IonicModule } from '@ionic/angular'; +import { RouterModule } from '@angular/router'; +import { SettingsPage } from './settings.page'; + +describe('SettingsPage', () => { + let component: SettingsPage; + let fixture: ComponentFixture<SettingsPage>; + + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + declarations: [ SettingsPage ], + imports: [IonicModule.forRoot(), RouterModule.forRoot([])] + }).compileComponents(); + + fixture = TestBed.createComponent(SettingsPage); + component = fixture.componentInstance; + fixture.detectChanges(); + })); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/settings/settings.page.ts b/src/app/settings/settings.page.ts new file mode 100644 index 0000000..feef929 --- /dev/null +++ b/src/app/settings/settings.page.ts @@ -0,0 +1,42 @@ +import {Component, Inject, Injector, OnInit} from '@angular/core'; +import {SettingsService} from "@app/settings/settings.service"; +import {APP_LOCALES, LocaleConfig, Settings} from "@app/settings/settings.model"; +import {BasePage} from "@app/shared/page/base.page"; + +@Component({ + selector: 'app-settings', + templateUrl: './settings.page.html', + styleUrls: ['./settings.page.scss'], +}) +export class SettingsPage extends BasePage<Settings> implements OnInit { + + constructor( + injector: Injector, + @Inject(APP_LOCALES) public locales: LocaleConfig[] + ) { + super(injector, {name: 'settings'}); + } + + ngOnInit() { + super.ngOnInit() + } + + protected async ngOnLoad(): Promise<Settings> { + + await this.settings.ready() + return this.settings.clone(); + } + + cancel() { + this.data = this.settings.clone(); + this.markForCheck(); + } + + save() { + this.settings.patchValue(this.data); + } + + selectPeer() { + + } +} diff --git a/src/app/settings/settings.service.ts b/src/app/settings/settings.service.ts new file mode 100644 index 0000000..0b31eb4 --- /dev/null +++ b/src/app/settings/settings.service.ts @@ -0,0 +1,66 @@ +import {Injectable} from "@angular/core"; +import {Settings} from "./settings.model"; +import {environment} from "@environments/environment"; +import {StartableService} from "@app/shared/services/startable-service.class"; +import {Platform} from "@ionic/angular"; +import {Subject} from "rxjs"; + +@Injectable({providedIn: 'root'}) +export class SettingsService extends StartableService<Settings> { + + private _mobile: boolean; + + changes = new Subject<Settings>(); + + get mobile() { + return this._mobile; + } + + constructor( + protected ionicPlatform: Platform + ) { + super(ionicPlatform, { + name: 'settings-service' + }) + } + + protected async ngOnStart(): Promise<Settings> { + + this._mobile = this.ionicPlatform.is('mobile'); + + const data = await this.restoreLocally(); + + return data; + } + + clone(): Settings { + return <Settings>{ + locale: environment.defaultLocale, + peer: environment.defaultPeers && environment.defaultPeers[0], + defaultPeers: environment.defaultPeers || [], + ...this._data + } + } + + async restoreLocally(): Promise<Settings> { + const data = <Settings>{ + preferredPeers: !environment.production && environment.dev?.peer + ? [environment.dev.peer] + : [...environment.defaultPeers] + }; + return data; + } + + patchValue(data: Partial<Settings>) { + if (!data) return; + this._data = { + ...this._data, + ...data + }; + this.changes.next(this._data); + } + + async saveLocally() { + // TODO + } +} diff --git a/src/app/shared/animations.ts b/src/app/shared/animations.ts new file mode 100644 index 0000000..1f53c32 --- /dev/null +++ b/src/app/shared/animations.ts @@ -0,0 +1,127 @@ +// import the required animation functions from the angular animations module +import {animate, state, style, transition, trigger} from '@angular/animations'; + +export const fadeInAnimation = + // trigger name for attaching this animation to an element using the [@triggerName] syntax + trigger('fadeInAnimation', [ + + // route 'enter' transition + transition(':enter', [ + + // css styles at start of transition + style({ opacity: 0 }), + + // animation and styles at end of transition + animate('.3s', style({ opacity: 1 })) + ]), + ]); + +export const fadeInOutAnimation = + // trigger name for attaching this animation to an element using the [@triggerName] syntax + trigger('fadeInOutAnimation', [ + + // route 'enter' transition + transition(':enter', [ + + // css styles at start of transition + style({ opacity: 0 }), + + // animation and styles at end of transition + animate('.3s', style({ opacity: 1 })) + ]), + + // route 'leave' transition + transition(':leave', [ + // animation and styles at end of transition + animate('.5s ease-in-out', style({ + opacity: 0 + })) + ]), + ]); + +export const slideInOutAnimation = + // trigger name for attaching this animation to an element using the [@triggerName] syntax + trigger('slideInOutAnimation', [ + + // end state styles for route container (host) + state('*', style({ + // the view covers the whole screen with a semi tranparent background + position: 'relative', + top: 0, + left: 0, + right: 0, + bottom: 0, + opacity: 1 + })), + + // route 'enter' transition + transition(':enter', [ + + // styles at start of transition + style({ + // start with the content positioned off the right of the screen, + // -400% is required instead of -100% because the negative position adds to the width of the element + left: '400%', + + // start with background opacity set to 0 (invisible) + opacity: 0 + }), + + // animation and styles at end of transition + animate('.3s ease-in-out', style({ + // transition the right position to 0 which slides the content into view + left: 0, + + // transition the background opacity to 0.8 to fade it in + opacity: 0.8 + })) + ]), + + // route 'leave' transition + transition(':leave', [ + // animation and styles at end of transition + animate('.5s ease-in-out', style({ + // transition the right position to -400% which slides the content out of view + left: '400%', + + // transition the background opacity to 0 to fade it out + opacity: 0 + })) + ]) + ]); + +export const slideUpDownAnimation = + // trigger name for attaching this animation to an element using the [@triggerName] syntax + trigger('slideUpDownAnimation', [ + + // end state styles for route container (host) + state('*', style({ + transform: 'translateY(0)', + opacity: 1 + })), + + // route 'enter' transition + transition(':enter', [ + + // styles at start of transition + style({ + transform: 'translateY(-400%)', + opacity: 0 + }), + + // animation and styles at end of transition + animate('.3s ease-in-out', style({ + transform: 'translateY(0)', + opacity: 1 + })) + ]), + + // route 'leave' transition + transition(':leave', [ + // animation and styles at end of transition + animate('.5s ease-in-out', style({ + transform: 'translateY(-100%)', + opacity: 0 + })) + ]) + ]); diff --git a/src/app/shared/dates.ts b/src/app/shared/dates.ts new file mode 100644 index 0000000..31080ca --- /dev/null +++ b/src/app/shared/dates.ts @@ -0,0 +1,136 @@ +import {Duration, isMoment, Moment, unitOfTime} from 'moment'; +import * as momentImported from 'moment'; + +import * as momentTZImported from 'moment-timezone'; + +const moment = momentImported; + +export const DATE_ISO_PATTERN = 'YYYY-MM-DDTHH:mm:ss.SSSZ'; +export const DATE_UNIX_TIMESTAMP = 'X'; +export const DATE_UNIX_MS_TIMESTAMP = 'x'; + +export class DateUtils { + static toDateISOString = toDateISOString; + static fromDateISOString = fromDateISOString; + static toDuration = toDuration; + + static min(date1: Moment, date2: Moment): Moment { + return date1 && (!date2 || date1.isSameOrBefore(date2)) ? date1 : date2; + } + + static max(date1: Moment, date2: Moment): Moment { + return date1 && (!date2 || date1.isSameOrAfter(date2)) ? date1 : date2; + } + + static equals(date1: Moment | string, date2: Moment | string): boolean { + return DateUtils.isSame(date1, date2); + } + + static isSame(date1: Moment | string, date2: Moment | string, granularity?: unitOfTime.StartOf): boolean { + const d1 = fromDateISOString(date1); + const d2 = fromDateISOString(date2); + return (!d1 && !d2) || d1.isSame(d2, granularity); + } + + /** + * Create a copy of a date, without time fields (always return a new Moment object, or undefined). + * Same implementation as the Java class Dates.resetTime() (see any SUMARiS like Pod) + * @param value + * @param timezone a timezone (see https://momentjs.com/timezone/) + * @param keepLocalTime if true, only the timezone (and offset) is updated, keeping the local time same. Consequently, it will now point to a different point in time if the offset has changed. + */ + static resetTime(value: Moment|string, timezone?: string, keepLocalTime?: boolean): Moment | undefined { + if (!value) return undefined; + const date = fromDateISOString(value); + // No timezone + if (!timezone) { + return date.clone().startOf('day'); + } + // Use timezone + return date.clone() // clone the original date + .tz(timezone, keepLocalTime) + .startOf('day'); + } + + /** + * Test if a date is on the given day of week + * @param date + * @param weekday + * @param timezone + */ + static isAtDay(date: string|Moment, weekday: number, timezone?: string): boolean { + date = date && fromDateISOString(date); + if (!date) return null; + if (timezone) date = date.clone().tz(timezone).startOf('day'); + return date.day() === weekday; + } +} + +export function toDateISOString(value: any): string | undefined { + if (!value) return undefined; + + // Already a valid ISO date time string (without timezone): use it + if (typeof value === 'string' + && value.indexOf('+') === -1 + && value.lastIndexOf('Z') === value.length - 1) { + + return value; + } + // Make sure to have a Moment object + value = fromDateISOString(value); + return value && value.toISOString() || undefined; +} + +export function fromDateISOString(value: any): Moment | undefined { + // Already a moment object: use it + if (!value || isMoment(value)) return value; + + // Parse the input value, as a ISO date time + const date: Moment = moment(value, DATE_ISO_PATTERN); + if (date.isValid()) return date; + + // Not valid: trying to convert from unix timestamp + if (typeof value === 'string') { + console.warn('Wrong date format - Trying to convert from local time: ' + value); + if (value.length === 10) { + return moment(value, DATE_UNIX_TIMESTAMP); + } + else if (value.length === 13) { + return moment(value, DATE_UNIX_MS_TIMESTAMP); + } + } + + console.warn('Unable to parse date: ' + value); + return undefined; +} + +export function fromUnixTimestamp(timeInSec: number) { + return moment(timeInSec, DATE_UNIX_TIMESTAMP); +} +export function fromUnixMsTimestamp(timeInMs: number) { + return moment(timeInMs, DATE_UNIX_MS_TIMESTAMP); +} + +export function fromDateString(value: string, pattern: any): Moment { + if (!value) return undefined; + return isMoment(value) ? value : moment(value, pattern || DATE_ISO_PATTERN); +} + +export function toDuration(value: number, unit?: moment.unitOfTime.DurationConstructor): Duration { + if (!value) return undefined; + + const duration = moment.duration(value, unit); + + // fix 990+ ms + if (duration.milliseconds() >= 990) { + duration.add(1000 - duration.milliseconds(), 'ms'); + } + // fix 59 s + if (duration.seconds() >= 59) { + duration.add(60 - duration.seconds(), 's'); + } + + return duration; +} + + diff --git a/src/app/shared/form.class.ts b/src/app/shared/form.class.ts new file mode 100644 index 0000000..c401343 --- /dev/null +++ b/src/app/shared/form.class.ts @@ -0,0 +1,340 @@ +import { + ChangeDetectorRef, + Directive, + EventEmitter, + inject, + Injector, + Input, + OnDestroy, + OnInit, + Output +} from '@angular/core'; +import {FormGroup} from '@angular/forms'; +import {BehaviorSubject, Subscription} from 'rxjs'; + +import {TranslateService} from '@ngx-translate/core'; +import {FormUtils} from "@app/shared/forms"; +import {WaitForOptions, waitForTrue} from "@app/shared/observables"; + +export declare interface OnReady { + ngOnReady(); +} + +export interface IAppForm { + // From Angular form + invalid: boolean; + valid: boolean; + dirty: boolean; + pending: boolean; + error: string; + enabled: boolean; + disabled: boolean; + + // Specific to IAppForm + empty?: boolean; + loading?: boolean; + ready(): Promise<void>; + waitIdle(opts?: WaitForOptions): Promise<any>; + + disable(opts?: {onlySelf?: boolean; emitEvent?: boolean;}); + enable(opts?: {onlySelf?: boolean; emitEvent?: boolean;}); + + markAsPristine(opts?: {onlySelf?: boolean; emitEvent?: boolean;}); + markAsUntouched(opts?: {onlySelf?: boolean; emitEvent?: boolean;}); + markAsTouched(opts?: {onlySelf?: boolean; emitEvent?: boolean;}); + markAllAsTouched(opts?: {emitEvent?: boolean}); + markAsDirty(opts?: {onlySelf?: boolean; emitEvent?: boolean;}); + markAsLoading(opts?: {onlySelf?: boolean; emitEvent?: boolean;}); + markAsLoaded(opts?: {onlySelf?: boolean; emitEvent?: boolean;}); + markAsReady(opts?: {onlySelf?: boolean; emitEvent?: boolean;}); +} + + +@Directive() +// eslint-disable-next-line @angular-eslint/directive-class-suffix +export abstract class AppForm<T> implements IAppForm, OnInit, OnDestroy { + + error: string = null; + + protected translate: TranslateService; + protected _cd: ChangeDetectorRef; + protected _enable = false; + protected _$ready = new BehaviorSubject<boolean>(false); + protected _$loading = new BehaviorSubject<boolean>(true); + + private _subscription = new Subscription(); + private _form: FormGroup; + + @Input() debug = false; + @Input() tabindex: number; + + get loading(): boolean { + return this._$loading.value; + } + + get value(): any { + return this.form.value; + } + + set value(data: any) { + this.setValue(data); + } + + get dirty(): boolean { + return this.form && this.form.dirty; + } + + get invalid(): boolean { + return !this.form || this.form.invalid; + } + + get pending(): boolean { + return !this.form || (this.form.dirty && this.form.pending); + } + + get valid(): boolean { + return this.form && this.form.valid + } + + get empty(): boolean { + return !this.form || (!this.form.dirty && !this.form.touched); + } + + get untouched(): boolean { + return !this.form || this.form.untouched; + } + + get enabled(): boolean { + return this._enable; + } + + get disabled(): boolean { + return !this._enable; + } + + disable(opts?: { + onlySelf?: boolean; + emitEvent?: boolean; + }): void { + this.form?.disable(opts); + if (this._enable) { + this._enable = false; + if (!opts || opts.emitEvent !== true) this.markForCheck(); + } + } + + enable(opts?: { + onlySelf?: boolean; + emitEvent?: boolean; + }): void { + this.form?.enable(opts); + if (!this._enable) { + this._enable = true; + if (!opts || opts.emitEvent !== true) this.markForCheck(); + } + } + + @Input() + set form(value: FormGroup) { + this.setForm(value); + } + + get form(): FormGroup { + return this._form; + } + + @Output() + onCancel = new EventEmitter<any>(); + + @Output() + onSubmit = new EventEmitter<any>(); + + protected constructor( + injector: Injector, + form?: FormGroup + ) { + this.translate = injector.get(TranslateService); + this._cd = injector.get(ChangeDetectorRef); + if (form) this.setForm(form); + } + + ngOnInit() { + this._enable ? this.enable() : this.disable(); + } + + ngOnDestroy() { + this._subscription.unsubscribe(); + this.onCancel.complete(); + this.onCancel.unsubscribe(); + this.onSubmit.complete(); + this.onSubmit.unsubscribe(); + this._$ready.complete(); + this._$ready.unsubscribe(); + this._$loading.complete(); + this._$loading.unsubscribe(); + } + + cancel() { + this.onCancel.emit(); + } + + /** + * + * @param event + * @param opts allow to skip validation check, using {checkValid: false} + */ + async doSubmit(event: any, opts?: {checkValid?: boolean;}) { + if (!this._form) { + this.markAllAsTouched({emitEvent: true}); + return; + } + + // Check if valid (if not disabled) + if ((!opts || opts.checkValid !== false) && !this._form.valid) { + + // Wait validation end + await FormUtils.waitWhilePending(this._form); + + // Form is invalid: exit (+ log if debug) + if (this._form.invalid) { + this.markAllAsTouched({emitEvent: true}); + if (this.debug) FormUtils.logErrors(this._form); + return; + } + } + + // Emit event + this.onSubmit.emit(event); + } + + setForm(form: FormGroup) { + if (this._form !== form) { + this._form = form; + this._subscription.add( + this._form.statusChanges.subscribe(status => this.markForCheck())); + } + } + + setValue(data: T, opts?: {emitEvent?: boolean; onlySelf?: boolean }): Promise<void> | void { + if (!data) { + console.warn('[form] Trying to set an empty value to form. Skipping'); + return; + } + + // DEBUG + //if (this.debug) console.debug('[form] Updating form (using entity)', data); + this.form.patchValue(data, {emitEvent: false, ...opts}); + + if (!opts || opts.emitEvent !== true) { + this.markForCheck(); + } + } + + reset(data?: T, opts?: {emitEvent?: boolean; onlySelf?: boolean }) { + if (data) { + if (this.debug) console.debug('[form] Resetting form, using:', data); + + this.form.reset(data, {emitEvent: false, onlySelf: true}); + } + else { + this.form.reset(null, {emitEvent: false, onlySelf: true}); + } + + if (!opts || opts.emitEvent !== true) this.markForCheck(); + } + + markAsPristine(opts?: {onlySelf?: boolean; emitEvent?: boolean;}) { + this.form.markAsPristine(opts); + if (!opts || opts.emitEvent !== false) this.markForCheck(); + } + + markAsUntouched(opts?: {onlySelf?: boolean; emitEvent?: boolean;}) { + this.form.markAsUntouched(opts); + if (!opts || opts.emitEvent !== false) this.markForCheck(); + } + + /** + * @deprecated prefer to use markAllAsTouched() + * @param opts + */ + markAsTouched(opts?: {onlySelf?: boolean; emitEvent?: boolean;}) { + // this.form.markAllAsTouched() // This is not working well (e.g. in TripForm) + console.warn('TODO: Replace this call by markAllAsTouched() - because of changes in ngx-components >= 0.16.0'); + FormUtils.markAsTouched(this.form, opts); + if (!opts || opts.emitEvent !== false) this.markForCheck(); + } + + markAllAsTouched(opts?: { emitEvent?: boolean }) { + // this.form.markAllAsTouched() // This is not working well (e.g. in TripForm) + FormUtils.markAllAsTouched(this.form, opts); + if (!opts || opts.emitEvent !== false) this.markForCheck(); + } + + markAsDirty(opts?: {onlySelf?: boolean; emitEvent?: boolean;}) { + this.form.markAsDirty(opts); + if (!opts || opts.emitEvent !== false) this.markForCheck(); + } + + markAsLoading(opts?: {onlySelf?: boolean; emitEvent?: boolean;}) { + if (this._$loading.value !== true) { + this._$loading.next(true); + if (!opts || opts.emitEvent !== false) this.markForCheck(); + } + } + + markAsLoaded(opts?: {onlySelf?: boolean; emitEvent?: boolean;}) { + if (this._$loading.value !== false) { + this._$loading.next(false); + if (!opts || opts.emitEvent !== false) this.markForCheck(); + } + } + + markAsReady(opts?: {onlySelf?: boolean; emitEvent?: boolean;}) { + if (this._$ready.value !== true) { + this._$ready.next(true); + + // If subclasses implements OnReady + if (typeof this['ngOnReady'] === 'function') { + (this as any as OnReady).ngOnReady(); + } + } + } + + /** + * Wait form is ready + * @param opts + */ + ready(opts?: WaitForOptions): Promise<void> { + return waitForTrue(this._$ready, opts); + } + + /** + * Wait form is idle (not loading) + * @param opts + */ + async waitIdle(opts?: WaitForOptions): Promise<void> { + return FormUtils.waitIdle(this, opts); + } + + updateValueAndValidity(opts?: { + onlySelf?: boolean; + emitEvent?: boolean; + }) { + FormUtils.updateValueAndValidity(this.form, opts); + if (!opts || opts.emitEvent !== false) this.markForCheck(); + } + + /* -- protected methods -- */ + + protected registerSubscription(sub: Subscription) { + this._subscription.add(sub); + } + + protected unregisterSubscription(sub: Subscription): void { + this._subscription.remove(sub); + } + + protected markForCheck() { + this._cd?.markForCheck(); + } +} diff --git a/src/app/shared/forms.ts b/src/app/shared/forms.ts new file mode 100644 index 0000000..6738176 --- /dev/null +++ b/src/app/shared/forms.ts @@ -0,0 +1,614 @@ +import {AbstractControl, FormArray, FormControl, FormGroup, ValidatorFn} from '@angular/forms'; +import {ElementRef, Predicate, QueryList} from "@angular/core"; +import {waitFor, WaitForOptions} from "@app/shared/observables"; +import {isNil, isNilOrBlank, isNotEmptyArray, isNotNil, toBoolean, toNumber} from './functions'; +import {nullIfUndefined} from "@app/shared/functions"; +import {isMoment} from "moment"; +import {toDateISOString} from "@app/shared/dates"; + +export interface FormArrayHelperOptions { + allowEmptyArray: boolean; + validators?: ValidatorFn[]; +} + + +// TODO continue to use this kind of declaration ? +export class FormUtils { + static logErrors = logFormErrors; + static getControlFromPath = getControlFromPath; + static filterNumberInput = filterNumberInput; + static disableControls = disableControls; + static selectInputContent = selectInputContent; + /** + * @deprecated use markAllAsTouched() instead (naming was wrong) + */ + static markAsTouched = markAllAsTouched; + + /** + * Marks the control and all its descendant controls as touched. + * See also: + * - `markAsTouched()` + */ + static markAllAsTouched = markAllAsTouched; + static markAsUntouched = markAsUntouched; + static waitWhilePending = waitWhilePending; + static waitIdle = waitIdle; + static updateValueAndValidity = updateValueAndValidity; + + // ArrayForm + static addValueInArray = addValueInArray; + static removeValueInArray = removeValueInArray; + static resizeArray = resizeArray; + static clearValueInArray = clearValueInArray; + +} + +/** + * Fill a form using a source entity + * + * @param target + * @param entity + * @param opts + */ +export function copyEntity2Form(entity: any, target: FormGroup, opts?: { emitEvent?: boolean; onlySelf?: boolean }) { + const json = getFormValueFromEntity(entity, target); + target.patchValue(json, opts); +} + +export function getFormValueFromEntity(entity: any|undefined, form: FormGroup): { [key: string]: any } { + return adaptValueToControl(entity, form) as { [key: string]: any }; +} + +/** + * Transform an entity into a simple object, compatible with the given form + * + * @param source an entity (or subentity) + * @param control + * @param path + */ +export function adaptValueToControl(source: any|undefined, control: AbstractControl, path?: string): any { + const pathPrefix = path ? path + '.' : ''; + + // Form group + if (control instanceof FormGroup) { + const result = {}; + // eslint-disable-next-line guard-for-in + for (const key in control.controls) { + result[key] = adaptValueToControl(source && source[key], control.controls[key], pathPrefix + key); + } + return result; + } + + // Array + if (control instanceof FormArray) { + + // Split, if many values in a string + if (typeof source === 'string') { + source = source.split('|'); + } + + // Skip if value is not an array + if (!Array.isArray(source) || control.length === 0) { + if (isNotEmptyArray(source)) console.warn(`WARN: please resize the FormArray '${path}' to the same length of the input array`); + return []; + } + + // Use the first form group, as model + const firstItemControl = control.at(0); + let result = source.map((item, index) => adaptValueToControl(item, firstItemControl, pathPrefix + '#' + index)) as any[]; + + // Truncate if too many values + if (result.length > control.length) { + if (firstItemControl instanceof FormControl) { + for (let i = control.length; i < result.length; i++) { + control.push(new FormControl(null, firstItemControl.validator)); + } + } + else { + console.warn(`WARN: please resize the FormArray '${path||''}' to the same length of the input array`); + result = result.slice(0, control.length); + } + } + + // Add values if not enought + else if (result.length < control.length) { + //console.warn(`WARN: Adding null value to array values`); + for (let i = result.length; i < control.length; i++) { + result.push(null); + } + } + return result; + } + + // Form control + if (control instanceof FormControl) { + // Date + if (isMoment(source)) { + return toDateISOString(source); + } + // Any other control: replace undefined by null value + // because Undefined is not authorized as control value + else { + return nullIfUndefined(source); + } + } + +} + +export function logFormErrors(control: AbstractControl, logPrefix?: string, path?: string) { + if (!control || control.valid) return; + logPrefix = logPrefix || ''; + // Form group + if (control instanceof FormGroup) { + if (!path) console.warn(`${logPrefix} Form errors:`); + if (control.errors) { + Object.keys(control.errors).forEach(error => + console.warn(`${logPrefix} -> ${path || ''} (${error})`) + ); + } + if (control.controls) { + Object.keys(control.controls).forEach(child => + logFormErrors(control.controls[child], logPrefix, (path ? `${path}.${child}` : child)) // Recursive call + ); + } + } + // Form array + else if (control instanceof FormArray) { + if (control.errors) { + Object.keys(control.errors).forEach(error => + console.warn(`${logPrefix} -> ${path || ''} (${error})`) + ); + } + control.controls.forEach((child, index) => { + logFormErrors(child, logPrefix, (path ? `${path}.${index}` : `${index}`)); // Recursive call + }); + } + // Other control's errors + else if (control.errors) { + Object.keys(control.errors).forEach(error => + console.warn(`${logPrefix} -> ${path || ''} (${error})`) + ); + } +} + +export function getControlFromPath(form: FormGroup, path: string): AbstractControl { + const i = path.indexOf('.'); + if (i === -1) { + return form.controls[path]; + } + const key = path.substring(0, i); + if (form.controls[key] instanceof FormGroup) { + return getControlFromPath((form.controls[key] as FormGroup), path.substring(i + 1)); + } + throw new Error(`Invalid form path: '${key}' should be a form group.`); +} + + +export function disableControls(form: FormGroup, paths: string[], opts?: {onlySelf?: boolean; emitEvent?: boolean }) { + (paths || []).forEach(path => { + const control = getControlFromPath(form, path); + if (control) control.disable(opts); + }); +} + + +export function addValueInArray(arrayControl: FormArray, + createControl: (value?: any) => AbstractControl, + equals: (v1: any, v2: any) => boolean, + isEmpty: (value: any) => boolean, + value: any, + options?: { emitEvent: boolean }): boolean { + options = options || {emitEvent: true}; + + let hasChanged = false; + let index = -1; + + // Search if value already exists + if (!isEmpty(value)) { + index = (arrayControl.value || []).findIndex(v => equals(value, v)); + } + + // If value not exists, but last value is empty: use it + if (index === -1 && arrayControl.length && isEmpty(arrayControl.at(arrayControl.length - 1).value)) { + index = arrayControl.length - 1; + } + + // Replace the existing value + if (index !== -1) { + if (!isEmpty(value)) { + arrayControl.at(index).patchValue(value, options); + hasChanged = true; + } + } else { + const control = createControl(value); + arrayControl.push(control); + hasChanged = true; + } + + if (hasChanged) { + if (isNil(options.emitEvent) || options.emitEvent) { + // Mark array control dirty + if (!isEmpty(value)) { + arrayControl.markAsDirty(); + } + } + } + + return hasChanged; +} + +export function resizeArray(arrayControl: FormArray, + createControl: () => AbstractControl, + length: number): boolean { + const hasChanged = arrayControl.length !== length; + + // Increase size + if (arrayControl.length < length) { + while (arrayControl.length < length) { + arrayControl.push(createControl()); + } + } + + // Or reduce + else if (arrayControl.length > length) { + while (arrayControl.length > length) { + arrayControl.removeAt(arrayControl.length - 1); + } + } + + return hasChanged; +} + +export function removeValueInArray(arrayControl: FormArray, + isEmpty: (value: any) => boolean, + index: number): boolean { + arrayControl.removeAt(index); + arrayControl.markAsDirty(); + return true; +} + +export function clearValueInArray(arrayControl: FormArray, + isEmpty: (value: any) => boolean, + index: number): boolean { + + const control = arrayControl.at(index); + if (isEmpty(control.value)) return false; // skip (not need to clear) + + if (control instanceof FormGroup) { + copyEntity2Form({}, control); + } + else if (control instanceof FormArray) { + control.setValue([]); + } + else { + control.setValue(null); + } + arrayControl.markAsDirty(); + return true; +} + +export function markAllAsTouched(control: AbstractControl, opts?: {onlySelf?: boolean; emitEvent?: boolean }) { + if (!control) return; + if (control instanceof FormGroup) { + markFormGroupAsTouched(control, {...opts, onlySelf: true}); // recursive call + } + else if (control instanceof FormArray) { + control.markAsTouched({onlySelf: true}); + (control.controls || []).forEach(c => markControlAsTouched(c, {...opts, onlySelf: true})); // recursive call + } + else { + control.markAsTouched({onlySelf: true}); + control.updateValueAndValidity({...opts, onlySelf: true}); + } +} + +export function markFormGroupAsTouched(form: FormGroup, opts?: {onlySelf?: boolean; emitEvent?: boolean }) { + if (!form) return; + form.markAsTouched(opts); + Object.keys(form.controls) + .map(key => form.controls[key]) + .filter(control => control.enabled) + .forEach(control => markControlAsTouched(control, opts)); + form.updateValueAndValidity({...opts, onlySelf: true}); +} + +export function markControlAsTouched(control: AbstractControl, opts?: {onlySelf?: boolean; emitEvent?: boolean }) { + if (!control) return; + if (control instanceof FormGroup) { + markAllAsTouched(control, { ...opts, onlySelf: true}); // recursive call + } + else if (control instanceof FormArray) { + (control.controls || []).forEach(c => markControlAsTouched(c, { ...opts, onlySelf: true})); // recursive call + } + else { + control.markAsTouched({onlySelf: true}); + control.updateValueAndValidity({...opts, onlySelf: true}); + } +} + +export function updateValueAndValidity(form: FormGroup, opts?: {onlySelf?: boolean; emitEvent?: boolean }) { + if (!form) return; + form.updateValueAndValidity(opts); + Object.keys(form.controls) + .map(key => form.controls[key]) + .filter(control => control.enabled) + .forEach(control => { + if (control instanceof FormGroup) { + updateValueAndValidity(control, {...opts, onlySelf: true}); // recursive call + } + else { + control.updateValueAndValidity({...opts, onlySelf: true}); + } + }); +} + +export function markAsUntouched(form: FormGroup, opts?: {onlySelf?: boolean }) { + if (!form) return; + form.markAsUntouched(opts); + Object.getOwnPropertyNames(form.controls) + .forEach(key => { + const control = form.get(key); + if (control instanceof FormGroup) { + markAsUntouched(control, {onlySelf: true}); // recursive call + } + else { + control.markAsUntouched({onlySelf: true}); + control.setErrors(null); + } + }); +} + +/** + * Wait end of async validation (not pending). This need to implement {pending: boolean} + * return false + */ +export function waitWhilePending<T extends { pending: boolean }>(form: T, opts?: WaitForOptions): Promise<void> { + const predicate: Predicate<void> = () => form.pending !== true; + return waitFor(predicate, opts); +} + +/** + * Wait form is idle (not loading). This need to implement {loading: boolean} + * @param form + * @param opts + */ +export function waitIdle<T extends { loading: boolean }>(form: T, opts?: WaitForOptions): Promise<void> { + const predicate: Predicate<void> = () => form.loading !== true; + return waitFor(predicate, opts); +} + + +export function selectInputContent(event: UIEvent) { + if (event.defaultPrevented) return false; + const input = (event.target as any); + if (!input) return true; + + // Nothing to select + if (isNilOrBlank(input.value)) return false; + + if (typeof input.selectRange === 'function') { + try { + input.selectRange(input.value.length, 0); + return true; + } catch (err) { + console.error('Could not select input content, using selectRange()', err); + return false; + } + } + + if (input && typeof input.select === 'function') { + try { + input.select(); + return true; + } catch (err) { + console.error('Could not select input content, using select()', err); + return false; + } + } + return true; +} + +export function selectInputRange(input: any, startIndex: number, endIndex?: number) { + if (input && typeof input.setSelectionRange === 'function') { + + // No content + if (isNilOrBlank(input.value)) return false; + + try { + input.setSelectionRange(startIndex, isNotNil(endIndex) ? endIndex : startIndex); + } catch (err) { + console.error('Could not select input range', err); + return false; + } + } + return true; +} + +export function getCaretPosition(input: any): number { + if (input && input.selectionStart) { + return input.selectionDirection ? + (input.selectionDirection === 'backward' ? input.selectionStart : input.selectionEnd) : input.selectionStart; + } + return -1; +} + +export function filterNumberInput(event: KeyboardEvent, allowDecimals: boolean, decimalSeparator?: string) { + //input number entered or one of the 4 direction up, down, left and right + if ((event.which >= 48 && event.which <= 57) || (event.which >= 37 && event.which <= 40)) { + //console.debug('input number entered :' + event.which + ' ' + event.keyCode + ' ' + event.charCode); + // OK + } + // Decimal separator + else if (allowDecimals && ((!decimalSeparator && (event.key === '.' || event.key === ',')) + || (decimalSeparator && event.key === decimalSeparator))) { + //console.debug('input decimal separator entered :' + event.code); + // OK + } else { + //input command entered of delete, backspace or one of the 4 direction up, down, left and right, or negative sign + if ((event.keyCode >= 37 && event.keyCode <= 40) || event.keyCode == 46 || event.which == 8 || event.keyCode == 9 || event.keyCode == 45) { + //console.debug('input command entered :' + event.which + ' ' + event.keyCode + ' ' + event.charCode); + // OK + } + // Cancel other keyboard events + else { + //console.debug('input not number entered :' + event.which + ' ' + event.keyCode + ' ' + event.charCode + ' ' + event.code ); + event.preventDefault(); + } + } +} + +export function focusInput(element: ElementRef) { + const inputElement = asInputElement(element); + if (inputElement) + inputElement.focus(); + else { + console.warn('Trying to focus on this element:', element); + } +} + +export function setTabIndex(element: ElementRef, tabIndex: number) { + if(isInputElement(element)) { + element.tabindex = tabIndex; + } + else if (element && isInputElement(element.nativeElement)) { + element.nativeElement.tabIndex = tabIndex; + } + else { + console.warn('Trying to change tabindex on this element:', element); + } +} + +export interface FocusableElement { + focus(); +} + +export function isFocusableElement(object: any): object is FocusableElement { + if (!object) return false; + return 'focus' in object; +} + +export interface InputElement extends FocusableElement { + tabindex?: number; + tabIndex?: number; + hidden?: boolean; + disabled?: boolean; + value: any; +} +export function isInputElement(object: any): object is InputElement { + return isFocusableElement(object) + && ('value' in object + // has value is not always set (neither tabindex) check on 2 properties with a logical OR + || ('tabindex' in object || 'tabIndex' in object)); +} + +export function asInputElement(object: ElementRef): InputElement|undefined { + if (object) { + if (isInputElement(object)) return object; + if (object.nativeElement && isInputElement(object.nativeElement)) return object.nativeElement; + } + return undefined; +} + +export function tabindexComparator(a: InputElement, b: InputElement) { + const valueA = a.tabindex || a.tabIndex; + const valueB = b.tabindex || b.tabIndex; + return valueA === valueB ? 0 : (valueA > valueB ? 1 : -1); +} + +export interface CanGainFocusOptions { + minTabindex?: number; + maxTabindex?: number; + excludeEmptyInput?: boolean; +} + +export interface GetFocusableInputOptions extends CanGainFocusOptions { + sortByTabIndex?: boolean; + debug?: boolean; +} + +export function canHaveFocus(input: InputElement, opts?: CanGainFocusOptions): boolean { + if (!input) return false; + // Exclude disabled element + return !toBoolean(input.disabled, false) + // Exclude hidden element + && !toBoolean(input.hidden, false) + // Exclude minTabIndex < element.tabIndex + && (isNil(opts.minTabindex) || toNumber(input.tabIndex, input.tabindex) > opts.minTabindex) + // Exclude maxTabIndex > element.tabIndex + && (isNil(opts.maxTabindex) || toNumber(input.tabIndex, input.tabindex) < opts.maxTabindex) + // Exclude nil input value + && (!opts.excludeEmptyInput || isNilOrBlank(input.value)); +} + +export function getFocusableInputElements(elements: QueryList<ElementRef>, opts?: GetFocusableInputOptions): InputElement[] { + opts = {sortByTabIndex: false, excludeEmptyInput: false, ...opts}; + + // Focus to first input + const filteredElements: InputElement[] = elements + + // Transform to input + .map(asInputElement) + + .filter(input => { + const included = canHaveFocus(input, opts); + // DEBUG + if (input && opts.debug) console.debug(`[inputs] Focusable input {canFocus: ${included}, tabIndex: ${input.tabIndex||input.tabindex}}`, input); + return included; + }); + + // Sort by tabIndex + if (opts.sortByTabIndex) { + return filteredElements.sort(tabindexComparator); + } + + return filteredElements; + +} + + +export function focusNextInput(event: UIEvent|undefined, elements: QueryList<ElementRef>, opts?: GetFocusableInputOptions): boolean { + + // Cancelling event (e.g. when emitted by (keydown.tab) ) + if (event) { + event.preventDefault(); + event.stopPropagation(); + } + + // Get current index + const minTabindex = event && isInputElement(event.target) ? (event.target.tabIndex || event.target.tabindex) : undefined; + + // Get focusable input elements + const focusableInputs: InputElement[] = getFocusableInputElements(elements, {minTabindex, ...opts}); + + if (isNotEmptyArray(focusableInputs)) { + // Focus on first inputs + focusableInputs[0].focus(); + return true; + } + + return false; +} + +export function focusPreviousInput(event: UIEvent|undefined, elements: QueryList<ElementRef>, opts?: GetFocusableInputOptions): boolean { + + // Cancelling event (e.g. when emitted by (keydown.tab) ) + if (event) { + event.preventDefault(); + event.stopPropagation(); + } + + // Get current index + const maxTabindex = event && isInputElement(event.target) ? (event.target.tabIndex || event.target.tabindex) : undefined; + + // Get focusable input elements + const focusableInputs: InputElement[] = getFocusableInputElements(elements, {maxTabindex, ...opts}); + + if (isNotEmptyArray(focusableInputs)) { + // Focus on last inputs + focusableInputs[focusableInputs.length -1].focus(); + return true; + } + + return false; +} + diff --git a/src/app/shared/functions.ts b/src/app/shared/functions.ts index 5e69d84..e2d913d 100644 --- a/src/app/shared/functions.ts +++ b/src/app/shared/functions.ts @@ -1,3 +1,4 @@ +import {KeysEnum, KeyValueType} from "@app/shared/types"; export function isNil<T>(obj: T | null | undefined): boolean { return obj === undefined || obj === null; @@ -14,6 +15,9 @@ export function isNotNilOrBlank<T>(obj: T | null | undefined): boolean { export function isNotNilOrNaN<T>(obj: T | null | undefined): boolean { return obj !== undefined && obj !== null && (typeof obj !== 'number' || !isNaN(obj)); } +export function isNilOrNaN<T>(obj: T | null | undefined): boolean { + return obj === undefined || obj === null || (typeof obj === 'number' && isNaN(obj)); +} export function isNotEmptyArray<T>(obj: T[] | null | undefined): boolean { return obj !== undefined && obj !== null && obj.length > 0; } @@ -23,21 +27,18 @@ export function firstArrayValue<T>(obj: T[] | null | undefined): T | undefined { export function isEmptyArray<T>(obj: T[] | null | undefined): boolean { return obj === undefined || obj === null || !obj.length; } -export function isArray(obj: any): obj is any[] { - return obj && isNotNil(obj['length']) || false; +export function isNotNilBoolean(obj: any | null | undefined): obj is boolean { + return obj !== undefined && obj !== null && typeof obj === 'boolean' || false; } export function isNotNilString(obj: any | null | undefined): obj is string { return obj !== undefined && obj !== null && typeof obj === 'string' || false; } +export function isBlankString(obj: any | null | undefined): obj is string { + return (typeof obj === 'string') && obj.trim().length === 0; +} export function notNilOrDefault<T>(obj: T | null | undefined, defaultValue: T): T { return (obj !== undefined && obj !== null) ? obj : defaultValue; } -export function isTrue(obj: any): boolean { - return obj === true; -} -export function isFalse(obj: any): boolean { - return obj === false; -} export function arraySize<T>(obj: T[] | null | undefined): number { return isNotEmptyArray(obj) && obj.length || 0; } @@ -45,7 +46,7 @@ export function arrayGroupBy< T = any, K extends keyof T = any, M extends { [key: string]: T[]; - } = { [key: string]: T[] }>(obj: T[], key: keyof T): M { +} = { [key: string]: T[] }>(obj: T[], key: keyof T): M { if (isNil(obj)) return null; return obj.reduce((rv: any, x) => { (rv[x[key]] = rv[x[key]] || []).push(x); @@ -117,6 +118,10 @@ export function replaceAll(value: string, searchString: any, replacement): strin return value; } +export function escapeRegExp(value: string) { + return value.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&'); +} + export function removeEnd(value: string, end: string): string { return value?.endsWith(end || '') ? value.substr(0, value.length - end.length) : value; } @@ -131,26 +136,13 @@ export function changeCaseToUnderscore(value: string): string { return value.replace(/([a-z])([A-Z])/g, '$1_$2').toLowerCase(); } - -export function suggestFromStringArray(values: string[], value: any, options?: { - searchAttribute?: string; - searchAttributes?: string[]; -}): string[] { - value = (typeof value === 'string' && value !== '*') && value.toUpperCase() || undefined; - if (isNilOrBlank(value)) return values; - - // If wildcard, search using regexp - if ((value as string).indexOf('*') !== -1) { - value = (value as string).replace('*', '.*'); - return values.filter(v => matchUpperCase(v, value)); - } - - // If wildcard, search using startsWith - return values.filter(v => startsWithUpperCase(v, value)); +export function removeDiacritics(text: string): string { + return text.normalize('NFD').replace(/[\u0300-\u036f]/g, ''); } export function joinPropertiesPath<T = any>(obj: T, properties: string[], separator?: string): string | undefined { if (!obj) throw new Error('Could not display an undefined entity.'); + if (!properties) throw new Error('Missing \'properties\' argument'); return properties .map(path => getPropertyByPath(obj, path)) .filter(isNotNilOrBlank) @@ -186,23 +178,22 @@ export function propertiesPathComparator<T = any>(keys: string[], defaultValues? throw new Error('Invalid arguments: missing \'keys\' or array \'defaultValues\' has a bad length'); } return (a: T, b: T) => keys.map((key, index) => { - const valueA = getPropertyByPath(a, key, defaultValues && defaultValues[index]); - const valueB = getPropertyByPath(b, key, defaultValues && defaultValues[index]); - return valueA === valueB ? 0 : (valueA > valueB ? 1 : -1); - }) - // Stop if not equals, otherwise continue with the next key - .find(res => res !== 0) || 0; + const valueA = getPropertyByPath(a, key, defaultValues && defaultValues[index]); + const valueB = getPropertyByPath(b, key, defaultValues && defaultValues[index]); + return valueA === valueB ? 0 : (valueA > valueB ? 1 : -1); + }) + // Stop if not equals, otherwise continue with the next key + .find(res => res !== 0) || 0; } -export function sort<T>(array: T[], attribute: string): T[] { +export function sort<T>(array: T[], attribute: string, opts?: Intl.CollatorOptions): T[] { if (isEmptyArray(array)) return array; + const compareFn = opts + ? new Intl.Collator(undefined, opts).compare + : (v1, v2) => v1 === v2 ? 0 : v1 > v2 ? 1 : -1; return array .slice() // copy - .sort((a, b) => { - const valueA = a[attribute]; - const valueB = b[attribute]; - return valueA === valueB ? 0 : (valueA > valueB ? 1 : -1); - }); + .sort((a, b) => compareFn(a[attribute], b[attribute])); } const INTEGER_REGEXP = /^[-]?\d+$/; export function isInt(value: string): boolean { @@ -297,10 +288,6 @@ export function remove<T>(array: T[], predicate: (pmfm: T) => boolean): T { }); } - - -export declare type KeysEnum<T> = { [P in keyof Required<T>]: boolean }; - export function capitalizeFirstLetter(value: string) { if (!value || value.length === 0) return value; return value.substr(0, 1).toUpperCase() + value.substr(1); @@ -310,6 +297,75 @@ export function uncapitalizeFirstLetter(value: string) { return value.substr(0, 1).toLowerCase() + value.substr(1); } +export function splitByProperty<T, M extends KeyValueType<T> = KeyValueType<T>>(array: T[] | readonly T[], propertyName: keyof T | string): M { + return (array || []).reduce((res, value) => { + const key = (value as unknown as any)?.[propertyName]; + if (isNotNil(key)) { + res[key] = value; + } + return res; + }, {}) as M; +} + +export function splitById<T, M extends KeyValueType<T> = KeyValueType<T>>(array: T[] | readonly T[]): M { + return (array || []).reduce((res, value) => { + const key = value?.['id']; + if (isNotNil(key)) { + res[key] = value; + } + return res; + }, <M>{}); +} + +/** + * Determines if two objects or two values are equivalent. + * + * Two objects or values are considered equivalent if at least one of the following is true: + * + * * Both objects or values pass `===` comparison. + * * Both objects or values are of the same type and all of their properties are equal by + * comparing them with `equals`. + * + * @param o1 Object or value to compare. + * @param o2 Object or value to compare. + * @returns true if arguments are equal. + */ +export function equals(o1: any, o2: any): boolean { + if (o1 === o2) return true; + if (o1 === null || o2 === null) return false; + if (o1 !== o1 && o2 !== o2) return true; // NaN === NaN + let t1 = typeof o1, t2 = typeof o2, length: number, key: any, keySet: any; + if (t1 == t2 && t1 == 'object') { + if (Array.isArray(o1)) { + if (!Array.isArray(o2)) return false; + if ((length = o1.length) == o2.length) { + for (key = 0; key < length; key++) { + if (!equals(o1[key], o2[key])) return false; + } + return true; + } + } else { + if (Array.isArray(o2)) { + return false; + } + keySet = Object.create(null); + for (key in o1) { + if (!equals(o1[key], o2[key])) { + return false; + } + keySet[key] = true; + } + for (key in o2) { + if (!(key in keySet) && typeof o2[key] !== 'undefined') { + return false; + } + } + return true; + } + } + return false; +} + export class Beans { /** * Copy a source object, by including only properties of the given dataType. @@ -334,7 +390,7 @@ export class Beans { static isEmpty<T>(data: T, keys?: KeysEnum<T>|string[], opts?: { blankStringLikeEmpty?: boolean; }): boolean { - return isNil(data) || (isArray(keys) ? keys : Object.keys(keys || data)) + return isNil(data) || (Array.isArray(keys) ? keys : Object.keys(keys || data)) // Find index of the first NOT nil value .findIndex(key => { const value = data[key]; diff --git a/src/app/shared/observables.ts b/src/app/shared/observables.ts index 153f697..28b4b3c 100644 --- a/src/app/shared/observables.ts +++ b/src/app/shared/observables.ts @@ -1,6 +1,7 @@ -import {Observable} from 'rxjs'; +import {firstValueFrom, map, merge, Observable, switchMap, takeUntil, timer} from 'rxjs'; import {filter, first} from 'rxjs/operators'; import {isNotNil} from './functions'; +import {Predicate} from "@angular/core"; export function filterNotNil<T = any>(obs: Observable<T>): Observable<T> { @@ -39,3 +40,81 @@ export function chainPromises<T = any>(defers: (() => Promise<any>)[]): Promise< .then(jobRes => finalResult.concat(jobRes))); }, null); } + +export function firstTrue(obs: Observable<boolean>): Observable<void> { + return obs.pipe( + first((v) => v === true), + map(_ => {}) // Convert to void + ); +} + +export declare interface WaitForOptions { + dueTime?: number; + checkPeriod?: number; + timeout?: number; +} + +/** + * Wait form a predicate return true. This need to implement AppFormUtils.waitWhilePending(), AppFormUtils.waitIdle() + * @param predicate + * @param opts + */ +export async function waitFor(predicate: Predicate<void>, opts?: WaitForOptions): Promise<void> { + if (predicate()) return Promise.resolve(); + + const period = opts && opts.checkPeriod || 300; + const dueTime = opts && opts.dueTime || period; + let wait$: Observable<boolean> = timer(dueTime, period) + .pipe( + // For DEBUG : + //tap(() => console.debug("Waiting form idle...", form)), + filter(_ => predicate()), + map(_ => true) + ); + + // Add timeout + if (opts && opts.timeout) { + const $timeout = timer(opts.timeout); + wait$ = merge( + wait$.pipe( + takeUntil($timeout) + ), + $timeout + .pipe(map(() => { + throw new Error(`Timeout waitIdle() - after ${opts.timeout}ms`); + })) + ); + } + + await firstNotNilPromise(wait$); +} + + +export async function waitForTrue(observable: Observable<boolean>, opts?: WaitForOptions): Promise<void> { + const firstTrueObservable = firstTrue(observable); + + // Timeout (+ dueTime) + if (opts && opts.timeout > 0) { + const $timeout = timer(opts.timeout); + return firstValueFrom( + merge( + timer(opts.dueTime || 0) + .pipe( + switchMap(() => firstTrueObservable), + takeUntil($timeout) + ), + $timeout + .pipe(map(() => { + throw new Error(`Timeout ready() - after ${opts.timeout}ms`); + })) + )); + } + // dueTime (without timeout) + if (opts && opts.dueTime > 0) { + return firstValueFrom( + timer(opts.dueTime) + .pipe(switchMap(() => firstTrueObservable)) + ); + } + return firstTrueObservable.toPromise(); +} diff --git a/src/app/shared/page/base.page.ts b/src/app/shared/page/base.page.ts new file mode 100644 index 0000000..31d334b --- /dev/null +++ b/src/app/shared/page/base.page.ts @@ -0,0 +1,130 @@ +import {ChangeDetectorRef, Directive, inject, Injector, OnInit} from '@angular/core'; +import {ActivatedRoute} from '@angular/router'; +import {SettingsService} from "@app/settings/settings.service"; +import {changeCaseToUnderscore, isNotNilOrBlank} from "@app/shared/functions"; +import {environment} from "@environments/environment"; +import {waitIdle} from "@app/shared/forms"; +import {WaitForOptions} from "@app/shared/observables"; +import {ToastController, ToastOptions} from "@ionic/angular"; +import {TranslateService} from "@ngx-translate/core"; + +@Directive() +export abstract class BasePage<S> implements OnInit { + + private _cd: ChangeDetectorRef; + + protected translate: TranslateService; + protected settings: SettingsService; + protected activatedRoute: ActivatedRoute; + protected toastController: ToastController; + protected readonly _debug = !environment.production; + protected readonly _logPrefix: string; + + mobile: boolean = null; + error: string = null; + loading = true; + data: S = null; + + get loaded(): boolean { + return !this.loading; + } + + protected constructor( + injector: Injector, options: { + name?: string + } + ) { + this._cd = injector.get(ChangeDetectorRef); + this.settings = injector.get(SettingsService); + this.translate = injector.get(TranslateService); + this.activatedRoute = injector.get(ActivatedRoute); + this.toastController = injector.get(ToastController); + this.mobile = this.settings.mobile; + this._logPrefix = options?.name ? `[${options.name}] ` : `[${changeCaseToUnderscore(this.constructor.name).replace(/_/g, '-')}]`; + + } + + ngOnInit() { + this.load(); + } + + protected async load() { + this.resetError(); + this.markAsLoading(); + + try { + + this.data = await this.ngOnLoad(); + + this.markForCheck(); + this.markAsLoaded(); + } + catch (err) { + this.setError(err); + this.markAsLoaded(); + } + } + + protected abstract ngOnLoad(): Promise<S>; + + protected setError(err) { + let message = err?.message || err || 'ERROR.UNKNOWN_ERROR'; + if (!message) { + console.error(err); + message = 'ERROR.UNKNOWN_ERROR'; + } + this.error = message; + this.markForCheck(); + } + + protected resetError() { + if (this.error) { + this.error = null; + this.markForCheck(); + } + } + + protected markAsLoading() { + if (!this.loading) { + this.loading = true; + this.markForCheck(); + } + } + + protected markAsLoaded() { + if (this.loading) { + this.loading = false; + this.markForCheck(); + } + } + + protected async waitIdle(opts?: WaitForOptions) { + return waitIdle(this, opts); + } + + protected markForCheck() { + this._cd?.markForCheck(); + } + + protected debug(msg, ...params: any[]) { + if (!this._debug) return; + if (params) console.debug(this._logPrefix + msg, params); + else console.debug(this._logPrefix + msg) + } + + protected log(msg, ...params: any[]) { + if (!this._debug) return; + if (params) console.log(this._logPrefix + msg, params); + else console.log(this._logPrefix + msg) + } + + protected async showToast(opts: ToastOptions & {messageParams?: any[] }) { + const message = isNotNilOrBlank(opts?.message) ? this.translate.instant(opts.message as string, opts.messageParams) : undefined; + const toast = await this.toastController.create({ + duration: 2000, + ...opts, + message + }); + return toast.present(); + } +} diff --git a/src/app/shared/peers.ts b/src/app/shared/peers.ts deleted file mode 100644 index 876f332..0000000 --- a/src/app/shared/peers.ts +++ /dev/null @@ -1,8 +0,0 @@ -import {Peer} from "../model/settings.model"; - -export class PeerUtils { - - static getWsUri(peer: Peer) { - return `${peer.useSsl || peer.port === 443 ? 'wss' : 'ws'}://${peer.host}:${peer.port||80}${peer.path}` - } -} diff --git a/src/app/shared/pipes/address.pipes.ts b/src/app/shared/pipes/address.pipes.ts new file mode 100644 index 0000000..d211638 --- /dev/null +++ b/src/app/shared/pipes/address.pipes.ts @@ -0,0 +1,15 @@ +import {ChangeDetectorRef, OnDestroy, Pipe, PipeTransform} from '@angular/core'; +import {AbstractControl, FormArray, FormControl, FormGroup} from '@angular/forms'; +import {Subscription} from 'rxjs'; +import {equals} from '../functions'; + +@Pipe({ + name: 'addressFormat' +}) +export class AddressFormatPipe implements PipeTransform { + + transform(value: string, withChecksum?: boolean ): string { + if (value.length < 12) return '?'; + return value.substring(0,6) + '...' + value.substring(value.length - 6); + } +} diff --git a/src/app/shared/pipes/amount.pipe.ts b/src/app/shared/pipes/amount.pipe.ts new file mode 100644 index 0000000..dafb1a9 --- /dev/null +++ b/src/app/shared/pipes/amount.pipe.ts @@ -0,0 +1,20 @@ +import {Pipe} from '@angular/core'; +import {NumberFormatPipe} from "@app/shared/pipes/number-format.pipe"; +import {NetworkService} from "@app/network/network.service"; +import {isNil} from "@app/shared/functions"; + +@Pipe({ + name: 'amountFormat' +}) +export class AmountFormatPipe extends NumberFormatPipe { + + + constructor(private networkService: NetworkService) { + super(); + } + + transform(val: number, opts?: Intl.NumberFormatOptions & {fixedDecimals?: number}): string | Promise<string> { + if (isNil(val)) return ''; + return super.transform(val / 100, opts) + (' ' + this.networkService.currencySign); + } +} diff --git a/src/app/shared/pipes/arrays.pipe.ts b/src/app/shared/pipes/arrays.pipe.ts new file mode 100644 index 0000000..675919d --- /dev/null +++ b/src/app/shared/pipes/arrays.pipe.ts @@ -0,0 +1,94 @@ +import {Pipe, PipeTransform} from '@angular/core'; +import {isNotNil} from '../functions'; + +@Pipe({ + name: 'isNotEmptyArray' +}) +export class NotEmptyArrayPipe implements PipeTransform { + + transform(val: any[]): boolean { + if (val === undefined || val === null) { + return false; + } + return val.length > 0; + } +} + + +@Pipe({ + name: 'isEmptyArray' +}) +export class EmptyArrayPipe implements PipeTransform { + + transform(val: any[]): boolean { + if (val === undefined || val === null) { + return true; + } + return val.length === 0; + } +} + + +@Pipe({ + name: 'isArrayLength' +}) +export class ArrayLengthPipe implements PipeTransform { + + transform(val: any[], args?: { greaterThan?: number; equals?: number; lessThan?: number }): boolean { + args = args || {}; + const size = (val === undefined || val === null) ? 0 : val.length; + if (isNotNil(args.lessThan)) { + return size < args.lessThan; + } + if (isNotNil(args.greaterThan)) { + return size > args.greaterThan; + } + if (isNotNil(args.equals)) { + return size === args.equals; + } + return false; + } +} + +@Pipe({ + name: 'arrayFirst' +}) +export class ArrayFirstPipe implements PipeTransform { + + transform<T>(val: T[]): T | undefined { + return val && val.length > 0 ? val[0] : undefined; + } +} + +@Pipe({ + name: 'arrayPluck' +}) +export class ArrayPluckPipe implements PipeTransform { + + transform<T>(val: T[], opts: { property: string; omitNil?: boolean }): any[] { + return (opts.omitNil !== true) ? + (val || []).map(value => value && value[opts.property]) : + (val || []).map(value => value && value[opts.property]).filter(isNotNil); + } +} + +@Pipe({ + name: 'arrayIncludes' +}) +export class ArrayIncludesPipe implements PipeTransform { + + transform<T>(val: T[], args): boolean { + return val && val.includes(args) || false; + } +} + + +@Pipe({ + name: 'arrayFilter' +}) +export class ArrayFilterPipe implements PipeTransform { + + transform<T>(val: T[], filterFn: (T) => boolean): T[] { + return val && val.filter(filterFn); + } +} diff --git a/src/app/shared/pipes/date-diff-duration.pipe.ts b/src/app/shared/pipes/date-diff-duration.pipe.ts new file mode 100644 index 0000000..632e83e --- /dev/null +++ b/src/app/shared/pipes/date-diff-duration.pipe.ts @@ -0,0 +1,37 @@ +import {Pipe, PipeTransform} from '@angular/core'; +import * as momentImported from 'moment'; +import {Moment} from 'moment'; +import {TranslateService} from '@ngx-translate/core'; +import {fromDateISOString} from "@app/shared/dates"; + +const moment = momentImported; + +@Pipe({ + name: 'dateDiffDuration' +}) +export class DateDiffDurationPipe implements PipeTransform { + + protected dayUnit = this.translate.instant('COMMON.DAY_UNIT'); + + constructor( + private translate: TranslateService) { + } + + transform(value: { startValue: string | Moment; endValue: string | Moment }, args?: any): string | Promise<string> { + if (!value.startValue || !value.endValue) return ''; + + const startDate = fromDateISOString(value.startValue); + const endDate = fromDateISOString(value.endValue); + + const duration = moment.duration(endDate.diff(startDate)); + if (duration.asMinutes() < 0) return ''; + + const timeDuration = moment(0) + .hour(duration.hours()) + .minute(duration.minutes()); + + const days = Math.floor(duration.asDays()); + return (days > 0 ? days.toString() + (this.dayUnit + ' ') : '') + timeDuration.format('HH:mm'); + } + +} diff --git a/src/app/shared/pipes/date-format.pipe.ts b/src/app/shared/pipes/date-format.pipe.ts new file mode 100644 index 0000000..6657ec5 --- /dev/null +++ b/src/app/shared/pipes/date-format.pipe.ts @@ -0,0 +1,31 @@ +import {Injectable, Pipe, PipeTransform} from '@angular/core'; +import {isMoment, Moment} from 'moment'; +import {DATE_ISO_PATTERN, fromDateISOString} from '../dates'; +import {TranslateService} from '@ngx-translate/core'; +import * as momentImported from 'moment'; + +const moment = momentImported; + +@Pipe({ + name: 'dateFormat' +}) +export class DateFormatPipe implements PipeTransform { + + private readonly dateShortPattern: string; + private readonly dateTimePattern: string; + + constructor( + private translate: TranslateService + ) { + const translations = translate.instant(['COMMON.DATE_PATTERN', 'COMMON.DATE_SHORT_PATTERN']); + this.dateTimePattern = translations['COMMON.DATE_PATTERN']; + this.dateShortPattern = translations['COMMON.DATE_SHORT_PATTERN']; + } + + transform(value: string | Moment | Date, opts?: { pattern?: string; short?: boolean } ): string { + if (!value) return ''; + const pattern = opts?.pattern || (opts?.short ? this.dateShortPattern : this.dateTimePattern); + const date: Moment = isMoment(value) ? value : fromDateISOString(value); + return date?.format(pattern) || ''; + } +} diff --git a/src/app/shared/pipes/date-from-now.pipe.ts b/src/app/shared/pipes/date-from-now.pipe.ts new file mode 100644 index 0000000..49449cb --- /dev/null +++ b/src/app/shared/pipes/date-from-now.pipe.ts @@ -0,0 +1,18 @@ +import {Injectable, Pipe, PipeTransform} from '@angular/core'; +import {isMoment, Moment} from 'moment'; +import {fromDateISOString} from "@app/shared/dates"; + +@Pipe({ + name: 'dateFromNow' +}) +@Injectable({providedIn: 'root'}) +export class DateFromNowPipe implements PipeTransform { + + constructor() { + } + + transform(value: string | Moment, withoutSuffix: boolean): string { + const date: Moment = isMoment(value) ? value as Moment : fromDateISOString(value); + return date ? date.fromNow(withoutSuffix) : ''; + } +} diff --git a/src/app/shared/pipes/duration.pipe.ts b/src/app/shared/pipes/duration.pipe.ts new file mode 100644 index 0000000..2cf7aa7 --- /dev/null +++ b/src/app/shared/pipes/duration.pipe.ts @@ -0,0 +1,31 @@ +import {Pipe, Injectable, PipeTransform} from '@angular/core'; +import {TranslateService} from '@ngx-translate/core'; +import {toDuration} from '../dates'; + +@Pipe({ + name: 'duration' +}) +export class DurationPipe implements PipeTransform { + + protected dayUnit = this.translate.instant('COMMON.DAY_UNIT'); + + constructor( + private translate: TranslateService + ) { + } + + transform(value: number, args?: any): string { + if (!value) return ''; + const unit = args && args.unit || 'hours'; + + // try with moment + const duration = toDuration(value, unit); + + const days = duration.days(); + const hour = duration.hours().toString().padStart(2, '0'); + const minute = duration.minutes().toString().padStart(2, '0'); + + return (days > 0 ? days.toString() + (this.dayUnit + ' ') : '') + hour + ':' + minute; + + } +} diff --git a/src/app/shared/pipes/file-size.pipe.ts b/src/app/shared/pipes/file-size.pipe.ts new file mode 100644 index 0000000..7cc76b2 --- /dev/null +++ b/src/app/shared/pipes/file-size.pipe.ts @@ -0,0 +1,58 @@ +/** + * @license + * Copyright (c) 2019 Jonathan Catmull. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ +import {Pipe, PipeTransform} from '@angular/core'; + +/* + * Convert bytes into largest possible unit. + * Takes an precision argument that defaults to 2. + * Usage: + * bytes | fileSize:precision + * Example: + * {{ 1024 | fileSize}} + * formats to: 1 KB +*/ +@Pipe({name: 'fileSize'}) +export class FileSizePipe implements PipeTransform { + + private units = [ + 'bytes', + 'KB', + 'MB', + 'GB', + 'TB', + 'PB' + ]; + + transform(bytes: number = 0, precision: number = 2 ): string { + if ( isNaN( parseFloat( String(bytes) )) || ! isFinite( bytes ) ) return '?'; + + let unit = 0; + + while ( bytes >= 1024 ) { + bytes /= 1024; + unit ++; + } + + return bytes.toFixed( + precision ) + ' ' + this.units[ unit ]; + } +} diff --git a/src/app/shared/pipes/form.pipes.ts b/src/app/shared/pipes/form.pipes.ts new file mode 100644 index 0000000..d41dc6e --- /dev/null +++ b/src/app/shared/pipes/form.pipes.ts @@ -0,0 +1,128 @@ +import {ChangeDetectorRef, OnDestroy, Pipe, PipeTransform} from '@angular/core'; +import {AbstractControl, FormArray, FormControl, FormGroup} from '@angular/forms'; +import {Subscription} from 'rxjs'; +import {equals} from '../functions'; + +@Pipe({ + name: 'formGet' +}) +export class FormGetPipe implements PipeTransform { + + transform(form: AbstractControl, path: Array<string | number> | string ): AbstractControl { + return form.get(path); + } +} + +@Pipe({ + name: 'formGetControl' +}) +export class FormGetControlPipe implements PipeTransform { + + transform(form: AbstractControl, path?: Array<string | number> | string ): FormControl { + return (form && path && form.get(path) || form) as FormControl; + } +} + +@Pipe({ + name: 'formGetArray' +}) +export class FormGetArrayPipe implements PipeTransform { + + transform(form: AbstractControl, path?: Array<string | number> | string ): FormArray { + return (form && path && form.get(path) || form) as FormArray; + } +} + +@Pipe({ + name: 'formGetGroup' +}) +export class FormGetGroupPipe implements PipeTransform { + + transform(form: AbstractControl, path?: Array<string | number> | string ): FormGroup { + return (form && path && form.get(path) || form) as FormGroup; + } +} + +@Pipe({ + name: 'formGetValue', + pure: false +}) +export class FormGetValuePipe implements PipeTransform, OnDestroy { + + value: any = undefined; + + private _lastControl: AbstractControl | null = null; + private _lastPath: Array<string | number> | string; + private _onControlValueChanges: Subscription | undefined; + private _onControlStatusChanges: Subscription | undefined; + + constructor( + private _ref: ChangeDetectorRef + ) { + } + + transform(form: AbstractControl, path?: Array<string | number> | string, listenStatusChanges = false): any { + if (!form) { + this._dispose(); + return undefined; + } + + // if we ask another time for the same form and opts, return the last value + if (form === this._lastControl && equals(path, this._lastPath)) { + return this.value; + } + + // store the query, in case it changes + this._lastControl = form; + + // store the params, in case they change + this._lastPath = path; + + // set the value + const control = path ? form.get(path) : form; + this.value = control?.value; + + // if there is a subscription to onLangChange, clean it + this._dispose(); + + if (control) { + // subscribe to valueChanges event + this._onControlValueChanges = control.valueChanges.subscribe((value) => { + if (value !== this.value) { + this.value = value; + this._ref.markForCheck(); + } + }); + + // subscribe to statusChanges event + if (listenStatusChanges) { + this._onControlStatusChanges = control.statusChanges.subscribe((status) => { + const value = control.value; + if (value !== this.value) { + this.value = value; + this._ref.markForCheck(); + } + }); + } + } + + + + return this.value; + } + + ngOnDestroy(): void { + this._dispose(); + } + + /** + * Clean any existing subscription to change events + */ + private _dispose(): void { + this._onControlValueChanges?.unsubscribe(); + this._onControlValueChanges = undefined; + this._onControlStatusChanges?.unsubscribe(); + this._onControlStatusChanges = undefined; + } + +} diff --git a/src/app/shared/pipes/highlight.pipe.ts b/src/app/shared/pipes/highlight.pipe.ts new file mode 100644 index 0000000..d4f1681 --- /dev/null +++ b/src/app/shared/pipes/highlight.pipe.ts @@ -0,0 +1,37 @@ +import { Injectable, Pipe, PipeTransform } from '@angular/core'; +import { removeDiacritics, toBoolean } from '../functions'; + +@Pipe({ + name: 'highlight' +}) +@Injectable({providedIn: 'root'}) +export class HighlightPipe implements PipeTransform { + + // Replace search text by bold representation + transform(value: any, args?: string | { search: string; withAccent?: boolean } ): string { + if (typeof value !== 'string' || !args) return value; + const searchText = (typeof args === 'string' ? args : args.search); + const withAccent = (typeof args !== 'string') ? toBoolean(args?.withAccent, false) : false; + if (typeof searchText !== 'string') return value; + const searchRegexp = searchText + .replace(/[.]/g, '[.]') + .replace(/[*]+/g, '.*'); + if (searchRegexp === '.*') return value; // skip if can match everything + + if (withAccent) { + // Remove all accent characters to allow versatile comparison + const cleanedSearchText = removeDiacritics(searchRegexp).toUpperCase(); + const index = removeDiacritics(value.toUpperCase()).indexOf(cleanedSearchText); + if (index !== -1) { + return value.substring(0, index - 1) + + '<b>' + value.substring(index, cleanedSearchText.length) + '</b>' + + value.substring(index + cleanedSearchText.length); + } + return value; + } else { + // Default behaviour + const regexp = new RegExp('[ ]?' + searchRegexp, 'gi'); + return ('' + value).replace(regexp, '<b>$&</b>'); + } + } +} diff --git a/src/app/shared/pipes/maps.pipe.ts b/src/app/shared/pipes/maps.pipe.ts new file mode 100644 index 0000000..5e70e05 --- /dev/null +++ b/src/app/shared/pipes/maps.pipe.ts @@ -0,0 +1,39 @@ +import { Injectable, Pipe, PipeTransform } from '@angular/core'; + +@Pipe({ + name: 'mapGet' +}) +@Injectable({providedIn: 'root'}) +export class MapGetPipe implements PipeTransform { + + transform(val: any, args: string | number | {key: string | number} ): any { + if (!val) return null; + const key = (args && typeof args === 'object' ? args.key : args) as any; + if (!key) return null; + return val[key]; + } +} + +@Pipe({ + name: 'mapKeys' +}) +@Injectable({providedIn: 'root'}) +export class MapKeysPipe implements PipeTransform { + + transform(map: any): any[] { + if (!map) return null; + return Object.keys(map); + } +} + +@Pipe({ + name: 'mapValues' +}) +@Injectable({providedIn: 'root'}) +export class MapValuesPipe implements PipeTransform { + + transform(map: any): any[] { + if (!map) return null; + return Object.values(map); + } +} diff --git a/src/app/shared/pipes/math.pipes.ts b/src/app/shared/pipes/math.pipes.ts new file mode 100644 index 0000000..87e16f4 --- /dev/null +++ b/src/app/shared/pipes/math.pipes.ts @@ -0,0 +1,39 @@ +import {Injectable, Pipe, PipeTransform} from '@angular/core'; + +@Pipe({ + name: 'mathAbs' +}) +@Injectable({providedIn: 'root'}) +export class MathAbsPipe implements PipeTransform { + + transform(val: number): any { + if (val !== undefined && val !== null) { + return Math.abs(val); + } else { + return val; + } + } +} + +@Pipe({ + name: 'even' +}) +@Injectable({providedIn: 'root'}) +export class EvenPipe implements PipeTransform { + + transform(val: number): any { + return val % 2 === 0; + } +} + +@Pipe({ + name: 'odd' +}) +@Injectable({providedIn: 'root'}) +export class OddPipe implements PipeTransform { + + transform(val: number): any { + return val % 2 !== 0; + } +} + diff --git a/src/app/shared/pipes/ng-init.pipe.ts b/src/app/shared/pipes/ng-init.pipe.ts new file mode 100644 index 0000000..686cef4 --- /dev/null +++ b/src/app/shared/pipes/ng-init.pipe.ts @@ -0,0 +1,14 @@ +import {Directive, OnInit, Output, EventEmitter} from '@angular/core'; + +@Directive({ + selector: '[ngInit]' +}) +export class NgInitDirective implements OnInit { + + @Output() + ngInit = new EventEmitter<any>(); + + ngOnInit() { + this.ngInit.emit(); + } +} diff --git a/src/app/shared/pipes/number-format.pipe.ts b/src/app/shared/pipes/number-format.pipe.ts new file mode 100644 index 0000000..df03ccd --- /dev/null +++ b/src/app/shared/pipes/number-format.pipe.ts @@ -0,0 +1,20 @@ +import {Pipe, PipeTransform} from '@angular/core'; + +@Pipe({ + name: 'numberFormat' +}) +export class NumberFormatPipe implements PipeTransform { + + transform(val: number, opts?: Intl.NumberFormatOptions & {fixedDecimals?: number}): string | Promise<string> { + // Format the output to display any way you want here. + // For instance: + if (val !== undefined && val !== null) { + if (opts?.fixedDecimals) { + return val.toFixed(opts.fixedDecimals); + } + return val.toLocaleString(undefined, opts); + } else { + return ''; + } + } +} diff --git a/src/app/shared/pipes/pipes.module.ts b/src/app/shared/pipes/pipes.module.ts new file mode 100644 index 0000000..f553a9e --- /dev/null +++ b/src/app/shared/pipes/pipes.module.ts @@ -0,0 +1,120 @@ +import {NgModule} from '@angular/core'; +import {CommonModule} from '@angular/common'; +import {TranslateModule} from '@ngx-translate/core'; +import {IonicModule} from '@ionic/angular'; +import {DateFormatPipe} from './date-format.pipe'; +import {DateDiffDurationPipe} from './date-diff-duration.pipe'; +import {DateFromNowPipe} from './date-from-now.pipe'; +import {NumberFormatPipe} from './number-format.pipe'; +import {HighlightPipe} from './highlight.pipe'; +import {FileSizePipe} from './file-size.pipe'; +import {DurationPipe} from './duration.pipe'; +import {EvenPipe, MathAbsPipe, OddPipe} from './math.pipes'; +import { + ArrayFilterPipe, + ArrayFirstPipe, + ArrayIncludesPipe, + ArrayLengthPipe, + ArrayPluckPipe, + EmptyArrayPipe, + NotEmptyArrayPipe +} from './arrays.pipe'; +import {MapGetPipe, MapKeysPipe, MapValuesPipe} from './maps.pipe'; +import { + IsNilOrBlankPipe, + IsNotNilOrBlankPipe, + StrIncludesPipe, + StrLengthPipe, + ToStringPipe, + TranslatablePipe +} from './string.pipes'; +import {NgInitDirective} from './ng-init.pipe'; +import {FormGetArrayPipe, FormGetControlPipe, FormGetGroupPipe, FormGetPipe, FormGetValuePipe} from './form.pipes'; +import {PropertyGetPipe} from './property.pipes'; +import {AmountFormatPipe} from "@app/shared/pipes/amount.pipe"; +import {AddressFormatPipe} from "@app/shared/pipes/address.pipes"; + +@NgModule({ + imports: [ + CommonModule, + IonicModule, + TranslateModule + ], + declarations: [ + PropertyGetPipe, + DateFormatPipe, + DateDiffDurationPipe, + DurationPipe, + DateFromNowPipe, + HighlightPipe, + NumberFormatPipe, + FileSizePipe, + MathAbsPipe, + OddPipe, + EvenPipe, + NotEmptyArrayPipe, + EmptyArrayPipe, + ArrayLengthPipe, + ArrayFirstPipe, + ArrayPluckPipe, + ArrayIncludesPipe, + ArrayFilterPipe, + MapGetPipe, + MapKeysPipe, + MapValuesPipe, + IsNilOrBlankPipe, + IsNotNilOrBlankPipe, + ToStringPipe, + StrLengthPipe, + StrIncludesPipe, + TranslatablePipe, + NgInitDirective, + FormGetPipe, + FormGetControlPipe, + FormGetArrayPipe, + FormGetGroupPipe, + FormGetValuePipe, + AmountFormatPipe, + AddressFormatPipe + ], + exports: [ + PropertyGetPipe, + DateFormatPipe, + DateFromNowPipe, + DateDiffDurationPipe, + DurationPipe, + HighlightPipe, + NumberFormatPipe, + FileSizePipe, + MathAbsPipe, + OddPipe, + EvenPipe, + NotEmptyArrayPipe, + EmptyArrayPipe, + ArrayLengthPipe, + ArrayFirstPipe, + ArrayPluckPipe, + MapGetPipe, + MapKeysPipe, + MapValuesPipe, + IsNilOrBlankPipe, + IsNotNilOrBlankPipe, + ToStringPipe, + StrLengthPipe, + StrIncludesPipe, + ArrayIncludesPipe, + ArrayFilterPipe, + TranslatablePipe, + NgInitDirective, + FormGetPipe, + FormGetControlPipe, + FormGetArrayPipe, + FormGetGroupPipe, + FormGetValuePipe, + AmountFormatPipe, + AddressFormatPipe + ] +}) +export class SharedPipesModule { + +} diff --git a/src/app/shared/pipes/property.pipes.ts b/src/app/shared/pipes/property.pipes.ts new file mode 100644 index 0000000..e72a04b --- /dev/null +++ b/src/app/shared/pipes/property.pipes.ts @@ -0,0 +1,16 @@ +import {Pipe, PipeTransform} from '@angular/core'; +import {getPropertyByPath} from '../functions'; + +@Pipe({ + name: 'propertyGet' +}) +export class PropertyGetPipe implements PipeTransform { + + transform(obj: any, opts: string | {key: string; defaultValue?: any } ): any { + return getPropertyByPath(obj, + // Path + opts && (typeof opts === 'string' ? opts : opts.key), + // Default value + opts && (opts as any).defaultValue); + } +} diff --git a/src/app/shared/pipes/string.pipes.ts b/src/app/shared/pipes/string.pipes.ts new file mode 100644 index 0000000..9ef5369 --- /dev/null +++ b/src/app/shared/pipes/string.pipes.ts @@ -0,0 +1,67 @@ +import {Injectable, Pipe, PipeTransform} from '@angular/core'; +import {changeCaseToUnderscore, isNilOrBlank, isNotNilOrBlank} from '../functions'; + +@Pipe({ + name: 'isNotNilOrBlank' +}) +export class IsNotNilOrBlankPipe implements PipeTransform { + transform(value: string): boolean { + return isNotNilOrBlank(value); + } +} + +@Pipe({ + name: 'isNilOrBlank' +}) +export class IsNilOrBlankPipe implements PipeTransform { + transform(value: string): boolean { + return isNilOrBlank(value); + } +} + +@Pipe({ + name: 'toString' +}) +export class ToStringPipe implements PipeTransform { + transform(value: number): string { + return (value !== null && value !== undefined) ? value.toString() : ''; + } +} + + +@Pipe({ + name: 'strLength' +}) +@Injectable({providedIn: 'root'}) +export class StrLengthPipe implements PipeTransform { + transform(value: string): number { + return value && value.length || 0; + } +} + + +@Pipe({ + name: 'strIncludes' +}) +export class StrIncludesPipe implements PipeTransform { + transform(value: string, searchString: string, position?: number): boolean { + return value?.includes(searchString, position) || false; + } +} + +/* + * Transform a string into valid i18n key + * Usage: + * value | translatable + * Example: + * {{ 'myPropertyName' | translatable}} + * formats to: MY_PROPERTY_PATH +*/ +@Pipe({ + name: 'translatable' +}) +export class TranslatablePipe implements PipeTransform { + transform(value: string): string { + return changeCaseToUnderscore(value)?.toUpperCase(); + } +} diff --git a/src/app/shared/services/base-service.class.ts b/src/app/shared/services/base-service.class.ts new file mode 100644 index 0000000..63f3445 --- /dev/null +++ b/src/app/shared/services/base-service.class.ts @@ -0,0 +1,47 @@ +import {Subscription} from 'rxjs'; +import {environment} from "../../../environments/environment"; + +export interface IBaseServiceOptions { + name?: string; +} + +export abstract class BaseService<O extends IBaseServiceOptions = IBaseServiceOptions> { + + private _subscription: Subscription = null; + + protected readonly _debug: boolean; + protected readonly _logPrefix: string = null; + + protected constructor( + protected options?: O + ) { + this._debug = !environment.production; + this._logPrefix = `[${options?.name || 'base-service'}] `; + } + + protected registerSubscription(sub: Subscription) { + this._subscription = this._subscription || new Subscription(); + this._subscription.add(sub); + } + + protected unregisterSubscription(sub: Subscription) { + this._subscription.remove(sub); + } + + protected unsubscribe() { + this._subscription?.unsubscribe(); + this._subscription = null; + } + + protected debug(msg, ...params: any[]) { + if (!this._debug) return; + if (params) console.debug(this._logPrefix + msg, params); + else console.debug(this._logPrefix + msg) + } + + protected log(msg, ...params: any[]) { + if (!this._debug) return; + if (params) console.log(this._logPrefix + msg, params); + else console.log(this._logPrefix + msg) + } +} diff --git a/src/app/shared/services/keyring-storage.ts b/src/app/shared/services/keyring-storage.ts new file mode 100644 index 0000000..2dc0a88 --- /dev/null +++ b/src/app/shared/services/keyring-storage.ts @@ -0,0 +1,35 @@ +import {KeyringJson, KeyringStore} from "@polkadot/ui-keyring/types"; +import {StorageService} from "@app/services/storage.service"; + +export class KeyringStorage implements KeyringStore { + constructor( + protected storage: StorageService, + protected storagePrefix?: string + ) { + this.storagePrefix = this.storagePrefix || 'keyring-'; + } + + get(key: string, cb) { + this.storage.getObject(this.storagePrefix + key) + .then(json => cb(json as unknown as KeyringJson)); + } + + set(key: string, value: KeyringJson, cb) { + this.storage.setObject(this.storagePrefix + key, value).then(cb); + } + + remove(key, cb) { + this.storage.removeItem(this.storagePrefix + key).then(cb); + } + + async all(cb) { + const keys = await this.storage.keys(); + for (let key of keys) { + if (key.startsWith(this.storagePrefix)) { + const json = await this.storage.getObject(key); + const shortKey = key.substring(this.storagePrefix.length); + cb(shortKey, json as unknown as KeyringJson); + } + } + } +} diff --git a/src/app/shared/services/startable-service.class.ts b/src/app/shared/services/startable-service.class.ts new file mode 100644 index 0000000..4ece06e --- /dev/null +++ b/src/app/shared/services/startable-service.class.ts @@ -0,0 +1,104 @@ +import {Optional} from '@angular/core'; +import {Subject} from 'rxjs'; +import {waitFor} from '../observables'; +import {BaseService, IBaseServiceOptions} from "@app/shared/services/base-service.class"; + +export interface IStartableService<T = any> { + started: boolean; + start(): Promise<T>; + stop(): Promise<void>; + ready(): Promise<T>; +} + +export interface IStartableServiceOptions extends IBaseServiceOptions { +} + +export abstract class StartableService<T = any, O extends IStartableServiceOptions = IStartableServiceOptions> + extends BaseService<O> + implements IStartableService<T> { + + onStart = new Subject<T>(); + + protected _startByReadyFunction = true; // should start when calling ready() ? + protected _data: T = null; + + private _started = false; + private _startPromise: Promise<T> = null; + private _startPrerequisite: () => Promise<any> = null; + + protected constructor( + @Optional() prerequisiteService?: { ready: () => Promise<any> }, + options?: O + ) { + super(options); + this._startPrerequisite = prerequisiteService + ? () => prerequisiteService.ready() + : () => Promise.resolve(); + } + + start(): Promise<T> { + if (this._startPromise) return this._startPromise; + if (this._started) return Promise.resolve(this._data); + + this._startPromise = this._startPrerequisite() + .then(() => this.ngOnStart()) + .then(data => { + this._data = data; + + this._started = true; + this._startPromise = undefined; + + this.onStart.next(this._data); + + return this._data; + }) + .catch(err => { + console.error('Failed to start a service: ' + (err && err.message || err), err); + this._started = false; + this._startPromise = null; + return null; + }); + return this._startPromise; + } + + async stop() { + try { + this.unsubscribe(); + await this.ngOnStop(); + this._started = false; + this._startPromise = undefined; + } + catch (err) { + console.error('Failed to stop a service: ' + (err && err.message || err), err); + } + } + + async restart(): Promise<T> { + if (this._startPromise) await this._startPromise; // Wait end of previous loading + if (this._started) await this.stop(); // Then stop if started + return this.start(); // Then start again + } + + get started(): boolean { + return this._started; + } + + get starting(): boolean { + return !!this._startPromise; + } + + ready(): Promise<T> { + if (this._started) return Promise.resolve(this._data); + if (this._startPromise) return this._startPromise; + if (this._startByReadyFunction) return this.start(); + return waitFor(() => this._started) + .then(() => this._data); + } + + protected async ngOnStop(): Promise<void> { + // Can be override by subclasses + } + + protected abstract ngOnStart(): Promise<T>; + +} diff --git a/src/app/shared/shared.module.ts b/src/app/shared/shared.module.ts new file mode 100644 index 0000000..15a36ff --- /dev/null +++ b/src/app/shared/shared.module.ts @@ -0,0 +1,31 @@ +import {NgModule} from '@angular/core'; +import {CommonModule} from '@angular/common'; +import {FormsModule, ReactiveFormsModule} from '@angular/forms'; + +import {IonicModule} from '@ionic/angular'; +import {TranslateModule} from "@ngx-translate/core"; +import {SharedPipesModule} from "@app/shared/pipes/pipes.module"; + +@NgModule({ + imports: [ + CommonModule, + FormsModule, + ReactiveFormsModule, + IonicModule, + TranslateModule, + + // App modules + SharedPipesModule + ], + exports: [ + CommonModule, + FormsModule, + ReactiveFormsModule, + IonicModule, + TranslateModule, + + // App modules + SharedPipesModule + ] +}) +export class AppSharedModule {} diff --git a/src/app/shared/types.ts b/src/app/shared/types.ts new file mode 100644 index 0000000..08fe5e7 --- /dev/null +++ b/src/app/shared/types.ts @@ -0,0 +1,25 @@ +export declare type KeyType = string | number; +export declare type KeyValueType<T> = {[key in KeyType]: T}; + +export declare type KeysEnum<T> = { [P in keyof Required<T>]: boolean }; + +export declare interface ObjectMap<O = any> { + [key: string]: O; +} + +export declare interface ObjectMapEntry<O = any> { + key: string; + value?: O; +} + +export declare type PropertiesMap = ObjectMap<string>; + +export declare type Property = ObjectMapEntry<string>; + +export declare type PropertiesArray = Property[]; + +export declare interface IconRef { + icon?: string; // An ion-icon name + matIcon?: string; // A mat icon + matSvgIcon?: string; // A mat SVG icon +} diff --git a/src/app/transfer/transfer-routing.module.ts b/src/app/transfer/transfer-routing.module.ts new file mode 100644 index 0000000..3bc695c --- /dev/null +++ b/src/app/transfer/transfer-routing.module.ts @@ -0,0 +1,18 @@ +import {NgModule} from '@angular/core'; +import {RouterModule, Routes} from '@angular/router'; + +import {TransferPage} from './transfer.page'; + +const routes: Routes = [ + { + path: '', + pathMatch: 'full', + component: TransferPage + } +]; + +@NgModule({ + imports: [RouterModule.forChild(routes)], + exports: [RouterModule], +}) +export class TransferPageRoutingModule {} diff --git a/src/app/transfer/transfer.module.ts b/src/app/transfer/transfer.module.ts new file mode 100644 index 0000000..c7105ef --- /dev/null +++ b/src/app/transfer/transfer.module.ts @@ -0,0 +1,18 @@ +import {NgModule} from '@angular/core'; + +import {TransferPage} from './transfer.page'; +import {AppSharedModule} from "@app/shared/shared.module"; +import {TranslateModule} from "@ngx-translate/core"; +import {TransferPageRoutingModule} from "@app/transfer/transfer-routing.module"; +import {WotModule} from "@app/wot/wot.module"; + +@NgModule({ + imports: [ + AppSharedModule, + TranslateModule.forChild(), + TransferPageRoutingModule, + WotModule + ], + declarations: [TransferPage] +}) +export class TransferPageModule {} diff --git a/src/app/transfer/transfer.page.html b/src/app/transfer/transfer.page.html new file mode 100644 index 0000000..c5b192f --- /dev/null +++ b/src/app/transfer/transfer.page.html @@ -0,0 +1,98 @@ +<ion-header [translucent]="true"> + <ion-toolbar> + <ion-buttons slot="start"> + <ion-menu-button></ion-menu-button> + </ion-buttons> + <ion-title translate>TRANSFER.TITLE</ion-title> + </ion-toolbar> +</ion-header> + +<ion-content [fullscreen]="true"> + <ion-header collapse="condense"> + <ion-toolbar> + <ion-title size="large" translate>TRANSFER.TITLE</ion-title> + </ion-toolbar> + </ion-header> + <div id="container"> + + <ion-list> + <ion-item> + <ion-label color="medium" slot="start" translate>TRANSFER.TO</ion-label> + <ion-input [(ngModel)]="recipient.address" (ionFocus)="modal.present()"> + </ion-input> + <ion-button slot="end" id="open-modal-trigger"> + <ion-icon slot="icon-only" name="search"></ion-icon> + </ion-button> + </ion-item> + <ion-item> + <ion-label color="medium" translate>TRANSFER.FROM</ion-label> + <ion-select [(ngModel)]="issuer.address"> + <ng-container *ngFor="let account$ of data"> + <ion-select-option *ngIf="(account$|async); let account" [value]="account.address">{{account.meta?.name}}</ion-select-option> + </ng-container> + </ion-select> + <ion-badge *ngIf="issuer" slot="end">{{issuer.free|amountFormat}}</ion-badge> + </ion-item> + + <ion-item> + <ion-label color="medium" translate>TRANSFER.AMOUNT</ion-label> + <ion-input type="number" [(ngModel)]="amount"> + + </ion-input> + </ion-item> + + <ion-item lines="none"> + <ion-toggle [(ngModel)]="showComment"> + </ion-toggle> + <ion-label class="ion-text-start" color="medium" translate>TRANSFER.BTN_ADD_COMMENT</ion-label> + </ion-item> + + <ion-item *ngIf="showComment"> + <ion-textarea [placeholder]="'TRANSFER.COMMENT_HELP'|translate" rows="5"> + + </ion-textarea> + </ion-item> + + </ion-list> + + <div class="ion-text-center" *ngIf="!mobile"> + <ion-button (click)="cancel()" color="light"> + <ion-label translate>COMMON.BTN_CANCEL</ion-label> + </ion-button> + <ion-button (click)="submit()"> + <ion-icon slot="start" name="paper-plane"></ion-icon> + <ion-label translate>TRANSFER.BTN_SEND</ion-label> + </ion-button> + </div> + </div> + + <ion-modal + #modal + trigger="open-modal-trigger" + [isOpen]="false" + [initialBreakpoint]="0.25" + [breakpoints]="[0.25, 0.5, 0.75]" + [backdropDismiss]="false" + [backdropBreakpoint]="0.5" + > + <ng-template> + <app-wot-lookup + [showToolbar]="false" + [showSearchBar]="true" + [showItemActions]="false" + (itemClick)="setRecipient($event) || modal.dismiss()" + (searchClick)="modal.setCurrentBreakpoint(0.75)"> + </app-wot-lookup> + </ng-template> + </ion-modal> +</ion-content> + +<ion-footer *ngIf="mobile"> + <ion-button (click)="wallet.transfer()" color="light"> + <ion-label translate>COMMON.BTN_CANCEL</ion-label> + </ion-button> + <ion-button (click)="wallet.transfer()"> + <ion-icon slot="start" name="paper-plane"></ion-icon> + <ion-label translate>TRANSFER.BTN_SEND</ion-label> + </ion-button> +</ion-footer> diff --git a/src/app/transfer/transfer.page.scss b/src/app/transfer/transfer.page.scss new file mode 100644 index 0000000..281733f --- /dev/null +++ b/src/app/transfer/transfer.page.scss @@ -0,0 +1,6 @@ +ion-menu-button { + color: var(--ion-color-primary); +} + +#container { +} diff --git a/src/app/transfer/transfer.page.spec.ts b/src/app/transfer/transfer.page.spec.ts new file mode 100644 index 0000000..4f8b221 --- /dev/null +++ b/src/app/transfer/transfer.page.spec.ts @@ -0,0 +1,24 @@ +import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; +import { IonicModule } from '@ionic/angular'; +import { RouterModule } from '@angular/router'; +import { TransferPage } from './wallet.page'; + +describe('FolderPage', () => { + let component: TransferPage; + let fixture: ComponentFixture<TransferPage>; + + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + declarations: [ TransferPage ], + imports: [IonicModule.forRoot(), RouterModule.forRoot([])] + }).compileComponents(); + + fixture = TestBed.createComponent(TransferPage); + component = fixture.componentInstance; + fixture.detectChanges(); + })); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/transfer/transfer.page.ts b/src/app/transfer/transfer.page.ts new file mode 100644 index 0000000..bee53cc --- /dev/null +++ b/src/app/transfer/transfer.page.ts @@ -0,0 +1,71 @@ +import {Component, Injector, OnDestroy, OnInit, ViewChild} from '@angular/core'; +import {AccountService} from "../wallet/account.service"; +import {BasePage} from "@app/shared/page/base.page"; +import {UiAccount} from "@app/wallet/account.model"; +import {IonModal} from "@ionic/angular"; +import {from, Observable} from "rxjs"; +import {isNotNil} from "@app/shared/functions"; +import {FormBuilder} from "@angular/forms"; + +@Component({ + selector: 'app-transfer', + templateUrl: './transfer.page.html', + styleUrls: ['./transfer.page.scss'], +}) +export class TransferPage extends BasePage<Observable<UiAccount>[]> implements OnInit, OnDestroy { + + showComment: boolean; + issuer: Partial<UiAccount> = {}; + recipient: Partial<UiAccount> = {}; + amount: number; + + @ViewChild('modal') modal: IonModal; + + constructor( + injector: Injector, + formBuilder: FormBuilder, + public wallet: AccountService, + ) { + super(injector, {name: 'transfer'}); + } + + ngOnInit() { + super.ngOnInit(); + } + + ngOnDestroy() { + if (this.modal.isOpen) { + this.modal.dismiss(); + } + } + + protected async ngOnLoad(): Promise<Observable<UiAccount>[]> { + await this.wallet.ready(); + + const accounts = await this.wallet.getAll(); + return accounts + .map(a => a.meta?.name) + .filter(isNotNil) + .map(id => from(this.wallet.getById(id))); + } + + setRecipient(recipient: string|UiAccount) { + if (typeof recipient === 'object') { + this.recipient.address = recipient.address; + this.recipient.meta = recipient.meta; + } + else { + this.recipient.address = recipient; + this.recipient.meta = null; + } + } + + cancel() { + // + } + + submit() { + // TODO send TX + + } +} diff --git a/src/app/wallet/account.model.ts b/src/app/wallet/account.model.ts new file mode 100644 index 0000000..e1e7550 --- /dev/null +++ b/src/app/wallet/account.model.ts @@ -0,0 +1,28 @@ + +export interface AccountMeta { + name: string; + source: string; +} + +export interface AccountExtendedMeta { + name?: string; + uid?: string; + avatar?: string; + email?: string; +} + +export interface Account { + address: string; +} +export interface AccountWithMeta extends Account { + meta: AccountMeta; +} + + +export interface UiAccount extends Account { + free?: number; + meta: AccountExtendedMeta; +} + +export interface AccountData extends UiAccount { +} diff --git a/src/app/wallet/account.service.ts b/src/app/wallet/account.service.ts new file mode 100644 index 0000000..e5b4f76 --- /dev/null +++ b/src/app/wallet/account.service.ts @@ -0,0 +1,178 @@ +import {Injectable} from "@angular/core"; +import {NetworkService} from "../network/network.service"; +import {ApiPromise} from "@polkadot/api"; +import {Account, AccountWithMeta, UiAccount} from "./account.model"; +import {StartableService} from "@app/shared/services/startable-service.class"; +import {AuthData} from "@app/auth/auth.model"; +import {keyring} from "@polkadot/ui-keyring"; +import {environment} from "@environments/environment"; +import {StorageService} from "@app/services/storage.service"; +import {KeyringStorage} from "@app/shared/services/keyring-storage"; +import {RegisterData} from "@app/register/register.model"; + +@Injectable({providedIn: 'root'}) +export class AccountService extends StartableService { + + private _accounts: AccountWithMeta[] = null; + private _store = new KeyringStorage(this.storage); + + get api(): ApiPromise { + return this.network.api; + } + + + constructor( + protected network: NetworkService, + protected storage: StorageService + ) { + super(network, { + name: 'wallet-service' + }); + } + + protected async ngOnStart(): Promise<any> { + await this.loadAccounts(); + + // Not need, because network already wait crypto + //await cryptoWaitReady(); + + // load all available addresses and accounts + keyring.loadAll({ + store: this._store, + ss58Format: environment.keyring?.ss58Format || 42 /* dev format */, + type: 'sr25519', + isDevelopment: !environment.production + }); + + // (Advanced, development-only) add with an implied dev seed and hard derivation + // const alice = keyring.addFromUri('//Alice', { name: 'Alice default' }); + // this.log('TODO', alice); + } + + async login(auth: AuthData): Promise<Account> { + + // TODO + return this._accounts[0]; + } + + async register(auth: RegisterData): Promise<boolean> { + return true; + } + + async loadAccounts() { + + // Restore locally + this._accounts = [ + { + address: '5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY', + meta: { + name: 'Alice', + source: '' //TODO + } + }, + { + address: '5FHneW46xGXgs5mUiveU4sbTyGBzmstUspZC92UhjJM694ty', + meta : { + name: 'Bob', + source: '' + } + }, + { + address: '5DBeNAHnbgsiFSJuaa45PEcocKuGiyJ7ZhbFF8mtEAiU8Xvg', + meta: { + name: 'Ben', + source: '0xb816f7d2264fd113aca484c90b97acdf848b705db5c756afe7d1d99bc4c434da' + } + } + ] + + const now = await this.api.query.timestamp.now(); + await Promise.all(this._accounts + .map(account => this.loadData(account)) + ); + + + } + + async getAll(): Promise<AccountWithMeta[]> { + if (!this.started) await this.ready(); + + return this._accounts.map(account => ({...account, meta: { + name: account.meta.name, + source: null // Protected + }})); + } + + async getDefault(opts?: { withTx?: boolean }): Promise<UiAccount> { + if (!this.started) await this.ready(); + + const account = this._accounts[0]; + if (!account) throw {message: 'ERROR.UNKNOWN_WALLET_ID'}; + + // Load + return await this.loadData(account); + } + + async getById(name: string, opts?: { withTx?: boolean }): Promise<UiAccount> { + if (!this.started) await this.ready(); + + const account = this._accounts.find(a => a.meta?.name === name); + if (!account) throw {message: 'ERROR.UNKNOWN_WALLET_ID'}; + + // Load + return await this.loadData(account); + } + + async transfer(from?: Account, to?: Account) { + + // the address we use to use for signing, as injected + const SENDER = this._accounts[0].address; + + // Sign and send a transfer from Alice to Bob + // const txHash = await this.api.tx.balances + // .transfer(BOB, 12345) + // .signAndSend(alice); + + // Show the hash + //console.info(`Submitted with hash ${txHash}`); + + // finds an injector for an address + //const injector = await web3FromSource(this.accounts[0].meta.source); + //const injector = await web3FromAddress(SENDER); + /* + + // sign and send our transaction - notice here that the address of the account + // (as retrieved injected) is passed through as the param to the `signAndSend`, + // the API then calls the extension to present to the user and get it signed. + // Once complete, the api sends the tx + signature via the normal process + this.api.tx.balances + .transfer('5C5555yEXUcmEJ5kkcCMvdZjUo7NGJiQJMS7vZXEeoMhj3VQ', 12) + .signAndSend(SENDER, { signer: injector.signer }, (status) => { + if (status.isInBlock) { + console.log(`Completed at block hash #${status}`); + } else { + console.log(`Current status: ${status}`); + } + }).catch((error: any) => { + console.log(':( transaction failed', error); + });*/ + } + + private async loadData(account: AccountWithMeta): Promise<UiAccount> { + const data = await this.api.query.system.account(account.address); + + this.debug("Account response:", data); + + //console.info(`${now}: balance of ${balance.free} and a nonce of ${nonce}`); + + return { + address: account.address, + free: 0, + meta: { + ...account.meta + } + }; + } + + +} diff --git a/src/app/wallet/wallet.module.ts b/src/app/wallet/wallet.module.ts index 074075e..d765b24 100644 --- a/src/app/wallet/wallet.module.ts +++ b/src/app/wallet/wallet.module.ts @@ -1,17 +1,14 @@ import {NgModule} from '@angular/core'; -import {CommonModule} from '@angular/common'; -import {FormsModule} from '@angular/forms'; - -import {IonicModule} from '@ionic/angular'; import {WalletPage} from './wallet.page'; import {WalletPageRoutingModule} from "./wallet-routing.module"; +import {AppSharedModule} from "@app/shared/shared.module"; +import {TranslateModule} from "@ngx-translate/core"; @NgModule({ imports: [ - CommonModule, - FormsModule, - IonicModule, + AppSharedModule, + TranslateModule.forChild(), WalletPageRoutingModule ], declarations: [WalletPage] diff --git a/src/app/wallet/wallet.page.html b/src/app/wallet/wallet.page.html index 471b35f..e5581fe 100644 --- a/src/app/wallet/wallet.page.html +++ b/src/app/wallet/wallet.page.html @@ -1,31 +1,57 @@ <ion-header [translucent]="true"> - <ion-toolbar> + <ion-toolbar color="primary"> <ion-buttons slot="start"> <ion-menu-button></ion-menu-button> </ion-buttons> - <ion-title>{{ walletId }}</ion-title> + <ion-title>{{'ACCOUNT.TITLE'|translate: {name: walletId} }}</ion-title> </ion-toolbar> </ion-header> <ion-content [fullscreen]="true"> - <ion-header collapse="condense"> - <ion-toolbar> - <ion-title size="large">{{ walletId }}</ion-title> + <ion-header> + <ion-toolbar class="ion-text-end" color="secondary"> + <ion-title size="large">{{ data?.free | amountFormat }}</ion-title> </ion-toolbar> </ion-header> <div id="container"> <ion-list> + <ion-item *ngIf="error" lines="none" color="light"> + <ion-icon slot="start" name="alert-circle" color="danger"></ion-icon> + <ion-label color="danger">{{error|translate}}</ion-label> + </ion-item> + <ion-item> - <ion-icon slot="start" name="person"></ion-icon> - <ion-text>Test</ion-text> + <ion-icon slot="start" name="key"></ion-icon> + <ion-label color="medium" translate>COMMON.PUBKEY</ion-label> + <ion-input *ngIf="loaded; else inputSkeleton" + class="ion-text-end" + [value]="data?.address" + readonly> + </ion-input> + <ion-button slot="end" (click)="copyAddress()" fill="clear" [title]="'COMMON.COPY'|translate"> + <ion-icon slot="icon-only" name="copy"></ion-icon> + </ion-button> + </ion-item> + + <ion-item detail [routerLink]="['/wot/cert/', data?.address]"> + <ion-icon slot="start" name="ribbon"></ion-icon> + <ion-label translate>ACCOUNT.CERTIFICATION_COUNT</ion-label> + <ion-badge color="success">0</ion-badge> </ion-item> + </ion-list> - <ion-button (click)="wallet.transfer()"> - <ion-icon slot="start" name="paper-plane"></ion-icon> - <ion-label>Envoyer</ion-label> - </ion-button> + <div class="ion-text-center"> + <ion-button [routerLink]="'../../transfer'"> + <ion-icon slot="start" name="paper-plane"></ion-icon> + <ion-label translate>COMMON.BTN_SEND_MONEY</ion-label> + </ion-button> + </div> </div> </ion-content> + +<ng-template #inputSkeleton> + <ion-skeleton-text animated style="width: 60%"></ion-skeleton-text> +</ng-template> diff --git a/src/app/wallet/wallet.page.ts b/src/app/wallet/wallet.page.ts index 2c0f4d6..a1ddba4 100644 --- a/src/app/wallet/wallet.page.ts +++ b/src/app/wallet/wallet.page.ts @@ -1,31 +1,46 @@ -import { Component, OnInit } from '@angular/core'; -import { ActivatedRoute } from '@angular/router'; -import {AccountService} from "../services/account.service"; +import {ChangeDetectionStrategy, Component, Injector, OnInit} from '@angular/core'; +import {ActivatedRoute} from '@angular/router'; +import {AccountService} from "./account.service"; +import {Clipboard} from "@capacitor/clipboard"; +import {AccountData} from "./account.model"; +import {BasePage} from "@app/shared/page/base.page"; @Component({ selector: 'app-wallet', templateUrl: './wallet.page.html', styleUrls: ['./wallet.page.scss'], + changeDetection: ChangeDetectionStrategy.OnPush }) -export class WalletPage implements OnInit { +export class WalletPage extends BasePage<AccountData> implements OnInit { + public walletId: string; + get loaded(): boolean { + return !this.loading; + } + constructor( - public wallet: AccountService, - private activatedRoute: ActivatedRoute + injector: Injector, + public accountService: AccountService ) { + super(injector, {name: 'wallet-page'}) - this.load(); + this.walletId = this.activatedRoute.snapshot.paramMap.get('id'); } ngOnInit() { - this.walletId = this.activatedRoute.snapshot.paramMap.get('id'); + super.ngOnInit(); } - async load() { - await this.wallet.ready(); - + protected ngOnLoad(): Promise<AccountData> { + return this.accountService.getById(this.walletId); + } + async copyAddress() { + await Clipboard.write({ + string: this.data?.address + }); + await this.showToast({message: 'INFO.COPY_TO_CLIPBOARD_DONE'}); } } diff --git a/src/app/wot/wot-details.page.html b/src/app/wot/wot-details.page.html new file mode 100644 index 0000000..bab7bc5 --- /dev/null +++ b/src/app/wot/wot-details.page.html @@ -0,0 +1,69 @@ +<ion-header [translucent]="true" *ngIf="showToolbar"> + <ion-toolbar color="primary"> + <ion-buttons slot="start"> + <ion-menu-button></ion-menu-button> + </ion-buttons> + <ion-title translate>MENU.WOT</ion-title> + </ion-toolbar> +</ion-header> + +<ion-content [fullscreen]="true"> + + <div id="container"> + + <ion-searchbar [placeholder]="'WOT.SEARCH_HELP'|translate" + (change)="search()" + (click)="searchClick.emit($event)"> + </ion-searchbar> + + <ion-list> + + <ng-container *ngIf="loading"> + + <ng-template [ngTemplateOutlet]="itemSkeleton"></ng-template> + <ng-template [ngTemplateOutlet]="itemSkeleton"></ng-template> + <ng-template [ngTemplateOutlet]="itemSkeleton"></ng-template> + </ng-container> + + <ng-template #items> + <ion-item-sliding *ngFor="let item of data"> + <ion-item > + <ion-avatar slot="start" *ngIf="item.meta?.avatar; else iconPerson"> + <ion-img [src]="item.meta?.avatar"></ion-img> + </ion-avatar> + <ng-template #iconPerson> + <ion-icon slot="start" name="person"></ion-icon> + </ng-template> + <ion-label> + <h2>{{item.meta?.name}}</h2> + <p>{{item.address|addressFormat}}</p> + </ion-label> + <ion-button slot="end" *ngIf="!mobile" (click)="transfer(item)" [title]="'BTN_SEND_MONEY'|translate"> + <ion-icon slot="icon-only" name="paper-plane"></ion-icon> + </ion-button> + </ion-item> + <ion-item-options *ngIf="mobile"> + <ion-item-option (click)="transfer(item)" [title]="'BTN_SEND_MONEY'|translate"> + <ion-icon slot="icon-only" name="paper-plane"></ion-icon> + </ion-item-option> + </ion-item-options> + </ion-item-sliding> + </ng-template> + + </ion-list> + + </div> +</ion-content> + + +<ng-template #itemSkeleton> + <ion-item> + <ion-icon slot="start" name="person"></ion-icon> + <ion-skeleton-text animated style="width: 60%"></ion-skeleton-text> + </ion-item> +</ng-template> + + +<ng-template #inputSkeleton> + <ion-skeleton-text animated style="width: 60%"></ion-skeleton-text> +</ng-template> diff --git a/src/app/wot/wot-details.page.scss b/src/app/wot/wot-details.page.scss new file mode 100644 index 0000000..281733f --- /dev/null +++ b/src/app/wot/wot-details.page.scss @@ -0,0 +1,6 @@ +ion-menu-button { + color: var(--ion-color-primary); +} + +#container { +} diff --git a/src/app/wot/wot-details.page.ts b/src/app/wot/wot-details.page.ts new file mode 100644 index 0000000..2ab9e15 --- /dev/null +++ b/src/app/wot/wot-details.page.ts @@ -0,0 +1,47 @@ +import {ChangeDetectionStrategy, Component, EventEmitter, Injector, Input, OnInit, Output} from '@angular/core'; + +import {BasePage} from "@app/shared/page/base.page"; +import {AccountWithMeta, UiAccount} from "@app/wallet/account.model"; +import {Router} from "@angular/router"; +import {WotService} from "@app/wot/wot.service"; +import {WotSearchFilter} from "@app/wot/wot.model"; + +@Component({ + selector: 'app-wot-details', + templateUrl: './wot-details.page.html', + styleUrls: ['./wot-details.page.scss'], + changeDetection: ChangeDetectionStrategy.OnPush +}) +export class WotDetailsPage extends BasePage<UiAccount> implements OnInit { + + address = this.activatedRoute.snapshot.paramMap.get('address'); + + constructor(injector: Injector, + private router: Router, + private wotService: WotService + ) { + super(injector, {name: 'wot-details-page'}); + } + + ngOnInit() { + } + + protected async ngOnLoad(): Promise<UiAccount> { + + await this.wotService.ready(); + + const data = await this.wotService.search({address: this.address}); + + return data[0]; + } + + transfer() { + this.router.navigate(['transfer'], { + queryParams: { + address: this.data.address, + name: this.data.meta?.name + } + }); + } + +} diff --git a/src/app/wot/wot-lookup.page.html b/src/app/wot/wot-lookup.page.html new file mode 100644 index 0000000..7c51e13 --- /dev/null +++ b/src/app/wot/wot-lookup.page.html @@ -0,0 +1,84 @@ +<ion-header [translucent]="true" *ngIf="showToolbar"> + <ion-toolbar color="primary"> + <ion-buttons slot="start"> + <ion-menu-button></ion-menu-button> + </ion-buttons> + <ion-title translate>MENU.WOT</ion-title> + </ion-toolbar> +</ion-header> + +<ion-content [fullscreen]="true"> + + <div id="container"> + + <ion-searchbar *ngIf="showSearchBar" + #searchBar + inputmode="search" + autocomplete="off" + animated="true" + showClearButton="true" + [debounce]="debounceTime" + (ionClear)="markAsLoading()" + (ionInput)="markAsLoading()" + (ionChange)="searchChanged($event, $event.detail.value)" + (search)="searchChanged($event, searchBar.value)" + [placeholder]="'WOT.SEARCH_HELP'|translate" + (click)="searchClick.emit($event)"> + </ion-searchbar> + + <ion-list> + + <ng-container *ngIf="loading; else items"> + + <ng-template [ngTemplateOutlet]="itemSkeleton"></ng-template> + <ng-template [ngTemplateOutlet]="itemSkeleton"></ng-template> + <ng-template [ngTemplateOutlet]="itemSkeleton"></ng-template> + </ng-container> + + <ng-template #items> + <ion-item-sliding *ngFor="let item of data"> + <ion-item [detail]="!itemClick.observed" (click)="click(item)"> + <ion-avatar slot="start" *ngIf="item.meta?.avatar; else iconPerson"> + <ion-img [src]="item.meta?.avatar"></ion-img> + </ion-avatar> + <ng-template #iconPerson> + <ion-avatar slot="start"> + <svg width="40" width="40" [data-jdenticon-value]="item.address"></svg> + </ion-avatar> + </ng-template> + <ion-label> + <h2>{{item.meta?.name}}</h2> + <p>{{item.address|addressFormat}}</p> + </ion-label> + <ion-button slot="end" *ngIf="showItemActions && !mobile" (click)="transfer(item)" [title]="'BTN_SEND_MONEY'|translate"> + <ion-icon slot="icon-only" name="paper-plane"></ion-icon> + </ion-button> + </ion-item> + <ion-item-options *ngIf="mobile && showItemActions"> + <ion-item-option (click)="transfer(item)" [title]="'BTN_SEND_MONEY'|translate"> + <ion-icon slot="icon-only" name="paper-plane"></ion-icon> + </ion-item-option> + </ion-item-options> + </ion-item-sliding> + </ng-template> + + </ion-list> + + </div> +</ion-content> + + +<ng-template #itemSkeleton> + <ion-item> + <ion-icon slot="start" name="person"></ion-icon> + <ion-label> + <h2><ion-skeleton-text animated style="width: 20%;"></ion-skeleton-text></h2> + <p><ion-skeleton-text animated style="width: 50%;"></ion-skeleton-text></p> + </ion-label> + </ion-item> +</ng-template> + + +<ng-template #inputSkeleton> + <ion-skeleton-text animated style="width: 60%"></ion-skeleton-text> +</ng-template> diff --git a/src/app/wot/wot-lookup.page.scss b/src/app/wot/wot-lookup.page.scss new file mode 100644 index 0000000..281733f --- /dev/null +++ b/src/app/wot/wot-lookup.page.scss @@ -0,0 +1,6 @@ +ion-menu-button { + color: var(--ion-color-primary); +} + +#container { +} diff --git a/src/app/wot/wot-lookup.page.spec.ts b/src/app/wot/wot-lookup.page.spec.ts new file mode 100644 index 0000000..530a8a4 --- /dev/null +++ b/src/app/wot/wot-lookup.page.spec.ts @@ -0,0 +1,24 @@ +import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; +import { IonicModule } from '@ionic/angular'; +import { RouterModule } from '@angular/router'; +import { WotLookupPage } from './wallet.page'; + +describe('FolderPage', () => { + let component: WotLookupPage; + let fixture: ComponentFixture<WotLookupPage>; + + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + declarations: [ WotLookupPage ], + imports: [IonicModule.forRoot(), RouterModule.forRoot([])] + }).compileComponents(); + + fixture = TestBed.createComponent(WotLookupPage); + component = fixture.componentInstance; + fixture.detectChanges(); + })); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/wot/wot-lookup.page.ts b/src/app/wot/wot-lookup.page.ts new file mode 100644 index 0000000..ef3b915 --- /dev/null +++ b/src/app/wot/wot-lookup.page.ts @@ -0,0 +1,93 @@ +import {ChangeDetectionStrategy, Component, EventEmitter, Injector, Input, OnInit, Output} from '@angular/core'; + +import {BasePage} from "@app/shared/page/base.page"; +import {AccountWithMeta, UiAccount} from "@app/wallet/account.model"; +import {Router} from "@angular/router"; +import {WotService} from "@app/wot/wot.service"; +import {WotSearchFilter} from "@app/wot/wot.model"; +import {toBoolean} from "@app/shared/functions"; + +@Component({ + selector: 'app-wot-lookup', + templateUrl: './wot-lookup.page.html', + styleUrls: ['./wot-lookup.page.scss'], + changeDetection: ChangeDetectionStrategy.OnPush +}) +export class WotLookupPage extends BasePage<UiAccount[]> implements OnInit { + + @Input() debounceTime = 650; + @Input() showToolbar = true; + @Input() showSearchBar = true; + @Output() searchClick = new EventEmitter<Event>(); + @Output() itemClick = new EventEmitter<UiAccount>(); + + @Input() showItemActions: boolean; + + constructor(injector: Injector, + private router: Router, + private wotService: WotService + ) { + super(injector, {name: 'wot-lookup-page'}); + } + + ngOnInit() { + super.ngOnInit(); + this.showItemActions = toBoolean(this.showItemActions, !this.itemClick.observed); + } + + protected async ngOnLoad(): Promise<UiAccount[]> { + + await this.wotService.ready(); + + return this.search({last: true}); + } + + async search(filter?: WotSearchFilter): Promise<UiAccount[]> { + this.log('search:', arguments); + + this.markAsLoading(); + + try { + this.data = await this.wotService.search(filter); + return this.data; + } + catch (err) { + this.setError(err); + } + finally { + this.markAsLoaded(); + this.markForCheck(); + } + } + + transfer(item: AccountWithMeta | UiAccount) { + this.router.navigate(['transfer'], { + queryParams: { + name: item.meta?.name, + address: item.address + } + }); + } + + click(item: AccountWithMeta) { + if (this.itemClick.observed) { + this.itemClick.emit(item); + } + else { + // Open + this.router.navigate(['wot', '']) + } + } + + public markAsLoading() { + super.markAsLoading(); + } + + searchChanged(event: CustomEvent<any>, value: string) { + if (!event || event.defaultPrevented) return; + event.preventDefault(); + event.stopPropagation(); + + this.search({text: value}); + } +} diff --git a/src/app/wot/wot-routing.module.ts b/src/app/wot/wot-routing.module.ts new file mode 100644 index 0000000..e197326 --- /dev/null +++ b/src/app/wot/wot-routing.module.ts @@ -0,0 +1,24 @@ +import { NgModule } from '@angular/core'; +import { Routes, RouterModule } from '@angular/router'; + +import { WotLookupPage } from './wot-lookup.page'; +import {WotDetailsPage} from "@app/wot/wot-details.page"; + +const routes: Routes = [ + { + path: '', + pathMatch: 'full', + component: WotLookupPage + }, + { + path: ':address', + pathMatch: 'full', + component: WotDetailsPage + } +]; + +@NgModule({ + imports: [RouterModule.forChild(routes)], + exports: [RouterModule], +}) +export class WotRoutingModule {} diff --git a/src/app/wot/wot.model.ts b/src/app/wot/wot.model.ts new file mode 100644 index 0000000..8ddaa09 --- /dev/null +++ b/src/app/wot/wot.model.ts @@ -0,0 +1,7 @@ + +export interface WotSearchFilter { + + address?: string; + text?: string; + last?: boolean; +} diff --git a/src/app/wot/wot.module.ts b/src/app/wot/wot.module.ts new file mode 100644 index 0000000..1618f39 --- /dev/null +++ b/src/app/wot/wot.module.ts @@ -0,0 +1,26 @@ +import {NgModule} from '@angular/core'; + +import {WotLookupPage} from './wot-lookup.page'; +import {AppSharedModule} from "@app/shared/shared.module"; +import {TranslateModule} from "@ngx-translate/core"; +import {WotRoutingModule} from "@app/wot/wot-routing.module"; +import {WotDetailsPage} from "@app/wot/wot-details.page"; +import {NgxJdenticonModule} from "ngx-jdenticon"; + +@NgModule({ + imports: [ + AppSharedModule, + TranslateModule.forChild(), + NgxJdenticonModule, + WotRoutingModule + ], + exports: [ + WotLookupPage, + WotDetailsPage + ], + declarations: [ + WotLookupPage, + WotDetailsPage + ] +}) +export class WotModule {} diff --git a/src/app/wot/wot.service.ts b/src/app/wot/wot.service.ts new file mode 100644 index 0000000..11efc78 --- /dev/null +++ b/src/app/wot/wot.service.ts @@ -0,0 +1,53 @@ +import {Injectable} from "@angular/core"; +import {NetworkService} from "../network/network.service"; +import {ApiPromise} from "@polkadot/api"; +import {Account, AccountData, UiAccount, AccountWithMeta} from "../wallet/account.model"; +import {StartableService} from "@app/shared/services/startable-service.class"; +import {WotSearchFilter} from "@app/wot/wot.model"; +import {AccountService} from "@app/wallet/account.service"; +import {sleep} from "@app/shared/functions"; +import {accounts} from "@polkadot/ui-keyring/observable/accounts"; +import {map} from "rxjs"; + +@Injectable({providedIn: 'root'}) +export class WotService extends StartableService<void> { + + get api(): ApiPromise { + return this.network.api; + } + + constructor( + protected network: NetworkService, + protected accountService: AccountService + ) { + super(network, { + name: 'wot-service' + }); + } + + protected async ngOnStart(): Promise<void> { + // Noting to do + } + + async search(filter?: WotSearchFilter): Promise<UiAccount[]> { + if (!this.started) await this.ready(); + + console.info(this._logPrefix + 'Searching...', filter); + + // TODO + await sleep(500); + const avatars = ['a', 'b', 'c', 'd'].map(letter => 'https://i.pravatar.cc/300?u=' + letter) + + return (await this.accountService.getAll()) + .map((account, i) => { + return <UiAccount>{ + address: account.address, + meta: { + name: account.meta?.name, + avatar: avatars[i] + } + } + }); + } + +} diff --git a/src/assets/i18n/ca.json b/src/assets/i18n/ca.json new file mode 100644 index 0000000..0fdec30 --- /dev/null +++ b/src/assets/i18n/ca.json @@ -0,0 +1,999 @@ +{ + "COMMON": { + "APP_NAME": "Cesium", + "APP_VERSION": "v{{version}}", + "APP_BUILD": "data: {{build}}", + "PUBKEY": "Clau pública", + "MEMBER": "Membre", + "BLOCK": "Bloc", + "BTN_OK": "OK", + "BTN_YES": "Sí", + "BTN_NO": "No", + "BTN_SEND": "Envia", + "BTN_SEND_MONEY": "Fes un pagament", + "BTN_SEND_MONEY_SHORT": "Pagament", + "BTN_SAVE": "Desa", + "BTN_YES_SAVE": "Sí, desa", + "BTN_YES_CONTINUE": "Sí, continua", + "BTN_SHOW": "Mira", + "BTN_SHOW_PUBKEY": "Mira la clau", + "BTN_RELATIVE_UNIT": "Mostra els imports en DU", + "BTN_BACK": "Anterior", + "BTN_NEXT": "Següent", + "BTN_IMPORT": "Importa", + "BTN_CANCEL": "Cancel·la", + "BTN_CLOSE": "Tanca", + "BTN_LATER": "Més tard", + "BTN_LOGIN": "Connectar-se", + "BTN_LOGOUT": "Desconnexió", + "BTN_ADD_ACCOUNT": "Compte cou", + "BTN_SHARE": "Comparteix", + "BTN_EDIT": "Modifica", + "BTN_DELETE": "Supreix", + "BTN_ADD": "Afegeix", + "BTN_SEARCH": "Busca", + "BTN_REFRESH": "Actualitza", + "BTN_RETRY": "Comença de bell nou", + "BTN_START": "Comença", + "BTN_CONTINUE": "Continua", + "BTN_CREATE": "Crea", + "BTN_UNDERSTOOD": "Entesos", + "BTN_OPTIONS": "Opcions", + "BTN_HELP_TOUR": "Visita guiada", + "BTN_HELP_TOUR_SCREEN": "Explica'm aquesta pantalla", + "BTN_DOWNLOAD": "Descarrega", + "BTN_DOWNLOAD_ACCOUNT_STATEMENT": "Descarrega l'històric del compte", + "BTN_MODIFY": "Modifica", + "CHOOSE_FILE": "Arrassegueu el fitxer<br/>o cliqui'l per a seleccionar-lo", + "DAYS": "Dies", + "NO_ACCOUNT_QUESTION": "Encara no sou membre? Faci's un compte!", + "SEARCH_NO_RESULT": "No s'ha trobat res", + "LOADING": "Espereu si us plau...", + "LOADING_WAIT": "Espereu si us plau...<br/><small>(en espera de tenir un node disponible)</small>", + "SEARCHING": "Cerca en procés...", + "FROM": "De", + "TO": "A", + "COPY": "Copia", + "LANGUAGE": "Idioma", + "UNIVERSAL_DIVIDEND": "Dividend universal", + "UD": "DU", + "DATE_PATTERN": "DD/MM/YYYY HH:mm", + "DATE_FILE_PATTERN": "YYYY-MM-DD", + "DATE_SHORT_PATTERN": "DD/MM/YY", + "DATE_MONTH_YEAR_PATTERN": "MM/YYYY", + "EMPTY_PARENTHESIS": "(buit)", + "UID": "Pseudònim", + "ENABLE": "Activat", + "DISABLE": "Desactivat", + "RESULTS_LIST": "Resultats:", + "RESULTS_COUNT": "{{count}} resultats", + "EXECUTION_TIME": "executant en {{duration|formatDurationMs}}", + "SHOW_VALUES": "Mostra les contrasenyes", + "POPOVER_ACTIONS_TITLE": "Opcions", + "POPOVER_FILTER_TITLE": "Filtres", + "SHOW_MORE": "Mostra'n més", + "SHOW_MORE_COUNT": "(límit actual {{limit}})", + "POPOVER_SHARE": { + "TITLE": "Comparteix", + "SHARE_ON_TWITTER": "Comparteix a Twitter", + "SHARE_ON_FACEBOOK": "Comparteix a Facebook", + "SHARE_ON_DIASPORA": "Comparteix a Diaspora*", + "SHARE_ON_GOOGLEPLUS": "Comparteix a Google+" + }, + "FILE": { + "DATE" : "Data:", + "TYPE" : "Tipus:", + "SIZE": "Mida:", + "VALIDATING": "Validant..." + } + }, + "SYSTEM": { + "PICTURE_CHOOSE_TYPE": "Trieu la font:", + "BTN_PICTURE_GALLERY": "Galeria", + "BTN_PICTURE_CAMERA": "<b>Càmera</b>" + }, + "MENU": { + "HOME": "Inici", + "WOT": "Directori", + "CURRENCY": "Moneda", + "ACCOUNT": "Compte", + "WALLETS": "Moneders", + "SETTINGS": "Ajustos", + "NETWORK": "Xarxa", + "TRANSACTIONS": "Transaccions" + }, + "ABOUT": { + "BTN_OPEN_DEV_WINDOW": "Obriu la finestra de depuració", + "TITLE": "A propòsit de", + "LICENSE": "Programari <b>lliure</b> (llicència GNU AGPLv3).", + "LATEST_RELEASE": "Existeix una <b>versió més nova</b> de {{'COMMON.APP_NAME' | translate}} (<b>v{{version}}</b>)", + "PLEASE_UPDATE": "Si us plau feu l'actualització {{'COMMON.APP_NAME' | translate}} (última versió: <b>v{{version}}</b>)", + "CODE": "Codi font:", + "OFFICIAL_WEB_SITE": "Web oficial:", + "DEVELOPERS": "Desenvolupat per:", + "FORUM": "Fòrum:", + "PLEASE_REPORT_ISSUE": "Si us plau, informeu-nos de les anomalies que trobeu", + "REPORT_ISSUE": "Informeu d'un problema" + }, + "HOME": { + "FEED_SOURCE": "Font", + "READ_MORE": "Llegiu més", + "SHOW_ALL_FEED": "Veure tot", + "TITLE": "Cesium", + "WELCOME": "Benvingut/da a l'aplicació Cesium!", + "MESSAGE": "Rebeu i envieu moneda lliure {{currency|abbreviate}} fàcilment", + "BTN_CURRENCY": "Exploreu la moneda", + "BTN_ABOUT": "A propòsit de", + "BTN_HELP": "Ajuda en línea", + "REPORT_ISSUE": "Informeu d'una anomalia", + "NOT_YOUR_ACCOUNT_QUESTION": "Aquest compte <b><i class=\"ion-key\"></i> {{pubkey|formatPubkey}} no és vostre</b>?", + "BTN_CHANGE_ACCOUNT": "Desconnecta aquest compte", + "CONNECTION_ERROR": "Node <b>{{server}}</b> inabastable o adreça invàlida.<br/><br/>Comproveu bé la vostra connexió a Internet, o el node Duniter <a class=\"positive\" ng-click=\"doQuickFix('settings')\">als ajustos</a>." + }, + "SETTINGS": { + "TITLE": "Ajustos", + "DISPLAY_DIVIDER": "Visualització", + "STORAGE_DIVIDER": "Emmagatzematge", + "NETWORK_SETTINGS": "Xarxa", + "PEER": "Adreça del node Duniter", + "PEER_CHANGED_TEMPORARY": "Adreça usada temporalment", + "PEER_SHORT": "Node Duniter", + "PERSIST_CACHE": "Conserva les dades de navegació (experimental)", + "PERSIST_CACHE_HELP": "Permet una navegació més ràpida, conservant localment les dades rebudes, per fer servir d'una sessió a una altra.", + "USE_LOCAL_STORAGE": "Activa l'emmagatzematge local", + "USE_LOCAL_STORAGE_HELP": "Permet conservar els vostres ajustos", + "WALLETS_SETTINGS": "Els meus moneders", + "USE_WALLETS_ENCRYPTION": "Xifra el llistat", + "USE_WALLETS_ENCRYPTION_HELP": "Permet protegir el listat dels vostres moneders (mitjançant xifrat), exigint una autenticació per accedir-hi.", + "ENABLE_HELPTIP": "Activa l'ajuda contextual", + "ENABLE_UI_EFFECTS": "Activa els efectes visuals", + "HISTORY_SETTINGS": "Transaccions del compte", + "DISPLAY_UD_HISTORY": "Mostra els DU creats", + "TX_HISTORY_AUTO_REFRESH": "Activa l'actualització automàtica", + "TX_HISTORY_AUTO_REFRESH_HELP": "Actualitza el saldo i les transaccions automàticament, amb cada bloc nou.", + "AUTHENTICATION_SETTINGS": "Autenticació", + "KEEP_AUTH": "Caducitat de l'autenticació", + "KEEP_AUTH_SHORT": "Caducitat", + "KEEP_AUTH_HELP": "Defineixi quan expira la seva sessió", + "KEEP_AUTH_OPTION": { + "NEVER": "Después de cada operación", + "SECONDS": "Después de {{value}} segundos de inactividad", + "MINUTE": "Después de {{value}}min de inactividad", + "MINUTES": "Después de {{value}}mins de inactividad", + "HOUR": "Después de {{value}}h de inactividad", + "ALWAYS": "Al finalizar la sesión" + }, + "KEYRING_FILE": "Archivo de llaves", + "KEYRING_FILE_HELP": "Le permite <b>conectarse</b> automáticamente en cada inicio <br/>e incluso de <b>autenticarse</b> (solo si \"Caducidad de la autenticación\" está configurada en modo: \"al finalizar la sesión\").", + "REMEMBER_ME": "Recordarme", + "REMEMBER_ME_HELP": "Permite mantenerse siempre conectado (no recomendado), conservando localmente la llave pública.", + "PLUGINS_SETTINGS": "Extensiones", + "BTN_RESET": "Restaurar los valores por defecto", + "EXPERT_MODE": "Modo experto", + "EXPERT_MODE_HELP": "Permite una visualización más detallada", + "BLOCK_VALIDITY_WINDOW": "Tiempo de incertitud de los bloques", + "DISABLE_HELPTIP": "Desactivar la opción de ayuda contextual", + "BLOCK_VALIDITY_WINDOW_SHORT": "Tiempo de incertitud", + "BLOCK_VALIDITY_WINDOW_HELP": "Tiempo de espera antes de considerar una información como validada", + "BLOCK_VALIDITY_OPTION": { + "NONE": "Sin espera", + "N": "{{time | formatDuration}} ({{count}} bloques)" + }, + "POPUP_PEER": { + "TITLE": "Nodo Duniter", + "HOST": "Dirección", + "HOST_HELP": "Dirección: servidor:puerto", + "USE_SSL": "Conexión segura", + "USE_SSL_HELP": "(Cifrado SSL)", + "BTN_SHOW_LIST": "Lista de nodos" + } + }, + "BLOCKCHAIN": { + "HASH": "Hash: {{hash}}", + "VIEW": { + "HEADER_TITLE": "Bloque #{{number}}-{{hash|formatHash}}", + "TITLE_CURRENT": "Bloque actual", + "TITLE": "Bloque #{{number|formatInteger}}", + "COMPUTED_BY": "Calculado por el nodo de", + "SHOW_RAW": "Ver el fichero en bruto", + "TECHNICAL_DIVIDER": "Informaciones técnicas", + "VERSION": "Versión del formato", + "HASH": "Hash calculado", + "UNIVERSAL_DIVIDEND_HELP": "Moneda co-producida por cada uno de los {{membersCount}} miembros", + "EMPTY": "Ningún dato en este bloque", + "POW_MIN": "Dificultad mínima", + "POW_MIN_HELP": "Dificultad impuesta por el cálculo del hash", + "DATA_DIVIDER": "Datos", + "IDENTITIES_COUNT": "Nuevas identidades", + "JOINERS_COUNT": "Nuevos miembros", + "ACTIVES_COUNT": "Renovaciones", + "ACTIVES_COUNT_HELP": "Miembros que han renovado sus adhesiones", + "LEAVERS_COUNT": "Miembros salientes", + "LEAVERS_COUNT_HELP": "Miembros salientes que ya no quieren estar certificados", + "EXCLUDED_COUNT": "Miembros excluidos", + "EXCLUDED_COUNT_HELP": "Antiguos miembros excluidos por no renovación o falta de certificaciones", + "REVOKED_COUNT": "Identidades revocadas", + "REVOKED_COUNT_HELP": "Estas cuentas no podrán ser miembros", + "TX_COUNT": "Transacciones", + "CERT_COUNT": "Certificaciones", + "TX_TO_HIMSELF": "Operación de cambio", + "TX_OUTPUT_UNLOCK_CONDITIONS": "Condiciones de desbloqueo", + "TX_OUTPUT_OPERATOR": { + "AND": "y", + "OR": "o" + }, + "TX_OUTPUT_FUNCTION": { + "SIG": "<b>Firma</b> de ", + "XHX": "<b>Contraseña</b>, cuyo SHA256 =", + "CSV": "Bloqueado durante", + "CLTV": "Bloqueado hasta" + } + }, + "LOOKUP": { + "TITLE": "Bloques", + "NO_BLOCK": "Ningún bloque", + "LAST_BLOCKS": "Últimos bloques:", + "BTN_COMPACT": "Compactar" + } + }, + "CURRENCY": { + "VIEW": { + "TITLE": "Moneda", + "TAB_CURRENCY": "Moneda", + "TAB_WOT": "Red de confianza", + "TAB_NETWORK": "Red", + "TAB_BLOCKS": "Bloques", + "CURRENCY_SHORT_DESCRIPTION": "{{currency|abbreviate}} es una <b>moneda libre</b>, originada {{firstBlockTime|formatFromNow}}. Cuenta actualmente con <b>{{N}} miembros</b>, que producen y reciben un <a ng-click=\"showHelpModal('ud')\">Dividendo Universal</a> (DU) cada {{dt|formatPeriod}}.", + "NETWORK_RULES_DIVIDER": "Reglas de la red", + "CURRENCY_NAME": "Nombre de la moneda", + "MEMBERS": "Cantidad de miembros", + "MEMBERS_VARIATION": "Variación desde último DU", + "MONEY_DIVIDER": "Moneda", + "MASS": "Masa monetaria", + "SHARE": "Masa media por miembro", + "UD": "Dividendo Universal", + "C_ACTUAL": "Crecimiento actual", + "MEDIAN_TIME": "Hora de la cadena de bloques", + "POW_MIN": "Nivel mínimo de dificultad de cálculo", + "MONEY_RULES_DIVIDER": "Reglas de la moneda", + "C_RULE": "Crecimiento teórico objetivo", + "UD_RULE": "Cálculo del dividendo universal", + "DT_REEVAL": "Periodo de revalorización del DU", + "REEVAL_SYMBOL": "reval", + "DT_REEVAL_VALUE": "Todos los <b>{{dtReeval|formatDuration}}</b> ({{dtReeval/86400}} {{'COMMON.DAYS'|translate}})", + "UD_REEVAL_TIME0": "Fecha de la primera revalorización", + "SIG_QTY_RULE": "Certificaciones requeridas para ser miembro", + "SIG_STOCK": "Máximo de certificaciones emitibles por miembros", + "SIG_PERIOD": "Espera mínima entre 2 certificaciones sucesivas emitidas por el mismo individuo", + "SIG_WINDOW": "Límite para tener en cuenta una certificación", + "SIG_VALIDITY": "Duración de una certificación tenida en cuenta", + "MS_WINDOW": "Límite para aprobar una solicitud de membresía", + "MS_VALIDITY": "Duración de una membresía aprobada", + "STEP_MAX": "Distancia máxima entre una nueva candidatura y cada miembro referente", + "WOT_RULES_DIVIDER": "Reglas de la red de confianza", + "SENTRIES": "Certificaciones necesarias para ser miembro referente", + "SENTRIES_FORMULA": "Fórmula de las certificaciones necesarias para ser miembro referente", + "XPERCENT":"Porcentaje mínimo necesario de miembros referentes respentando la regla de distancia máxima", + "AVG_GEN_TIME": "Tiempo medio entre dos bloques", + "CURRENT": "actual", + "MATH_CEILING": "TECHO", + "DISPLAY_ALL_RULES": "¿Ver todas las reglas?", + "BTN_SHOW_LICENSE": "Ver la licencia", + "WOT_DIVIDER": "Red de confianza" + }, + "LICENSE": { + "TITLE": "Licencia de la moneda", + "BTN_DOWNLOAD": "Descargar el fichero", + "NO_LICENSE_FILE": "Fichero de licencia no encontrado." + } + }, + "NETWORK": { + "VIEW": { + "MEDIAN_TIME": "Hora de la cadena de bloques", + "LOADING_PEERS": "Cargando nodos…", + "NODE_ADDRESS": "Dirección:", + "SOFTWARE": "Software:", + "WARN_PRE_RELEASE": "Prelanzamiento (última versión estable: <b>{{version}}</b>)", + "WARN_NEW_RELEASE": "Versión <b>{{version}}</b> disponible", + "WS2PID": "ID:", + "PRIVATE_ACCESS": "Acceso privado", + "POW_PREFIX": "Prefijo de la prueba de trabajo:", + "ENDPOINTS": { + "BMAS": "Interfaz segura (SSL)", + "BMATOR": "Interfaz red TOR", + "WS2P": "Interfaz WS2P", + "ES_USER_API": "Nodo de datos Cesium+" + } + }, + "INFO": { + "ONLY_SSL_PEERS": "La visualización de los nodos sin SSL está deteriorada porque Cesium funciona en modo HTTPS." + } + }, + "PEER": { + "PEERS": "Nodos", + "SIGNED_ON_BLOCK": "Firmado sobre el bloque", + "MIRROR": "espejo", + "MIRRORS": "Espejo", + "MIRROR_PEERS": "Nodos espejo", + "PEER_LIST": "Lista de nodos", + "MEMBERS": "Miembro", + "MEMBER_PEERS": "Nodos miembro", + "ALL_PEERS": "Todos los nodos", + "DIFFICULTY": "Dificultad", + "API": "API", + "CURRENT_BLOCK": "Bloque #", + "POPOVER_FILTER_TITLE": "Filtro", + "OFFLINE": "Fuera de línea", + "OFFLINE_PEERS": "Nodos fuera de línea", + "BTN_SHOW_PEER": "Ver nodo", + "VIEW": { + "TITLE": "Nodo", + "OWNER": "Propiedad de", + "SHOW_RAW_PEERING": "Ver la ficha del par", + "SHOW_RAW_CURRENT_BLOCK": "Ver el último bloque (formato bruto)", + "LAST_BLOCKS": "Bloques recientes", + "KNOWN_PEERS": "Nodos conocidos:", + "GENERAL_DIVIDER": "Información general", + "ERROR": { + "LOADING_TOR_NODE_ERROR": "No se pudo obtener la información del nodo usando la red TOR.", + "LOADING_NODE_ERROR": "No se pudo obtener la información del nodo" + } + } + }, + "WOT": { + "SEARCH_HELP": "Buscar (seudónimo o llave pública)", + "SEARCH_INIT_PHASE_WARNING": "Durante la etapa de preinscripción, el tiempo de búsqueda de las candidaturas en espera <b>puede tardar</b>. Por favor espere…", + "REGISTERED_SINCE": "Se registró en", + "REGISTERED_SINCE_BLOCK": "Se registró en el bloque #", + "NO_CERTIFICATION": "Ninguna certificación validada", + "NO_GIVEN_CERTIFICATION": "Ninguna certificación emitida", + "NOT_MEMBER_PARENTHESIS": "(no miembro)", + "IDENTITY_REVOKED_PARENTHESIS": "(identidad revocada)", + "MEMBER_PENDING_REVOCATION_PARENTHESIS": "(revocación en proceso)", + "EXPIRE_IN": "Expira", + "NOT_WRITTEN_EXPIRE_IN": "Fecha límite<br/>de procesamiento", + "EXPIRED": "Expirado", + "PSEUDO": "Seudónimo", + "SIGNED_ON_BLOCK": "Emitida en el bloque #{{block}}", + "WRITTEN_ON_BLOCK": "Escrita en el bloque #{{block}}", + "GENERAL_DIVIDER": "Informaciones generales", + "NOT_MEMBER_ACCOUNT": "Cuenta no miembro", + "NOT_MEMBER_ACCOUNT_HELP": "Se trata de un monedero simple, sin solicitud de membresía en espera", + "TECHNICAL_DIVIDER": "Informaciones técnicas", + "BTN_CERTIFY": "Certificar", + "BTN_YES_CERTIFY": "Sí, certificar", + "BTN_SELECT_AND_CERTIFY": "Nueva certificación", + "ACCOUNT_OPERATIONS": "Transacciones de la cuenta", + "VIEW": { + "POPOVER_SHARE_TITLE": "Identidad {{title}}" + }, + "LOOKUP": { + "TITLE": "Directorio", + "NEWCOMERS": "Nuevos miembros:", + "NEWCOMERS_COUNT": "{{count}} miembros", + "PENDING": "Inscripciones en espera:", + "PENDING_COUNT": "{{count}} inscripciones en espera", + "REGISTERED": "Se inscribió {{sigDate | formatFromNow}}", + "MEMBER_FROM": "Miembro desde {{memberDate|medianFromNowShort}}", + "BTN_NEWCOMERS": "Miembros recientes", + "BTN_PENDING": "Candidaturas en espera", + "SHOW_MORE": "Mostrar más", + "SHOW_MORE_COUNT": "(mostrar solo {{limit}})", + "NO_PENDING": "Ninguna candidatura en espera.", + "NO_NEWCOMERS": "Sin miembros." + }, + "CONTACTS": { + "TITLE": "Contactos" + }, + "MODAL": { + "TITLE": "Buscar" + }, + "CERTIFICATIONS": { + "TITLE": "{{uid}} - Certificaciones", + "SUMMARY": "Certificaciones recibidas", + "LIST": "Detalle de las certificaciones recibidas", + "PENDING_LIST": "Certificaciones en espera de tratamiento", + "RECEIVED": "Certificaciones recibidas", + "RECEIVED_BY": "Certificaciones recibidas por {{uid}}", + "ERROR": "Certificaciones recibidas por error", + "SENTRY_MEMBER": "Miembro referente" + }, + "OPERATIONS": { + "TITLE": "{{uid}} - Transacciones" + }, + "GIVEN_CERTIFICATIONS": { + "TITLE": "{{uid}} - Certificaciones emitidas", + "SUMMARY": "Certificaciones emitidas", + "LIST": "Detalle de las certificaciones emitidas", + "PENDING_LIST": "Certificaciones en espera a ser procesadas", + "SENT": "Certificaciones emitidas", + "SENT_BY": "Certificaciones emitidas por {{uid}}", + "ERROR": "Certificaciones emitidas por error" + } + }, + "LOGIN": { + "TITLE": "<i class=\"icon ion-locked\"></i> Conexión", + "SCRYPT_FORM_HELP": "Ingrese sus credenciales.<br>Recuerde comprobar que la llave pública pertenece a su cuenta.", + "PUBKEY_FORM_HELP": "Por favor ingrese una llave pública de cuenta:", + "FILE_FORM_HELP": "Elija el archivo de llaves a usar:", + "SCAN_FORM_HELP": "Escanee el código QR de un monedero.", + "SALT": "Frase secreta", + "SALT_HELP": "Frase secreta", + "SHOW_SALT": "Mostrar la frase secreta", + "PASSWORD": "Contraseña", + "PASSWORD_HELP": "Contraseña", + "PUBKEY_HELP": "llave pública", + "NO_ACCOUNT_QUESTION": "¿Aún no tiene cuenta? ", + "HAVE_ACCOUNT_QUESTION": "¿Ya tiene cuenta?", + "CREATE_ACCOUNT": "Crear una cuenta", + "CREATE_FREE_ACCOUNT": "Crear una cuenta gratis", + "FORGOTTEN_ID": "¿Olvidó su contraseña?", + "ASSOCIATED_PUBKEY": "Llave pública del archivo de llaves:", + "BTN_METHODS": "Otros métodos", + "BTN_METHODS_DOTS": "Otras vías…", + "METHOD_POPOVER_TITLE": "Métodos", + "MEMORIZE_AUTH_FILE": "Memorizar las llaves durante la sesión de navegación", + "SCRYPT_PARAMETERS": "Ajustes (Scrypt) :", + "AUTO_LOGOUT": { + "TITLE": "Información", + "MESSAGE": "<i class=\"ion-android-time\"></i> Se ha <b>desconectado</b> de forma automática, después de un periodo de inactividad prolongada.", + "BTN_RELOGIN": "Volver a conectarme", + "IDLE_WARNING": "Será desconectado en… {{countdown}}" + }, + "METHOD": { + "SCRYPT_DEFAULT": "Estándar (por defecto)", + "SCRYPT_ADVANCED": "Aleatoriedad avanzada", + "FILE": "Archivo de llaves", + "PUBKEY": "Llave pública o seudónimo", + "SCAN": "Escanear un código QR" + }, + "SCRYPT": { + "SIMPLE": "Ligero", + "DEFAULT": "Predeterminado", + "SECURE": "Seguro", + "HARDEST": "El más seguro", + "EXTREME": "Extremo", + "USER": "Personalizado", + "N": "N (Loop):", + "r": "r (RAM):", + "p": "p (CPU):" + }, + "FILE": { + "HELP": "Formato de archivo esperado: <b>.yml</b> o <b>.dunikey</b> (tipo PubSec, WIF o EWIF)." + } + }, + "API": { + "COMMON": { + "CONNECTION_ERROR": "Nodo <b>{{server}}</b> inalcanzable o dirección inválida.<br/><br/>Verifique su conexión a Internet, o contacte con la administración del sitio.</a>.", + "LINK_DOC": "Documentación API", + "LINK_DOC_HELP": "Documentación para desarrolladores", + "LINK_STANDARD_APP": "Versión clásica", + "LINK_STANDARD_APP_HELP": "Abrir la versión clásica de {{'COMMON.APP_NAME'|translate}}" + }, + "DOC": { + "AVAILABLE_PARAMETERS": "Lista de parámetros disponibles :", + "DEMO_CANCELLED": "<i class=\"icon ion-close\"></i> Cancelado por el usuario", + "DEMO_DIVIDER": "Probar", + "DEMO_HELP": "Para probar este servicio, haga clic en este botón. El resultado se mostrará debajo.", + "DEMO_RESULT": "Resultado retornado por la llamada :", + "DEMO_RESULT_PEER": "Dirección del nodo utilizado :", + "DEMO_SUCCEED": "<i class=\"icon ion-checkmark\"></i> ¡ Éxito !", + "DESCRIPTION_DIVIDER": "Descripción", + "INTEGRATE_CODE": "Código :", + "INTEGRATE_DIVIDER": "Integrar", + "INTEGRATE_PARAMETERS": "Parámetros", + "INTEGRATE_RESULT": "Previsualización del resultado :", + "PARAMETERS_DIVIDER": "Parámetros", + "TRANSFER": { + "DESCRIPTION": "Desde una web (ej: tienda online) puede delegar el pago en moneda libre con la API de Cesium. Para eso, simplemente ponga un link a la siguiente dirección :", + "EXAMPLE_BUTTON": "Botón HTML", + "EXAMPLE_BUTTON_BG_COLOR": "Color de fondo", + "EXAMPLE_BUTTON_BG_COLOR_HELP": "Ejemplo : #fbc14c, black, lightgrey, rgb(180,180,180)", + "EXAMPLE_BUTTON_DEFAULT_STYLE": "Estilo personalizado", + "EXAMPLE_BUTTON_DEFAULT_TEXT": "Pagar en {{currency|currencySymbol}}", + "EXAMPLE_BUTTON_FONT_COLOR": "Color del texto", + "EXAMPLE_BUTTON_FONT_COLOR_HELP": "Ejemplo : black, orange, rgb(180,180,180)", + "EXAMPLE_BUTTON_ICON_CESIUM": "Logo Cesium", + "EXAMPLE_BUTTON_ICON_DUNITER": "Logo Duniter", + "EXAMPLE_BUTTON_ICON_G1_BLACK": "Logo Ğ1 (negro)", + "EXAMPLE_BUTTON_ICON_G1_COLOR": "Logo Ğ1", + "EXAMPLE_BUTTON_ICON_NONE": "Ninguno", + "EXAMPLE_BUTTON_TEXT_HELP": "Texto del botón", + "EXAMPLE_BUTTON_TEXT_ICON": "Icono", + "EXAMPLE_BUTTON_TEXT_WIDTH": "Anchura", + "EXAMPLE_BUTTON_TEXT_WIDTH_HELP": "Ejemplo : 200px, 50%", + "EXAMPLES_HELP": "Ejemplos de integración :", + "PARAM_AMOUNT": "Cuantía", + "PARAM_AMOUNT_HELP": "Cuantía de la transición (obligatorio). Valores múltiples permitidos utilizando un separador (punto y coma, barra vertical o espacio).", + "PARAM_CANCEL_URL": "Dirección web de cancelación", + "PARAM_CANCEL_URL_HELP": "Dirección web (URL) en caso de anulación del pago por parte del usuario. Puede contener las siguientes palabras que serán remplazadas por sus valores dinámicamente en cada caso: \"{comment}\", \"{amount}\" y \"{pubkey}\".", + "PARAM_COMMENT": "Concepto (o comentario)", + "PARAM_COMMENT_HELP": "Concepto o comentario. Le permitirá por ejemplo identificar el pago en la cadena de bloques (blockchain).", + "PARAM_NAME": "Nombre (del destinatario o de su sitio web)", + "PARAM_NAME_HELP": "El nombre del destinatario, o de su sitio web. Puede ser un nombre leíble (\"Mi tienda en línea\"), o un dominio (\"Mitienda.com\").", + "PARAM_PREFERRED_NODE": "Dirección del nodo preferido", + "PARAM_PREFERRED_NODE_HELP": "Dirección (URL) del nodo Duniter a utilizar preferentemente (\"g1.domaine.com:443\" o \"https://g1.domaine.com\").", + "PARAM_PUBKEY": "Llave pública del destinatario", + "PARAM_PUBKEY_HELP": "La llave pública del destinatario (obligatoria)", + "PARAM_REDIRECT_URL": "Dirección web de redirección", + "PARAM_REDIRECT_URL_HELP": "Dirección web (URL) de redirección, llamada cuanda el pago ha sido enviado. Puede contener las palabras siguientes, que serán remplazadas por los valores de la transacción dinámicanente : \"{tx}\", \"{hash}\", \"{comment}\", \"{amount}\", \"{pubkey}\" y \"{node}\".", + "TITLE": "Pagos" + }, + "URL_DIVIDER": "Dirección de llamada" + }, + "HOME": { + "DOC_HEADER": "Servicios disponibles :", + "MESSAGE": "Bienvenido/a a la <b>documentación de la API</b> {{'COMMON.APP_NAME'|translate}}.<br/>Conecte sus sitios webs a la cadena de bloques <a href=\"http://duniter.org\" target=\"_system\">Duniter</a> muy fácilmente !", + "MESSAGE_SHORT": "Conecte sus sitios a <a href=\"http://duniter.org\" target=\"_system\">Duniter</a> muy fácilmente !", + "TITLE": "Documentación API {{'COMMON.APP_NAME'|translate}}" + }, + "TRANSFER": { + "AMOUNT": "Cuantía :", + "AMOUNTS_HELP": "Elija la cuantía :", + "COMMENT": "Concepto/Comentario de la operación :", + "DEMO": { + "BAD_CREDENTIALS": "Verifique sus credenciales.<br/>En modo demostración, las credenciales son : {{'API.TRANSFER.DEMO.SALT'|translate}} / {{'API.TRANSFER.DEMO.PASSWORD'|translate}}", + "HELP": "<b>Modo demostración</b> : Ningún pago será enviado realmente durante esta simulación.<br/>Utilice las credenciales : <b>{{'API.TRANSFER.DEMO.SALT'|translate}} / {{'API.TRANSFER.DEMO.PASSWORD'|translate}}</b>", + "PASSWORD": "demo", + "PUBKEY": "3G28bL6deXQBYpPBpLFuECo46d3kfYMJwst7uhdVBnD1", + "SALT": "demo" + }, + "ERROR": { + "TRANSFER_FAILED": "Error en el pago" + }, + "INFO": { + "CANCEL_REDIRECTING": "Pago cancelado.<br/>Redirigiendo al sitio del vendedor...", + "CANCEL_REDIRECTING_WITH_NAME": "Pago cancelado.<br/>Redirigiendo a <b>{{name}}</b>...", + "SUCCESS_REDIRECTING": "Pago enviado.<br/>Redirigiendo al sitio del vendedor...", + "SUCCESS_REDIRECTING_WITH_NAME": "Pago enviado.<br/>Redirigiendo a <b>{{name}}</b>..." + }, + "NAME": "Nombre :", + "NODE": "Dirección del nodo :", + "PUBKEY": "Llave pública del destinatario :", + "SUMMARY": "Resumen del pago :", + "TITLE": "{{'COMMON.APP_NAME'|translate}} - Pago en línea", + "TITLE_SHORT": "Pago en línea" + } + }, + "AUTH": { + "TITLE": "<i class=\"icon ion-locked\"></i> Autenticación", + "BTN_AUTH": "Autenticar", + "GENERAL_HELP": "Por favor, autentíquese:", + "EXPECTED_UID_HELP": "Por favor inicie sesión en la cuenta de <i class=\"ion-person\"></i> {{uid}}:", + "EXPECTED_PUBKEY_HELP": "Por favor, autentíquese en el monedero <br class=\"visible-xs\"/><i class=\"ion-key\"></i> {{pubkey|formatPubkey}} :", + "SCAN_FORM_HELP": "Escanee el código QR de la <b>llave privada</b> del monedero." + }, + "ACCOUNT": { + "TITLE": "Mi cuenta", + "BALANCE": "Saldo", + "LAST_TX": "Últimas transacciones validadas", + "BALANCE_ACCOUNT": "Saldo de la cuenta", + "NO_TX": "Ninguna transacción", + "SHOW_MORE_TX": "Mostrar más", + "SHOW_ALL_TX": "Mostrar todo", + "TX_FROM_DATE": "(mostrar solo {{fromTime|medianFromNowShort}})", + "OUT_DISTANCED": "Sus certificaciones recibidas provienen de un grupo demasiado aislado de la <a ng-click=\"showHelpModal('wot')\">Red de Confianza</a> (RdC) : la <a ng-click=\"showHelpModal('distance_rule')\">regla de distancia máxima</a> no se cumple.<br/>Deberá obtener certificaciones provinientes de otros sectores de la RdC, o esperar a que ésta estreche sus vínculos.", + "PENDING_TX": "Transacciones pendientes", + "VALIDATING_TX": "Transacciones validadas", + "ERROR_TX": "Transacciones no ejecutadas", + "ERROR_TX_SENT": "Transacciones ejecutadas fallidas", + "PENDING_TX_RECEIVED": "Transacciones en espera de recepción", + "EVENTS": "Eventos", + "WAITING_MEMBERSHIP": "Solicitud de membresía emitida. En espera de aceptación.", + "WAITING_CERTIFICATIONS": "Debe obtener {{needCertificationCount}} certificación(es) para ser miembro.", + "WAITING_CERTIFICATIONS_HELP": "Para obtener sus certificaciones, solicitelas únicamente a miembros <b>que le conozcan bien (y físicamente)</b>, como exige <a ng-click=\"showLicenseModal()\">la licencia de la moneda</a> que usted ha aceptado.<br/>Si no conoce lo suficiente a miembros, hágalo saber en <a ng-click=\"openLink($event, $root.settings.userForumUrl)\">el foro</a> para conocerse físicamente o asistir a algún encuentro.", + "WILL_MISSING_CERTIFICATIONS": "Pronto le van a <b>faltar certificaciones</b> (al menos {{willNeedCertificationCount}} son necesarias)", + "WILL_NEED_RENEW_MEMBERSHIP": "Su adhesión como miembro <b>va a expirar {{membershipExpiresIn|formatDurationTo}}</b>. Piense en <a ng-click=\"doQuickFix('renew')\">renovar su adhesión</a> mientras tanto.", + "NEED_RENEW_MEMBERSHIP": "Ya no es miembro porque su adhesión <b>ha expirado</b>. Piense en <a ng-click=\"doQuickFix('renew')\">renovar su adhesión</a>.", + "NEED_RENEW_MEMBERSHIP_AFTER_CANCELLED": "Ya no es miembro de la moneda, <b>por falta de certificaciones</b>. Considere <a ng-click=\"doQuickFix('renew')\">renovar su adhesión</a>.", + "NO_WAITING_MEMBERSHIP": "No hay adhesión miembro en espera. Si desea <b>convertirse en miembro</b>, por favor <a ng-click=\"doQuickFix('membership')\">envíe su adhesión como miembro</a>.", + "CERTIFICATION_COUNT": "Certificaciones recibidas", + "CERTIFICATION_COUNT_SHORT": "Certificaciones", + "SIG_STOCK": "Certificaciones emitidas", + "BTN_RECEIVE_MONEY": "Recibir", + "BTN_SELECT_ALTERNATIVES_IDENTITIES": "Cambiar a otra identidad…", + "BTN_FIX_MEMBERSHIP": "Volver a enviar la candidatura…", + "BTN_MEMBERSHIP_RENEW": "Renovar la membresía", + "BTN_MEMBERSHIP_RENEW_DOTS": "Renovar la membresía…", + "BTN_MEMBERSHIP_OUT_DOTS": "Cancelar la membresía…", + "BTN_SECURITY_DOTS": "Cuenta y seguridad…", + "BTN_SHOW_DETAILS": "Publicar la información técnica", + "LOCKED_OUTPUTS_POPOVER": { + "TITLE": "Importe bloqueado", + "DESCRIPTION": "Aquí están las condiciones para desbloquear este importe:", + "DESCRIPTION_MANY": "Esta transacción esta compuesta de varias partes, cuyas condiciones de desbloqueo son:", + "LOCKED_AMOUNT": "Condiciones del importe:" + }, + "NEW": { + "TITLE": "Registrarse", + "INTRO_WARNING_TIME": "Crear una cuenta en {{name|capitalize}} es muy simple. Sin embargo, por favor tome el tiempo suficiente para hacerlo correctamente (generar y memorizar bien las credenciales, etc.)", + "INTRO_WARNING_SECURITY": "Asegúrese de que el dispositivo actual (ordenador, tablet, teléfono) <b>es seguro y de confianza</b>.", + "INTRO_WARNING_SECURITY_HELP": "Antivirus, cortafuegos, sesión protegida por contraseña o número PIN, etc.", + "INTRO_HELP": "Haga clic en <b>{{'COMMON.BTN_START'|translate}}</b> para iniciar la creación de la cuenta. Se le guiará paso a paso.", + "REGISTRATION_NODE": "Su registro será grabado a través del nodo Duniter <b>{{server}}</b>, que luego se transmitirá al resto del sistema de la moneda.", + "REGISTRATION_NODE_HELP": "Si no confía en este nodo, <a ng-click=\"doQuickFix('settings')\">cambie los ajustes</a> de Cesium.", + "SELECT_ACCOUNT_TYPE": "Elegir el tipo de cuenta a crear:", + "MEMBER_ACCOUNT": "Cuenta miembro", + "MEMBER_ACCOUNT_TITLE": "Crear una cuenta miembro", + "MEMBER_ACCOUNT_HELP": "Si todavía no es miembro (solamente una cuenta miembro posible por ser humano).", + "WALLET_ACCOUNT": "Simple monedero", + "WALLET_ACCOUNT_TITLE": "Crear una cuenta simple", + "WALLET_ACCOUNT_HELP": "Monedero simple para todos los demás casos, por ejemplo si necesita una cuenta suplementaria para un proyecto, colectivo, para hacer pruebas, etc.<br/>El Dividendo Universal no será producido para esta cuenta.", + "SALT_WARNING": "Elija su frase secreta.<br/>Se solicitará cada vez que se conectará con esta cuenta.<br/><br/><b>Conserve bien esta frase secreta</b>.<br/>¡En caso de pérdida, nadie podrá acceder a su cuenta!", + "PASSWORD_WARNING": "Elija su contraseña.<br/>Se solicitará cada vez que se conectará con esta cuenta.<br/><br/><b>Conserve bien esta contraseña</b>.<br/>¡En caso de pérdida, nadie podrá acceder su cuenta!", + "PSEUDO_WARNING": "Elija un seudónimo.<br/>Sirve para que los otros miembros puedan encontrarlo más fácilmente.<br/><br/>No debe contener <b>ni espacios ni caracteres acentuados</b>.<div class='hidden-xs'><br/>Ejemplo: <span class='gray'>SophieDupond, MarcelChemin, etc.</span>", + "PSEUDO": "Seudónimo", + "PSEUDO_HELP": "Seudónimo", + "SALT_CONFIRM": "Confirmación", + "SALT_CONFIRM_HELP": "Confirmación de la frase secreta", + "PASSWORD_CONFIRM": "Confirmación", + "PASSWORD_CONFIRM_HELP": "Confirmación de la contraseña", + "SLIDE_6_TITLE": "Confirmación:", + "COMPUTING_PUBKEY": "Cálculo en proceso…", + "LAST_SLIDE_CONGRATULATION": "<b>¡Bien!</b> Ha introducido todas los datos necesarios.<br/><b>Puede solicitar</b> la creación de su cuenta.</b><br/><br/>Para su información, la llave pública que se muestra más abajo identificará su futura cuenta.<br/>Esta podrá ser comunicada a terceros para recibir pagos.", + "CONFIRMATION_MEMBER_ACCOUNT": "<b class=\"assertive\">Advertencia:</b> la frase secreta, la contraseña y el seudónimo no podrán ser modificados.<br/><b>¡Asegúrese siempre de recordarlos!</b><br/><br/><b>¿Desea</b> solicitar la inscripción?", + "CONFIRMATION_WALLET_ACCOUNT": "<b class=\"assertive\">Advertencia:</b> la frase secreta y la contraseña no podrán ser modificados.<br/><b>¡Asegúrese de recordarlos siempre!</b><br/><br/><b>¿Desea</b> continuar?", + "CHECKING_PSEUDO": "Verificando…", + "PSEUDO_AVAILABLE": "Este nombre está disponible", + "PSEUDO_NOT_AVAILABLE": "Este nombre de usuario no está disponible", + "INFO_LICENSE": "Para unirse a la moneda, le pedimos leer y aceptar esta licencia.", + "BTN_ACCEPT": "Acepto", + "BTN_ACCEPT_LICENSE": "Acepto la licencia" + }, + "POPUP_REGISTER": { + "TITLE": "Elija un seudónimo", + "HELP": "Un seudónimo es obligatorio para ser miembro." + }, + "SELECT_IDENTITY_MODAL": { + "TITLE": "Selección de identidad", + "HELP": "Se han enviado varias <b>identidades diferentes</b> para la llave pública <span class=\"gray\"><i class=\"ion-key\"></i>{{pubkey | formatPubkey}}</span>.<br/>Por favor, selecciona la carpeta para usar:" + }, + "SELECT_WALLET_MODAL": { + "TITLE": "Selección de monedero" + }, + "WALLET_LIST": { + "IMPORT_MODAL": { + "HELP": "Para <b>importar monederos</b>, haga clic para seleccionar o arrastre en la zona de abajo el archivo con la lista de monederos.", + "NO_NEW_WALLET": "Ningún monedero nuevo", + "TITLE": "Importar monederos", + "WALLET_COUNT": "<b>{{count}}</b> nuevo{{count > 1 ? 's' : ''}} monedero{{count > 1 ? 's' : ''}}" + }, + "TITLE": "Mis monederos", + "BTN_NEW": "Añadir un monedero", + "BTN_DOWNLOAD": "Descargue el listado", + "BTN_IMPORT_FILE_DOTS": "Importar desde fichero…", + "NO_WALLET": "Sin monedero secundario", + "BTN_DELETE": "Eliminar un monedero secundario…", + "BTN_RENAME": "Renombrar el monedero", + "EXPORT_FILENAME": "monederos-{{pubkey|formatPubkey}}-{{currency}}.csv", + "TOTAL_DOTS": "Total : ", + "EDIT_POPOVER": { + "TITLE": "Renombrar el monedero", + "HELP": "Escribe el nuevo nombre", + "NAME_HELP": "Nombre del monedero" + } + }, + "SECURITY": { + "KEYFILE": { + "ERROR": { + "BAD_CHECKSUM": "Suma de control (checksum) incorrecta", + "BAD_PASSWORD": "Frase secreta incorrecta" + }, + "EWIF_FORMAT": "Formato EWIF (Encrypted Wallet Import Format) - v1", + "EWIF_FORMAT_HELP": "Este formato almacena su archivo de llaves <b>de forma cifrada</b> a partir de una frase secreta de su elección. También guarda una suma de control (checksum) para verificar la integridad del archivo.<br/><b>Atención :</b>¡ Asegúrese siempre de recordar su frase secreta !", + "PASSWORD_POPUP": { + "HELP": "Indique la frase secreta :", + "PASSWORD_HELP": "Frase secreta", + "TITLE": "Archivo de llaves cifrado" + }, + "PUBSEC_FORMAT": "Formato PubSec", + "PUBSEC_FORMAT_HELP": "Este formato almacena su archivo de llaves de forma simple. Es compatible con Cesium, ğannonce y Duniter.<br/><b>Atención :</b>El archivo <b>no está cifrado</b> (la llave privada aparece en claro) ; ¡ guárdelo en un lugar seguro !", + "WIF_FORMAT": "Formato WIF (Wallet Import Format) - v1", + "WIF_FORMAT_HELP": "Este formato almacena su archivo de llaves con una suma de control (checksum) para verificar la integridad del archivo. Es compatible con los monederos en papel (Duniter paper wallet).<br/><b>Atención :</b>El archivo <b>no está cifrado</b> (la llave privada aparece en claro) ; ¡ guárdelo en un lugar seguro !" + }, + "ADD_QUESTION": "Añadir pregunta personalizada", + "BTN_CLEAN": "Limpiar", + "BTN_RESET": "Reiniciar", + "DOWNLOAD_REVOKE": "Guardar un archivo de revocación", + "DOWNLOAD_REVOKE_HELP" : "Tener un archivo de revocación es importante, en caso de perdida de las credenciales. Le permitirá <b>invalidar y sacar su cuenta miembro fuera de la Red de Confianza</b>, convirtíendose en un monedero simple.", + "RECOVER_ID_SELECT_FILE": "Elija el <b>archivo para salvaguardar sus credenciales</b> a utilizar :", + "GENERATE_KEYFILE": "Generar mi archivo de llaves…", + "GENERATE_KEYFILE_HELP": "Genera un archivo que le permitirá atenticarse sin tener que introducir las credenciales.<br/><b>Cuidado:</b> este archivo contendrá su llave secreta; ¡Es muy importante conservarlo en un lugar seguro!", + "KEYFILE_FILENAME": "llavero-{{pubkey|formatPubkey}}-{{currency}}-{{format}}.dunikey", + "MEMBERSHIP_IN": "Registrarse como miembro…", + "MEMBERSHIP_IN_HELP": "Le permite <b>transformar</b> una cuenta de monedero simple <b>en una cuenta miembro</b>, enviando una petición de membresía. Solo si todavía no tiene una cuenta miembro.", + "SEND_IDENTITY": "Publicar identidad…", + "SEND_IDENTITY_HELP": "Le permite asociar un seudónimo a esta cuenta, pero <b>sin pedir ser miembro</b>. La validez de este seudónimo tiene un plazo limitado.", + "HELP_LEVEL": "Elija <strong> al menos {{nb}} preguntas:</strong>", + "LEVEL": "Nivel de seguridad", + "LOW_LEVEL": "Bajo <span class=\"hidden-xs\">(2 preguntas min.)</span>", + "MEDIUM_LEVEL": "Medio <span class=\"hidden-xs\">(4 preguntas min.)</span>", + "QUESTION_1": "¿Cómo se llamaba su mejor amigo de la adolescencia?", + "QUESTION_2": "¿Cómo se llamaba su primer animal de compañía?", + "QUESTION_3": "¿Cuál es el primer plato que aprendió a cocinar?", + "QUESTION_4": "¿Cuál es la primera película que vió en un cine?", + "QUESTION_5": "¿Cuál era el destino del primer avión que cogió?", + "QUESTION_6": "¿Cómo se llamaba su docente favorito en la escuela primaria?", + "QUESTION_7": "¿Cuál sería para usted el mejor oficio?", + "QUESTION_8": "¿Cuál es su libro infantil preferido?", + "QUESTION_9": "¿Cuál fue el modelo de su primer vehículo?", + "QUESTION_10": "¿Cuál fue su sobrenombre durante su infancia?", + "QUESTION_11": "¿Cuál fue su personaje o actor/actriz preferido/a cuando era estudiante?", + "QUESTION_12": "¿Cuál fue su cantante o grupo preferido cuando era estudiante?", + "QUESTION_13": "¿En qué ciudad sus padres se encontraron?", + "QUESTION_14": "¿Cómo se llamaba su primer jefe/a?", + "QUESTION_15": "¿Cómo se llama la calle donde creció?", + "QUESTION_16": "¿Cómo se llama la primera playa donde se bañó?", + "QUESTION_17": "¿Cuál es el primer álbum que compró?", + "QUESTION_18": "¿Cuál es el nombre de su equipo deportivo preferido?", + "QUESTION_19": "¿Cuál fue el oficio de su abuelo?", + "RECOVER_ID": "Recuperar sus credenciales", + "REVOCATION_WITH_FILE": "Revocar una identidad a partir de un fichero", + "REVOCATION_WITH_FILE_DESCRIPTION": "Si ha perdido de forma permanente las credenciales de su cuenta miembro (o la seguridad de la cuenta se ve comprometida), puede usar <b>el archivo de revocación de la cuenta</b> para forzar la salida de la Red de Confianza.", + "REVOCATION_WITH_FILE_HELP": "Para <b>revocar permanentemente</b> una cuenta miembro, arrastre el archivo de revocación en el cuadro siguiente o haga clic en el cuadro para seleccionar un archivo.", + "REVOCATION_FILENAME": "revocacion-{{uid}}-{{pubkey|formatPubkey}}-{{currency}}.txt", + "REVOCATION_WALLET": "Revocar esta identidad", + "SAVE_ID": "Guardar mis credenciales", + "STRONG_LEVEL": "Alto <span class=\"hidden-xs \">(6 preguntas min.)</span>", + "TITLE": "Cuenta y seguridad", + "RECOVER_ID_HELP": "Si dispone de un <b>archivo de recuperación de sus credenciales</b>, las puede reobtener respondiendo correctamente a las preguntas personales elegidas en su momento.", + "REVOCATION_WALLET_HELP": "Pedir la revocación de vuestra identidad comporta la <b>salida de la red de confianza</b> (definitiva para el seudónimo y la llave pública asociada). La cuenta no producirá ya más el Dividendo Universal.<br/>Podrá seguir usándola como monedero simple.", + "SAVE_ID_HELP": "Creación de un archivo de recuperación, para <b>reobtener su contraseña</b> (y frase secreta) en caso de olvido. El archivo se <b>cifra</b> con ayuda de las preguntas personales elegidas." + }, + "FILE_NAME": "{{currency}}_HistorialDeCuenta_{{pubkey|formatPubkey}}_{{currentTime|formatDateForFile}}.csv", + "HEADERS": { + "TIME": "Fecha", + "AMOUNT": "Cantidad", + "COMMENT": "Comentario" + } + }, + "TRANSFER": { + "TITLE": "Transferencia", + "SUB_TITLE": "Hacer una transferencia", + "FROM": "De", + "TO": "A", + "AMOUNT": "Importe", + "AMOUNT_HELP": "Importe", + "COMMENT": "Comentario", + "COMMENT_HELP": "Comentario", + "BTN_SEND": "Enviar", + "BTN_ADD_COMMENT": "Añadir un comentario", + "REST": "Resto de cuenta", + "REST_TO": "a", + "WARN_COMMENT_IS_PUBLIC": "Tenga en cuenta que los <b>comentarios son públicos</b> (sin encriptar).", + "MODAL": { + "TITLE": "Transferencia" + } + }, + "ERROR": { + "ADD_SECONDARY_WALLET_FAILED": "Error añadiendo el monedero secundario.", + "COULD_NOT_ADD_EXISTING_WALLET": "Monedero ya existe en la lista.", + "COULD_NOT_ADD_MAIN_WALLET": "Este monedero <b>corresponde a la cuenta principal</b> con la que se conecta.<br/>Imposible añadirlo como monedero secundario.", + "ISSUE_524_TX_FAILED": "Error en la transferencia.<br/><br/>Un mensaje ha sido enviado a los/as desarrolladores/as para facilitar la resolución del problema. <b>Gracias por su ayuda</b>.", + "LOAD_WALLET_LIST_FAILED": "Error cargando los monederos secundarios.", + "ONLY_MEMBER_OR_WAS_MEMBER_CAN_EXECUTE_THIS_ACTION": "Usted debe <b>ser miembro (o haber sido miembro)</b> para poder efectuar esta acción.", + "RESTORE_WALLET_LIST_FAILED": "Error en la restauración de los monederos secundarios.", + "SAVE_WALLET_LIST_FAILED": "Error al guardar los monederos secundarios.", + "UNKNOWN_WALLET_ID": "Monedero secundario desconocido.", + "UPDATE_WALLET_LIST_FAILED": "Error en la actualización de los monederos secundarios.", + "UNKNOWN_URI_FORMAT": "Formato URI desconocido", + "PUBKEY_INVALID_CHECKSUM": "Llave pública no válida (suma de comprobación incorrecta).", + "POPUP_TITLE": "Error", + "UNKNOWN_ERROR": "Error desconocido", + "CRYPTO_UNKNOWN_ERROR": "Su navegador parece incompatible con las funcionalidades de cryptografía.", + "DOWNLOAD_KEYFILE_FAILED": "Error al generar el archivo de llaves.", + "EQUALS_TO_PSEUDO": "Debe ser diferente del seudónimo.", + "EQUALS_TO_SALT": "Debe ser diferente de la frase secreta.", + "FIELD_REQUIRED": "Campo obligatorio.", + "FIELD_TOO_SHORT": "Valor demasiado corta.", + "FIELD_TOO_SHORT_WITH_LENGTH": "Valor demasiado corta ({{minLength}} carácteres mín)", + "FIELD_TOO_LONG": "Valor demasiado largo", + "FIELD_TOO_LONG_WITH_LENGTH": "Valor demasiado largo, ({{maxLength}} carácteres máx)", + "FIELD_MIN": "Valor mínimo: {{min}}", + "FIELD_MAX": "Valor máximo: {{max}}", + "FIELD_ACCENT": "Caracteres acentuados y comas no autorizados", + "FIELD_NOT_NUMBER": "Valor numérico esperado", + "FIELD_NOT_INT": "Valor entero esperado", + "FIELD_NOT_EMAIL": "Correo electrónico no válido", + "PASSWORD_NOT_CONFIRMED": "No coincide con la contraseña anterior.", + "SALT_NOT_CONFIRMED": "No corresponde a la frase secreta anterior.", + "SEND_IDENTITY_FAILED": "Error de la inscripción.", + "SEND_CERTIFICATION_FAILED": "Error de la certificación.", + "NEED_MEMBER_ACCOUNT_TO_CERTIFY": "No se puede certificar, porque su cuenta no <b>es miembro</b>.", + "NEED_MEMBER_ACCOUNT_TO_CERTIFY_HAS_SELF": "No se puede certificar, porque su cuenta todavía no es miembro.<br/><br/>Todavía faltan certificaciones para serlo.", + "IDENTITY_TO_CERTIFY_HAS_NO_SELF": "Esta cuenta no se pudo certificar. No se ha solicitado la membresía, o se necesita renovarla.", + "LOGIN_FAILED": "Error durante la autentificación.", + "LOAD_IDENTITY_FAILED": "Error de carga de la identidad.", + "LOAD_REQUIREMENTS_FAILED": "Error de carga de las condiciones de la identidad.", + "SEND_MEMBERSHIP_IN_FAILED": "Error en el intento de entrada en la comunidad.", + "SEND_MEMBERSHIP_OUT_FAILED": "Error en la interrupción de adhesión.", + "REFRESH_WALLET_DATA": "Error en la actualización del monedero.", + "GET_CURRENCY_PARAMETER": "Error en la recuperación de las reglas de moneda.", + "GET_CURRENCY_FAILED": "Carga de la moneda imposible. Por favor, intente más tarde.", + "SEND_TX_FAILED": "Error en la transferencia.", + "ALL_SOURCES_USED": "Por favor, espera el cálculo del bloque siguiente (Todas sus fuentes de moneda fueron utilizada).", + "NOT_ENOUGH_SOURCES": "No lo bastante cambio para mandar este importe en una sola transacción.<br/>Importe máximo: {{amount}} {{unit}}<sub>{{subUnit}}</sub>.", + "ACCOUNT_CREATION_FAILED": "Error en la creación de la cuenta miembro.", + "RESTORE_WALLET_DATA_ERROR": "Error en la recarga de los ajustes desde el almacenamiento local", + "LOAD_WALLET_DATA_ERROR": "Error en la carga de los datos del monedero.", + "COPY_CLIPBOARD_FAILED": "Copia de la valor imposible.", + "TAKE_PICTURE_FAILED": "Error en la recuperación de la foto.", + "SCAN_FAILED": "Error en el escán del Codigo QR", + "SCAN_UNKNOWN_FORMAT": "Codigo no reconocido.", + "WOT_LOOKUP_FAILED": "Error en la búsqueda", + "LOAD_PEER_DATA_FAILED": "Lectura del nodo Duniter imposible. Por favor, intente más tarde.", + "NEED_LOGIN_FIRST": "Por favor, conéctese en primer lugar.", + "AMOUNT_REQUIRED": "El importe es obligatorio.", + "AMOUNT_NEGATIVE": "Importe negativo no autorizado.", + "NOT_ENOUGH_CREDIT": "Crédito insuficiente.", + "INVALID_NODE_SUMMARY": "Nodo ilocalizable o dirección inválida.", + "INVALID_USER_ID": "El seudónimo no debe contener ni espacios ni caracteres especiales o acentuado.", + "INVALID_COMMENT": "El campo 'referencia’ no debe contener carácteres acentuados.", + "INVALID_PUBKEY": "La llave pública no tiene el formato esperado.", + "INVALID_PUBKEY_CHECKSUM": "Suma de comprobación inválida.", + "IDENTITY_REVOKED": "Esta identidad <b>fue revocada</b>. No puede volver a convertirla en miembro.", + "IDENTITY_REVOKED_WITH_TIME": "Esta identidad <b>fue revocada {{revocationTime|medianFromNow}}</b> ({{revocationTime|medianDate}}). No puede volver a convertirla en miembro.", + "IDENTITY_PENDING_REVOCATION": "La <b>revocación de esta identidad</b> fue solicitado y esta en espera de tratamiento. Por lo que, la certificación es desactivada.", + "IDENTITY_INVALID_BLOCK_HASH": "Esta solicitud de adhesión no es valida (porque denomina un bloque los nodos de la red han anulado): este individuo/a debe renovelar su solicitud de adhesión <b>antes que</b> estar certificada.", + "IDENTITY_EXPIRED": "La publicación de esta identidad ha caducada: este individuo/a debe realizar una nueva solicitud de adhesión <b>antes que</b> estar certificada.", + "IDENTITY_SANDBOX_FULL": "EL nodo Duniter utilizado por Cesium ya no puede recibir más nuevas identidades, porque la fila de espera es llena.<br/><br/>Por favor, intenta ulteriormente o cambia de nodo (vía el menú <b>Ajustes</b>).", + "IDENTITY_NOT_FOUND": "Identidad no encontrada", + "IDENTITY_TX_FAILED": "Error cargando las transacciones de la identidad", + "WOT_PENDING_INVALID_BLOCK_HASH": "Adhesión no validada.", + "WALLET_INVALID_BLOCK_HASH": "Su solicitud de adhesión ya no está validada (porque denomina un bloque los nodos de la red han anulado).<br/>Debe <a ng-click=\"doQuickFix('fixMembership')\">mandar una nueva solicitud</a> para resolver este problema.", + "WALLET_IDENTITY_EXPIRED": "La publicación de <b>su identidad ha caducada</b>.<br/>Debe <a ng-click=\"doQuickFix('fixIdentity')\">publicar une outra vez su identidad</a> para resolver este problema.", + "WALLET_REVOKED": "Su identidad fue <b>revocada</b>: ni su seudónimo ni su llave pública podrán estar utilizados en el futuro por una cuenta miembro.", + "WALLET_HAS_NO_SELF": "Su identidad debe en primer lugar haber estado publicado, y no estar caducada.", + "AUTH_REQUIRED": "Autenticación requerida.", + "AUTH_INVALID_PUBKEY": "La llave pública no se corresponde con la cuenta conectada", + "AUTH_INVALID_SCRYPT": "De usuario o contraseña no válidos.", + "AUTH_INVALID_FILE": "archivo de llave no válido.", + "AUTH_FILE_ERROR": "No se pudo abrir el archivo de llave", + "IDENTITY_ALREADY_CERTIFY": "Ha <b>ya certificado</b> esta identidad.<br/><br/>Esta certificación todavía es valida (expiration {{expiresIn|formatDurationTo}}).", + "IDENTITY_ALREADY_CERTIFY_PENDING": "Ha <b>ya certificado</b> esta identidad.<br/><br/>Esta certificación está en espera de tratamiento (fecha límite de tratamiento {{expiresIn|formatDurationTo}}).", + "UNABLE_TO_CERTIFY_TITLE": "Certificación imposible", + "LOAD_NEWCOMERS_FAILED": "No se pudo cargar las nuevas membresías.", + "LOAD_PENDING_FAILED": "No se pudo cargar las inscripciones pendientes.", + "ONLY_MEMBER_CAN_EXECUTE_THIS_ACTION": "Debe <b>ser miembro</b> para poder realizar esta acción.", + "ONLY_SELF_CAN_EXECUTE_THIS_ACTION": "Debe haber <b>publicado su identidad</b> para poder realizar esta acción.", + "GET_BLOCK_FAILED": "Error en la recuperación del bloque", + "INVALID_BLOCK_HASH": "Bloque no encontrado (hash diferente)", + "DOWNLOAD_REVOCATION_FAILED": "Debe seleccionar un fichero de texto", + "REVOCATION_FAILED": "Error en la revocación.", + "SALT_OR_PASSWORD_NOT_CONFIRMED": "Frase secreta o contraseña incorrectos", + "RECOVER_ID_FAILED": "Error en la recuperación de las credenciales", + "LOAD_FILE_FAILED": "Error en la carga del archivo", + "NOT_VALID_REVOCATION_FILE": "Archivo de revocación no válido (formato de archivo erróneo)", + "NOT_VALID_SAVE_ID_FILE": "Archivo no válido (formato de archivo erróneo)", + "NOT_VALID_KEY_FILE": "Archivo no válido (formato de archivo erróneo)", + "EXISTING_ACCOUNT": "Sus credenciales corresponden a una cuenta existente, la <a ng-click=\"showHelpModal('pubkey')\">llave pública</a> es:", + "EXISTING_ACCOUNT_REQUEST": "Por favor, cambie sus credenciales para que coincida con una cuenta sin usar.", + "GET_LICENSE_FILE_FAILED": "Error al obtener el archivo de licencia", + "CHECK_NETWORK_CONNECTION": "No se puede conectar a ningún nodo.<br/><br/><b>Compruebe la conexión a Internet</b>.", + "INVALID_FILE_FORMAT": "Formato de archivo inválido.", + "SAME_TX_RECIPIENT": "El destinatario debe ser diferente del emisor." + }, + "INFO": { + "POPUP_TITLE": "Información", + "CERTIFICATION_DONE": "Certificación enviada", + "NOT_ENOUGH_CREDIT": "Crédito insuficiente", + "TRANSFER_SENT": "Transferencia enviada", + "COPY_TO_CLIPBOARD_DONE": "Copia realizada", + "MEMBERSHIP_OUT_SENT": "Anulación enviada", + "NOT_NEED_MEMBERSHIP": "Ya es miembro.", + "IDENTITY_WILL_MISSING_CERTIFICATIONS": "Esta identidad pronto va a necesitar certificaciones (al menos {{willNeedCertificationCount}}).", + "IDENTITY_NEED_MEMBERSHIP": "Esta identidad no ha enviado una solicitud de membresía para convertirse en miembro.", + "HAS_ALTERNATIVE_IDENTITIES": "Hay <b>identidades múltiples</b> adjuntas a esta llave pública. <b>Antes de cualquier certificación</b>, <a ng-click=\"doQuickFix('showSelectIdentities')\">verifique otras identidades</a> para elegir la correcta o comuníquese con el propietario de la cuenta.", + "REVOCATION_SENT": "Revocación enviada", + "REVOCATION_SENT_WAITING_PROCESS": "La <b>revocación de esta identidad</b> fue solicitada y está en espera de ser procesada.", + "FEATURES_NOT_IMPLEMENTED": "Esta funcionalidad todavía está en proceso de desarrollo.<br/><br/>¿Por qué no <b>contribuir a Cesium</b>, para obtenerla más rápido? ;)", + "EMPTY_TX_HISTORY": "Ninguna operación a exportar" + }, + "CONFIRM": { + "EXIT_APP": "¿ Cerrar la aplicación ?", + "FULLSCREEN": "¿ Mostrar la aplicación en pantalla completa ?", + "ISSUE_524_SEND_LOG": "La transacción ha sido rechazada a causa de una anomalía conocida (ticket #524) pero todavía <b>no replicable</b>.<br/><br/>Para ayudar a los/as desarrolladores/as a corregir este error, ¿ <b>acepta el envío de los logs(trazas del programa)</b> ?<br/><small>(ningún dato confidencia será enviado)</small>.", + "POPUP_TITLE": "<b>Confirmación</b>", + "POPUP_WARNING_TITLE": "<b>Advertencia</b>", + "POPUP_SECURITY_WARNING_TITLE": "<i class=\"icon ion-alert-circled\"></i> <b>Advertencia de seguridad</b>", + "CERTIFY_RULES_TITLE_UID": "Certificar {{uid}}", "CERTIFY_RULES": "<b class=\"assertive\">NO CERTIFICAR</b> una cuenta si piensa que:<br/><br/><ul><li>1.) no corresponde a un ser humano <b>físico y vivo</b>.<li>2.) su propietario/a <b>posee otra cuenta</b> ya certificada.<li>3.) su propietaria/o incumple (voluntariamente o no) la regla 1 o 2 (por ejemplo certificando cuentas fantasmas o duplicadas).</ul><br/><b>¿Desea</b> todavía certificar esta identidad?", + "TRANSFER": "<b>Resumen de la transferencia</b>:<br/><br/><ul><li> - De: {{from}}</li><li> - A: <b>{{to}}</b></li><li> - Importe: <b>{{amount}} {{unit}}</b></li><li> - Comentario: <i>{{comment}}</i></li></ul><br/><b>Desea realizar esta transferencia?</b>", + "TRANSFER_ALL": "<b>Resumen de la transferencia</b>:<br/><br/><ul><li> - De: {{from}}</li><li> - A: <b>{{to}}</b></li><li> - Importe: <b>{{amount}} {{unit}}</b></li><li> - Comentario: <i>{{comment}}</i></li><br/><li> - Resto: <b>{{restAmount}} {{unit}}</b> para <b>{{restTo}}</b></li></ul><br/><b>¿Desea realizar esta transferencia?</b>", + "MEMBERSHIP_OUT": "Esta operación es <b>irreversible</b>.<br/></br/>¿Desea <b>anular su cuenta miembro</b>?", + "MEMBERSHIP_OUT_2": "¡Esta operación es <b>irreversible</b>!<br/><br/>¿Desea <b>anular su candidatura</b> como miembro?", + "LOGIN_UNUSED_WALLET_TITLE": "¿Error de introducción de datos?", + "LOGIN_UNUSED_WALLET": "Las credenciales introducidas corresponden a una cuenta que parece <b>inactiva</b>.<br/></br/><b>¿Quiere sin embargo continuar con esta cuenta?</b>", + "FIX_IDENTITY": "El seudónimo <b>{{uid}}</b> va a ser publicado de nuevo, en reemplazo del antiguo que caducó.<br/></br/><b>¿Desea</b> continuar?", + "FIX_MEMBERSHIP": "Su solicitud de adhesión como miembro va a ser enviada de nuevo.<br/></br/><b>¿Desea</b> continuar?", + "MEMBERSHIP": "Se enviará su solicitud de membresía como miembro.<br/></br/><b>¿Desea</b> continuar?", + "RENEW_MEMBERSHIP": "Su adhesión como miembro va a estar renovada.<br/></br/><b>¿Desea</b> continuar?", + "REVOKE_IDENTITY": "Va a <b>revocar definitivamente esta identidad</b>.<br/><br/>La llave pública y el seudónimo asociados <b>jamás podrán ser utilizados</b> (para una cuenta miembro). <br/><br/><b>¿Desea</b> revocar definitivamente esta cuenta?", + "REVOKE_IDENTITY_2": "¡Esta operación es <b>irreversible</b>!<br/><br/>¿Desea <b>revocar definitivamente</b> esta cuenta?", + "NOT_NEED_RENEW_MEMBERSHIP": "Su membresía no necesita ser renovada actualmente (caducará en {{membershipExpiresIn|formatDuration}}).<br/></br/><b>¿Confirma</b> querer renovar su membresía?", + "SAVE_BEFORE_LEAVE": "¿Desea <b>guardar sus cambios</b> antes de abandonar la página?", + "SAVE_BEFORE_LEAVE_TITLE": "Cambios no registrados", + "LOGOUT": "¿Desea desconectarse?", + "USE_FALLBACK_NODE": "Nodo <b>{{old}}</b> inalcanzable o dirección inválida.<br/><br/>¿Desea utilizar temporalmente el nodo <b>{{new}}</b>?" + }, + "DOWNLOAD": { + "POPUP_TITLE": "<b>Revocación del archivo</b>", + "POPUP_REVOKE_MESSAGE": "Para proteger su cuenta, descargue el <b>documento de revocación de cuenta</b>. Le permitirá cancelar su cuenta (en caso de robo, cambio de identificadores, cuenta creada incorrectamente, etc.).<br/><br/><b>Por favor, almacénelo en un lugar seguro.</b>" + }, + "HELP": { + "TITLE": "Ayuda en línea", + "JOIN": { + "SECTION": "Inscripción", + "SALT": "La frase secreta es muy importante. Sirve para mezclar(<span class=\"text-italic\">hash</span>) la contraseña, antes de calcular la <span class=\"text-italic\">llave pública</span> (el número de cuenta) y la <span class=\"text-italic\">llave privada</span> para acceder a esta.<br/><b>Por favor, memorícelo muy bien</b> porque no existe ninguna forma de recuperarlo en caso de pérdida.<br/>No puede ser modificado. Deberá crear una nueva cuenta si lo pierde o se olvida.<br/><br/>Una buena frase secreta debe ser suficientemente larga (al menos 8 carácteres) y lo más original posible.", + "PASSWORD": "La contraseña es muy importante. Junto a la frase secreta, sirve para calcular la llave pública (el número de cuenta), y la llave privada para acceder a ella.<br/><b>Por favor, memorícela muy bien</b> porque no existe ninguna forma de recuperarla en caso de pérdida (excepto si se tuviese un fichero de respaldo o <span class=\"text-italic\">backup</span>.).<br/>No puede ser modificada. Deberá crear una nueva cuenta si la pierde o se olvida.<br/><br/>Una buena contraseña contiene al menos 8 carácteres, con al menos una mayúscula y un dígito.", + "PSEUDO": "El seudónimo se utiliza solamente en caso de inscripción como <span class=\"text-italic\">miembro</span>. Siempre está asociado a un monedero (vía su <span class=\"text-italic\">llave pública</span>).<br/>Este se publica en la red para que los demás usuarios puedan identificar, certificar o enviar dinero a la cuenta.<br/>Un seudónimo debe ser único para cada miembro (actuales y antiguos)." + }, + "LOGIN": { + "SECTION": "Autenticación", + "PUBKEY": "Llave pública", + "PUBKEY_DEF": "La llave pública del archivo de llaves es generada de las credenciales introducidas (cualquiera que sean), sin estar obligatoriamente vinculadas o contrastadas con ninguna cuenta ya usada. <br/><b>Asegúrese por lo tanto de que la llave pública es la misma con la que se creó originalmente su cuenta</b>. De lo contrario, se autogenerará una cuenta vacía que probablemente nunca ha sido usada, ya que el riesgo de coincidir con las credenciales de otra cuenta ajena es muy pequeño.<br/><a href=\"https://es.wikipedia.org/wiki/Criptograf%C3%ADa_de_curva_el%C3%ADptica\" target=\"_ system\">Conozca más sobre criptografía</a> con llaves públicas.", + "METHOD": "Métodos de autenticación", + "METHOD_DEF": "Diversas opciones están disponibles para conectar a las cuentas: <br/> - La conexión <b>con aleatoriedad (estándar o avanzada)</b> mezcla su contraseña con su frase secreta, para limitar las posibilidades de ataque<br/> - La conexión <b>usando llave pública</b> le permite entrar sin credenciales, las cuales solo se le pedirán cuando alguna operación lo necesite.<br/> - La conexión <b>usando archivo de llaves</b> leerá las llave pública y privada de la cuenta desde un archivo sin necesitar sus credenciales. Varios formatos son posibles." + }, + "GLOSSARY": { + "DISTANCE_RULE": "Regla de distancia", + "DISTANCE_RULE_DEF": "La regle de distancia de la Red de Confianza define <b>una distancia máxima a respetar</b> entre una candidatura y número mínimo miembros referentes (aquellos más conectados). Esta distancia es calculada utilizando los enlaces de certificación.", + "WOT": "Red de Confianza (RdC)", + "WOT_DEF": "La Red de Confianza se compone del conjunto de miembros de la moneda, y de los enlaces de certificaciones que los conectan.", + "SECTION": "Glosario", + "PUBKEY_DEF": "Una llave pública identifica un monedero, que puede estar asociado a un miembro o ser un monedero anónimo. En Cesium se calcula a partir de la frase secreta y la contraseña.", + "MEMBER": "Miembro", + "MEMBER_DEF": "Cada miembro es una ser humano físico y vivo, deseosa de participar libremente en la comunidad monetaria. Percibe un dividendo universal, de acuerdo a un periodo e importe definido en las <span class=\"text-italic\">reglas de la moneda</span>", + "CURRENCY_RULES": "Reglas de la moneda", + "CURRENCY_RULES_DEF": "Las reglas de la moneda se han definido una vez y para siempre. Establecen el funcionamiento de la moneda: el cálculo del dividendo universal, la cantidad de certificaciones necesarias para ser miembro, la cantidad máxima de certificaciones que cada miembro puede emitir, etc. <a href=\"#/app/currency\">Ver las reglas actuales</a>.<br/> Sus parámetros no pueden alterarse gracias a una <span class=\"text-italic\">Cadena de Bloques</span> que soporta, implementa y verifica la buena aplicación de estas reglas.", + "BLOCKCHAIN": "Cadena de bloques (<span class=\"text-italic\">Blockchain</span>)", + "BLOCKCHAIN_DEF": "La cadena de bloques es un sistema descentralizado, que en el caso de Duniter, sirve para mantener e implementar las <span class=\"text-italic\">reglas de la moneda</span>.<br/><a href=\"http://duniter.org\" target=\"_system\">Más información</a> acerca de Duniter y el funcionamiento de su cadena de bloques.", + "UNIVERSAL_DIVIDEND_DEF": "El Dividendo Universal (DU) es la cantidad de moneda co-creada por cada miembro, dependiendo del periodo y del cálculo definidos en las <span class=\"text-italic\">reglas de la moneda</span>.<br/>En cada periodo, los miembros reciben en sus cuentas la misma cantidad de moneda.<br/><br/>El DU crece regularmente, para ser justo entre cada miembro (actualmente y en el futuro), y calculado en función de la esperanza de vida media, como se demuestra en la <span class=\"text-italic\">Teoría Relativa de la Moneda</span> (TRM, de Stéphane Laborde).<br/><a href=\"http://trm.creationmonetaire.info\">Más información</a> sobre la TRM y las monedas libres." + }, + "TIP": { + "MENU_BTN_CURRENCY": "El menú <b>{{'MENU.CURRENCY'|translate}}</b> permite consultar las <b>reglas de la moneda</b> y su estado.", + "CURRENCY_WOT": "El <b>número de miembros</b> muestra el peso de la comunidad y permite <b>seguir su evolución</b>.", + "CURRENCY_MASS": "Siga aquí la <b>cantidad total de moneda</b> existente y su <b>distribución media</b> por miembro.<br/><br/>Esto permite juzgar la <b>relevancia de un importe</b>, en relación con lo que <b>poseen los demás</b> en sus cuentas (de media).", + "CURRENCY_UNIT_RELATIVE": "La unidad utilizada (“<b>{{'COMMON.UD'|translate}}<sub>{{currency|abbreviate}}</sub></b>”) significa que los importes en {{currency|capitalize}} han sido divididos entre el valor del <b>Dividendo Universal</b> (DU).<br/><br/><small> Esta unidad relativa es <b>pertinente</b>, porque permanece estable, independiente de la cantidad de moneda que aumenta constantemente.</small>", + "CURRENCY_CHANGE_UNIT": "Este botón permite <b>cambiar la unidad</b>, para visualizar los importes <b>directamente en {{currency|capitalize}}</b> (en lugar de “<b>{{'COMMON.UD'|translate}}<sub>{{currency|abbreviate}}</sub></b>”).", + "CURRENCY_CHANGE_UNIT_TO_RELATIVE": "Este botón permite <b>cambiar la unidad</b>, para visualizar los importes en “<b>{{'COMMON.UD'|translate}}<sub>{{currency|abbreviate}}</sub></b>”, es decir, relativo al Dividendo Universal (el monto co-producido por cada miembro).", + "CURRENCY_RULES": "Las <b>reglas</b> de la moneda fijan su funcionamiento <b>exacto y previsible</b>.<br/><br/>Es el propio ADN de la moneda, que hace que su código monetario sea <b>legible y transparente</b>.", + "MENU_BTN_NETWORK": "El menú <b>{{'MENU.NETWORK'|translate}}</b> permite consultar el estado de la red.", + "NETWORK_BLOCKCHAIN": "Todas las transacciones de la moneda están registradas dentro de un gran libro de contabilidad <b>público e infalsificable</b>, conocido como la <b>cadena de bloques</b> (<em>BlockChain</em> en inglés).", + "NETWORK_PEERS": "Los <b>nodos</b> visibles aquí corresponden a los <b>dispositivos de miembros que actualizan y validan</b> la cadena de bloques.<br/><br/>Cuanto más nodos haya conectados, la moneda tendrá una gestión más <b>descentralizada</b> y digna de confianza.", + "NETWORK_PEERS_BLOCK_NUMBER": "Este <b>número</b> (en verde) indica el <b>último bloque validado</b> por este nodo (última página escrita en la cadena de bloques).<br/><br/>El color verde indica que este bloque ha sido también validado por <b>la mayoría del resto de nodos</b>.", + "NETWORK_PEERS_PARTICIPATE": "<b>Cada miembro</b>, equipado de un dispositivo conectado a Internet, <b>puede contribuir añadiendo un nodo</b>. Necesita <b>instalar el programa Duniter</b> (libre y gratuito). <a href=\"{{installDocUrl}}\" target=\"_system\">Ver manual de uso >></a>.", + "MENU_BTN_ACCOUNT": "<b>{{'ACCOUNT.TITLE'|translate}}</b> permite acceder a la gestión y al historial de su cuenta.", + "MENU_BTN_ACCOUNT_MEMBER": "Consulte aquí el estado de su cuenta y la información sobre sus certificaciones.", + "WALLET_CERTIFICATIONS": "Haga clic aquí para consultar el detalle de sus certificaciones (recibidas y emitidas).", + "WALLET_RECEIVED_CERTIFICATIONS": "Haga clic aquí para consultar el detalle de sus <b>certificaciones recibidas</b>.", + "WALLET_GIVEN_CERTIFICATIONS": "Haga clic aquí para consultar el detalle de sus <b>certificaciones emitidas</b>.", + "WALLET_BALANCE": "El <b>saldo</b> de su cuenta se visualiza aquí.", + "WALLET_BALANCE_RELATIVE": + "{{'HELP.TIP.WALLET_BALANCE'|translate}}<br/><br/>La unidad utilizada (“<b>{{'COMMON.UD'|translate}}<sub>{{currency|abbreviate}}</sub></b>”) significa que el importe en {{currency|capitalize}} fue dividido entre el <b>Dividendo Universal</b> (DU) co-producido por cada miembro.<br/><br/>Actualmente un DU vale {{currentUD|formatInteger}} {{currency|capitalize}}s.", + "WALLET_BALANCE_CHANGE_UNIT": "Podrá <b>cambiar la unidad</b> de visualización de los importes en los <b><i class=\"icon ion-android-settings\"></i> {{'MENU.SETTINGS'|translate}}</b>.<br/><br/>Por ejemplo, para visualizar los importes <b>directamente en {{currency|capitalize}}</b>, en lugar de unidad relativa.", + "WALLET_PUBKEY": "Esta es la llave pública de su cuenta. Puede comunicarla a un tercero para que pueda identificar su cuenta de forma simple.", + "WALLET_SEND": "Realizar un pago en algunos clics", + "WALLET_SEND_NO_MONEY": "Realizar un pago en algunos clics.<br/>(Su saldo ya no lo permite)", + "WALLET_OPTIONS": "Este botón permite acceder a las <b>acciones de adhesión</b> y de seguridad.<br/><br/>¡No olvide echar un vistazo!", + "WALLET_RECEIVED_CERTS": "Se exhibirá aquí la lista de individuo/as que le han certificado.", + "WALLET_CERTIFY": "El botón <b>{{'WOT.BTN_SELECT_AND_CERTIFY'|translate}}</b> permite seleccionar una identidad y certificarla.<br/><br/>Solo quienes son <b>miembros</b> pueden certificar a otros seres humanos.", + "WALLET_CERT_STOCK": "Su stock de certificaciones (emitidas) es limitado a <b>{{sigStock}} certificaciones</b>.<br/><br/>Este stock se renueva con el tiempo, a medida que las certificaciones caducan.", + "MENU_BTN_TX": "El menú <b>{{'MENU.TRANSACTIONS'|translate}}</b> permite consultar su saldo, el historial de transacciones y realizar nuevos pagos.", + "MENU_BTN_WALLETS": "El menú <b>{{'MENU.WALLETS'|translate}}</b> permite añadir monederos complementarios que usted maneja.", + "MENU_BTN_WOT": "El menú <b>{{'MENU.WOT'|translate}}</b> permite buscar <b>usuarios</b> de la moneda (miembro o no).", + "WOT_SEARCH_TEXT_XS": "Para buscar en el directorio, escriba las <b>primeras letras de un seudónimo</b> (o de una llave pública).<br/><br/>La búsqueda se iniciará automáticamente.", + "WOT_SEARCH_TEXT": "Para buscar en el directorio, escriba las <b>primeras letras de un seudónimo</b> (o de una llave pública). <br/><br/>Luego, pulse en la tecla <b>Intro</b> para iniciar la búsqueda.", + "WOT_SEARCH_RESULT": "Visualice la ficha detallada <b>haciendo clic</b> sobre una fila.", + "WOT_VIEW_CERTIFICATIONS": "La opción <b>{{'ACCOUNT.CERTIFICATION_COUNT'|translate}}</b> muestra qué miembros han validado esta identidad.<br/><br/>Estas certificaciones atestiguan que la cuenta pertenece a <b>un ser humano vivo</b> y que no posee <b>ninguna otra cuenta miembro</b>.", + "WOT_VIEW_CERTIFICATIONS_COUNT": "Necesita al menos <b>{{sigQty}} certificaciones</b> para ser miembro y recibir el <b>Dividendo Universal</b>.", + "WOT_VIEW_CERTIFICATIONS_CLICK": "Un clic aquí permite abrir <b>la lista de todas las certificaciones</b> de la identidad (recibidas y emitidas).", + "WOT_VIEW_CERTIFY": "El botón <b>{{'WOT.BTN_CERTIFY'|translate}}</b> permite añadir su certificación a esta identidad.", + "CERTIFY_RULES": "<b>Atención:</b> Certifique solamente <b>seres humanos físicos vivos</b>, que no posean ya ninguna otra cuenta miembro.<br/><br/>¡La seguridad de la red de la moneda depende del cuidado de cada individuo/a!", + "MENU_BTN_SETTINGS": "En <b>{{'MENU.SETTINGS'|translate}}</b> podrá configurar la aplicación.", + "HEADER_BAR_BTN_PROFILE": "Haga clic aquí para acceder a su <b>perfil</b>", + "SETTINGS_CHANGE_UNIT": "Podrá <b>cambiar la unidad de visualización</b> de los importes haciendo clic aquí.<br/><br/>- Desactive la opción para mostrar los importes en {{currency|capitalize}}.<br/>- Actívela para importes relativos al {{'COMMON.UD'|translate}}<sub>{{currency|abbreviate}}</sub> (las cantidades de los importes se mostrarán <b>divididos</b> entre el Dividendo Universal actual).", + "END_LOGIN": "¡La visita guiada ha <b>terminado</b>!<br/><br/>¡Buena suerte en este nuevo mundo de la <b>economía libre</b> !", + "END_NOT_LOGIN": "¡La visita guiada ha <b>terminado</b>!<br/><br/>Si quiere utilizar la moneda {{currency|capitalize}}, tiene que hacer un clic en <b>{{'LOGIN.CREATE_ACCOUNT'|translate}}</b> más abajo." + } + } +} diff --git a/src/assets/i18n/en-GB.json b/src/assets/i18n/en-GB.json new file mode 100644 index 0000000..e9ddd3a --- /dev/null +++ b/src/assets/i18n/en-GB.json @@ -0,0 +1,1025 @@ +{ + "COMMON": { + "APP_NAME": "Cesium", + "APP_VERSION": "v{{version}}", + "APP_BUILD": "build {{build}}", + "PUBKEY": "Public key", + "MEMBER": "Member", + "BLOCK" : "Block", + "BTN_OK": "OK", + "BTN_YES": "Yes", + "BTN_NO": "No", + "BTN_SEND": "Send", + "BTN_SEND_MONEY": "Transfer money", + "BTN_SEND_MONEY_SHORT": "Transfer", + "BTN_SAVE": "Save", + "BTN_YES_SAVE": "Yes, Save", + "BTN_YES_CONTINUE": "Yes, Continue", + "BTN_SHOW": "Show", + "BTN_SHOW_PUBKEY": "Show key", + "BTN_RELATIVE_UNIT": "Display amounts in UD?", + "BTN_BACK": "Back", + "BTN_NEXT": "Next", + "BTN_IMPORT": "Import", + "BTN_CANCEL": "Cancel", + "BTN_CLOSE": "Close", + "BTN_LATER": "Later", + "BTN_LOGIN": "Sign In", + "BTN_LOGOUT": "Logout", + "BTN_ADD_ACCOUNT": "New Account", + "BTN_SHARE": "Share", + "BTN_EDIT": "Edit", + "BTN_DELETE": "Delete", + "BTN_ADD": "Add", + "BTN_SEARCH": "Search", + "BTN_REFRESH": "Refresh", + "BTN_RETRY": "Retry", + "BTN_START": "Start", + "BTN_CONTINUE": "Continue", + "BTN_CREATE": "Create", + "BTN_UNDERSTOOD": "I understand", + "BTN_OPTIONS": "Options", + "BTN_HELP_TOUR": "Features tour", + "BTN_HELP_TOUR_SCREEN": "Discover this screen", + "BTN_DOWNLOAD": "Download", + "BTN_DOWNLOAD_ACCOUNT_STATEMENT": "Download account statement", + "BTN_MODIFY": "Modify", + "CHOOSE_FILE": "Drag your file<br/>or click to select", + "DAYS": "days", + "NO_ACCOUNT_QUESTION": "Not a member yet? Register now!", + "SEARCH_NO_RESULT": "No result found", + "LOADING": "Loading...", + "LOADING_WAIT": "Loading...<br/><small>(Waiting for node availability)</small>", + "SEARCHING": "Searching...", + "FROM": "From", + "TO": "To", + "COPY": "Copy", + "LANGUAGE": "Language", + "UNIVERSAL_DIVIDEND": "Universal dividend", + "UD": "UD", + "DATE_PATTERN": "DD/MM/YYYY HH:mm", + "DATE_FILE_PATTERN": "YYYY-MM-DD", + "DATE_SHORT_PATTERN": "DD/MM/YY", + "DATE_MONTH_YEAR_PATTERN": "MM/YYYY", + "EMPTY_PARENTHESIS": "(empty)", + "UID": "Pseudonym", + "ENABLE": "Enabled", + "DISABLE": "Disabled", + "RESULTS_LIST": "Results:", + "RESULTS_COUNT": "{{count}} results", + "EXECUTION_TIME": "executed in {{duration|formatDurationMs}}", + "SHOW_VALUES": "Display values openly?", + "POPOVER_ACTIONS_TITLE": "Options", + "POPOVER_FILTER_TITLE": "Filters", + "SHOW_MORE": "Show more", + "SHOW_MORE_COUNT": "(current limit at {{limit}})", + "POPOVER_SHARE": { + "TITLE": "Share", + "SHARE_ON_TWITTER": "Share on Twitter", + "SHARE_ON_FACEBOOK": "Share on Facebook", + "SHARE_ON_DIASPORA": "Share on Diaspora*", + "SHARE_ON_GOOGLEPLUS": "Share on Google+" + }, + "FILE": { + "DATE" : "Date:", + "TYPE" : "Type:", + "SIZE": "Size:", + "VALIDATING": "Validating..." + } + }, + "SYSTEM": { + "PICTURE_CHOOSE_TYPE": "Choose source:", + "BTN_PICTURE_GALLERY": "Gallery", + "BTN_PICTURE_CAMERA": "<b>Camera</b>" + }, + "MENU": { + "HOME": "Home", + "WOT": "Registry", + "CURRENCY": "Currency", + "ACCOUNT": "My Account", + "WALLETS": "My wallets", + "SETTINGS": "Settings", + "NETWORK": "Network", + "TRANSACTIONS": "My transactions" + }, + "ABOUT": { + "TITLE": "About", + "LICENSE": "<b>Free/libre software</b> (License GNU AGPLv3).", + "LATEST_RELEASE": "There is a <b>newer version</ b> of {{'COMMON.APP_NAME' | translate}} (<b>v{{version}}</b>)", + "PLEASE_UPDATE": "Please update {{'COMMON.APP_NAME' | translate}} (latest version: <b>v{{version}}</b>)", + "CODE": "Source code:", + "OFFICIAL_WEB_SITE": "Official web site:", + "DEVELOPERS": "Developers:", + "FORUM": "Forum:", + "PLEASE_REPORT_ISSUE": "Please report any issue to us!", + "REPORT_ISSUE": "Report an issue", + "BTN_OPEN_DEV_WINDOW": "Open the debug window" + }, + "HOME": { + "TITLE": "Cesium", + "WELCOME": "Welcome to the Cesium application!", + "WELCOME_READONLY": "Welcome to Cesium <span class='badge badge-balanced'>Monit</span> !", + "MESSAGE": "Receive and send libre currency {{currency|abbreviate}}", + "MESSAGE_READONLY": "Real-time monitoring of libre currency {{currency|abbreviate}}", + "BTN_CURRENCY": "Explore currency {{currency|abbreviate}}", + "BTN_ABOUT": "about", + "BTN_HELP": "Help", + "BTN_NETWORK": "Network status", + "FREE_SOFTWARE": "Free software", + "FORK_ME": "Fork me!", + "SHOW_LICENSE": "Show license", + "REPORT_ISSUE": "Report an issue", + "NOT_YOUR_ACCOUNT_QUESTION" : "You do not own the account <b><i class=\"ion-key\"></i> {{pubkey|formatPubkey}}</b>?", + "BTN_CHANGE_ACCOUNT": "Disconnect this account", + "CONNECTION_ERROR": "Peer <b>{{server}}</b> unreachable or invalid address.<br/><br/>Check your Internet connection, or change node <a class=\"positive\" ng-click=\"doQuickFix('settings')\">in the settings</a>.", + "SHOW_ALL_FEED": "Show all", + "READ_MORE": "Read more", + "FEED_SOURCE": "Source" + }, + "SETTINGS": { + "TITLE": "Settings", + "DISPLAY_DIVIDER": "Display", + "STORAGE_DIVIDER": "Storage", + "NETWORK_SETTINGS": "Network", + "PEER": "Duniter peer address", + "PEER_SHORT": "Peer address", + "PEER_CHANGED_TEMPORARY": "Address used temporarily", + "PERSIST_CACHE": "Keep navigation data (experimental)", + "PERSIST_CACHE_HELP": "Allows faster navigation, locally retaining the data received, for use from one session to another.", + "USE_LOCAL_STORAGE": "Enable local storage", + "USE_LOCAL_STORAGE_HELP": "Allows you to save your settings", + "WALLETS_SETTINGS": "My wallets", + "USE_WALLETS_ENCRYPTION": "Secure the list", + "USE_WALLETS_ENCRYPTION_HELP": "Enables you to encrypt the list of your wallets. Authentication required to access it.", + "ENABLE_HELPTIP": "Enable contextual help tips", + "DISABLE_HELPTIP": "Disable contextual help tips", + "ENABLE_UI_EFFECTS": "Enable visual effects", + "ENABLE_UI_EFFECTS_HELP": "Transition between pages, animation of list", + "HISTORY_SETTINGS": "Account operations", + "DISPLAY_UD_HISTORY": "Display produced dividends?", + "TX_HISTORY_AUTO_REFRESH": "Enable automatic refresh?", + "TX_HISTORY_AUTO_REFRESH_HELP": "Updates the list of operations to each new block.", + "AUTHENTICATION_SETTINGS": "Authentication", + "KEEP_AUTH": "Expiration of authentication", + "KEEP_AUTH_SHORT": "Expiration", + "KEEP_AUTH_HELP": "Define when authentication is cleared from memory.", + "KEEP_AUTH_OPTION": { + "NEVER": "After each operation", + "SECONDS": "After {{value}}s of inactivity", + "MINUTE": "After {{value}}min of inactivity", + "MINUTES": "After {{value}}min of inactivity", + "HOUR": "After {{value}}h of inactivity", + "ALWAYS": "At the end of the session" + }, + "KEYRING_FILE": "Keyring file", + "KEYRING_FILE_HELP": "Allow auto-connect at startup, or to authenticate (only if \"Expiration of authentication\" is \"at the end of the session\"", + "REMEMBER_ME": "Remember me ?", + "REMEMBER_ME_HELP": "Allows to remain identified from one session to another, keeping the public key locally.", + "PLUGINS_SETTINGS": "Extensions", + "BTN_RESET": "Restore default values", + "EXPERT_MODE": "Enable expert mode", + "EXPERT_MODE_HELP": "Allow to see more details", + "BLOCK_VALIDITY_WINDOW": "Block uncertainty time", + "BLOCK_VALIDITY_WINDOW_SHORT": "Time of uncertainty", + "BLOCK_VALIDITY_WINDOW_HELP": "Time to wait before considering an information is validated", + "BLOCK_VALIDITY_OPTION": { + "NONE": "No delay", + "N": "{{time | formatDuration}} ({{count}} blocks)" + }, + "POPUP_PEER": { + "TITLE" : "Duniter peer", + "HOST" : "Address", + "HOST_HELP": "Address: server:port", + "USE_SSL" : "Secured?", + "USE_SSL_HELP" : "(SSL Encryption)", + "BTN_SHOW_LIST" : "Peer's list" + } + }, + "BLOCKCHAIN": { + "HASH": "Hash: {{hash}}", + "VIEW": { + "HEADER_TITLE": "Block #{{number}}-{{hash|formatHash}}", + "TITLE_CURRENT": "Current block", + "TITLE": "Block #{{number|formatInteger}}", + "COMPUTED_BY": "Computed by", + "SHOW_RAW": "Show raw data", + "TECHNICAL_DIVIDER": "Technical informations", + "VERSION": "Format version", + "HASH": "Computed hash", + "UNIVERSAL_DIVIDEND_HELP": "Money co-produced by each of the {{membersCount}} members", + "EMPTY": "Aucune donnée dans ce bloc", + "POW_MIN": "Minimal difficulty", + "POW_MIN_HELP": "Difficulty imposed in calculating hash", + "DATA_DIVIDER": "Data", + "IDENTITIES_COUNT": "New identities", + "JOINERS_COUNT": "Joiners", + "ACTIVES_COUNT": "Renewals", + "ACTIVES_COUNT_HELP": "Members having renewed their membership", + "LEAVERS_COUNT": "Leavers", + "LEAVERS_COUNT_HELP": "Members that now refused certification", + "EXCLUDED_COUNT": "Excluded members", + "EXCLUDED_COUNT_HELP": "Old members, excluded because missing membreship renewal or certifications", + "REVOKED_COUNT": "Revoked identities", + "REVOKED_COUNT_HELP": "These accounts may no longer be member", + "TX_COUNT": "Transactions", + "CERT_COUNT": "Certifications", + "TX_TO_HIMSELF": "Change", + "TX_OUTPUT_UNLOCK_CONDITIONS": "Unlock conditions", + "TX_OUTPUT_OPERATOR": { + "AND": "and", + "OR": "or" + }, + "TX_OUTPUT_FUNCTION": { + "SIG": "<b>Sign</b> of the public key", + "XHX": "<b>Password</b>, including SHA256 =", + "CSV": "Blocked during", + "CLTV": "Bloqué until" + } + }, + "LOOKUP": { + "TITLE": "Blocks", + "NO_BLOCK": "No bloc", + "LAST_BLOCKS": "Last blocks:", + "BTN_COMPACT": "Compact" + } + }, + "CURRENCY": { + "VIEW": { + "TITLE": "Currency", + "TAB_CURRENCY": "Currency", + "TAB_WOT": "Web of trust", + "TAB_NETWORK": "Network", + "TAB_BLOCKS": "Blocks", + "CURRENCY_SHORT_DESCRIPTION": "{{currency|capitalize}} is a <b>libre money</b>, started {{firstBlockTime | formatFromNow}}. It currently counts <b>{{N}} members </b>, who produce and collect a <a ng-click=\"showHelpModal('ud')\">Universal Dividend</a> (DU), each {{dt | formatPeriod}}.", + "NETWORK_RULES_DIVIDER": "Network rules", + "CURRENCY_NAME": "Currency name", + "MEMBERS": "Members count", + "MEMBERS_VARIATION": "Variation since {{duration|formatDuration}} (since last UD)", + "MONEY_DIVIDER": "Money", + "MASS": "Monetary mass", + "SHARE": "Money share", + "UD": "Universal Dividend", + "C_ACTUAL": "Current growth", + "MEDIAN_TIME": "Current blockchain time", + "POW_MIN": "Common difficulty", + "MONEY_RULES_DIVIDER": "Rules of currency", + "C_RULE": "Theoretical growth target", + "UD_RULE": "Universal dividend (formula)", + "DT_REEVAL": "Period between two re-evaluation of the UD", + "REEVAL_SYMBOL": "reeval", + "DT_REEVAL_VALUE": "Every <b>{{dtReeval|formatDuration}}</b> ({{dtReeval/86400}} {{'COMMON.DAYS'|translate}})", + "UD_REEVAL_TIME0": "Date of first reevaluation of the UD", + "SIG_QTY_RULE": "Required number of certifications to become a member", + "SIG_STOCK": "Maximum number of certifications sent by a member", + "SIG_PERIOD": "Minimum delay between 2 certifications sent by one and the same issuer.", + "SIG_WINDOW": "Maximum delay before a certification will be treated", + "SIG_VALIDITY": "Lifetime of a certification that has been treated", + "MS_WINDOW": "Maximum delay before a pending membership will be treated", + "MS_VALIDITY": "Lifetime of a membership that has been treated", + "STEP_MAX": "Maximum distance between a newcomer and each referring members.", + "WOT_RULES_DIVIDER": "Rules for web of trust", + "SENTRIES": "Required number of certifications (given <b>and</b> received) to become a referring member", + "SENTRIES_FORMULA": "Required number of certifications to become a referring member (formula)", + "XPERCENT":"Minimum percent of referring member to reach to match the distance rule", + "AVG_GEN_TIME": "The average time between 2 blocks", + "CURRENT": "current", + "MATH_CEILING": "CEILING", + "DISPLAY_ALL_RULES": "Display all rules?", + "BTN_SHOW_LICENSE": "Show license", + "WOT_DIVIDER": "Web of trust" + }, + "LICENSE": { + "TITLE": "Currency license", + "BTN_DOWNLOAD": "Download file", + "NO_LICENSE_FILE": "License file not found." + } + }, + "NETWORK": { + "VIEW": { + "MEDIAN_TIME": "Blockchain time", + "LOADING_PEERS": "Loading peers...", + "NODE_ADDRESS": "Address:", + "SOFTWARE": "Software:", + "WARN_PRE_RELEASE": "Pre-release (latest stable: <b>{{version}}</b>)", + "WARN_NEW_RELEASE": "Version <b>{{version}}</b> available", + "WS2PID": "Identifier:", + "PRIVATE_ACCESS": "Private access", + "POW_PREFIX": "Proof of work prefix:", + "ENDPOINTS": { + "BMAS": "Secure endpoint (SSL)", + "BMATOR": "TOR endpoint", + "WS2P": "WS2P endpoint", + "ES_USER_API": "Cesium+ data node" + } + }, + "INFO": { + "ONLY_SSL_PEERS": "Non-SSL nodes have a degraded display because Cesium works in HTTPS mode." + } + }, + "PEER": { + "PEERS": "Peers", + "SIGNED_ON_BLOCK": "Signed on block", + "MIRROR": "mirror", + "MIRRORS": "Mirrors", + "MIRROR_PEERS": "Mirror peers", + "PEER_LIST" : "Peer's list", + "MEMBERS" : "Members", + "MEMBER_PEERS" : "Member peers", + "ALL_PEERS" : "All peers", + "DIFFICULTY" : "Difficulty", + "API" : "API", + "CURRENT_BLOCK" : "Block #", + "POPOVER_FILTER_TITLE": "Filter", + "OFFLINE": "Offline", + "OFFLINE_PEERS": "Offline peers", + "BTN_SHOW_PEER": "Show peer", + "VIEW": { + "TITLE": "Peer", + "OWNER": "Owned by ", + "SHOW_RAW_PEERING": "See peering document", + "SHOW_RAW_CURRENT_BLOCK": "See current block (raw format)", + "LAST_BLOCKS": "Last blocks", + "KNOWN_PEERS": "Known peers :", + "GENERAL_DIVIDER": "General information", + "ERROR": { + "LOADING_TOR_NODE_ERROR": "Could not get peer data, using the TOR network.", + "LOADING_NODE_ERROR": "Could not get peer data" + } + } + }, + "WOT": { + "SEARCH_HELP": "Search (member or public key)", + "SEARCH_INIT_PHASE_WARNING": "During the pre-registration phase, the search for pending registrations <b>may be long</b>. Please wait ...", + "REGISTERED_SINCE": "Registered on", + "REGISTERED_SINCE_BLOCK": "Registered since block #", + "NO_CERTIFICATION": "No validated certification", + "NO_GIVEN_CERTIFICATION": "No given certification", + "NOT_MEMBER_PARENTHESIS": "(non-member)", + "IDENTITY_REVOKED_PARENTHESIS": "(identity revoked)", + "MEMBER_PENDING_REVOCATION_PARENTHESIS": "(being revoked)", + "EXPIRE_IN": "Expires", + "NOT_WRITTEN_EXPIRE_IN": "Deadline<br/>treatment", + "EXPIRED": "Expired", + "PSEUDO": "Pseudonym", + "SIGNED_ON_BLOCK": "Emitted on block #{{block}}", + "WRITTEN_ON_BLOCK": "Written on block #{{block}}", + "GENERAL_DIVIDER": "General information", + "NOT_MEMBER_ACCOUNT": "Non-member account", + "NOT_MEMBER_ACCOUNT_HELP": "This is a simple wallet, with no pending membership application.", + "TECHNICAL_DIVIDER": "Technical data", + "BTN_CERTIFY": "Certify", + "BTN_YES_CERTIFY": "Yes, certify", + "BTN_SELECT_AND_CERTIFY": "New certification", + "ACCOUNT_OPERATIONS": "Account operations", + "VIEW": { + "POPOVER_SHARE_TITLE": "Identity {{title}}" + }, + "LOOKUP": { + "TITLE": "Registry", + "NEWCOMERS": "New members:", + "NEWCOMERS_COUNT": "{{count}} members", + "PENDING": "Pending registrations:", + "PENDING_COUNT": "{{count}} pending registrations", + "REGISTERED": "Registered {{sigDate | formatFromNow}}", + "MEMBER_FROM": "Member since {{memberDate|medianFromNowShort}}", + "BTN_NEWCOMERS": "Latest members", + "BTN_PENDING": "Pending registrations", + "SHOW_MORE": "Show more", + "SHOW_MORE_COUNT": "(current limit to {{limit}})", + "NO_PENDING": "No pending registrations.", + "NO_NEWCOMERS": "No members." + }, + "CONTACTS": { + "TITLE": "Contacts" + }, + "MODAL": { + "TITLE": "Search" + }, + "CERTIFICATIONS": { + "TITLE": "{{uid}} - Certifications", + "SUMMARY": "Received certifications", + "LIST": "Details of received certifications", + "PENDING_LIST": "Pending certifications", + "RECEIVED": "Received certifications", + "RECEIVED_BY": "Certifications received by {{uid}}", + "ERROR": "Received certifications in error", + "SENTRY_MEMBER": "Referring member" + }, + "OPERATIONS": { + "TITLE": "{{uid}} - Operations" + }, + "GIVEN_CERTIFICATIONS": { + "TITLE": "{{uid}} - Certifications sent", + "SUMMARY": "Sent certifications", + "LIST": "Details of sent certifications", + "PENDING_LIST": "Pending certifications", + "SENT": "Sent certifications", + "SENT_BY": "Certifications sent by {{uid}}", + "ERROR": "Sent certifications with error" + } + }, + "LOGIN": { + "TITLE": "<i class=\"icon ion-log-in\"></i> Login", + "SCRYPT_FORM_HELP": "Please enter your credentials. <br> Remember to check the public key for your account.", + "PUBKEY_FORM_HELP": "Please enter a public account key:", + "FILE_FORM_HELP": "Choose the keychain file to use:", + "SCAN_FORM_HELP": "Scan the QR code of a wallet.", + "SALT": "Secret identifier", + "SALT_HELP": "Secret identifier", + "SHOW_SALT": "Display secret identifier?", + "PASSWORD": "Password", + "PASSWORD_HELP": "Password", + "PUBKEY_HELP": "Public key or pseudonym", + "NO_ACCOUNT_QUESTION": "Don't have an account yet?", + "HAVE_ACCOUNT_QUESTION": "Already have an account ?", + "CREATE_ACCOUNT": "Create an account", + "CREATE_FREE_ACCOUNT": "Create a free account", + "FORGOTTEN_ID": "Forgot password?", + "ASSOCIATED_PUBKEY": "Public key :", + "BTN_METHODS": "Other methods", + "BTN_METHODS_DOTS": "Change method...", + "METHOD_POPOVER_TITLE": "Methods", + "MEMORIZE_AUTH_FILE": "Memorize this keychain during the navigation session", + "SCRYPT_PARAMETERS": "Paramètres (Scrypt) :", + "AUTO_LOGOUT": { + "TITLE": "Information", + "MESSAGE": "<i class=\"ion-android-time\"></i> You were <b>logout</ b> automatically, due to prolonged inactivity.", + "BTN_RELOGIN": "Sign In", + "IDLE_WARNING": "You will be logout... {{countdown}}" + }, + "METHOD": { + "SCRYPT_DEFAULT": "Secret identifier and password", + "SCRYPT_ADVANCED": "Advanced salt", + "FILE": "Keychain file", + "PUBKEY": "Public key or pseudonym", + "SCAN": "Scan a QR code" + }, + "SCRYPT": { + "SIMPLE": "Light salt", + "DEFAULT": "Standard salt", + "SECURE": "Secure salt", + "HARDEST": "Hardest salt", + "EXTREME": "Extreme salt", + "USER": "Personal value", + "N": "N (Loop):", + "r": "r (RAM):", + "p": "p (CPU):" + }, + "FILE": { + "HELP": "Expected file format: <b>.dunikey</b> (type PubSec). Other formats are under development (EWIF, WIF)." + } + }, + "AUTH": { + "TITLE": "<i class=\"icon ion-locked\"></i> Authentication", + "BTN_AUTH": "Authenticate", + "GENERAL_HELP": "Please authenticate yourself:", + "EXPECTED_UID_HELP": "Please authenticate to the account <i class=\"ion-person\"></i> {{uid}}:", + "EXPECTED_PUBKEY_HELP": "Please authenticate to the wallet <i class=\"ion-key\"></i> {{pubkey|formatPubkey}}:", + "SCAN_FORM_HELP": "Scan the QR code of the <b>private key</b> of the wallet." + }, + "ACCOUNT": { + "TITLE": "My Account", + "BALANCE": "Balance", + "LAST_TX": "Latest validated transactions", + "BALANCE_ACCOUNT": "Account balance", + "NO_TX": "No transaction", + "SHOW_MORE_TX": "Show more", + "SHOW_ALL_TX": "Show all", + "TX_FROM_DATE": "(current limit to {{fromTime|medianFromNowShort}})", + "PENDING_TX": "Pending transactions", + "VALIDATING_TX": "Transactions being validated", + "ERROR_TX": "Transaction not executed", + "ERROR_TX_SENT": "Sent transactions", + "PENDING_TX_RECEIVED": "Transactions awaiting receipt", + "EVENTS": "Events", + "OUT_DISTANCED": "Your current certifications come from a group too isolated from the <a ng-click=\"showHelpModal('wot')\"> Web of Trust</a> (WoT): the <a ng-click=\"showHelpModal('distance_rule')\">maximum distance rule</a> is violated.<br/>You must obtain certifications from another area of the Web of Trust, or wait for it to tighten.", + "WAITING_MEMBERSHIP": "Membership application sent. Waiting validation.", + "WAITING_CERTIFICATIONS": "You need {{needCertificationCount}} certification(s) to become a member and produce the <a ng-click=\"showHelpModal('ud')\">Universal Dividend</a>. Your account is however already operational, to receive and send payments.", + "WAITING_CERTIFICATIONS_HELP": "To get your certifications, only request members <b>who know you enough</b>, as required by <a ng-click=\"showLicenseModal()\">the currency license</a> that you have accepted.<br/>If you do not know enough members, let them know on <a ng-click=\"openLink($event, $root.settings.userForumUrl)\">the user forum</a>.", + "WILL_MISSING_CERTIFICATIONS": "You will <b>lack certifications</b> soon (at least {{willNeedCertificationCount}} more are needed)", + "WILL_NEED_RENEW_MEMBERSHIP": "Your membership <b>will expire {{membershipExpiresIn|formatDurationTo}}</b>. Remember to <a ng-click=\"doQuickFix('renew')\">renew your membership</a> before then.", + "NEED_RENEW_MEMBERSHIP": "You are no longer a member because your membership <b>has expired</b>. Remember to <a ng-click=\"doQuickFix('renew')\">renew your membership</a>.", + "NEED_RENEW_MEMBERSHIP_AFTER_CANCELLED": "You are no longer a member because your membership <b>has been cancelled</b> for lack of certifications. Remember to <a ng-click=\"doQuickFix('renew')\">renew your membership</a>.", + "NO_WAITING_MEMBERSHIP": "No membership application pending. If you'd like to <b>become a member</ b>, please <a ng-click=\"doQuickFix('membership')\">send the membership application</a>.", + "CERTIFICATION_COUNT": "Received certifications", + "CERTIFICATION_COUNT_SHORT": "Certifications", + "SIG_STOCK": "Stock of certifications to give", + "BTN_RECEIVE_MONEY": "Receive", + "BTN_SELECT_ALTERNATIVES_IDENTITIES": "Switch to another identity...", + "BTN_FIX_MEMBERSHIP": "Resubmit membership request...", + "BTN_MEMBERSHIP_RENEW": "Renew membership", + "BTN_MEMBERSHIP_RENEW_DOTS": "Renew membership...", + "BTN_MEMBERSHIP_OUT_DOTS": "Revoke membership...", + "BTN_SECURITY_DOTS": "Sign-in and security...", + "BTN_SHOW_DETAILS": "Display technical data", + "LOCKED_OUTPUTS_POPOVER": { + "TITLE": "Locked amount", + "DESCRIPTION": "Here are the conditions for unlocking this amount:", + "DESCRIPTION_MANY": "This transaction consists of several parts, of which the unlock conditions are:", + "LOCKED_AMOUNT": "Conditions for the amount:" + }, + "NEW": { + "TITLE": "Registration", + "INTRO_WARNING_TIME": "Creating an account on {{name|capitalize}} is very simple. Please take sufficient time to do this correctly (not to forget the usernames, passwords, etc.).", + "INTRO_WARNING_SECURITY": "Check that the hardware you are currently using (computer, tablet, phone) <b>is secure and trustworthy </b>.", + "INTRO_WARNING_SECURITY_HELP": "Up-to-date anti-virus, firewall enabled, session protected by password or pin code...", + "INTRO_HELP": "Click <b> {{'COMMON.BTN_START'|translate}}</b> to begin creating an account. You will be guided step by step.", + "REGISTRATION_NODE": "Your registration will be registered via the Duniter peer <b>{{server}}</b> node, which will then be distributed to the rest of the currency network.", + "REGISTRATION_NODE_HELP": "If you do not trust this peer, please change <a ng-click=\"doQuickFix('settings')\">in the settings</a> of Cesium.", + "SELECT_ACCOUNT_TYPE": "Choose the type of account to create:", + "MEMBER_ACCOUNT": "Member account", + "MEMBER_ACCOUNT_TITLE": "Create a member account", + "MEMBER_ACCOUNT_HELP": "You know enough about libre money and want to participate in its production?<br/>As an individual, you can create your member account (only one per individual). This works like a simple wallet account, but also allows you to co-produce the money, by <b>receiving for each {{parameters.dt|formatPeriod}} a universal dividend</b>: it's then up to you to put to good use!", + "WALLET_ACCOUNT": "Simple wallet", + "WALLET_ACCOUNT_TITLE": "Create a wallet", + "WALLET_ACCOUNT_HELP": "Are you <b>new to libre money</b>? You need an additional account?<br/>This type of account will suit you. Although it does not co-produce the money (unlike a member account - see below), you will be able to receive and send payments there, as soon as registration is complete.<br/>If necessary, you can convert it into a member account later.", + "SALT_WARNING": "Choose a secret identifier.<br/>You need it for each connection to this account.<br/><br/><b>Make sure to remember this identifier</b>.<br/>If lost, there are no means to retrieve it!", + "PASSWORD_WARNING": "Choose a password.<br/>You need it for each connection to this account.<br/><br/><b>Make sure to remember this password</b>.<br/>If lost, there are no means to retrieve it!", + "PSEUDO_WARNING": "Choose a pseudonym.<br/>It may be used by other people to find you more easily.<br/><br/>.Use of <b>commas, spaces and accents</b> is not allowed.<br/><div class='hidden-xs'><br/>Example: <span class='gray'>JohnDalton, JackieChan, etc.</span>", + "PSEUDO": "Pseudonym", + "PSEUDO_HELP": "joe123", + "SALT_CONFIRM": "Confirm", + "SALT_CONFIRM_HELP": "Confirm the secret identifier", + "PASSWORD_CONFIRM": "Confirm", + "PASSWORD_CONFIRM_HELP": "Confirm the password", + "SLIDE_6_TITLE": "Confirmation:", + "COMPUTING_PUBKEY": "Computing...", + "LAST_SLIDE_CONGRATULATION": "You completed all required fields.<br/><b>You can send the account creation request</b>.<br/><br/>For information, the public key below identifies your future account.<br/>It can be communicated to third parties to receive their payment.<br/>Once your account has been approved, you can find this key under <b>{{'ACCOUNT.TITLE'|translate}}</b>.", + "CONFIRMATION_MEMBER_ACCOUNT": "<b class=\"assertive\">Warning:</b> your secret identifier, password and pseudonym can not be changed.<br/><b>Make sure you always remember it!</b><br/><b>Are you sure</b> you want to send this account creation request?", + "CONFIRMATION_WALLET_ACCOUNT": "<b class=\"assertive\">Warning:</b> your password and pseudonym can not be changed.<br/><b>Make sure you always remember it!</b><br/><b>Are you sure</b> you want to continue?", + "CHECKING_PSEUDO": "Checking...", + "PSEUDO_AVAILABLE": "This pseudonym is available", + "PSEUDO_NOT_AVAILABLE": "This pseudonym is not available", + "INFO_LICENSE": "To be able to adhere to the currency, we ask you to kindly read and accept this license.", + "BTN_ACCEPT": "I accept", + "BTN_ACCEPT_LICENSE": "I accept the license" + }, + "POPUP_REGISTER": { + "TITLE": "Enter a pseudonym", + "HELP": "A pseudonym is needed to let other members find you." + }, + "SELECT_IDENTITY_MODAL": { + "TITLE": "Identity selection", + "HELP": "Several <b>different identities</b> have been sent, for the public key <span class=\"gray\"> <i class=\"ion-key\"></i> {{pubkey | formatPubkey}}</span>.<br/>Please select the identity to use:" + }, + "SELECT_WALLET_MODAL": { + "TITLE": "Wallet selection" + }, + "WALLET_LIST": { + "TITLE": "My wallets", + "BTN_NEW": "Add a wallet", + "BTN_DOWNLOAD": "Download the list", + "BTN_IMPORT_FILE_DOTS": "Import from a file...", + "NO_WALLET": "No secondary wallet", + "BTN_DELETE": "Remove a secondary wallet...", + "BTN_RENAME": "Rename the wallet", + "EXPORT_FILENAME": "my_wallets-{{pubkey|formatPubkey}}-{{currency}}.csv", + "TOTAL_DOTS": "Total: ", + "EDIT_POPOVER": { + "TITLE": "Rename the wallet", + "HELP": "Fill in the new name", + "NAME_HELP": "Wallet name" + }, + "IMPORT_MODAL": { + "TITLE": "Import secondary wallets", + "HELP": "To <b>import secodnary wallets</b>, please drag the file in the box below, or click in the box to search for a file.", + "WALLET_COUNT": "<b>{{count}}</b> new wallet{{count > 1 ? 's' : ''}}", + "NO_NEW_WALLET": "No new wallet" + } + }, + "SECURITY":{ + "ADD_QUESTION" : "Add custom question", + "BTN_CLEAN" : "Clean", + "BTN_RESET" : "Reset", + "DOWNLOAD_REVOKE": "Save a revocation file", + "DOWNLOAD_REVOKE_HELP" : "Having a revocation file is important, for example in case of loss of identifiers. It allows you to <b>get this account out of the Web Of Trust</b>, thus becoming a simple wallet.", + "GENERATE_KEYFILE": "Generate my keychain file ...", + "GENERATE_KEYFILE_HELP": "Generate a file allowing you to authenticate without entering your identifiers.<br/><b>Warning:</b> this file will contain your secret key; It is therefore very important to put it in a safe place!", + "KEYFILE_FILENAME": "keychain-{{pubkey|formatPubkey}}-{{currency}}-{{format}}.dunikey", + "MEMBERSHIP_IN": "Register as member...", + "MEMBERSHIP_IN_HELP": "Allows you to <b>transform </b> a simple wallet account <b>into a member account</b>, by sending a membership request. Useful only if you do not already have another member account.", + "SEND_IDENTITY": "Publish identity...", + "SEND_IDENTITY_HELP": "Allows you to associate a pseudonym to this account, but <b>without applying for membership</b> to become a member. This is not very useful because the validity of this pseudonym association is limited in time.", + "HELP_LEVEL": "Choose <strong> at least {{nb}} questions </strong> :", + "LEVEL": "Security level", + "LOW_LEVEL": "Low <span class=\"hidden-xs\">(2 questions minimum)</span>", + "MEDIUM_LEVEL": "Medium <span class=\"hidden-xs\">(4 questions minimum)</span>", + "QUESTION_1": "What was your best friend's name when you were a teen ?", + "QUESTION_2": "What was the name of your first pet ?", + "QUESTION_3": "What is the first meal you have learned to cook ?", + "QUESTION_4": "What is the first movie you saw in the cinema?", + "QUESTION_5": "Where did you go the first time you flew ?", + "QUESTION_6": "What was your favorite elementary school teacher's name ?", + "QUESTION_7": "What would you consider the ideal job ?", + "QUESTION_8": "Which children's book do you prefer?", + "QUESTION_9": "What was the model of your first vehicle?", + "QUESTION_10": "What was your nickname when you were a child ?", + "QUESTION_11": "What was your favorite movie character or actor when you were a student ?", + "QUESTION_12": "What was your favorite singer or band when you were a student ?", + "QUESTION_13": "In which city did your parents meet ?", + "QUESTION_14": "What was the name of your first boss ?", + "QUESTION_15": "What is the name of the street where you grew up ?", + "QUESTION_16": "What is the name of the first beach where you go swim ?", + "QUESTION_17": "QWhat is the first album you bought ?", + "QUESTION_18": "What is the name of your favorite sport team ?", + "QUESTION_19": "What was your grand-father's job ?", + "RECOVER_ID": "Recover my password...", + "RECOVER_ID_HELP": "If you have a <b>backup file of your identifiers</b>, you can find them by answering your personal questions correctly.", + "RECOVER_ID_SELECT_FILE": "Select the <b>backup file of your identifiers</b> to use:", + "REVOCATION_WITH_FILE" : "Revoke my member account...", + "REVOCATION_WITH_FILE_DESCRIPTION": "If you have <b>permanently lost your member account credentials (or if account security is compromised), you can use <b>the revocation file</b> of the account <b>to quit the Web Of Trust</b>.", + "REVOCATION_WITH_FILE_HELP": "To <b>permanently revoke</ b> a member account, please drag the revocation file in the box below, or click in the box to search for a file.", + "REVOCATION_WALLET": "Revoke this account immediately", + "REVOCATION_WALLET_HELP": "Requesting revocation of your identity causes <b>will revoke your membership</ b> (definitely for the associated pseudonym and public key). The account will no longer be able to produce a Universal Dividend.<br/>However, you can still use it as a simple wallet.", + "REVOCATION_FILENAME": "revocation-{{uid}}-{{pubkey|formatPubkey}}-{{currency}}.txt", + "SAVE_ID": "Save my credentials...", + "SAVE_ID_HELP": "Creating a backup file, to <b>retrieve your password</b> (and the secret identifier) <b> in case of forgetting</b>. The file is <b>secured</ b> (encrypted) using personal questions.", + "STRONG_LEVEL": "Strong <span class=\"hidden-xs \">(6 questions minimum)</span>", + "TITLE": "Account and security", + "KEYFILE": { + "PUBSEC_FORMAT": "PubSec format.", + "PUBSEC_FORMAT_HELP": "This file format is compatible in particular with Cesium and Gannonce. Your keychain is stored <b>without encryption</b>: anyone with a copy of this file will be able to empty your account.", + "WIF_FORMAT": "Wallet Import Format (WIF)", + "WIF_FORMAT_HELP": "This format is used in particular by paper wallets. Your keychain is stored <b>without encryption</b>: anyone with a copy of this file will be able to empty your account.", + "EWIF_FORMAT": "Encrypted Wallet Import Format (WIF)", + "EWIF_FORMAT_HELP": "This format is used in particular by paper wallets. However, <b>the keychain is encrypted</b> from a passphrase of your choice.", + "PASSWORD_POPUP": { + "TITLE": "Keychain file encrypted", + "HELP": "Please enter the passphrase:", + "PASSWORD_HELP": "Passphrase" + }, + "ERROR": { + "BAD_PASSWORD": "Bad passphrase", + "BAD_CHECKSUM": "Bad checksum" + } + } + }, + "FILE_NAME": "{{currency}} - Account statement {{pubkey|formatPubkey}} to {{currentTime|formatDateForFile}}.csv", + "HEADERS": { + "TIME": "Date", + "AMOUNT": "Amount", + "COMMENT": "Comment" + } + }, + "TRANSFER": { + "TITLE": "Transfer", + "SUB_TITLE": "Transfer money", + "SUB_TITLE_ALL": "Empty the account", + "FROM": "From", + "TO": "To", + "AMOUNT": "Amount", + "AMOUNT_HELP": "Amount", + "COMMENT": "Comment", + "COMMENT_HELP": "Comment (optional)", + "BTN_SEND": "Send", + "BTN_ADD_COMMENT": "Add a comment", + "REST": "Rest of account", + "REST_TO": "to", + "WARN_COMMENT_IS_PUBLIC": "Please note that <b>comments are public</b> (not encrypted).", + "MODAL": { + "TITLE": "Transfer" + } + }, + "ERROR": { + "UNKNOWN_URI_FORMAT": "Unknown URI format", + "PUBKEY_INVALID_CHECKSUM": "Invalid public key (bad checksum).", + "POPUP_TITLE": "Error", + "UNKNOWN_ERROR": "Unknown error", + "CRYPTO_UNKNOWN_ERROR": "Your browser is not compatible with cryptographic features.", + "DOWNLOAD_KEYFILE_FAILED": "Failed to generate the keychain file.", + "EQUALS_TO_PSEUDO": "Must be different from pseudonym", + "EQUALS_TO_SALT": "Must be different from secret identifier", + "FIELD_REQUIRED": "This field is required.", + "FIELD_TOO_SHORT": "This field value is too short.", + "FIELD_TOO_SHORT_WITH_LENGTH": "Value is too short (min {{minLength]] characters).", + "FIELD_TOO_LONG": "Value is exceeding max length.", + "FIELD_TOO_LONG_WITH_LENGTH": "Value is too long (max {{maxLength}} characters).", + "FIELD_MIN": "Minimum value: {{min}}", + "FIELD_MAX": "Maximal value: {{max}}", + "FIELD_ACCENT": "Commas and accent characters not allowed", + "FIELD_NOT_NUMBER": "Value is not a number", + "FIELD_NOT_INT": "Value is not an integer", + "FIELD_NOT_EMAIL": "Email adress not valid", + "PASSWORD_NOT_CONFIRMED": "Must match previous password.", + "SALT_NOT_CONFIRMED": "Must match previous identifier.", + "SEND_IDENTITY_FAILED": "Error while trying to register.", + "SEND_CERTIFICATION_FAILED": "Could not certify identity.", + "NEED_MEMBER_ACCOUNT_TO_CERTIFY": "You could not send certification, because your account is <b>not a member account</b>.", + "NEED_MEMBER_ACCOUNT_TO_CERTIFY_HAS_SELF": "You could not send certification now, because your are <b>not a member</b> yet.<br/><br/>You still need certification to become a member.", + "IDENTITY_TO_CERTIFY_HAS_NO_SELF": "This account could not be certified. No registration found, or need to renew.", + "LOGIN_FAILED": "Error while sign in.", + "LOAD_IDENTITY_FAILED": "Could not load identity.", + "LOAD_REQUIREMENTS_FAILED": "Could not load identity requirements.", + "SEND_MEMBERSHIP_IN_FAILED": "Error while sending registration as member.", + "SEND_MEMBERSHIP_OUT_FAILED": "Error while sending membership revocation.", + "REFRESH_WALLET_DATA": "Could not refresh wallet.", + "GET_CURRENCY_PARAMETER": "Could not get currency parameters.", + "GET_CURRENCY_FAILED": "Could not load currency. Please retry later.", + "SEND_TX_FAILED": "Could not send transaction.", + "ALL_SOURCES_USED": "Please wait the next block computation (All transaction sources has been used).", + "NOT_ENOUGH_SOURCES": "Not enough changes to send this amount in one time.<br/>Maximum amount: {{amount}} {{unit}}<sub>{{subUnit}}</sub>.", + "ACCOUNT_CREATION_FAILED": "Error while creating your member account.", + "RESTORE_WALLET_DATA_ERROR": "Error while reloading settings from local storage", + "LOAD_WALLET_DATA_ERROR": "Error while loading wallet data.", + "COPY_CLIPBOARD_FAILED": "Could not copy to clipboard", + "TAKE_PICTURE_FAILED": "Could not get picture.", + "SCAN_FAILED": "Could not scan QR code.", + "SCAN_UNKNOWN_FORMAT": "Code not recognized.", + "WOT_LOOKUP_FAILED": "Search failed.", + "LOAD_PEER_DATA_FAILED": "Duniter peer not accessible. Please retry later.", + "NEED_LOGIN_FIRST": "Please sign in first.", + "AMOUNT_REQUIRED": "Amount is required.", + "AMOUNT_NEGATIVE": "Negative amount not allowed.", + "NOT_ENOUGH_CREDIT": "Not enough credit.", + "INVALID_NODE_SUMMARY": "Unreachable peer or invalid address", + "INVALID_USER_ID": "Field 'pseudonym' must not contains spaces or special characters.", + "INVALID_COMMENT": "Field 'reference' has a bad format.", + "INVALID_PUBKEY": "Public key has a bad format.", + "INVALID_PUBKEY_CHECKSUM": "Invalid checksum.", + "IDENTITY_REVOKED": "This identity <b>has been revoked</b>. It can no longer become a member.", + "IDENTITY_REVOKED_WITH_TIME": "This identity <b>has been revoked {{revocationTime|medianFromNow}}</b> ({{revocationTime|medianDate}}). It can no longer become a member.", + "IDENTITY_PENDING_REVOCATION": "The <b>revocation of this identity</b> has been requested and is awaiting processing. Certification is therefore disabled.", + "IDENTITY_INVALID_BLOCK_HASH": "This membership application is no longer valid (because it references a block that network peers are cancelled): the person must renew its application for membership <b>before</b> being certified.", + "IDENTITY_EXPIRED": "This identity has expired: this person must re-apply <b>before</b> being certified.", + "IDENTITY_SANDBOX_FULL": "Could not register, because peer's sandbox is full.<br/><br/>Please retry later or choose another Duniter peer (in <b>Settings</b>).", + "IDENTITY_NOT_FOUND": "Identity not found", + "IDENTITY_TX_FAILED": "Error while getting identity's transactions", + "WOT_PENDING_INVALID_BLOCK_HASH": "Membership not valid.", + "WALLET_INVALID_BLOCK_HASH": "Your membership application is no longer valid (because it references a block that network peers are cancelled).<br/>You must <a ng-click=\"doQuickFix('renew')\">renew your application for membership</a> to fix this issue.", + "WALLET_IDENTITY_EXPIRED": "The publication of your identity <b>has expired</b>.<br/>You must <a ng-click=\"doQuickFix('fixIdentity')\">re-issue your identity</a> to resolve this issue.", + "WALLET_REVOKED": "Your identity has been <b>revoked</b>: neither your pseudonym nor your public key will be used in the future for a member account.", + "WALLET_HAS_NO_SELF": "Your identity must first have been published, and not expired.", + "AUTH_REQUIRED": "Authentication required.", + "AUTH_INVALID_PUBKEY": "The public key does not match the connected account.", + "AUTH_INVALID_SCRYPT": "Invalid username or password.", + "AUTH_INVALID_FILE": "Invalid keychain file.", + "AUTH_FILE_ERROR": "Failed to open keychain file", + "IDENTITY_ALREADY_CERTIFY": "You have <b>already certified</b> that identity.<br/><br/>Your certificate is still valid (expires {{expiresIn|formatDuration}}).", + "IDENTITY_ALREADY_CERTIFY_PENDING": "You have <b>already certified</b> that identity.<br/><br/>Your certification is still pending (Deadline for treatment {{expiresIn|formatDuration}}).", + "UNABLE_TO_CERTIFY_TITLE": "Unable to certify", + "LOAD_NEWCOMERS_FAILED": "Unable to load new members.", + "LOAD_PENDING_FAILED": "Unable to load pending registrations.", + "ONLY_MEMBER_CAN_EXECUTE_THIS_ACTION": "You must <b>be a member</b> in order to perform this action.", + "ONLY_MEMBER_OR_WAS_MEMBER_CAN_EXECUTE_THIS_ACTION": "You must <b>be a member (or old member)</b> in order to perform this action.", + "ONLY_SELF_CAN_EXECUTE_THIS_ACTION": "You must have <b>published your identity</b> in order to perform this action.", + "GET_BLOCK_FAILED": "Error while getting block", + "INVALID_BLOCK_HASH": "Block not found (incorrect hash)", + "DOWNLOAD_REVOCATION_FAILED": "Error while downloading revocation file.", + "REVOCATION_FAILED": "Error while trying to revoke the identity.", + "SALT_OR_PASSWORD_NOT_CONFIRMED": "Wrong secret identifier or password ", + "RECOVER_ID_FAILED": "Could not recover password", + "LOAD_FILE_FAILED" : "Unable to load file", + "NOT_VALID_REVOCATION_FILE": "Invalid revocation file (wrong file format)", + "NOT_VALID_SAVE_ID_FILE": "Invalid credentials backup file (wrong file format)", + "NOT_VALID_KEY_FILE": "Invalid keychain file (unrecognized format)", + "EXISTING_ACCOUNT": "Your identifiers correspond to an already existing account, whose <a ng-click=\"showHelpModal('pubkey')\">public key</a> is:", + "EXISTING_ACCOUNT_REQUEST": "Please modify your credentials so that they correspond to an unused account.", + "GET_LICENSE_FILE_FAILED": "Unable to get license file", + "CHECK_NETWORK_CONNECTION": "No peer appears to be accessible.<br/><br/>Please <b>check your Internet connection</b>.", + "ISSUE_524_TX_FAILED": "Failed to transfer.<br/><br/>A message has been sent to developers to help solve the problem.<b>Thank you for your help</b>.", + "ADD_SECONDARY_WALLET_FAILED": "Unable to add secondary wallet.", + "REMOVE_SECONDARY_WALLET_FAILED": "Unable to remove secondary wallet.", + "UPDATE_WALLET_LIST_FAILED": "Unable to refresh the list of wallets.", + "LOAD_WALLET_LIST_FAILED": "Unable to load the list of wallets.", + "SAVE_WALLET_LIST_FAILED": "Unable to save the list of wallets.", + "COULD_NOT_ADD_MAIN_WALLET": "This wallet <b>is the main account</b> with which you are connected. Unable to add it as a secondary wallet.", + "COULD_NOT_ADD_EXISTING_WALLET": "Wallet already existing in the list.", + "UNKNOWN_WALLET_ID": "Unknown secondary wallet.", + "RESTORE_WALLET_LIST_FAILED": "Unable to restore the list of wallets.", + "INVALID_FILE_FORMAT": "Invalid file format.", + "SAME_TX_RECIPIENT": "The recipient must be different from the issuer." + }, + "INFO": { + "POPUP_TITLE": "Information", + "CERTIFICATION_DONE": "Identity successfully signed", + "NOT_ENOUGH_CREDIT": "Not enough credit", + "TRANSFER_SENT": "Transfer request successfully sent", + "COPY_TO_CLIPBOARD_DONE": "Copy succeeded", + "MEMBERSHIP_OUT_SENT": "Membership revocation sent", + "NOT_NEED_MEMBERSHIP": "Already a member.", + "IDENTITY_WILL_MISSING_CERTIFICATIONS": "This identity will soon lack certification (at least {{willNeedCertificationCount}}).", + "IDENTITY_NEED_MEMBERSHIP": "This identity did not send a membership request. She will have to if she wishes to become a member.", + "HAS_ALTERNATIVE_IDENTITIES": "There are <b>multiple identities</b> attached to this public key. <b>Before any certification</b>, please <a ng-click=\"doQuickFix('showSelectIdentities')\">check other identities</a> to choose the correct one, or contact the wallet owner.", + "REVOCATION_SENT": "Revocation sent successfully", + "REVOCATION_SENT_WAITING_PROCESS": "Revocation <b>has been sent successfully</b>. It is awaiting processing.", + "FEATURES_NOT_IMPLEMENTED": "This features is not implemented yet.<br/><br/>Why not to contribute to get it faster? ;)", + "EMPTY_TX_HISTORY": "No operations to export" + }, + "CONFIRM": { + "CAN_CONTINUE": "<b>Are you sure</b> you want to continue?", + "POPUP_TITLE": "<b>Confirmation</b>", + "POPUP_WARNING_TITLE": "<b>Warning</b>", + "POPUP_SECURITY_WARNING_TITLE": "<i class=\"icon ion-alert-circled\"></i> <b>Security warning</b>", + "CERTIFY_RULES_TITLE_UID": "Certify {{uid}}", + "CERTIFY_RULES": "<b class=\"assertive\">Don't certify an account</b> if you believe that: <ul><li>1.) the issuers identity might be faked.<li>2.) the issuer already has another certified account.<li>3.) the issuer purposely or carelessly violates rule 1 or 2 (he certifies faked or double accounts).</ul></small><br/>Are you sure you want to certify this identity?", + "FULLSCREEN": "View the application in full screen?", + "EXIT_APP": "Close the application ?", + "TRANSFER": "<b>Transfer summary:</b><br/><br/><ul><li> - From: <b>{{from}}</b></li><li> - To: <b>{{to}}</b></li><li> - Amount: <b>{{amount}} {{unit}}</b></li><li> - Comment: <i>{{comment}}</i></li></ul><br/><b>Are-you sure you want to do this transfer?</b>", + "TRANSFER_ALL": "<b>Transfer summary:</b><br/><br/><ul><li> - From: <b>{{from}}</b></li><li> - To: <b>{{to}}</b></li><li> - Amount: <b>{{amount}} {{unit}}</b></li><li> - Comment: <i>{{comment}}</i></li><br/><li> - Rest : <b>{{restAmount}} {{unit}}</b> to <b>{{restTo}}</b></li></ul><br/><b>Are-you sure you want to do this transfer?</b>", + "MEMBERSHIP_OUT": "This operation is <b>irreversible</b>.<br/></br/><b>Are you sure you want to terminate your membership?</b>", + "MEMBERSHIP_OUT_2": "This operation is <b>irreversible</b>!<br/><br/>Are you sure you want to <b>terminate your membership</b>?", + "LOGIN_UNUSED_WALLET_TITLE": "Typing error?", + "LOGIN_UNUSED_WALLET": "The account seems to be <b>inactive</b>.<br/><br/>It's probably a <b>typing error</b> when sign in. Please try again, checking that <b>public key is yours<b/>.", + "FIX_IDENTITY": "The pseudonym <b>{{uid}}</b> will be published again, replacing the old publication that has expired.<br/></br/><b>Are you sure</b> you want to continue?", + "FIX_MEMBERSHIP": "Your application for membership will be sent.<br/></br/><b>Are you sure?</b>", + "MEMBERSHIP": "Your membership request will be sent. <br/></br/><b>Are you sure?</b>", + "RENEW_MEMBERSHIP": "Your membership will be renewed.<br/></br/><b>Are you sure?</b>", + "REVOKE_IDENTITY": "You will <b>definitely revoke this identity</b>.<br/><br/>The public key and the associated pseudonym <b>will never be used again</b> (for a member account).<br/></br/><b>Are you sure</b> you want to revoke this identity?", + "REVOKE_IDENTITY_2": "This operation is <b>irreversible</b>!<br/><br/>Are you sure you want to <b>revoke this identity</b>?", + "NOT_NEED_RENEW_MEMBERSHIP": "Your membership does not need to be renewed (it will only expire in {{membershipExpiresIn|formatDuration}}).<br/></br/><b>Are you sure you</b> want to renew your membership?", + "SAVE_BEFORE_LEAVE": "Do you want to <b>save your changes</b> before leaving the page?", + "SAVE_BEFORE_LEAVE_TITLE": "Changes not saved", + "LOGOUT": "Are you sure you want to logout?", + "USE_FALLBACK_NODE": "Peer <b>{{old}}</b> unreachable or invalid address.<br/><br/>Do you want to temporarily use the <b>{{new}}</b> node?", + "ISSUE_524_SEND_LOG": "The transaction was rejected because of a known problem (issue #524) but not reproduced.<br/><br/>To help developers correct this error, do you accept <b>the transmission of your logs</b> per message?<br/><small>(No confidential data is sent)</small>" + }, + "MODE": { + "DEMO": { + "BADGE": "Demo", + "MODE": "Demonstration mode", + "FEATURE_NOT_AVAILABLE": "Functionality <b>not available</b> on this demonstration site.", + "MODE_HELP": "Cesium works in <b>demonstration mode</b>: consultation on account is available, but no operation can be performed.", + "INSTALL_HELP": "For <b>security reasons</b> we recommend <b>installing</b> your copy of the software.<br/> Visit the site <a href='https://cesium.app'>www.cesium.app</a> for help." + }, + "READONLY": { + "BADGE": "Monit", + "MODE": "Monitoring mode", + "MODE_HELP": "Cesium works in <b>monitoring mode</b>: only currency monitoring features are available.", + "INSTALL_HELP": "If you want to <b>create a wallet account</b> to send or received money, we recommend <b>installing</b> your copy of the software.<br/> Visit the site <a href='https://cesium.app'>www.cesium.app</a> for help." + } + }, + "DOWNLOAD": { + "POPUP_TITLE": "<b>Revocation file</b>", + "POPUP_REVOKE_MESSAGE": "To safeguard your account, please download the <b>account revocation document</b>. It will allow you to cancel your account (in case of account theft, ID, an incorrectly created account, etc.).<br/><br/><b>Please store it in a safe place.</b>" + }, + "HELP": { + "TITLE": "Online help", + "JOIN": { + "SECTION": "Join", + "SALT": "The secret identifier is very important. It is used to hash you password, which in turn is used to calculate your <span class=\"text-italic\">public account key</span> (its number) and the private key to access it.<br/><b>Please remeber this identifier well</b>, because there is no way to recover it when lost.<br/>Furthermore, it cannot be changed without having to create a new account.<br/><br/>A good secret identifier must be sufficiently long (8 characters at the very least) and as original as possible.", + "PASSWORD": "The password is very important. Together with the secret identifier, it is use to calculate your account number (pblic key) and the private key to access it.<br/><b>Please remember it well</b>, because there is no way to recover it when lost.<br/>Furthermore, it cannot be changed without having to create a new account.<br/><br/>A good password is made (ideally) of at least 8 characters, with at least one capital and one number.", + "PSEUDO": "A pseudonym is used only when joining as <span class=\"text-italic\">member</span>. It is always associated with a wallet (by its <span class=\"text-italic\">public key</span>).<br/>It is published on the network so that other users may identify it, certify or send money to the account.<br/>A pseudonym must be unique among all members (current and past)." + }, + "LOGIN": { + "SECTION": "Log in", + "PUBKEY": "Account public key", + "PUBKEY_DEF": "The public key of the keychain is generated from the entered identifiers (any), but does not correspond to an account already used.<br/><b>Make sure your public key is the same as your account</b>. Otherwise, you will be logged into an account that is probably never used, as the risk of collision with an existing account is very small.<br/><a href=\"https://en.wikipedia.org/wiki/Elliptic_curve_cryptography\" target=\"_ system\">Learn more about cryptography</a> by public key.", + "METHOD": "Connection methods", + "METHOD_DEF": "Several options are available to connect to a portfolios: <br/> - The connection <b>with salt (simple or advanced)</b> mixes your password with the secret identifier, to limit the attempts of piracy<br/> - The connection <b>using public key</b> prevents you from entering your credentials, which you will be asked only when an operation need it.<br/> - The connection <b>using keychain file</b> will read the public and private keys of the account from a file without the need to enter credentials. Several file formats are possible." + }, + "GLOSSARY": { + "SECTION": "Glossary", + "PUBKEY_DEF": "A public key always identifies a wallet. It may identify a member. In Cesium it is calculated using the secret identifier and the password.", + "MEMBER": "Member", + "MEMBER_DEF": "A member is a real and living human, wishing to participate freely to the monitary community. The member will receive universal dividend, according to the period and amount as defined in the <span class=\"text-italic\">currency parameters</span>.", + "CURRENCY_RULES": "Currency rules", + "CURRENCY_RULES_DEF": "The currency rules are defined only once, and for all. They set the parameters under which the currency will perform: universal dividend calculation, the amount of certifications needed to become a member, the maximum amount of certifications a member can send, etc.<br/><br/>The parameters cannot be modified because of the use of a <span class=\"text-italic\">Blockchain</span> which carries and executes these rules, and constantly verifies their correct application. <a href=\"#/app/currency\">See current parameters</a>.", + "BLOCKCHAIN": "Blockchain", + "BLOCKCHAIN_DEF": "The Blockchain is a decentralised system which, in case of Duniter, serves to carry and execute the <span class=\"text-italic\">currency rules</span>.<br/><a href=\"http://en.duniter.org/presentation/\" target=\"_blank\">Read more about Duniter</a> and the working of its blockchain.", + "UNIVERSAL_DIVIDEND_DEF": "The Universal Dividend (UD) is the quantity of money co-created by each member, according to the period and the calculation defined in the <span class=\"text-italic\">currency rules</span>.<br/>Every term, the members receive an equal amount of new money on their account.<br/><br/>The UD undergoes a steady growth, to remain fair under its members (current and future), calculated by an average life expectancy, as demonstrated in the Relative Theory of Money (RTM).<br/><a href=\"http://trm.creationmonetaire.info\" target=\"_system\">Read more about RTM</a> and open money.", + "WOT": "Web of Trust (WoT)", + "WOT_DEF": "The Web of Trust is made up of all the members of the currency, and the links of certification which connect them.", + "DISTANCE_RULE": "Distance rule", + "DISTANCE_RULE_DEF": "The rule of distance defines <b>a maximum distance to meet</b> between an applicant and a minimum number of referring member. This distance is calculated using the certification links." + }, + "TIP": { + "MENU_BTN_CURRENCY": "Menu <b>{{'MENU.CURRENCY'|translate}}</b> allows discovery of <b>currency parameters</b> and its state.", + "CURRENCY_WOT": "The <b>member count</b> shows the <b>community's weight and evolution</b>.", + "CURRENCY_MASS": "Shown here is the <b>total amount</b> currently in circulation and its <b>average distribution</b> per member.<br/><br/>This allows to estimate the <b>worth of any amount</b>, in respect to what <b>others own</b> on their account (on average).", + "CURRENCY_UNIT_RELATIVE": "The unit used here (“<b>{{'COMMON.UD'|translate}}<sub>{{currency|abbreviate}}</sub></b>”) signifies that the amounts in {{currency|capitalize}} have been devided by the <b>Universal Dividend</b> (UD).<br/><br/><small>This relative unit is <b>relevant</b> because it is stable in contrast to the permanently growing monitary mass.</small>", + "CURRENCY_CHANGE_UNIT": "The option <b>{{'COMMON.BTN_RELATIVE_UNIT'|translate}}</b> allows to <b>switch the unit</b> to show amounts in <b>{{currency|capitalize}}</b>, undevided by the Universal Dividend (instead of in “<b>{{'COMMON.UD'|translate}}<sub>{{currency|abbreviate}}</sub></b>”).", + "CURRENCY_CHANGE_UNIT_TO_RELATIVE": "The option <b>{{'COMMON.BTN_RELATIVE_UNIT'|translate}}</b> allows to <b>switch the unit</b> to show amounts in “<b>{{'COMMON.UD'|translate}}<sub>{{currency|abbreviate}}</sub></b>”, which is relative to the Universal Dividend (the amount co-produced by each member).", + "CURRENCY_RULES": "The <b>rules</b> of the currency determine its <b>exact and predictible</b> performance.<br/><br/>As a true DNA of the currency these rules make the monetary code <b>transparent and understandable</b>.", + "MENU_BTN_NETWORK": "Menu <b>{{'MENU.NETWORK'|translate}}</b> allows discovery of <b>network's state<b>.", + "NETWORK_BLOCKCHAIN": "All monetary transactions are recoded in a <b>public and tamper proof</b> ledger, generally referred to as the <b>blockchain</b>.", + "NETWORK_PEERS": "The <b>peers</b> shown here correspond to <b>computers that update and check</b> the blockchain.<br/><br/>The more active peers there are, the more <b>decentralised</b> and therefore trustworhty the currency becomes.", + "NETWORK_PEERS_BLOCK_NUMBER": "This <b>number</b> (in green) indicates the peer's <b>latest validated block</b> (last page written in the ledger).<br/><br/>Green indicates that the block was equally validated by the <b>majority of other peers</b>.", + "NETWORK_PEERS_PARTICIPATE": "<b>Each member</b>, equiped with a computer with Internet, <b>can participate, adding a peer</b> simply by <b>installing the Duniter software</b> (free/libre). <a target=\"_new\" href=\"{{installDocUrl}}\" target=\"_system\">Read the installation manual >></a>.", + "MENU_BTN_ACCOUNT": "<b>{{'ACCOUNT.TITLE'|translate}}</b> allows access to your account balance and transaction history.", + "MENU_BTN_ACCOUNT_MEMBER": "Here you can consult your account status, transaction history and your certifications.", + "WALLET_CERTIFICATIONS": "Click here to reveiw the details of your certifications (given and received).", + "WALLET_RECEIVED_CERTIFICATIONS": "Click here to review the details of your <b>received certifications</b>.", + "WALLET_GIVEN_CERTIFICATIONS": "Click here to review the details of your <b>given certifications</b>.", + "WALLET_BALANCE": "Your account <b>balance</b> is shown here.", + "WALLET_BALANCE_RELATIVE": "{{'HELP.TIP.WALLET_BALANCE'|translate}}<br/><br/>The used unit (“<b>{{'COMMON.UD'|translate}}<sub>{{currency|abbreviate}}</sub></b>”) signifies that the amount in {{currency|capitalize}} has been divided by the <b>Universal Dividend</b> (UD) co-created by each member.<br/>At this moment, 1 UD equals {{currentUD}} {{currency|capitalize}}.", + "WALLET_BALANCE_CHANGE_UNIT": "You can <b>change the unit</b> in which amounts are shown in <b><i class=\"icon ion-android-settings\"></i> {{'MENU.SETTINGS'|translate}}</b>.<br/><br/>For example, to display amounts <b>directly in {{currency|capitalize}}</b> instead of relative amounts.", + "WALLET_PUBKEY": "This is your account public key. You can communicate it to a third party so that it more easily identifies your account.", + "WALLET_SEND": "Issue a payment in just a few clicks.", + "WALLET_SEND_NO_MONEY": "Issue a payment in just a few clicks.<br/>(Your balance does not allow this yet)", + "WALLET_OPTIONS": "Please note that this button allows access to <b>other, less used actions</b>.<br/><br/>Don't forget to take a quick look, when you have a moment!", + "WALLET_RECEIVED_CERTS": "This shows the list of persons that certified you.", + "WALLET_CERTIFY": "The button <b>{{'WOT.BTN_SELECT_AND_CERTIFY'|translate}}</b> allows selecting an identity and certifying it.<br/><br/>Only users that are <b>already member</b> may certify others.", + "WALLET_CERT_STOCK": "Your supply of certifications (to send) is limited to <b>{{sigStock}} certifications</b>.<br/><br/>This supply will replete itself over time, as and when earlier certifications expire.", + "MENU_BTN_WALLETS": "The menu <b>{{'MENU.WALLETS'|translate}}</b> allows you to add additional wallets that you manage.", + "MENU_BTN_TX": "The menu <b>{{'MENU.TRANSACTIONS'|translate}}</b> allow access to transactions history, and send new payments.", + "MENU_BTN_WOT": "The menu <b>{{'MENU.WOT'|translate}}</b> allows searching <b>users</b> of the currency (member or not).", + "WOT_SEARCH_TEXT_XS": "To search in the registry, type the <b>first letters of a users pseudonym or public key</b>.<br/><br/>The search will start automatically.", + "WOT_SEARCH_TEXT": "To search in the registry, type the <b>first letters of a users pseudonym or public key</b>.<br/><br/>Then hit <b>Enter</b> to start the search.", + "WOT_SEARCH_RESULT": "Simply click a user row to view the details sheet.", + "WOT_VIEW_CERTIFICATIONS": "The row <b>{{'ACCOUNT.CERTIFICATION_COUNT'|translate}}</b> shows how many members members validated this identity.<br/><br/>These certifications testify that the account belongs to <b>a living human</b> and this person has <b>no other member account</b>.", + "WOT_VIEW_CERTIFICATIONS_COUNT": "There are at least <b>{{sigQty}} certifications</b> needed to become a member and receive the <b>Universal Dividend</b>.", + "WOT_VIEW_CERTIFICATIONS_CLICK": "Click here to open <b>a list of all certifications</b> given to and by this identity.", + "WOT_VIEW_CERTIFY": "The button <b>{{'WOT.BTN_CERTIFY'|translate}}</b> allows to add your certification to this identity.", + "CERTIFY_RULES": "<b>Attention:</b> Only certify <b>real and living persons</b> that do not own any other certified account.<br/><br/>The trust carried by the currency depends on each member's vigilance!", + "MENU_BTN_SETTINGS": "The <b>{{'MENU.SETTINGS'|translate}}</b> allow you to configure the Cesium application.<br/><br/>For example, you can <b>change the unit</b> in which the currency will be shown.", + "HEADER_BAR_BTN_PROFILE": "Click here to access your <b>user profile</b>", + "SETTINGS_CHANGE_UNIT": "You can <b>change the display unit</b> of amounts by clicking here.<br/><br/>- Deactivate the option to show amounts in {{currency|capitalize}}.<br/>- Activate the option for relative amounts in {{'COMMON.UD'|translate}}<sub>{{currency|abbreviate}}</sub> (<b>divided</b> by the current Universal Dividend).", + "END_LOGIN": "This guided visit has <b>ended</b>.<br/><br/>Welcome to the <b>free economy</b>!", + "END_NOT_LOGIN": "This guided visit has <b>ended</b>.<br/><br/>If you wish to join the currency {{currency|capitalize}}, simply click <b>{{'LOGIN.CREATE_FREE_ACCOUNT'|translate}}</b> below.", + "END_READONLY": "This guided visit has <b>ended</b>.<br/><br/>{{'MODE.READONLY.INSTALL_HELP'|translate}}." + } + }, + "API" :{ + "COMMON": { + "LINK_DOC": "API documentation", + "LINK_DOC_HELP": "API documentation for developers", + "LINK_STANDARD_APP": "Standard version", + "LINK_STANDARD_APP_HELP": "Open standard version of {{'COMMON.APP_NAME'|translate}}", + "CONNECTION_ERROR": "Peer <b>{{server}}</b> unreachable or invalid address.<br/><br/>Check your Internet connection, or contact the web site administrator." + }, + "HOME": { + "TITLE": "{{'COMMON.APP_NAME'|translate}} API Documentation", + "MESSAGE": "Welcome to the {{'COMMON.APP_NAME'|translate}} <b>API documentation </b>.<br/>Connect your web site to <a href=\"http://duniter.org\" target=\"_system\">Duniter</a> very easily!", + "MESSAGE_SHORT": "Connect your websites to <a href=\"http://duniter.org\" target=\"_system\">Duniter</a> very easily!", + "DOC_HEADER": "Available services:" + }, + "TRANSFER": { + "TITLE": "{{'COMMON.APP_NAME'|translate}} - Online payment", + "TITLE_SHORT": "Online payment", + "SUMMARY": "Order summary:", + "AMOUNT": "Amount:", + "AMOUNTS_HELP": "Please select the amount:", + "NAME": "Name:", + "PUBKEY": "Public key of the recipient:", + "COMMENT": "Order reference:", + "NODE": "Peer address:", + "DEMO": { + "SALT": "demo", + "PASSWORD": "demo", + "PUBKEY": "3G28bL6deXQBYpPBpLFuECo46d3kfYMJwst7uhdVBnD1", + "HELP": "<b>Demonstration mode</b>: No payment will actually be sent during this simulation.<br/>Please use credentials: <b>{{'API.TRANSFER.DEMO.SALT'|translate}} / {{'API.TRANSFER.DEMO.PASSWORD'|translate}}</b>", + "BAD_CREDENTIALS": "Invalid credentials.<br/>In demonstration mode, credentials should be: {{'API.TRANSFER.DEMO.SALT'|translate}} / {{'API.TRANSFER.DEMO.PASSWORD'|translate}}" + }, + "INFO": { + "SUCCESS_REDIRECTING_WITH_NAME": "Payment sent.<br/>Redirect to <b>{{name}}</b>...", + "SUCCESS_REDIRECTING": "Payment sent.<br/>Redirect to the seller's website...", + "CANCEL_REDIRECTING_WITH_NAME": "Payment cancelled.<br/>Redirect to <b>{{name}}</b>...", + "CANCEL_REDIRECTING": "Payment cancelled.<br/>Redirect to the seller's website..." + }, + "ERROR": { + "TRANSFER_FAILED": "Payment failed" + } + }, + "DOC": { + "DESCRIPTION_DIVIDER": "Description", + "URL_DIVIDER": "Calling address", + "PARAMETERS_DIVIDER": "Parameters", + "AVAILABLE_PARAMETERS": "Here is the list of al available parameters:", + "DEMO_DIVIDER": "Try it !", + "DEMO_HELP": "To test this service, click on this button. The result content will be display below.", + "DEMO_RESULT": "Result returned by call:", + "DEMO_RESULT_PEER": "Peer address used:", + "DEMO_SUCCEED": "<i class=\"icon ion-checkmark\"></i> Success!", + "DEMO_CANCELLED": "<i class=\"icon ion-close\"></i> Cancelled by user", + "INTEGRATE_DIVIDER": "Website integration", + "INTEGRATE_CODE": "Code:", + "INTEGRATE_RESULT": "Result preview:", + "INTEGRATE_PARAMETERS": "Parameters", + "TRANSFER": { + "TITLE": "Payments", + "DESCRIPTION": "From a site (eg online marketplace) you can delegate payment in free currency to Cesium API. To do this, simply open a page at the following address:", + "PARAM_PUBKEY": "Recipient's public key", + "PARAM_PUBKEY_HELP": "Recipient's public key (required)", + "PARAM_AMOUNT": "Amount", + "PARAM_AMOUNT_HELP": "Transaction amount (required)", + "PARAM_COMMENT": "Reference (or comment)", + "PARAM_COMMENT_HELP": "Reference or comment. You will allow for example to identify the payment in the BlockChain.", + "PARAM_NAME": "Name (of recipient or website)", + "PARAM_NAME_HELP": "The name of your website. This can be a readable name (eg \"My online site\"), or a web address (eg \"www.MySite.com\").", + "PARAM_REDIRECT_URL": "URL redirection", + "PARAM_REDIRECT_URL_HELP": "URL redirection after sending payment, after the payment has been sent. Can contain the following strings, which will be replaced by the values of the transaction: \"{tx}\", \"{hash}\", \"{comment}\", \"{amount}\" and \"{pubkey}\".", + "PARAM_CANCEL_URL": "URL if cancelled", + "PARAM_CANCEL_URL_HELP": "URL in case of cancellation. Can contain the following strings, which will be replaced: \"{comment}\", \"{amount}\" and \"{pubkey}\".", + "PARAM_PREFERRED_NODE": "Preferred Duniter peer", + "PARAM_PREFERRED_NODE_HELP": "Peer address (URL) to use preferably (\"g1.domain.com:443\" or \"https://g1.domain.com\")", + "EXAMPLES_HELP": "Examples of integration:", + "EXAMPLE_BUTTON": "HTML Button", + "EXAMPLE_BUTTON_DEFAULT_TEXT": "Pay in {{currency|abbreviate}}", + "EXAMPLE_BUTTON_DEFAULT_STYLE": "Custom style", + "EXAMPLE_BUTTON_TEXT_HELP": "Button text", + "EXAMPLE_BUTTON_BG_COLOR": "Background color", + "EXAMPLE_BUTTON_BG_COLOR_HELP": "eg: #fbc14c, yellow, lightgrey, rgb(180,180,180)", + "EXAMPLE_BUTTON_FONT_COLOR": "Font color", + "EXAMPLE_BUTTON_FONT_COLOR_HELP": "eg: black, orange, rgb(180,180,180)", + "EXAMPLE_BUTTON_TEXT_ICON": "Icon", + "EXAMPLE_BUTTON_TEXT_WIDTH": "Width", + "EXAMPLE_BUTTON_TEXT_WIDTH_HELP": "eg: 200px, 50%", + "EXAMPLE_BUTTON_ICON_NONE": "No icon", + "EXAMPLE_BUTTON_ICON_DUNITER": "Duniter logo", + "EXAMPLE_BUTTON_ICON_CESIUM": "Cesium logo", + "EXAMPLE_BUTTON_ICON_G1_COLOR": "Ğ1 logo", + "EXAMPLE_BUTTON_ICON_G1_BLACK": "Ğ1 logo (outline)" + } + } + } +} diff --git a/src/assets/i18n/en.json b/src/assets/i18n/en.json new file mode 100644 index 0000000..8e328ac --- /dev/null +++ b/src/assets/i18n/en.json @@ -0,0 +1,1025 @@ +{ + "COMMON": { + "APP_NAME": "Cesium", + "APP_VERSION": "v{{version}}", + "APP_BUILD": "build {{build}}", + "PUBKEY": "Public key", + "MEMBER": "Member", + "BLOCK" : "Block", + "BTN_OK": "OK", + "BTN_YES": "Yes", + "BTN_NO": "No", + "BTN_SEND": "Send", + "BTN_SEND_MONEY": "Transfer money", + "BTN_SEND_MONEY_SHORT": "Transfer", + "BTN_SAVE": "Save", + "BTN_YES_SAVE": "Yes, Save", + "BTN_YES_CONTINUE": "Yes, Continue", + "BTN_SHOW": "Show", + "BTN_SHOW_PUBKEY": "Show key", + "BTN_RELATIVE_UNIT": "Display amounts in UD?", + "BTN_BACK": "Back", + "BTN_NEXT": "Next", + "BTN_IMPORT": "Import", + "BTN_CANCEL": "Cancel", + "BTN_CLOSE": "Close", + "BTN_LATER": "Later", + "BTN_LOGIN": "Sign In", + "BTN_LOGOUT": "Logout", + "BTN_ADD_ACCOUNT": "New Account", + "BTN_SHARE": "Share", + "BTN_EDIT": "Edit", + "BTN_DELETE": "Delete", + "BTN_ADD": "Add", + "BTN_SEARCH": "Search", + "BTN_REFRESH": "Refresh", + "BTN_RETRY": "Retry", + "BTN_START": "Start", + "BTN_CONTINUE": "Continue", + "BTN_CREATE": "Create", + "BTN_UNDERSTOOD": "I understand", + "BTN_OPTIONS": "Options", + "BTN_HELP_TOUR": "Features tour", + "BTN_HELP_TOUR_SCREEN": "Discover this screen", + "BTN_DOWNLOAD": "Download", + "BTN_DOWNLOAD_ACCOUNT_STATEMENT": "Download account statement", + "BTN_MODIFY": "Modify", + "CHOOSE_FILE": "Drag your file<br/>or click to select", + "DAYS": "days", + "NO_ACCOUNT_QUESTION": "Not a member yet? Register now!", + "SEARCH_NO_RESULT": "No result found", + "LOADING": "Loading...", + "LOADING_WAIT": "Loading...<br/><small>(Waiting for node availability)</small>", + "SEARCHING": "Searching...", + "FROM": "From", + "TO": "To", + "COPY": "Copy", + "LANGUAGE": "Language", + "UNIVERSAL_DIVIDEND": "Universal dividend", + "UD": "UD", + "DATE_PATTERN": "MM/DD/YYYY HH:mm", + "DATE_FILE_PATTERN": "YYYY-MM-DD", + "DATE_SHORT_PATTERN": "MM/DD/YY", + "DATE_MONTH_YEAR_PATTERN": "MM/YYYY", + "EMPTY_PARENTHESIS": "(empty)", + "UID": "Pseudonym", + "ENABLE": "Enabled", + "DISABLE": "Disabled", + "RESULTS_LIST": "Results:", + "RESULTS_COUNT": "{{count}} results", + "EXECUTION_TIME": "executed in {{duration|formatDurationMs}}", + "SHOW_VALUES": "Display values openly?", + "POPOVER_ACTIONS_TITLE": "Options", + "POPOVER_FILTER_TITLE": "Filters", + "SHOW_MORE": "Show more", + "SHOW_MORE_COUNT": "(current limit at {{limit}})", + "POPOVER_SHARE": { + "TITLE": "Share", + "SHARE_ON_TWITTER": "Share on Twitter", + "SHARE_ON_FACEBOOK": "Share on Facebook", + "SHARE_ON_DIASPORA": "Share on Diaspora*", + "SHARE_ON_GOOGLEPLUS": "Share on Google+" + }, + "FILE": { + "DATE" : "Date:", + "TYPE" : "Type:", + "SIZE": "Size:", + "VALIDATING": "Validating..." + } + }, + "SYSTEM": { + "PICTURE_CHOOSE_TYPE": "Choose source:", + "BTN_PICTURE_GALLERY": "Gallery", + "BTN_PICTURE_CAMERA": "<b>Camera</b>" + }, + "MENU": { + "HOME": "Home", + "WOT": "Registry", + "CURRENCY": "Currency", + "ACCOUNT": "My Account", + "WALLETS": "My wallets", + "SETTINGS": "Settings", + "NETWORK": "Network", + "TRANSACTIONS": "My transactions" + }, + "ABOUT": { + "TITLE": "About", + "LICENSE": "<b>Free/libre software</b> (License GNU AGPLv3).", + "LATEST_RELEASE": "There is a <b>newer version</ b> of {{'COMMON.APP_NAME' | translate}} (<b>v{{version}}</b>)", + "PLEASE_UPDATE": "Please update {{'COMMON.APP_NAME' | translate}} (latest version: <b>v{{version}}</b>)", + "CODE": "Source code:", + "OFFICIAL_WEB_SITE": "Official web site:", + "DEVELOPERS": "Developers:", + "FORUM": "Forum:", + "PLEASE_REPORT_ISSUE": "Please report any issue to us!", + "REPORT_ISSUE": "Report an issue", + "BTN_OPEN_DEV_WINDOW": "Open the debug window" + }, + "HOME": { + "TITLE": "Cesium", + "WELCOME": "Welcome to the Cesium application!", + "WELCOME_READONLY": "Welcome to Cesium <span class='badge badge-balanced'>Monit</span> !", + "MESSAGE": "Receive and send libre currency {{currency|abbreviate}}", + "MESSAGE_READONLY": "Real-time monitoring of libre currency {{currency|abbreviate}}", + "BTN_CURRENCY": "Explore currency {{currency|abbreviate}}", + "BTN_ABOUT": "about", + "BTN_HELP": "Help", + "BTN_NETWORK": "Network status", + "FREE_SOFTWARE": "Free software", + "FORK_ME": "Fork me!", + "SHOW_LICENSE": "Show license", + "REPORT_ISSUE": "Report an issue", + "NOT_YOUR_ACCOUNT_QUESTION" : "You do not own the account <b><i class=\"ion-key\"></i> {{pubkey|formatPubkey}}</b>?", + "BTN_CHANGE_ACCOUNT": "Disconnect this account", + "CONNECTION_ERROR": "Peer <b>{{server}}</b> unreachable or invalid address.<br/><br/>Check your Internet connection, or change node <a class=\"positive\" ng-click=\"doQuickFix('settings')\">in the settings</a>.", + "SHOW_ALL_FEED": "Show all", + "READ_MORE": "Read more", + "FEED_SOURCE": "Source" + }, + "SETTINGS": { + "TITLE": "Settings", + "DISPLAY_DIVIDER": "Display", + "STORAGE_DIVIDER": "Storage", + "NETWORK_SETTINGS": "Network", + "PEER": "Duniter peer address", + "PEER_SHORT": "Peer address", + "PEER_CHANGED_TEMPORARY": "Address used temporarily", + "PERSIST_CACHE": "Keep navigation data (experimental)", + "PERSIST_CACHE_HELP": "Allows faster navigation, locally retaining the data received, for use from one session to another.", + "USE_LOCAL_STORAGE": "Enable local storage", + "USE_LOCAL_STORAGE_HELP": "Allows you to save your settings", + "WALLETS_SETTINGS": "My wallets", + "USE_WALLETS_ENCRYPTION": "Secure the list", + "USE_WALLETS_ENCRYPTION_HELP": "Enables you to encrypt the list of your wallets. Authentication required to access it.", + "ENABLE_HELPTIP": "Enable contextual help tips", + "DISABLE_HELPTIP": "Disable contextual help tips", + "ENABLE_UI_EFFECTS": "Enable visual effects", + "ENABLE_UI_EFFECTS_HELP": "Transition between pages, animation of list", + "HISTORY_SETTINGS": "Account operations", + "DISPLAY_UD_HISTORY": "Display produced dividends?", + "TX_HISTORY_AUTO_REFRESH": "Enable automatic refresh?", + "TX_HISTORY_AUTO_REFRESH_HELP": "Updates the list of operations to each new block.", + "AUTHENTICATION_SETTINGS": "Authentication", + "KEEP_AUTH": "Expiration of authentication", + "KEEP_AUTH_SHORT": "Expiration", + "KEEP_AUTH_HELP": "Define when authentication is cleared from memory.", + "KEEP_AUTH_OPTION": { + "NEVER": "After each operation", + "SECONDS": "After {{value}}s of inactivity", + "MINUTE": "After {{value}}min of inactivity", + "MINUTES": "After {{value}}min of inactivity", + "HOUR": "After {{value}}h of inactivity", + "ALWAYS": "At the end of the session" + }, + "KEYRING_FILE": "Keyring file", + "KEYRING_FILE_HELP": "Allow auto-connect at startup, or to authenticate (only if \"Expiration of authentication\" is \"at the end of the session\"", + "REMEMBER_ME": "Remember me ?", + "REMEMBER_ME_HELP": "Allows to remain identified from one session to another, keeping the public key locally.", + "PLUGINS_SETTINGS": "Extensions", + "BTN_RESET": "Restore default values", + "EXPERT_MODE": "Enable expert mode", + "EXPERT_MODE_HELP": "Allow to see more details", + "BLOCK_VALIDITY_WINDOW": "Block uncertainty time", + "BLOCK_VALIDITY_WINDOW_SHORT": "Time of uncertainty", + "BLOCK_VALIDITY_WINDOW_HELP": "Time to wait before considering an information is validated", + "BLOCK_VALIDITY_OPTION": { + "NONE": "No delay", + "N": "{{time | formatDuration}} ({{count}} blocks)" + }, + "POPUP_PEER": { + "TITLE" : "Duniter peer", + "HOST" : "Address", + "HOST_HELP": "Address: server:port", + "USE_SSL" : "Secured?", + "USE_SSL_HELP" : "(SSL Encryption)", + "BTN_SHOW_LIST" : "Peer's list" + } + }, + "BLOCKCHAIN": { + "HASH": "Hash: {{hash}}", + "VIEW": { + "HEADER_TITLE": "Block #{{number}}-{{hash|formatHash}}", + "TITLE_CURRENT": "Current block", + "TITLE": "Block #{{number|formatInteger}}", + "COMPUTED_BY": "Computed by", + "SHOW_RAW": "Show raw data", + "TECHNICAL_DIVIDER": "Technical informations", + "VERSION": "Format version", + "HASH": "Computed hash", + "UNIVERSAL_DIVIDEND_HELP": "Money co-produced by each of the {{membersCount}} members", + "EMPTY": "Aucune donnée dans ce bloc", + "POW_MIN": "Minimal difficulty", + "POW_MIN_HELP": "Difficulty imposed in calculating hash", + "DATA_DIVIDER": "Data", + "IDENTITIES_COUNT": "New identities", + "JOINERS_COUNT": "Joiners", + "ACTIVES_COUNT": "Renewals", + "ACTIVES_COUNT_HELP": "Members having renewed their membership", + "LEAVERS_COUNT": "Leavers", + "LEAVERS_COUNT_HELP": "Members that now refused certification", + "EXCLUDED_COUNT": "Excluded members", + "EXCLUDED_COUNT_HELP": "Old members, excluded because missing membreship renewal or certifications", + "REVOKED_COUNT": "Revoked identities", + "REVOKED_COUNT_HELP": "These accounts may no longer be member", + "TX_COUNT": "Transactions", + "CERT_COUNT": "Certifications", + "TX_TO_HIMSELF": "Change", + "TX_OUTPUT_UNLOCK_CONDITIONS": "Unlock conditions", + "TX_OUTPUT_OPERATOR": { + "AND": "and", + "OR": "or" + }, + "TX_OUTPUT_FUNCTION": { + "SIG": "<b>Sign</b> of the public key", + "XHX": "<b>Password</b>, including SHA256 =", + "CSV": "Blocked during", + "CLTV": "Bloqué until" + } + }, + "LOOKUP": { + "TITLE": "Blocks", + "NO_BLOCK": "No bloc", + "LAST_BLOCKS": "Last blocks:", + "BTN_COMPACT": "Compact" + } + }, + "CURRENCY": { + "VIEW": { + "TITLE": "Currency", + "TAB_CURRENCY": "Currency", + "TAB_WOT": "Web of trust", + "TAB_NETWORK": "Network", + "TAB_BLOCKS": "Blocks", + "CURRENCY_SHORT_DESCRIPTION": "{{currency|capitalize}} is a <b>libre money</b>, started {{firstBlockTime | formatFromNow}}. It currently counts <b>{{N}} members </b>, who produce and collect a <a ng-click=\"showHelpModal('ud')\">Universal Dividend</a> (DU), each {{dt | formatPeriod}}.", + "NETWORK_RULES_DIVIDER": "Network rules", + "CURRENCY_NAME": "Currency name", + "MEMBERS": "Members count", + "MEMBERS_VARIATION": "Variation since {{duration|formatDuration}} (since last UD)", + "MONEY_DIVIDER": "Money", + "MASS": "Monetary mass", + "SHARE": "Money share", + "UD": "Universal Dividend", + "C_ACTUAL": "Current growth", + "MEDIAN_TIME": "Current blockchain time", + "POW_MIN": "Common difficulty", + "MONEY_RULES_DIVIDER": "Rules of currency", + "C_RULE": "Theoretical growth target", + "UD_RULE": "Universal dividend (formula)", + "DT_REEVAL": "Period between two re-evaluation of the UD", + "REEVAL_SYMBOL": "reeval", + "DT_REEVAL_VALUE": "Every <b>{{dtReeval|formatDuration}}</b> ({{dtReeval/86400}} {{'COMMON.DAYS'|translate}})", + "UD_REEVAL_TIME0": "Date of first reevaluation of the UD", + "SIG_QTY_RULE": "Required number of certifications to become a member", + "SIG_STOCK": "Maximum number of certifications sent by a member", + "SIG_PERIOD": "Minimum delay between 2 certifications sent by one and the same issuer.", + "SIG_WINDOW": "Maximum delay before a certification will be treated", + "SIG_VALIDITY": "Lifetime of a certification that has been treated", + "MS_WINDOW": "Maximum delay before a pending membership will be treated", + "MS_VALIDITY": "Lifetime of a membership that has been treated", + "STEP_MAX": "Maximum distance between a newcomer and each referring members.", + "WOT_RULES_DIVIDER": "Rules for web of trust", + "SENTRIES": "Required number of certifications (given <b>and</b> received) to become a referring member", + "SENTRIES_FORMULA": "Required number of certifications to become a referring member (formula)", + "XPERCENT":"Minimum percent of referring member to reach to match the distance rule", + "AVG_GEN_TIME": "The average time between 2 blocks", + "CURRENT": "current", + "MATH_CEILING": "CEILING", + "DISPLAY_ALL_RULES": "Display all rules?", + "BTN_SHOW_LICENSE": "Show license", + "WOT_DIVIDER": "Web of trust" + }, + "LICENSE": { + "TITLE": "Currency license", + "BTN_DOWNLOAD": "Download file", + "NO_LICENSE_FILE": "License file not found." + } + }, + "NETWORK": { + "VIEW": { + "MEDIAN_TIME": "Blockchain time", + "LOADING_PEERS": "Loading peers...", + "NODE_ADDRESS": "Address:", + "SOFTWARE": "Software:", + "WARN_PRE_RELEASE": "Pre-release (latest stable: <b>{{version}}</b>)", + "WARN_NEW_RELEASE": "Version <b>{{version}}</b> available", + "WS2PID": "Identifier:", + "PRIVATE_ACCESS": "Private access", + "POW_PREFIX": "Proof of work prefix:", + "ENDPOINTS": { + "BMAS": "Secure endpoint (SSL)", + "BMATOR": "TOR endpoint", + "WS2P": "WS2P endpoint", + "ES_USER_API": "Cesium+ data node" + } + }, + "INFO": { + "ONLY_SSL_PEERS": "Non-SSL nodes have a degraded display because Cesium works in HTTPS mode." + } + }, + "PEER": { + "PEERS": "Peers", + "SIGNED_ON_BLOCK": "Signed on block", + "MIRROR": "mirror", + "MIRRORS": "Mirrors", + "MIRROR_PEERS": "Mirror peers", + "PEER_LIST" : "Peer's list", + "MEMBERS" : "Members", + "MEMBER_PEERS" : "Member peers", + "ALL_PEERS" : "All peers", + "DIFFICULTY" : "Difficulty", + "API" : "API", + "CURRENT_BLOCK" : "Block #", + "POPOVER_FILTER_TITLE": "Filter", + "OFFLINE": "Offline", + "OFFLINE_PEERS": "Offline peers", + "BTN_SHOW_PEER": "Show peer", + "VIEW": { + "TITLE": "Peer", + "OWNER": "Owned by ", + "SHOW_RAW_PEERING": "See peering document", + "SHOW_RAW_CURRENT_BLOCK": "See current block (raw format)", + "LAST_BLOCKS": "Last blocks", + "KNOWN_PEERS": "Known peers :", + "GENERAL_DIVIDER": "General information", + "ERROR": { + "LOADING_TOR_NODE_ERROR": "Could not get peer data, using the TOR network.", + "LOADING_NODE_ERROR": "Could not get peer data" + } + } + }, + "WOT": { + "SEARCH_HELP": "Search (member or public key)", + "SEARCH_INIT_PHASE_WARNING": "During the pre-registration phase, the search for pending registrations <b>may be long</b>. Please wait ...", + "REGISTERED_SINCE": "Registered on", + "REGISTERED_SINCE_BLOCK": "Registered since block #", + "NO_CERTIFICATION": "No validated certification", + "NO_GIVEN_CERTIFICATION": "No given certification", + "NOT_MEMBER_PARENTHESIS": "(non-member)", + "IDENTITY_REVOKED_PARENTHESIS": "(identity revoked)", + "MEMBER_PENDING_REVOCATION_PARENTHESIS": "(being revoked)", + "EXPIRE_IN": "Expires", + "NOT_WRITTEN_EXPIRE_IN": "Deadline<br/>treatment", + "EXPIRED": "Expired", + "PSEUDO": "Pseudonym", + "SIGNED_ON_BLOCK": "Emitted on block #{{block}}", + "WRITTEN_ON_BLOCK": "Written on block #{{block}}", + "GENERAL_DIVIDER": "General information", + "NOT_MEMBER_ACCOUNT": "Non-member account", + "NOT_MEMBER_ACCOUNT_HELP": "This is a simple wallet, with no pending membership application.", + "TECHNICAL_DIVIDER": "Technical data", + "BTN_CERTIFY": "Certify", + "BTN_YES_CERTIFY": "Yes, certify", + "BTN_SELECT_AND_CERTIFY": "New certification", + "ACCOUNT_OPERATIONS": "Account operations", + "VIEW": { + "POPOVER_SHARE_TITLE": "Identity {{title}}" + }, + "LOOKUP": { + "TITLE": "Registry", + "NEWCOMERS": "New members:", + "NEWCOMERS_COUNT": "{{count}} members", + "PENDING": "Pending registrations:", + "PENDING_COUNT": "{{count}} pending registrations", + "REGISTERED": "Registered {{sigDate | formatFromNow}}", + "MEMBER_FROM": "Member since {{memberDate|medianFromNowShort}}", + "BTN_NEWCOMERS": "Latest members", + "BTN_PENDING": "Pending registrations", + "SHOW_MORE": "Show more", + "SHOW_MORE_COUNT": "(current limit to {{limit}})", + "NO_PENDING": "No pending registrations.", + "NO_NEWCOMERS": "No members." + }, + "CONTACTS": { + "TITLE": "Contacts" + }, + "MODAL": { + "TITLE": "Search" + }, + "CERTIFICATIONS": { + "TITLE": "{{uid}} - Certifications", + "SUMMARY": "Received certifications", + "LIST": "Details of received certifications", + "PENDING_LIST": "Pending certifications", + "RECEIVED": "Received certifications", + "RECEIVED_BY": "Certifications received by {{uid}}", + "ERROR": "Received certifications in error", + "SENTRY_MEMBER": "Referring member" + }, + "OPERATIONS": { + "TITLE": "{{uid}} - Operations" + }, + "GIVEN_CERTIFICATIONS": { + "TITLE": "{{uid}} - Certifications sent", + "SUMMARY": "Sent certifications", + "LIST": "Details of sent certifications", + "PENDING_LIST": "Pending certifications", + "SENT": "Sent certifications", + "SENT_BY": "Certifications sent by {{uid}}", + "ERROR": "Sent certifications with error" + } + }, + "LOGIN": { + "TITLE": "<i class=\"icon ion-log-in\"></i> Login", + "SCRYPT_FORM_HELP": "Please enter your credentials. <br> Remember to check the public key for your account.", + "PUBKEY_FORM_HELP": "Please enter a public account key:", + "FILE_FORM_HELP": "Choose the keychain file to use:", + "SCAN_FORM_HELP": "Scan the QR code of a wallet.", + "SALT": "Secret identifier", + "SALT_HELP": "Secret identifier", + "SHOW_SALT": "Display secret identifier?", + "PASSWORD": "Password", + "PASSWORD_HELP": "Password", + "PUBKEY_HELP": "Public key or pseudonym", + "NO_ACCOUNT_QUESTION": "Don't have an account yet?", + "HAVE_ACCOUNT_QUESTION": "Already have an account ?", + "CREATE_ACCOUNT": "Create an account", + "CREATE_FREE_ACCOUNT": "Create a free account", + "FORGOTTEN_ID": "Forgot password?", + "ASSOCIATED_PUBKEY": "Public key :", + "BTN_METHODS": "Other methods", + "BTN_METHODS_DOTS": "Change method...", + "METHOD_POPOVER_TITLE": "Methods", + "MEMORIZE_AUTH_FILE": "Memorize this keychain during the navigation session", + "SCRYPT_PARAMETERS": "Paramètres (Scrypt) :", + "AUTO_LOGOUT": { + "TITLE": "Information", + "MESSAGE": "<i class=\"ion-android-time\"></i> You were <b>logout</ b> automatically, due to prolonged inactivity.", + "BTN_RELOGIN": "Sign In", + "IDLE_WARNING": "You will be logout... {{countdown}}" + }, + "METHOD": { + "SCRYPT_DEFAULT": "Secret identifier and password", + "SCRYPT_ADVANCED": "Advanced salt", + "FILE": "Keychain file", + "PUBKEY": "Public key or pseudonym", + "SCAN": "Scan a QR code" + }, + "SCRYPT": { + "SIMPLE": "Light salt", + "DEFAULT": "Standard salt", + "SECURE": "Secure salt", + "HARDEST": "Hardest salt", + "EXTREME": "Extreme salt", + "USER": "Personal value", + "N": "N (Loop):", + "r": "r (RAM):", + "p": "p (CPU):" + }, + "FILE": { + "HELP": "Expected file format: <b>.dunikey</b> (type PubSec). Other formats are under development (EWIF, WIF)." + } + }, + "AUTH": { + "TITLE": "<i class=\"icon ion-locked\"></i> Authentication", + "BTN_AUTH": "Authenticate", + "GENERAL_HELP": "Please authenticate yourself:", + "EXPECTED_UID_HELP": "Please authenticate to the account <i class=\"ion-person\"></i> {{uid}}:", + "EXPECTED_PUBKEY_HELP": "Please authenticate to the wallet <i class=\"ion-key\"></i> {{pubkey|formatPubkey}}:", + "SCAN_FORM_HELP": "Scan the QR code of the <b>private key</b> of the wallet." + }, + "ACCOUNT": { + "TITLE": "My Account", + "BALANCE": "Balance", + "LAST_TX": "Latest validated transactions", + "BALANCE_ACCOUNT": "Account balance", + "NO_TX": "No transaction", + "SHOW_MORE_TX": "Show more", + "SHOW_ALL_TX": "Show all", + "TX_FROM_DATE": "(current limit to {{fromTime|medianFromNowShort}})", + "PENDING_TX": "Pending transactions", + "VALIDATING_TX": "Transactions being validated", + "ERROR_TX": "Transaction not executed", + "ERROR_TX_SENT": "Sent transactions", + "PENDING_TX_RECEIVED": "Transactions awaiting receipt", + "EVENTS": "Events", + "OUT_DISTANCED": "Your current certifications come from a group too isolated from the <a ng-click=\"showHelpModal('wot')\"> Web of Trust</a> (WoT): the <a ng-click=\"showHelpModal('distance_rule')\">maximum distance rule</a> is violated.<br/>You must obtain certifications from another area of the Web of Trust, or wait for it to tighten.", + "WAITING_MEMBERSHIP": "Membership application sent. Waiting validation.", + "WAITING_CERTIFICATIONS": "You need {{needCertificationCount}} certification(s) to become a member and produce the <a ng-click=\"showHelpModal('ud')\">Universal Dividend</a>. Your account is however already operational, to receive and send payments.", + "WAITING_CERTIFICATIONS_HELP": "To get your certifications, only request members <b>who know you enough</b>, as required by <a ng-click=\"showLicenseModal()\">the currency license</a> that you have accepted.<br/>If you do not know enough members, let them know on <a ng-click=\"openLink($event, $root.settings.userForumUrl)\">the user forum</a>.", + "WILL_MISSING_CERTIFICATIONS": "You will <b>lack certifications</b> soon (at least {{willNeedCertificationCount}} more are needed)", + "WILL_NEED_RENEW_MEMBERSHIP": "Your membership <b>will expire {{membershipExpiresIn|formatDurationTo}}</b>. Remember to <a ng-click=\"doQuickFix('renew')\">renew your membership</a> before then.", + "NEED_RENEW_MEMBERSHIP": "You are no longer a member because your membership <b>has expired</b>. Remember to <a ng-click=\"doQuickFix('renew')\">renew your membership</a>.", + "NEED_RENEW_MEMBERSHIP_AFTER_CANCELLED": "You are no longer a member because your membership <b>has been canceled</b> for lack of certifications. Remember to <a ng-click=\"doQuickFix('renew')\">renew your membership</a>.", + "NO_WAITING_MEMBERSHIP": "No membership application pending. If you'd like to <b>become a member</ b>, please <a ng-click=\"doQuickFix('membership')\">send the membership application</a>.", + "CERTIFICATION_COUNT": "Received certifications", + "CERTIFICATION_COUNT_SHORT": "Certifications", + "SIG_STOCK": "Stock of certifications to give", + "BTN_RECEIVE_MONEY": "Receive", + "BTN_SELECT_ALTERNATIVES_IDENTITIES": "Switch to another identity...", + "BTN_FIX_MEMBERSHIP": "Resubmit membership request...", + "BTN_MEMBERSHIP_RENEW": "Renew membership", + "BTN_MEMBERSHIP_RENEW_DOTS": "Renew membership...", + "BTN_MEMBERSHIP_OUT_DOTS": "Revoke membership...", + "BTN_SECURITY_DOTS": "Sign-in and security...", + "BTN_SHOW_DETAILS": "Display technical data", + "LOCKED_OUTPUTS_POPOVER": { + "TITLE": "Locked amount", + "DESCRIPTION": "Here are the conditions for unlocking this amount:", + "DESCRIPTION_MANY": "This transaction consists of several parts, of which the unlock conditions are:", + "LOCKED_AMOUNT": "Conditions for the amount:" + }, + "NEW": { + "TITLE": "Registration", + "INTRO_WARNING_TIME": "Creating an account on {{name|capitalize}} is very simple. Please take sufficient time to do this correctly (not to forget the usernames, passwords, etc.).", + "INTRO_WARNING_SECURITY": "Check that the hardware you are currently using (computer, tablet, phone) <b>is secure and trustworthy </b>.", + "INTRO_WARNING_SECURITY_HELP": "Up-to-date anti-virus, firewall enabled, session protected by password or pin code...", + "INTRO_HELP": "Click <b> {{'COMMON.BTN_START'|translate}}</b> to begin creating an account. You will be guided step by step.", + "REGISTRATION_NODE": "Your registration will be registered via the Duniter peer <b>{{server}}</b> node, which will then be distributed to the rest of the currency network.", + "REGISTRATION_NODE_HELP": "If you do not trust this peer, please change <a ng-click=\"doQuickFix('settings')\">in the settings</a> of Cesium.", + "SELECT_ACCOUNT_TYPE": "Choose the type of account to create:", + "MEMBER_ACCOUNT": "Member account", + "MEMBER_ACCOUNT_TITLE": "Create a member account", + "MEMBER_ACCOUNT_HELP": "You know enough about libre money and want to participate in its production?<br/>As an individual, you can create your member account (only one per individual). This works like a simple wallet account, but also allows you to co-produce the money, by <b>receiving for each {{parameters.dt|formatPeriod}} a universal dividend</b>: it's then up to you to put to good use!", + "WALLET_ACCOUNT": "Simple wallet", + "WALLET_ACCOUNT_TITLE": "Create a wallet", + "WALLET_ACCOUNT_HELP": "Are you <b>new to libre money</b>? You need an additional account?<br/>This type of account will suit you. Although it does not co-produce the money (unlike a member account - see below), you will be able to receive and send payments there, as soon as registration is complete.<br/>If necessary, you can convert it into a member account later.", + "SALT_WARNING": "Choose a secret identifier.<br/>You need it for each connection to this account.<br/><br/><b>Make sure to remember this identifier</b>.<br/>If lost, there are no means to retrieve it!", + "PASSWORD_WARNING": "Choose a password.<br/>You need it for each connection to this account.<br/><br/><b>Make sure to remember this password</b>.<br/>If lost, there are no means to retrieve it!", + "PSEUDO_WARNING": "Choose a pseudonym.<br/>It may be used by other people to find you more easily.<br/><br/>.Use of <b>commas, spaces and accents</b> is not allowed.<br/><div class='hidden-xs'><br/>Example: <span class='gray'>JohnDalton, JackieChan, etc.</span>", + "PSEUDO": "Pseudonym", + "PSEUDO_HELP": "joe123", + "SALT_CONFIRM": "Confirm", + "SALT_CONFIRM_HELP": "Confirm the secret identifier", + "PASSWORD_CONFIRM": "Confirm", + "PASSWORD_CONFIRM_HELP": "Confirm the password", + "SLIDE_6_TITLE": "Confirmation:", + "COMPUTING_PUBKEY": "Computing...", + "LAST_SLIDE_CONGRATULATION": "You completed all required fields.<br/><b>You can send the account creation request</b>.<br/><br/>For information, the public key below identifies your future account.<br/>It can be communicated to third parties to receive their payment.<br/>Once your account has been approved, you can find this key under <b>{{'ACCOUNT.TITLE'|translate}}</b>.", + "CONFIRMATION_MEMBER_ACCOUNT": "<b class=\"assertive\">Warning:</b> your secret identifier, password and pseudonym can not be changed.<br/><b>Make sure you always remember it!</b><br/><b>Are you sure</b> you want to send this account creation request?", + "CONFIRMATION_WALLET_ACCOUNT": "<b class=\"assertive\">Warning:</b> your password and pseudonym can not be changed.<br/><b>Make sure you always remember it!</b><br/><b>Are you sure</b> you want to continue?", + "CHECKING_PSEUDO": "Checking...", + "PSEUDO_AVAILABLE": "This pseudonym is available", + "PSEUDO_NOT_AVAILABLE": "This pseudonym is not available", + "INFO_LICENSE": "To be able to adhere to the currency, we ask you to kindly read and accept this license.", + "BTN_ACCEPT": "I accept", + "BTN_ACCEPT_LICENSE": "I accept the license" + }, + "POPUP_REGISTER": { + "TITLE": "Enter a pseudonym", + "HELP": "A pseudonym is needed to let other members find you." + }, + "SELECT_IDENTITY_MODAL": { + "TITLE": "Identity selection", + "HELP": "Several <b>different identities</b> have been sent, for the public key <span class=\"gray\"> <i class=\"ion-key\"></i> {{pubkey | formatPubkey}}</span>.<br/>Please select the identity to use:" + }, + "SELECT_WALLET_MODAL": { + "TITLE": "Wallet selection" + }, + "WALLET_LIST": { + "TITLE": "My wallets", + "BTN_NEW": "Add a wallet", + "BTN_DOWNLOAD": "Download the list", + "BTN_IMPORT_FILE_DOTS": "Import from a file...", + "NO_WALLET": "No secondary wallet", + "BTN_DELETE": "Remove a secondary wallet...", + "BTN_RENAME": "Rename the wallet", + "EXPORT_FILENAME": "my_wallets-{{pubkey|formatPubkey}}-{{currency}}.csv", + "TOTAL_DOTS": "Total: ", + "EDIT_POPOVER": { + "TITLE": "Rename the wallet", + "HELP": "Fill in the new name", + "NAME_HELP": "Wallet name" + }, + "IMPORT_MODAL": { + "TITLE": "Import secondary wallets", + "HELP": "To <b>import secodnary wallets</b>, please drag the file in the box below, or click in the box to search for a file.", + "WALLET_COUNT": "<b>{{count}}</b> new wallet{{count > 1 ? 's' : ''}}", + "NO_NEW_WALLET": "No new wallet" + } + }, + "SECURITY":{ + "ADD_QUESTION" : "Add custom question", + "BTN_CLEAN" : "Clean", + "BTN_RESET" : "Reset", + "DOWNLOAD_REVOKE": "Save a revocation file", + "DOWNLOAD_REVOKE_HELP" : "Having a revocation file is important, for example in case of loss of identifiers. It allows you to <b>get this account out of the Web Of Trust</b>, thus becoming a simple wallet.", + "GENERATE_KEYFILE": "Generate my keychain file ...", + "GENERATE_KEYFILE_HELP": "Generate a file allowing you to authenticate without entering your identifiers.<br/><b>Warning:</b> this file will contain your secret key; It is therefore very important to put it in a safe place!", + "KEYFILE_FILENAME": "keychain-{{pubkey|formatPubkey}}-{{currency}}-{{format}}.dunikey", + "MEMBERSHIP_IN": "Register as member...", + "MEMBERSHIP_IN_HELP": "Allows you to <b>transform </b> a simple wallet account <b>into a member account</b>, by sending a membership request. Useful only if you do not already have another member account.", + "SEND_IDENTITY": "Publish identity...", + "SEND_IDENTITY_HELP": "Allows you to associate a pseudonym to this account, but <b>without applying for membership</b> to become a member. This is not very useful because the validity of this pseudonym association is limited in time.", + "HELP_LEVEL": "Choose <strong> at least {{nb}} questions </strong> :", + "LEVEL": "Security level", + "LOW_LEVEL": "Low <span class=\"hidden-xs\">(2 questions minimum)</span>", + "MEDIUM_LEVEL": "Medium <span class=\"hidden-xs\">(4 questions minimum)</span>", + "QUESTION_1": "What was your best friend's name when you were a teen ?", + "QUESTION_2": "What was the name of your first pet ?", + "QUESTION_3": "What is the first meal you have learned to cook ?", + "QUESTION_4": "What is the first movie you saw in the cinema?", + "QUESTION_5": "Where did you go the first time you flew ?", + "QUESTION_6": "What was your favorite elementary school teacher's name ?", + "QUESTION_7": "What would you consider the ideal job ?", + "QUESTION_8": "Which children's book do you prefer?", + "QUESTION_9": "What was the model of your first vehicle?", + "QUESTION_10": "What was your nickname when you were a child ?", + "QUESTION_11": "What was your favorite movie character or actor when you were a student ?", + "QUESTION_12": "What was your favorite singer or band when you were a student ?", + "QUESTION_13": "In which city did your parents meet ?", + "QUESTION_14": "What was the name of your first boss ?", + "QUESTION_15": "What is the name of the street where you grew up ?", + "QUESTION_16": "What is the name of the first beach where you go swim ?", + "QUESTION_17": "QWhat is the first album you bought ?", + "QUESTION_18": "What is the name of your favorite sport team ?", + "QUESTION_19": "What was your grand-father's job ?", + "RECOVER_ID": "Recover my password...", + "RECOVER_ID_HELP": "If you have a <b>backup file of your identifiers</b>, you can find them by answering your personal questions correctly.", + "RECOVER_ID_SELECT_FILE": "Select the <b>backup file of your identifiers</b> to use:", + "REVOCATION_WITH_FILE" : "Revoke my member account...", + "REVOCATION_WITH_FILE_DESCRIPTION": "If you have <b>permanently lost your member account credentials (or if account security is compromised), you can use <b>the revocation file</b> of the account <b>to quit the Web Of Trust</b>.", + "REVOCATION_WITH_FILE_HELP": "To <b>permanently revoke</ b> a member account, please drag the revocation file in the box below, or click in the box to search for a file.", + "REVOCATION_WALLET": "Revoke this account immediately", + "REVOCATION_WALLET_HELP": "Requesting revocation of your identity causes <b>will revoke your membership</ b> (definitely for the associated pseudonym and public key). The account will no longer be able to produce a Universal Dividend.<br/>However, you can still use it as a simple wallet.", + "REVOCATION_FILENAME": "revocation-{{uid}}-{{pubkey|formatPubkey}}-{{currency}}.txt", + "SAVE_ID": "Save my credentials...", + "SAVE_ID_HELP": "Creating a backup file, to <b>retrieve your password</b> (and the secret identifier) <b> in case of forgetting</b>. The file is <b>secured</ b> (encrypted) using personal questions.", + "STRONG_LEVEL": "Strong <span class=\"hidden-xs \">(6 questions minimum)</span>", + "TITLE": "Account and security", + "KEYFILE": { + "PUBSEC_FORMAT": "PubSec format.", + "PUBSEC_FORMAT_HELP": "This file format is compatible in particular with Cesium and Gannonce. Your keychain is stored <b>without encryption</b>: anyone with a copy of this file will be able to empty your account.", + "WIF_FORMAT": "Wallet Import Format (WIF)", + "WIF_FORMAT_HELP": "This format is used in particular by paper wallets. Your keychain is stored <b>without encryption</b>: anyone with a copy of this file will be able to empty your account.", + "EWIF_FORMAT": "Encrypted Wallet Import Format (WIF)", + "EWIF_FORMAT_HELP": "This format is used in particular by paper wallets. However, <b>the keychain is encrypted</b> from a passphrase of your choice.", + "PASSWORD_POPUP": { + "TITLE": "Keychain file encrypted", + "HELP": "Please enter the passphrase:", + "PASSWORD_HELP": "Passphrase" + }, + "ERROR": { + "BAD_PASSWORD": "Bad passphrase", + "BAD_CHECKSUM": "Bad checksum" + } + } + }, + "FILE_NAME": "{{currency}} - Account statement {{pubkey|formatPubkey}} to {{currentTime|formatDateForFile}}.csv", + "HEADERS": { + "TIME": "Date", + "AMOUNT": "Amount", + "COMMENT": "Comment" + } + }, + "TRANSFER": { + "TITLE": "Transfer", + "SUB_TITLE": "Transfer money", + "SUB_TITLE_ALL": "Empty the account", + "FROM": "From", + "TO": "To", + "AMOUNT": "Amount", + "AMOUNT_HELP": "Amount", + "COMMENT": "Comment", + "COMMENT_HELP": "Comment (optional)", + "BTN_SEND": "Send", + "BTN_ADD_COMMENT": "Add a comment", + "REST": "Rest of account", + "REST_TO": "to", + "WARN_COMMENT_IS_PUBLIC": "Please note that <b>comments are public</b> (not encrypted).", + "MODAL": { + "TITLE": "Transfer" + } + }, + "ERROR": { + "UNKNOWN_URI_FORMAT": "Unknown URI format", + "PUBKEY_INVALID_CHECKSUM": "Invalid public key (bad checksum).", + "POPUP_TITLE": "Error", + "UNKNOWN_ERROR": "Unknown error", + "CRYPTO_UNKNOWN_ERROR": "Your browser is not compatible with cryptographic features.", + "DOWNLOAD_KEYFILE_FAILED": "Failed to generate the keychain file.", + "EQUALS_TO_PSEUDO": "Must be different from pseudonym", + "EQUALS_TO_SALT": "Must be different from secret identifier", + "FIELD_REQUIRED": "This field is required.", + "FIELD_TOO_SHORT": "This field value is too short.", + "FIELD_TOO_SHORT_WITH_LENGTH": "Value is too short (min {{minLength]] characters).", + "FIELD_TOO_LONG": "Value is exceeding max length.", + "FIELD_TOO_LONG_WITH_LENGTH": "Value is too long (max {{maxLength}} characters).", + "FIELD_MIN": "Minimum value: {{min}}", + "FIELD_MAX": "Maximal value: {{max}}", + "FIELD_ACCENT": "Commas and accent characters not allowed", + "FIELD_NOT_NUMBER": "Value is not a number", + "FIELD_NOT_INT": "Value is not an integer", + "FIELD_NOT_EMAIL": "Email adress not valid", + "PASSWORD_NOT_CONFIRMED": "Must match previous password.", + "SALT_NOT_CONFIRMED": "Must match previous identifier.", + "SEND_IDENTITY_FAILED": "Error while trying to register.", + "SEND_CERTIFICATION_FAILED": "Could not certify identity.", + "NEED_MEMBER_ACCOUNT_TO_CERTIFY": "You could not send certification, because your account is <b>not a member account</b>.", + "NEED_MEMBER_ACCOUNT_TO_CERTIFY_HAS_SELF": "You could not send certification now, because your are <b>not a member</b> yet.<br/><br/>You still need certification to become a member.", + "IDENTITY_TO_CERTIFY_HAS_NO_SELF": "This account could not be certified. No registration found, or need to renew.", + "LOGIN_FAILED": "Error while sign in.", + "LOAD_IDENTITY_FAILED": "Could not load identity.", + "LOAD_REQUIREMENTS_FAILED": "Could not load identity requirements.", + "SEND_MEMBERSHIP_IN_FAILED": "Error while sending registration as member.", + "SEND_MEMBERSHIP_OUT_FAILED": "Error while sending membership revocation.", + "REFRESH_WALLET_DATA": "Could not refresh wallet.", + "GET_CURRENCY_PARAMETER": "Could not get currency parameters.", + "GET_CURRENCY_FAILED": "Could not load currency. Please retry later.", + "SEND_TX_FAILED": "Could not send transaction.", + "ALL_SOURCES_USED": "Please wait the next block computation (All transaction sources has been used).", + "NOT_ENOUGH_SOURCES": "Not enough changes to send this amount in one time.<br/>Maximum amount: {{amount}} {{unit}}<sub>{{subUnit}}</sub>.", + "ACCOUNT_CREATION_FAILED": "Error while creating your member account.", + "RESTORE_WALLET_DATA_ERROR": "Error while reloading settings from local storage", + "LOAD_WALLET_DATA_ERROR": "Error while loading wallet data.", + "COPY_CLIPBOARD_FAILED": "Could not copy to clipboard", + "TAKE_PICTURE_FAILED": "Could not get picture.", + "SCAN_FAILED": "Could not scan QR code.", + "SCAN_UNKNOWN_FORMAT": "Code not recognized.", + "WOT_LOOKUP_FAILED": "Search failed.", + "LOAD_PEER_DATA_FAILED": "Duniter peer not accessible. Please retry later.", + "NEED_LOGIN_FIRST": "Please sign in first.", + "AMOUNT_REQUIRED": "Amount is required.", + "AMOUNT_NEGATIVE": "Negative amount not allowed.", + "NOT_ENOUGH_CREDIT": "Not enough credit.", + "INVALID_NODE_SUMMARY": "Unreachable peer or invalid address", + "INVALID_USER_ID": "Field 'pseudonym' must not contains spaces or special characters.", + "INVALID_COMMENT": "Field 'reference' has a bad format.", + "INVALID_PUBKEY": "Public key has a bad format.", + "INVALID_PUBKEY_CHECKSUM": "Invalid checksum.", + "IDENTITY_REVOKED": "This identity <b>has been revoked</b>. It can no longer become a member.", + "IDENTITY_REVOKED_WITH_TIME": "This identity <b>has been revoked {{revocationTime|medianFromNow}}</b> ({{revocationTime|medianDate}}). It can no longer become a member.", + "IDENTITY_PENDING_REVOCATION": "The <b>revocation of this identity</b> has been requested and is awaiting processing. Certification is therefore disabled.", + "IDENTITY_INVALID_BLOCK_HASH": "This membership application is no longer valid (because it references a block that network peers are cancelled): the person must renew its application for membership <b>before</b> being certified.", + "IDENTITY_EXPIRED": "This identity has expired: this person must re-apply <b>before</b> being certified.", + "IDENTITY_SANDBOX_FULL": "Could not register, because peer's sandbox is full.<br/><br/>Please retry later or choose another Duniter peer (in <b>Settings</b>).", + "IDENTITY_NOT_FOUND": "Identity not found", + "IDENTITY_TX_FAILED": "Error while getting identity's transactions", + "WOT_PENDING_INVALID_BLOCK_HASH": "Membership not valid.", + "WALLET_INVALID_BLOCK_HASH": "Your membership application is no longer valid (because it references a block that network peers are cancelled).<br/>You must <a ng-click=\"doQuickFix('renew')\">renew your application for membership</a> to fix this issue.", + "WALLET_IDENTITY_EXPIRED": "The publication of your identity <b>has expired</b>.<br/>You must <a ng-click=\"doQuickFix('fixIdentity')\">re-issue your identity</a> to resolve this issue.", + "WALLET_REVOKED": "Your identity has been <b>revoked</b>: neither your pseudonym nor your public key will be used in the future for a member account.", + "WALLET_HAS_NO_SELF": "Your identity must first have been published, and not expired.", + "AUTH_REQUIRED": "Authentication required.", + "AUTH_INVALID_PUBKEY": "The public key does not match the connected account.", + "AUTH_INVALID_SCRYPT": "Invalid username or password.", + "AUTH_INVALID_FILE": "Invalid keychain file.", + "AUTH_FILE_ERROR": "Failed to open keychain file", + "IDENTITY_ALREADY_CERTIFY": "You have <b>already certified</b> that identity.<br/><br/>Your certificate is still valid (expires {{expiresIn|formatDuration}}).", + "IDENTITY_ALREADY_CERTIFY_PENDING": "You have <b>already certified</b> that identity.<br/><br/>Your certification is still pending (Deadline for treatment {{expiresIn|formatDuration}}).", + "UNABLE_TO_CERTIFY_TITLE": "Unable to certify", + "LOAD_NEWCOMERS_FAILED": "Unable to load new members.", + "LOAD_PENDING_FAILED": "Unable to load pending registrations.", + "ONLY_MEMBER_CAN_EXECUTE_THIS_ACTION": "You must <b>be a member</b> in order to perform this action.", + "ONLY_MEMBER_OR_WAS_MEMBER_CAN_EXECUTE_THIS_ACTION": "You must <b>be a member (or old member)</b> in order to perform this action.", + "ONLY_SELF_CAN_EXECUTE_THIS_ACTION": "You must have <b>published your identity</b> in order to perform this action.", + "GET_BLOCK_FAILED": "Error while getting block", + "INVALID_BLOCK_HASH": "Block not found (incorrect hash)", + "DOWNLOAD_REVOCATION_FAILED": "Error while downloading revocation file.", + "REVOCATION_FAILED": "Error while trying to revoke the identity.", + "SALT_OR_PASSWORD_NOT_CONFIRMED": "Wrong secret identifier or password ", + "RECOVER_ID_FAILED": "Could not recover password", + "LOAD_FILE_FAILED" : "Unable to load file", + "NOT_VALID_REVOCATION_FILE": "Invalid revocation file (wrong file format)", + "NOT_VALID_SAVE_ID_FILE": "Invalid credentials backup file (wrong file format)", + "NOT_VALID_KEY_FILE": "Invalid keychain file (unrecognized format)", + "EXISTING_ACCOUNT": "Your identifiers correspond to an already existing account, whose <a ng-click=\"showHelpModal('pubkey')\">public key</a> is:", + "EXISTING_ACCOUNT_REQUEST": "Please modify your credentials so that they correspond to an unused account.", + "GET_LICENSE_FILE_FAILED": "Unable to get license file", + "CHECK_NETWORK_CONNECTION": "No peer appears to be accessible.<br/><br/>Please <b>check your Internet connection</b>.", + "ISSUE_524_TX_FAILED": "Failed to transfer.<br/><br/>A message has been sent to developers to help solve the problem.<b>Thank you for your help</b>.", + "ADD_SECONDARY_WALLET_FAILED": "Unable to add secondary wallet.", + "REMOVE_SECONDARY_WALLET_FAILED": "Unable to remove secondary wallet.", + "UPDATE_WALLET_LIST_FAILED": "Unable to refresh the list of wallets.", + "LOAD_WALLET_LIST_FAILED": "Unable to load the list of wallets.", + "SAVE_WALLET_LIST_FAILED": "Unable to save the list of wallets.", + "COULD_NOT_ADD_MAIN_WALLET": "This wallet <b>is the main account</b> with which you are connected. Unable to add it as a secondary wallet.", + "COULD_NOT_ADD_EXISTING_WALLET": "Wallet already existing in the list.", + "UNKNOWN_WALLET_ID": "Unknown secondary wallet.", + "RESTORE_WALLET_LIST_FAILED": "Unable to restore the list of wallets.", + "INVALID_FILE_FORMAT": "Invalid file format.", + "SAME_TX_RECIPIENT": "The recipient must be different from the issuer." + }, + "INFO": { + "POPUP_TITLE": "Information", + "CERTIFICATION_DONE": "Identity successfully signed", + "NOT_ENOUGH_CREDIT": "Not enough credit", + "TRANSFER_SENT": "Transfer request successfully sent", + "COPY_TO_CLIPBOARD_DONE": "Copy succeeded", + "MEMBERSHIP_OUT_SENT": "Membership revocation sent", + "NOT_NEED_MEMBERSHIP": "Already a member.", + "IDENTITY_WILL_MISSING_CERTIFICATIONS": "This identity will soon lack certification (at least {{willNeedCertificationCount}}).", + "IDENTITY_NEED_MEMBERSHIP": "This identity did not send a membership request. She will have to if she wishes to become a member.", + "HAS_ALTERNATIVE_IDENTITIES": "There are <b>multiple identities</b> attached to this public key. <b>Before any certification</b>, please <a ng-click=\"doQuickFix('showSelectIdentities')\">check other identities</a> to choose the correct one, or contact the wallet owner.", + "REVOCATION_SENT": "Revocation sent successfully", + "REVOCATION_SENT_WAITING_PROCESS": "Revocation <b>has been sent successfully</b>. It is awaiting processing.", + "FEATURES_NOT_IMPLEMENTED": "This features is not implemented yet.<br/><br/>Why not to contribute to get it faster? ;)", + "EMPTY_TX_HISTORY": "No operations to export" + }, + "CONFIRM": { + "CAN_CONTINUE": "<b>Are you sure</b> you want to continue?", + "POPUP_TITLE": "<b>Confirmation</b>", + "POPUP_WARNING_TITLE": "<b>Warning</b>", + "POPUP_SECURITY_WARNING_TITLE": "<i class=\"icon ion-alert-circled\"></i> <b>Security warning</b>", + "CERTIFY_RULES_TITLE_UID": "Certify {{uid}}", + "CERTIFY_RULES": "<b class=\"assertive\">Don't certify an account</b> if you believe that: <ul><li>1.) the issuers identity might be faked.<li>2.) the issuer already has another certified account.<li>3.) the issuer purposely or carelessly violates rule 1 or 2 (he certifies faked or double accounts).</ul></small><br/>Are you sure you want to certify this identity?", + "FULLSCREEN": "View the application in full screen?", + "EXIT_APP": "Close the application ?", + "TRANSFER": "<b>Transfer summary:</b><br/><br/><ul><li> - From: <b>{{from}}</b></li><li> - To: <b>{{to}}</b></li><li> - Amount: <b>{{amount}} {{unit}}</b></li><li> - Comment: <i>{{comment}}</i></li></ul><br/><b>Are-you sure you want to do this transfer?</b>", + "TRANSFER_ALL": "<b>Transfer summary:</b><br/><br/><ul><li> - From: <b>{{from}}</b></li><li> - To: <b>{{to}}</b></li><li> - Amount: <b>{{amount}} {{unit}}</b></li><li> - Comment: <i>{{comment}}</i></li><br/><li> - Rest : <b>{{restAmount}} {{unit}}</b> to <b>{{restTo}}</b></li></ul><br/><b>Are-you sure you want to do this transfer?</b>", + "MEMBERSHIP_OUT": "This operation is <b>irreversible</b>.<br/></br/><b>Are you sure you want to terminate your membership?</b>", + "MEMBERSHIP_OUT_2": "This operation is <b>irreversible</b>!<br/><br/>Are you sure you want to <b>terminate your membership</b>?", + "LOGIN_UNUSED_WALLET_TITLE": "Typing error?", + "LOGIN_UNUSED_WALLET": "The account seems to be <b>inactive</b>.<br/><br/>It's probably a <b>typing error</b> when sign in. Please try again, checking that <b>public key is yours<b/>.", + "FIX_IDENTITY": "The pseudonym <b>{{uid}}</b> will be published again, replacing the old publication that has expired.<br/></br/><b>Are you sure</b> you want to continue?", + "FIX_MEMBERSHIP": "Your application for membership will be sent.<br/></br/><b>Are you sure?</b>", + "MEMBERSHIP": "Your membership request will be sent. <br/></br/><b>Are you sure?</b>", + "RENEW_MEMBERSHIP": "Your membership will be renewed.<br/></br/><b>Are you sure?</b>", + "REVOKE_IDENTITY": "You will <b>definitely revoke this identity</b>.<br/><br/>The public key and the associated pseudonym <b>will never be used again</b> (for a member account).<br/></br/><b>Are you sure</b> you want to revoke this identity?", + "REVOKE_IDENTITY_2": "This operation is <b>irreversible</b>!<br/><br/>Are you sure you want to <b>revoke this identity</b>?", + "NOT_NEED_RENEW_MEMBERSHIP": "Your membership does not need to be renewed (it will only expire in {{membershipExpiresIn|formatDuration}}).<br/></br/><b>Are you sure you</b> want to renew your membership?", + "SAVE_BEFORE_LEAVE": "Do you want to <b>save your changes</b> before leaving the page?", + "SAVE_BEFORE_LEAVE_TITLE": "Changes not saved", + "LOGOUT": "Are you sure you want to logout?", + "USE_FALLBACK_NODE": "Peer <b>{{old}}</b> unreachable or invalid address.<br/><br/>Do you want to temporarily use the <b>{{new}}</b> node?", + "ISSUE_524_SEND_LOG": "The transaction was rejected because of a known problem (issue #524) but not reproduced.<br/><br/>To help developers correct this error, do you accept <b>the transmission of your logs</b> per message?<br/><small>(No confidential data is sent)</small>" + }, + "MODE": { + "DEMO": { + "BADGE": "Demo", + "MODE": "Demonstration mode", + "FEATURE_NOT_AVAILABLE": "Functionality <b>not available</b> on this demonstration site.", + "MODE_HELP": "Cesium works in <b>demonstration mode</b>: consultation on account is available, but no operation can be performed.", + "INSTALL_HELP": "For <b>security reasons</b> we recommend <b>installing</b> your copy of the software.<br/> Visit the site <a href='https://cesium.app'>www.cesium.app</a> for help." + }, + "READONLY": { + "BADGE": "Monit", + "MODE": "Monitoring mode", + "MODE_HELP": "Cesium works in <b>monitoring mode</b>: only currency monitoring features are available.", + "INSTALL_HELP": "If you want to <b>create a wallet account</b> to send or received money, we recommend <b>installing</b> your copy of the software.<br/> Visit the site <a href='https://cesium.app'>www.cesium.app</a> for help." + } + }, + "DOWNLOAD": { + "POPUP_TITLE": "<b>Revocation file</b>", + "POPUP_REVOKE_MESSAGE": "To safeguard your account, please download the <b>account revocation document</b>. It will allow you to cancel your account (in case of account theft, ID, an incorrectly created account, etc.).<br/><br/><b>Please store it in a safe place.</b>" + }, + "HELP": { + "TITLE": "Online help", + "JOIN": { + "SECTION": "Join", + "SALT": "The secret identifier is very important. It is used to hash you password, which in turn is used to calculate your <span class=\"text-italic\">public account key</span> (its number) and the private key to access it.<br/><b>Please remeber this identifier well</b>, because there is no way to recover it when lost.<br/>Furthermore, it cannot be changed without having to create a new account.<br/><br/>A good secret identifier must be sufficiently long (8 characters at the very least) and as original as possible.", + "PASSWORD": "The password is very important. Together with the secret identifier, it is use to calculate your account number (pblic key) and the private key to access it.<br/><b>Please remember it well</b>, because there is no way to recover it when lost.<br/>Furthermore, it cannot be changed without having to create a new account.<br/><br/>A good password is made (ideally) of at least 8 characters, with at least one capital and one number.", + "PSEUDO": "A pseudonym is used only when joining as <span class=\"text-italic\">member</span>. It is always associated with a wallet (by its <span class=\"text-italic\">public key</span>).<br/>It is published on the network so that other users may identify it, certify or send money to the account.<br/>A pseudonym must be unique among all members (current and past)." + }, + "LOGIN": { + "SECTION": "Log in", + "PUBKEY": "Account public key", + "PUBKEY_DEF": "The public key of the keychain is generated from the entered identifiers (any), but does not correspond to an account already used.<br/><b>Make sure your public key is the same as your account</b>. Otherwise, you will be logged into an account that is probably never used, as the risk of collision with an existing account is very small.<br/><a href=\"https://en.wikipedia.org/wiki/Elliptic_curve_cryptography\" target=\"_ system\">Learn more about cryptography</a> by public key.", + "METHOD": "Connection methods", + "METHOD_DEF": "Several options are available to connect to a portfolios: <br/> - The connection <b>with salt (simple or advanced)</b> mixes your password with the secret identifier, to limit the attempts of piracy<br/> - The connection <b>using public key</b> prevents you from entering your credentials, which you will be asked only when an operation need it.<br/> - The connection <b>using keychain file</b> will read the public and private keys of the account from a file without the need to enter credentials. Several file formats are possible." + }, + "GLOSSARY": { + "SECTION": "Glossary", + "PUBKEY_DEF": "A public key always identifies a wallet. It may identify a member. In Cesium it is calculated using the secret identifier and the password.", + "MEMBER": "Member", + "MEMBER_DEF": "A member is a real and living human, wishing to participate freely to the monitary community. The member will receive universal dividend, according to the period and amount as defined in the <span class=\"text-italic\">currency parameters</span>.", + "CURRENCY_RULES": "Currency rules", + "CURRENCY_RULES_DEF": "The currency rules are defined only once, and for all. They set the parameters under which the currency will perform: universal dividend calculation, the amount of certifications needed to become a member, the maximum amount of certifications a member can send, etc.<br/><br/>The parameters cannot be modified because of the use of a <span class=\"text-italic\">Blockchain</span> which carries and executes these rules, and constantly verifies their correct application. <a href=\"#/app/currency\">See current parameters</a>.", + "BLOCKCHAIN": "Blockchain", + "BLOCKCHAIN_DEF": "The Blockchain is a decentralised system which, in case of Duniter, serves to carry and execute the <span class=\"text-italic\">currency rules</span>.<br/><a href=\"http://en.duniter.org/presentation/\" target=\"_blank\">Read more about Duniter</a> and the working of its blockchain.", + "UNIVERSAL_DIVIDEND_DEF": "The Universal Dividend (UD) is the quantity of money co-created by each member, according to the period and the calculation defined in the <span class=\"text-italic\">currency rules</span>.<br/>Every term, the members receive an equal amount of new money on their account.<br/><br/>The UD undergoes a steady growth, to remain fair under its members (current and future), calculated by an average life expectancy, as demonstrated in the Relative Theory of Money (RTM).<br/><a href=\"http://trm.creationmonetaire.info\" target=\"_system\">Read more about RTM</a> and open money.", + "WOT": "Web of Trust (WoT)", + "WOT_DEF": "The Web of Trust is made up of all the members of the currency, and the links of certification which connect them.", + "DISTANCE_RULE": "Distance rule", + "DISTANCE_RULE_DEF": "The rule of distance defines <b>a maximum distance to meet</b> between an applicant and a minimum number of referring member. This distance is calculated using the certification links." + }, + "TIP": { + "MENU_BTN_CURRENCY": "Menu <b>{{'MENU.CURRENCY'|translate}}</b> allows discovery of <b>currency parameters</b> and its state.", + "CURRENCY_WOT": "The <b>member count</b> shows the <b>community's weight and evolution</b>.", + "CURRENCY_MASS": "Shown here is the <b>total amount</b> currently in circulation and its <b>average distribution</b> per member.<br/><br/>This allows to estimate the <b>worth of any amount</b>, in respect to what <b>others own</b> on their account (on average).", + "CURRENCY_UNIT_RELATIVE": "The unit used here (“<b>{{'COMMON.UD'|translate}}<sub>{{currency|abbreviate}}</sub></b>”) signifies that the amounts in {{currency|capitalize}} have been devided by the <b>Universal Dividend</b> (UD).<br/><br/><small>This relative unit is <b>relevant</b> because it is stable in contrast to the permanently growing monitary mass.</small>", + "CURRENCY_CHANGE_UNIT": "The option <b>{{'COMMON.BTN_RELATIVE_UNIT'|translate}}</b> allows to <b>switch the unit</b> to show amounts in <b>{{currency|capitalize}}</b>, undevided by the Universal Dividend (instead of in “<b>{{'COMMON.UD'|translate}}<sub>{{currency|abbreviate}}</sub></b>”).", + "CURRENCY_CHANGE_UNIT_TO_RELATIVE": "The option <b>{{'COMMON.BTN_RELATIVE_UNIT'|translate}}</b> allows to <b>switch the unit</b> to show amounts in “<b>{{'COMMON.UD'|translate}}<sub>{{currency|abbreviate}}</sub></b>”, which is relative to the Universal Dividend (the amount co-produced by each member).", + "CURRENCY_RULES": "The <b>rules</b> of the currency determine its <b>exact and predictible</b> performance.<br/><br/>As a true DNA of the currency these rules make the monetary code <b>transparent and understandable</b>.", + "MENU_BTN_NETWORK": "Menu <b>{{'MENU.NETWORK'|translate}}</b> allows discovery of <b>network's state<b>.", + "NETWORK_BLOCKCHAIN": "All monetary transactions are recoded in a <b>public and tamper proof</b> ledger, generally referred to as the <b>blockchain</b>.", + "NETWORK_PEERS": "The <b>peers</b> shown here correspond to <b>computers that update and check</b> the blockchain.<br/><br/>The more active peers there are, the more <b>decentralised</b> and therefore trustworhty the currency becomes.", + "NETWORK_PEERS_BLOCK_NUMBER": "This <b>number</b> (in green) indicates the peer's <b>latest validated block</b> (last page written in the ledger).<br/><br/>Green indicates that the block was equally validated by the <b>majority of other peers</b>.", + "NETWORK_PEERS_PARTICIPATE": "<b>Each member</b>, equiped with a computer with Internet, <b>can participate, adding a peer</b> simply by <b>installing the Duniter software</b> (free/libre). <a target=\"_new\" href=\"{{installDocUrl}}\" target=\"_system\">Read the installation manual >></a>.", + "MENU_BTN_ACCOUNT": "<b>{{'ACCOUNT.TITLE'|translate}}</b> allows access to your account balance and transaction history.", + "MENU_BTN_ACCOUNT_MEMBER": "Here you can consult your account status, transaction history and your certifications.", + "WALLET_CERTIFICATIONS": "Click here to reveiw the details of your certifications (given and received).", + "WALLET_RECEIVED_CERTIFICATIONS": "Click here to review the details of your <b>received certifications</b>.", + "WALLET_GIVEN_CERTIFICATIONS": "Click here to review the details of your <b>given certifications</b>.", + "WALLET_BALANCE": "Your account <b>balance</b> is shown here.", + "WALLET_BALANCE_RELATIVE": "{{'HELP.TIP.WALLET_BALANCE'|translate}}<br/><br/>The used unit (“<b>{{'COMMON.UD'|translate}}<sub>{{currency|abbreviate}}</sub></b>”) signifies that the amount in {{currency|capitalize}} has been divided by the <b>Universal Dividend</b> (UD) co-created by each member.<br/>At this moment, 1 UD equals {{currentUD}} {{currency|capitalize}}.", + "WALLET_BALANCE_CHANGE_UNIT": "You can <b>change the unit</b> in which amounts are shown in <b><i class=\"icon ion-android-settings\"></i> {{'MENU.SETTINGS'|translate}}</b>.<br/><br/>For example, to display amounts <b>directly in {{currency|capitalize}}</b> instead of relative amounts.", + "WALLET_PUBKEY": "This is your account public key. You can communicate it to a third party so that it more easily identifies your account.", + "WALLET_SEND": "Issue a payment in just a few clicks.", + "WALLET_SEND_NO_MONEY": "Issue a payment in just a few clicks.<br/>(Your balance does not allow this yet)", + "WALLET_OPTIONS": "Please note that this button allows access to <b>other, less used actions</b>.<br/><br/>Don't forget to take a quick look, when you have a moment!", + "WALLET_RECEIVED_CERTS": "This shows the list of persons that certified you.", + "WALLET_CERTIFY": "The button <b>{{'WOT.BTN_SELECT_AND_CERTIFY'|translate}}</b> allows selecting an identity and certifying it.<br/><br/>Only users that are <b>already member</b> may certify others.", + "WALLET_CERT_STOCK": "Your supply of certifications (to send) is limited to <b>{{sigStock}} certifications</b>.<br/><br/>This supply will replete itself over time, as and when earlier certifications expire.", + "MENU_BTN_WALLETS": "The menu <b>{{'MENU.WALLETS'|translate}}</b> allows you to add additional wallets that you manage.", + "MENU_BTN_TX": "The menu <b>{{'MENU.TRANSACTIONS'|translate}}</b> allow access to transactions history, and send new payments.", + "MENU_BTN_WOT": "The menu <b>{{'MENU.WOT'|translate}}</b> allows searching <b>users</b> of the currency (member or not).", + "WOT_SEARCH_TEXT_XS": "To search in the registry, type the <b>first letters of a users pseudonym or public key</b>.<br/><br/>The search will start automatically.", + "WOT_SEARCH_TEXT": "To search in the registry, type the <b>first letters of a users pseudonym or public key</b>.<br/><br/>Then hit <b>Enter</b> to start the search.", + "WOT_SEARCH_RESULT": "Simply click a user row to view the details sheet.", + "WOT_VIEW_CERTIFICATIONS": "The row <b>{{'ACCOUNT.CERTIFICATION_COUNT'|translate}}</b> shows how many members members validated this identity.<br/><br/>These certifications testify that the account belongs to <b>a living human</b> and this person has <b>no other member account</b>.", + "WOT_VIEW_CERTIFICATIONS_COUNT": "There are at least <b>{{sigQty}} certifications</b> needed to become a member and receive the <b>Universal Dividend</b>.", + "WOT_VIEW_CERTIFICATIONS_CLICK": "Click here to open <b>a list of all certifications</b> given to and by this identity.", + "WOT_VIEW_CERTIFY": "The button <b>{{'WOT.BTN_CERTIFY'|translate}}</b> allows to add your certification to this identity.", + "CERTIFY_RULES": "<b>Attention:</b> Only certify <b>real and living persons</b> that do not own any other certified account.<br/><br/>The trust carried by the currency depends on each member's vigilance!", + "MENU_BTN_SETTINGS": "The <b>{{'MENU.SETTINGS'|translate}}</b> allow you to configure the Cesium application.<br/><br/>For example, you can <b>change the unit</b> in which the currency will be shown.", + "HEADER_BAR_BTN_PROFILE": "Click here to access your <b>user profile</b>", + "SETTINGS_CHANGE_UNIT": "You can <b>change the display unit</b> of amounts by clicking here.<br/><br/>- Deactivate the option to show amounts in {{currency|capitalize}}.<br/>- Activate the option for relative amounts in {{'COMMON.UD'|translate}}<sub>{{currency|abbreviate}}</sub> (<b>divided</b> by the current Universal Dividend).", + "END_LOGIN": "This guided visit has <b>ended</b>.<br/><br/>Welcome to the <b>free economy</b>!", + "END_NOT_LOGIN": "This guided visit has <b>ended</b>.<br/><br/>If you wish to join the currency {{currency|capitalize}}, simply click <b>{{'LOGIN.CREATE_FREE_ACCOUNT'|translate}}</b> below.", + "END_READONLY": "This guided visit has <b>ended</b>.<br/><br/>{{'MODE.READONLY.INSTALL_HELP'|translate}}." + } + }, + "API" :{ + "COMMON": { + "LINK_DOC": "API documentation", + "LINK_DOC_HELP": "API documentation for developers", + "LINK_STANDARD_APP": "Standard version", + "LINK_STANDARD_APP_HELP": "Open standard version of {{'COMMON.APP_NAME'|translate}}", + "CONNECTION_ERROR": "Peer <b>{{server}}</b> unreachable or invalid address.<br/><br/>Check your Internet connection, or contact the web site administrator." + }, + "HOME": { + "TITLE": "{{'COMMON.APP_NAME'|translate}} API Documentation", + "MESSAGE": "Welcome to the {{'COMMON.APP_NAME'|translate}} <b>API documentation </b>.<br/>Connect your web site to <a href=\"http://duniter.org\" target=\"_system\">Duniter</a> very easily!", + "MESSAGE_SHORT": "Connect your websites to <a href=\"http://duniter.org\" target=\"_system\">Duniter</a> very easily!", + "DOC_HEADER": "Available services:" + }, + "TRANSFER": { + "TITLE": "{{'COMMON.APP_NAME'|translate}} - Online payment", + "TITLE_SHORT": "Online payment", + "SUMMARY": "Order summary:", + "AMOUNT": "Amount:", + "AMOUNTS_HELP": "Please select the amount:", + "NAME": "Name:", + "PUBKEY": "Public key of the recipient:", + "COMMENT": "Order reference:", + "NODE": "Peer address:", + "DEMO": { + "SALT": "demo", + "PASSWORD": "demo", + "PUBKEY": "3G28bL6deXQBYpPBpLFuECo46d3kfYMJwst7uhdVBnD1", + "HELP": "<b>Demonstration mode</b>: No payment will actually be sent during this simulation.<br/>Please use credentials: <b>{{'API.TRANSFER.DEMO.SALT'|translate}} / {{'API.TRANSFER.DEMO.PASSWORD'|translate}}</b>", + "BAD_CREDENTIALS": "Invalid credentials.<br/>In demonstration mode, credentials should be: {{'API.TRANSFER.DEMO.SALT'|translate}} / {{'API.TRANSFER.DEMO.PASSWORD'|translate}}" + }, + "INFO": { + "SUCCESS_REDIRECTING_WITH_NAME": "Payment sent.<br/>Redirect to <b>{{name}}</b>...", + "SUCCESS_REDIRECTING": "Payment sent.<br/>Redirect to the seller's website...", + "CANCEL_REDIRECTING_WITH_NAME": "Payment cancelled.<br/>Redirect to <b>{{name}}</b>...", + "CANCEL_REDIRECTING": "Payment cancelled.<br/>Redirect to the seller's website..." + }, + "ERROR": { + "TRANSFER_FAILED": "Payment failed" + } + }, + "DOC": { + "DESCRIPTION_DIVIDER": "Description", + "URL_DIVIDER": "Calling address", + "PARAMETERS_DIVIDER": "Parameters", + "AVAILABLE_PARAMETERS": "Here is the list of al available parameters:", + "DEMO_DIVIDER": "Try it !", + "DEMO_HELP": "To test this service, click on this button. The result content will be display below.", + "DEMO_RESULT": "Result returned by call:", + "DEMO_RESULT_PEER": "Peer address used:", + "DEMO_SUCCEED": "<i class=\"icon ion-checkmark\"></i> Success!", + "DEMO_CANCELLED": "<i class=\"icon ion-close\"></i> Canceled by user", + "INTEGRATE_DIVIDER": "Website integration", + "INTEGRATE_CODE": "Code:", + "INTEGRATE_RESULT": "Result preview:", + "INTEGRATE_PARAMETERS": "Parameters", + "TRANSFER": { + "TITLE": "Payments", + "DESCRIPTION": "From a site (eg online marketplace) you can delegate payment in free currency to Cesium API. To do this, simply open a page at the following address:", + "PARAM_PUBKEY": "Recipient's public key", + "PARAM_PUBKEY_HELP": "Recipient's public key (required)", + "PARAM_AMOUNT": "Amount", + "PARAM_AMOUNT_HELP": "Transaction amount (required)", + "PARAM_COMMENT": "Reference (or comment)", + "PARAM_COMMENT_HELP": "Reference or comment. You will allow for example to identify the payment in the BlockChain.", + "PARAM_NAME": "Name (of recipient or website)", + "PARAM_NAME_HELP": "The name of your website. This can be a readable name (eg \"My online site\"), or a web address (eg \"www.MySite.com\").", + "PARAM_REDIRECT_URL": "URL redirection", + "PARAM_REDIRECT_URL_HELP": "URL redirection after sending payment, after the payment has been sent. Can contain the following strings, which will be replaced by the values of the transaction: \"{tx}\", \"{hash}\", \"{comment}\", \"{amount}\" and \"{pubkey}\".", + "PARAM_CANCEL_URL": "URL if cancelled", + "PARAM_CANCEL_URL_HELP": "URL in case of cancellation. Can contain the following strings, which will be replaced: \"{comment}\", \"{amount}\" and \"{pubkey}\".", + "PARAM_PREFERRED_NODE": "Preferred Duniter peer", + "PARAM_PREFERRED_NODE_HELP": "Peer address (URL) to use preferably (\"g1.domain.com:443\" or \"https://g1.domain.com\")", + "EXAMPLES_HELP": "Examples of integration:", + "EXAMPLE_BUTTON": "HTML Button", + "EXAMPLE_BUTTON_DEFAULT_TEXT": "Pay in {{currency|abbreviate}}", + "EXAMPLE_BUTTON_DEFAULT_STYLE": "Custom style", + "EXAMPLE_BUTTON_TEXT_HELP": "Button text", + "EXAMPLE_BUTTON_BG_COLOR": "Background color", + "EXAMPLE_BUTTON_BG_COLOR_HELP": "eg: #fbc14c, yellow, lightgrey, rgb(180,180,180)", + "EXAMPLE_BUTTON_FONT_COLOR": "Font color", + "EXAMPLE_BUTTON_FONT_COLOR_HELP": "eg: black, orange, rgb(180,180,180)", + "EXAMPLE_BUTTON_TEXT_ICON": "Icon", + "EXAMPLE_BUTTON_TEXT_WIDTH": "Width", + "EXAMPLE_BUTTON_TEXT_WIDTH_HELP": "eg: 200px, 50%", + "EXAMPLE_BUTTON_ICON_NONE": "No icon", + "EXAMPLE_BUTTON_ICON_DUNITER": "Duniter logo", + "EXAMPLE_BUTTON_ICON_CESIUM": "Cesium logo", + "EXAMPLE_BUTTON_ICON_G1_COLOR": "Ğ1 logo", + "EXAMPLE_BUTTON_ICON_G1_BLACK": "Ğ1 logo (outline)" + } + } + } +} diff --git a/src/assets/i18n/eo-EO.json b/src/assets/i18n/eo-EO.json new file mode 100644 index 0000000..f819ccd --- /dev/null +++ b/src/assets/i18n/eo-EO.json @@ -0,0 +1,1024 @@ +{ + "COMMON": { + "APP_NAME": "Cesium", + "APP_VERSION": "v{{version}}", + "APP_BUILD": "date : {{build}}", + "PUBKEY": "Publika ŝlosilo", + "MEMBER": "Membro", + "BLOCK" : "Bloko", + "BTN_OK": "OK", + "BTN_YES": "Jes", + "BTN_NO": "Ne", + "BTN_SEND": "Sendi", + "BTN_SEND_MONEY": "Fari elspezon", + "BTN_SEND_MONEY_SHORT": "Elspezo", + "BTN_SAVE": "Konservi", + "BTN_YES_SAVE": "Jes, Konservi", + "BTN_YES_CONTINUE": "Jes, Daŭrigi", + "BTN_SHOW": "Vidi", + "BTN_SHOW_PUBKEY": "Afiŝi la publikan ŝlosilon", + "BTN_RELATIVE_UNIT": "Afiŝi la sumojn en UD?", + "BTN_BACK": "Reiro", + "BTN_NEXT": "Sekva", + "BTN_IMPORT": "Enporti", + "BTN_CANCEL": "Nuligi", + "BTN_CLOSE": "Fermi", + "BTN_LATER": "Poste", + "BTN_LOGIN": "Konektiĝi", + "BTN_LOGOUT": "Malkonektiĝo", + "BTN_ADD_ACCOUNT": "Nova konto", + "BTN_SHARE": "Diskonigi", + "BTN_EDIT": "Modifi", + "BTN_DELETE": "Forigi", + "BTN_ADD": "Aldoni", + "BTN_SEARCH": "Serĉi", + "BTN_REFRESH": "Aktualigi", + "BTN_RETRY": "Rekomenci", + "BTN_START": "Komenci", + "BTN_CONTINUE": "Daŭrigi", + "BTN_CREATE": "Krei", + "BTN_UNDERSTOOD": "Mi komprenis", + "BTN_OPTIONS": "Kromeblecoj", + "BTN_HELP_TOUR": "Gvidata vizito", + "BTN_HELP_TOUR_SCREEN": "Malkovri tiun ĉi paĝon", + "BTN_DOWNLOAD": "Elŝuti", + "BTN_DOWNLOAD_ACCOUNT_STATEMENT": "Elŝuti la konto-tabelon", + "BTN_MODIFY": "Modifi", + "CHOOSE_FILE": "Almetu vian dosieron <br/>aŭ klaku por elekti ĝin", + "DAYS": "tagoj", + "NO_ACCOUNT_QUESTION": "Ankoraŭ sen konto? Kreu ĝin senpage!", + "SEARCH_NO_RESULT": "Neniu rezulto trovita", + "LOADING": "Bonvolu pacienci...", + "LOADING_WAIT": "Bonvolu pacienci...<br/><small>(Atendado pri disponebleco de la nodo)</small>", + "SEARCHING": "Serĉanta...", + "FROM": "De", + "TO": "Al", + "COPY": "Kopii", + "LANGUAGE": "Lingvo", + "UNIVERSAL_DIVIDEND": "Universala dividendo", + "UD": "UD", + "DATE_PATTERN": "DD/MM/YY HH:mm", + "DATE_FILE_PATTERN": "YYYY-MM-DD", + "DATE_SHORT_PATTERN": "DD/MM/YY", + "DATE_MONTH_YEAR_PATTERN": "MM/YYYY", + "EMPTY_PARENTHESIS": "(malplena)", + "UID": "Pseŭdonimo", + "ENABLE": "Aktiva", + "DISABLE": "Malaktiva", + "RESULTS_LIST": "Rezultoj", + "RESULTS_COUNT": "{{count}} rezultoj", + "EXECUTION_TIME": "Plenumita en {{duration|formatDurationMs}}", + "SHOW_VALUES": "Afiŝi la signojn klare?", + "POPOVER_ACTIONS_TITLE": "Kromeblecoj", + "POPOVER_FILTER_TITLE": "Filtriloj", + "SHOW_MORE": "Afiŝi pli", + "SHOW_MORE_COUNT": "(nuna limo je {{limit}})", + "POPOVER_SHARE": { + "TITLE": "Diskonigi", + "SHARE_ON_TWITTER": "Diskonigi ĉe Twitter", + "SHARE_ON_FACEBOOK": "Diskonigi ĉe Facebook", + "SHARE_ON_DIASPORA": "Diskonigi ĉe Diaspora*", + "SHARE_ON_GOOGLEPLUS": "Diskonigi ĉe Google+" + }, + "FILE": { + "DATE": "Dato:", + "TYPE": "Tipo:", + "SIZE": "Pezo:", + "VALIDATING": "Validiĝanta..." + } + }, + "SYSTEM": { + "PICTURE_CHOOSE_TYPE": "Elekti la fonton:", + "BTN_PICTURE_GALLERY": "Bildaro", + "BTN_PICTURE_CAMERA": "<b>Kamerao</b>" + }, + "MENU": { + "HOME": "Hejmpaĝo", + "WOT": "Kontaro", + "CURRENCY": "Mono", + "ACCOUNT": "Mia konto", + "WALLETS": "Miaj monujoj", + "SETTINGS": "Parametroj", + "NETWORK": "Reto", + "TRANSACTIONS": "Miaj spezoj" + }, + "ABOUT": { + "TITLE": "Prie", + "LICENSE": "Programo <b>libera</b> (Licenco GNU AGPLv3).", + "LATEST_RELEASE": "Ekzistas <b>pli freŝdata versio</b> de {{'COMMON.APP_NAME'|translate}} (<b>v{{version}}</b>)", + "PLEASE_UPDATE": "Bonvolu ĝisdatigi {{'COMMON.APP_NAME'|translate}} (lasta versio: <b>v{{version}}</b>)", + "CODE": "Fonto-kodo:", + "OFFICIAL_WEB_SITE": "Oficiala retejo:", + "DEVELOPERS": "Programita de:", + "FORUM": "Forumo:", + "PLEASE_REPORT_ISSUE": "Ne hezitu sciigi al ni la renkontitajn fuŝaĵojn", + "REPORT_ISSUE": "Sciigi problemon", + "BTN_OPEN_DEV_WINDOW": "Malfermi la fenestron pri malfuŝigado" + }, + "HOME": { + "TITLE": "Cesium", + "WELCOME": "Bonvenon ĉe la programo Cesium!", + "WELCOME_READONLY": "Bonvenon ĉe Cesium <span class='badge badge-balanced'>Observo</span>!", + "MESSAGE": "Ricevu kaj sendu liberan monon {{currency|abbreviate}}", + "MESSAGE_READONLY": "Sekvu la staton de la libera mono {{currency|abbreviate}} en tuja tempo.", + "BTN_CURRENCY": "Esploru la monon {{currency|abbreviate}}", + "BTN_ABOUT": "prie", + "BTN_HELP": "Reta helpo", + "BTN_NETWORK": "Stato de la reto", + "FREE_SOFTWARE": "Libera programo", + "FORK_ME": "Duobligu min!", + "SHOW_LICENSE": "Vidi la licencon de la programo", + "REPORT_ISSUE": "fuŝaĵo", + "NOT_YOUR_ACCOUNT_QUESTION" : "Vi ne posedas la konton <b class=\"ion-key\"> {{pubkey|formatPubkey}}</b> ?", + "BTN_CHANGE_ACCOUNT": "Malkonektu tiun ĉi konton", + "CONNECTION_ERROR": "Nodo <b>{{server}}</b> neatingebla aŭ adreso nevalida.<br/><br/>Kontrolu vian retkonekton, aŭ elektu alian nodon <a class=\"positive\" ng-click=\"doQuickFix('settings')\">ĉe la parametroj</a>.", + "SHOW_ALL_FEED": "Vidi ĉion", + "READ_MORE": "Legi la sekvon", + "FEED_SOURCE": "Fonto" + }, + "SETTINGS": { + "TITLE": "Parametroj", + "DISPLAY_DIVIDER": "Afiŝado", + "STORAGE_DIVIDER": "Stokado", + "NETWORK_SETTINGS": "Reto", + "PEER": "Adreso de la nodo Duniter", + "PEER_SHORT": "Adreso de la nodo", + "PEER_CHANGED_TEMPORARY": "Adreso provizore uzata", + "PERSIST_CACHE": "Konservi la datenojn pri retumado (provaĵo)", + "PERSIST_CACHE_HELP": "Ebligas pli rapidan retumadon, loke konservante la ricevitajn datenojn, por uzi ilin de seanco al alia.", + "USE_LOCAL_STORAGE": "Aktivigi lokan stokadon", + "USE_LOCAL_STORAGE_HELP": "Ebligas konservi viajn parametrojn", + "WALLETS_SETTINGS": "Miaj monujoj", + "USE_WALLETS_ENCRYPTION": "Sekurigi la liston?", + "USE_WALLETS_ENCRYPTION_HELP": "Ebligas sekurigi la liston de viaj monujoj (per ĉifrado), postulante aŭtentigado por aliri ilin.", + "ENABLE_HELPTIP": "Aktivigi la rilatigajn help-vezikojn", + "DISABLE_HELPTIP": "Malaktivigi la rilatigajn help-vezikojn", + "ENABLE_UI_EFFECTS": "Aktivigi la vid-efikojn", + "HISTORY_SETTINGS": "Miaj spezoj", + "DISPLAY_UD_HISTORY": "Afiŝi la produktitajn dividendojn?", + "TX_HISTORY_AUTO_REFRESH": "Aktualigi aŭtomate", + "TX_HISTORY_AUTO_REFRESH_HELP": "Aktualigas la saldon kaj la spezojn aŭtomate, por ĉiu nova bloko de la reto.", + "AUTHENTICATION_SETTINGS": "Aŭtentigado", + "KEEP_AUTH": "Aŭtomata malaŭtentigado", + "KEEP_AUTH_SHORT": "Malaŭtentigado", + "KEEP_AUTH_HELP": "Difinas la momenton, kiam la aŭtentigado estas forviŝita de la memoro.", + "KEEP_AUTH_OPTION": { + "NEVER": "Post ĉiu ago", + "SECONDS": "Post {{value}}s de neatktiveco", + "MINUTE": "Post {{value}}min de neatktiveco", + "MINUTES": "Post {{value}}min de neatktiveco", + "HOUR": "Post {{value}}h de neatktiveco", + "ALWAYS": "Fine de la seanco" + }, + "KEYRING_FILE": "Dosiero pri ŝlosilaro", + "KEYRING_FILE_HELP": "Ebligas <b>konektiĝi</b> aŭtomate por ĉiu ekuzo<br/>kaj eĉ <b>aŭtentiĝi</b> (nur se \"Finiĝo de la aŭtentiĝo\" estas agordita kiel \"fine de la seanco\").", + "REMEMBER_ME": "Memori min?", + "REMEMBER_ME_HELP": "Ebligas resti identigita de seanco al alia, loke konservante la publikan ŝlosilon.", + "PLUGINS_SETTINGS": "Krom-programoj", + "BTN_RESET": "Restarigi la originajn valorojn", + "EXPERT_MODE": "Aktivigi la spertan moduson", + "EXPERT_MODE_HELP": "Ebligas pli detalan afiŝadon.", + "BLOCK_VALIDITY_WINDOW": "Limtempo pri necerteco de la blokoj", + "BLOCK_VALIDITY_WINDOW_SHORT": "Limtempo pri necerteco", + "BLOCK_VALIDITY_WINDOW_HELP": "Limtempo antaŭ ol taksi, ke iu informo estas validigita", + "BLOCK_VALIDITY_OPTION": { + "NONE": "Neniu limtempo", + "N": "{{time | formatDuration}} ({{count}} blokoj)" + }, + "POPUP_PEER": { + "TITLE": "Nodo Duniter", + "HOST": "Adreso", + "HOST_HELP": "Adreso: servilo: konektujo", + "USE_SSL": "Sekurigita?", + "USE_SSL_HELP": "(SSL-ĉifrado)", + "BTN_SHOW_LIST": "Listo de la nodoj" + } + }, + "BLOCKCHAIN": { + "HASH": "Haketo: {{hash}}", + "VIEW": { + "HEADER_TITLE": "Bloko #{{number}}-{{hash|formatHash}}", + "TITLE_CURRENT": "Nuna bloko", + "TITLE": "Bloko #{{number|formatInteger}}", + "COMPUTED_BY": "Kalkulita de la nodo de", + "SHOW_RAW": "Vidi la kompletan dosieron", + "TECHNICAL_DIVIDER": "Teknikaj informoj", + "VERSION": "Versio de la daten-strukturo", + "HASH": "Kalkulita haketo", + "UNIVERSAL_DIVIDEND_HELP": "Mono kunproduktita de ĉiu el la {{membersCount}} membroj", + "EMPTY": "Neniu dateno en tiu ĉi bloko", + "POW_MIN": "Minimuma malfacileco", + "POW_MIN_HELP": "Malfacileco trudita por la haket-kalkulo", + "DATA_DIVIDER": "Datenoj", + "IDENTITIES_COUNT": "Novaj identecoj", + "JOINERS_COUNT": "Novaj membroj", + "ACTIVES_COUNT": "Revalidigoj", + "ACTIVES_COUNT_HELP": "Membroj revalidigintaj sian membrecon", + "LEAVERS_COUNT": "Membroj elirintaj", + "LEAVERS_COUNT_HELP": "Membroj ne plu dezirantaj atestaĵon", + "EXCLUDED_COUNT": "Membroj eksigitaj", + "EXCLUDED_COUNT_HELP": "Malnovaj membroj eksigitaj pro nerevalidiĝo aŭ manko de atestaĵoj", + "REVOKED_COUNT": "Nuligitaj identecoj", + "REVOKED_COUNT_HELP": "Tiuj kontoj ne plu povos esti membroj", + "TX_COUNT": "Spezoj", + "CERT_COUNT": "Atestaĵoj", + "TX_TO_HIMSELF": "Operacio pri monŝanĝo", + "TX_OUTPUT_UNLOCK_CONDITIONS": "Kondiĉoj por malblokado", + "TX_OUTPUT_OPERATOR": { + "AND": "kaj", + "OR": "aŭ" + }, + "TX_OUTPUT_FUNCTION": { + "SIG": "<b>Subskribo</b> de ", + "XHX": "<b>Pasvorto</b>, el kiu SHA256 =", + "CSV": "Blokita dum", + "CLTV": "Blokita ĝis" + } + }, + "LOOKUP": { + "TITLE": "Blokoj", + "NO_BLOCK": "Neniu bloko", + "LAST_BLOCKS": "Lastaj blokoj:", + "BTN_COMPACT": "Densigi" + } + }, + "CURRENCY": { + "VIEW": { + "TITLE": "Mono", + "TAB_CURRENCY": "Mono", + "TAB_WOT": "Reto de fido", + "TAB_NETWORK": "Reto", + "TAB_BLOCKS": "Blokoj", + "CURRENCY_SHORT_DESCRIPTION": "{{currency|abbreviate}} estas <b>libera mono</b>, kiu ekis {{firstBlockTime|formatFromNow}}. Ĝi nombras nun <b>{{N}} membrojn</b>, kiuj produktas kaj ricevas <a ng-click=\"showHelpModal('ud')\">Universalan Dividendon</a> (UD), ĉiun {{dt|formatPeriod}}n.", + "NETWORK_RULES_DIVIDER": "Reguloj de la reto", + "CURRENCY_NAME": "Nomo de la mono", + "MEMBERS": "Nombro de membroj", + "MEMBERS_VARIATION": "Variado depost la lasta UD", + "MONEY_DIVIDER": "Mono", + "MASS": "Mona maso", + "SHARE": "Monkvanto por ĉiu membro", + "UD": "Universala Dividendo", + "C_ACTUAL": "Nuna kreskado", + "MEDIAN_TIME": "Horo de la blokĉeno", + "POW_MIN": "Minimuma nivelo pri malfacileco de kalkulo", + "MONEY_RULES_DIVIDER": "Reguloj de la mono", + "C_RULE": "Teoria kreskado celata", + "UD_RULE": "Kalkulo de la universala dividendo", + "DT_REEVAL": "Periodo de revalorigo de la UD", + "REEVAL_SYMBOL": "reval", + "DT_REEVAL_VALUE": "Ĉiuj <b>{{dtReeval|formatDuration}}</b> ({{dtReeval/86400}} {{'COMMON.DAYS'|translate}})", + "UD_REEVAL_TIME0": "Dato de la unua revalorigo", + "SIG_QTY_RULE": "Nombro de necesaj atestaĵoj por fariĝi membro", + "SIG_STOCK": "Maksimuma nombro da senditaj atestaĵoj por membro", + "SIG_PERIOD": "Minimuma daŭro de atendado inter 2 sinsekvaj atestaĵoj senditaj de sama persono", + "SIG_WINDOW": "Limdaŭro por akcepti atestaĵon", + "SIG_VALIDITY": "Vivdaŭro de atestaĵo, kiu estis akceptita", + "MS_WINDOW": "Limdaŭro por la akcepto de aliĝ-peto", + "MS_VALIDITY": "Vivdaŭro de aliĝo, kiu estis akceptita", + "STEP_MAX": "Maksimuma distanco, per la atestaĵoj, inter nova eniranto kaj la referencaj membroj", + "WOT_RULES_DIVIDER": "Reguloj de la reto de fido", + "SENTRIES": "Nombro de atestaĵoj (senditaj <b>kaj</b> ricevitaj) por fariĝi referenca membro", + "SENTRIES_FORMULA": "Nombro de atestaĵoj (senditaj <b>kaj</b> ricevitaj) por fariĝi referenca membro (formulo)", + "XPERCENT":"Minimuma procento da referencaj membroj atingenda por konformiĝi al la regulo pri distanco", + "AVG_GEN_TIME": "Meza daŭro inter du blokoj", + "CURRENT": "nuna", + "MATH_CEILING": "PLAFONO", + "DISPLAY_ALL_RULES": "Afiŝi ĉiujn regulojn?", + "BTN_SHOW_LICENSE": "Vidi la licencon", + "WOT_DIVIDER": "Reto de fido" + }, + "LICENSE": { + "TITLE": "Licenco de la mono", + "BTN_DOWNLOAD": "Elŝuti la dosieron", + "NO_LICENSE_FILE": "Dosiero pri licenco ne trovita." + } + }, + "NETWORK": { + "VIEW": { + "MEDIAN_TIME": "Horo de la blokĉeno", + "LOADING_PEERS": "Nodoj ŝarĝiĝantaj...", + "NODE_ADDRESS": "Adreso:", + "SOFTWARE": "Programo", + "WARN_PRE_RELEASE": "Antaŭ-versio (lasta stabila versio: <b>{{version}}</b>)", + "WARN_NEW_RELEASE": "Versio <b>{{version}}</b> disponebla", + "WS2PID": "Identigilo:", + "PRIVATE_ACCESS": "Privata aliro", + "POW_PREFIX": "Prefikso pri labor-pruvo:", + "ENDPOINTS": { + "BMAS": "Sekurigita interfaco (SSL)", + "BMATOR": "Reta interfaco TOR", + "WS2P": "Interfaco WS2P", + "ES_USER_API": "Nodo de datenoj Cesium+" + } + }, + "INFO": { + "ONLY_SSL_PEERS": "La nodoj ne-SSL estas mis-afiŝitaj, ĉar Cesium funkcias laŭ moduso HTTPS." + } + }, + "PEER": { + "PEERS": "Nodoj", + "SIGNED_ON_BLOCK": "Skribita en la bloko", + "MIRROR": "spegulo", + "MIRRORS": "Speguloj", + "MIRROR_PEERS": "Spegul-nodoj", + "PEER_LIST" : "Listo de la nodoj", + "MEMBERS" : "Membroj", + "MEMBER_PEERS" : "Membro-nodoj", + "ALL_PEERS" : "Ĉiuj nodoj", + "DIFFICULTY" : "Malfacileco", + "API" : "API", + "CURRENT_BLOCK" : "Bloko #", + "POPOVER_FILTER_TITLE": "Filtrilo", + "OFFLINE": "Nekonektita", + "OFFLINE_PEERS": "Nekonektitaj nodoj", + "BTN_SHOW_PEER": "Vidi la nodon", + "VIEW": { + "TITLE": "Nodo", + "OWNER": "Apartenas al", + "SHOW_RAW_PEERING": "Vidi la samrangan dokumenton", + "SHOW_RAW_CURRENT_BLOCK": "Vidi la lastan blokon (kompleta strukturo)", + "LAST_BLOCKS": "Lastaj blokoj konataj", + "KNOWN_PEERS": "Konataj nodoj:", + "GENERAL_DIVIDER": "Ĝeneralaj informoj", + "ERROR": { + "LOADING_TOR_NODE_ERROR": "Neeblas ricevi la informojn de la nodo. La limdaŭro de atendado estas transpasita.", + "LOADING_NODE_ERROR": "Neeblas ricevi la informojn de la nodo" + } + } + }, + "WOT": { + "SEARCH_HELP": "Traserĉado (pseŭdo aŭ publika ŝlosilo)", + "SEARCH_INIT_PHASE_WARNING": "Dum la periodo de antaŭ-aliĝo, la traserĉado de la atendantaj aliĝoj <b>povas esti longa</b>. Bonvolu pacienci...", + "REGISTERED_SINCE": "Enskribita la", + "REGISTERED_SINCE_BLOCK": "Enskribita en la bloko #", + "NO_CERTIFICATION": "Neniu atestaĵo validigita", + "NO_GIVEN_CERTIFICATION": "Neniu atestaĵo sendita", + "NOT_MEMBER_PARENTHESIS": "(ne membro)", + "IDENTITY_REVOKED_PARENTHESIS": "(identeco nuligita)", + "MEMBER_PENDING_REVOCATION_PARENTHESIS": "(nuliĝanta)", + "EXPIRE_IN": "Finiĝo", + "NOT_WRITTEN_EXPIRE_IN": "Limdato<br/>de traktado", + "EXPIRED": "Finiĝinta", + "PSEUDO": "Pseŭdonimo", + "SIGNED_ON_BLOCK": "Sendita en la bloko #{{block}}", + "WRITTEN_ON_BLOCK": "Enskribita en la bloko #{{block}}", + "GENERAL_DIVIDER": "Ĝeneralaj informoj", + "NOT_MEMBER_ACCOUNT": "Simpla konto (ne membro)", + "NOT_MEMBER_ACCOUNT_HELP": "Temas pri simpla monujo, sen aliĝ-peto atendanta.", + "TECHNICAL_DIVIDER": "Teknikaj informoj", + "BTN_CERTIFY": "Atesti", + "BTN_YES_CERTIFY": "Jes, atesti", + "BTN_SELECT_AND_CERTIFY": "Nova atestaĵo", + "ACCOUNT_OPERATIONS": "Spezoj en la konto", + "VIEW": { + "POPOVER_SHARE_TITLE": "Identeco {{title}}" + }, + "LOOKUP": { + "TITLE": "Reto de fido", + "NEWCOMERS": "Novaj membroj", + "NEWCOMERS_COUNT": "{{count}} membroj", + "PENDING": "Atendantaj enskribiĝoj", + "PENDING_COUNT": "{{count}} atendantaj enskribiĝoj", + "REGISTERED": "Enskribita {{sigDate | formatFromNow}}", + "MEMBER_FROM": "Membro depost {{memberDate|medianFromNowShort}}", + "BTN_NEWCOMERS": "Novaj membroj", + "BTN_PENDING": "Atendantaj enskribiĝoj", + "SHOW_MORE": "Afiŝi pli", + "SHOW_MORE_COUNT": "(nuna limo je {{limit}})", + "NO_PENDING": "Neniu enskribiĝo atendanta.", + "NO_NEWCOMERS": "Neniu membro." + }, + "CONTACTS": { + "TITLE": "Kontaktoj" + }, + "MODAL": { + "TITLE": "Traserĉado" + }, + "CERTIFICATIONS": { + "TITLE": "{{uid}} - Atestaĵoj", + "SUMMARY": "Ricevitaj atestaĵoj", + "LIST": "Detalo pri la ricevitaj atestaĵoj", + "PENDING_LIST": "Atestaĵoj atendantaj traktadon", + "RECEIVED": "Ricevitaj atestaĵoj", + "RECEIVED_BY": "Atestaĵoj ricevitaj de {{uid}}", + "ERROR": "Atestaĵoj erare ricevitaj", + "SENTRY_MEMBER": "Referenca membro" + }, + "OPERATIONS": { + "TITLE": "{{uid}} - Spezoj" + }, + "GIVEN_CERTIFICATIONS": { + "TITLE": "{{uid}} - Senditaj atestaĵoj", + "SUMMARY": "Senditaj atestaĵoj", + "LIST": "Detalo pri la senditaj atestaĵoj", + "PENDING_LIST": "Atestaĵoj atendantaj traktadon", + "SENT": "Senditaj atestaĵoj", + "SENT_BY": "Atestaĵoj senditaj de {{uid}}", + "ERROR": "Atestaĵoj erare senditaj" + } + }, + "LOGIN": { + "TITLE": "<i class=\"icon ion-log-in\"></i> Konektiĝo", + "SCRYPT_FORM_HELP": "Bonvolu tajpi viajn identigilojn.<br>Pensu kontroli, ke la publika ŝlosilo estas tiu de via konto.", + "PUBKEY_FORM_HELP": "Bonvolu tajpi publikan ŝlosilon de konto:", + "FILE_FORM_HELP": "Elektu la ŝlosilaro-dosieron uzotan:", + "SCAN_FORM_HELP": "Skani la QR-kodon de monujo.", + "SALT": "Sekreta identigilo", + "SALT_HELP": "Sekreta identigilo", + "SHOW_SALT": "Afiŝi la sekretan identigilon?", + "PASSWORD": "Pasvorto", + "PASSWORD_HELP": "Pasvorto", + "PUBKEY_HELP": "Publika ŝlosilo aŭ pseŭdonimo", + "NO_ACCOUNT_QUESTION": "Vi ankoraŭ ne havas konton?", + "HAVE_ACCOUNT_QUESTION": "Vi jam havas konton?", + "CREATE_ACCOUNT": "Krei konton...", + "CREATE_FREE_ACCOUNT": "Krei konton senpage", + "FORGOTTEN_ID": "Pasvorto forgesita?", + "ASSOCIATED_PUBKEY": "Publika ŝlosilo de la ŝlosilaro:", + "BTN_METHODS": "Aliaj metodoj", + "BTN_METHODS_DOTS": "Ŝanĝi metodon...", + "METHOD_POPOVER_TITLE": "Metodoj", + "MEMORIZE_AUTH_FILE": "Memorigi tiun ŝlosilaron por la daŭro de la retum-seanco", + "SCRYPT_PARAMETERS": "Parametroj (Skripto):", + "AUTO_LOGOUT": { + "TITLE": "Informo", + "MESSAGE": "<i class=\"ion-android-time\"></i> Vi estis <b>malkonektita</b> aŭtomate, pro tro longa senaktiveco.", + "BTN_RELOGIN": "Rekonektiĝi", + "IDLE_WARNING": "Vi estos malkonektita... {{countdown}}" + }, + "METHOD": { + "SCRYPT_DEFAULT": "Sekreta identigilo kaj pasvorto", + "SCRYPT_ADVANCED": "Sperta salumado", + "FILE": "Dosiero pri ŝlosilaro", + "PUBKEY": "Publika ŝlosilo aŭ pseŭdonimo", + "SCAN": "Skani QR-kodon" + }, + "SCRYPT": { + "SIMPLE": "Malpeza salumado", + "DEFAULT": "Kutima salumado", + "SECURE": "Sekura salumado", + "HARDEST": "Plej sekura salumado", + "EXTREME": "Ekstrema salumado", + "USER": "Personigita salumado", + "N": "N (Loop):", + "r": "r (RAM):", + "p": "p (CPU):" + }, + "FILE": { + "HELP": "Atendita strukturo de dosiero: <b>.yml</b> aŭ <b>.dunikey</b> (tipo PubSec, WIF aŭ EWIF)." + } + }, + "AUTH": { + "TITLE": "<i class=\"icon ion-locked\"></i> Aŭtentigado", + "BTN_AUTH": "Aŭtentiĝi", + "GENERAL_HELP": "Bonvolu aŭtentiĝi:", + "EXPECTED_UID_HELP": "Bonvolu aŭtentiĝi ĉe la konto <i class=\"ion-person\"></i> {{uid}} :", + "EXPECTED_PUBKEY_HELP": "Bonvolu aŭtentiĝi ĉe la monujo <br class=\"visible-xs\"/><i class=\"ion-key\"></i> {{pubkey|formatPubkey}} :", + "SCAN_FORM_HELP": "Skani la QR-kodon de la <b>privata ŝlosilo</b> de la monujo." + }, + "ACCOUNT": { + "TITLE": "Mia konto", + "BALANCE": "Saldo", + "LAST_TX": "Lastaj spezoj validigitaj", + "BALANCE_ACCOUNT": "Konto-saldo", + "NO_TX": "Neniu spezo", + "SHOW_MORE_TX": "Afiŝi pli", + "SHOW_ALL_TX": "Afiŝi ĉion", + "TX_FROM_DATE": "(nuna limo je {{fromTime|medianFromNowShort}})", + "PENDING_TX": "Spezoj atendantaj traktadon", + "VALIDATING_TX": "Spezoj traktitaj, ne validigitaj", + "ERROR_TX": "Spezoj ne realigitaj", + "ERROR_TX_SENT": "Spezoj malsukcesintaj", + "PENDING_TX_RECEIVED": "Spezoj atendantaj ricevon", + "EVENTS": "Okazaĵoj", + "OUT_DISTANCED": "Viaj nunaj atestaĵoj venas de tro izolita grupo de la <a ng-click=\"showHelpModal('wot')\">Reto de Fido</a> (RdF): al la <a ng-click=\"showHelpModal('distance_rule')\">regulo de maksimuma distanco</a> vi ne konformiĝas.<br/>Vi devas akiri atestaĵojn venantajn de aliaj lokoj de la RdF, aŭ atendi ke tiu ĉi densiĝos.", + "WAITING_MEMBERSHIP": "Aliĝo-peto sendita. Atendanta akcepton.", + "WAITING_CERTIFICATIONS": "Vi devas <b>akiri {{needCertificationCount}} atestaĵo(j)n</b> por fariĝi membro kaj produkti la <a ng-click=\"showHelpModal('ud')\">Universalan Dividendon</a>. Via konto tamen estas jam funkcianta, por ricevi kaj efektivigi pagojn.", + "WAITING_CERTIFICATIONS_HELP": "Por akiri viajn atestaĵojn, petu nur membrojn <b>kiuj sufiĉe konas vin</b>, kiel postulas <a ng-click=\"showLicenseModal()\">la licenco de la mono</a>, kiun vi akceptis.<br/>Se vi ne konas sufiĉe da membroj, sciigu tion ĉe <a ng-click=\"openLink($event, $root.settings.userForumUrl)\">la forumo por uzantoj</a>.", + "WILL_MISSING_CERTIFICATIONS": "Baldaŭ <b>mankos al vi atestaĵoj</b> (almenaŭ {{willNeedCertificationCount}} estas necesaj)", + "WILL_NEED_RENEW_MEMBERSHIP": "Via aliĝo kiel membro <b>estas finiĝonta {{membershipExpiresIn|formatDurationTo}}</b>. Pensu <a ng-click=\"doQuickFix('renew')\">revalidigi vian aliĝon</a> ĝis tiam.", + "NEED_RENEW_MEMBERSHIP": "Vi ne plu estas membro de la mono, ĉar <b>via aliĝo finiĝis</b>. Pensu <a ng-click=\"doQuickFix('renew')\">revalidigi vian aliĝon</a>.", + "NEED_RENEW_MEMBERSHIP_AFTER_CANCELLED": "Vi ne plu estas membro de la mono, <b>pro manko da atestaĵoj</b>. Pensu <a ng-click=\"doQuickFix('renew')\">revalidigi vian aliĝon</a>.", + "NO_WAITING_MEMBERSHIP": "Neniu aliĝo-peto atendanta. Se vi deziras <b>fariĝi membro</b>, pensu <a ng-click=\"doQuickFix('membership')\">sendi la aliĝo-peton</a>.", + "CERTIFICATION_COUNT": "Ricevitaj atestaĵoj", + "CERTIFICATION_COUNT_SHORT": "Atestaĵoj", + "SIG_STOCK": "Senditaj atestaĵoj", + "BTN_RECEIVE_MONEY": "Enkasigi", + "BTN_SELECT_ALTERNATIVES_IDENTITIES": "Aliri alian identecon...", + "BTN_FIX_MEMBERSHIP": "Resendi la aliĝo-peton...", + "BTN_MEMBERSHIP_RENEW": "Revalidigi la aliĝon", + "BTN_MEMBERSHIP_RENEW_DOTS": "Revalidigi la aliĝon...", + "BTN_MEMBERSHIP_OUT_DOTS": "Ĉesigi la aliĝon...", + "BTN_SECURITY_DOTS": "Konto kaj sekureco...", + "BTN_SHOW_DETAILS": "Afiŝi la teknikajn informojn", + "LOCKED_OUTPUTS_POPOVER": { + "TITLE": "Sumo blokita", + "DESCRIPTION": "Jen la kondiĉoj de malblokado de tiu sumo:", + "DESCRIPTION_MANY": "Tiu spezo entenas plurajn partojn, pri kiuj la kondiĉoj de malblokado estas:", + "LOCKED_AMOUNT": "Kondiĉoj por la sumo:" + }, + "NEW": { + "TITLE": "Kreado de konto", + "INTRO_WARNING_TIME": "La kreado de konto ĉe {{name|capitalize}} estas tre simpla. Bonvolu tamen dediĉi sufiĉe da tempo por ĝuste efektivigi tiun proceduron (por ne forgesi la identigilojn, pasvortojn, ktp.).", + "INTRO_WARNING_SECURITY": "Kontrolu ke la aparatoj, kiujn vi nun uzas (komputilo, tabuleto, telefono), <b>estas sekurigitaj kaj fidindaj</b>.", + "INTRO_WARNING_SECURITY_HELP": "Senvirusigilo ĝisdata, fajroŝirmilo aktivigita, seanco protektita per pasvorto aŭ PIN-kodo, ktp.", + "INTRO_HELP": "Alklaku <b>{{'COMMON.BTN_START'|translate}}</b> por ekigi la kreadon de konto. Vi estos gvidata paŝon post paŝo.", + "REGISTRATION_NODE": "Via aliĝo estos registrita tra la nodo Duniter <b>{{server}}</b>, kiu dissendos ĝin poste al la cetero de la mon-reto.", + "REGISTRATION_NODE_HELP": "Se vi ne fidas tiun nodon, bonvolu ŝanĝi ĝin <a ng-click=\"doQuickFix('settings')\">en la parametroj</a> de Cesium.", + "SELECT_ACCOUNT_TYPE": "Elektu la tipon de konto kreota:", + "MEMBER_ACCOUNT": "Membro-konto", + "MEMBER_ACCOUNT_TITLE": "Kreado de membro-konto", + "MEMBER_ACCOUNT_HELP": "Se vi ankoraŭ ne enskribiĝis kiel individuo (nur unu konto eblas por unu individuo). Tia konto ebligas kunprodukti la monon, ricevante <b> universalan dividendon</b> ĉiun {{parameters.dt|formatPeriod}}n.", + "WALLET_ACCOUNT": "Simpla monujo", + "WALLET_ACCOUNT_TITLE": "Kreado de monujo", + "WALLET_ACCOUNT_HELP": "Por ĉiuj aliaj kazoj, ekzemple se vi bezonas plian konton.<br/>Neniu universala dividendo estos kreita per tia konto.", + "SALT_WARNING": "Elektu vian sekretan identigilon.<br/>Oni petos ĝin de vi ĉiufoje, kiam vi konektiĝos al tiu konto.<br/><br/><b>Bone memorigu ĝin</b>: kaze de perdo, neniu alia povos aliri vian konton!", + "PASSWORD_WARNING": "Elektu pasvorton.<br/>Oni petos ĝin de vi ĉiufoje, kiam vi konektiĝos al tiu konto.<br/><br/><b>Bone memorigu tiun pasvorton</b: kaze de perdo, neniu alia povos aliri vian konton!", + "PSEUDO_WARNING": "Elektu pseŭdonimon.<br/>Ĝi utilas al la aliaj membroj, por identigi vin pli facile.<div class='hidden-xs'><br/>Ĝi <b>ne povos esti modifita</b>, sen rekrei konton.</div><br/><br/>Ĝi entenu <b>nek spacon, nek diakritan literon (kun supersigno, ktp.)</b>.<div class='hidden-xs'><br/>Ekzemple: <span class='gray'>NataljaBelulino, JohanoStelaro, ktp.</span>", + "PSEUDO": "Pseŭdonimo", + "PSEUDO_HELP": "Pseŭdonimo", + "SALT_CONFIRM": "Konfirmo", + "SALT_CONFIRM_HELP": "Konfirmo de la sekreta identigilo", + "PASSWORD_CONFIRM": "Konfirmo", + "PASSWORD_CONFIRM_HELP": "Konfirmo de la pasvorto", + "SLIDE_6_TITLE": "Konfirmo:", + "COMPUTING_PUBKEY": "Kalkulanta...", + "LAST_SLIDE_CONGRATULATION": "Vi tajpis ĉiujn necesajn informojn: Gratulon!<br/>Vi nun povas <b>sendi la peton por kreado</b> de la konto.</b><br/><br/>Por informo, la publika ŝlosilo ĉi-sube identigos vian estontan konton.<br/>Ĝi povos estis sciigita al aliuloj por ricevi iliajn pagojn.<br/><b>Ne estas devige</b> noti ĝin nun, vi ankaŭ povos fari tion poste.", + "CONFIRMATION_MEMBER_ACCOUNT": "<b class=\"assertive\">Averto:</b> la sekreta identigilo, la pasvorto kaj la pseŭdonimo ne plu povos esti modifitaj.<br/><br/><b>Certiĝu, ke vi ĉiam rememorigos ĝin!</b><br/><br/><b>Ĉu vi certas</b>, ke vi deziras sendi tiun ĉi aliĝo-peton?", + "CONFIRMATION_WALLET_ACCOUNT": "<b class=\"assertive\">Averto:</b> la sekreta identigilo kaj la pasvorto ne plu povos esti modifitaj.<br/><br/><b>Certiĝu, ke vi ĉiam rememorigos ĝin!</b><br/><br/><b>Ĉu vi certas</b>, ke vi deziras daŭrigi per tiuj ĉi identigiloj?", + "CHECKING_PSEUDO": "Kontrolo...", + "PSEUDO_AVAILABLE": "Pseŭdonimo disponebla", + "PSEUDO_NOT_AVAILABLE": "Pseŭdonimo ne disponebla", + "INFO_LICENSE": "Antaŭ ol krei membro-konton, <b>bonvolu legi kaj akcepti la licencon</b> pri uzado de la mono:", + "BTN_ACCEPT": "Mi akceptas", + "BTN_ACCEPT_LICENSE": "Mi akceptas la licencon" + }, + "POPUP_REGISTER": { + "TITLE": "Elektu pseŭdonimon", + "HELP": "Pseŭdonimo estas deviga por fariĝi membro." + }, + "SELECT_IDENTITY_MODAL": { + "TITLE": "Elekto de la identeco", + "HELP": "Pluraj <b>malsamaj identecoj</b> estis senditaj, por la publika ŝlosilo <span class=\"gray\"><i class=\"ion-key\"></i> {{pubkey|formatPubkey}}</span>.<br/>Bonvolu elekti la dosierujon uzotan:" + }, + "SELECT_WALLET_MODAL": { + "TITLE": "Elekto de la monujo" + }, + "WALLET_LIST": { + "TITLE": "Miaj monujoj", + "BTN_NEW": "Aldoni monujon", + "BTN_DOWNLOAD": "Elŝuti la liston", + "BTN_IMPORT_FILE_DOTS": "Enporti el dosiero...", + "NO_WALLET": "Neniu kroma monujo", + "BTN_DELETE": "Forigi kroman monujon...", + "BTN_RENAME": "Renomi la monujon", + "EXPORT_FILENAME": "miaj_monujoj-{{pubkey|formatPubkey}}-{{currency}}.csv", + "TOTAL_DOTS": "Sumo: ", + "EDIT_POPOVER": { + "TITLE": "Renomi la monujon", + "HELP": "Sciigu la novan nomon", + "NAME_HELP": "Nomo de la monujo" + }, + "IMPORT_MODAL": { + "TITLE": "Enporti monujojn", + "HELP": "Por <b>enporti monujojn</b>, bonvolu glitigi en la ĉi-suban zonon la dosieron pri la listo de monujoj, aŭ alklaki la zonon por serĉadi dosieron.", + "WALLET_COUNT": "<b>{{count}}</b> nova{{count > 1 ? 'j' : ''}} monujo{{count > 1 ? 'j' : ''}}", + "NO_NEW_WALLET": "Neniu nova monujo" + } + }, + "SECURITY": { + "ADD_QUESTION": "Aldoni personigitan demandon", + "BTN_CLEAN": "Malplenigi", + "BTN_RESET": "Restartigi", + "DOWNLOAD_REVOKE": "Konservi mian dosieron pri nuligo", + "DOWNLOAD_REVOKE_HELP": "Disponi dosieron pri nuligo estas grave, ekzemple kaze de perdo de viaj identigiloj. Ĝi ebligas al vi <b>elirigi tiun konton el la reto de fido</b>, tiel ke ĝi refariĝu simpla monujo.", + "GENERATE_KEYFILE": "Krei mian dosieron pri ŝlosilaro...", + "GENERATE_KEYFILE_HELP": "Kreas dosieron, kiu ebligas al vi aŭtentiĝi sen tajpi viajn identigilojn.<br/><b>Atenton:</b> tiu dosiero entenos vian konto-ŝlosilaron (publikan kaj sekretan ŝlosilojn); do tre gravas meti ĝin en sekuran lokon!", + "KEYFILE_FILENAME": "ŝlosilaro-{{pubkey|formatPubkey}}-{{currency}}-{{format}}.dunikey", + "MEMBERSHIP_IN": "Transformi en membro-konton...", + "MEMBERSHIP_IN_HELP": "Ebligas <b>transformi</b> simplan monujo-konton <b>en membro-konton</b>, sendante aliĝo-peton. Utilas nur se vi ne havas jam alian membro-konton.", + "SEND_IDENTITY": "Publikigi sian identecon...", + "SEND_IDENTITY_HELP": "Ebligas kunligi pseŭdonimon kun tiu ĉi konto, sed <b>sen fari aliĝo-peton</b> por iĝi membro. Tiu kunligo kutime ne utilas, ĉar la valideco de tiu kunligo de pseŭdonimo estas limigita en la tempo.", + "HELP_LEVEL": "Por krei konserv-dosieron pri viaj identigiloj, elektu <strong> almenaŭ {{nb}} demandojn:</strong>", + "LEVEL": "Nivelo de sekureco", + "LOW_LEVEL": "Malforta <span class=\"hidden-xs\">(2 demandoj minimume)</span>", + "MEDIUM_LEVEL": "Meza <span class=\"hidden-xs\">(4 demandoj minimume)</span>", + "QUESTION_1": "Kiel nomiĝis via plej bona amik.in.o, kiam vi estis adoleskant.in.o?", + "QUESTION_2": "Kiel nomiĝis via unua hejm-besto?", + "QUESTION_3": "Kiun pladon vi unue lernis kuiradi?", + "QUESTION_4": "Kiun filmon vi unue spektis en kinejo?", + "QUESTION_5": "Kien vi iris la unuan fojon, kiam vi vojaĝis per aviadilo?", + "QUESTION_6": "Kiel nomiĝis via preferata instruist.i.no en bazlernejo?", + "QUESTION_7": "Kio estus laŭ vi la ideala profesio?", + "QUESTION_8": "Kiun libron por infanoj vi preferas?", + "QUESTION_9": "Kio estis la marko de via unua veturilo?", + "QUESTION_10": "Kio estis via kromnomo, kiam vi estis infano?", + "QUESTION_11": "Kiun rolant.in.on aŭ aktor.in.on vi preferis en kino, kiam vi estis student.in.o?", + "QUESTION_12": "Kiun kanzonist.ino.n aŭ muzikgrupon vi preferis, kiam vi estis student.in.o?", + "QUESTION_13": "En kiu urbo renkontiĝis viaj gepatroj?", + "QUESTION_14": "Kiel nomiĝis via unua ĉefo?", + "QUESTION_15": "Kiel nomiĝas la strato, kie vi kreskis?", + "QUESTION_16": "Kiel nomiĝas la marbordo, kie vi unuafoje baniĝis?", + "QUESTION_17": "Kiun muzik-albumon vi unuafoje aĉetis?", + "QUESTION_18": "Kiel nomiĝas via preferata sporto-teamo?", + "QUESTION_19": "Kio estis la profesio de via avo?", + "RECOVER_ID": "Retrovi mian pasvorton...", + "RECOVER_ID_HELP": "Se vi disponas <b>konserv-dosieron pri viaj identigiloj</b>, vi povas retrovi ilin respondante ĝuste viajn personajn demandojn.", + "RECOVER_ID_SELECT_FILE": "Elektu la uzotan <b>konserv-dosieron pri viaj identigiloj</b>:", + "REVOCATION_WITH_FILE": "Nuligi mian membro-konton...", + "REVOCATION_WITH_FILE_DESCRIPTION": "Se vi <b>definitive perdis viajn identigilojn</b> pri via membro-konto (aŭ ke la sekureco de la konto estas endanĝerigita), vi povas uzi <b>la dosieron pri nuligo</b> de la konto por <b>trudi ties definitivan eliradon el la reto de fido</b>.", + "REVOCATION_WITH_FILE_HELP": "Por <b>definitive nuligi</b> membro-konton, bonvolu glitigi en la ĉi-suban zonon vian dosieron pri nuligo, aŭ alklaki la zonon por serĉadi dosieron.", + "REVOCATION_WALLET": "Nuligi tiun ĉi konton tuj", + "REVOCATION_WALLET_HELP": "Peti la nuligon de via identeco estigas la <b>eliradon el la reto de fido</b> (definitivan por la pseŭdonimo kaj la publika ŝlosilo kunligitaj). La konto ne plu povos produkti Universalan Dividendon.<br/>Vi tamen daŭre povos konektiĝi al ĝi, kiel al simpla monujo.", + "REVOCATION_FILENAME": "nuligo-{{uid}}-{{pubkey|formatPubkey}}-{{currency}}.txt", + "SAVE_ID": "Konservi miajn identigilojn...", + "SAVE_ID_HELP": "Kreado de konserv-dosiero, por <b>retrovi vian pasvorton</b> (kaj la sekretan identigilon) <b>kaze de forgeso</b>. La dosiero estas <b>sekurigita</b> (ĉifrita) dank'al personaj demandoj.", + "STRONG_LEVEL": "Forta <span class=\"hidden-xs \">(6 demandoj minimume)</span>", + "TITLE": "Konto kaj sekureco", + "KEYFILE": { + "PUBSEC_FORMAT": "Strukturo PubSec.", + "PUBSEC_FORMAT_HELP": "Tiu strukturo stokas vian ŝlosilaron laŭ tre simpla maniero. Ĝi kongruas aparte kun Cesium, ğannonce kaj Duniter.<br/><b>Atenton:</b>La dosiero <b>ne estas ĉifrita</b> (la sekreta ŝlosilo klare aperas en ĝi); bonvolu do stoki ĝin en sekura loko!", + "WIF_FORMAT": "Strukturo WIF (Wallet Import Format) - v1", + "WIF_FORMAT_HELP": "Tiu strukturo stokas vian ŝlosilaron inkluzivante en ĝin kontrol-sumon por kontroli la sendifektecon de la dosiero. Ĝi kongruas aparte kun la paper-monujoj (Duniter paper wallet).<br/><b>Atenton:</b>La dosiero <b>ne estas ĉifrita</b> (la sekreta ŝlosilo klare aperas en ĝi); bonvolu do stoki ĝin en sekura loko!", + "EWIF_FORMAT": "Strukturo EWIF (Encrypted Wallet Import Format) - v1", + "EWIF_FORMAT_HELP": "Tiu strukturo stokas vian ŝlosilaron <b>laŭ ĉifrita maniero</b> dank'al sekreta frazo elektita de vi. Ĝi ankaŭ inkluzivas kontrol-sumon por kontroli la sendifektecon de la dosiero.<br/><b>Atenton:</b> Zorgu, ke vi ĉiam rememoru vian sekretan frazon!", + "PASSWORD_POPUP": { + "TITLE": "Ĉifrita dosiero pri ŝlosilaro", + "HELP": "Bonvolu indiki la la sekretan frazon:", + "PASSWORD_HELP": "Sekreta frazo" + }, + "ERROR": { + "BAD_PASSWORD": "Sekreta frazo malĝusta", + "BAD_CHECKSUM": "Kontrol-sumo malĝusta" + } + } + }, + "FILE_NAME": "{{currency}} - Konto-tabelo {{pubkey|formatPubkey}} je {{currentTime|formatDateForFile}}.csv", + "HEADERS": { + "TIME": "Dato", + "AMOUNT": "Sumo", + "COMMENT": "Komento" + } + }, + "TRANSFER": { + "TITLE": "Elspezo", + "SUB_TITLE": "Fari elspezon", + "SUB_TITLE_ALL": "Malplenigi la konton", + "FROM": "De", + "TO": "Al", + "AMOUNT": "Sumo", + "AMOUNT_HELP": "Sumo", + "COMMENT": "Komento", + "COMMENT_HELP": "Komento", + "BTN_SEND": "Sendi", + "BTN_ADD_COMMENT": "Aldoni komenton", + "REST": "Resto de la konto", + "REST_TO": "al", + "WARN_COMMENT_IS_PUBLIC": "Bonvolu noti, ke <b>la komentoj estas publikaj</b> (ne ĉifritaj).", + "MODAL": { + "TITLE": "Elspezo" + } + }, + "ERROR": { + "UNKNOWN_URI_FORMAT": "URI-strukturo nekonata", + "PUBKEY_INVALID_CHECKSUM": "Publika ŝlosilo nevalida (bad checksum).", + "POPUP_TITLE": "Eraro", + "UNKNOWN_ERROR": "Eraro nekonata", + "CRYPTO_UNKNOWN_ERROR": "Via retumilo ŝajnas ne kongrua kun la kriptografiaj funkcioj.", + "DOWNLOAD_KEYFILE_FAILED": "Malsukceso por la kreado de la dosiero pri ŝlosilaro.", + "EQUALS_TO_PSEUDO": "Devas esti malsama ol la pseŭdonimo", + "EQUALS_TO_SALT": "Devas esti malsama ol la sekreta identigilo", + "FIELD_REQUIRED": "Deviga kampo", + "FIELD_TOO_SHORT": "Signaro tro mallonga", + "FIELD_TOO_SHORT_WITH_LENGTH": "Signaro tro mallonga ({{minLength}} signoj minimume)", + "FIELD_TOO_LONG": "Signaro tro longa", + "FIELD_TOO_LONG_WITH_LENGTH": "Signaro tro longa ({{maxLength}} signoj maksimume)", + "FIELD_MIN": "Minimuma longeco: {{min}}", + "FIELD_MAX": "Maksimuma longeco: {{max}}", + "FIELD_ACCENT": "Diakritaj literoj kaj komoj ne permesataj", + "FIELD_NOT_NUMBER": "Nombra valoro atendata", + "FIELD_NOT_INT": "Entjera nombro atendata", + "FIELD_NOT_EMAIL": "Retadreso nevalida", + "PASSWORD_NOT_CONFIRMED": "Ne kongruas kun la pasvorto", + "SALT_NOT_CONFIRMED": "Ne kongruas kun la sekreta identigilo", + "SEND_IDENTITY_FAILED": "Aliĝo malsukcesa", + "SEND_CERTIFICATION_FAILED": "Atestado malsukcesa", + "NEED_MEMBER_ACCOUNT_TO_CERTIFY": "Vi ne povas efektivigi atestadon, ĉar via konto <b>ne estas membro</b>.", + "NEED_MEMBER_ACCOUNT_TO_CERTIFY_HAS_SELF": "Vi ne povas efektivigi atestadon, ĉar via konto ankoraŭ ne estas membro.<br/><br/>Ankoraŭ mankas al vi atestaĵoj, aŭ tiuj ĉi ankoraŭ ne estis validigitaj.", + "IDENTITY_TO_CERTIFY_HAS_NO_SELF": "Konto ne atestebla. Neniu aliĝo-peto estis farita, aŭ la aliĝo ne estis revalidigita.", + "LOGIN_FAILED": "Eraro dum konektiĝo.", + "LOAD_IDENTITY_FAILED": "Eraro por ŝarĝi la identecon.", + "LOAD_REQUIREMENTS_FAILED": "Eraro por ŝarĝi la antaŭ-necesaĵoj de la identeco.", + "SEND_MEMBERSHIP_IN_FAILED": "Malsukceso pri la provado eniri la komunumon.", + "SEND_MEMBERSHIP_OUT_FAILED": "Malsukceso pri la ĉesigo de la aliĝo.", + "REFRESH_WALLET_DATA": "Malsukceso pri la ĝisdatigo de la monujo.", + "GET_CURRENCY_PARAMETER": "Malsukceso por ricevi la regulojn de la mono.", + "GET_CURRENCY_FAILED": "Ne eblis ŝarĝi la monon. Bonvolu reprovi pli poste.", + "SEND_TX_FAILED": "Elspezado malsukcesa.", + "ALL_SOURCES_USED": "Bonvolu atendi la kalkulon de la venonta bloko (ĉiuj viaj monfontoj estis uzitaj).", + "NOT_ENOUGH_SOURCES": "Ne sufiĉe da mono por sendi tiun ĉi sumon per ununura spezo.<br/>Maksimuma sumo: {{amount}} {{unit}}<sub>{{subUnit}}</sub>.", + "ACCOUNT_CREATION_FAILED": "Malsukceso por krei la membro-konton.", + "RESTORE_WALLET_DATA_ERROR": "Malsukceso por reŝarĝi la parametrojn de la loka stokaĵo", + "LOAD_WALLET_DATA_ERROR": "Malsukceso por ŝarĝi la datenojn de la monujo.", + "COPY_CLIPBOARD_FAILED": "Ne eblis kopii la valoron.", + "TAKE_PICTURE_FAILED": "Malsukceso por ricevi la foton.", + "SCAN_FAILED": "Malsukceso por skani la QR-kodon.", + "SCAN_UNKNOWN_FORMAT": "Kodo nerekonata.", + "WOT_LOOKUP_FAILED": "Serĉado malsukcesa.", + "LOAD_PEER_DATA_FAILED": "Ne eblis legi la nodon Duniter. Bonvolu reprovi poste.", + "NEED_LOGIN_FIRST": "Bonvolu unue konektiĝi.", + "AMOUNT_REQUIRED": "La monsumo estas deviga.", + "AMOUNT_NEGATIVE": "Negativa sumo nepermesata.", + "NOT_ENOUGH_CREDIT": "Saldo nesufiĉa.", + "INVALID_NODE_SUMMARY": "Nodo neatingebla aŭ adreso nevalida.", + "INVALID_USER_ID": "La pseŭdonimo devas enteni nek spacon nek signon specialan aŭ kun supersigno.", + "INVALID_COMMENT": "La kampo 'referenco' ne devas enteni literojn kun supersigno.", + "INVALID_PUBKEY": "La publika ŝlosilo ne havas la atenditan strukturon.", + "INVALID_PUBKEY_CHECKSUM": "Kontrol-sumo nevalida.", + "IDENTITY_REVOKED": "Tiu ĉi identeco <b>estis nuligita</b>. Ĝi ne plu povas fariĝi membro.", + "IDENTITY_REVOKED_WITH_TIME": "Tiu ĉi identeco <b>estis nuligita {{revocationTime|medianFromNow}}</b> ({{revocationTime|medianDate}}). Ĝi ne plu povas fariĝi membro.", + "IDENTITY_PENDING_REVOCATION": "La <b>nuligo de tiu ĉi identeco</b> estis petita kaj atendas traktadon. La atestado estas do malaktivigita.", + "IDENTITY_INVALID_BLOCK_HASH": "Tiu ĉi aliĝo-peto ne plu validas (ĉar ĝi rilatas al bloko, kiun nuligis la nodoj de la reto): tiu persono devas refari sian aliĝo-peton <b>antaŭ ol</b> esti atestita.", + "IDENTITY_EXPIRED": "La publikigo de tiu ĉi identeco finiĝis: tiu persono devas fari novan aliĝo-peton <b>antaŭ ol</b> esti atestita.", + "IDENTITY_SANDBOX_FULL": "La nodo Duniter uzata de Cesium ne plu povas ricevi novajn identecojn, ĉar ĝia atendo-vico estas plena.<br/><br/>Bonvolu reprovi poste aŭ ŝanĝi la nodon (per la menuo <b>Parametroj</b>).", + "IDENTITY_NOT_FOUND": "Identeco ne trovita.", + "IDENTITY_TX_FAILED": "Malsukceso por ŝarĝi la spezojn.", + "WOT_PENDING_INVALID_BLOCK_HASH": "Aliĝo ne valida.", + "WALLET_INVALID_BLOCK_HASH": "Via aliĝo-peto ne plu validas (ĉar ĝi rilatas al bloko, kiun nuligis la nodoj de la reto).<br/>Vi devas <a ng-click=\"doQuickFix('fixMembership')\">sendi novan peton</a> por solvi tiun ĉi problemon.", + "WALLET_IDENTITY_EXPIRED": "La publikigo de <b>via identeco finiĝis</b>.<br/>Vi devas <a ng-click=\"doQuickFix('fixIdentity')\">publikigi denove vian identecon</a> por solvi tiun ĉi problemon.", + "WALLET_REVOKED": "Via identeco estis <b>nuligita</b>: nek via pseŭdonimo nek via publika ŝlosilo povos esti uzata en la estonteco por membro-konto.", + "WALLET_HAS_NO_SELF": "Via identeco devas unue esti publikigita, kaj ne esti finiĝinta.", + "AUTH_REQUIRED": "Aŭtentigado necesa.", + "AUTH_INVALID_PUBKEY": "La atendata ŝlosilo estas <i class=\"ion-key\"></i> {{pubkey|formatPubkey}}...", + "AUTH_INVALID_SCRYPT": "Identigilo aŭ pasvorto nevalida.", + "AUTH_INVALID_FILE": "Dosiero pri ŝlosilaro nevalida.", + "AUTH_FILE_ERROR": "Malsukceso por malfermi la dosieron pri ŝlosilaro.", + "IDENTITY_ALREADY_CERTIFY": "Vi <b>jam atestis</b> tiun identecon.<br/><br/>Tiu atestado daŭre validas (finiĝo {{expiresIn|formatDurationTo}}).", + "IDENTITY_ALREADY_CERTIFY_PENDING": "Vi <b>jam atestis</b> tiun identecon.<br/><br/>Tiu atestado atendas traktadon (limdato de traktado {{expiresIn|formatDurationTo}}).", + "UNABLE_TO_CERTIFY_TITLE": "Atestado neebla", + "LOAD_NEWCOMERS_FAILED": "Malsukceso por ŝarĝi la novajn membrojn.", + "LOAD_PENDING_FAILED": "Malsukceso por ŝarĝi la atendantajn aliĝojn.", + "ONLY_MEMBER_CAN_EXECUTE_THIS_ACTION": "Vi devas <b>esti membro</b> por rajti efektivigi tiun ĉi agon.", + "ONLY_MEMBER_OR_WAS_MEMBER_CAN_EXECUTE_THIS_ACTION": "Vi devas <b>esti membro (aŭ eksa membro)</b> por rajti efektivigi tiun ĉi agon.", + "ONLY_SELF_CAN_EXECUTE_THIS_ACTION": "Via identeco devas <b>jam esti publikigita</b>, por ke vi rajtu efektivigi tiun ĉi agon.", + "GET_BLOCK_FAILED": "Malsukceso por ricevi la blokon.", + "INVALID_BLOCK_HASH": "Bloko ne trovita (haketo malsama)", + "DOWNLOAD_REVOCATION_FAILED": "Malsukceso por elŝuti la dosieron pri nuligo.", + "REVOCATION_FAILED": "Malsukceso pri nuligo.", + "SALT_OR_PASSWORD_NOT_CONFIRMED": "Sekreta identigilo aŭ pasvorto malĝusta.", + "RECOVER_ID_FAILED": "Malsukceso por ricevi la identigilojn", + "LOAD_FILE_FAILED" : "Malsukceso por ŝarĝi la dosieron", + "NOT_VALID_REVOCATION_FILE": "Dosiero pri nuligo ne valida (malĝusta strukturo de dosiero)", + "NOT_VALID_SAVE_ID_FILE": "Dosiero pri konservado ne valida (malĝusta strukturo de dosiero)", + "NOT_VALID_KEY_FILE": "Dosiero pri ŝlosilaro ne valida (strukturo ne rekonata)", + "EXISTING_ACCOUNT": "Viaj identigiloj rilatas al jam ekzistanta konto, kies <a ng-click=\"showHelpModal('pubkey')\">publika ŝlosilo</a> estas:", + "EXISTING_ACCOUNT_REQUEST": "Bonvolu modifi viajn identigilojn, por ke ili rilatu al ne uzata konto.", + "GET_LICENSE_FILE_FAILED": "La ricevo de la dosiero pri licenco ne eblis.", + "CHECK_NETWORK_CONNECTION": "Neniu nodo ŝajnas atingebla.<br/><br/>Bonvolu <b>kontroli vian retkonekton</b>.", + "ISSUE_524_TX_FAILED": "Malsukcesa elspezo.<br/><br/>Mesaĝo estis sendita al la programistoj por faciligi la solvadon de la problemo. <b>Dankon pro via helpo</b>.", + "ADD_SECONDARY_WALLET_FAILED": "Malsukceso por aldoni kroman monujon.", + "REMOVE_SECONDARY_WALLET_FAILED": "Malsukceso por forigi la kroman monujon.", + "UPDATE_WALLET_LIST_FAILED": "Malsukceso por ĝisdatigi la kromajn monujojn.", + "LOAD_WALLET_LIST_FAILED": "Malsukceso por ŝarĝi la kromajn monujojn.", + "SAVE_WALLET_LIST_FAILED": "Malsukceso por konservi la kromajn monujojn.", + "COULD_NOT_ADD_MAIN_WALLET": "Tiu ĉi monujo <b>rilatas al la ĉefa konto</b>, kun kiu vi estas konektita.<br/>Ne eblas aldoni ĝin kiel kroman monujon.", + "COULD_NOT_ADD_EXISTING_WALLET": "Monujo jam ekzistanta en la listo.", + "UNKNOWN_WALLET_ID": "Kroma monujo nekonata.", + "RESTORE_WALLET_LIST_FAILED": "Malsukceso por restarigi la kromajn monujojn.", + "INVALID_FILE_FORMAT": "Strukturo de dosiero nevalida.", + "SAME_TX_RECIPIENT": "La adresito devas malsami ol la sendanto." + }, + "INFO": { + "POPUP_TITLE": "Informo", + "CERTIFICATION_DONE": "Atestaĵo sendita", + "NOT_ENOUGH_CREDIT": "Saldo nesufiĉa", + "TRANSFER_SENT": "Elspezo sendita", + "COPY_TO_CLIPBOARD_DONE": "Kopiita en la memoreto", + "MEMBERSHIP_OUT_SENT": "Eksiĝo sendita", + "NOT_NEED_MEMBERSHIP": "Vi jam estas membro.", + "IDENTITY_WILL_MISSING_CERTIFICATIONS": "Al tiu ĉi identeco baldaŭ mankos atestaĵoj (almenaŭ {{willNeedCertificationCount}}).", + "IDENTITY_NEED_MEMBERSHIP": "Tiu ĉi identeco ne sendis aliĝo-peton. Tion ĝi devos fari, se ĝi deziras fariĝi membro.", + "HAS_ALTERNATIVE_IDENTITIES": "Ekzistas <b>pluraj identecoj</b> ligitaj kun tiu ĉi publika ŝlosilo. <b>Antaŭ ĉia atestado</b>, pensu <a ng-click=\"doQuickFix('showSelectIdentities')\">trarigardi la aliajn identecojn</a> por elekti la ĝustan, aŭ kontaktu la posedanton de la konto.", + "REVOCATION_SENT": "Nuligo sendita", + "REVOCATION_SENT_WAITING_PROCESS": "La <b>nuligo de tiu ĉi identeco</b> estis petita kaj atendas traktadon.", + "FEATURES_NOT_IMPLEMENTED": "Tiu ĉi funkciaro ankoraŭ estas programiĝanta.<br/>Kial ne <b>kontribui al Cesium</b>, por ekhavi ĝin pli rapide? ;)", + "EMPTY_TX_HISTORY": "Neniu spezo elportota" + }, + "CONFIRM": { + "CAN_CONTINUE": "<b>Ĉu vi certas</b>, ke vi volas daŭrigi?", + "POPUP_TITLE": "<b>Konfirmo</b>", + "POPUP_WARNING_TITLE": "<b>Averto</b>", + "POPUP_SECURITY_WARNING_TITLE": "<i class=\"icon ion-alert-circled\"></i> <b>Averto pri sekureco</b>", + "CERTIFY_RULES_TITLE_UID": "Atesti {{uid}}", + "CERTIFY_RULES": "<b class=\"assertive\">NE atestu</b> konton, se vi pensas ke:<br/><br/><ul><li>1.) ĝi ne rilatas al persono <b>fizika kaj vivanta</b>.<li>2.) ĝia posedanto <b>havas alian konton</b> jam atestitan.<li>3.) ĝia posedanto malobservas (vole aŭ ne) la regulon 1 aŭ 2 (ekzemple atestante falsajn kontojn aŭ duoblajn).</ul><br/><b>Ĉu vi certas,</b> ke vi tamen volas atesti tiun ĉi identecon?", + "FULLSCREEN": "Afiŝi la programon plen-ekrane?", + "EXIT_APP": "Fermi la programon?", + "TRANSFER": "<b>Resumo de la elspezo</b> :<br/><br/><ul><li> - De: {{from}}</li><li> - Al: <b>{{to}}</b></li><li> - Sumo: <b>{{amount}} {{unit}}</b></li><li> - Komento: <i>{{comment}}</i></li></ul><br/><b>Ĉu vi certas, ke vi volas efektivigi tiun ĉi elspezon?</b>", + "TRANSFER_ALL": "<b>Resumo de la elspezo</b>:<br/><br/><ul><li> - De : {{from}}</li><li> - Al : <b>{{to}}</b></li><li> - Sumo: <b>{{amount}} {{unit}}</b></li><li> - Komento: <i>{{comment}}</i></li><br/><li> - Resto: <b>{{restAmount}} {{unit}}</b> al <b>{{restTo}}</b></li></ul><br/><b>Ĉu vi certas, ke vi volas efektivigi tiun ĉi elspezon?</b>", + "MEMBERSHIP_OUT": "Tiu ĉi ago estas <b>neinversigebla</b>.<br/></br/>Ĉu vi certas, ke vi volas <b>nuligi vian membro-konton</b>?", + "MEMBERSHIP_OUT_2": "Tiu ĉi ago estas <b>neinversigebla</b> !<br/><br/>Ĉu vi vere certas, ke vi volas <b>nuligi vian aliĝon</b> kiel membron?", + "LOGIN_UNUSED_WALLET_TITLE": "Tajperaro?", + "LOGIN_UNUSED_WALLET": "La konektita konto ŝajnas <b>neaktiva</b>.<br/><br/>Temas probable pri <b>tajperaro</b> en viaj konekto-identigiloj. Bonvolu rekomenci, kontrolante ke <b>la publika ŝlosilo estas tiu de via konto</b>.", + "FIX_IDENTITY": "La pseŭdonimo <b>{{uid}}</b> estos denove publikigita, anstataŭigante la malnovan publikigon, kiu finiĝis.<br/></br/><b>Ĉu vi certas</b>, ke vi volas daŭrigi?", + "FIX_MEMBERSHIP": "Via aliĝo-peto kiel membro tuj estos resendita.<br/></br/><b>Ĉu vi certas</b>, ke vi volas daŭrigi?", + "MEMBERSHIP": "Via aliĝo-peto kiel membro tuj estos sendita.<br/></br/><b>Ĉu vi certas</b>, ke vi volas daŭrigi?", + "RENEW_MEMBERSHIP": "Via aliĝo kiel membro tuj estos revalidigita.<br/></br/><b>Ĉu vi certas</b>, ke vi volas daŭrigi?", + "REVOKE_IDENTITY": "Vi estas <b>nuligonta definitive tiun ĉi identecon</b>.<br/><br/>La publika ŝlosilo kaj la ligita pseŭdonimo <b>neniam plu povos esti uzataj</b> (por membro-konto). <br/></br/><b>Ĉu vi certas</b>, ke vi volas definitive nuligi tiun ĉi konton?", + "REVOKE_IDENTITY_2": "Tiu ĉi ago estas <b>neinversigebla</b>!<br/><br/>Ĉu vi vere certas, ke vi volas <b>definitive nuligi</b> tiun ĉi konton?", + "NOT_NEED_RENEW_MEMBERSHIP": "Via aliĝo ne bezonas esti revalidigita (ĝi finiĝos nur post {{membershipExpiresIn|formatDuration}}).<br/></br/><b>Ĉu vi certas</b>, ke vi volas revalidigi vian aliĝon?", + "SAVE_BEFORE_LEAVE": "Ĉu vi volas <b>konservi viajn modifojn</b> antaŭ ol eliri el la paĝo?", + "SAVE_BEFORE_LEAVE_TITLE": "Modifoj ne registritaj", + "LOGOUT": "Ĉu vi certas, ke vi volas malkonektiĝi?", + "USE_FALLBACK_NODE": "Nodo <b>{{old}}</b> neatingebla aŭ adreso nevalida.<br/><br/>Ĉu vi volas provizore uzi la nodon <b>{{new}}</b> ?", + "ISSUE_524_SEND_LOG": "La spezo estis forĵetita, pro konata anomalio (petslipo #524) sed <b>ne ripetita</b>.<br/><br/>Por helpi la programistojn korekti tiun eraron, <b>ĉu vi akceptas la sendadon de viaj protokolaj dosieroj</b> per mesaĝo?<br/><small>(neniu konfidenca dateno estas sendita)</small>." + }, + "MODE": { + "DEMO": { + "BADGE": "Provo", + "MODE": "Provmontra moduso", + "FEATURE_NOT_AVAILABLE": "Funkcio <b>ne disponebla</b> en tiu ĉi provmontra retejo.", + "MODE_HELP": "Cesium funkcias en <b>provmontra moduso</b>: Konsultado de konto eblas, sed neniu operacio povos esti registrita.", + "INSTALL_HELP": "Pro <b>sekurecaj kialoj</b> ni rekomendas al vi <b>instali</b> vian kopion de la programo Cesium. Vizitu la retejon <a href='https://cesium.app'>www.cesium.app</a> por ricevi helpon." + }, + "READONLY": { + "BADGE": "Observo", + "MODE": "Observada moduso", + "MODE_HELP": "Cesium funkcias en <b>observada moduso</b>: disponeblas nur la funkciaro pri observado de la valuto.", + "INSTALL_HELP": "Se vi deziras <b>krei monuj-konton</b> por sendi aŭ ricevi monon, ni rekomendas al vi <b>instali vian kopion</b> de la programo Cesium. Vizitu la retejon <a href='https://cesium.app'>www.cesium.app</a> por ricevi helpon." + } + }, + "DOWNLOAD": { + "POPUP_TITLE": "<b>Dosiero pri nuligo</b>", + "POPUP_REVOKE_MESSAGE": "Por sekurigi vian konton, bonvolu elŝuti la <b>dokumenton pri konto-nuligo</b>. Ĝi ebligos al vi eventuale nuligi vian konton (kaze de konto-ŝtelo, ŝanĝo de identigilo, konto erare kreita, ktp.).<br/><br/><b>Bonvolu stoki ĝin en sekura loko.</b>" + }, + "HELP": { + "TITLE": "Ret-helpo", + "JOIN": { + "SECTION": "Enskribiĝo", + "SALT": "La sekreta identigilo estas tre grava. Ĝi utilas por miksi la pasvorton, antaŭ ol ĝi servos por kalkuli la <span class=\"text-italic\">publikan ŝlosilon</span> de via konto (ties numeron) kaj la sekretan ŝlosilon por aliri ĝin.<br/><b>Zorgu pri ĝia bona memorigado</b>, ĉar neniu rimedo estas nuntempe planita por retrovi ĝin kaze de perdo.<br/>Krom tio, ĝi ne povas esti modifita sen devige krei novan konton.<br/><br/>Bona sekreta identigilo devas esti sufiĉe longa (kun almenaŭ 8 signoj) kaj kiel eble plej originala.", + "PASSWORD": "La pasvorto estas tre grava. Kun la sekreta identigilo, ĝi servas por kalkuli la numeron (la publikan ŝlosilon) de via konto, kaj la sekretan ŝlosilon por aliri ĝin.<br/><b>Zorgu pri ĝia bona memorigado</b>, ĉar neniu rimedo estas planita por retrovi ĝin kaze de perdo (krom se oni generas konserv-dosieron).<br/>Krom tio, ĝi ne povas esti modifita sen devige krei novan konton.<br/><br/>Bona pasvorto entenas (ideale) almenaŭ 8 signojn, inter kiuj estas almenaŭ unu majusklo kaj unu cifero.", + "PSEUDO": "La pseŭdonimo estas utila nur kaze de enskribiĝo kiel <span class=\"text-italic\">membro</span>. Ĝi ĉiam estas ligita kun monujo (tra ĝia <span class=\"text-italic\">publika ŝlosilo</span>).<br/>Ĝi estas publikigita en la reto, tiel ke la aliaj uzantoj povu identigi ĝin, atesti ĝin aŭ sendi monon al ĝia konto.<br/>Pseŭdonimo devas esti unika ene de la membroj (<u>nunaj</u> kaj eksaj)." + }, + "LOGIN": { + "SECTION": "Konekto", + "PUBKEY": "Publika ŝlosilo de la ŝlosilaro", + "PUBKEY_DEF": "La publika ŝlosilo de la ŝlosilaro estas kreita per la tajpitaj identigiloj (iuj ajn), sen ke ili necese rilatu al konto jam uzata.<br/><b>Atente kontrolu, ke la publika ŝlosilo estas tiu de via konto</b>. Alikaze, vi estos konektita al konto probable neniam uzita, la risko de kolizio kun ekzistanta konto estante tre eta.<br/><a href=\"https://fr.wikipedia.org/wiki/Cryptographie_asym%C3%A9trique\" target=\"_system\">Scii pli pri kriptografio</a> per publika ŝlosilo.", + "METHOD": "Konekto-metodoj", + "METHOD_DEF": "Pluraj eblecoj disponeblas por konekti vin al monujo:<br/> - La konekto <b>per salumado (simpla aŭ sperta)</b> miksas vian pasvorton dank'al la sekreta identigilo, por limigi la provojn de <a href=\"https://fr.wikipedia.org/wiki/Attaque_par_force_brute\" target=\"_system\">kodrompado per kruda forto</a> (ekzemple per konataj vortoj.<br/> - La konekto <b>per publika ŝlosilo</b> evitigas tajpi viajn identigilojn, kiuj estos petataj de vi, nur kiam venos la momento dum operacio ĉe la konto.<br/> - La konekto <b>per dosiero pri ŝlosilaro</b> legas la ŝlosilojn (publikan kaj privatan) de la konto, per dosiero, sen la bezono tajpi identigilojn. Pluraj strukturoj de dosiero eblas." + }, + "GLOSSARY": { + "SECTION": "Glosaro", + "PUBKEY_DEF": "Publika ŝlosilo identigas monujon, kiu povas identigi membron aŭ rilati al anonima monujo. Ĉe Cesium la publika ŝlosilo estas kalkulita (implicite) dank'al la sekreta identigilo kaj la pasvorto.<br/><a href=\"https://fr.wikipedia.org/wiki/Cryptographie_asym%C3%A9trique\" target=\"_system\">Scii pli pri kriptografio</a> per publika ŝlosilo.", + "MEMBER": "Membro", + "MEMBER_DEF": "Membro estas homa persono fizika kaj vivanta, kiu deziras libere partopreni en la mona komunumo. Li/ŝi kunproduktas universalan dividendon, laŭ periodo kaj sumo tiel difinitaj kiel en la <span class=\"text-italic\">reguloj de la mono</span>", + "CURRENCY_RULES": "Reguloj de la mono", + "CURRENCY_RULES_DEF": "La reguloj de la mono estas difinitaj definitive. Ili fiksas la funkciadon de la mono: la kalkulon de la universala dividendo, la nombron de necesaj atestaĵoj por esti membro, la maksimuman nombron da atestaĵoj, kiujn povas doni unu membro, ktp. <a href=\"#/app/currency\">Vidi la nuntempajn regulojn</a>.<br/>La nemodifo de la reguloj tra la tempo eblas per uzado de <span class=\"text-italic\">Blokĉeno</span>, kiu entenas kaj plenumas tiujn regulojn, kaj konstante kontrolas ties ĝustan aplikadon.", + "BLOCKCHAIN": "Ĉeno de blokoj (<span class=\"text-italic\">Blokchain/Blokĉeno</span>)", + "BLOCKCHAIN_DEF": "La Blokĉeno estas malcentrigita sistemo, kiu, kaze de Duniter, servas por enteni kaj plenumi la <span class=\"text-italic\">regulojn de la mono</span>.<br/><a href=\"https://duniter.org/fr/comprendre/\" target=\"_system\">Scii pli pri Duniter</a> kaj la funkciado de ties blokĉeno.", + "UNIVERSAL_DIVIDEND_DEF": "La Universala Dividendo (UD) estas la kvanto de mono kunkreita de ĉiu membro, laŭ la periodo kaj kalkulo difinitaj en la <span class=\"text-italic\">reguloj de la mono</span>.<br/>Por ĉiu perioda dato, la membroj ricevas en sian konton la saman kvanton da nova mono.<br/><br/>La UD spertas regulan kreskon, por resti justa inter la membroj (nunaj kaj venontaj), kalkulitan depende de la meza vivespero, kiel estas demonstrite en la Teorio Relativa pri la Mono (TRM).<br/><a href=\"http://trm.creationmonetaire.info\" target=\"_system\">Scii pli pri la TRM</a> kaj la liberaj monoj.", + "WOT": "Reto de Fido (RdF)", + "WOT_DEF": "La Reto de Fido konsistas el la tuto de la membroj de la mono, kaj el la atesto-ligoj, kiuj kunligas ilin.", + "DISTANCE_RULE": "Regulo pri distanco", + "DISTANCE_RULE_DEF": "La regulo pri distanco de la Reto de Fido difinas <b>maksimuman distancon nepran</b> inter petanto kaj minimuma nombro da referencaj membroj (aŭ centraj membroj). Tiu distanco estas kalkulita uzante la ligojn inter atestaĵoj." + }, + "TIP": { + "MENU_BTN_CURRENCY": "La menuo <b>{{'MENU.CURRENCY'|translate}}</b> ebligas konsulti la <b>regulojn de la mono</b> kaj ties staton.", + "CURRENCY_WOT": "La <b>nombro de membroj</b> montras la gravecon de la komunumo kaj ebligas <b>sekvi ties evoluon</b>.", + "CURRENCY_MASS": "Sekvu ĉi tie la <b>ĉioman kvanton da mono</b> ekzistanta kaj ties <b>mezan distribuon</b> por membro.<br/><br/>Tio ĉi ebligas taksi la <b>gravecon de iu sumo</b>, kompare kun tio, kion <b>posedas la aliuloj</b> en sia konto (mezume).", + "CURRENCY_UNIT_RELATIVE": "La unuo uzata (“<b>{{'COMMON.UD'|translate}}<sub>{{currency|abbreviate}}</sub></b>”) signifas, ke la sumoj en {{currency|capitalize}} estis dividitaj per la <b> Universala Dividendo</b> (UD).<br/><br/><small>Tiu relativa unuo estas <b>trafa</b>, ĉar stabila malgraŭ la kvanto de mono, kiu kreskas seninterrompe.</small>", + "CURRENCY_CHANGE_UNIT": "La kromaĵo <b>{{'COMMON.BTN_RELATIVE_UNIT'|translate}}</b> ebligas <b>ŝanĝi la unuon</b>, por vidigi la sumojn <b>rekte en {{currency|capitalize}}</b> (prefere ol en “<b>{{'COMMON.UD'|translate}}<sub>{{currency|abbreviate}}</sub></b>”).", + "CURRENCY_CHANGE_UNIT_TO_RELATIVE": "La kromaĵo <b>{{'COMMON.BTN_RELATIVE_UNIT'|translate}}</b> ebligas <b>ŝanĝi la unuon</b>, por vidigi la sumojn en “<b>{{'COMMON.UD'|translate}}<sub>{{currency|abbreviate}}</sub></b>”, tio estas rilate al la Universala Dividendo (la sumo kunproduktita de ĉiu membro).", + "CURRENCY_RULES": "La <b>reguloj</b> de la mono fiksas ties funkciadon <b>ĝustan kaj antaŭvideblan</b>.<br/><br/>Vera DNA de la mono, ili igas sian monan kodon <b>legebla kaj travidebla</b>.", + "MENU_BTN_NETWORK": "La menuo <b>{{'MENU.NETWORK'|translate}}</b> ebligas konsulti la staton de la reto.", + "NETWORK_BLOCKCHAIN": "Ĉiuj operacioj pri la mono estas registritaj en granda konto-libro <b>publika kaj nefalsigebla</b>, ankaŭ nomata <b>blokĉeno</b> (<em>BlockChain</em> en la angla).", + "NETWORK_PEERS": "La <b>nodoj</b> videblaj ĉi tie rilatas al la <b>komputiloj, kiuj ĝisdatigas kaj kontrolas</b> la blokĉenon.<br/><br/>Ju pli estas nodoj, des pli la mono havas administradon <b>malcentrigitan</b> kaj fidindan.", + "NETWORK_PEERS_BLOCK_NUMBER": "Tiu ĉi <b>numero</b> (verda) indikas la <b>lastan blokon validigitan</b> por tiu ĉi nodo (lasta paĝo skribita en la granda konto-libro).<br/><br/>La verda koloro indikas, ke tiu ĉi bloko estas validigita ankaŭ de <b>la plej multaj el la aliaj nodoj</b>.", + "NETWORK_PEERS_PARTICIPATE": "<b>Ĉiu membro</b>, ekipita per komputilo kun interreto, <b>povas partopreni aldonante nodon</b>. Sufiĉas <b>instali la programon Duniter</b> (libera kaj senpaga). <a href=\"{{installDocUrl}}\" target=\"_system\">Vidi la gvidilon pri instalado >></a>.", + "MENU_BTN_ACCOUNT": "La menuo <b>{{'MENU.ACCOUNT'|translate}}</b> ebligas aliri la administradon de via konto.", + "MENU_BTN_ACCOUNT_MEMBER": "Konsultu ĉi tie la staton de via konto kaj la informojn pri viaj atestaĵoj.", + "WALLET_CERTIFICATIONS": "Alklaku ĉi tien por konsulti la detalon pri viaj atestaĵoj (ricevitaj kaj senditaj).", + "WALLET_RECEIVED_CERTIFICATIONS": "Alklaku ĉi tien por konsulti la detalon pri viaj <b>ricevitaj atestaĵoj</b>.", + "WALLET_GIVEN_CERTIFICATIONS": "Alklaku ĉi tien por konsulti la detalon pri viaj <b>senditaj atestaĵoj</b>.", + "WALLET_BALANCE": "La <b>saldo</b> de via konto afiŝiĝas tie ĉi.", + "WALLET_BALANCE_RELATIVE": "{{'HELP.TIP.WALLET_BALANCE'|translate}}<br/><br/>La uzata unuo (“<b>{{'COMMON.UD'|translate}}<sub>{{currency|abbreviate}}</sub></b>”) signifas, ke la sumo en {{currency|capitalize}} estis dividita per la <b>Universala Dividendo</b> (UD) kunkreita de ĉiu membro.<br/><br/>Nuntempe 1 UD valoras {{currentUD|formatInteger}} {{currency|capitalize}}j.", + "WALLET_BALANCE_CHANGE_UNIT": "Vi povos <b>ŝanĝi la unuon</b> afiŝitan por la sumoj en la <b><i class=\"icon ion-android-settings\"></i> {{'MENU.SETTINGS'|translate}}</b>.<br/><br/>Ekzemple por vidigi la sumojn <b>rekte en {{currency|capitalize}}</b>, prefere ol en relativa unuo.", + "WALLET_PUBKEY": "Jen la publika ŝlosilo de via konto. Vi povas sciigi ĝin al aliulo, por ke li identigu pli simple vian konton.", + "WALLET_SEND": "Efektivigi pagon per kelkaj klakoj.", + "WALLET_SEND_NO_MONEY": "Efektivigi pagon per kelkaj klakoj.<br/>(Via saldo ankoraŭ ne permesas tion)", + "WALLET_OPTIONS": "Tiu ĉi butono ebligas aliri la <b>agojn pri aliĝo</b> kaj sekureco.<br/><br/>Ne forgesu okulumi al ĝi!", + "WALLET_RECEIVED_CERTS": "Afiŝiĝos ĉi tie la listo de la personoj, kiuj atestis vin.", + "WALLET_CERTIFY": "La butono <b>{{'WOT.BTN_SELECT_AND_CERTIFY'|translate}}</b> ebligas elekti identecon kaj atesti ĝin.<br/><br/>Nur uzantoj <b>jam membroj</b> povas atesti aliajn.", + "WALLET_CERT_STOCK": "Via stoko da atestaĵoj (senditaj) estas limigita je <b>{{sigStock}} atestaĵoj</b>.<br/><br/>Tiu stoko plu evoluas laŭ la tempo, samtempe kiam la atestaĵoj malvalidiĝas.", + "MENU_BTN_WALLETS": "La menuo <b>{{'MENU.WALLETS'|translate}}</b> ebligas aldoni kromajn monujojn, kiujn vi mastrumas.", + "MENU_BTN_TX": "La menuo <b>{{'MENU.TRANSACTIONS'|translate}}</b> ebligas konsulti vian saldon, la histori-liston de viaj spezoj, kaj sendi pagon.", + "MENU_BTN_WOT": "La menuo <b>{{'MENU.WOT'|translate}}</b> ebligas traserĉi inter la <b>uzantoj</b> de la mono (membroj aŭ ne).", + "WOT_SEARCH_TEXT_XS": "Por traserĉi en la kontaro, tajpu la <b>unuajn literojn de pseŭdonimo</b> (aŭ de publika ŝlosilo).<br/><br/>La serĉado ekos aŭtomate.", + "WOT_SEARCH_TEXT": "Por traserĉi en la kontaro, tajpu la <b>unuajn literojn de de pseŭdonimo</b> (aŭ de publika ŝlosilo). <br/><br/>Premu poste sur la klavon <b>Enigi</b> por ekigi la serĉadon.", + "WOT_SEARCH_RESULT": "Vidigu la detalan slipon simple <b>alklakante</b> linion.", + "WOT_VIEW_CERTIFICATIONS": "La linio <b>{{'ACCOUNT.CERTIFICATION_COUNT'|translate}}</b> montras kiom da membroj validigis tiun ĉi identecon.<br/><br/>Tiuj atestaĵoj pruvas, ke la konto apartenas al <b>persono homa kaj vivanta</b>, havanta <b>neniun alian membro-konton</b>.", + "WOT_VIEW_CERTIFICATIONS_COUNT": "Necesas almenaŭ <b>{{sigQty}} atestaĵoj</b> por fariĝi membro kaj ricevi la <b>Universalan Dividendon</b>.", + "WOT_VIEW_CERTIFICATIONS_CLICK": "Alklaki ĉi tien ebligas malfermi <b>la liston de ĉiuj atestaĵoj</b> de la identeco (ricevitaj kaj senditaj).", + "WOT_VIEW_CERTIFY": "La butono <b>{{'WOT.BTN_CERTIFY'|translate}}</b> ebligas aldoni vian atestaĵon al tiu identeco.", + "CERTIFY_RULES": "<b>Atenton:</b> Atestu nur <b>personojn fizikajn vivantajn</b>, posedantajn neniun alian membro-konton.<br/><br/>La sekureco de la mono dependas de ĉies atentego!", + "MENU_BTN_SETTINGS": "La <b>{{'MENU.SETTINGS'|translate}}</b> ebligos al vi agordi la programon.", + "HEADER_BAR_BTN_PROFILE": "Alklaku ĉi tien por aliri vian <b>uzanto-profilon.</b>", + "SETTINGS_CHANGE_UNIT": "Vi povos <b>ŝanĝi la afiŝ-unuon</b> de la sumoj alklakante ĉi-supren.<br/><br/>- Malaktivigu la kromaĵon por afiŝi sumojn en {{currency|capitalize}}.<br/>- Aktivigu la kromaĵon por relativa afiŝado en {{'COMMON.UD'|translate}}<sub>{{currency|abbreviate}}</sub> (ĉiuj sumoj estos <b>dividitaj</b> per la Universala Dividendo aktuala).", + "END_LOGIN": "Tiu ĉi gvidata vizito <b>finiĝis</b>!<br/><br/>Bonan daŭrigon al vi, en la nova mondo de la<b>libera ekonomio</b>!", + "END_NOT_LOGIN": "Tiu ĉi gvidata vizito <b>finiĝis</b>!<br/><br/>Se vi deziras partopreni en la mono {{currency|capitalize}}, sufiĉos al vi alklaki <b>{{'LOGIN.CREATE_FREE_ACCOUNT'|translate}}</b> ĉi-sube.", + "END_READONLY": "Tiu ĉi gvidata vizito <b>finiĝis</b>.<br/><br/>{{'MODE.READONLY.INSTALL_HELP'|translate}}." + } + }, + "API" :{ + "COMMON": { + "LINK_DOC": "Dokumentaro API", + "LINK_DOC_HELP": "Dokumentaro por la programistoj", + "LINK_STANDARD_APP": "Klasika versio", + "LINK_STANDARD_APP_HELP": "Malfermi la klasikan version de {{'COMMON.APP_NAME'|translate}}", + "CONNECTION_ERROR": "Nodo <b>{{server}}</b> neatingebla aŭ adreso nevalida.<br/><br/>Kontrolu vian interretan konekton, aŭ kontaktu la administranton de la retejo</a>." + }, + "HOME": { + "TITLE": "Dokumentaro API {{'COMMON.APP_NAME'|translate}}", + "MESSAGE": "Bonvenon en la <b>dokumentaro de la API</b> {{'COMMON.APP_NAME'|translate}}.<br/>Konektu viajn retejojn al <a href=\"http://duniter.org\" target=\"_system\">Duniter</a> tre simple!", + "MESSAGE_SHORT": "Konektu viajn retejojn al <a href=\"http://duniter.org\" target=\"_system\">Duniter</a> tre simple!", + "DOC_HEADER": "Servoj disponeblaj:" + }, + "TRANSFER": { + "TITLE": "{{'COMMON.APP_NAME'|translate}} - Reta pago", + "TITLE_SHORT": "Reta pago", + "SUMMARY": "Resumo de la pago:", + "AMOUNT": "Sumo:", + "AMOUNTS_HELP": "Bonvolu elekti la sumon:", + "NAME": "Nomo:", + "PUBKEY": "Publika ŝlosilo de la ricevonto:", + "COMMENT": "Referenco de la spezo:", + "NODE": "Adreso de la nodo:", + "DEMO": { + "SALT": "demo", + "PASSWORD": "demo", + "PUBKEY": "3G28bL6deXQBYpPBpLFuECo46d3kfYMJwst7uhdVBnD1", + "HELP": "<b>Demonstra moduso</b>: Neniu pago reale estos sendita dum tiu simulado.<br/>Bonvolu uzi la identigilojn: <b>{{'API.TRANSFER.DEMO.SALT'|translate}} / {{'API.TRANSFER.DEMO.PASSWORD'|translate}}</b>", + "BAD_CREDENTIALS": "Kontrolu vian tajpaĵon.<br/>En demonstra moduso, la identigiloj estas: {{'API.TRANSFER.DEMO.SALT'|translate}} / {{'API.TRANSFER.DEMO.PASSWORD'|translate}}" + }, + "INFO": { + "SUCCESS_REDIRECTING_WITH_NAME": "Pago sendita.<br/>Redirektiĝo al <b>{{name}}</b>...", + "SUCCESS_REDIRECTING": "Pago sendita.<br/>Redirektiĝo al la retejo de la vendanto...", + "CANCEL_REDIRECTING_WITH_NAME": "Pago nuligita.<br/>Redirektiĝo al <b>{{name}}</b>...", + "CANCEL_REDIRECTING": "Pago nuligita.<br/>Redirektiĝo al la retejo de la vendanto..." + }, + "ERROR": { + "TRANSFER_FAILED": "Pago malsukcesa" + } + }, + "DOC": { + "DESCRIPTION_DIVIDER": "Priskribo", + "URL_DIVIDER": "Adreso alvokita", + "PARAMETERS_DIVIDER": "Parametroj", + "AVAILABLE_PARAMETERS": "Jen la listo de la eblaj parametroj:", + "DEMO_DIVIDER": "Testi", + "DEMO_HELP": "Por testi tiun servon, alklaku la butonon ĉi-apude. La rezulto afiŝiĝos sube.", + "DEMO_RESULT": "Rezulto sendita de la alvoko:", + "DEMO_RESULT_PEER": "Adreso de la uzata nodo:", + "DEMO_SUCCEED": "<i class=\"icon ion-checkmark\"></i> Sukceso!", + "DEMO_CANCELLED": "<i class=\"icon ion-close\"></i> Nuligita de la uzanto", + "INTEGRATE_DIVIDER": "Integri", + "INTEGRATE_CODE": "Kodo:", + "INTEGRATE_RESULT": "Antaŭvidigo de la rezulto:", + "INTEGRATE_PARAMETERS": "Parametroj", + "TRANSFER": { + "TITLE": "Pagoj", + "DESCRIPTION": "De retejo (ekz.: ret-vendado) vi povas komisii la pagon en libera mono al Cesium API. Por tio, sufiĉas al vi ekigi la malfermon de paĝo ĉe la sekvanta adreso:", + "PARAM_PUBKEY": "Publika ŝlosilo de la ricevonto", + "PARAM_PUBKEY_HELP": "Publika ŝlosilo de la ricevonto (devige)", + "PARAM_AMOUNT": "Sumo", + "PARAM_AMOUNT_HELP": "Sumo de la spezo (devige). Pluraj valoroj permesataj, uzante apartigilon (punkto-komo, vertikala streko aŭ spaco).", + "PARAM_COMMENT": "Referenco (aŭ komento)", + "PARAM_COMMENT_HELP": "Referenco aŭ komento. Tio ekzemple ebligos al vi identigi la pagon en la blokĉeno.", + "PARAM_NAME": "Nomo (de la ricevonto aŭ de la retejo)", + "PARAM_NAME_HELP": "La nomo de la ricevonto, aŭ de la retejo alvokanta. Tio povas estis legebla nomo (\"Mia retejo\"), aŭ alie pseŭdo-retadreso (\"MiaRetejo.com\").", + "PARAM_REDIRECT_URL": "Retadreso por redirektiĝo", + "PARAM_REDIRECT_URL_HELP": "Retadreso (URL) por redirektiĝo, alvokita kiam la pago estis sendita. Ĝi povas enteni la sekvantajn signojn, kiuj estos anstataŭigitaj per la valoroj de la spezo: \"{tx}\", \"{hash}\", \"{comment}\", \"{amount}\", \"{pubkey}\" kaj \"{node}\".", + "PARAM_CANCEL_URL": "Retadreso por nuligo", + "PARAM_CANCEL_URL_HELP": "Retadreso (URL) kaze de nuligo de la pago, fare de la uzanto. Ĝi povas enteni la sekvantajn signojn, kiuj estos anstataŭigitaj lastmomente: \"{comment}\", \"{amount}\" kaj \"{pubkey}\".", + "PARAM_PREFERRED_NODE": "Adreso de la preferata nodo", + "PARAM_PREFERRED_NODE_HELP": "Adreso (URL) de la nodo Duniter preferinde uzota (\"g1.domaine.com:443\" aŭ \"https://g1.domaine.com\").", + "EXAMPLES_HELP": "Jen ekzemploj pri integrado:", + "EXAMPLE_BUTTON": "Butono HTML", + "EXAMPLE_BUTTON_DEFAULT_TEXT": "Pagi en {{currency|currencySymbol}}", + "EXAMPLE_BUTTON_DEFAULT_STYLE": "Personigita stilo", + "EXAMPLE_BUTTON_TEXT_HELP": "Buton-teksto", + "EXAMPLE_BUTTON_BG_COLOR": "Fon-koloro", + "EXAMPLE_BUTTON_BG_COLOR_HELP": "Ekzemplo: #fbc14c, nigra, helgriza, rgb(180,180,180)", + "EXAMPLE_BUTTON_FONT_COLOR": "Teksto-koloro", + "EXAMPLE_BUTTON_FONT_COLOR_HELP": "Ekzemplo: nigra, oranĝa, rgb(180,180,180)", + "EXAMPLE_BUTTON_TEXT_ICON": "Ikono", + "EXAMPLE_BUTTON_TEXT_WIDTH": "Larĝeco", + "EXAMPLE_BUTTON_TEXT_WIDTH_HELP": "Ekzemplo: 200px, 50%", + "EXAMPLE_BUTTON_ICON_NONE": "Neniu", + "EXAMPLE_BUTTON_ICON_DUNITER": "Insigno Duniter", + "EXAMPLE_BUTTON_ICON_CESIUM": "Insigno Cesium", + "EXAMPLE_BUTTON_ICON_G1_COLOR": "Insigno Ğ1", + "EXAMPLE_BUTTON_ICON_G1_BLACK": "Insigno Ğ1 (nigra)" + } + } + } +} diff --git a/src/assets/i18n/es-ES.json b/src/assets/i18n/es-ES.json new file mode 100644 index 0000000..3fbcf2e --- /dev/null +++ b/src/assets/i18n/es-ES.json @@ -0,0 +1,1000 @@ +{ + "COMMON": { + "APP_NAME": "Cesium", + "APP_VERSION": "v{{version}}", + "APP_BUILD": "fecha: {{build}}", + "PUBKEY": "Llave pública", + "MEMBER": "Miembro", + "BLOCK": "Bloque", + "BTN_OK": "OK", + "BTN_YES": "Sí", + "BTN_NO": "No", + "BTN_SEND": "Enviar", + "BTN_SEND_MONEY": "Hacer un pago", + "BTN_SEND_MONEY_SHORT": "Pago", + "BTN_SAVE": "Guardar", + "BTN_YES_SAVE": "Sí, guardar", + "BTN_YES_CONTINUE": "Sí, continuar", + "BTN_SHOW": "Ver", + "BTN_SHOW_PUBKEY": "Ver la llave", + "BTN_RELATIVE_UNIT": "Mostrar importes en DU", + "BTN_BACK": "Anterior", + "BTN_NEXT": "Siguiente", + "BTN_IMPORT": "Importar", + "BTN_CANCEL": "Cancelar", + "BTN_CLOSE": "Cerrar", + "BTN_LATER": "Más tarde", + "BTN_LOGIN": "Conectarse", + "BTN_LOGOUT": "Desconexión", + "BTN_ADD_ACCOUNT": "Nueva cuenta", + "BTN_SHARE": "Compartir", + "BTN_EDIT": "Modificar", + "BTN_DELETE": "Suprimir", + "BTN_ADD": "Añadir", + "BTN_SEARCH": "Buscar", + "BTN_REFRESH": "Actualizar", + "BTN_RETRY": "Empezar de nuevo", + "BTN_START": "Empezar", + "BTN_CONTINUE": "Continuar", + "BTN_CREATE": "Crear", + "BTN_UNDERSTOOD": "Entendido", + "BTN_OPTIONS": "Opciones", + "BTN_HELP_TOUR": "Visita guiada", + "BTN_HELP_TOUR_SCREEN": "Explicar esta pantalla", + "BTN_DOWNLOAD": "Descargar", + "BTN_DOWNLOAD_ACCOUNT_STATEMENT": "Descargar historial de cuenta", + "BTN_MODIFY": "Modificar", + "CHOOSE_FILE": "Arrastre el archivo<br/>o haga clic para seleccionarlo", + "DAYS": "Días", + "NO_ACCOUNT_QUESTION": "¿Todavía no es miembro? ¡Crear una cuenta!", + "SEARCH_NO_RESULT": "Ningún resultado encontrado", + "LOADING": "Espere por favor…", + "LOADING_WAIT": "Espere por favor…<br/><small>(Esperando disponibilidad de nodo)</small>", + "SEARCHING": "Búsqueda en proceso…", + "FROM": "De", + "TO": "A", + "COPY": "Copiar", + "LANGUAGE": "Idioma", + "UNIVERSAL_DIVIDEND": "Dividendo universal", + "UD": "DU", + "DATE_PATTERN": "DD/MM/YYYY HH:mm", + "DATE_FILE_PATTERN": "YYYY-MM-DD", + "DATE_SHORT_PATTERN": "DD/MM/YY", + "DATE_MONTH_YEAR_PATTERN": "MM/YYYY", + "EMPTY_PARENTHESIS": "(vacío)", + "UID": "Seudónimo", + "ENABLE": "Activado", + "DISABLE": "Desactivado", + "RESULTS_LIST": "Resultados:", + "RESULTS_COUNT": "{{count}} resultados", + "EXECUTION_TIME": "ejecutado en {{duration|formatDurationMs}}", + "SHOW_VALUES": "Revelar contraseñas", + "POPOVER_ACTIONS_TITLE": "Opciones", + "POPOVER_FILTER_TITLE": "Filtros", + "SHOW_MORE": "Mostrar más", + "SHOW_MORE_COUNT": "(límite actual {{limit}})", + "POPOVER_SHARE": { + "TITLE": "Compartir", + "SHARE_ON_TWITTER": "Compartir en Twitter", + "SHARE_ON_FACEBOOK": "Compartir en Facebook", + "SHARE_ON_DIASPORA": "Compartir en Diaspora*", + "SHARE_ON_GOOGLEPLUS": "Compartir en Google+" + }, + "FILE": { + "DATE" : "Fecha:", + "TYPE" : "Tipo:", + "SIZE": "Tamaño:", + "VALIDATING": "Validando…" + } + }, + "SYSTEM": { + "PICTURE_CHOOSE_TYPE": "Elegir la fuente:", + "BTN_PICTURE_GALLERY": "Galería", + "BTN_PICTURE_CAMERA": "<b>Cámara</b>" + }, + "MENU": { + "HOME": "Inicio", + "WOT": "Directorio", + "CURRENCY": "Moneda", + "ACCOUNT": "Mi cuenta", + "WALLETS": "Mis monederos", + "SETTINGS": "Ajustes", + "NETWORK": "Red", + "TRANSACTIONS": "Mis transacciones" + }, + "ABOUT": { + "BTN_OPEN_DEV_WINDOW": "Abrir ventana de depuración", + "TITLE": "Acerca de", + "LICENSE": "Software <b>libre</b> (licencia GNU AGPLv3).", + "LATEST_RELEASE": "Existe una <b>versión más nueva</b> de {{'COMMON.APP_NAME' | translate}} (<b>v{{version}}</b>)", + "PLEASE_UPDATE": "Por favor actualice {{'COMMON.APP_NAME' | translate}} (última versión: <b>v{{version}}</b>)", + "CODE": "Código fuente:", + "OFFICIAL_WEB_SITE": "Web oficial:", + "DEVELOPERS": "Desarrollado por:", + "FORUM": "Foro:", + "PLEASE_REPORT_ISSUE": "No dude en informarnos de anomalías encontradas", + "REPORT_ISSUE": "Reportar un problema" + }, + "HOME": { + "FEED_SOURCE": "Fuente", + "READ_MORE": "Leer más", + "SHOW_ALL_FEED": "Ver todo", + "TITLE": "Cesium", + "WELCOME": "¡Bienvenida/o a la aplicación Cesium!", + "MESSAGE": "Reciba y envíe moneda libre {{currency|abbreviate}} fácilmente", + "BTN_CURRENCY": "Explorar la moneda", + "BTN_ABOUT": "Acerca de", + "BTN_HELP": "Ayuda en línea", + "REPORT_ISSUE": "Reportar anomalía", + "NOT_YOUR_ACCOUNT_QUESTION": "¿No es suya la cuenta <b><i class=\"ion-key\"></i> {{pubkey|formatPubkey}}</b>?", + "BTN_CHANGE_ACCOUNT": "Desconectar esta cuenta", + "CONNECTION_ERROR": "Nodo <b>{{server}}</b> inalcanzable o dirección inválida.<br/><br/>Compruebe su conexión a Internet, o nodo Duniter <a class=\"positive\" ng-click=\"doQuickFix('settings')\">en los ajustes</a>." + }, + "SETTINGS": { + "TITLE": "Ajustes", + "DISPLAY_DIVIDER": "Visualización", + "STORAGE_DIVIDER": "Almacenamiento", + "NETWORK_SETTINGS": "Red", + "PEER": "Dirección del nodo Duniter", + "PEER_CHANGED_TEMPORARY": "Dirección utilizada temporalmente", + "PEER_SHORT": "Nodo Duniter", + "PERSIST_CACHE": "Conservar los datos de navegación (experimental)", + "PERSIST_CACHE_HELP": "Permite una navegación más rápida, conservando localmente los datos recibidos, para usar de una sesión a otra.", + "USE_LOCAL_STORAGE": "Activar el almacenamiento local", + "USE_LOCAL_STORAGE_HELP": "Permitir conservar sus ajustes", + "WALLETS_SETTINGS": "Mis monederos", + "USE_WALLETS_ENCRYPTION": "Cifrar el listado", + "USE_WALLETS_ENCRYPTION_HELP": "Permite proteger la lista de sus monederos (mediante cifrado), exigiendo una autenticación para acceder.", + "ENABLE_HELPTIP": "Activar la ayuda contextual", + "ENABLE_UI_EFFECTS": "Activar los efectos visuales", + "HISTORY_SETTINGS": "Transacciones de la cuenta", + "DISPLAY_UD_HISTORY": "Mostrar los DU creados", + "TX_HISTORY_AUTO_REFRESH": "Activar actualización automática", + "TX_HISTORY_AUTO_REFRESH_HELP": "Actualizar el saldo y las transacciones automáticamente, con cada nuevo bloque.", + "AUTHENTICATION_SETTINGS": "Autenticación", + "KEEP_AUTH": "Caducidad de la autenticación", + "KEEP_AUTH_SHORT": "Caducidad", + "KEEP_AUTH_HELP": "Defina cuándo expira su sesión", + "KEEP_AUTH_OPTION": { + "NEVER": "Después de cada operación", + "SECONDS": "Después de {{value}} segundos de inactividad", + "MINUTE": "Después de {{value}}min de inactividad", + "MINUTES": "Después de {{value}}mins de inactividad", + "HOUR": "Después de {{value}}h de inactividad", + "ALWAYS": "Al finalizar la sesión" + }, + "KEYRING_FILE": "Archivo de llaves", + "KEYRING_FILE_HELP": "Le permite <b>conectarse</b> automáticamente en cada inicio <br/>e incluso de <b>autenticarse</b> (solo si \"Caducidad de la autenticación\" está configurada en modo: \"al finalizar la sesión\").", + "REMEMBER_ME": "Recordarme", + "REMEMBER_ME_HELP": "Permite mantenerse siempre conectado (no recomendado), conservando localmente la llave pública.", + "PLUGINS_SETTINGS": "Extensiones", + "BTN_RESET": "Restaurar los valores por defecto", + "EXPERT_MODE": "Modo experto", + "EXPERT_MODE_HELP": "Permite una visualización más detallada", + "BLOCK_VALIDITY_WINDOW": "Tiempo de incertitud de los bloques", + "DISABLE_HELPTIP": "Desactivar la opción de ayuda contextual", + "BLOCK_VALIDITY_WINDOW_SHORT": "Tiempo de incertitud", + "BLOCK_VALIDITY_WINDOW_HELP": "Tiempo de espera antes de considerar una información como validada", + "BLOCK_VALIDITY_OPTION": { + "NONE": "Sin espera", + "N": "{{time | formatDuration}} ({{count}} bloques)" + }, + "POPUP_PEER": { + "TITLE": "Nodo Duniter", + "HOST": "Dirección", + "HOST_HELP": "Dirección: servidor:puerto", + "USE_SSL": "Conexión segura", + "USE_SSL_HELP": "(Cifrado SSL)", + "BTN_SHOW_LIST": "Lista de nodos" + } + }, + "BLOCKCHAIN": { + "HASH": "Hash: {{hash}}", + "VIEW": { + "HEADER_TITLE": "Bloque #{{number}}-{{hash|formatHash}}", + "TITLE_CURRENT": "Bloque actual", + "TITLE": "Bloque #{{number|formatInteger}}", + "COMPUTED_BY": "Calculado por el nodo de", + "SHOW_RAW": "Ver el fichero en bruto", + "TECHNICAL_DIVIDER": "Informaciones técnicas", + "VERSION": "Versión del formato", + "HASH": "Hash calculado", + "UNIVERSAL_DIVIDEND_HELP": "Moneda co-producida por cada uno de los {{membersCount}} miembros", + "EMPTY": "Ningún dato en este bloque", + "POW_MIN": "Dificultad mínima", + "POW_MIN_HELP": "Dificultad impuesta por el cálculo del hash", + "DATA_DIVIDER": "Datos", + "IDENTITIES_COUNT": "Nuevas identidades", + "JOINERS_COUNT": "Nuevos miembros", + "ACTIVES_COUNT": "Renovaciones", + "ACTIVES_COUNT_HELP": "Miembros que han renovado sus adhesiones", + "LEAVERS_COUNT": "Miembros salientes", + "LEAVERS_COUNT_HELP": "Miembros salientes que ya no quieren estar certificados", + "EXCLUDED_COUNT": "Miembros excluidos", + "EXCLUDED_COUNT_HELP": "Antiguos miembros excluidos por no renovación o falta de certificaciones", + "REVOKED_COUNT": "Identidades revocadas", + "REVOKED_COUNT_HELP": "Estas cuentas no podrán ser miembros", + "TX_COUNT": "Transacciones", + "CERT_COUNT": "Certificaciones", + "TX_TO_HIMSELF": "Operación de cambio", + "TX_OUTPUT_UNLOCK_CONDITIONS": "Condiciones de desbloqueo", + "TX_OUTPUT_OPERATOR": { + "AND": "y", + "OR": "o" + }, + "TX_OUTPUT_FUNCTION": { + "SIG": "<b>Firma</b> de ", + "XHX": "<b>Contraseña</b>, cuyo SHA256 =", + "CSV": "Bloqueado durante", + "CLTV": "Bloqueado hasta" + } + }, + "LOOKUP": { + "TITLE": "Bloques", + "NO_BLOCK": "Ningún bloque", + "LAST_BLOCKS": "Últimos bloques:", + "BTN_COMPACT": "Compactar" + } + }, + "CURRENCY": { + "VIEW": { + "TITLE": "Moneda", + "TAB_CURRENCY": "Moneda", + "TAB_WOT": "Red de confianza", + "TAB_NETWORK": "Red", + "TAB_BLOCKS": "Bloques", + "CURRENCY_SHORT_DESCRIPTION": "{{currency|abbreviate}} es una <b>moneda libre</b>, originada {{firstBlockTime|formatFromNow}}. Cuenta actualmente con <b>{{N}} miembros</b>, que producen y reciben un <a ng-click=\"showHelpModal('ud')\">Dividendo Universal</a> (DU) cada {{dt|formatPeriod}}.", + "NETWORK_RULES_DIVIDER": "Reglas de la red", + "CURRENCY_NAME": "Nombre de la moneda", + "MEMBERS": "Cantidad de miembros", + "MEMBERS_VARIATION": "Variación desde último DU", + "MONEY_DIVIDER": "Moneda", + "MASS": "Masa monetaria", + "SHARE": "Masa media por miembro", + "UD": "Dividendo Universal", + "C_ACTUAL": "Crecimiento actual", + "MEDIAN_TIME": "Hora de la cadena de bloques", + "POW_MIN": "Nivel mínimo de dificultad de cálculo", + "MONEY_RULES_DIVIDER": "Reglas de la moneda", + "C_RULE": "Crecimiento teórico objetivo", + "UD_RULE": "Cálculo del dividendo universal", + "DT_REEVAL": "Periodo de revalorización del DU", + "REEVAL_SYMBOL": "reval", + "DT_REEVAL_VALUE": "Todos los <b>{{dtReeval|formatDuration}}</b> ({{dtReeval/86400}} {{'COMMON.DAYS'|translate}})", + "UD_REEVAL_TIME0": "Fecha de la primera revalorización", + "SIG_QTY_RULE": "Certificaciones requeridas para ser miembro", + "SIG_STOCK": "Máximo de certificaciones emitibles por miembros", + "SIG_PERIOD": "Espera mínima entre 2 certificaciones sucesivas emitidas por el mismo individuo", + "SIG_WINDOW": "Límite para tener en cuenta una certificación", + "SIG_VALIDITY": "Duración de una certificación tenida en cuenta", + "MS_WINDOW": "Límite para aprobar una solicitud de membresía", + "MS_VALIDITY": "Duración de una membresía aprobada", + "STEP_MAX": "Distancia máxima entre una nueva candidatura y cada miembro referente", + "WOT_RULES_DIVIDER": "Reglas de la red de confianza", + "SENTRIES": "Certificaciones necesarias para ser miembro referente", + "SENTRIES_FORMULA": "Fórmula de las certificaciones necesarias para ser miembro referente", + "XPERCENT":"Porcentaje mínimo necesario de miembros referentes respentando la regla de distancia máxima", + "AVG_GEN_TIME": "Tiempo medio entre dos bloques", + "CURRENT": "actual", + "MATH_CEILING": "TECHO", + "DISPLAY_ALL_RULES": "¿Ver todas las reglas?", + "BTN_SHOW_LICENSE": "Ver la licencia", + "WOT_DIVIDER": "Red de confianza" + }, + "LICENSE": { + "TITLE": "Licencia de la moneda", + "BTN_DOWNLOAD": "Descargar el fichero", + "NO_LICENSE_FILE": "Fichero de licencia no encontrado." + } + }, + "NETWORK": { + "VIEW": { + "MEDIAN_TIME": "Hora de la cadena de bloques", + "LOADING_PEERS": "Cargando nodos…", + "NODE_ADDRESS": "Dirección:", + "SOFTWARE": "Software:", + "WARN_PRE_RELEASE": "Prelanzamiento (última versión estable: <b>{{version}}</b>)", + "WARN_NEW_RELEASE": "Versión <b>{{version}}</b> disponible", + "WS2PID": "ID:", + "PRIVATE_ACCESS": "Acceso privado", + "POW_PREFIX": "Prefijo de la prueba de trabajo:", + "ENDPOINTS": { + "BMAS": "Interfaz segura (SSL)", + "BMATOR": "Interfaz red TOR", + "WS2P": "Interfaz WS2P", + "ES_USER_API": "Nodo de datos Cesium+" + } + }, + "INFO": { + "ONLY_SSL_PEERS": "La visualización de los nodos sin SSL está deteriorada porque Cesium funciona en modo HTTPS." + } + }, + "PEER": { + "PEERS": "Nodos", + "SIGNED_ON_BLOCK": "Firmado sobre el bloque", + "MIRROR": "espejo", + "MIRRORS": "Espejo", + "MIRROR_PEERS": "Nodos espejo", + "PEER_LIST": "Lista de nodos", + "MEMBERS": "Miembro", + "MEMBER_PEERS": "Nodos miembro", + "ALL_PEERS": "Todos los nodos", + "DIFFICULTY": "Dificultad", + "API": "API", + "CURRENT_BLOCK": "Bloque #", + "POPOVER_FILTER_TITLE": "Filtro", + "OFFLINE": "Fuera de línea", + "OFFLINE_PEERS": "Nodos fuera de línea", + "BTN_SHOW_PEER": "Ver nodo", + "VIEW": { + "TITLE": "Nodo", + "OWNER": "Propiedad de", + "SHOW_RAW_PEERING": "Ver la ficha del par", + "SHOW_RAW_CURRENT_BLOCK": "Ver el último bloque (formato bruto)", + "LAST_BLOCKS": "Bloques recientes", + "KNOWN_PEERS": "Nodos conocidos:", + "GENERAL_DIVIDER": "Información general", + "ERROR": { + "LOADING_TOR_NODE_ERROR": "No se pudo obtener la información del nodo usando la red TOR.", + "LOADING_NODE_ERROR": "No se pudo obtener la información del nodo" + } + } + }, + "WOT": { + "SEARCH_HELP": "Buscar (seudónimo o llave pública)", + "SEARCH_INIT_PHASE_WARNING": "Durante la etapa de preinscripción, el tiempo de búsqueda de las candidaturas en espera <b>puede tardar</b>. Por favor espere…", + "REGISTERED_SINCE": "Se registró en", + "REGISTERED_SINCE_BLOCK": "Se registró en el bloque #", + "NO_CERTIFICATION": "Ninguna certificación validada", + "NO_GIVEN_CERTIFICATION": "Ninguna certificación emitida", + "NOT_MEMBER_PARENTHESIS": "(no miembro)", + "IDENTITY_REVOKED_PARENTHESIS": "(identidad revocada)", + "MEMBER_PENDING_REVOCATION_PARENTHESIS": "(revocación en proceso)", + "EXPIRE_IN": "Expira", + "NOT_WRITTEN_EXPIRE_IN": "Fecha límite<br/>de procesamiento", + "EXPIRED": "Expirado", + "PSEUDO": "Seudónimo", + "SIGNED_ON_BLOCK": "Emitida en el bloque #{{block}}", + "WRITTEN_ON_BLOCK": "Escrita en el bloque #{{block}}", + "GENERAL_DIVIDER": "Informaciones generales", + "NOT_MEMBER_ACCOUNT": "Cuenta no miembro", + "NOT_MEMBER_ACCOUNT_HELP": "Se trata de un monedero simple, sin solicitud de membresía en espera", + "TECHNICAL_DIVIDER": "Informaciones técnicas", + "BTN_CERTIFY": "Certificar", + "BTN_YES_CERTIFY": "Sí, certificar", + "BTN_SELECT_AND_CERTIFY": "Nueva certificación", + "ACCOUNT_OPERATIONS": "Transacciones de la cuenta", + "VIEW": { + "POPOVER_SHARE_TITLE": "Identidad {{title}}" + }, + "LOOKUP": { + "TITLE": "Directorio", + "NEWCOMERS": "Nuevos miembros:", + "NEWCOMERS_COUNT": "{{count}} miembros", + "PENDING": "Inscripciones en espera:", + "PENDING_COUNT": "{{count}} inscripciones en espera", + "REGISTERED": "Se inscribió {{sigDate | formatFromNow}}", + "MEMBER_FROM": "Miembro desde {{memberDate|medianFromNowShort}}", + "BTN_NEWCOMERS": "Miembros recientes", + "BTN_PENDING": "Candidaturas en espera", + "SHOW_MORE": "Mostrar más", + "SHOW_MORE_COUNT": "(mostrar solo {{limit}})", + "NO_PENDING": "Ninguna candidatura en espera.", + "NO_NEWCOMERS": "Sin miembros." + }, + "CONTACTS": { + "TITLE": "Contactos" + }, + "MODAL": { + "TITLE": "Buscar" + }, + "CERTIFICATIONS": { + "TITLE": "{{uid}} - Certificaciones", + "SUMMARY": "Certificaciones recibidas", + "LIST": "Detalle de las certificaciones recibidas", + "PENDING_LIST": "Certificaciones en espera de tratamiento", + "RECEIVED": "Certificaciones recibidas", + "RECEIVED_BY": "Certificaciones recibidas por {{uid}}", + "ERROR": "Certificaciones recibidas por error", + "SENTRY_MEMBER": "Miembro referente" + }, + "OPERATIONS": { + "TITLE": "{{uid}} - Transacciones" + }, + "GIVEN_CERTIFICATIONS": { + "TITLE": "{{uid}} - Certificaciones emitidas", + "SUMMARY": "Certificaciones emitidas", + "LIST": "Detalle de las certificaciones emitidas", + "PENDING_LIST": "Certificaciones en espera a ser procesadas", + "SENT": "Certificaciones emitidas", + "SENT_BY": "Certificaciones emitidas por {{uid}}", + "ERROR": "Certificaciones emitidas por error" + } + }, + "LOGIN": { + "TITLE": "<i class=\"icon ion-locked\"></i> Conexión", + "SCRYPT_FORM_HELP": "Ingrese sus credenciales.<br>Recuerde comprobar que la llave pública pertenece a su cuenta.", + "PUBKEY_FORM_HELP": "Por favor ingrese una llave pública de cuenta:", + "FILE_FORM_HELP": "Elija el archivo de llaves a usar:", + "SCAN_FORM_HELP": "Escanee el código QR de un monedero.", + "SALT": "Frase secreta", + "SALT_HELP": "Frase secreta", + "SHOW_SALT": "Mostrar la frase secreta", + "PASSWORD": "Contraseña", + "PASSWORD_HELP": "Contraseña", + "PUBKEY_HELP": "llave pública", + "NO_ACCOUNT_QUESTION": "¿Aún no tiene cuenta? ", + "HAVE_ACCOUNT_QUESTION": "¿Ya tiene cuenta?", + "CREATE_ACCOUNT": "Crear una cuenta", + "CREATE_FREE_ACCOUNT": "Crear una cuenta gratis", + "FORGOTTEN_ID": "¿Olvidó su contraseña?", + "ASSOCIATED_PUBKEY": "Llave pública del archivo de llaves:", + "BTN_METHODS": "Otros métodos", + "BTN_METHODS_DOTS": "Otras vías…", + "METHOD_POPOVER_TITLE": "Métodos", + "MEMORIZE_AUTH_FILE": "Memorizar las llaves durante la sesión de navegación", + "SCRYPT_PARAMETERS": "Ajustes (Scrypt) :", + "AUTO_LOGOUT": { + "TITLE": "Información", + "MESSAGE": "<i class=\"ion-android-time\"></i> Se ha <b>desconectado</b> de forma automática, después de un periodo de inactividad prolongada.", + "BTN_RELOGIN": "Volver a conectarme", + "IDLE_WARNING": "Será desconectado en… {{countdown}}" + }, + "METHOD": { + "SCRYPT_DEFAULT": "Estándar (por defecto)", + "SCRYPT_ADVANCED": "Aleatoriedad avanzada", + "FILE": "Archivo de llaves", + "PUBKEY": "Llave pública o seudónimo", + "SCAN": "Escanear un código QR" + }, + "SCRYPT": { + "SIMPLE": "Ligero", + "DEFAULT": "Predeterminado", + "SECURE": "Seguro", + "HARDEST": "El más seguro", + "EXTREME": "Extremo", + "USER": "Personalizado", + "N": "N (Loop):", + "r": "r (RAM):", + "p": "p (CPU):" + }, + "FILE": { + "HELP": "Formato de archivo esperado: <b>.yml</b> o <b>.dunikey</b> (tipo PubSec, WIF o EWIF)." + } + }, + "API": { + "COMMON": { + "CONNECTION_ERROR": "Nodo <b>{{server}}</b> inalcanzable o dirección inválida.<br/><br/>Verifique su conexión a Internet, o contacte con la administración del sitio.</a>.", + "LINK_DOC": "Documentación API", + "LINK_DOC_HELP": "Documentación para desarrolladores", + "LINK_STANDARD_APP": "Versión clásica", + "LINK_STANDARD_APP_HELP": "Abrir la versión clásica de {{'COMMON.APP_NAME'|translate}}" + }, + "DOC": { + "AVAILABLE_PARAMETERS": "Lista de parámetros disponibles :", + "DEMO_CANCELLED": "<i class=\"icon ion-close\"></i> Cancelado por el usuario", + "DEMO_DIVIDER": "Probar", + "DEMO_HELP": "Para probar este servicio, haga clic en este botón. El resultado se mostrará debajo.", + "DEMO_RESULT": "Resultado retornado por la llamada :", + "DEMO_RESULT_PEER": "Dirección del nodo utilizado :", + "DEMO_SUCCEED": "<i class=\"icon ion-checkmark\"></i> ¡ Éxito !", + "DESCRIPTION_DIVIDER": "Descripción", + "INTEGRATE_CODE": "Código :", + "INTEGRATE_DIVIDER": "Integrar", + "INTEGRATE_PARAMETERS": "Parámetros", + "INTEGRATE_RESULT": "Previsualización del resultado :", + "PARAMETERS_DIVIDER": "Parámetros", + "TRANSFER": { + "DESCRIPTION": "Desde una web (ej: tienda online) puede delegar el pago en moneda libre con la API de Cesium. Para eso, simplemente ponga un link a la siguiente dirección :", + "EXAMPLE_BUTTON": "Botón HTML", + "EXAMPLE_BUTTON_BG_COLOR": "Color de fondo", + "EXAMPLE_BUTTON_BG_COLOR_HELP": "Ejemplo : #fbc14c, black, lightgrey, rgb(180,180,180)", + "EXAMPLE_BUTTON_DEFAULT_STYLE": "Estilo personalizado", + "EXAMPLE_BUTTON_DEFAULT_TEXT": "Pagar en {{currency|currencySymbol}}", + "EXAMPLE_BUTTON_FONT_COLOR": "Color del texto", + "EXAMPLE_BUTTON_FONT_COLOR_HELP": "Ejemplo : black, orange, rgb(180,180,180)", + "EXAMPLE_BUTTON_ICON_CESIUM": "Logo Cesium", + "EXAMPLE_BUTTON_ICON_DUNITER": "Logo Duniter", + "EXAMPLE_BUTTON_ICON_G1_BLACK": "Logo Ğ1 (negro)", + "EXAMPLE_BUTTON_ICON_G1_COLOR": "Logo Ğ1", + "EXAMPLE_BUTTON_ICON_NONE": "Ninguno", + "EXAMPLE_BUTTON_TEXT_HELP": "Texto del botón", + "EXAMPLE_BUTTON_TEXT_ICON": "Icono", + "EXAMPLE_BUTTON_TEXT_WIDTH": "Anchura", + "EXAMPLE_BUTTON_TEXT_WIDTH_HELP": "Ejemplo : 200px, 50%", + "EXAMPLES_HELP": "Ejemplos de integración :", + "PARAM_AMOUNT": "Cuantía", + "PARAM_AMOUNT_HELP": "Cuantía de la transición (obligatorio). Valores múltiples permitidos utilizando un separador (punto y coma, barra vertical o espacio).", + "PARAM_CANCEL_URL": "Dirección web de cancelación", + "PARAM_CANCEL_URL_HELP": "Dirección web (URL) en caso de anulación del pago por parte del usuario. Puede contener las siguientes palabras que serán remplazadas por sus valores dinámicamente en cada caso: \"{comment}\", \"{amount}\" y \"{pubkey}\".", + "PARAM_COMMENT": "Concepto (o comentario)", + "PARAM_COMMENT_HELP": "Concepto o comentario. Le permitirá por ejemplo identificar el pago en la cadena de bloques (blockchain).", + "PARAM_NAME": "Nombre (del destinatario o de su sitio web)", + "PARAM_NAME_HELP": "El nombre del destinatario, o de su sitio web. Puede ser un nombre leíble (\"Mi tienda en línea\"), o un dominio (\"Mitienda.com\").", + "PARAM_PREFERRED_NODE": "Dirección del nodo preferido", + "PARAM_PREFERRED_NODE_HELP": "Dirección (URL) del nodo Duniter a utilizar preferentemente (\"g1.domaine.com:443\" o \"https://g1.domaine.com\").", + "PARAM_PUBKEY": "Llave pública del destinatario", + "PARAM_PUBKEY_HELP": "La llave pública del destinatario (obligatoria)", + "PARAM_REDIRECT_URL": "Dirección web de redirección", + "PARAM_REDIRECT_URL_HELP": "Dirección web (URL) de redirección, llamada cuanda el pago ha sido enviado. Puede contener las palabras siguientes, que serán remplazadas por los valores de la transacción dinámicanente : \"{tx}\", \"{hash}\", \"{comment}\", \"{amount}\", \"{pubkey}\" y \"{node}\".", + "TITLE": "Pagos" + }, + "URL_DIVIDER": "Dirección de llamada" + }, + "HOME": { + "DOC_HEADER": "Servicios disponibles :", + "MESSAGE": "Bienvenido/a a la <b>documentación de la API</b> {{'COMMON.APP_NAME'|translate}}.<br/>Conecte sus sitios webs a la cadena de bloques <a href=\"http://duniter.org\" target=\"_system\">Duniter</a> muy fácilmente !", + "MESSAGE_SHORT": "Conecte sus sitios a <a href=\"http://duniter.org\" target=\"_system\">Duniter</a> muy fácilmente !", + "TITLE": "Documentación API {{'COMMON.APP_NAME'|translate}}" + }, + "TRANSFER": { + "AMOUNT": "Cuantía :", + "AMOUNTS_HELP": "Elija la cuantía :", + "COMMENT": "Concepto/Comentario de la operación :", + "DEMO": { + "BAD_CREDENTIALS": "Verifique sus credenciales.<br/>En modo demostración, las credenciales son : {{'API.TRANSFER.DEMO.SALT'|translate}} / {{'API.TRANSFER.DEMO.PASSWORD'|translate}}", + "HELP": "<b>Modo demostración</b> : Ningún pago será enviado realmente durante esta simulación.<br/>Utilice las credenciales : <b>{{'API.TRANSFER.DEMO.SALT'|translate}} / {{'API.TRANSFER.DEMO.PASSWORD'|translate}}</b>", + "PASSWORD": "demo", + "PUBKEY": "3G28bL6deXQBYpPBpLFuECo46d3kfYMJwst7uhdVBnD1", + "SALT": "demo" + }, + "ERROR": { + "TRANSFER_FAILED": "Error en el pago" + }, + "INFO": { + "CANCEL_REDIRECTING": "Pago cancelado.<br/>Redirigiendo al sitio del vendedor...", + "CANCEL_REDIRECTING_WITH_NAME": "Pago cancelado.<br/>Redirigiendo a <b>{{name}}</b>...", + "SUCCESS_REDIRECTING": "Pago enviado.<br/>Redirigiendo al sitio del vendedor...", + "SUCCESS_REDIRECTING_WITH_NAME": "Pago enviado.<br/>Redirigiendo a <b>{{name}}</b>..." + }, + "NAME": "Nombre :", + "NODE": "Dirección del nodo :", + "PUBKEY": "Llave pública del destinatario :", + "SUMMARY": "Resumen del pago :", + "TITLE": "{{'COMMON.APP_NAME'|translate}} - Pago en línea", + "TITLE_SHORT": "Pago en línea" + } + }, + "AUTH": { + "TITLE": "<i class=\"icon ion-locked\"></i> Autenticación", + "BTN_AUTH": "Autenticar", + "GENERAL_HELP": "Por favor, autentíquese:", + "EXPECTED_UID_HELP": "Por favor inicie sesión en la cuenta de <i class=\"ion-person\"></i> {{uid}}:", + "EXPECTED_PUBKEY_HELP": "Por favor, autentíquese en el monedero <br class=\"visible-xs\"/><i class=\"ion-key\"></i> {{pubkey|formatPubkey}} :", + "SCAN_FORM_HELP": "Escanee el código QR de la <b>llave privada</b> del monedero." + }, + "ACCOUNT": { + "TITLE": "Mi cuenta", + "BALANCE": "Saldo", + "LAST_TX": "Últimas transacciones validadas", + "BALANCE_ACCOUNT": "Saldo de la cuenta", + "NO_TX": "Ninguna transacción", + "SHOW_MORE_TX": "Mostrar más", + "SHOW_ALL_TX": "Mostrar todo", + "TX_FROM_DATE": "(mostrar solo {{fromTime|medianFromNowShort}})", + "OUT_DISTANCED": "Sus certificaciones recibidas provienen de un grupo demasiado aislado de la <a ng-click=\"showHelpModal('wot')\">Red de Confianza</a> (RdC) : la <a ng-click=\"showHelpModal('distance_rule')\">regla de distancia máxima</a> no se cumple.<br/>Deberá obtener certificaciones provinientes de otros sectores de la RdC, o esperar a que ésta estreche sus vínculos.", + "PENDING_TX": "Transacciones pendientes", + "VALIDATING_TX": "Transacciones validadas", + "ERROR_TX": "Transacciones no ejecutadas", + "ERROR_TX_SENT": "Transacciones ejecutadas fallidas", + "PENDING_TX_RECEIVED": "Transacciones en espera de recepción", + "EVENTS": "Eventos", + "WAITING_MEMBERSHIP": "Solicitud de membresía emitida. En espera de aceptación.", + "WAITING_CERTIFICATIONS": "Debe obtener {{needCertificationCount}} certificación(es) para ser miembro.", + "WAITING_CERTIFICATIONS_HELP": "Para obtener sus certificaciones, solicitelas únicamente a miembros <b>que le conozcan bien (y físicamente)</b>, como exige <a ng-click=\"showLicenseModal()\">la licencia de la moneda</a> que usted ha aceptado.<br/>Si no conoce lo suficiente a miembros, hágalo saber en <a ng-click=\"openLink($event, $root.settings.userForumUrl)\">el foro</a> para conocerse físicamente o asistir a algún encuentro.", + "WILL_MISSING_CERTIFICATIONS": "Pronto le van a <b>faltar certificaciones</b> (al menos {{willNeedCertificationCount}} son necesarias)", + "WILL_NEED_RENEW_MEMBERSHIP": "Su adhesión como miembro <b>va a expirar {{membershipExpiresIn|formatDurationTo}}</b>. Piense en <a ng-click=\"doQuickFix('renew')\">renovar su adhesión</a> mientras tanto.", + "NEED_RENEW_MEMBERSHIP": "Ya no es miembro porque su adhesión <b>ha expirado</b>. Piense en <a ng-click=\"doQuickFix('renew')\">renovar su adhesión</a>.", + "NEED_RENEW_MEMBERSHIP_AFTER_CANCELLED": "Ya no es miembro de la moneda, <b>por falta de certificaciones</b>. Considere <a ng-click=\"doQuickFix('renew')\">renovar su adhesión</a>.", + "NO_WAITING_MEMBERSHIP": "No hay adhesión miembro en espera. Si desea <b>convertirse en miembro</b>, por favor <a ng-click=\"doQuickFix('membership')\">envíe su adhesión como miembro</a>.", + "CERTIFICATION_COUNT": "Certificaciones recibidas", + "CERTIFICATION_COUNT_SHORT": "Certificaciones", + "SIG_STOCK": "Certificaciones emitidas", + "BTN_RECEIVE_MONEY": "Recibir", + "BTN_SELECT_ALTERNATIVES_IDENTITIES": "Cambiar a otra identidad…", + "BTN_FIX_MEMBERSHIP": "Volver a enviar la candidatura…", + "BTN_MEMBERSHIP_RENEW": "Renovar la membresía", + "BTN_MEMBERSHIP_RENEW_DOTS": "Renovar la membresía…", + "BTN_MEMBERSHIP_OUT_DOTS": "Cancelar la membresía…", + "BTN_SECURITY_DOTS": "Cuenta y seguridad…", + "BTN_SHOW_DETAILS": "Publicar la información técnica", + "LOCKED_OUTPUTS_POPOVER": { + "TITLE": "Importe bloqueado", + "DESCRIPTION": "Aquí están las condiciones para desbloquear este importe:", + "DESCRIPTION_MANY": "Esta transacción esta compuesta de varias partes, cuyas condiciones de desbloqueo son:", + "LOCKED_AMOUNT": "Condiciones del importe:" + }, + "NEW": { + "TITLE": "Registrarse", + "INTRO_WARNING_TIME": "Crear una cuenta en {{name|capitalize}} es muy simple. Sin embargo, por favor tome el tiempo suficiente para hacerlo correctamente (generar y memorizar bien las credenciales, etc.)", + "INTRO_WARNING_SECURITY": "Asegúrese de que el dispositivo actual (ordenador, tablet, teléfono) <b>es seguro y de confianza</b>.", + "INTRO_WARNING_SECURITY_HELP": "Antivirus, cortafuegos, sesión protegida por contraseña o número PIN, etc.", + "INTRO_HELP": "Haga clic en <b>{{'COMMON.BTN_START'|translate}}</b> para iniciar la creación de la cuenta. Se le guiará paso a paso.", + "REGISTRATION_NODE": "Su registro será grabado a través del nodo Duniter <b>{{server}}</b>, que luego se transmitirá al resto del sistema de la moneda.", + "REGISTRATION_NODE_HELP": "Si no confía en este nodo, <a ng-click=\"doQuickFix('settings')\">cambie los ajustes</a> de Cesium.", + "SELECT_ACCOUNT_TYPE": "Elegir el tipo de cuenta a crear:", + "MEMBER_ACCOUNT": "Cuenta miembro", + "MEMBER_ACCOUNT_TITLE": "Crear una cuenta miembro", + "MEMBER_ACCOUNT_HELP": "Si todavía no es miembro (solamente una cuenta miembro posible por ser humano).", + "WALLET_ACCOUNT": "Simple monedero", + "WALLET_ACCOUNT_TITLE": "Crear una cuenta simple", + "WALLET_ACCOUNT_HELP": "Monedero simple para todos los demás casos, por ejemplo si necesita una cuenta suplementaria para un proyecto, colectivo, para hacer pruebas, etc.<br/>El Dividendo Universal no será producido para esta cuenta.", + "SALT_WARNING": "Elija su frase secreta.<br/>Se solicitará cada vez que se conectará con esta cuenta.<br/><br/><b>Conserve bien esta frase secreta</b>.<br/>¡En caso de pérdida, nadie podrá acceder a su cuenta!", + "PASSWORD_WARNING": "Elija su contraseña.<br/>Se solicitará cada vez que se conectará con esta cuenta.<br/><br/><b>Conserve bien esta contraseña</b>.<br/>¡En caso de pérdida, nadie podrá acceder su cuenta!", + "PSEUDO_WARNING": "Elija un seudónimo.<br/>Sirve para que los otros miembros puedan encontrarlo más fácilmente.<br/><br/>No debe contener <b>ni espacios ni caracteres acentuados</b>.<div class='hidden-xs'><br/>Ejemplo: <span class='gray'>SophieDupond, MarcelChemin, etc.</span>", + "PSEUDO": "Seudónimo", + "PSEUDO_HELP": "Seudónimo", + "SALT_CONFIRM": "Confirmación", + "SALT_CONFIRM_HELP": "Confirmación de la frase secreta", + "PASSWORD_CONFIRM": "Confirmación", + "PASSWORD_CONFIRM_HELP": "Confirmación de la contraseña", + "SLIDE_6_TITLE": "Confirmación:", + "COMPUTING_PUBKEY": "Cálculo en proceso…", + "LAST_SLIDE_CONGRATULATION": "<b>¡Bien!</b> Ha introducido todas los datos necesarios.<br/><b>Puede solicitar</b> la creación de su cuenta.</b><br/><br/>Para su información, la llave pública que se muestra más abajo identificará su futura cuenta.<br/>Esta podrá ser comunicada a terceros para recibir pagos.", + "CONFIRMATION_MEMBER_ACCOUNT": "<b class=\"assertive\">Advertencia:</b> la frase secreta, la contraseña y el seudónimo no podrán ser modificados.<br/><b>¡Asegúrese siempre de recordarlos!</b><br/><br/><b>¿Desea</b> solicitar la inscripción?", + "CONFIRMATION_WALLET_ACCOUNT": "<b class=\"assertive\">Advertencia:</b> la frase secreta y la contraseña no podrán ser modificados.<br/><b>¡Asegúrese de recordarlos siempre!</b><br/><br/><b>¿Desea</b> continuar?", + "CHECKING_PSEUDO": "Verificando…", + "PSEUDO_AVAILABLE": "Este nombre está disponible", + "PSEUDO_NOT_AVAILABLE": "Este nombre de usuario no está disponible", + "INFO_LICENSE": "Para unirse a la moneda, le pedimos leer y aceptar esta licencia.", + "BTN_ACCEPT": "Acepto", + "BTN_ACCEPT_LICENSE": "Acepto la licencia" + }, + "POPUP_REGISTER": { + "TITLE": "Elija un seudónimo", + "HELP": "Un seudónimo es obligatorio para ser miembro." + }, + "SELECT_IDENTITY_MODAL": { + "TITLE": "Selección de identidad", + "HELP": "Se han enviado varias <b>identidades diferentes</b> para la llave pública <span class=\"gray\"><i class=\"ion-key\"></i>{{pubkey | formatPubkey}}</span>.<br/>Por favor, selecciona la carpeta para usar:" + }, + "SELECT_WALLET_MODAL": { + "TITLE": "Selección de monedero" + }, + "WALLET_LIST": { + "IMPORT_MODAL": { + "HELP": "Para <b>importar monederos</b>, haga clic para seleccionar o arrastre en la zona de abajo el archivo con la lista de monederos.", + "NO_NEW_WALLET": "Ningún monedero nuevo", + "TITLE": "Importar monederos", + "WALLET_COUNT": "<b>{{count}}</b> nuevo{{count > 1 ? 's' : ''}} monedero{{count > 1 ? 's' : ''}}" + }, + "TITLE": "Mis monederos", + "BTN_NEW": "Añadir un monedero", + "BTN_DOWNLOAD": "Descargue el listado", + "BTN_IMPORT_FILE_DOTS": "Importar desde fichero…", + "NO_WALLET": "Sin monedero secundario", + "BTN_DELETE": "Eliminar un monedero secundario…", + "BTN_RENAME": "Renombrar el monedero", + "EXPORT_FILENAME": "monederos-{{pubkey|formatPubkey}}-{{currency}}.csv", + "TOTAL_DOTS": "Total : ", + "EDIT_POPOVER": { + "TITLE": "Renombrar el monedero", + "HELP": "Escribe el nuevo nombre", + "NAME_HELP": "Nombre del monedero" + } + }, + "SECURITY": { + "KEYFILE": { + "ERROR": { + "BAD_CHECKSUM": "Suma de control (checksum) incorrecta", + "BAD_PASSWORD": "Frase secreta incorrecta" + }, + "EWIF_FORMAT": "Formato EWIF (Encrypted Wallet Import Format) - v1", + "EWIF_FORMAT_HELP": "Este formato almacena su archivo de llaves <b>de forma cifrada</b> a partir de una frase secreta de su elección. También guarda una suma de control (checksum) para verificar la integridad del archivo.<br/><b>Atención :</b>¡ Asegúrese siempre de recordar su frase secreta !", + "PASSWORD_POPUP": { + "HELP": "Indique la frase secreta :", + "PASSWORD_HELP": "Frase secreta", + "TITLE": "Archivo de llaves cifrado" + }, + "PUBSEC_FORMAT": "Formato PubSec", + "PUBSEC_FORMAT_HELP": "Este formato almacena su archivo de llaves de forma simple. Es compatible con Cesium, ğannonce y Duniter.<br/><b>Atención :</b>El archivo <b>no está cifrado</b> (la llave privada aparece en claro) ; ¡ guárdelo en un lugar seguro !", + "WIF_FORMAT": "Formato WIF (Wallet Import Format) - v1", + "WIF_FORMAT_HELP": "Este formato almacena su archivo de llaves con una suma de control (checksum) para verificar la integridad del archivo. Es compatible con los monederos en papel (Duniter paper wallet).<br/><b>Atención :</b>El archivo <b>no está cifrado</b> (la llave privada aparece en claro) ; ¡ guárdelo en un lugar seguro !" + }, + "ADD_QUESTION": "Añadir pregunta personalizada", + "BTN_CLEAN": "Limpiar", + "BTN_RESET": "Reiniciar", + "DOWNLOAD_REVOKE": "Guardar un archivo de revocación", + "DOWNLOAD_REVOKE_HELP" : "Tener un archivo de revocación es importante, en caso de perdida de las credenciales. Le permitirá <b>invalidar y sacar su cuenta miembro fuera de la Red de Confianza</b>, convirtíendose en un monedero simple.", + "RECOVER_ID_SELECT_FILE": "Elija el <b>archivo para salvaguardar sus credenciales</b> a utilizar :", + "GENERATE_KEYFILE": "Generar mi archivo de llaves…", + "GENERATE_KEYFILE_HELP": "Genera un archivo que le permitirá atenticarse sin tener que introducir las credenciales.<br/><b>Cuidado:</b> este archivo contendrá su llave secreta; ¡Es muy importante conservarlo en un lugar seguro!", + "KEYFILE_FILENAME": "llavero-{{pubkey|formatPubkey}}-{{currency}}-{{format}}.dunikey", + "MEMBERSHIP_IN": "Registrarse como miembro…", + "MEMBERSHIP_IN_HELP": "Le permite <b>transformar</b> una cuenta de monedero simple <b>en una cuenta miembro</b>, enviando una petición de membresía. Solo si todavía no tiene una cuenta miembro.", + "SEND_IDENTITY": "Publicar identidad…", + "SEND_IDENTITY_HELP": "Le permite asociar un seudónimo a esta cuenta, pero <b>sin pedir ser miembro</b>. La validez de este seudónimo tiene un plazo limitado.", + "HELP_LEVEL": "Elija <strong> al menos {{nb}} preguntas:</strong>", + "LEVEL": "Nivel de seguridad", + "LOW_LEVEL": "Bajo <span class=\"hidden-xs\">(2 preguntas min.)</span>", + "MEDIUM_LEVEL": "Medio <span class=\"hidden-xs\">(4 preguntas min.)</span>", + "QUESTION_1": "¿Cómo se llamaba su mejor amigo de la adolescencia?", + "QUESTION_2": "¿Cómo se llamaba su primer animal de compañía?", + "QUESTION_3": "¿Cuál es el primer plato que aprendió a cocinar?", + "QUESTION_4": "¿Cuál es la primera película que vió en un cine?", + "QUESTION_5": "¿Cuál era el destino del primer avión que cogió?", + "QUESTION_6": "¿Cómo se llamaba su docente favorito en la escuela primaria?", + "QUESTION_7": "¿Cuál sería para usted el mejor oficio?", + "QUESTION_8": "¿Cuál es su libro infantil preferido?", + "QUESTION_9": "¿Cuál fue el modelo de su primer vehículo?", + "QUESTION_10": "¿Cuál fue su sobrenombre durante su infancia?", + "QUESTION_11": "¿Cuál fue su personaje o actor/actriz preferido/a cuando era estudiante?", + "QUESTION_12": "¿Cuál fue su cantante o grupo preferido cuando era estudiante?", + "QUESTION_13": "¿En qué ciudad sus padres se encontraron?", + "QUESTION_14": "¿Cómo se llamaba su primer jefe/a?", + "QUESTION_15": "¿Cómo se llama la calle donde creció?", + "QUESTION_16": "¿Cómo se llama la primera playa donde se bañó?", + "QUESTION_17": "¿Cuál es el primer álbum que compró?", + "QUESTION_18": "¿Cuál es el nombre de su equipo deportivo preferido?", + "QUESTION_19": "¿Cuál fue el oficio de su abuelo?", + "RECOVER_ID": "Recuperar sus credenciales", + "REVOCATION_WITH_FILE": "Revocar una identidad a partir de un fichero", + "REVOCATION_WITH_FILE_DESCRIPTION": "Si ha perdido de forma permanente las credenciales de su cuenta miembro (o la seguridad de la cuenta se ve comprometida), puede usar <b>el archivo de revocación de la cuenta</b> para forzar la salida de la Red de Confianza.", + "REVOCATION_WITH_FILE_HELP": "Para <b>revocar permanentemente</b> una cuenta miembro, arrastre el archivo de revocación en el cuadro siguiente o haga clic en el cuadro para seleccionar un archivo.", + "REVOCATION_FILENAME": "revocacion-{{uid}}-{{pubkey|formatPubkey}}-{{currency}}.txt", + "REVOCATION_WALLET": "Revocar esta identidad", + "SAVE_ID": "Guardar mis credenciales", + "STRONG_LEVEL": "Alto <span class=\"hidden-xs \">(6 preguntas min.)</span>", + "TITLE": "Cuenta y seguridad", + "RECOVER_ID_HELP": "Si dispone de un <b>archivo de recuperación de sus credenciales</b>, las puede reobtener respondiendo correctamente a las preguntas personales elegidas en su momento.", + "REVOCATION_WALLET_HELP": "Pedir la revocación de vuestra identidad comporta la <b>salida de la red de confianza</b> (definitiva para el seudónimo y la llave pública asociada). La cuenta no producirá ya más el Dividendo Universal.<br/>Podrá seguir usándola como monedero simple.", + "SAVE_ID_HELP": "Creación de un archivo de recuperación, para <b>reobtener su contraseña</b> (y frase secreta) en caso de olvido. El archivo se <b>cifra</b> con ayuda de las preguntas personales elegidas." + }, + "FILE_NAME": "{{currency}}_HistorialDeCuenta_{{pubkey|formatPubkey}}_{{currentTime|formatDateForFile}}.csv", + "HEADERS": { + "TIME": "Fecha", + "AMOUNT": "Cantidad", + "COMMENT": "Comentario" + } + }, + "TRANSFER": { + "TITLE": "Transferencia", + "SUB_TITLE": "Hacer una transferencia", + "FROM": "De", + "TO": "A", + "AMOUNT": "Importe", + "AMOUNT_HELP": "Importe", + "COMMENT": "Comentario", + "COMMENT_HELP": "Comentario", + "BTN_SEND": "Enviar", + "BTN_ADD_COMMENT": "Añadir un comentario", + "REST": "Resto de cuenta", + "REST_TO": "a", + "WARN_COMMENT_IS_PUBLIC": "Tenga en cuenta que los <b>comentarios son públicos</b> (sin encriptar).", + "MODAL": { + "TITLE": "Transferencia" + } + }, + "ERROR": { + "ADD_SECONDARY_WALLET_FAILED": "Error añadiendo el monedero secundario.", + "COULD_NOT_ADD_EXISTING_WALLET": "Monedero ya existe en la lista.", + "COULD_NOT_ADD_MAIN_WALLET": "Este monedero <b>corresponde a la cuenta principal</b> con la que se conecta.<br/>Imposible añadirlo como monedero secundario.", + "ISSUE_524_TX_FAILED": "Error en la transferencia.<br/><br/>Un mensaje ha sido enviado a los/as desarrolladores/as para facilitar la resolución del problema. <b>Gracias por su ayuda</b>.", + "LOAD_WALLET_LIST_FAILED": "Error cargando los monederos secundarios.", + "ONLY_MEMBER_OR_WAS_MEMBER_CAN_EXECUTE_THIS_ACTION": "Usted debe <b>ser miembro (o haber sido miembro)</b> para poder efectuar esta acción.", + "RESTORE_WALLET_LIST_FAILED": "Error en la restauración de los monederos secundarios.", + "SAVE_WALLET_LIST_FAILED": "Error al guardar los monederos secundarios.", + "UNKNOWN_WALLET_ID": "Monedero secundario desconocido.", + "UPDATE_WALLET_LIST_FAILED": "Error en la actualización de los monederos secundarios.", + "UNKNOWN_URI_FORMAT": "Formato URI desconocido", + "PUBKEY_INVALID_CHECKSUM": "Llave pública no válida (suma de comprobación incorrecta).", + "POPUP_TITLE": "Error", + "UNKNOWN_ERROR": "Error desconocido", + "CRYPTO_UNKNOWN_ERROR": "Su navegador parece incompatible con las funcionalidades de cryptografía.", + "DOWNLOAD_KEYFILE_FAILED": "Error al generar el archivo de llaves.", + "EQUALS_TO_PSEUDO": "Debe ser diferente del seudónimo.", + "EQUALS_TO_SALT": "Debe ser diferente de la frase secreta.", + "FIELD_REQUIRED": "Campo obligatorio.", + "FIELD_TOO_SHORT": "Valor demasiado corta.", + "FIELD_TOO_SHORT_WITH_LENGTH": "Valor demasiado corta ({{minLength}} carácteres mín)", + "FIELD_TOO_LONG": "Valor demasiado largo", + "FIELD_TOO_LONG_WITH_LENGTH": "Valor demasiado largo, ({{maxLength}} carácteres máx)", + "FIELD_MIN": "Valor mínimo: {{min}}", + "FIELD_MAX": "Valor máximo: {{max}}", + "FIELD_ACCENT": "Caracteres acentuados y comas no autorizados", + "FIELD_NOT_NUMBER": "Valor numérico esperado", + "FIELD_NOT_INT": "Valor entero esperado", + "FIELD_NOT_EMAIL": "Correo electrónico no válido", + "PASSWORD_NOT_CONFIRMED": "No coincide con la contraseña anterior.", + "SALT_NOT_CONFIRMED": "No corresponde a la frase secreta anterior.", + "SEND_IDENTITY_FAILED": "Error de la inscripción.", + "SEND_CERTIFICATION_FAILED": "Error de la certificación.", + "NEED_MEMBER_ACCOUNT_TO_CERTIFY": "No se puede certificar, porque su cuenta no <b>es miembro</b>.", + "NEED_MEMBER_ACCOUNT_TO_CERTIFY_HAS_SELF": "No se puede certificar, porque su cuenta todavía no es miembro.<br/><br/>Todavía faltan certificaciones para serlo.", + "IDENTITY_TO_CERTIFY_HAS_NO_SELF": "Esta cuenta no se pudo certificar. No se ha solicitado la membresía, o se necesita renovarla.", + "LOGIN_FAILED": "Error durante la autentificación.", + "LOAD_IDENTITY_FAILED": "Error de carga de la identidad.", + "LOAD_REQUIREMENTS_FAILED": "Error de carga de las condiciones de la identidad.", + "SEND_MEMBERSHIP_IN_FAILED": "Error en el intento de entrada en la comunidad.", + "SEND_MEMBERSHIP_OUT_FAILED": "Error en la interrupción de adhesión.", + "REFRESH_WALLET_DATA": "Error en la actualización del monedero.", + "GET_CURRENCY_PARAMETER": "Error en la recuperación de las reglas de moneda.", + "GET_CURRENCY_FAILED": "Carga de la moneda imposible. Por favor, intente más tarde.", + "SEND_TX_FAILED": "Error en la transferencia.", + "ALL_SOURCES_USED": "Por favor, espera el cálculo del bloque siguiente (Todas sus fuentes de moneda fueron utilizada).", + "NOT_ENOUGH_SOURCES": "No lo bastante cambio para mandar este importe en una sola transacción.<br/>Importe máximo: {{amount}} {{unit}}<sub>{{subUnit}}</sub>.", + "ACCOUNT_CREATION_FAILED": "Error en la creación de la cuenta miembro.", + "RESTORE_WALLET_DATA_ERROR": "Error en la recarga de los ajustes desde el almacenamiento local", + "LOAD_WALLET_DATA_ERROR": "Error en la carga de los datos del monedero.", + "COPY_CLIPBOARD_FAILED": "Copia de la valor imposible.", + "TAKE_PICTURE_FAILED": "Error en la recuperación de la foto.", + "SCAN_FAILED": "Error en el escán del Codigo QR", + "SCAN_UNKNOWN_FORMAT": "Codigo no reconocido.", + "WOT_LOOKUP_FAILED": "Error en la búsqueda", + "LOAD_PEER_DATA_FAILED": "Lectura del nodo Duniter imposible. Por favor, intente más tarde.", + "NEED_LOGIN_FIRST": "Por favor, conéctese en primer lugar.", + "AMOUNT_REQUIRED": "El importe es obligatorio.", + "AMOUNT_NEGATIVE": "Importe negativo no autorizado.", + "NOT_ENOUGH_CREDIT": "Crédito insuficiente.", + "INVALID_NODE_SUMMARY": "Nodo ilocalizable o dirección inválida.", + "INVALID_USER_ID": "El seudónimo no debe contener ni espacios ni caracteres especiales o acentuado.", + "INVALID_COMMENT": "El campo 'referencia’ no debe contener carácteres acentuados.", + "INVALID_PUBKEY": "La llave pública no tiene el formato esperado.", + "INVALID_PUBKEY_CHECKSUM": "Suma de comprobación inválida.", + "IDENTITY_REVOKED": "Esta identidad <b>fue revocada</b>. No puede volver a convertirla en miembro.", + "IDENTITY_REVOKED_WITH_TIME": "Esta identidad <b>fue revocada {{revocationTime|medianFromNow}}</b> ({{revocationTime|medianDate}}). No puede volver a convertirla en miembro.", + "IDENTITY_PENDING_REVOCATION": "La <b>revocación de esta identidad</b> fue solicitado y esta en espera de tratamiento. Por lo que, la certificación es desactivada.", + "IDENTITY_INVALID_BLOCK_HASH": "Esta solicitud de adhesión no es valida (porque denomina un bloque los nodos de la red han anulado): este individuo/a debe renovelar su solicitud de adhesión <b>antes que</b> estar certificada.", + "IDENTITY_EXPIRED": "La publicación de esta identidad ha caducada: este individuo/a debe realizar una nueva solicitud de adhesión <b>antes que</b> estar certificada.", + "IDENTITY_SANDBOX_FULL": "EL nodo Duniter utilizado por Cesium ya no puede recibir más nuevas identidades, porque la fila de espera es llena.<br/><br/>Por favor, intenta ulteriormente o cambia de nodo (vía el menú <b>Ajustes</b>).", + "IDENTITY_NOT_FOUND": "Identidad no encontrada", + "IDENTITY_TX_FAILED": "Error cargando las transacciones de la identidad", + "WOT_PENDING_INVALID_BLOCK_HASH": "Adhesión no validada.", + "WALLET_INVALID_BLOCK_HASH": "Su solicitud de adhesión ya no está validada (porque denomina un bloque los nodos de la red han anulado).<br/>Debe <a ng-click=\"doQuickFix('fixMembership')\">mandar una nueva solicitud</a> para resolver este problema.", + "WALLET_IDENTITY_EXPIRED": "La publicación de <b>su identidad ha caducada</b>.<br/>Debe <a ng-click=\"doQuickFix('fixIdentity')\">publicar une outra vez su identidad</a> para resolver este problema.", + "WALLET_REVOKED": "Su identidad fue <b>revocada</b>: ni su seudónimo ni su llave pública podrán estar utilizados en el futuro por una cuenta miembro.", + "WALLET_HAS_NO_SELF": "Su identidad debe en primer lugar haber estado publicado, y no estar caducada.", + "AUTH_REQUIRED": "Autenticación requerida.", + "AUTH_INVALID_PUBKEY": "La llave pública no se corresponde con la cuenta conectada", + "AUTH_INVALID_SCRYPT": "De usuario o contraseña no válidos.", + "AUTH_INVALID_FILE": "archivo de llave no válido.", + "AUTH_FILE_ERROR": "No se pudo abrir el archivo de llave", + "IDENTITY_ALREADY_CERTIFY": "Ha <b>ya certificado</b> esta identidad.<br/><br/>Esta certificación todavía es valida (expiration {{expiresIn|formatDurationTo}}).", + "IDENTITY_ALREADY_CERTIFY_PENDING": "Ha <b>ya certificado</b> esta identidad.<br/><br/>Esta certificación está en espera de tratamiento (fecha límite de tratamiento {{expiresIn|formatDurationTo}}).", + "UNABLE_TO_CERTIFY_TITLE": "Certificación imposible", + "LOAD_NEWCOMERS_FAILED": "No se pudo cargar las nuevas membresías.", + "LOAD_PENDING_FAILED": "No se pudo cargar las inscripciones pendientes.", + "ONLY_MEMBER_CAN_EXECUTE_THIS_ACTION": "Debe <b>ser miembro</b> para poder realizar esta acción.", + "ONLY_SELF_CAN_EXECUTE_THIS_ACTION": "Debe haber <b>publicado su identidad</b> para poder realizar esta acción.", + "GET_BLOCK_FAILED": "Error en la recuperación del bloque", + "INVALID_BLOCK_HASH": "Bloque no encontrado (hash diferente)", + "DOWNLOAD_REVOCATION_FAILED": "Debe seleccionar un fichero de texto", + "REVOCATION_FAILED": "Error en la revocación.", + "SALT_OR_PASSWORD_NOT_CONFIRMED": "Frase secreta o contraseña incorrectos", + "RECOVER_ID_FAILED": "Error en la recuperación de las credenciales", + "LOAD_FILE_FAILED": "Error en la carga del archivo", + "NOT_VALID_REVOCATION_FILE": "Archivo de revocación no válido (formato de archivo erróneo)", + "NOT_VALID_SAVE_ID_FILE": "Archivo no válido (formato de archivo erróneo)", + "NOT_VALID_KEY_FILE": "Archivo no válido (formato de archivo erróneo)", + "EXISTING_ACCOUNT": "Sus credenciales corresponden a una cuenta existente, la <a ng-click=\"showHelpModal('pubkey')\">llave pública</a> es:", + "EXISTING_ACCOUNT_REQUEST": "Por favor, cambie sus credenciales para que coincida con una cuenta sin usar.", + "GET_LICENSE_FILE_FAILED": "Error al obtener el archivo de licencia", + "CHECK_NETWORK_CONNECTION": "No se puede conectar a ningún nodo.<br/><br/><b>Compruebe la conexión a Internet</b>.", + "INVALID_FILE_FORMAT": "Formato de archivo inválido.", + "SAME_TX_RECIPIENT": "El destinatario debe ser diferente del emisor." + }, + "INFO": { + "POPUP_TITLE": "Información", + "CERTIFICATION_DONE": "Certificación enviada", + "NOT_ENOUGH_CREDIT": "Crédito insuficiente", + "TRANSFER_SENT": "Transferencia enviada", + "COPY_TO_CLIPBOARD_DONE": "Copia realizada", + "MEMBERSHIP_OUT_SENT": "Anulación enviada", + "NOT_NEED_MEMBERSHIP": "Ya es miembro.", + "IDENTITY_WILL_MISSING_CERTIFICATIONS": "Esta identidad pronto va a necesitar certificaciones (al menos {{willNeedCertificationCount}}).", + "IDENTITY_NEED_MEMBERSHIP": "Esta identidad no ha enviado una solicitud de membresía para convertirse en miembro.", + "HAS_ALTERNATIVE_IDENTITIES": "Hay <b>identidades múltiples</b> adjuntas a esta llave pública. <b>Antes de cualquier certificación</b>, <a ng-click=\"doQuickFix('showSelectIdentities')\">verifique otras identidades</a> para elegir la correcta o comuníquese con el propietario de la cuenta.", + "REVOCATION_SENT": "Revocación enviada", + "REVOCATION_SENT_WAITING_PROCESS": "La <b>revocación de esta identidad</b> fue solicitada y está en espera de ser procesada.", + "FEATURES_NOT_IMPLEMENTED": "Esta funcionalidad todavía está en proceso de desarrollo.<br/><br/>¿Por qué no <b>contribuir a Cesium</b>, para obtenerla más rápido? ;)", + "EMPTY_TX_HISTORY": "Ninguna operación a exportar" + }, + "CONFIRM": { + "CAN_CONTINUE": "<b>¿Desea</b> continuar?", + "EXIT_APP": "¿ Cerrar la aplicación ?", + "FULLSCREEN": "¿ Mostrar la aplicación en pantalla completa ?", + "ISSUE_524_SEND_LOG": "La transacción ha sido rechazada a causa de una anomalía conocida (ticket #524) pero todavía <b>no replicable</b>.<br/><br/>Para ayudar a los/as desarrolladores/as a corregir este error, ¿ <b>acepta el envío de los logs(trazas del programa)</b> ?<br/><small>(ningún dato confidencia será enviado)</small>.", + "POPUP_TITLE": "<b>Confirmación</b>", + "POPUP_WARNING_TITLE": "<b>Advertencia</b>", + "POPUP_SECURITY_WARNING_TITLE": "<i class=\"icon ion-alert-circled\"></i> <b>Advertencia de seguridad</b>", + "CERTIFY_RULES_TITLE_UID": "Certificar {{uid}}", "CERTIFY_RULES": "<b class=\"assertive\">NO CERTIFICAR</b> una cuenta si piensa que:<br/><br/><ul><li>1.) no corresponde a un ser humano <b>físico y vivo</b>.<li>2.) su propietario/a <b>posee otra cuenta</b> ya certificada.<li>3.) su propietaria/o incumple (voluntariamente o no) la regla 1 o 2 (por ejemplo certificando cuentas fantasmas o duplicadas).</ul><br/><b>¿Desea</b> todavía certificar esta identidad?", + "TRANSFER": "<b>Resumen de la transferencia</b>:<br/><br/><ul><li> - De: {{from}}</li><li> - A: <b>{{to}}</b></li><li> - Importe: <b>{{amount}} {{unit}}</b></li><li> - Comentario: <i>{{comment}}</i></li></ul><br/><b>Desea realizar esta transferencia?</b>", + "TRANSFER_ALL": "<b>Resumen de la transferencia</b>:<br/><br/><ul><li> - De: {{from}}</li><li> - A: <b>{{to}}</b></li><li> - Importe: <b>{{amount}} {{unit}}</b></li><li> - Comentario: <i>{{comment}}</i></li><br/><li> - Resto: <b>{{restAmount}} {{unit}}</b> para <b>{{restTo}}</b></li></ul><br/><b>¿Desea realizar esta transferencia?</b>", + "MEMBERSHIP_OUT": "Esta operación es <b>irreversible</b>.<br/></br/>¿Desea <b>anular su cuenta miembro</b>?", + "MEMBERSHIP_OUT_2": "¡Esta operación es <b>irreversible</b>!<br/><br/>¿Desea <b>anular su candidatura</b> como miembro?", + "LOGIN_UNUSED_WALLET_TITLE": "¿Error de introducción de datos?", + "LOGIN_UNUSED_WALLET": "Las credenciales introducidas corresponden a una cuenta que parece <b>inactiva</b>.<br/></br/><b>¿Quiere sin embargo continuar con esta cuenta?</b>", + "FIX_IDENTITY": "El seudónimo <b>{{uid}}</b> va a ser publicado de nuevo, en reemplazo del antiguo que caducó.<br/></br/><b>¿Desea</b> continuar?", + "FIX_MEMBERSHIP": "Su solicitud de adhesión como miembro va a ser enviada de nuevo.<br/></br/><b>¿Desea</b> continuar?", + "MEMBERSHIP": "Se enviará su solicitud de membresía como miembro.<br/></br/><b>¿Desea</b> continuar?", + "RENEW_MEMBERSHIP": "Su adhesión como miembro va a estar renovada.<br/></br/><b>¿Desea</b> continuar?", + "REVOKE_IDENTITY": "Va a <b>revocar definitivamente esta identidad</b>.<br/><br/>La llave pública y el seudónimo asociados <b>jamás podrán ser utilizados</b> (para una cuenta miembro). <br/><br/><b>¿Desea</b> revocar definitivamente esta cuenta?", + "REVOKE_IDENTITY_2": "¡Esta operación es <b>irreversible</b>!<br/><br/>¿Desea <b>revocar definitivamente</b> esta cuenta?", + "NOT_NEED_RENEW_MEMBERSHIP": "Su membresía no necesita ser renovada actualmente (caducará en {{membershipExpiresIn|formatDuration}}).<br/></br/><b>¿Confirma</b> querer renovar su membresía?", + "SAVE_BEFORE_LEAVE": "¿Desea <b>guardar sus cambios</b> antes de abandonar la página?", + "SAVE_BEFORE_LEAVE_TITLE": "Cambios no registrados", + "LOGOUT": "¿Desea desconectarse?", + "USE_FALLBACK_NODE": "Nodo <b>{{old}}</b> inalcanzable o dirección inválida.<br/><br/>¿Desea utilizar temporalmente el nodo <b>{{new}}</b>?" + }, + "DOWNLOAD": { + "POPUP_TITLE": "<b>Revocación del archivo</b>", + "POPUP_REVOKE_MESSAGE": "Para proteger su cuenta, descargue el <b>documento de revocación de cuenta</b>. Le permitirá cancelar su cuenta (en caso de robo, cambio de identificadores, cuenta creada incorrectamente, etc.).<br/><br/><b>Por favor, almacénelo en un lugar seguro.</b>" + }, + "HELP": { + "TITLE": "Ayuda en línea", + "JOIN": { + "SECTION": "Inscripción", + "SALT": "La frase secreta es muy importante. Sirve para mezclar(<span class=\"text-italic\">hash</span>) la contraseña, antes de calcular la <span class=\"text-italic\">llave pública</span> (el número de cuenta) y la <span class=\"text-italic\">llave privada</span> para acceder a esta.<br/><b>Por favor, memorícelo muy bien</b> porque no existe ninguna forma de recuperarlo en caso de pérdida.<br/>No puede ser modificado. Deberá crear una nueva cuenta si lo pierde o se olvida.<br/><br/>Una buena frase secreta debe ser suficientemente larga (al menos 8 carácteres) y lo más original posible.", + "PASSWORD": "La contraseña es muy importante. Junto a la frase secreta, sirve para calcular la llave pública (el número de cuenta), y la llave privada para acceder a ella.<br/><b>Por favor, memorícela muy bien</b> porque no existe ninguna forma de recuperarla en caso de pérdida (excepto si se tuviese un fichero de respaldo o <span class=\"text-italic\">backup</span>.).<br/>No puede ser modificada. Deberá crear una nueva cuenta si la pierde o se olvida.<br/><br/>Una buena contraseña contiene al menos 8 carácteres, con al menos una mayúscula y un dígito.", + "PSEUDO": "El seudónimo se utiliza solamente en caso de inscripción como <span class=\"text-italic\">miembro</span>. Siempre está asociado a un monedero (vía su <span class=\"text-italic\">llave pública</span>).<br/>Este se publica en la red para que los demás usuarios puedan identificar, certificar o enviar dinero a la cuenta.<br/>Un seudónimo debe ser único para cada miembro (actuales y antiguos)." + }, + "LOGIN": { + "SECTION": "Autenticación", + "PUBKEY": "Llave pública", + "PUBKEY_DEF": "La llave pública del archivo de llaves es generada de las credenciales introducidas (cualquiera que sean), sin estar obligatoriamente vinculadas o contrastadas con ninguna cuenta ya usada. <br/><b>Asegúrese por lo tanto de que la llave pública es la misma con la que se creó originalmente su cuenta</b>. De lo contrario, se autogenerará una cuenta vacía que probablemente nunca ha sido usada, ya que el riesgo de coincidir con las credenciales de otra cuenta ajena es muy pequeño.<br/><a href=\"https://es.wikipedia.org/wiki/Criptograf%C3%ADa_de_curva_el%C3%ADptica\" target=\"_ system\">Conozca más sobre criptografía</a> con llaves públicas.", + "METHOD": "Métodos de autenticación", + "METHOD_DEF": "Diversas opciones están disponibles para conectar a las cuentas: <br/> - La conexión <b>con aleatoriedad (estándar o avanzada)</b> mezcla su contraseña con su frase secreta, para limitar las posibilidades de ataque<br/> - La conexión <b>usando llave pública</b> le permite entrar sin credenciales, las cuales solo se le pedirán cuando alguna operación lo necesite.<br/> - La conexión <b>usando archivo de llaves</b> leerá las llave pública y privada de la cuenta desde un archivo sin necesitar sus credenciales. Varios formatos son posibles." + }, + "GLOSSARY": { + "DISTANCE_RULE": "Regla de distancia", + "DISTANCE_RULE_DEF": "La regle de distancia de la Red de Confianza define <b>una distancia máxima a respetar</b> entre una candidatura y número mínimo miembros referentes (aquellos más conectados). Esta distancia es calculada utilizando los enlaces de certificación.", + "WOT": "Red de Confianza (RdC)", + "WOT_DEF": "La Red de Confianza se compone del conjunto de miembros de la moneda, y de los enlaces de certificaciones que los conectan.", + "SECTION": "Glosario", + "PUBKEY_DEF": "Una llave pública identifica un monedero, que puede estar asociado a un miembro o ser un monedero anónimo. En Cesium se calcula a partir de la frase secreta y la contraseña.", + "MEMBER": "Miembro", + "MEMBER_DEF": "Cada miembro es una ser humano físico y vivo, deseosa de participar libremente en la comunidad monetaria. Percibe un dividendo universal, de acuerdo a un periodo e importe definido en las <span class=\"text-italic\">reglas de la moneda</span>", + "CURRENCY_RULES": "Reglas de la moneda", + "CURRENCY_RULES_DEF": "Las reglas de la moneda se han definido una vez y para siempre. Establecen el funcionamiento de la moneda: el cálculo del dividendo universal, la cantidad de certificaciones necesarias para ser miembro, la cantidad máxima de certificaciones que cada miembro puede emitir, etc. <a href=\"#/app/currency\">Ver las reglas actuales</a>.<br/> Sus parámetros no pueden alterarse gracias a una <span class=\"text-italic\">Cadena de Bloques</span> que soporta, implementa y verifica la buena aplicación de estas reglas.", + "BLOCKCHAIN": "Cadena de bloques (<span class=\"text-italic\">Blockchain</span>)", + "BLOCKCHAIN_DEF": "La cadena de bloques es un sistema descentralizado, que en el caso de Duniter, sirve para mantener e implementar las <span class=\"text-italic\">reglas de la moneda</span>.<br/><a href=\"http://duniter.org\" target=\"_system\">Más información</a> acerca de Duniter y el funcionamiento de su cadena de bloques.", + "UNIVERSAL_DIVIDEND_DEF": "El Dividendo Universal (DU) es la cantidad de moneda co-creada por cada miembro, dependiendo del periodo y del cálculo definidos en las <span class=\"text-italic\">reglas de la moneda</span>.<br/>En cada periodo, los miembros reciben en sus cuentas la misma cantidad de moneda.<br/><br/>El DU crece regularmente, para ser justo entre cada miembro (actualmente y en el futuro), y calculado en función de la esperanza de vida media, como se demuestra en la <span class=\"text-italic\">Teoría Relativa de la Moneda</span> (TRM, de Stéphane Laborde).<br/><a href=\"http://trm.creationmonetaire.info\">Más información</a> sobre la TRM y las monedas libres." + }, + "TIP": { + "MENU_BTN_CURRENCY": "El menú <b>{{'MENU.CURRENCY'|translate}}</b> permite consultar las <b>reglas de la moneda</b> y su estado.", + "CURRENCY_WOT": "El <b>número de miembros</b> muestra el peso de la comunidad y permite <b>seguir su evolución</b>.", + "CURRENCY_MASS": "Siga aquí la <b>cantidad total de moneda</b> existente y su <b>distribución media</b> por miembro.<br/><br/>Esto permite juzgar la <b>relevancia de un importe</b>, en relación con lo que <b>poseen los demás</b> en sus cuentas (de media).", + "CURRENCY_UNIT_RELATIVE": "La unidad utilizada (“<b>{{'COMMON.UD'|translate}}<sub>{{currency|abbreviate}}</sub></b>”) significa que los importes en {{currency|capitalize}} han sido divididos entre el valor del <b>Dividendo Universal</b> (DU).<br/><br/><small> Esta unidad relativa es <b>pertinente</b>, porque permanece estable, independiente de la cantidad de moneda que aumenta constantemente.</small>", + "CURRENCY_CHANGE_UNIT": "Este botón permite <b>cambiar la unidad</b>, para visualizar los importes <b>directamente en {{currency|capitalize}}</b> (en lugar de “<b>{{'COMMON.UD'|translate}}<sub>{{currency|abbreviate}}</sub></b>”).", + "CURRENCY_CHANGE_UNIT_TO_RELATIVE": "Este botón permite <b>cambiar la unidad</b>, para visualizar los importes en “<b>{{'COMMON.UD'|translate}}<sub>{{currency|abbreviate}}</sub></b>”, es decir, relativo al Dividendo Universal (el monto co-producido por cada miembro).", + "CURRENCY_RULES": "Las <b>reglas</b> de la moneda fijan su funcionamiento <b>exacto y previsible</b>.<br/><br/>Es el propio ADN de la moneda, que hace que su código monetario sea <b>legible y transparente</b>.", + "MENU_BTN_NETWORK": "El menú <b>{{'MENU.NETWORK'|translate}}</b> permite consultar el estado de la red.", + "NETWORK_BLOCKCHAIN": "Todas las transacciones de la moneda están registradas dentro de un gran libro de contabilidad <b>público e infalsificable</b>, conocido como la <b>cadena de bloques</b> (<em>BlockChain</em> en inglés).", + "NETWORK_PEERS": "Los <b>nodos</b> visibles aquí corresponden a los <b>dispositivos de miembros que actualizan y validan</b> la cadena de bloques.<br/><br/>Cuanto más nodos haya conectados, la moneda tendrá una gestión más <b>descentralizada</b> y digna de confianza.", + "NETWORK_PEERS_BLOCK_NUMBER": "Este <b>número</b> (en verde) indica el <b>último bloque validado</b> por este nodo (última página escrita en la cadena de bloques).<br/><br/>El color verde indica que este bloque ha sido también validado por <b>la mayoría del resto de nodos</b>.", + "NETWORK_PEERS_PARTICIPATE": "<b>Cada miembro</b>, equipado de un dispositivo conectado a Internet, <b>puede contribuir añadiendo un nodo</b>. Necesita <b>instalar el programa Duniter</b> (libre y gratuito). <a href=\"{{installDocUrl}}\" target=\"_system\">Ver manual de uso >></a>.", + "MENU_BTN_ACCOUNT": "<b>{{'ACCOUNT.TITLE'|translate}}</b> permite acceder a la gestión y al historial de su cuenta.", + "MENU_BTN_ACCOUNT_MEMBER": "Consulte aquí el estado de su cuenta y la información sobre sus certificaciones.", + "WALLET_CERTIFICATIONS": "Haga clic aquí para consultar el detalle de sus certificaciones (recibidas y emitidas).", + "WALLET_RECEIVED_CERTIFICATIONS": "Haga clic aquí para consultar el detalle de sus <b>certificaciones recibidas</b>.", + "WALLET_GIVEN_CERTIFICATIONS": "Haga clic aquí para consultar el detalle de sus <b>certificaciones emitidas</b>.", + "WALLET_BALANCE": "El <b>saldo</b> de su cuenta se visualiza aquí.", + "WALLET_BALANCE_RELATIVE": + "{{'HELP.TIP.WALLET_BALANCE'|translate}}<br/><br/>La unidad utilizada (“<b>{{'COMMON.UD'|translate}}<sub>{{currency|abbreviate}}</sub></b>”) significa que el importe en {{currency|capitalize}} fue dividido entre el <b>Dividendo Universal</b> (DU) co-producido por cada miembro.<br/><br/>Actualmente un DU vale {{currentUD|formatInteger}} {{currency|capitalize}}s.", + "WALLET_BALANCE_CHANGE_UNIT": "Podrá <b>cambiar la unidad</b> de visualización de los importes en los <b><i class=\"icon ion-android-settings\"></i> {{'MENU.SETTINGS'|translate}}</b>.<br/><br/>Por ejemplo, para visualizar los importes <b>directamente en {{currency|capitalize}}</b>, en lugar de unidad relativa.", + "WALLET_PUBKEY": "Esta es la llave pública de su cuenta. Puede comunicarla a un tercero para que pueda identificar su cuenta de forma simple.", + "WALLET_SEND": "Realizar un pago en algunos clics", + "WALLET_SEND_NO_MONEY": "Realizar un pago en algunos clics.<br/>(Su saldo ya no lo permite)", + "WALLET_OPTIONS": "Este botón permite acceder a las <b>acciones de adhesión</b> y de seguridad.<br/><br/>¡No olvide echar un vistazo!", + "WALLET_RECEIVED_CERTS": "Se exhibirá aquí la lista de individuo/as que le han certificado.", + "WALLET_CERTIFY": "El botón <b>{{'WOT.BTN_SELECT_AND_CERTIFY'|translate}}</b> permite seleccionar una identidad y certificarla.<br/><br/>Solo quienes son <b>miembros</b> pueden certificar a otros seres humanos.", + "WALLET_CERT_STOCK": "Su stock de certificaciones (emitidas) es limitado a <b>{{sigStock}} certificaciones</b>.<br/><br/>Este stock se renueva con el tiempo, a medida que las certificaciones caducan.", + "MENU_BTN_TX": "El menú <b>{{'MENU.TRANSACTIONS'|translate}}</b> permite consultar su saldo, el historial de transacciones y realizar nuevos pagos.", + "MENU_BTN_WALLETS": "El menú <b>{{'MENU.WALLETS'|translate}}</b> permite añadir monederos complementarios que usted maneja.", + "MENU_BTN_WOT": "El menú <b>{{'MENU.WOT'|translate}}</b> permite buscar <b>usuarios</b> de la moneda (miembro o no).", + "WOT_SEARCH_TEXT_XS": "Para buscar en el directorio, escriba las <b>primeras letras de un seudónimo</b> (o de una llave pública).<br/><br/>La búsqueda se iniciará automáticamente.", + "WOT_SEARCH_TEXT": "Para buscar en el directorio, escriba las <b>primeras letras de un seudónimo</b> (o de una llave pública). <br/><br/>Luego, pulse en la tecla <b>Intro</b> para iniciar la búsqueda.", + "WOT_SEARCH_RESULT": "Visualice la ficha detallada <b>haciendo clic</b> sobre una fila.", + "WOT_VIEW_CERTIFICATIONS": "La opción <b>{{'ACCOUNT.CERTIFICATION_COUNT'|translate}}</b> muestra qué miembros han validado esta identidad.<br/><br/>Estas certificaciones atestiguan que la cuenta pertenece a <b>un ser humano vivo</b> y que no posee <b>ninguna otra cuenta miembro</b>.", + "WOT_VIEW_CERTIFICATIONS_COUNT": "Necesita al menos <b>{{sigQty}} certificaciones</b> para ser miembro y recibir el <b>Dividendo Universal</b>.", + "WOT_VIEW_CERTIFICATIONS_CLICK": "Un clic aquí permite abrir <b>la lista de todas las certificaciones</b> de la identidad (recibidas y emitidas).", + "WOT_VIEW_CERTIFY": "El botón <b>{{'WOT.BTN_CERTIFY'|translate}}</b> permite añadir su certificación a esta identidad.", + "CERTIFY_RULES": "<b>Atención:</b> Certifique solamente <b>seres humanos físicos vivos</b>, que no posean ya ninguna otra cuenta miembro.<br/><br/>¡La seguridad de la red de la moneda depende del cuidado de cada individuo/a!", + "MENU_BTN_SETTINGS": "En <b>{{'MENU.SETTINGS'|translate}}</b> podrá configurar la aplicación.", + "HEADER_BAR_BTN_PROFILE": "Haga clic aquí para acceder a su <b>perfil</b>", + "SETTINGS_CHANGE_UNIT": "Podrá <b>cambiar la unidad de visualización</b> de los importes haciendo clic aquí.<br/><br/>- Desactive la opción para mostrar los importes en {{currency|capitalize}}.<br/>- Actívela para importes relativos al {{'COMMON.UD'|translate}}<sub>{{currency|abbreviate}}</sub> (las cantidades de los importes se mostrarán <b>divididos</b> entre el Dividendo Universal actual).", + "END_LOGIN": "¡La visita guiada ha <b>terminado</b>!<br/><br/>¡Buena suerte en este nuevo mundo de la <b>economía libre</b> !", + "END_NOT_LOGIN": "¡La visita guiada ha <b>terminado</b>!<br/><br/>Si quiere utilizar la moneda {{currency|capitalize}}, tiene que hacer un clic en <b>{{'LOGIN.CREATE_ACCOUNT'|translate}}</b> más abajo." + } + } +} diff --git a/src/assets/i18n/fr.json b/src/assets/i18n/fr.json new file mode 100644 index 0000000..8622064 --- /dev/null +++ b/src/assets/i18n/fr.json @@ -0,0 +1,1025 @@ +{ + "COMMON": { + "APP_NAME": "Cesium", + "APP_VERSION": "v{{version}}", + "APP_BUILD": "date : {{build}}", + "PUBKEY": "Clé publique", + "MEMBER": "Membre", + "BLOCK" : "Bloc", + "BTN_OK": "OK", + "BTN_YES": "Oui", + "BTN_NO": "Non", + "BTN_SEND": "Envoyer", + "BTN_SEND_MONEY": "Faire un virement", + "BTN_SEND_MONEY_SHORT": "Virement", + "BTN_SAVE": "Enregistrer", + "BTN_YES_SAVE": "Oui, Enregistrer", + "BTN_YES_CONTINUE": "Oui, Continuer", + "BTN_SHOW": "Voir", + "BTN_SHOW_PUBKEY": "Afficher la clé publique", + "BTN_RELATIVE_UNIT": "Afficher les montants en DU ?", + "BTN_BACK": "Retour", + "BTN_NEXT": "Suivant", + "BTN_IMPORT": "Importer", + "BTN_CANCEL": "Annuler", + "BTN_CLOSE": "Fermer", + "BTN_LATER": "Plus tard", + "BTN_LOGIN": "Se connecter", + "BTN_LOGOUT": "Déconnexion", + "BTN_ADD_ACCOUNT": "Nouveau compte", + "BTN_SHARE": "Partager", + "BTN_EDIT": "Modifier", + "BTN_DELETE": "Supprimer", + "BTN_ADD": "Ajouter", + "BTN_SEARCH": "Rechercher", + "BTN_REFRESH": "Actualiser", + "BTN_RETRY": "Recommencer", + "BTN_START": "Commencer", + "BTN_CONTINUE": "Continuer", + "BTN_CREATE": "Créer", + "BTN_UNDERSTOOD": "J'ai compris", + "BTN_OPTIONS": "Options", + "BTN_HELP_TOUR": "Visite guidée", + "BTN_HELP_TOUR_SCREEN": "Découvrir cet écran", + "BTN_DOWNLOAD": "Télécharger", + "BTN_DOWNLOAD_ACCOUNT_STATEMENT": "Télécharger le relevé du compte", + "BTN_MODIFY": "Modifier", + "CHOOSE_FILE": "Déposez votre fichier <br/>ou cliquez pour le sélectionner", + "DAYS": "jours", + "NO_ACCOUNT_QUESTION": "Pas encore de compte ? Créez-en un gratuitement !", + "SEARCH_NO_RESULT": "Aucun résultat trouvé", + "LOADING": "Veuillez patienter...", + "LOADING_WAIT": "Veuillez patienter...<br/><small>(Cesium interroge le nœud Duniter)</small>", + "SEARCHING": "Recherche en cours...", + "FROM": "De", + "TO": "À", + "COPY": "Copier", + "LANGUAGE": "Langue", + "UNIVERSAL_DIVIDEND": "Dividende universel", + "UD": "DU", + "DATE_PATTERN": "DD/MM/YY HH:mm", + "DATE_FILE_PATTERN": "YYYY-MM-DD", + "DATE_SHORT_PATTERN": "DD/MM/YY", + "DATE_MONTH_YEAR_PATTERN": "MM/YYYY", + "EMPTY_PARENTHESIS": "(vide)", + "UID": "Pseudonyme", + "ENABLE": "Activé", + "DISABLE": "Désactivé", + "RESULTS_LIST": "Résultats", + "RESULTS_COUNT": "{{count}} résultats", + "EXECUTION_TIME": "exécuté en {{duration|formatDurationMs}}", + "SHOW_VALUES": "Afficher les valeurs en clair ?", + "POPOVER_ACTIONS_TITLE": "Options", + "POPOVER_FILTER_TITLE": "Filtres", + "SHOW_MORE": "Afficher plus", + "SHOW_MORE_COUNT": "(limite actuelle à {{limit}})", + "POPOVER_SHARE": { + "TITLE": "Partager", + "SHARE_ON_TWITTER": "Partager sur Twitter", + "SHARE_ON_FACEBOOK": "Partager sur Facebook", + "SHARE_ON_DIASPORA": "Partager sur Diaspora*", + "SHARE_ON_GOOGLEPLUS": "Partager sur Google+" + }, + "FILE": { + "DATE": "Date :", + "TYPE": "Type :", + "SIZE": "Taille :", + "VALIDATING": "Validation en cours..." + } + }, + "SYSTEM": { + "PICTURE_CHOOSE_TYPE": "Choisir la source :", + "BTN_PICTURE_GALLERY": "Galerie", + "BTN_PICTURE_CAMERA": "<b>Caméra</b>" + }, + "MENU": { + "HOME": "Accueil", + "WOT": "Annuaire", + "CURRENCY": "Monnaie", + "ACCOUNT": "Mon compte", + "WALLETS": "Mes portefeuilles", + "SETTINGS": "Paramètres", + "NETWORK": "Réseau", + "TRANSACTIONS": "Mes opérations" + }, + "ABOUT": { + "TITLE": "À propos", + "LICENSE": "Application <b>libre</b> (Licence GNU AGPLv3).", + "LATEST_RELEASE": "Il existe une <b>version plus récente</b> de {{'COMMON.APP_NAME'|translate}} (<b>v{{version}}</b>)", + "PLEASE_UPDATE": "Veuillez mettre à jour {{'COMMON.APP_NAME'|translate}} (dernière version : <b>v{{version}}</b>)", + "CODE": "Code source :", + "OFFICIAL_WEB_SITE": "Site web officiel :", + "DEVELOPERS": "Développé par :", + "FORUM": "Forum :", + "PLEASE_REPORT_ISSUE": "N'hésitez pas à nous remonter les anomalies rencontrées", + "REPORT_ISSUE": "Remonter un problème", + "BTN_OPEN_DEV_WINDOW": "Ouvrir la fenêtre de debuggage" + }, + "HOME": { + "TITLE": "Cesium", + "WELCOME": "Bienvenue dans l'application Cesium !", + "WELCOME_READONLY": "Bienvenue dans Cesium <span class='badge badge-balanced'>Monit</span> !", + "MESSAGE": "Recevez et envoyez de la monnaie libre {{currency|abbreviate}}", + "MESSAGE_READONLY": "Suivez l'état de la monnaie libre {{currency|abbreviate}} en temps réel.", + "BTN_CURRENCY": "Explorer la monnaie {{currency|abbreviate}}", + "BTN_ABOUT": "à propos", + "BTN_HELP": "Aide en ligne", + "BTN_NETWORK": "État du réseau", + "FREE_SOFTWARE": "Logiciel libre", + "FORK_ME": "Clonez-moi !", + "SHOW_LICENSE": "Voir la license de l'application", + "REPORT_ISSUE": "anomalie", + "NOT_YOUR_ACCOUNT_QUESTION" : "Vous n'êtes pas propriétaire du compte <b class=\"ion-key\"> {{pubkey|formatPubkey}}</b> ?", + "BTN_CHANGE_ACCOUNT": "Déconnecter ce compte", + "CONNECTION_ERROR": "Nœud <b>{{server}}</b> injoignable ou adresse invalide.<br/><br/>Vérifiez votre connexion Internet, ou changer de nœud <a class=\"positive\" ng-click=\"doQuickFix('settings')\">dans les paramètres</a>.", + "SHOW_ALL_FEED": "Voir tout", + "READ_MORE": "Lire la suite", + "FEED_SOURCE": "Source" + }, + "SETTINGS": { + "TITLE": "Paramètres", + "DISPLAY_DIVIDER": "Affichage", + "STORAGE_DIVIDER": "Stockage", + "NETWORK_SETTINGS": "Réseau", + "PEER": "Nœud Duniter", + "PEER_SHORT": "Nœud Duniter", + "PEER_CHANGED_TEMPORARY": "Adresse utilisée temporairement", + "PERSIST_CACHE": "Conserver les données de navigation (expérimental)", + "PERSIST_CACHE_HELP": "Permet une navigation plus rapide, en conservant localement les données reçues, pour les utiliser d'une session à l'autre.", + "USE_LOCAL_STORAGE": "Activer le stockage local", + "USE_LOCAL_STORAGE_HELP": "Permet de sauvegarder vos paramètres", + "WALLETS_SETTINGS": "Mes portefeuilles", + "USE_WALLETS_ENCRYPTION": "Sécuriser la liste ?", + "USE_WALLETS_ENCRYPTION_HELP": "Permet de sécuriser la liste de vos portefeuilles (par chiffrement), en exigeant une authentification pour y accéder.", + "ENABLE_HELPTIP": "Activer les bulles d'aide contextuelles ?", + "DISABLE_HELPTIP": "Désactiver les bulles d'aide contextuelles", + "ENABLE_UI_EFFECTS": "Activer les effets visuels ?", + "ENABLE_UI_EFFECTS_HELP": "Transition entre les pages, animation des listes, etc.", + "HISTORY_SETTINGS": "Mes opérations", + "DISPLAY_UD_HISTORY": "Afficher les dividendes produits ?", + "TX_HISTORY_AUTO_REFRESH": "Rafraîchir automatiquement", + "TX_HISTORY_AUTO_REFRESH_HELP": "Rafraîchit le solde et les opérations automatiquement, à chaque nouveau bloc du réseau.", + "AUTHENTICATION_SETTINGS": "Authentification", + "KEEP_AUTH": "Désauthentification automatique", + "KEEP_AUTH_SHORT": "Désauthentification", + "KEEP_AUTH_HELP": "Définit le moment où l'authentification est nettoyée de la mémoire.", + "KEEP_AUTH_OPTION": { + "NEVER": "Après chaque opération", + "SECONDS": "Après {{value}}s d'inactivité", + "MINUTE": "Après {{value}}min d'inactivité", + "MINUTES": "Après {{value}}min d'inactivité", + "HOUR": "Après {{value}}h d'inactivité", + "ALWAYS": "A la fin de la session" + }, + "KEYRING_FILE": "Fichier de trousseau", + "KEYRING_FILE_HELP": "Permet de vous <b>connecter</b> automatiquement à chaque lancement<br/>et même de vous <b>authentifier</b> (seulement si \"Expiration de l'authentification\" est configurée \"à la fin de la session\").", + "REMEMBER_ME": "Se souvenir de moi ?", + "REMEMBER_ME_HELP": "Permet de rester identifié d'une session à l'autre, en conservant localement la clé publique.", + "PLUGINS_SETTINGS": "Extensions", + "BTN_RESET": "Restaurer les valeurs par défaut", + "EXPERT_MODE": "Activer le mode expert", + "EXPERT_MODE_HELP": "Permet un affichage plus détaillé.", + "BLOCK_VALIDITY_WINDOW": "Délai d'incertitude des blocs", + "BLOCK_VALIDITY_WINDOW_SHORT": "Délai d'incertitude", + "BLOCK_VALIDITY_WINDOW_HELP": "Délai avant de considérer qu'une information est validée", + "BLOCK_VALIDITY_OPTION": { + "NONE": "Aucun délai", + "N": "{{time | formatDuration}} ({{count}} blocs)" + }, + "POPUP_PEER": { + "TITLE": "Nœud Duniter", + "HOST": "Adresse", + "HOST_HELP": "Adresse : serveur:port", + "USE_SSL": "Sécurisé ?", + "USE_SSL_HELP": "(Chiffrement SSL)", + "BTN_SHOW_LIST": "Liste des noeuds" + } + }, + "BLOCKCHAIN": { + "HASH": "Hash : {{hash}}", + "VIEW": { + "HEADER_TITLE": "Bloc #{{number}}-{{hash|formatHash}}", + "TITLE_CURRENT": "Bloc courant", + "TITLE": "Bloc #{{number|formatInteger}}", + "COMPUTED_BY": "Calculé par le noeud de", + "SHOW_RAW": "Voir le fichier brut", + "TECHNICAL_DIVIDER": "Informations techniques", + "VERSION": "Version du format", + "HASH": "Hash calculé", + "UNIVERSAL_DIVIDEND_HELP": "Monnaie co-produite par chacun des {{membersCount}} membres", + "EMPTY": "Aucune donnée dans ce bloc", + "POW_MIN": "Difficulté minimale", + "POW_MIN_HELP": "Difficulté imposée pour le calcul du hash", + "DATA_DIVIDER": "Données", + "IDENTITIES_COUNT": "Nouvelles identités", + "JOINERS_COUNT": "Nouveaux membres", + "ACTIVES_COUNT": "Renouvellements", + "ACTIVES_COUNT_HELP": "Membres ayant renouvelé leur adhésion", + "LEAVERS_COUNT": "Membres sortants", + "LEAVERS_COUNT_HELP": "Membres ne souhaitant plus de certification", + "EXCLUDED_COUNT": "Membres exclus", + "EXCLUDED_COUNT_HELP": "Anciens membres exclus par non renouvellement ou manque de certifications", + "REVOKED_COUNT": "Identités révoquées", + "REVOKED_COUNT_HELP": "Ces comptes ne pourront plus être membres", + "TX_COUNT": "Transactions", + "CERT_COUNT": "Certifications", + "TX_TO_HIMSELF": "Opération de change", + "TX_OUTPUT_UNLOCK_CONDITIONS": "Conditions de déblocage", + "TX_OUTPUT_OPERATOR": { + "AND": "et", + "OR": "ou" + }, + "TX_OUTPUT_FUNCTION": { + "SIG": "<b>Signature</b> de ", + "XHX": "<b>Mot de passe</b>, dont SHA256 =", + "CSV": "Bloqué pendant", + "CLTV": "Bloqué jusqu'à" + } + }, + "LOOKUP": { + "TITLE": "Blocs", + "NO_BLOCK": "Aucun bloc", + "LAST_BLOCKS": "Derniers blocs :", + "BTN_COMPACT": "Compacter" + } + }, + "CURRENCY": { + "VIEW": { + "TITLE": "Monnaie", + "TAB_CURRENCY": "Monnaie", + "TAB_WOT": "Toile de confiance", + "TAB_NETWORK": "Réseau", + "TAB_BLOCKS": "Blocs", + "CURRENCY_SHORT_DESCRIPTION": "{{currency|abbreviate}} est une <b>monnaie libre</b>, démarrée {{firstBlockTime|formatFromNow}}. Elle compte actuellement <b>{{N}} membres</b>, qui produisent et perçoivent un <a ng-click=\"showHelpModal('ud')\">Dividende Universel</a> (DU), chaque {{dt|formatPeriod}}.", + "NETWORK_RULES_DIVIDER": "Règles du réseau", + "CURRENCY_NAME": "Nom de la monnaie", + "MEMBERS": "Nombre de membres", + "MEMBERS_VARIATION": "Variation depuis le dernier DU", + "MONEY_DIVIDER": "Monnaie", + "MASS": "Masse monétaire", + "SHARE": "Masse par membre", + "UD": "Dividende universel", + "C_ACTUAL": "Croissance actuelle", + "MEDIAN_TIME": "Heure de la blockchain", + "POW_MIN": "Niveau minimal de difficulté de calcul", + "MONEY_RULES_DIVIDER": "Règles de la monnaie", + "C_RULE": "Croissance théorique cible", + "UD_RULE": "Calcul du dividende universel", + "DT_REEVAL": "Période de revalorisation du DU", + "REEVAL_SYMBOL": "reval", + "DT_REEVAL_VALUE": "Tous les <b>{{dtReeval|formatDuration}}</b> ({{dtReeval/86400}} {{'COMMON.DAYS'|translate}})", + "UD_REEVAL_TIME0": "Date de la 1ère revalorisation", + "SIG_QTY_RULE": "Nombre de certifications requises pour devenir membre", + "SIG_STOCK": "Nombre maximal de certifications émises par membre", + "SIG_PERIOD": "Délai minimal d'attente entre 2 certifications successives émises par une même personne", + "SIG_WINDOW": "Délai limite de prise en compte d'une certification", + "SIG_VALIDITY": "Durée de vie d'une certification qui a été prise en compte", + "MS_WINDOW": "Délai limite de prise en compte d'une demande d'adhésion comme membre", + "MS_VALIDITY": "Durée de vie d'une adhésion qui a été prise en compte", + "STEP_MAX": "Distance maximale, par les certifications, entre un nouvel entrant et les membres référents", + "WOT_RULES_DIVIDER": "Règles de la toile de confiance", + "SENTRIES": "Nombre de certifications (émises <b>et</b> reçues) pour devenir membre référent", + "SENTRIES_FORMULA": "Nombre de certifications (émises <b>et</b> reçues) pour devenir membre référent (formule)", + "XPERCENT":"Pourcentage minimum de membres référents à atteindre pour respecter la règle de distance", + "AVG_GEN_TIME": "Temps moyen entre deux blocs", + "CURRENT": "actuel", + "MATH_CEILING": "PLAFOND", + "DISPLAY_ALL_RULES": "Afficher toutes les règles ?", + "BTN_SHOW_LICENSE": "Voir la licence", + "WOT_DIVIDER": "Toile de confiance" + }, + "LICENSE": { + "TITLE": "Licence de la monnaie", + "BTN_DOWNLOAD": "Télécharger le fichier", + "NO_LICENSE_FILE": "Fichier de licence non trouvé." + } + }, + "NETWORK": { + "VIEW": { + "MEDIAN_TIME": "Heure de la blockchain", + "LOADING_PEERS": "Chargement des noeuds...", + "NODE_ADDRESS": "Adresse :", + "SOFTWARE": "Logiciel", + "WARN_PRE_RELEASE": "Pré-version (dernière version stable : <b>{{version}}</b>)", + "WARN_NEW_RELEASE": "Version <b>{{version}}</b> disponible", + "WS2PID": "Identifiant :", + "PRIVATE_ACCESS": "Accès privé", + "POW_PREFIX": "Préfixe de preuve de travail :", + "ENDPOINTS": { + "BMAS": "Interface sécurisée (SSL)", + "BMATOR": "Interface réseau TOR", + "WS2P": "Interface WS2P", + "ES_USER_API": "Noeud de données Cesium+" + } + }, + "INFO": { + "ONLY_SSL_PEERS": "Les noeuds non SSL ont un affichage dégradé, car Cesium fonctionne en mode HTTPS." + } + }, + "PEER": { + "PEERS": "Nœuds", + "SIGNED_ON_BLOCK": "Signé sur le bloc", + "MIRROR": "miroir", + "MIRRORS": "Miroirs", + "MIRROR_PEERS": "Nœuds miroirs", + "PEER_LIST" : "Liste des nœuds", + "MEMBERS" : "Membres", + "MEMBER_PEERS" : "Nœuds membres", + "ALL_PEERS" : "Tous les nœuds", + "DIFFICULTY" : "Difficulté", + "API" : "API", + "CURRENT_BLOCK" : "Bloc #", + "POPOVER_FILTER_TITLE": "Filtre", + "OFFLINE": "Hors ligne", + "OFFLINE_PEERS": "Nœuds hors ligne", + "BTN_SHOW_PEER": "Voir le nœud", + "VIEW": { + "TITLE": "Nœud", + "OWNER": "Appartient à", + "SHOW_RAW_PEERING": "Voir la fiche de pair", + "SHOW_RAW_CURRENT_BLOCK": "Voir le dernier bloc (format brut)", + "LAST_BLOCKS": "Derniers blocs connus", + "KNOWN_PEERS": "Nœuds connus :", + "GENERAL_DIVIDER": "Informations générales", + "ERROR": { + "LOADING_TOR_NODE_ERROR": "Récupération des informations du noeud impossible. Le délai d'attente est dépassé.", + "LOADING_NODE_ERROR": "Récupération des informations du noeud impossible" + } + } + }, + "WOT": { + "SEARCH_HELP": "Recherche (pseudo ou clé publique)", + "SEARCH_INIT_PHASE_WARNING": "Durant la phase de pré-inscription, la recherche des inscriptions en attente <b>peut être longue</b>. Merci de patienter...", + "REGISTERED_SINCE": "Inscrit le", + "REGISTERED_SINCE_BLOCK": "Inscrit au bloc #", + "NO_CERTIFICATION": "Aucune certification validée", + "NO_GIVEN_CERTIFICATION": "Aucune certification émise", + "NOT_MEMBER_PARENTHESIS": "(non membre)", + "IDENTITY_REVOKED_PARENTHESIS": "(identité révoquée)", + "MEMBER_PENDING_REVOCATION_PARENTHESIS": "(en cours de révocation)", + "EXPIRE_IN": "Expiration", + "NOT_WRITTEN_EXPIRE_IN": "Date limite<br/>de traitement", + "EXPIRED": "Expiré", + "PSEUDO": "Pseudonyme", + "SIGNED_ON_BLOCK": "Emise au bloc #{{block}}", + "WRITTEN_ON_BLOCK": "Ecrite au bloc #{{block}}", + "GENERAL_DIVIDER": "Informations générales", + "NOT_MEMBER_ACCOUNT": "Compte simple (non membre)", + "NOT_MEMBER_ACCOUNT_HELP": "Il s'agit d'un simple portefeuille, sans demande d'adhésion en attente.", + "TECHNICAL_DIVIDER": "Informations techniques", + "BTN_CERTIFY": "Certifier", + "BTN_YES_CERTIFY": "Oui, certifier", + "BTN_SELECT_AND_CERTIFY": "Nouvelle certification", + "ACCOUNT_OPERATIONS": "Opérations sur le compte", + "VIEW": { + "POPOVER_SHARE_TITLE": "Identité {{title}}" + }, + "LOOKUP": { + "TITLE": "Toile de confiance", + "NEWCOMERS": "Nouveaux membres", + "NEWCOMERS_COUNT": "{{count}} membres", + "PENDING": "Inscriptions en attente", + "PENDING_COUNT": "{{count}} inscriptions en attente", + "REGISTERED": "Inscrit {{sigDate | formatFromNow}}", + "MEMBER_FROM": "Membre depuis {{memberDate|medianFromNowShort}}", + "BTN_NEWCOMERS": "Nouveaux membres", + "BTN_PENDING": "Inscriptions en attente", + "SHOW_MORE": "Afficher plus", + "SHOW_MORE_COUNT": "(limite actuelle à {{limit}})", + "NO_PENDING": "Aucune inscription en attente.", + "NO_NEWCOMERS": "Aucun membre." + }, + "CONTACTS": { + "TITLE": "Contacts" + }, + "MODAL": { + "TITLE": "Recherche" + }, + "CERTIFICATIONS": { + "TITLE": "{{uid}} - Certifications", + "SUMMARY": "Certifications reçues", + "LIST": "Détail des certifications reçues", + "PENDING_LIST": "Certifications en attente de traitement", + "RECEIVED": "Certifications reçues", + "RECEIVED_BY": "Certifications reçues par {{uid}}", + "ERROR": "Certifications reçues en erreur", + "SENTRY_MEMBER": "Membre référent" + }, + "OPERATIONS": { + "TITLE": "{{uid}} - Opérations" + }, + "GIVEN_CERTIFICATIONS": { + "TITLE": "{{uid}} - Certifications émises", + "SUMMARY": "Certifications émises", + "LIST": "Détail des certifications émises", + "PENDING_LIST": "Certifications en attente de traitement", + "SENT": "Certifications émises", + "SENT_BY": "Certifications émises par {{uid}}", + "ERROR": "Certifications émises en erreur" + } + }, + "LOGIN": { + "TITLE": "<i class=\"icon ion-log-in\"></i> Connexion", + "SCRYPT_FORM_HELP": "Veuillez saisir vos identifiants.<br>Pensez à vérifier que la clé publique est celle de votre compte.", + "PUBKEY_FORM_HELP": "Veuillez saisir une clé publique de compte :", + "FILE_FORM_HELP": "Choisissez le fichier de trousseau à utiliser :", + "SCAN_FORM_HELP": "Scanner le QR code d'un portefeuille.", + "SALT": "Identifiant secret", + "SALT_HELP": "Identifiant secret", + "SHOW_SALT": "Afficher l'identifiant secret ?", + "PASSWORD": "Mot de passe", + "PASSWORD_HELP": "Mot de passe", + "PUBKEY_HELP": "Clé publique ou pseudonyme", + "NO_ACCOUNT_QUESTION": "Vous n'avez pas encore de compte ?", + "HAVE_ACCOUNT_QUESTION": "Vous avez déjà un compte ?", + "CREATE_ACCOUNT": "Créer un compte...", + "CREATE_FREE_ACCOUNT": "Créer un compte gratuitement", + "FORGOTTEN_ID": "Mot de passe oublié ?", + "ASSOCIATED_PUBKEY": "Clé publique du trousseau :", + "BTN_METHODS": "Autres méthodes", + "BTN_METHODS_DOTS": "Changer de méthode...", + "METHOD_POPOVER_TITLE": "Méthodes", + "MEMORIZE_AUTH_FILE": "Mémoriser ce trousseau le temps de la session de navigation", + "SCRYPT_PARAMETERS": "Paramètres (Scrypt) :", + "AUTO_LOGOUT": { + "TITLE": "Information", + "MESSAGE": "<i class=\"ion-android-time\"></i> Vous avez été <b>déconnecté</b> automatiquement, suite à une inactivité prolongée.", + "BTN_RELOGIN": "Me reconnecter", + "IDLE_WARNING": "Vous allez être déconnecté... {{countdown}}" + }, + "METHOD": { + "SCRYPT_DEFAULT": "Identifiant secret et mot de passe", + "SCRYPT_ADVANCED": "Salage avancé", + "FILE": "Fichier de trousseau", + "PUBKEY": "Clé publique ou pseudonyme", + "SCAN": "Scanner un QR code" + }, + "SCRYPT": { + "SIMPLE": "Salage léger", + "DEFAULT": "Salage standard", + "SECURE": "Salage sûr", + "HARDEST": "Salage le plus sûr", + "EXTREME": "Salage extrême", + "USER": "Salage personnalisé", + "N": "N (Loop):", + "r": "r (RAM):", + "p": "p (CPU):" + }, + "FILE": { + "HELP": "Format de fichier attendu : <b>.yml</b> ou <b>.dunikey</b> (type PubSec, WIF ou EWIF)." + } + }, + "AUTH": { + "TITLE": "<i class=\"icon ion-locked\"></i> Authentification", + "BTN_AUTH": "S'authentifier", + "GENERAL_HELP": "Veuillez vous authentifier :", + "EXPECTED_UID_HELP": "Veuillez vous authentifier sur le compte <i class=\"ion-person\"></i> {{uid}} :", + "EXPECTED_PUBKEY_HELP": "Veuillez vous authentifier sur le portefeuille <br class=\"visible-xs\"/><i class=\"ion-key\"></i> {{pubkey|formatPubkey}} :", + "SCAN_FORM_HELP": "Scanner le QR code de la <b>clef privée</b> du portefeuille." + }, + "ACCOUNT": { + "TITLE": "Mon compte", + "BALANCE": "Solde", + "LAST_TX": "Dernières transactions validées", + "BALANCE_ACCOUNT": "Solde du compte", + "NO_TX": "Aucune transaction", + "SHOW_MORE_TX": "Afficher plus", + "SHOW_ALL_TX": "Afficher tout", + "TX_FROM_DATE": "(limite actuelle à {{fromTime|medianFromNowShort}})", + "PENDING_TX": "Transactions en attente de traitement", + "VALIDATING_TX": "Transactions traitées, non validées", + "ERROR_TX": "Transactions non exécutées", + "ERROR_TX_SENT": "Transactions envoyées en échec", + "PENDING_TX_RECEIVED": "Transactions en attente de réception", + "EVENTS": "Evénements", + "OUT_DISTANCED": "Vos certifications actuelles proviennent d'un groupe trop isolé de la <a ng-click=\"showHelpModal('wot')\">Toile de Confiance</a> (TdC) : la <a ng-click=\"showHelpModal('distance_rule')\">règle de distance maximale</a> n'est pas respectée.<br/>Vous devez obtenir des certifications provenant d'autres secteurs de la TdC, ou bien attendre que celle-ci se resserre.", + "WAITING_MEMBERSHIP": "Demande d'adhésion envoyée. En attente d'acceptation.", + "WAITING_CERTIFICATIONS": "Vous devez <b>obtenir {{needCertificationCount}} certification(s)</b> pour devenir membre et produire le <a ng-click=\"showHelpModal('ud')\">Dividende Universel</a>. Votre compte est cependant déjà opérationnel, pour recevoir et effectuer des paiements.", + "WAITING_CERTIFICATIONS_HELP": "Pour obtenir vos certifications, sollicitez uniquement des membres <b>qui vous connaissent suffisamment</b>, comme l'exige <a ng-click=\"showLicenseModal()\">la licence de la monnaie</a> que vous avez acceptée.<br/>Si vous ne connaissez pas (encore) suffisamment de membres, allez aux rencontres ou proposez en sur <a ng-click=\"openLink($event, $root.settings.userForumUrl)\">le forum utilisateur</a>.", + "WILL_MISSING_CERTIFICATIONS": "Vous allez bientôt <b>manquer de certifications</b> (au moins {{willNeedCertificationCount}} sont requises)", + "WILL_NEED_RENEW_MEMBERSHIP": "Votre adhésion comme membre <b>va expirer {{membershipExpiresIn|formatDurationTo}}</b>. Pensez à <a ng-click=\"doQuickFix('renew')\">renouveler votre adhésion</a> d'ici là.", + "NEED_RENEW_MEMBERSHIP": "Vous n'êtes plus membre de la monnaie, car <b>votre adhésion a expiré</b>. Pensez à <a ng-click=\"doQuickFix('renew')\">renouveler votre adhésion</a>.", + "NEED_RENEW_MEMBERSHIP_AFTER_CANCELLED": "Vous n'êtes plus membre de la monnaie, <b>pour manque de certifications</b>. Pensez à <a ng-click=\"doQuickFix('renew')\">renouveler votre adhésion</a>.", + "NO_WAITING_MEMBERSHIP": "Aucune demande d'adhésion en attente. Si vous souhaitez <b>devenir membre</b>, pensez à <a ng-click=\"doQuickFix('membership')\">envoyer la demande d'adhésion</a>.", + "CERTIFICATION_COUNT": "Certifications reçues", + "CERTIFICATION_COUNT_SHORT": "Certifications", + "SIG_STOCK": "Certifications envoyées", + "BTN_RECEIVE_MONEY": "Encaisser", + "BTN_SELECT_ALTERNATIVES_IDENTITIES": "Basculer vers une autre identité...", + "BTN_FIX_MEMBERSHIP": "Renvoyer la demande d'adhésion...", + "BTN_MEMBERSHIP_RENEW": "Renouveler l'adhésion", + "BTN_MEMBERSHIP_RENEW_DOTS": "Renouveler l'adhésion...", + "BTN_MEMBERSHIP_OUT_DOTS": "Arrêter l'adhésion...", + "BTN_SECURITY_DOTS": "Compte et sécurité...", + "BTN_SHOW_DETAILS": "Afficher les infos techniques", + "LOCKED_OUTPUTS_POPOVER": { + "TITLE": "Montant verrouillé", + "DESCRIPTION": "Voici les conditions de déverrouillage de ce montant :", + "DESCRIPTION_MANY": "Cette transaction est composé de plusieurs parties, dont voici les conditions de déverrouillage :", + "LOCKED_AMOUNT": "Conditions pour le montant :" + }, + "NEW": { + "TITLE": "Création de compte", + "INTRO_WARNING_TIME": "La création d'un compte sur {{name|capitalize}} est très simple. Veuillez néanmoins prendre suffisament de temps pour faire correctement cette formalité (pour ne pas oublier les identifiants, mots de passe, etc.).", + "INTRO_WARNING_SECURITY": "Vérifiez que le matériel que vous utilisez actuellement (ordinateur, tablette, téléphone) <b>est sécurisé et digne de confiance</b>.", + "INTRO_WARNING_SECURITY_HELP": "Anti-virus à jour, pare-feu activé, session protégée par mot de passe ou code pin, etc.", + "INTRO_HELP": "Cliquez sur <b>{{'COMMON.BTN_START'|translate}}</b> pour débuter la création de compte. Vous serez guidé étape par étape.", + "REGISTRATION_NODE": "Votre inscription sera enregistrée via le noeud Duniter <b>{{server}}</b>, qui le diffusera ensuite au reste du réseau de la monnaie.", + "REGISTRATION_NODE_HELP": "Si vous ne faites pas confiance en ce noeud, veuillez en changer <a ng-click=\"doQuickFix('settings')\">dans les paramètres</a> de Cesium.", + "SELECT_ACCOUNT_TYPE": "Choisissez le type de compte à créer :", + "MEMBER_ACCOUNT": "Compte membre", + "MEMBER_ACCOUNT_TITLE": "Création d'un compte membre", + "MEMBER_ACCOUNT_HELP": "Vous connaissez suffisamment la monnaie libre et vous voulez participer à sa création ?<br/>En tant qu'individu, vous pouvez créer votre compte membre (un seul par individu). Celui-ci fonctionne comme un compte simple portefeuille, mais permet en plus de co-produire la monnaie, en <b>recevant chaque {{parameters.dt|formatPeriod}} un dividende universel</b> : à vous ensuite d'en faire bon usage !", + "WALLET_ACCOUNT": "Compte simple portefeuille", + "WALLET_ACCOUNT_TITLE": "Création d'un portefeuille", + "WALLET_ACCOUNT_HELP": "Vous <b>découvrez la monnaie libre</b> ? Vous avez besoin d'un compte supplémentaire ?<br/>Ce type de compte vous conviendra. Bien qu'il ne co-produise la monnaie (contrairement à un compte membre - voir ci-dessous), vous pourrez y recevoir et envoyer des paiements, dès la fin de l'inscription.<br/>Si besoin, vous pourrez le transformer en compte membre ultérieurement.", + "SALT_WARNING": "Choisissez votre identifiant secret.<br/>Il vous sera demandé à chaque connexion sur ce compte.<br/><br/><b>Retenez le bien</b> : en cas de perte, plus personne ne pourra accéder à votre compte !", + "PASSWORD_WARNING": "Choisissez un mot de passe.<br/>Il vous sera demandé à chaque connexion sur ce compte.<br/><br/><b>Retenez bien ce mot de passe</b : en cas de perte, plus personne ne pourra accéder à votre compte !", + "PSEUDO_WARNING": "Choisissez un pseudonyme.<br/>Il sert aux autres membres, pour vous identifier plus facilement.<div class='hidden-xs'><br/>Il <b>ne pourra pas être modifié</b>, sans refaire un compte.</div><br/><br/>Il ne doit contenir <b>ni espace, ni de caractère accentué</b>.<div class='hidden-xs'><br/>Exemple : <span class='gray'>SophieDupond, MarcelChemin, etc.</span>", + "PSEUDO": "Pseudonyme", + "PSEUDO_HELP": "Pseudonyme", + "SALT_CONFIRM": "Confirmation", + "SALT_CONFIRM_HELP": "Confirmation de l'identifiant secret", + "PASSWORD_CONFIRM": "Confirmation", + "PASSWORD_CONFIRM_HELP": "Confirmation du mot de passe", + "SLIDE_6_TITLE": "Confirmation :", + "COMPUTING_PUBKEY": "Calcul en cours...", + "LAST_SLIDE_CONGRATULATION": "Vous avez saisi toutes les informations nécessaires : Bravo !<br/>Vous pouvez maintenant <b>envoyer la demande de création</b> de compte.</b><br/><br/>Pour information, la clé publique ci-dessous identifiera votre futur compte.<br/>Elle pourra être communiquée à des tiers pour recevoir leurs paiements.<br/><b>Il n'est pas obligatoire</b> de la noter ici, vous pourrez également le faire plus tard.", + "CONFIRMATION_MEMBER_ACCOUNT": "<b class=\"assertive\">Avertissement :</b> l'identifiant secret, le mot de passe et le pseudonyme ne pourront plus être modifiés.<br/><br/><b>Assurez-vous de toujours vous en rappeler !</b><br/><br/><b>Êtes-vous sûr</b> de vouloir envoyer cette demande d'inscription ?", + "CONFIRMATION_WALLET_ACCOUNT": "<b class=\"assertive\">Avertissement :</b> l'identifiant secret et le mot de passe ne pourront plus être modifiés.<br/><br/><b>Assurez-vous de toujours vous en rappeler !</b><br/><br/><b>Êtes-vous sûr</b> de vouloir continuer avec ces identifiants ?", + "CHECKING_PSEUDO": "Vérification...", + "PSEUDO_AVAILABLE": "Pseudonyme disponible", + "PSEUDO_NOT_AVAILABLE": "Pseudonyme non disponible", + "INFO_LICENSE": "Avant de créer un compte membre, <b>veuillez lire et accepter la licence</b> d'usage de la monnaie :", + "BTN_ACCEPT": "J'accepte", + "BTN_ACCEPT_LICENSE": "J'accepte la licence" + }, + "POPUP_REGISTER": { + "TITLE": "Choisissez un pseudonyme", + "HELP": "Un pseudonyme est obligatoire pour devenir membre." + }, + "SELECT_IDENTITY_MODAL": { + "TITLE": "Sélection de l'identité", + "HELP": "Plusieurs <b>identités différentes</b> ont été envoyées, pour la clé publique <span class=\"gray\"><i class=\"ion-key\"></i> {{pubkey|formatPubkey}}</span>.<br/>Veuillez sélectionner le dossier à utiliser :" + }, + "SELECT_WALLET_MODAL": { + "TITLE": "Sélection du portefeuille" + }, + "WALLET_LIST": { + "TITLE": "Mes portefeuilles", + "BTN_NEW": "Ajouter un portefeuille", + "BTN_DOWNLOAD": "Télécharger la liste", + "BTN_IMPORT_FILE_DOTS": "Importer depuis un fichier...", + "NO_WALLET": "Aucun portefeuille secondaire", + "BTN_DELETE": "Retirer un portefeuille secondaire...", + "BTN_RENAME": "Renommer le portefeuille", + "EXPORT_FILENAME": "mes_portefeuilles-{{pubkey|formatPubkey}}-{{currency}}.csv", + "TOTAL_DOTS": "Total : ", + "EDIT_POPOVER": { + "TITLE": "Renommer le portefeuille", + "HELP": "Renseignez le nouveau nom", + "NAME_HELP": "Nom du portefeuille" + }, + "IMPORT_MODAL": { + "TITLE": "Importer des portefeuilles", + "HELP": "Pour <b>importer des porftefeuilles</b>, veuillez glisser dans la zone ci-dessous le fichier de la liste des portefeuilles, ou bien cliquer dans la zone pour rechercher un fichier.", + "WALLET_COUNT": "<b>{{count}}</b> nouveau{{count > 1 ? 'x' : ''}} portefeuille{{count > 1 ? 's' : ''}}", + "NO_NEW_WALLET": "Aucun nouveau portefeuille" + } + }, + "SECURITY": { + "ADD_QUESTION": "Ajouter une question personnalisée", + "BTN_CLEAN": "Vider", + "BTN_RESET": "Réinitialiser", + "DOWNLOAD_REVOKE": "Sauvegarder mon fichier de révocation (uniquement sur ordinateur)", + "DOWNLOAD_REVOKE_HELP": "Disposer d'un fichier de révocation est important, par exemple en cas de perte de vos identifiants. Il vous permet de <b>sortir ce compte de la toile de confiance</b>, en redevenant ainsi un simple portefeuille. Ne fonctionne pas sur smartphone.", + "GENERATE_KEYFILE": "Générer mon fichier de trousseau...", + "GENERATE_KEYFILE_HELP": "Génère un fichier permettant de vous authentifier sans saisir vos identifiants.<br/><b>Attention :</b> ce fichier contiendra votre trousseau de compte (clefs publique et secrète) ; il est donc très important de le mettre en lieu sûr !", + "KEYFILE_FILENAME": "trousseau-{{pubkey|formatPubkey}}-{{currency}}-{{format}}.dunikey", + "MEMBERSHIP_IN": "Transformer en compte membre...", + "MEMBERSHIP_IN_HELP": "Permet de <b>transformer</b> un compte simple portefeuille <b>en compte membre</b>, en envoyant une demande d'adhésion. Utile uniquement si vous n'avez pas déjà un autre compte membre.", + "SEND_IDENTITY": "Publier son identité...", + "SEND_IDENTITY_HELP": "Permet d'associer un pseudonyme à ce compte, mais <b>sans faire de demande d'adhésion</b> pour devenir membre. Cette association n'est généralement pas utile, car la validité de cette association de pseudonyme est limitée dans le temps.", + "HELP_LEVEL": "Pour générer un fichier de sauvegarde de vos identifiants, choisissez <strong> au moins {{nb}} questions :</strong>", + "LEVEL": "Niveau de sécurité", + "LOW_LEVEL": "Faible <span class=\"hidden-xs\">(2 questions minimum)</span>", + "MEDIUM_LEVEL": "Moyen <span class=\"hidden-xs\">(4 questions minimum)</span>", + "QUESTION_1": "Comment s'appelait votre meilleur ami lorsque vous étiez adolescent ?", + "QUESTION_2": "Comment s'appelait votre premier animal de compagnie ?", + "QUESTION_3": "Quel est le premier plat que vous avez appris à cuisiner ?", + "QUESTION_4": "Quel est le premier film que vous avez vu au cinéma ?", + "QUESTION_5": "Où êtes-vous allé la première fois que vous avez pris l'avion ?", + "QUESTION_6": "Comment s'appelait votre instituteur préféré à l'école primaire ?", + "QUESTION_7": "Quel serait selon vous le métier idéal ?", + "QUESTION_8": "Quel est le livre pour enfants que vous préférez ?", + "QUESTION_9": "Quel était le modèle de votre premier véhicule ?", + "QUESTION_10": "Quel était votre surnom lorsque vous étiez enfant ?", + "QUESTION_11": "Quel était votre personnage ou acteur de cinéma préféré lorsque vous étiez étudiant ?", + "QUESTION_12": "Quel était votre chanteur ou groupe préféré lorsque vous étiez étudiant ?", + "QUESTION_13": "Dans quelle ville vos parents se sont-ils rencontrés ?", + "QUESTION_14": "Comment s'appelait votre premier patron ?", + "QUESTION_15": "Quel est le nom de la rue où vous avez grandi ?", + "QUESTION_16": "Quel est le nom de la première plage où vous vous êtes baigné ?", + "QUESTION_17": "Quel est le premier album que vous avez acheté ?", + "QUESTION_18": "Quel est le nom de votre équipe de sport préférée ?", + "QUESTION_19": "Quel était le métier de votre grand-père ?", + "RECOVER_ID": "Retrouver mon mot de passe...", + "RECOVER_ID_HELP": "Si vous disposez d'un <b>fichier de sauvegarde de vos identifiants</b>, vous pouvez les retrouver en répondant correctement à vos questions personnelles.", + "RECOVER_ID_SELECT_FILE": "Choisissez le <b>fichier de sauvegarde de vos identifiants</b> à utiliser :", + "REVOCATION_WITH_FILE": "Révoquer mon compte membre...", + "REVOCATION_WITH_FILE_DESCRIPTION": "Si vous avez <b>définitivement perdus vos identifiants</b> de compte membre (ou que la sécurité du compte est compromise), vous pouvez utiliser <b>le fichier de révocation</b> du compte pour <b>forcer sa sortie définitive de la toile de confiance</b>.", + "REVOCATION_WITH_FILE_HELP": "Pour <b>révoquer définitivement</b> un compte membre, veuillez glisser dans la zone ci-dessous votre fichier de révocation, ou bien cliquer dans la zone pour rechercher un fichier.", + "REVOCATION_WALLET": "Révoquer immédiatement ce compte", + "REVOCATION_WALLET_HELP": "Demander la révocation de votre identité entraîne la <b>sortie de la toile de confiance</b> (définitive pour le pseudonyme et la clé publique associés). Le compte ne pourra plus produire de Dividende Universel.<br/>Vous pourrez toutefois encore vous y connecter, comme à un simple portefeuille.", + "REVOCATION_FILENAME": "revocation-{{uid}}-{{pubkey|formatPubkey}}-{{currency}}.txt", + "SAVE_ID": "Sauvegarder mes identifiants...", + "SAVE_ID_HELP": "Création d'un fichier de sauvegarde, pour <b>retrouver votre mot de passe</b> (et l'identifiant secret) <b>en cas de d'oubli</b>. Le fichier est <b>sécurisé</b> (chiffré) à l'aide de questions personnelles.", + "STRONG_LEVEL": "Fort <span class=\"hidden-xs \">(6 questions minimum)</span>", + "TITLE": "Compte et sécurité", + "KEYFILE": { + "PUBSEC_FORMAT": "Format PubSec.", + "PUBSEC_FORMAT_HELP": "Ce format stocke votre trousseau de manière très simple. Il est compatible notamment avec Cesium, ğannonce et Duniter.<br/><b>Attention :</b>Le fichier <b>n'est pas chiffré</b> (la clef secrète y apparaît en clair) ; veuillez donc le stocker en lieu sûr !", + "WIF_FORMAT": "Format WIF (Wallet Import Format) - v1", + "WIF_FORMAT_HELP": "Ce format stocke votre trousseau en y intégrant une somme de contrôle pour vérifier l'intégrité du fichier. Il est compatible notamment avec les portefeuilles papier (Duniter paper wallet).<br/><b>Attention :</b>Le fichier <b>n'est pas chiffré</b> (la clef secrète y apparaît en clair) ; veuillez donc le stocker en lieu sûr !", + "EWIF_FORMAT": "Format EWIF (Encrypted Wallet Import Format) - v1", + "EWIF_FORMAT_HELP": "Ce format stocke votre trousseau <b>de manière chiffrée</b> à partir d'une phrase secrète de votre choix. Il intègre aussi une somme de contrôle pour vérifier l'intégrité du fichier.<br/><b>Attention :</b> Veillez à toujours vous souvenir de votre phrase secrète !", + "PASSWORD_POPUP": { + "TITLE": "Fichier de trousseau chiffré", + "HELP": "Veuillez indiquer la phrase secrète :", + "PASSWORD_HELP": "Phrase secrète" + }, + "ERROR": { + "BAD_PASSWORD": "Phrase secrète incorrecte", + "BAD_CHECKSUM": "Somme de contrôle incorrecte" + } + } + }, + "FILE_NAME": "{{currency}} - Relevé du compte {{pubkey|formatPubkey}} au {{currentTime|formatDateForFile}}.csv", + "HEADERS": { + "TIME": "Date", + "AMOUNT": "Montant", + "COMMENT": "Commentaire" + } + }, + "TRANSFER": { + "TITLE": "Virement", + "SUB_TITLE": "Faire un virement", + "SUB_TITLE_ALL": "Vider le compte", + "FROM": "De", + "TO": "À", + "AMOUNT": "Montant", + "AMOUNT_HELP": "Montant", + "COMMENT": "Commentaire", + "COMMENT_HELP": "Commentaire", + "BTN_SEND": "Envoyer", + "BTN_ADD_COMMENT": "Ajouter un commentaire", + "REST": "Reste du compte", + "REST_TO": "à", + "WARN_COMMENT_IS_PUBLIC": "Veuillez noter que <b>les commentaires sont publics</b> (non chiffrés).", + "MODAL": { + "TITLE": "Virement" + } + }, + "ERROR": { + "UNKNOWN_URI_FORMAT": "Format d'URI inconnu", + "PUBKEY_INVALID_CHECKSUM": "Clé publique invalide (bad checksum).", + "POPUP_TITLE": "Erreur", + "UNKNOWN_ERROR": "Erreur inconnue", + "CRYPTO_UNKNOWN_ERROR": "Votre navigateur ne semble pas compatible avec les fonctionnalités de cryptographie.", + "DOWNLOAD_KEYFILE_FAILED": "Échec de la génération du fichier de trousseau.", + "EQUALS_TO_PSEUDO": "Doit être différent du pseudonyme", + "EQUALS_TO_SALT": "Doit être différent de l'identifiant secret", + "FIELD_REQUIRED": "Champ obligatoire", + "FIELD_TOO_SHORT": "Valeur trop courte", + "FIELD_TOO_SHORT_WITH_LENGTH": "Valeur trop courte ({{minLength}} caractères min)", + "FIELD_TOO_LONG": "Valeur trop longue", + "FIELD_TOO_LONG_WITH_LENGTH": "Valeur trop longue ({{maxLength}} caractères max)", + "FIELD_MIN": "Valeur minimale : {{min}}", + "FIELD_MAX": "Valeur maximale : {{max}}", + "FIELD_ACCENT": "Caractères accentués et virgules non autorisés", + "FIELD_NOT_NUMBER": "Valeur numérique attendue", + "FIELD_NOT_INT": "Valeur entière attendue", + "FIELD_NOT_EMAIL": "Adresse email non valide", + "PASSWORD_NOT_CONFIRMED": "Ne correspond pas au mot de passe", + "SALT_NOT_CONFIRMED": "Ne correspond pas à l'identifiant secret", + "SEND_IDENTITY_FAILED": "Échec de l'inscription", + "SEND_CERTIFICATION_FAILED": "Échec de la certification", + "NEED_MEMBER_ACCOUNT_TO_CERTIFY": "Vous ne pouvez pas effectuer de certification, car ce compte n'est <b>pas membre</b>.", + "NEED_MEMBER_ACCOUNT_TO_CERTIFY_HAS_SELF": "Vous ne pouvez pas effectuer de certification, car ce compte n'est pas encore membre.<br/><br/>Il vous manque encore des certifications, ou bien celles-ci n'ont pas encore été validées.", + "IDENTITY_TO_CERTIFY_HAS_NO_SELF": "Compte non certifiable. Aucune demande d'adhésion n'a été faite, ou bien elle n'a pas été renouvelée.", + "LOGIN_FAILED": "Erreur lors de la connexion.", + "LOAD_IDENTITY_FAILED": "Erreur de chargement de l'identité.", + "LOAD_REQUIREMENTS_FAILED": "Erreur de chargement des prérequis de l'identité.", + "SEND_MEMBERSHIP_IN_FAILED": "Échec de la tentative d'entrée dans la communauté.", + "SEND_MEMBERSHIP_OUT_FAILED": "Échec de l'arrêt de l'adhésion.", + "REFRESH_WALLET_DATA": "Échec du rafraîchissement du portefeuille.", + "GET_CURRENCY_PARAMETER": "Échec de la récupération des règles de la monnaie.", + "GET_CURRENCY_FAILED": "Chargement de la monnaie impossible. Veuillez réessayer plus tard.", + "SEND_TX_FAILED": "Échec du virement.", + "ALL_SOURCES_USED": "Veuillez attendre le calcul du prochain bloc (toutes vos sources de monnaie ont été utilisées).", + "NOT_ENOUGH_SOURCES": "Pas assez de change pour envoyer ce montant en une seule transaction.<br/>Montant maximum : {{amount}} {{unit}}<sub>{{subUnit}}</sub>.", + "ACCOUNT_CREATION_FAILED": "Échec de la création du compte membre.", + "RESTORE_WALLET_DATA_ERROR": "Échec du rechargement des paramètres depuis le stockage local", + "LOAD_WALLET_DATA_ERROR": "Échec du chargement des données du portefeuille.", + "COPY_CLIPBOARD_FAILED": "Copie de la valeur impossible.", + "TAKE_PICTURE_FAILED": "Échec de la récupération de la photo.", + "SCAN_FAILED": "Échec du scan de QR-code.", + "SCAN_UNKNOWN_FORMAT": "Code non reconnu.", + "WOT_LOOKUP_FAILED": "Échec de la recherche.", + "LOAD_PEER_DATA_FAILED": "Lecture du nœud Duniter impossible. Veuillez réessayer ultérieurement.", + "NEED_LOGIN_FIRST": "Veuillez d'abord vous connecter.", + "AMOUNT_REQUIRED": "Le montant est obligatoire.", + "AMOUNT_NEGATIVE": "Montant négatif non autorisé.", + "NOT_ENOUGH_CREDIT": "Crédit insuffisant.", + "INVALID_NODE_SUMMARY": "Nœud injoignable ou adresse invalide.", + "INVALID_USER_ID": "Le pseudonyme ne doit contenir ni espace ni caractère spécial ou accentué.", + "INVALID_COMMENT": "Le champ 'référence' ne doit pas contenir de caractères accentués.", + "INVALID_PUBKEY": "La clé publique n'a pas le format attendu.", + "INVALID_PUBKEY_CHECKSUM": "Somme de contrôle invalide.", + "IDENTITY_REVOKED": "Cette identité <b>a été révoquée</b>. Elle ne peut plus devenir membre.", + "IDENTITY_REVOKED_WITH_TIME": "Cette identité <b>a été révoquée {{revocationTime|medianFromNow}}</b> ({{revocationTime|medianDate}}). Elle ne peut plus devenir membre.", + "IDENTITY_PENDING_REVOCATION": "La <b>révocation de cette identité</b> a été demandée et est en attente de traitement. La certification est donc désactivée.", + "IDENTITY_INVALID_BLOCK_HASH": "Cette demande d'adhésion n'est plus valide (car elle référence un bloc que les nœuds du réseau ont annulé) : cette personne doit renouveler sa demande d'adhésion <b>avant</b> d'être certifiée.", + "IDENTITY_EXPIRED": "La publication de cette identité a expiré : cette personne doit effectuer une nouvelle demande d'adhésion <b>avant</b> d'être certifiée.", + "IDENTITY_SANDBOX_FULL": "Le nœud Duniter utilisé par Cesium ne peut plus recevoir de nouvelles identités, car sa file d'attente est pleine.<br/><br/>Veuillez réessayer ultérieurement ou changer de nœud (via le menu <b>Paramètres</b>).", + "IDENTITY_NOT_FOUND": "Identité non trouvée.", + "IDENTITY_TX_FAILED": "Échec du chargement des opérations.", + "WOT_PENDING_INVALID_BLOCK_HASH": "Adhésion non valide.", + "WALLET_INVALID_BLOCK_HASH": "Votre demande d'adhésion n'est plus valide (car elle référence un bloc que les nœuds du réseau ont annulé).<br/>Vous devez <a ng-click=\"doQuickFix('fixMembership')\">envoyer une nouvelle demande</a> pour résoudre ce problème.", + "WALLET_IDENTITY_EXPIRED": "La publication de <b>votre identité a expirée</b>.<br/>Vous devez <a ng-click=\"doQuickFix('fixIdentity')\">publier à nouveau votre identité</a> pour résoudre ce problème.", + "WALLET_REVOKED": "Votre identité a été <b>révoquée</b> : ni votre pseudonyme ni votre clef publique ne pourra être utilisé à l'avenir pour un compte membre.", + "WALLET_HAS_NO_SELF": "Votre identité doit d'abord avoir été publiée, et ne pas être expirée.", + "AUTH_REQUIRED": "Authentification requise.", + "AUTH_INVALID_PUBKEY": "La clef attendue est <i class=\"ion-key\"></i> {{pubkey|formatPubkey}}...", + "AUTH_INVALID_SCRYPT": "Identifiant ou mot de passe invalide.", + "AUTH_INVALID_FILE": "Fichier de trousseau invalide.", + "AUTH_FILE_ERROR": "Échec de l'ouverture du fichier de trousseau.", + "IDENTITY_ALREADY_CERTIFY": "Vous avez <b>déjà certifié</b> cette identité.<br/><br/>Cette certification est encore valide (expiration {{expiresIn|formatDurationTo}}).", + "IDENTITY_ALREADY_CERTIFY_PENDING": "Vous avez <b>déjà certifié</b> cette identité.<br/><br/>Cette certification est en attente de traitement (date limite de traitement {{expiresIn|formatDurationTo}}).", + "UNABLE_TO_CERTIFY_TITLE": "Certification impossible", + "LOAD_NEWCOMERS_FAILED": "Échec du chargement des nouveaux membres.", + "LOAD_PENDING_FAILED": "Échec du chargement des inscriptions en attente.", + "ONLY_MEMBER_CAN_EXECUTE_THIS_ACTION": "Vous devez <b>être membre</b> pour pouvoir effectuer cette action.", + "ONLY_MEMBER_OR_WAS_MEMBER_CAN_EXECUTE_THIS_ACTION": "Vous devez <b>être membre (ou ancien membre)</b> pour pouvoir effectuer cette action.", + "ONLY_SELF_CAN_EXECUTE_THIS_ACTION": "Vous devez avoir <b>publié votre identité</b> pour pouvoir effectuer cette action.", + "GET_BLOCK_FAILED": "Échec de la récupération du bloc.", + "INVALID_BLOCK_HASH": "Bloc non trouvé (hash différent).", + "DOWNLOAD_REVOCATION_FAILED": "Échec du téléchargement du fichier de révocation.", + "REVOCATION_FAILED": "Échec de la révocation.", + "SALT_OR_PASSWORD_NOT_CONFIRMED": "Identifiant secret ou mot de passe incorrect.", + "RECOVER_ID_FAILED": "Échec de la récupération des identifiants", + "LOAD_FILE_FAILED" : "Échec du chargement du fichier", + "NOT_VALID_REVOCATION_FILE": "Fichier de révocation non valide (mauvais format de fichier)", + "NOT_VALID_SAVE_ID_FILE": "Fichier de récupération non valide (mauvais format de fichier)", + "NOT_VALID_KEY_FILE": "Fichier de trousseau non valide (format non reconnu)", + "EXISTING_ACCOUNT": "Vos identifiants correspondent à un compte déjà existant, dont la <a ng-click=\"showHelpModal('pubkey')\">clef publique</a> est :", + "EXISTING_ACCOUNT_REQUEST": "Veuillez modifier vos identifiants afin qu'ils correspondent à un compte non utilisé.", + "GET_LICENSE_FILE_FAILED": "Récupération du fichier de licence impossible.", + "CHECK_NETWORK_CONNECTION": "Aucun nœud ne semble accessible.<br/><br/>Veuillez <b>vérifier votre connexion Internet</b>.", + "ISSUE_524_TX_FAILED": "Échec du virement.<br/><br/>Un message a été envoyé aux développeurs pour faciliter la résolution du problème. <b>Merci de votre aide</b>.", + "ADD_SECONDARY_WALLET_FAILED": "Échec de l'ajout du portefeuille secondaire.", + "REMOVE_SECONDARY_WALLET_FAILED": "Échec de la suppression du portefeuille secondaire.", + "UPDATE_WALLET_LIST_FAILED": "Échec du rafraîchissement des portefeuilles secondaires.", + "LOAD_WALLET_LIST_FAILED": "Échec du chargement des portefeuilles secondaires.", + "SAVE_WALLET_LIST_FAILED": "Échec de la sauvegarde des portefeuilles secondaires.", + "COULD_NOT_ADD_MAIN_WALLET": "Ce portefeuille <b>correspond au compte principal</b> avec lequel vous êtes connecté.<br/>Impossible de l'ajouter comme portefeuille secondaire.", + "COULD_NOT_ADD_EXISTING_WALLET": "Portefeuille déjà existant dans la liste.", + "UNKNOWN_WALLET_ID": "Portefeuille secondaire inconnu.", + "RESTORE_WALLET_LIST_FAILED": "Échec de la restauration des portefeuilles secondaires.", + "INVALID_FILE_FORMAT": "Format de fichier invalide.", + "SAME_TX_RECIPIENT": "Le destinataire doit être différent de l'émetteur." + }, + "INFO": { + "POPUP_TITLE": "Information", + "CERTIFICATION_DONE": "Certification envoyée", + "NOT_ENOUGH_CREDIT": "Crédit insuffisant", + "TRANSFER_SENT": "Virement envoyé", + "COPY_TO_CLIPBOARD_DONE": "Copié dans le presse-papier", + "MEMBERSHIP_OUT_SENT": "Résiliation envoyée", + "NOT_NEED_MEMBERSHIP": "Vous êtes déjà membre.", + "IDENTITY_WILL_MISSING_CERTIFICATIONS": "Cette identité va bientôt manquer de certifications (au moins {{willNeedCertificationCount}}).", + "IDENTITY_NEED_MEMBERSHIP": "Cette identité n'a pas envoyée de demande d'adhésion. Elle le devra si elle souhaite devenir membre.", + "HAS_ALTERNATIVE_IDENTITIES": "Il existe <b>plusieurs identités</b> rattachées à cette clé publique. <b>Avant toute certification</b>, pensez à <a ng-click=\"doQuickFix('showSelectIdentities')\">consulter les autres identités</a> pour choisir la bonne, ou bien contacter le propriétaire du compte.", + "REVOCATION_SENT": "Révocation envoyée", + "REVOCATION_SENT_WAITING_PROCESS": "La <b>révocation de cette identité</b> a été demandée et est en attente de traitement.", + "FEATURES_NOT_IMPLEMENTED": "Cette fonctionnalité est encore en cours de développement.<br/>Pourquoi ne pas <b>contribuer à Cesium</b>, pour l'obtenir plus rapidement ? ;)", + "EMPTY_TX_HISTORY": "Aucune opération à exporter" + }, + "CONFIRM": { + "CAN_CONTINUE": "<b>Êtes-vous sûr</b> de vouloir continuer ?", + "POPUP_TITLE": "<b>Confirmation</b>", + "POPUP_WARNING_TITLE": "<b>Avertissement</b>", + "POPUP_SECURITY_WARNING_TITLE": "<i class=\"icon ion-alert-circled\"></i> <b>Avertissement de sécurité</b>", + "CERTIFY_RULES_TITLE_UID": "Certifier {{uid}}", + "CERTIFY_RULES": "<b class=\"assertive\">Ne PAS certifier</b> un compte si vous pensez que :<br/><br/><ul><li>1.) il ne correspond pas à une personne <b>physique et vivante</b>.<li>2.) son propriétaire <b>possède un autre compte</b> déjà certifié.<li>3.) son propriétaire viole (volontairement ou non) la règle 1 ou 2 (par exemple en certifiant des comptes factices ou en double).</ul><br/><b>Êtes-vous sûr</b> de vouloir néanmoins certifier cette identité ?", + "FULLSCREEN": "Afficher l'application en plein écran ?", + "EXIT_APP": "Fermer l'application ?", + "TRANSFER": "<b>Récapitulatif du virement</b> :<br/><br/><ul><li> - De : {{from}}</li><li> - A : <b>{{to}}</b></li><li> - Montant : <b>{{amount}} {{unit}}</b></li><li> - Commentaire : <i>{{comment}}</i></li></ul><br/><b>Êtes-vous sûr de vouloir effectuer ce virement ?</b>", + "TRANSFER_ALL": "<b>Récapitulatif du virement</b> :<br/><br/><ul><li> - De : {{from}}</li><li> - A : <b>{{to}}</b></li><li> - Montant : <b>{{amount}} {{unit}}</b></li><li> - Commentaire : <i>{{comment}}</i></li><br/><li> - Reste : <b>{{restAmount}} {{unit}}</b> à <b>{{restTo}}</b></li></ul><br/><b>Êtes-vous sûr de vouloir effectuer ce virement ?</b>", + "MEMBERSHIP_OUT": "Cette opération est <b>irréversible</b>.<br/></br/>Êtes-vous sûr de vouloir <b>résilier votre compte membre</b> ?", + "MEMBERSHIP_OUT_2": "Cette opération est <b>irreversible</b> !<br/><br/>Êtes-vous vraiment sûr de vouloir <b>résilier votre adhésion</b> comme membre ?", + "LOGIN_UNUSED_WALLET_TITLE": "Erreur de saisie ?", + "LOGIN_UNUSED_WALLET": "Le compte connecté semble <b>inactif</b>.<br/><br/>Il s'agit probablement d'une <b>erreur de saisie</b> dans vos identifiants de connexion. Veuillez recommencer, en vérifiant que <b>la clé publique est celle de votre compte</b>.", + "FIX_IDENTITY": "Le pseudonyme <b>{{uid}}</b> va être publiée à nouveau, en remplacement de l'ancienne publication qui a expirée.<br/></br/><b>Êtes-vous sûr</b> de vouloir continuer ?", + "FIX_MEMBERSHIP": "Votre demande d'adhésion comme membre va être renvoyée.<br/></br/><b>Êtes-vous sûr</b> de vouloir continuer ?", + "MEMBERSHIP": "Votre demande d'adhésion comme membre va être envoyée.<br/></br/><b>Êtes-vous sûr</b> de vouloir continuer ?", + "RENEW_MEMBERSHIP": "Votre adhésion comme membre va être renouvelée.<br/></br/><b>Êtes-vous sûr</b> de vouloir continuer ?", + "REVOKE_IDENTITY": "Vous allez <b>revoquer définitivement cette identité</b>.<br/><br/>La clé publique et le pseudonyme associés <b>ne pourront plus jamais être utilisés</b> (pour un compte membre). <br/></br/><b>Êtes-vous sûr</b> de vouloir révoquer définitivement ce compte ?", + "REVOKE_IDENTITY_2": "Cette opération est <b>irreversible</b> !<br/><br/>Êtes-vous vraiment sûr de vouloir <b>révoquer définitivement</b> ce compte ?", + "NOT_NEED_RENEW_MEMBERSHIP": "Votre adhésion n'a pas besoin d'être renouvelée (elle n'expirera que dans {{membershipExpiresIn|formatDuration}}).<br/></br/><b>Êtes-vous sûr</b> de vouloir renouveler votre adhésion ?", + "SAVE_BEFORE_LEAVE": "Voulez-vous <b>sauvegarder vos modifications</b> avant de quitter la page ?", + "SAVE_BEFORE_LEAVE_TITLE": "Modifications non enregistrées", + "LOGOUT": "Êtes-vous sûr de vouloir vous déconnecter ?", + "USE_FALLBACK_NODE": "Nœud <b>{{old}}</b> injoignable ou adresse invalide.<br/><br/>Voulez-vous temporairement utiliser le nœud <b>{{new}}</b> ?", + "ISSUE_524_SEND_LOG": "La transaction a été rejetée, à cause d'une anomalie connue (ticket #524) mais <b>non reproduite</b>.<br/><br/>Pour aider les développeurs à corriger cette erreur, <b>acceptez-vous la transmission de vos logs</b> par message ?<br/><small>(aucune donnée confidentielle n'est envoyée)</small>." + }, + "MODE": { + "DEMO": { + "BADGE": "Démo", + "MODE": "Mode démonstration", + "FEATURE_NOT_AVAILABLE": "Fonctionnalité <b>non disponible</b> sur ce site de démonstration.", + "MODE_HELP": "Cesium fonctionne en <b>mode démonstration</b> : la consultation de compte est possible, mais aucune opération ne pourra être réalisée.", + "INSTALL_HELP": "Pour des <b>raisons de sécurité</b> nous vous recommandons <b>d'installer</b> votre copie de l'application Cesium. Visitez le site <a href='https://cesium.app'>www.cesium.app</a> pour obtenir de l'aide." + }, + "READONLY": { + "BADGE": "Monit", + "MODE": "Mode monitoring", + "MODE_HELP": "Cesium fonctionne en <b>mode monitoring</b> : ne sont disponibles que les fonctionnalités de supervision de la monnaie.", + "INSTALL_HELP": "Si vous souhaitez <b>créer un compte portefeuille</b> pour envoyer ou recevoir de la monnaie, nous vous recommandons <b>d'installer votre copie</b> de l'application Cesium. Visitez le site <a href='https://cesium.app'>www.cesium.app</a> pour obtenir de l'aide." + } + }, + "DOWNLOAD": { + "POPUP_TITLE": "<b>Fichier de révocation</b>", + "POPUP_REVOKE_MESSAGE": "Pour sécuriser votre compte, veuillez télécharger le <b>document de révocation de compte</b>. Il vous permettra le cas échéant d'annuler votre compte (en cas d'un vol de compte, d'un changement d'identifiant, d'un compte créé à tort, etc.).<br/><br/><b>Veuillez le stocker en lieu sûr.</b>" + }, + "HELP": { + "TITLE": "Aide en ligne", + "JOIN": { + "SECTION": "Inscription", + "SALT": "L'identifiant secret est très important. Il sert à mélanger le mot de passe, avant qu'il ne serve à calculer la <span class=\"text-italic\">clé publique</span> de votre compte (son numéro) et la clé secrète pour y accéder.<br/><b>Veillez à bien la mémoriser</b>, car aucun moyen n'est actuellement prévu pour la retrouver en cas de perte.<br/>Par ailleurs, il ne peut pas être modifié sans devoir créer un nouveau compte.<br/><br/>Un bon identifiant secret doit être suffisamment long (au moins 8 caractères) et le plus original possible.", + "PASSWORD": "Le mot de passe est très important. Avec l'identifiant secret, il sert à calculer le numéro (la clé publique) de votre compte, et la clé secrète pour y accéder.<br/><b>Veillez à bien le mémoriser</b>, car aucun moyen n'est prévu de le retrouver en cas de perte (sauf à générer un fichier de sauvegarde).<br/>Par ailleurs, il ne peut pas être modifié sans devoir créer un nouveau compte.<br/><br/>Un bon mot de passe contient (idéalement) au moins 8 caractères, dont au moins une majuscule et un chiffre.", + "PSEUDO": "Le pseudonyme est utilisé uniquement dans le cas d'inscription comme <span class=\"text-italic\">membre</span>. Il est toujours associé à un portefeuille (via sa <span class=\"text-italic\">clé publique</span>).<br/>Il est publié sur le réseau, afin que les autres utilisateurs puisse l'identifier, le certifier ou envoyer de la monnaie sur le compte.<br/>Un pseudonyme doit être unique au sein des membres (<u>actuels</u> et anciens)." + }, + "LOGIN": { + "SECTION": "Connexion", + "PUBKEY": "Clé publique du trousseau", + "PUBKEY_DEF": "La clef publique du trousseau est générée à partir des identifiants saisis (n'importe lesquels), sans pour autant qu'ils correspondent à un compte déjà utilisé.<br/><b>Vérifiez attentivement que la clé publique est celle de votre compte</b>. Dans le cas contraire, vous serez connecté à un compte probablement jamais utilisé, le risque de collision avec un compte existant étant infime.<br/><a href=\"https://fr.wikipedia.org/wiki/Cryptographie_asym%C3%A9trique\" target=\"_system\">En savoir plus sur la cryptographie</a> par clé publique.", + "METHOD": "Méthodes de connexion", + "METHOD_DEF": "Plusieurs options sont disponibles pour vous connecter à un portefeuille :<br/> - La connexion <b>par salage (simple ou avancé)</b> mélange votre mot de passe grâce à l'identifiant secret, pour limiter les tentatives de <a href=\"https://fr.wikipedia.org/wiki/Attaque_par_force_brute\" target=\"_system\">piratage par force brute</a> (par exemple à partir de mots connus).<br/> - La connexion <b>par clé publique</b> évite de saisir vos identifiants, qui vous seront demandé seulement le moment venu lors d'une opération sur le compte.<br/> - La connexion <b>par fichier de trousseau</b> va lire les clés (publique et privée) du compte, depuis un fichier, sans besoin de saisir d'identifiants. Plusieurs formats de fichier sont possibles." + }, + "GLOSSARY": { + "SECTION": "Glossaire", + "PUBKEY_DEF": "Une clé publique identifie un portefeuille de monnaie, qui peut identifier un membre ou correspondre à un portefeuille anonyme. Dans Cesium la clé publique est calculée (par défaut) grâce à l'identifiant secret et au mot de passe.<br/><a href=\"https://fr.wikipedia.org/wiki/Cryptographie_asym%C3%A9trique\" target=\"_system\">En savoir plus sur la cryptographie</a> par clé publique.", + "MEMBER": "Membre", + "MEMBER_DEF": "Un membre est une personne humaine physique et vivante, désireuse de participer librement à la communauté monétaire. Elle co-produit un dividende universel, suivant une période et un montant tels que définis dans les <span class=\"text-italic\">règles de la monnaie</span>", + "CURRENCY_RULES": "Règles de la monnaie", + "CURRENCY_RULES_DEF": "Les règles de la monnaie sont définies une fois pour toutes. Elle fixe le fonctionnement de la monnaie : le calcul du dividende universel, le nombre de certifications nécessaire pour être membre, le nombre de certification maximum qu'un membre peut donner, etc. <a href=\"#/app/currency\">Voir les règles actuelles</a>.<br/>La non modification des règles dans le temps est possible par l'utilisation d'une <span class=\"text-italic\">BlockChain</span> qui porte et exécute ces règles, et en vérifie constamment la bonne application.", + "BLOCKCHAIN": "Chaîne de blocs (<span class=\"text-italic\">Blockchain</span>)", + "BLOCKCHAIN_DEF": "La BlockChain est un système décentralisé, qui, dans le cas de Duniter, sert à porter et exécuter les <span class=\"text-italic\">règles de la monnaie</span>.<br/><a href=\"https://duniter.org/fr/comprendre/\" target=\"_system\">En savoir plus sur Duniter</a> et le fonctionnement de sa blockchain.", + "UNIVERSAL_DIVIDEND_DEF": "Le Dividende Universel (DU) est la quantité de monnaie co-créée par chaque membre, suivant la période et le calcul définis dans les <span class=\"text-italic\">règles de la monnaie</span>.<br/>A chaque échéance, les membres reçoivent sur leur compte la même quantité de nouvelle monnaie.<br/><br/>Le DU subit une croissance régulière, pour rester juste entre les membres (actuels et à venir), calculée en fonction de l'espérance de vie moyenne, telle que démontré dans la Théorie Relative de la Monnaie (TRM).<br/><a href=\"http://trm.creationmonetaire.info\" target=\"_system\">En savoir plus sur la TRM</a> et les monnaies libres.", + "WOT": "Toile de Confiance (TdC)", + "WOT_DEF": "La Toile de Confiance est constituée de l'ensemble des membres de la monnaie, et des liens de certification qui les relient.", + "DISTANCE_RULE": "Règle de distance", + "DISTANCE_RULE_DEF": "La règle de distance de la Toile de Confiance définie <b>une distance maximale à respecter</b> entre un postulant et un nombre minimum de membres référents (ou membres centraux). Cette distance est calculée en utilisant les liens de certification." + }, + "TIP": { + "MENU_BTN_CURRENCY": "Le menu <b>{{'MENU.CURRENCY'|translate}}</b> permet la consultation des <b>règles de la monnaie</b> et de son état.", + "CURRENCY_WOT": "Le <b>nombre de membres</b> montre l'importance de la communauté et permet de <b>suivre son évolution</b>.", + "CURRENCY_MASS": "Suivez ici la <b>quantité totale de monnaie</b> existante et sa <b>répartition moyenne</b> par membre.<br/><br/>Ceci permet de juger de l'<b>importance d'un montant</b>, vis à vis de ce que <b>possède les autres</b> sur leur compte (en moyenne).", + "CURRENCY_UNIT_RELATIVE": "L'unité utilisée (“<b>{{'COMMON.UD'|translate}}<sub>{{currency|abbreviate}}</sub></b>”) signifie que les montants en {{currency|capitalize}} ont été divisés par le <b>Dividende Universel</b> (DU).<br/><br/><small>Cette unité relative est <b>pertinente</b>, car stable malgré la quantitié de monnaie qui augmente en permanence.</small>", + "CURRENCY_CHANGE_UNIT": "L'option <b>{{'COMMON.BTN_RELATIVE_UNIT'|translate}}</b> permet de <b>changer d'unité</b>, pour visualiser les montants <b>directement en {{currency|capitalize}}</b> (plutôt qu'en “<b>{{'COMMON.UD'|translate}}<sub>{{currency|abbreviate}}</sub></b>”).", + "CURRENCY_CHANGE_UNIT_TO_RELATIVE": "L'option <b>{{'COMMON.BTN_RELATIVE_UNIT'|translate}}</b> permet de <b>changer d'unité</b>, pour visualiser les montants en “<b>{{'COMMON.UD'|translate}}<sub>{{currency|abbreviate}}</sub></b>”, c'est-à-dire relativement au Dividende Universel (le montant co-produit par chaque membre).", + "CURRENCY_RULES": "Les <b>règles</b> de la monnaie fixent son fonctionnement <b>exact et prévisible</b>.<br/><br/>Véritable ADN de la monnaie, elles rendent son code monétaire <b>lisible et transparent</b>.", + "MENU_BTN_NETWORK": "Le menu <b>{{'MENU.NETWORK'|translate}}</b> permet la consultation de l'état du réseau.", + "NETWORK_BLOCKCHAIN": "Toutes les opérations de la monnaie sont enregistrées dans un grand livre de compte <b>public et infalsifiable</b>, appelé aussi <b>chaine de blocs</b> (<em>BlockChain</em> en anglais).", + "NETWORK_PEERS": "Les <b>nœuds</b> visibles ici correspondent aux <b>ordinateurs qui actualisent et contrôlent</b> la chaine de blocs.<br/><br/>Plus il y a de nœuds, plus la monnaie a une gestion <b>décentralisée</b> et digne de confiance.", + "NETWORK_PEERS_BLOCK_NUMBER": "Ce <b>numéro</b> (en vert) indique le <b>dernier bloc validé</b> pour ce nœud (dernière page écrite dans le grand livre de comptes).<br/><br/>La couleur verte indique que ce bloc est également validé par <b>la plupart des autres nœuds</b>.", + "NETWORK_PEERS_PARTICIPATE": "<b>Chaque membre</b>, équipé d'un ordinateur avec Internet, <b>peut participer en ajoutant un nœud</b>. Il suffit d'<b>installer le logiciel Duniter</b> (libre et gratuit). <a href=\"{{installDocUrl}}\" target=\"_system\">Voir le manuel d'installation >></a>.", + "MENU_BTN_ACCOUNT": "Le menu <b>{{'MENU.ACCOUNT'|translate}}</b> permet d'accéder à la gestion de votre compte.", + "MENU_BTN_ACCOUNT_MEMBER": "Consultez ici l'état de votre compte et les informations sur vos certifications.", + "WALLET_CERTIFICATIONS": "Cliquez ici pour consulter le détail de vos certifications (reçues et émises).", + "WALLET_RECEIVED_CERTIFICATIONS": "Cliquez ici pour consulter le détail de vos <b>certifications reçues</b>.", + "WALLET_GIVEN_CERTIFICATIONS": "Cliquez ici pour consulter le détail de vos <b>certifications émises</b>.", + "WALLET_BALANCE": "Le <b>solde</b> de votre compte s'affiche ici.", + "WALLET_BALANCE_RELATIVE": "{{'HELP.TIP.WALLET_BALANCE'|translate}}<br/><br/>L'unité utilisée (“<b>{{'COMMON.UD'|translate}}<sub>{{currency|abbreviate}}</sub></b>”) signifie que le montant en {{currency|capitalize}} a été divisé par le <b>Dividende Universel</b> (DU) co-créé par chaque membre.<br/><br/>Actuellement 1 DU vaut {{currentUD|formatInteger}} {{currency|capitalize}}s.", + "WALLET_BALANCE_CHANGE_UNIT": "Vous pourrez <b>changer l'unité</b> d'affichage des montants dans les <b><i class=\"icon ion-android-settings\"></i> {{'MENU.SETTINGS'|translate}}</b>.<br/><br/>Par exemple pour visualiser les montants <b>directement en {{currency|capitalize}}</b>, plutôt qu'en unité relative.", + "WALLET_PUBKEY": "Voici la clé publique de votre compte. Vous pouvez la communiquer à un tiers afin qu'il identifie plus simplement votre compte.", + "WALLET_SEND": "Effectuer un paiement en quelques clics.", + "WALLET_SEND_NO_MONEY": "Effectuer un paiement en quelques clics.<br/>(Votre solde ne le permet pas encore)", + "WALLET_OPTIONS": "Ce bouton permet l'accès aux <b>actions d'adhésion</b> et de sécurité.<br/><br/>N'oubliez pas d'y jeter un oeil !", + "WALLET_RECEIVED_CERTS": "S'affichera ici la liste des personnes qui vous ont certifié.", + "WALLET_CERTIFY": "Le bouton <b>{{'WOT.BTN_SELECT_AND_CERTIFY'|translate}}</b> permet de sélectionner une identité et de la certifier.<br/><br/>Seuls des utilisateurs <b>déjà membres</b> peuvent en certifier d'autres.", + "WALLET_CERT_STOCK": "Votre stock de certifications (émises) est limité à <b>{{sigStock}} certifications</b>.<br/><br/>Ce stock se renouvelle avec le temps, au fur et à mesure que les certifications s'invalident.", + "MENU_BTN_WALLETS": "Le menu <b>{{'MENU.WALLETS'|translate}}</b> permet d'ajouter des portefeuilles supplémentaires que vous gérez.", + "MENU_BTN_TX": "Le menu <b>{{'MENU.TRANSACTIONS'|translate}}</b> permet de consulter votre solde, l'historique vos transactions et d'envoyer un paiement.", + "MENU_BTN_WOT": "Le menu <b>{{'MENU.WOT'|translate}}</b> permet de rechercher parmi les <b>utilisateurs</b> de la monnaie (membres ou non).", + "WOT_SEARCH_TEXT_XS": "Pour rechercher dans l'annuaire, tapez les <b>premières lettres d'un pseudonyme</b> (ou d'une clé publique).<br/><br/>La recherche se lancera automatiquement.", + "WOT_SEARCH_TEXT": "Pour rechercher dans l'annuaire, tapez les <b>premières lettres d'un pseudonyme</b> (ou d'une clé publique). <br/><br/>Appuyer ensuite sur <b>Entrée</b> pour lancer la recherche.", + "WOT_SEARCH_RESULT": "Visualisez la fiche détaillée simplement en <b>cliquant</b> sur une ligne.", + "WOT_VIEW_CERTIFICATIONS": "La ligne <b>{{'ACCOUNT.CERTIFICATION_COUNT'|translate}}</b> montre combien de membres ont validé cette identité.<br/><br/>Ces certifications attestent que le compte appartient à <b>une personne humaine vivante</b> n'ayant <b>aucun autre compte membre</b>.", + "WOT_VIEW_CERTIFICATIONS_COUNT": "Il faut au moins <b>{{sigQty}} certifications</b> pour devenir membre et recevoir le <b>Dividende Universel</b>.", + "WOT_VIEW_CERTIFICATIONS_CLICK": "Un clic ici permet d'ouvrir <b>la liste de toutes les certifications</b> de l'identité (reçues et émises).", + "WOT_VIEW_CERTIFY": "Le bouton <b>{{'WOT.BTN_CERTIFY'|translate}}</b> permet d'ajouter votre certification à cette identité.", + "CERTIFY_RULES": "<b>Attention :</b> Ne certifiez que des <b>personnes physiques vivantes</b>, ne possédant aucun autre compte membre.<br/><br/>La sécurité de la monnaie dépend de la vigilance de chacun !", + "MENU_BTN_SETTINGS": "Les <b>{{'MENU.SETTINGS'|translate}}</b> vous permettront de configurer l'application.", + "HEADER_BAR_BTN_PROFILE": "Cliquez ici pour accéder à votre <b>profil utilisateur.</b>", + "SETTINGS_CHANGE_UNIT": "Vous pourrez <b>changer d'unité d'affichage</b> des montants en cliquant ci-dessus.<br/><br/>- Désactivez l'option pour un affichage des montants en {{currency|capitalize}}.<br/>- Activez l'option pour un affichage relatif en {{'COMMON.UD'|translate}}<sub>{{currency|abbreviate}}</sub> (tous les montants seront <b>divisés</b> par le Dividende Universel courant).", + "END_LOGIN": "Cette visite guidée est <b>terminée</b> !<br/><br/>Bonne continuation à vous, dans le nouveau monde de l'<b>économie libre</b> !", + "END_NOT_LOGIN": "Cette visite guidée est <b>terminée</b> !<br/><br/>Si vous souhaitez rejoindre la monnaie {{currency|capitalize}}, il vous suffira de cliquer sur <b>{{'LOGIN.CREATE_FREE_ACCOUNT'|translate}}</b> ci-dessous.", + "END_READONLY": "Cette visite guidée est <b>terminée</b>.<br/><br/>{{'MODE.READONLY.INSTALL_HELP'|translate}}." + } + }, + "API" :{ + "COMMON": { + "LINK_DOC": "Documentation API", + "LINK_DOC_HELP": "Documentation pour les développeurs", + "LINK_STANDARD_APP": "Version classique", + "LINK_STANDARD_APP_HELP": "Ouvrir la version classique de {{'COMMON.APP_NAME'|translate}}", + "CONNECTION_ERROR": "Nœud <b>{{server}}</b> injoignable ou adresse invalide.<br/><br/>Vérifiez votre connexion Internet, ou contactez l'administrateur du site." + }, + "HOME": { + "TITLE": "Documentation API {{'COMMON.APP_NAME'|translate}}", + "MESSAGE": "Bienvenue dans la <b>documentation de l'API</b> {{'COMMON.APP_NAME'|translate}}.<br/>Connectez vos sites web à <a href=\"http://duniter.org\" target=\"_system\">Duniter</a> très simplement !", + "MESSAGE_SHORT": "Connectez vos sites à <a href=\"http://duniter.org\" target=\"_system\">Duniter</a> très simplement !", + "DOC_HEADER": "Services disponibles :" + }, + "TRANSFER": { + "TITLE": "{{'COMMON.APP_NAME'|translate}} - Paiement en ligne", + "TITLE_SHORT": "Paiement en ligne", + "SUMMARY": "Récapitulatif du paiement :", + "AMOUNT": "Montant :", + "AMOUNTS_HELP": "Veuillez choisir le montant :", + "NAME": "Nom :", + "PUBKEY": "Clé publique du destinataire :", + "COMMENT": "Référence de l'opération :", + "NODE": "Adresse du nœud :", + "DEMO": { + "SALT": "demo", + "PASSWORD": "demo", + "PUBKEY": "3G28bL6deXQBYpPBpLFuECo46d3kfYMJwst7uhdVBnD1", + "HELP": "<b>Mode démonstration</b> : Aucun paiement ne sera réellement envoyé pendant cette simulation.<br/>Veuillez utiliser les identifiants : <b>{{'API.TRANSFER.DEMO.SALT'|translate}} / {{'API.TRANSFER.DEMO.PASSWORD'|translate}}</b>", + "BAD_CREDENTIALS": "Vérifiez votre saisie.<br/>En mode démonstration, les identifiants sont : {{'API.TRANSFER.DEMO.SALT'|translate}} / {{'API.TRANSFER.DEMO.PASSWORD'|translate}}" + }, + "INFO": { + "SUCCESS_REDIRECTING_WITH_NAME": "Paiement envoyé.<br/>Redirection vers <b>{{name}}</b>...", + "SUCCESS_REDIRECTING": "Paiement envoyé.<br/>Redirection vers le site du vendeur...", + "CANCEL_REDIRECTING_WITH_NAME": "Paiement annulé.<br/>Redirection vers <b>{{name}}</b>...", + "CANCEL_REDIRECTING": "Paiement annulé.<br/>Redirection vers le site du vendeur..." + }, + "ERROR": { + "TRANSFER_FAILED": "Échec du paiement" + } + }, + "DOC": { + "DESCRIPTION_DIVIDER": "Description", + "URL_DIVIDER": "Adresse d'appel", + "PARAMETERS_DIVIDER": "Paramètres", + "AVAILABLE_PARAMETERS": "Voici la liste des paramètres possibles :", + "DEMO_DIVIDER": "Tester", + "DEMO_HELP": "Pour tester ce service, cliquez sur le bouton ci-contre. Le résultat s'affichera en dessous.", + "DEMO_RESULT": "Résultat retourné par l'appel :", + "DEMO_RESULT_PEER": "Adresse du nœud utilisé :", + "DEMO_SUCCEED": "<i class=\"icon ion-checkmark\"></i> Succès !", + "DEMO_CANCELLED": "<i class=\"icon ion-close\"></i> Annulé par l'utilisateur", + "INTEGRATE_DIVIDER": "Intégrer", + "INTEGRATE_CODE": "Code :", + "INTEGRATE_RESULT": "Prévisualisation du résultat :", + "INTEGRATE_PARAMETERS": "Paramètres", + "TRANSFER": { + "TITLE": "Paiements", + "DESCRIPTION": "Depuis un site (ex: vente en ligne) vous pouvez déléguer le paiement en monnaie libre à Cesium API. Pour cela, il vous suffit de déclencher l'ouverture d'une page sur l'adresse suivante :", + "PARAM_PUBKEY": "Clé publique du destinataire", + "PARAM_PUBKEY_HELP": "Clé publique du destinataire (obligatoire)", + "PARAM_AMOUNT": "Montant", + "PARAM_AMOUNT_HELP": "Montant de la transaction (obligatoire). Valeurs multiples autorisées, en utilisant un séparateur (point-virgule, barre verticale ou espace).", + "PARAM_COMMENT": "Référence (ou commentaire)", + "PARAM_COMMENT_HELP": "Référence ou commentaire. Vous permettra par exemple d'identifier le paiement dans la BlockChain.", + "PARAM_NAME": "Nom (du destinataire ou du site web)", + "PARAM_NAME_HELP": "Le nom du destinataire, ou du site web appelant. Cela peut être un nom lisible (\"Mon site en ligne\"), ou encore une pseudo-adresse web (\"MonSite.com\").", + "PARAM_REDIRECT_URL": "Adresse web de redirection", + "PARAM_REDIRECT_URL_HELP": "Adresse web (URL) de redirection, appelé quand le paiement a été envoyé. Peut contenir les chaînes suivantes, qui seront remplacées par les valeurs de la transaction : \"{tx}\", \"{hash}\", \"{comment}\", \"{amount}\", \"{pubkey}\" et \"{node}\".", + "PARAM_CANCEL_URL": "Adresse web d'annulation", + "PARAM_CANCEL_URL_HELP": "Adresse web (URL) en cas d'annulation du paiement, par l'utilisateur. Peut contenir les chaînes suivantes, qui seront remplacées dynamiquement : \"{comment}\", \"{amount}\" et \"{pubkey}\".", + "PARAM_PREFERRED_NODE": "Adresse du nœud préféré", + "PARAM_PREFERRED_NODE_HELP": "Adresse (URL) du nœud Duniter à utiliser de préférence (\"g1.domaine.com:443\" ou \"https://g1.domaine.com\").", + "EXAMPLES_HELP": "Voici des exemples d'intégration :", + "EXAMPLE_BUTTON": "Bouton HTML", + "EXAMPLE_BUTTON_DEFAULT_TEXT": "Payer en {{currency|currencySymbol}}", + "EXAMPLE_BUTTON_DEFAULT_STYLE": "Style personnalisé", + "EXAMPLE_BUTTON_TEXT_HELP": "Texte du bouton", + "EXAMPLE_BUTTON_BG_COLOR": "Couleur du fond", + "EXAMPLE_BUTTON_BG_COLOR_HELP": "Exemple : #fbc14c, black, lightgrey, rgb(180,180,180)", + "EXAMPLE_BUTTON_FONT_COLOR": "Couleur du texte", + "EXAMPLE_BUTTON_FONT_COLOR_HELP": "Exemple : black, orange, rgb(180,180,180)", + "EXAMPLE_BUTTON_TEXT_ICON": "Icône", + "EXAMPLE_BUTTON_TEXT_WIDTH": "Largeur", + "EXAMPLE_BUTTON_TEXT_WIDTH_HELP": "Exemple : 200px, 50%", + "EXAMPLE_BUTTON_ICON_NONE": "Aucune", + "EXAMPLE_BUTTON_ICON_DUNITER": "Logo Duniter", + "EXAMPLE_BUTTON_ICON_CESIUM": "Logo Cesium", + "EXAMPLE_BUTTON_ICON_G1_COLOR": "Logo Ğ1", + "EXAMPLE_BUTTON_ICON_G1_BLACK": "Logo Ğ1 (noir)" + } + } + } +} diff --git a/src/assets/i18n/it-IT.json b/src/assets/i18n/it-IT.json new file mode 100644 index 0000000..94d6031 --- /dev/null +++ b/src/assets/i18n/it-IT.json @@ -0,0 +1,936 @@ +{ + "COMMON": { + "APP_NAME": "Cesium", + "APP_VERSION": "v{{version}}", + "APP_BUILD": "build {{build}}", + "PUBKEY": "Chiave pubblica", + "MEMBER": "Membro", + "BLOCK" : "Blocco", + "BTN_OK": "OK", + "BTN_YES": "Sì", + "BTN_NO": "No", + "BTN_SEND": "Inviare", + "BTN_SEND_MONEY": "Effettuare un pagamento", + "BTN_SEND_MONEY_SHORT": "Pagare", + "BTN_SAVE": "Salvare", + "BTN_YES_SAVE": "Sì, salvare", + "BTN_YES_CONTINUE": "Sì, continuare", + "BTN_SHOW": "Mostrare", + "BTN_SHOW_PUBKEY": "Mostrare chiave pubblica", + "BTN_RELATIVE_UNIT": "Mostra importi in DU?", + "BTN_BACK": "Indietro", + "BTN_NEXT": "Avanti", + "BTN_IMPORT": "Importare", + "BTN_CANCEL": "Cancellare", + "BTN_CLOSE": "Chiudere", + "BTN_LATER": "Più tardi", + "BTN_LOGIN": "Accedi", + "BTN_LOGOUT": "Esci", + "BTN_ADD_ACCOUNT": "Nuovo conto", + "BTN_SHARE": "Condividere", + "BTN_EDIT": "Modificare", + "BTN_DELETE": "Eliminare", + "BTN_ADD": "Aggiungere", + "BTN_SEARCH": "Cercare", + "BTN_REFRESH": "Aggiornare", + "BTN_RETRY": "Riprovare", + "BTN_START": "Iniziare", + "BTN_CONTINUE": "Continuare", + "BTN_CREATE": "Creare", + "BTN_UNDERSTOOD": "Ho capito", + "BTN_OPTIONS": "Opzioni", + "BTN_HELP_TOUR": "Mostrami le funzionalità", + "BTN_HELP_TOUR_SCREEN": "Scoprire questa schermata", + "BTN_DOWNLOAD": "Scaricare", + "BTN_DOWNLOAD_ACCOUNT_STATEMENT": "Scaricare estratto conto", + "BTN_MODIFY": "Modificare", + "CHOOSE_FILE": "Trascina un file <br/>o clicca per selezionare", + "DAYS": "Giorni", + "NO_ACCOUNT_QUESTION": "Non sei ancora membro? Registrati subito!", + "SEARCH_NO_RESULT": "Nessun risultato trovato", + "LOADING": "Caricando...", + "LOADING_WAIT": "Caricando...<br/><small>(Cesium interroga il nodo nodo Duniter)</small>", + "SEARCHING": "Cercando...", + "FROM": "Da", + "TO": "A", + "COPY": "Copiare", + "LANGUAGE": "Lingua", + "UNIVERSAL_DIVIDEND": "Dividendo Universale", + "UD": "UD", + "DATE_PATTERN": "DD/MM/YYYY HH:mm", + "DATE_FILE_PATTERN": "YYYY-MM-DD", + "DATE_SHORT_PATTERN": "DD/MM/YY", + "DATE_MONTH_YEAR_PATTERN": "MM/YYYY", + "EMPTY_PARENTHESIS": "(empty)", + "UID": "Pseudonimo", + "ENABLE": "Attivato", + "DISABLE": "Disattivato", + "RESULTS_LIST": "Risultati:", + "RESULTS_COUNT": "{{count}} risultati", + "EXECUTION_TIME": "Eseguito in {{duration|formatDurationMs}}", + "SHOW_VALUES": "Mostrare valori in modo trasparente?", + "POPOVER_ACTIONS_TITLE": "Opzioni", + "POPOVER_FILTER_TITLE": "Filtri", + "SHOW_MORE": "Mostrare di più", + "SHOW_MORE_COUNT": "(limite attuale di {{limit}})", + "POPOVER_SHARE": { + "TITLE": "Condividere", + "SHARE_ON_TWITTER": "Condividere su Twitter", + "SHARE_ON_FACEBOOK": "Condividere su Facebook", + "SHARE_ON_DIASPORA": "Condividere su Diaspora*", + "SHARE_ON_GOOGLEPLUS":"Condividere su Google+" + }, + "FILE": { + "DATE" : "Data:", + "TYPE" : "Tipo:", + "SIZE": "Dimensioni del file:", + "VALIDATING": "Validazione in corso..." + } + }, + "SYSTEM": { + "PICTURE_CHOOSE_TYPE": "Scegliere un file:", + "BTN_PICTURE_GALLERY": "Galleria", + "BTN_PICTURE_CAMERA": "<b>Camera</b>" + }, + "MENU": { + "HOME": "Inizio", + "WOT": "Rubrica", + "CURRENCY": "Moneta", + "ACCOUNT": "Il mio conto", + "WALLETS": "I miei portafogli", + "SETTINGS": "Impostazioni", + "NETWORK": "Rete", + "TRANSACTIONS": "I miei pagamenti" + }, + "ABOUT": { + "TITLE": "A proposito", + "LICENSE": "<b>Free/libre software</b> (License GNU AGPLv3).", + "CODE": "Codice sorgente:", + "OFFICIAL_WEB_SITE": "Sito ufficiale:", + "DEVELOPERS": "Sviluppatori:", + "FORUM": "Forum:", + "PLEASE_REPORT_ISSUE": "Non esitare a commentarci delle anomalie riscontrate", + "REPORT_ISSUE": "Segnalare un bug" + }, + "HOME": { + "TITLE": "Cesium", + "WELCOME": "Benvenuti al Cesium App!", + "WELCOME_READONLY": "Benvenuti nel Cesium <span class='badge badge-balanced'>Monit</span>!", + "MESSAGE": "Scambiate in moneta libera {{currency|abbreviate}}", + "MESSAGE_READONLY": "Monitoraggio in tempo reale della moneta libera {{currency|abbreviate}}", + "BTN_CURRENCY": "Esplorare la moneta {{currency|abbreviate}}", + "BTN_ABOUT": "A proposito", + "BTN_HELP": "Aiuto", + "BTN_NETWORK": "Stato della rete", + "FREE_SOFTWARE": "Free software", + "FORK_ME": "Fork me!", + "SHOW_LICENSE": "Mostra licenza", + "REPORT_ISSUE": "Segnalare un bug", + "NOT_YOUR_ACCOUNT_QUESTION" : "Non sei proprietario del conto <b><i class=\"ion-key\"></i> {{pubkey|formatPubkey}}</b>?", + "BTN_CHANGE_ACCOUNT": "Disconettere questo conto", + "CONNECTION_ERROR": "Nodo <b>{{server}}</b> irraggiungibile o indirizzo non valido. <br/><br/> Verifica tua connessione or cambia nodo. <a class=\"positive\" ng-click=\"doQuickFix('settings')\">nell impostazioni. </a>.", + "SHOW_ALL_FEED": "Mostra tutto", + "READ_MORE": "Leggi di più", + "FEED_SOURCE": "Fonte" + }, + "SETTINGS": { + "TITLE": "Impostazioni", + "DISPLAY_DIVIDER": "Schermo", + "STORAGE_DIVIDER": "Salvataggio", + "NETWORK_SETTINGS": "Rete", + "PEER": "Indirizzo del nodo Duniter", + "PEER_SHORT": "Indirizzo del nodo", + "PEER_CHANGED_TEMPORARY": "Indirizzo usato per un tempo determinato", + "PERSIST_CACHE": "Conserva i dati di navigazione (sperimentale)", + "USE_LOCAL_STORAGE": "Abilitare local storage", + "USE_LOCAL_STORAGE_HELP": "Permette di salvare tue impostazioni", + "ENABLE_HELPTIP": "Abilitare consigli dinamici", + "ENABLE_UI_EFFECTS": "Abilitare effetti visivi", + "HISTORY_SETTINGS": "Mio conto", + "DISPLAY_UD_HISTORY": "Mostrare dividendi prodotti?", + "AUTHENTICATION_SETTINGS": "Autenticazione", + "KEEP_AUTH": "Scadenza dell'autenticazione", + "KEEP_AUTH_SHORT": "Scadenza", + "KEEP_AUTH_HELP": "Definire quando l'autenticazione verrà eliminata dalla memoria.", + "KEEP_AUTH_OPTION": { + "NEVER": "Dopo ogni operazione", + "SECONDS": "Dopo {{value}}s d'inattività", + "MINUTE": "Dopo{{value}}min d'inattività", + "MINUTES": "Dopo {{value}}min d'inattività", + "HOUR": "Dopo {{value}}h d'inattività", + "ALWAYS": "Alla fine della sessione" + }, + "REMEMBER_ME": "Ricordarsi di me?", + "REMEMBER_ME_HELP": "Rimanere identificato da una sessione all'altra, conservando la chiave localmente.", + "PLUGINS_SETTINGS": "Estensioni", + "BTN_RESET": "Ripristina valori predefiniti", + "EXPERT_MODE": "Abilitare modalità eseperto", + "EXPERT_MODE_HELP": "Permette di vedere più dettagli", + "POPUP_PEER": { + "TITLE" : "Nodo Duniter", + "HOST" : "Indirizzo", + "HOST_HELP": "Indirizzo: server:port", + "USE_SSL" : "Cifrato?", + "USE_SSL_HELP" : "(Cifratura SSL)", + "BTN_SHOW_LIST" : "Lista dei nodi" + } + }, + "BLOCKCHAIN": { + "HASH": "Hash: {{hash}}", + "VIEW": { + "HEADER_TITLE": "Blocco #{{number}}-{{hash|formatHash}}", + "TITLE_CURRENT": "Blocco attuale", + "TITLE": "Blocco #{{number|formatInteger}}", + "COMPUTED_BY": "Calcolato da", + "SHOW_RAW": "Mostrare dati grezzi", + "TECHNICAL_DIVIDER": "Informazioni tecniche", + "VERSION": "Versione di formato", + "HASH": "Hash calcolato", + "UNIVERSAL_DIVIDEND_HELP": "Moneta co-prodotta da ciasciuno dei {{membersCount}} membri", + "EMPTY": "Nessun dato in questo blocco", + "POW_MIN": "Difficoltà minima", + "POW_MIN_HELP": "Difficoltà imposta nel calcolo del hash", + "DATA_DIVIDER": "Dati", + "IDENTITIES_COUNT": "Nuove identità", + "JOINERS_COUNT": "Nuovi membri", + "ACTIVES_COUNT": "Rinnovi", + "ACTIVES_COUNT_HELP": "Membri che hanno rinnovato la loro presenza nella rete", + "LEAVERS_COUNT": "Abbandoni", + "LEAVERS_COUNT_HELP": "Membri che hanno abbandonato la rete", + "EXCLUDED_COUNT": "Membri esclusi", + "EXCLUDED_COUNT_HELP": "Vecchi membri, esclusi per certificazione non rinnovata o soglia di certificazioni non raggiunta.", + "REVOKED_COUNT": "Identità revocate", + "REVOKED_COUNT_HELP": "Può essere che queste identità non siano più membri", + "TX_COUNT": "Transazioni", + "CERT_COUNT": "Certificazioni", + "TX_TO_HIMSELF": "Cambio", + "TX_OUTPUT_UNLOCK_CONDITIONS": "Sbloccare condizioni", + "TX_OUTPUT_OPERATOR": { + "AND": "e", + "OR": "o" + }, + "TX_OUTPUT_FUNCTION": { + "SIG": "<b>Firma</b> della chive pubblica", + "XHX": "<b>Password</b>, incluso SHA256 =", + "CSV": "Bloccato per", + "CLTV": "Bloccato fino a" + } + }, + "LOOKUP": { + "TITLE": "Blocchi", + "NO_BLOCK": "Nessun blocco", + "LAST_BLOCKS": "Ultimi blocchi:", + "BTN_COMPACT": "Compact" + } + }, + "CURRENCY": { + "VIEW": { + "TITLE": "Moneta", + "TAB_CURRENCY": "Moneta", + "TAB_WOT": "Rete di Fiducia", + "TAB_NETWORK": "Rete", + "TAB_BLOCKS": "Blocchi", + "CURRENCY_SHORT_DESCRIPTION": "{{currency|capitalize}} è <b>una moneta libera</b>, {{firstBlockTime | formatFromNow}}. La rete comprende <b>{{N}} membri </b>, che produccono e ricevono un <a ng-click=\"showHelpModal('ud')\">Dividendo Universale</a> (DU), ogni {{dt | formatPeriod}}.", + "NETWORK_RULES_DIVIDER": "Regole della rete", + "CURRENCY_NAME": "Nome della moneta", + "MEMBERS": "Numero di membri", + "MEMBERS_VARIATION": "Variazione da {{duration|formatDuration}} (dall' ultimo UD)", + "MONEY_DIVIDER": "Moneta", + "MASS": "Massa monetaria", + "SHARE": "Quantità pro capite", + "UD": "Dividendo universale", + "C_ACTUAL": "Crescita attuale", + "MEDIAN_TIME": "Tempo attuale della blockchain", + "POW_MIN": "Difficoltà comune", + "MONEY_RULES_DIVIDER": "Regole della moneta", + "C_RULE": "Obiettivo teorico di crescità", + "UD_RULE": "Dividendo universale (formula)", + "DT_REEVAL": "Periodo tra due rivalutazioni del DU", + "REEVAL_SYMBOL": "rival", + "DT_REEVAL_VALUE": "Ogni <b>{{dtReeval|formatDuration}}</b> ({{dtReeval/86400}} {{'COMMON.DAYS'|translate}})", + "UD_REEVAL_TIME0": "Data della prima rivalutazione del DU", + "SIG_QTY_RULE": "Numero di certificazioni richieste per diventare membro", + "SIG_STOCK": "Numero massimo di certificazioni inviate da un membro", + "SIG_PERIOD": "Tempo minimo tra 2 certificazioni inviate da un unico membro.", + "SIG_WINDOW": "Periodo massimo prima che una candidatura a membro venga studiata", + "SIG_VALIDITY": "Durata di vita di una certificazione convalidata", + "MS_WINDOW": "Periodo massimo prima che una certificazione in attesa sia convalidata", + "MS_VALIDITY": "Durata di vita di un'adesione convalidata", + "STEP_MAX": "Distanza massima tra un nuovo membro e ogni membro referente.", + "WOT_RULES_DIVIDER": "Regole della Rete di Fiducia", + "SENTRIES": "Numero di certificazioni (date <b>e</b> ricevute) per diventare membro referente ", + "SENTRIES_FORMULA": "Numero di certificazioni necessarie per diventare membro (formula)", + "XPERCENT":"Percentuale minima di membri referenti per rispettare la regola di distanza tra i membri", + "AVG_GEN_TIME": "Tempo medio tra due blocchi", + "CURRENT": "attuale", + "MATH_CEILING": "TETTO", + "DISPLAY_ALL_RULES": "Mostrare tutte le regole?", + "BTN_SHOW_LICENSE": "Mostrare licenza", + "WOT_DIVIDER": "Rete di Fiducia" + }, + "LICENSE": { + "TITLE": "Licenza attuale", + "BTN_DOWNLOAD": "Scaricare il file", + "NO_LICENSE_FILE": "File di licenza non trovato." + } + }, + "NETWORK": { + "VIEW": { + "MEDIAN_TIME": "Blockchain tempo", + "LOADING_PEERS": "Caricando la lista dei nodi...", + "NODE_ADDRESS": "Indirizzo del nodo", + "SOFTWARE": "Software", + "WARN_PRE_RELEASE": "Pre-versione (ultima versione stabile: <b>{{version}}</b>)", + "WARN_NEW_RELEASE": "Versione <b>{{version}}</b> disponibile", + "WS2PID": "Identificativo:", + "PRIVATE_ACCESS": "Accesso privato", + "POW_PREFIX": "Prefisso Prova di Lavoro:", + "ENDPOINTS": { + "BMAS": "Endpoint sicuro (SSL)", + "BMATOR": "Interfaccia rete TOR", + "WS2P": "Interfaccia WS2P", + "ES_USER_API": "Cesium+ data node" + } + }, + "INFO": { + "ONLY_SSL_PEERS": "I nodi non-SSL hanno un display semplificato perche Cesium funziona in modalità HTTPS." + } + }, + "PEER": { + "PEERS": "Nodi", + "SIGNED_ON_BLOCK": "Firmato nel blocco", + "MIRROR": "Specchio", + "MIRRORS": "Specchi", + "MIRROR_PEERS": "Nodi specchio", + "PEER_LIST" : "Lista dei nodi", + "MEMBERS" : "Membri", + "MEMBER_PEERS" : "Nodi membri", + "ALL_PEERS" : "Tutti i nodi", + "DIFFICULTY" : "Difficoltà", + "API" : "API", + "CURRENT_BLOCK" : "Blocco #", + "POPOVER_FILTER_TITLE": "Filtro", + "OFFLINE": "Sconessi", + "OFFLINE_PEERS": "Nodi sconessi", + "BTN_SHOW_PEER": "Mostrare Nodo", + "VIEW": { + "TITLE": "Nodo", + "OWNER": "Proprietà di", + "SHOW_RAW_PEERING": "Vedere il documento di peering", + "SHOW_RAW_CURRENT_BLOCK": "Vedere l'utimo blocco (formatto grezzo)", + "LAST_BLOCKS": "Ultimi blocchi", + "KNOWN_PEERS": "Nodi conosciuti:", + "GENERAL_DIVIDER": "Informazioni generali", + "ERROR": { + "LOADING_TOR_NODE_ERROR": "Impossibile ottenere i dati del nodo, tempo di attesa scaduto.", + "LOADING_NODE_ERROR": "Impossibile ottenere i dati del nodo" + } + } + }, + "WOT": { + "SEARCH_HELP": "Cercare (membro o chiave pubblica)", + "SEARCH_INIT_PHASE_WARNING": "La ricerca per le certificazioni in attesa <b>può essere lunga</b> durante la fase di pre-certificazione. La preghiamo di attendere...", + "REGISTERED_SINCE": "Certificato dal", + "REGISTERED_SINCE_BLOCK": "Certificato dal blocco #", + "NO_CERTIFICATION": "Nessuna certificazione valida", + "NO_GIVEN_CERTIFICATION": "Nessuna certificazione data", + "NOT_MEMBER_PARENTHESIS": "(non-membro)", + "IDENTITY_REVOKED_PARENTHESIS": "(identità revocata)", + "MEMBER_PENDING_REVOCATION_PARENTHESIS": "(Cancellazione dell'identità in corso)", + "EXPIRE_IN": "Scade", + "NOT_WRITTEN_EXPIRE_IN": "Scadenza <br/> ", + "EXPIRED": "Scaduto", + "PSEUDO": "Pseudonimo", + "SIGNED_ON_BLOCK": "Emessa nel blocco #{{block}}", + "WRITTEN_ON_BLOCK": "Scritta nel blocco #{{block}}", + "GENERAL_DIVIDER": "Informazioni generali", + "NOT_MEMBER_ACCOUNT": "Conto non-membro", + "NOT_MEMBER_ACCOUNT_HELP": "Questo è un portafoglio semplice, senza richiesta di certificazione emessa.", + "TECHNICAL_DIVIDER": "Dati tecnici", + "BTN_CERTIFY": "Certificare", + "BTN_YES_CERTIFY": "Si, certificare", + "BTN_SELECT_AND_CERTIFY": "Nuova certificazione", + "ACCOUNT_OPERATIONS": "Operazioni sul conto", + "VIEW": { + "POPOVER_SHARE_TITLE": "Identità {{title}}" + }, + "LOOKUP": { + "TITLE": "Annuario", + "NEWCOMERS": "Nuovi membri:", + "NEWCOMERS_COUNT": "{{count}} membri", + "PENDING": "Registrazioni in attesa", + "PENDING_COUNT": "{{count}} inscrizioni in attesa", + "REGISTERED": "Registrato {{sigDate | formatFromNow}}", + "MEMBER_FROM": "Membro dal {{memberDate|medianFromNowShort}}", + "BTN_NEWCOMERS": "Ultimi membri", + "BTN_PENDING": "Registrazioni in attesa", + "SHOW_MORE": "Vedere di più", + "SHOW_MORE_COUNT": "(limite attuale di {{limit}})", + "NO_PENDING": "Nessuna certificazione in attesa.", + "NO_NEWCOMERS": "Nessun membro." + }, + "CONTACTS": { + "TITLE": "Contatti" + }, + "MODAL": { + "TITLE": "Ricerca" + }, + "CERTIFICATIONS": { + "TITLE": "{{uid}} - Certificazioni", + "SUMMARY": "Certificazioni ricevute", + "LIST": "Dettagli delle certificazioni ricevute", + "PENDING_LIST": "Certificazioni in attesa", + "RECEIVED": "Certificazioni ricevute", + "RECEIVED_BY": "Certifications ricevute da {{uid}}", + "ERROR": "Certificazioni ricevute per errore", + "SENTRY_MEMBER": "Membro referente" + }, + "OPERATIONS": { + "TITLE": "{{uid}} - Operazioni" + }, + "GIVEN_CERTIFICATIONS": { + "TITLE": "{{uid}} - Certificazioni inviate", + "SUMMARY": "Certificazioni inviate", + "LIST": "Dettagli delle certificazioni inviate", + "PENDING_LIST": "Certificazioni ", + "SENT": "Certificazioni inviate", + "SENT_BY": "Certificazioni inviate da {{uid}}", + "ERROR": "Certificazioni inviate per errore" + } + }, + "LOGIN": { + "TITLE": "<i class=\"icon ion-log-in\"></i> Accedi", + "SCRYPT_FORM_HELP": "Accedi con tuoi dati <br> Ricordati di verificare che stai utilizzando la chiave del tuo conto.", + "PUBKEY_FORM_HELP": "Scrivi qui la tua chiave pubblica:", + "FILE_FORM_HELP": "Scegliere un portachiavi da utilizzare:", + "SCAN_FORM_HELP": "Scansiona il codice QR di un portafoglio.", + "SALT": "Identificativo segreto", + "SALT_HELP": "Identificativo segreto", + "SHOW_SALT": "Mostrare identificativo segreto?", + "PASSWORD": "Password", + "PASSWORD_HELP": "Password", + "PUBKEY_HELP": "Chiave pubblica, pseudonimo", + "NO_ACCOUNT_QUESTION": "Non hai ancora un conto?", + "HAVE_ACCOUNT_QUESTION": "Hai già un conto?", + "CREATE_ACCOUNT": "Creare un conto", + "CREATE_FREE_ACCOUNT": "Crea un conto gratuito", + "FORGOTTEN_ID": "Non ricordi la password?", + "ASSOCIATED_PUBKEY": "Chiave pubblica:", + "BTN_METHODS": "Altri metodi", + "BTN_METHODS_DOTS": "Cambiare metodo...", + "METHOD_POPOVER_TITLE": "Metodi", + "MEMORIZE_AUTH_FILE": "Memorizzare questo portachiavi per la durata di questa sessione", + "SCRYPT_PARAMETERS": "Parametri (Scrypt) :", + "AUTO_LOGOUT": { + "TITLE": "Informazioni", + "MESSAGE": "<i class=\"ion-android-time\"></i> Sei stato <b>sconesso/ b> automaticamente, per un periodo di inattività prolongata", + "BTN_RELOGIN": "Accedi", + "IDLE_WARNING": "Sarai disconesso in... {{countdown}}" + }, + "METHOD": { + "SCRYPT_DEFAULT": "Accesso standard (imp. predefinita)", + "SCRYPT_ADVANCED": "Accesso avanzato", + "FILE": "File del portachiavi", + "PUBKEY": "Chiave pubblica soltanto", + "SCAN": "Scansiona un codice QR" + }, + "SCRYPT": { + "SIMPLE": "Accesso rapido", + "DEFAULT": "Accesso standard", + "SECURE": "Accesso sicuro", + "HARDEST": "Accesso più sicuro", + "EXTREME": "Accesso estremo", + "USER": "Accesso personalizzato", + "N": "N (Loop):", + "r": "r (RAM):", + "p": "p (CPU):" + }, + "FILE": { + "HELP": "Formato del file atteso: <b>.dunikey</b> (type PubSec). Altri formati in sviluppo (EWIF, WIF)." + } + }, + "AUTH": { + "TITLE": "<i class=\"icon ion-locked\"></i> Autenticazione", + "BTN_AUTH": "Autenticarsi", + "GENERAL_HELP": "Autenticati :", + "EXPECTED_UID_HELP": "Effettua il login nel conto <i class=\"ion-person\"></i> {{uid}}:", + "EXPECTED_PUBKEY_HELP": "Si prega di autenticarsi nel portafoglio <i class=\"ion-key\"></i> {{pubkey|formatPubkey}}:", + "SCAN_FORM_HELP": "Scansiona il codice QR della <b>chiave pubblica</b> del portafoglio." + }, + "ACCOUNT": { + "TITLE": "Il mio conto", + "BALANCE": "Saldo", + "LAST_TX": "Ultime transazioni", + "BALANCE_ACCOUNT": "Saldo del conto", + "NO_TX": "Nessuna transazione", + "SHOW_MORE_TX": "Mostrare di più", + "SHOW_ALL_TX": "Mostrare tutte", + "TX_FROM_DATE": "(limite attuale del {{fromTime|medianFromNowShort}})", + "PENDING_TX": "Transazioni in attesa", + "VALIDATING_TX": "Transazioni in corso di convalida", + "ERROR_TX": "Transazioni non eseguite", + "ERROR_TX_SENT": "Transazioni inviate", + "PENDING_TX_RECEIVED": "Transazioni in attesa di recezione", + "EVENTS": "Eventi", + "WAITING_MEMBERSHIP": "Richiesta di certificazione inviata. In attesa di validazione.", + "WAITING_CERTIFICATIONS": "Hai bisogno di {{needCertificationCount}} certificazione(i) per diventare membro.", + "WILL_MISSING_CERTIFICATIONS": "Ti serviranno a breve <b>di certificazioni</b> (occorrono almeno altre{{willNeedCertificationCount}} certificazioni)", + "WILL_NEED_RENEW_MEMBERSHIP": "La tua certificazione <b>scadrà{{membershipExpiresIn|formatDurationTo}}</b>. Ricordati di <a ng-click=\"doQuickFix('renew')\">rinnovarla</a> prima.", + "NEED_RENEW_MEMBERSHIP": "Non sei più un membro perchè la tua adesione <b>è scaduta</b>. Ricordati di <a ng-click=\"doQuickFix('renew')\">rinnovare la tua iscrizione</a>.", + "NO_WAITING_MEMBERSHIP": "Nessuna domanda di adesione in attesa. Se desideri <b>diventare membro</b>, ricordati di <a ng-click=\"doQuickFix('membership')\">inviare tua domanda di adesione</a>.", + "CERTIFICATION_COUNT": "Certificazioni ricevute", + "CERTIFICATION_COUNT_SHORT": "Certificazioni", + "SIG_STOCK": "Stock di certificazioni da inviare", + "BTN_RECEIVE_MONEY": "Ricevere", + "BTN_SELECT_ALTERNATIVES_IDENTITIES": "Usare un'altra identità..", + "BTN_FIX_MEMBERSHIP": "Invia nuovamente una richiesta di adesione...", + "BTN_MEMBERSHIP_RENEW": "Rinnovare adesione", + "BTN_MEMBERSHIP_RENEW_DOTS": "Rinnovare adesione ...", + "BTN_MEMBERSHIP_OUT_DOTS": "Revocare adesione...", + "BTN_SECURITY_DOTS": "Login e securità...", + "BTN_SHOW_DETAILS": "Visualizza dati tecnici", + "LOCKED_OUTPUTS_POPOVER": { + "TITLE": "Importo bloccato", + "DESCRIPTION": "Ecco le condizioni per sbloccare questo importo:", + "DESCRIPTION_MANY": "Questa transazione è fatta da diverse parti, queste sono le condizioni di sblocco:", + "LOCKED_AMOUNT": "Importo bloccato:" + }, + "NEW": { + "TITLE": "Registrazione", + "INTRO_WARNING_TIME": "Crearsi un conto su {{name|capitalize}} è molto semplice. È consigliato prendere il giusto tempo per farlo correttamente (per evitare di dimenticare passwords, pseudonimi etc.).", + "INTRO_WARNING_SECURITY": "Occorre verificare che l'hardware che stai utilizzando (computer, tablet, cellulare) <b>è sicuro e affidabile</b>.", + "INTRO_WARNING_SECURITY_HELP": "Anti-virus aggiornato, firewall abilitato, sessione protteta da una password o codice PIN...", + "INTRO_HELP": "Cliccare <b> {{'COMMON.BTN_START'|translate}}</b> per avviare la creazione del conto. Ti accompagniamo passo a passo.", + "REGISTRATION_NODE": "La tua iscrizione verrà salvata dal nodo Duniter <b>{{server}}</b>, è verrà poi condivisa nella rete della moneta.", + "REGISTRATION_NODE_HELP": "Se non ti fidi di questo nodo, per favore cambialo <a ng-click=\"doQuickFix('settings')\">nelle impostazioni/a> di Cesium.", + "SELECT_ACCOUNT_TYPE": "Scegliere un tipo di conto:", + "MEMBER_ACCOUNT": "Conto membro", + "MEMBER_ACCOUNT_TITLE": "Creare un conto membro", + "MEMBER_ACCOUNT_HELP": "Se non sei ancora registrato come individuo (un conto per persona soltanto).", + "WALLET_ACCOUNT": "Portafoglio semplice", + "WALLET_ACCOUNT_TITLE": "Creare un portafoglio", + "WALLET_ACCOUNT_HELP": "Se rappresenti un'azienda, associazione, altra ente o hai necessita di un altro portafoglio. Nessun Dividendo Universale sarà prodotto da questo conto.", + "SALT_WARNING": "Scegliere un identificativo segreto.<br/>È necessario per ogni connessione a questo conto.<br/><br/><b>Accertati di ricordarlo!</b>.<br/>Se lo dimentichi non ti potrà aiutare nessuno!", + "PASSWORD_WARNING": "Scegliere una password.<br/>E necessario per ogni connessione a questo conto.<br/><br/><b>Accertati di ricordarla!</b>.<br/>Se la dimentichi non ti potrà aiutare nessuno!", + "PSEUDO_WARNING": "Segliere uno pseudonimo.<br/>Puo essere utile per chi ti cerca nella rete.<br/><br/>.L'utilizzo delle<b>virgole, spazi e accenti</b> è vietato.<br/><div class='hidden-xs'><br/>Esempio: <span class='gray'>JohnDalton, JackieChan, etc.</span>", + "PSEUDO": "Pseudonimo", + "PSEUDO_HELP": "joe123", + "SALT_CONFIRM": "Confermare", + "SALT_CONFIRM_HELP": "Confermare l'identificativo segreto", + "PASSWORD_CONFIRM": "Confermare", + "PASSWORD_CONFIRM_HELP": "Confermare la password", + "SLIDE_6_TITLE": "Conferma:", + "COMPUTING_PUBKEY": "Calcolando...", + "LAST_SLIDE_CONGRATULATION": "Hai riempito tutti i campi richiesti.<br/><b>Puoi inviare la richiesta di creazione del conto</b>.<br/><br/>Per tua informazione, la chiave pubblica qui sotto identifica il tuo futuro conto.<br/>Puo essere comunicata a chi ti deve pagare.<br/>Quando il tuo conto verrà approvato potrai trovare la chiave qui <b>{{'ACCOUNT.TITLE'|translate}}</b>.", + "CONFIRMATION_MEMBER_ACCOUNT": "<b class=\"assertive\">Warning:</b>Il tuo identificatore segreto, la tua password e il tuo pseudonimo non si possono cambiare.<br/><b>Ricordali per sempre!</b><br/><b>Sei sicuro/a</b>di voler inviare questa richiesta di creazione di conto?", + "CONFIRMATION_WALLET_ACCOUNT": "<b class=\"assertive\">Warning:</b>Il tuo identificatore segreto, la tua password e tuo pseudonimo non si possono cambiare..<br/><b>Ricordali per sempre!</b><br/><b>Sei sicuro/a</b> di voler continuare?", + "CHECKING_PSEUDO": "Verificazione in corso...", + "PSEUDO_AVAILABLE": "Pseudonimo disponibile", + "PSEUDO_NOT_AVAILABLE": "Pseudonimo indisponibile", + "INFO_LICENSE": "Per aderire alla moneta, ti chiediamo di leggere e accetare le condizioni della licenza.", + "BTN_ACCEPT": "Accetto", + "BTN_ACCEPT_LICENSE": "Accetto la licenza" + }, + "POPUP_REGISTER": { + "TITLE": "Pseudonimo", + "HELP": "Uno pseudonimo è necessario per che gli altri ti possino trovare." + }, + "SELECT_IDENTITY_MODAL": { + "TITLE": "Selezionare una identità", + "HELP": "Più <b>identità diverse</b> sono state inviate per la chiave pubblica <span class=\"gray\"><i class=\"ion-key\"></i> {{pubkey|formatPubkey}}</span>.<br/>Seleziona un dossier da usare :" + }, + "SELECT_WALLET_MODAL": { + "TITLE": "Selezione del portafoglio" + }, + "WALLET_LIST": { + "TITLE": "Portafoglio secondario", + "BTN_NEW": "Aggiungi un portfolio", + "NO_WALLET": "Nessun portafoglio secondario", + "BTN_DELETE": "Rimuovi un portafoglio secondario ...", + "BTN_RENAME": "Rinominare il portafoglio", + "EDIT_POPOVER": { + "TITLE": "Rinominare il portafoglio", + "HELP": "Compila il nuovo nome", + "NAME_HELP": "Nome del portafoglio" + } + }, + "SECURITY":{ + "ADD_QUESTION" : "Aggiungere domanda personalizzata", + "BTN_CLEAN" : "Svuotare", + "BTN_RESET" : "Reset", + "DOWNLOAD_REVOKE": "Salvare un file di revoca", + "DOWNLOAD_REVOKE_HELP" : "Avere une file di revoca è necessario in caso di smarrimento delle tue credenziali. Ti permette <b> di rimuovere tuo conto dalla Rete di Fiducia</b>, per farlo tornare ad essere un semplice portafoglio.", + "HELP_LEVEL": "Scegliere <strong> almeno{{nb}} domande </strong> :", + "LEVEL": "Livello di sicurezza", + "LOW_LEVEL": "Basso <span class=\"hidden-xs\">(minimo di 2 domande)</span>", + "MEDIUM_LEVEL": "Medio <span class=\"hidden-xs\">(minimo di 4 domande)</span>", + "QUESTION_1": "Qual'era il nome del tuo miglior amico quando eri adolescente?", + "QUESTION_2": "Qual'era il nome del tuo primo animale domestico?", + "QUESTION_3": "Qual'è il primo piatto che imparasti a cucinare?", + "QUESTION_4": "Qual'è il primo film che hai visto al cinema?", + "QUESTION_5": "Qual'era la destinazione del tuo primo volo?", + "QUESTION_6": "Qual'era il nome del tuo professore preferito a scuola?", + "QUESTION_7": "Quale sarebbe il tuo lavoro preferito?", + "QUESTION_8": "Qual'è il tuo libro per bimbi preferito?", + "QUESTION_9": "Qual'era il marchio della tua prima macchina?", + "QUESTION_10": "Qual'era il tuo nomignolo da ragazzino/a?", + "QUESTION_11": "Qual'era il tuo personaggio di film o attore preferito quand eri studente?", + "QUESTION_12": "Qual'era il tuo musicista/cantante/grupo preferito quando eri studente?", + "QUESTION_13": "In che città si sono conosciuti i tuoi genitori?", + "QUESTION_14": "Qual'era il nome del tuo primo capo?", + "QUESTION_15": "Qual'è il nome della strada dove sei cresciuto/a?", + "QUESTION_16": "Qual'è il nome della tua spiaggia preferita?", + "QUESTION_17": "Qual'è il primo album che ti sei comprato?", + "QUESTION_18": "Qual'è il nome della squadra di sport preferita?", + "QUESTION_19": "Cosa faceva il tuo nonno?", + "RECOVER_ID": "Ricuperare la mia password...", + "RECOVER_ID_HELP": "Se hai un<b<file di backup deelle tue credenziali</b>, li puoi trovare rispondendo correttamente alle tue domande personalizzate.", + "REVOCATION_WITH_FILE" : "Revocare il mio conto membro...", + "REVOCATION_WITH_FILE_DESCRIPTION": "Se pensi di aver perso <b>definitivamente le tue credenziali</b> di conto membro (o che la sicurezza del tuo conto è compromessa), puoi usare <b>il file di revoca</b> del conto <b>per forzare la sua uscita permanente dalla Rete di Fiducia</b>.", + "REVOCATION_WITH_FILE_HELP": "Se hai <b>definitivamente perso le tue credenziali (o se la sicurezza del tuo conto è compromessa), puoi usare <b>il file di revoca</b> del conto <b>per uscire dalla Rete di Fiducia</b>.", + "REVOCATION_WALLET": "Revocare questo conto subito", + "REVOCATION_WALLET_HELP": "Richiedere la cancellazione dell'identità <b>revocherà la tua adesione alla Rete di Fiducia</ b> (definitivamente per lo pseudonimo e per la chiave pubblica associata). Il conto non potrà più produrre il Dividendo Universale.<br/>Nonostante ciò, puoi ancora usare il conto come semplice portafoglio.", + "REVOCATION_FILENAME": "revocation-{{uid}}-{{pubkey|formatPubkey}}-{{currency}}.txt", + "SAVE_ID": "Salvare le mie credenziali...", + "SAVE_ID_HELP": "Creare un file di backup, per <b>recuperare la vostra password</b> (e l'identificativo segreto) <b> in caso di smarrimento</b>. Il file è <b>sicuro</ b> (cryptato) utilizzando le domande personalizzate.", + "STRONG_LEVEL": "Alto <span class=\"hidden-xs \">(minimo di 6 domande)</span>", + "TITLE": "Conto e sicurezza" + }, + "FILE_NAME": "{{currency}} - Account statement {{pubkey|formatPubkey}} to {{currentTime|formatDateForFile}}.csv", + "HEADERS": { + "TIME": "Data", + "AMOUNT": "Importo", + "COMMENT": "Commento" + } + }, + "TRANSFER": { + "TITLE": "Bonifico", + "SUB_TITLE": "Fare un bonifico", + "FROM": "Da", + "TO": "A", + "AMOUNT": "Importo", + "AMOUNT_HELP": "Importo", + "COMMENT": "Commenti", + "COMMENT_HELP": "Commenti", + "BTN_SEND": "Inviare", + "BTN_ADD_COMMENT": "Scrivere un commento?", + "WARN_COMMENT_IS_PUBLIC": "Ti avvertiamo <b>che i commenti sono pubblici</b> (non cifrati).", + "MODAL": { + "TITLE": "Bonifico" + } + }, + "ERROR": { + "UNKNOWN_URI_FORMAT": "Formato URI sconosciuto", + "POPUP_TITLE": "Errore", + "UNKNOWN_ERROR": "Errore", + "CRYPTO_UNKNOWN_ERROR": "Il tuo navigatore non sembra compatibile con le funzionalità di cryptografia.", + "EQUALS_TO_PSEUDO": "Deve essere diverso dallo pseudonimo", + "EQUALS_TO_SALT": "Deve essere diverso dall'identificativo segreto", + "FIELD_REQUIRED": "Campo obbligatorio.", + "FIELD_TOO_SHORT": "Valore troppo corto.", + "FIELD_TOO_SHORT_WITH_LENGTH": "Valore troppo corto ({{minLength}} caratteri min)", + "FIELD_TOO_LONG": "Valore troppo lungo", + "FIELD_TOO_LONG_WITH_LENGTH": "Valore troppo lungo ({{maxLength}} caractteri max)", + "FIELD_MIN": "Valore minimo : {{min}}", + "FIELD_MAX": "Valore massimo : {{max}}", + "FIELD_ACCENT": "Virgole e caratteri accentati vietati", + "FIELD_NOT_NUMBER": "Valore numerico atteso", + "FIELD_NOT_INT": "Valore intero atteso", + "FIELD_NOT_EMAIL": "Indirizzo mail non valido", + "PASSWORD_NOT_CONFIRMED": "Non corrisponde alla password.", + "SALT_NOT_CONFIRMED": "Non corrisponde all'identificativo segreto.", + "SEND_IDENTITY_FAILED": "Iscrizione fallita.", + "SEND_CERTIFICATION_FAILED": "Certificazione fallita.", + "NEED_MEMBER_ACCOUNT_TO_CERTIFY": "Non puoi inviare certificazioni perchè il tuo conto <b>non è ancora un conto membro</b>.", + "NEED_MEMBER_ACCOUNT_TO_CERTIFY_HAS_SELF": "Non puoi inviare certificazioni adesso perchè <b>non sei ancora membro</b>.<br/><br/>Devi ancora entrare nella Rete di Fiducia.", + "IDENTITY_TO_CERTIFY_HAS_NO_SELF": "Impossibile certificare questo conto. Nessuna richiesta di certificazione trovata o bisogna rinnovarla.", + "LOGIN_FAILED": "Errore di login.", + "LOAD_IDENTITY_FAILED": "Impossibile caricare la tua identità.", + "LOAD_REQUIREMENTS_FAILED": "Impossibile caricare i prerequisiti dell'identità.", + "SEND_MEMBERSHIP_IN_FAILED": "Ingresso nella RdF fallito.", + "SEND_MEMBERSHIP_OUT_FAILED": "Errore nell'invio della revocazione.", + "REFRESH_WALLET_DATA": "Impossibile aggiornare il portafoglio.", + "GET_CURRENCY_PARAMETER": "Impossibile ricuperare i parametri della moneta.", + "GET_CURRENCY_FAILED": "Impossibile caricare la moneta. Riprovare più tardi.", + "SEND_TX_FAILED": "Impossibile eseguire la transazione.", + "ALL_SOURCES_USED": "Per favore aspetta il calcolo del prossimo blocco (Tutte le tue fonti di moneta sono state utilizzate).", + "NOT_ENOUGH_SOURCES": "Non hai abbastanza cambio per inviare questo importo in una sola transazione.<br/>Importo massimo: {{amount}} {{unit}}<sub>{{subUnit}}</sub>.", + "ACCOUNT_CREATION_FAILED": "Errore nella creazione del tuo conto membro.", + "RESTORE_WALLET_DATA_ERROR": "Errore nell'aggiornamento delle impostazioni definite in local storage.", + "LOAD_WALLET_DATA_ERROR": "Errore nel caricamento dei dati del portafoglio.", + "COPY_CLIPBOARD_FAILED": "Impossibile copiare al clipboard", + "TAKE_PICTURE_FAILED": "Impossibile recuperare foto.", + "SCAN_FAILED": "Impossibile scansionare il codice QR.", + "SCAN_UNKNOWN_FORMAT": "Codice non riconosciuto.", + "WOT_LOOKUP_FAILED": "Ricerca fallita.", + "LOAD_PEER_DATA_FAILED": "Nodo Duniter non accessibile. Riprovare più tardi.", + "NEED_LOGIN_FIRST": "Accedi prima al tuo conto.", + "AMOUNT_REQUIRED": "Importo necessario.", + "AMOUNT_NEGATIVE": "Importo negativo non consentito.", + "NOT_ENOUGH_CREDIT": "Saldo insufficiente", + "INVALID_NODE_SUMMARY": "Impossibile comunicare col nodo o indirizzo non valido", + "INVALID_USER_ID": "Il campo dello 'pseudonimo' non deve avere spazi vuoti o caratteri speciali.", + "INVALID_COMMENT": "Il formato del campo 'reference' è errato.", + "INVALID_PUBKEY": "If formato della chiave pubblica è errato.", + "INVALID_PUBKEY_CHECKSUM": "Checksum non valido.", + "IDENTITY_REVOKED": "Questa identità <b>è stata revocata</b>. Non puo più diventare membro.", + "IDENTITY_REVOKED_WITH_TIME": "Questa identità <b>è stata revocata {{revocationTime|medianFromNow}}</b> ({{revocationTime|medianDate}}). Non puo più diventare membro.", + "IDENTITY_PENDING_REVOCATION": "L'<b>annulamento di questa identità</b> è stata richiesta ed è in corso di valutazione. Capacità ad inviare certificazioni disabilitata", + "IDENTITY_INVALID_BLOCK_HASH": "Questa richiesta di certificazione non è più valida (perche si riferisce ad un blocco che è stato eliminato dai nodi): la persona deve rinnovare la sua domanda di certificazione <b>prima</b> di essere certificata.", + "IDENTITY_EXPIRED": "Questa identità è scaduta: la persona deve fare una nuova domanda di certificazione <b>prima di</b> essere certificata.", + "IDENTITY_SANDBOX_FULL": "Il nodo Duniter utilizzato dal Cesium non può ricevere altre domande di certificazione per ora, la lista d'attesa è piena.<br/><br/>Riprova più tardi o scegli un'altro nodo Duniter (nelle <b>Impostazioni</b>).", + "IDENTITY_NOT_FOUND": "Identità non trovata", + "IDENTITY_TX_FAILED": "Impossibile caricare le operazioni", + "WOT_PENDING_INVALID_BLOCK_HASH": "Adesione non valida.", + "WALLET_INVALID_BLOCK_HASH": "La tua domanda di certificazione non è più valida (perché si riferisce ad un blocco che è stato eliminato dai nodi).<br/>Devi <a ng-click=\"doQuickFix('renew')\">rinnovare la tua richiesta di adesione alla RdF</a> per risolvere il problema.", + "WALLET_IDENTITY_EXPIRED": "La pubblicazione della tua identità <b>è scaduta</b>.<br/>Devi <a ng-click=\"doQuickFix('fixIdentity')\">ripubblicare la tua identità</a> per risolvere il problema.", + "WALLET_REVOKED": "La tua identità è stata <b>revocata</b>: né il tuo pseudonimo né la tua chiave pubblica sarano utilizzati in futuro.", + "WALLET_HAS_NO_SELF": "La tua identità deve prima essere stata pubblicata e non essere ancora scaduta.", + "AUTH_REQUIRED": "Autenticazione necessaria.", + "AUTH_INVALID_PUBKEY": "La chiave pubblica non corrisponde al conto conesso.", + "AUTH_INVALID_SCRYPT": "Password o nome di utente non valido.", + "AUTH_INVALID_FILE": "File di portachiavi non valido.", + "AUTH_FILE_ERROR": "Impossibile aprire il file di portachiavi", + "IDENTITY_ALREADY_CERTIFY": "Hai <b>già certificato</b> questa identità.<br/><br/>Il tuo certificato è ancora valido (scade {{expiresIn|formatDuration}}).", + "IDENTITY_ALREADY_CERTIFY_PENDING": "Hai <b>già certificato</b> questa identità.<br/><br/>La tua certificazione è ancora pendente (Scadenza del periodo di treatment {{expiresIn|formatDuration}}).", + "UNABLE_TO_CERTIFY_TITLE": "Impossibile certificare", + "LOAD_NEWCOMERS_FAILED": "Impossibile caricare i nuovi membri.", + "LOAD_PENDING_FAILED": "Impossibile caricare le certificazioni pendenti.", + "ONLY_MEMBER_CAN_EXECUTE_THIS_ACTION": "Devi <b>essere membro</b> per poter fare questo.", + "ONLY_MEMBER_OR_WAS_MEMBER_CAN_EXECUTE_THIS_ACTION": "Devi <b>essere membro</b> (o un ex-membro) per poter fare questo.", + "ONLY_SELF_CAN_EXECUTE_THIS_ACTION": "Devi aver <b>pubblicato tua identità</b> per poter fare questo.", + "GET_BLOCK_FAILED": "Impossibile caricare il blocco", + "INVALID_BLOCK_HASH": "Blocco non trovato (hash errato)", + "DOWNLOAD_REVOCATION_FAILED": "Errore avvenuto nel download del file di cancellazione d'identità.", + "REVOCATION_FAILED": "Errore avvenuto durante la richiesta di cancellazione dell'identità.", + "SALT_OR_PASSWORD_NOT_CONFIRMED": "Identificativo segreto o password sbagliati", + "RECOVER_ID_FAILED": "Impossibile recuperare la password", + "LOAD_FILE_FAILED" : "Impossibile caricare il file", + "NOT_VALID_REVOCATION_FILE": "File di cancellazione dell'identità errato (formato di file incorreto)", + "NOT_VALID_SAVE_ID_FILE": "File di backup dei credenziali errato (formato di file incorreto)", + "NOT_VALID_KEY_FILE": "File di portachiavi non valido (formato non riconosciuto)", + "EXISTING_ACCOUNT": "Le tue credenziali corrispondono a quelli di un conto già esistente,di cui <a ng-click=\"showHelpModal('pubkey')\">la chiave pubblica</a> è:", + "EXISTING_ACCOUNT_REQUEST": "Per favore cambia le tue credenziali in modo che corrispondino ad un conto non utilizzato.", + "GET_LICENSE_FILE_FAILED": "Impossibile caricare il file della licenza", + "CHECK_NETWORK_CONNECTION": "Nessun nodo sembra disponibile.<br/><br/>Per favore <b>verifica la tua connessione Internet</b>.", + "ISSUE_524_TX_FAILED": "Bonifico .<br/><br/>Un messaggio è stato inviato agli sviluppatori per aiutare a risolvere il problema. <b>Grazie per il tuo aiuto</b>." + }, + "INFO": { + "POPUP_TITLE": "Informazioni", + "CERTIFICATION_DONE": "Identità firmata con successo", + "NOT_ENOUGH_CREDIT": "Saldo insufficiente", + "TRANSFER_SENT": "Transazione inviata con successo", + "COPY_TO_CLIPBOARD_DONE": "Copiato con successo", + "MEMBERSHIP_OUT_SENT": "Revoca dell'identità inviata", + "NOT_NEED_MEMBERSHIP": "Già membro.", + "IDENTITY_WILL_MISSING_CERTIFICATIONS": "A questa identità mancheranno a breve certificazioni (almeno {{willNeedCertificationCount}}).", + "REVOCATION_SENT": "Revoca dell'identità inviata", + "REVOCATION_SENT_WAITING_PROCESS": "Cancellazione dell'identità <b>inviata con successo</b>. In attesa di validazione.", + "FEATURES_NOT_IMPLEMENTED": "Questa funzionalità non è ancora disponibile.<br/><br/>Vuoi contribuire per velocizzarne la disponibilità? ;)", + "EMPTY_TX_HISTORY": "Nessuna operazione da esportare" + }, + "CONFIRM": { + "CAN_CONTINUE": "<b>Sei sicuro/a</b> di voler procedere?", + "POPUP_TITLE": "<b>Conferma</b>", + "POPUP_WARNING_TITLE": "<b>Avviso</b>", + "POPUP_SECURITY_WARNING_TITLE": "<i class=\"icon ion-alert-circled\"></i> <b>Avvertimento di sicurezza</b>", + "CERTIFY_RULES_TITLE_UID": "Certificare {{uid}}", + "CERTIFY_RULES": "<b class=\"assertive\">Non certificare un conto</b> se credi che: <ul><li>1.) L'identità della persona potrebbe essere finta.<li>2.) La persona ha già un conto certicato.<li>3.) La persona trasgredisce la regola 1 o 2 o entrambe. (Certifica conti finti o gemelli).</ul></small><br/>Sei sicuro di voler certificare questa identità?", + "TRANSFER": "<b>Resoconto del bonifico:</b><br/><br/><ul><li> - Inviato da: <b>{{from}}</b></li><li> - A: <b>{{to}}</b></li><li> - Importo: <b>{{amount}} {{unit}}</b></li><li> - Comemnto: <i>{{comment}}</i></li></ul><br/><b>Sei sicuro di voler procedere con questo bonifico?</b>", + "MEMBERSHIP_OUT": "Questa operazione è <b>irreversibile</b>.<br/></br/><b>Sei sicuro di voler cancellare la tua presenza nella RdF?</b>", + "MEMBERSHIP_OUT_2": "Questa operazione è <b>irreversibile</b>!<br/><br/>Sei sicuro/a <b>di voler revocare la tua identità</b>?", + "LOGIN_UNUSED_WALLET_TITLE": "Errore di battitura?", + "LOGIN_UNUSED_WALLET": "Il conto sembra <b>inattivo</b>.<br/><br/>Probabilmente è un<b>errore di battitura</b> delle tue credenziali. Per favore riprova, verificando che la <b>chiave pubblica sia la tua<b/>.", + "FIX_IDENTITY": "Lo pseudonimo <b>{{uid}}</b> verrà pubblicato nuovamente. Si sostituirà alla precedente pubblicazione che è scaduta.<br/></br/><b>Sei sicuro/a</b> di voler procedere?", + "FIX_MEMBERSHIP": "La tua domanda di certificazione sarà inviata alla rete.<br/></br/><b>Sei sicuro?</b>", + "MEMBERSHIP": "La tua domanda per diventare membro sta per essere inviata alla rete.<br/></br/><b>Sei sicuro/b> di voler continuare ?", + "RENEW_MEMBERSHIP": "La tua adesione verrà rinnovata.<br/></br/><b>Sei sicuro?</b>", + "REVOKE_IDENTITY": "Stai per <b>revocare definitivamente questa identità</b>.<br/><br/>La chiave pubblica e lo pseudonimo associato <b>non saranno mai più utilizzati</b> (da un conto membro).<br/></br/><b>Sei sicuro</b> di voler revocare questa identità?", + "REVOKE_IDENTITY_2": "Questa operazione è <b>irreversibile</b>!<br/><br/>Sei sicuro di volern<b>revocare questa identità</b>?", + "NOT_NEED_RENEW_MEMBERSHIP": "La tua presenza nella rete non deve ancora essere rinnovata (scadrà tra {{membershipExpiresIn|formatDuration}}).<br/></br/><b>Sei sicuro</b> di voler rinnovare la tua presenza?", + "SAVE_BEFORE_LEAVE": "Vuoi <b>salvare le tue modifiche</b> prima di uscira dalla pagina?", + "SAVE_BEFORE_LEAVE_TITLE": "Modifiche non salvate", + "LOGOUT": "Sei sicuro di voler chiudere la sessione?", + "USE_FALLBACK_NODE": "Nodo <b>{{old}}</b> indisponibile o indirizzo errato.<br/><br/>Vuoi utilizzare temporanemante il <b>{{new}}</b> nodo?", + "INVALID_FILE_FORMAT": "Formato file non valido.", + "SAME_TX_RECIPIENT": "Il destinatario deve essere diverso dall'emittente." + }, + "MODE": { + "DEMO": { + "BADGE": "Demo", + "MODE": "Modalità dimostrativa", + "FEATURE_NOT_AVAILABLE": "Funzionalità <b>non disponibile</b> su questo sito dimostrativo.", + "MODE_HELP": "Il Cesium funziona in <b>modalità dimostrativa</b>: è disponibile la consultazione del conto, ma non è possibile eseguire alcuna operazione.", + "INSTALL_HELP": "Per <b>motivi di sicurezza</b> ti consigliamo di <b>installare</b> la tua copia del software.<br/>Visita il sito <a href='https://cesium.app'>www.cesium.app</a> per assistenza." + }, + "READONLY": { + "BADGE": "Monit", + "MODE": "Modalità di monitoraggio", + "MODE_HELP": "Il Cesium funziona in <b>modalità monitoraggio</b>: sono disponibili solo le funzionalità di monitoraggio della valuta.", + "INSTALL_HELP": "Se desidera <b>creare un account di portafoglio</b> per inviare o ricevere valuta, ti consigliamo di <b>installare</b> la tua copia del software.<br/>Visita il sito <a href='https://cesium.app'>www.cesium.app</a> per assistenza." + } + }, + "DOWNLOAD": { + "POPUP_TITLE": "<b>File di revoca dell'identità/b>", + "POPUP_REVOKE_MESSAGE": "Per migliorare la sicurezza del tuo conto, scarica <b>il documento di revoca del conto</b>. Ti consentirà di revocare il tuo conto (nel caso di violazione del conto, della tua identità, conto creato con errori, etc.).<br/><br/><b>Hai salvato questo documento in un luogo sicuro.</b>" + }, + "HELP": { + "TITLE": "Aiuto online", + "JOIN": { + "SECTION": "Entrare nella rete", + "SALT": "Il tuo identificativo segreto è molto importante. È utilizzato per cifrare la tua password che permette poi di calcolare tua <span class=\"text-italic\">chiave pubblica</span> (suo numero) e la chiave privata per consentire l'accesso.<br/><b>Ricordati bene di questo identificativo</b>, perche non ti potrà aiutare nessuno se lo perdi.<br/>Tra l'altro, non può essere cambiato senza dover creare un conto nuovo.<br/><br/>Raccomandiamo che sia abbastanza lungo (8 caratteri almeno) è il più originale possibile. (buona entropia)", + "PASSWORD": "La password è molto importante, è utilizzata per calcolare il tuo numero di conto (la tua chiave pubblica) e la chiave privata per consentire l'accesso.<br/><b>Ricordatela bene</b>, perché non ti potrà aiutare nessuno se la perdi.<br/>Tra l'altro, non puo essere cambiata senza dover creare un conto nuovo.<br/><br/>Una buona password (preferibilmente) è composta da almeno 8 caratteri, con almeno una maiuscola e un numero.", + "PSEUDO": "Un pseudonimo è utilizzato quando ti iscrivi come <span class=\"text-italic\">membro</span>. E sempre associato ad un portafoglio (con la sua <span class=\"text-italic\">chiave pubblica</span>).<br/>È pubblicato sulla rete perche gli altri membri possano identificarla, certificarla o invarle moneta. <br/> Lo pseudonimo deve essere unico nella rete (tra quelli utilizzati adesso e in passato)." + }, + "LOGIN": { + "SECTION": "Accedi", + "PUBKEY": "Chiave pubblica del conto", + "PUBKEY_DEF": "La chiave pubblica del portachiavi è generata dalle credenziali, ma non corrispode ad un conto già utilizzato.<br/><b>Accertati che tua chiave pubblica corrisponda al tuo conto</b>. Nel caso contrario, sarai conesso/a ad un conto probabilmente mai usato, datto che il rischio di collisione con un conto esistente è molto ridotto.<br/><a href=\"https://en.wikipedia.org/wiki/Elliptic_curve_cryptography\" target=\"_ system\">Saperne di più sulla cryptografia </a> con chiave pubblica.", + "METHOD": "Metodi di connessione", + "METHOD_DEF": "Hai diverse opzioni per accedere ad un portafoglio:<br/> - Accedendo con <b>cifratura (leggera o sicura)</b> tua password sarà cifrata dal tuo identificativo segreto per scoraggiare tentativi di attacchi di 'brute force' (per esempio con passwords conosciute).<br/> - Accedendo con la <b>chiave pubblica</b> ti evita di dover digitare le tue credenziali che ti saranno chieste solo quando vorrai fare una operazione sul conto.<br/> - Accedendo <b>con un portachiavi</b> che leggerà le tue chiavi pubblica e privata da un file esterno, senza che tu li debba introdurre." + }, + "GLOSSARY": { + "SECTION": "Glossario", + "PUBKEY_DEF": "Una chiave pubblica permette di identificare un portafoglio. Puo anche identificare un membro. Nel Cesium è calcolata con la password e lo pseudonimo.", + "MEMBER": "Membro", + "MEMBER_DEF": "Un membro è una persona reale e viva, che desidera participare liberamente alla communità monetaria. Questo membro riceverà un Dividendo Universale, a secondo delle regole definite <span class=\"text-italic\">nei parametri della moneta</span>.", + "CURRENCY_RULES": "Regole della moneta", + "CURRENCY_RULES_DEF": "I parametri delle moneta sono state definite per sempre e per tutti. I parametri con i quali la moneta si comporta: il calcolo del Dividendo Universale, il numero di certificazioni necessarie per diventare membro, il numero massimo di certificazioni che un membro può inviare, etc.<br/><br/>I parametri non possono essere modificati perche c'è una<span class=\"text-italic\">Blockchain</span> che implementa ed esegue queste regole e verifica costantemente la loro applicazione. <a href=\"#/app/currency\">Vedere i parametri </a>.", + "BLOCKCHAIN": "Blockchain", + "BLOCKCHAIN_DEF": "La Blockchain è un sistema decentralizzato che, nel caso di Duniter, permette di rispettare e implementare <span class=\"text-italic\">le regole della moneta</span>.<br/><a href=\"http://en.duniter.org/presentation/\" target=\"_blank\">Saperne di più su Duniter</a> e il funzionamento della blockchain.", + "UNIVERSAL_DIVIDEND_DEF": "Il Dividendo Universale (UD) è la quantità di moneta co-creata da ogni membro, seguendo le formule matematiche definite nelle <span class=\"text-italic\">regole della moneta</span>.<br/>All'inizio di ogni periodo, il conto di ogni membro riceve una quantità uguale della nuova moneta creata. <br/><br/>Il DU prevede una crescita costante per rimanere equo nei confronti dei membri (attuali e passati). Viene calcolato tenendo in conto la speranza di vita media, cosi come dimostrato nella Teoria Relativa della Moneta (TRM).<br/><a href=\"http://trm.creationmonetaire.info\" target=\"_system\">Peraperne di più sulla TRM</a> e la moneta libera." + }, + "TIP": { + "MENU_BTN_CURRENCY": "Menu <b>{{'MENU.CURRENCY'|translate}}</b> permette la scoperta dei <b>parametri della moneta</b> e la sua condizione presente.", + "CURRENCY_WOT": "Il <b>numero di membri</b> mostra <b>le dimensioni della RdF e la sua evoluzione </b>.", + "CURRENCY_MASS": "In evidenza qui è <b>l'importo totale</b> attualmente in circolazione e la sua <b> ripartizione media </b> a testa.<br/><br/>Questa cifra permette di avere un'idea <b>del valore di qualsiasi importo</b>, in base a quello che <b>hanno gli altri</b> sul loro conto (in media).", + "CURRENCY_UNIT_RELATIVE": "L'unità usata qui (“<b>{{'COMMON.UD'|translate}}<sub>{{currency|abbreviate}}</sub></b>”) significa che gli importi in {{currency|capitalize}} sono stati divisi dal <b>Dividendo Universale</b> (DU).<br/><br/><small>Questa unità relativa <b>ha senso</b> perche è stabile in contrasto con la massa monetaria che cresce costantemente.</small>", + "CURRENCY_CHANGE_UNIT": "Questa opzione <b>{{'COMMON.BTN_RELATIVE_UNIT'|translate}}</b> permette di <b>permutare unità</b> per vedere gli importi in <b>{{currency|capitalize}}</b>, non divisi dal Dividendo Universale (piuttosto che in “<b>{{'COMMON.UD'|translate}}<sub>{{currency|abbreviate}}</sub></b>”).", + "CURRENCY_CHANGE_UNIT_TO_RELATIVE": "Questa opzione <b>{{'COMMON.BTN_RELATIVE_UNIT'|translate}}</b> permette <b>di permutare unità</b> per vedere gli importi in “<b>{{'COMMON.UD'|translate}}<sub>{{currency|abbreviate}}</sub></b>”, che è relativo al Dividendo Universale (l'importo co-prodotto da ogni membro).", + "CURRENCY_RULES": "Le<b>regole</b> della moneta determinano il suo <b>esatto e previdibile</b> comportamento.<br/><br/> Considerate come il proprio DNA della moneta, queste regole rendono il codice monetario <b>trasparente e comprensibile</b>.", + "MENU_BTN_NETWORK": "Menu <b>{{'MENU.NETWORK'|translate}}</b> permette la scopertà dello <b>stato della rete<b>.", + "NETWORK_BLOCKCHAIN": "Tutte le transazioni monetarie sono registrate in <b>registro sicuro e a prova di manomissione</b>, spesso chiamato <b>blockchain</b>.", + "NETWORK_PEERS": "I<b>nodi</b> mostrati qui corrispondono a <b>dei computers che aggiornano e monitorano</b> la blockchain.<br/><br/>Più nodi ci sono, più <b>decentralizzata</b> e più affidabile diventa la moneta.", + "NETWORK_PEERS_BLOCK_NUMBER": "Questo <b>numero</b> (in verda) indica <b>l'ultimo blocco validato</b> dal nodo (ultima pagina scritta nel regitro).<br/><br/>Il verda indica che il blocco è stato validato anche dalla <b>maggioranza degli altri nodi</b>.", + "NETWORK_PEERS_PARTICIPATE": "<b>Ogni membro</b>, che dispone di un computer connesso a Internet <b>puo partecipare, aggiungendosi come nodo installando il software Duniter</b> (free/libre). <a target=\"_new\" href=\"{{installDocUrl}}\" target=\"_system\">Leggi il manuale d'installazione >></a>.", + "MENU_BTN_ACCOUNT": "<b>{{'ACCOUNT.TITLE'|translate}}</b> permette l'accesso al saldo del conto e la cronologia delle transazioni.", + "MENU_BTN_ACCOUNT_MEMBER": "Qui puoi consultare lo stato del tuo conto, la cronologia delle transazioni e le tue certificazioni.", + "WALLET_CERTIFICATIONS": "Clicca qui per vedere i dettagli delle tue certificazioni (date o ricevute).", + "WALLET_RECEIVED_CERTIFICATIONS": "Clicca qui per vedere i dettagli delle <b>certificazioni che hai ricevuto</b>.", + "WALLET_GIVEN_CERTIFICATIONS": "Clicca qui per vedere i dettagli delle <b>certificazioni che hai dato</b>.", + "WALLET_BALANCE": "Il <b>saldo</b> del tuo conto è visibile qui.", + "WALLET_BALANCE_RELATIVE": "{{'HELP.TIP.WALLET_BALANCE'|translate}}<br/><br/>L'unità utilizzata (“<b>{{'COMMON.UD'|translate}}<sub>{{currency|abbreviate}}</sub></b>”) significa che questo importo in {{currency|capitalize}} è stato diviso dal <b>Dividendo Universale</b> (DU) co-creato da ogni membro.<br/>Ad oggi, 1 DU equivale a {{currentUD}} {{currency|capitalize}}.", + "WALLET_BALANCE_CHANGE_UNIT": "Puoi <b>cambiare l'unità</b> in cui sono mostrati gli importi in <b><i class=\"icon ion-android-settings\"></i> {{'MENU.SETTINGS'|translate}}</b>.<br/><br/>Per esempio, per mostrare gli importi <b>direttamente in {{currency|capitalize}}</b> piuttosto che in unità relativa.", + "WALLET_PUBKEY": "Questa è la chiave pubblica del tuo conto. La puoi dare ad un terzo perché possa identificare tuo conto.", + "WALLET_SEND": "Paghi in pochi clics.", + "WALLET_SEND_NO_MONEY": "Paghi in pochi clics.<br/>(Il tuo saldo ancora non lo permette)", + "WALLET_OPTIONS": "Questo bottone permette di fare <b>altre, meno frequenti azioni</b>.<br/><br/> Non dimenticarti di fare il tour guidato del Cesium quando hai un attimo!", + "WALLET_RECEIVED_CERTS": "Questo mostra l'elenco delle persone che ti hanno fatto entrare nella RdF.", + "WALLET_CERTIFY": "Questo bottone <b>{{'WOT.BTN_SELECT_AND_CERTIFY'|translate}}</b> permette di selezionare e certificare una identità.<br/><br/>Solo gli utenti <b>che sono già membri</b> possono certificare gli altri.", + "WALLET_CERT_STOCK": "Il tuo stock di certificazioni da dare è limitato a <b>{{sigStock}} certificazioni</b>.<br/><br/>Questo stock si rifornisce con il tempo, man mano che le certificazioni inviate scadono.", + "MENU_BTN_TX": "<b>{{'MENU.TRANSACTIONS'|translate}}</b> permette l'accesso alla cronologia delle transazioni, e permette di fare nuovi bonifici.", + "MENU_BTN_WOT": "Il menu<b>{{'MENU.WOT'|translate}}</b> permette di cercare <b>utenti</b> della moneta (membri o non).", + "WOT_SEARCH_TEXT_XS": "Per fare una ricerca nella rubrica, digita <b>le prime lettere dello pseudonimo o della chiave pubblica di un utente</b>.<br/><br/>La ricerca inizierà automaticamente.", + "WOT_SEARCH_TEXT": "Per cercare nella rubrica, digita <b>le prime lettere dello pseudonimo o della chiave pubblica di un utente</b>.<br/><br/>Dopodichè premi <b>Invio</b> per avviare la ricerca.", + "WOT_SEARCH_RESULT": "Visualizza la scheda dettagliata di un utente con un semplice click sulla linea.", + "WOT_VIEW_CERTIFICATIONS": "La linea <b>{{'ACCOUNT.CERTIFICATION_COUNT'|translate}}</b> mostra quanti membri hanno certificato questa identità.<br/><br/>Queste certificazioni dimostrano che il conto appartiene ad <b>una persona viva</b> e che questa persona non ha <b>nessun altro conto membro</b>.", + "WOT_VIEW_CERTIFICATIONS_COUNT": "Ci vogliono almeno <b>{{sigQty}} certificazioni</b> per diventare membro e co-produrre il <b>Dividendo Universale</b>.", + "WOT_VIEW_CERTIFICATIONS_CLICK": "Clicca qui per aprire <b>una lista di tutte le certificazioni</b> ricevute e date da questa identità.", + "WOT_VIEW_CERTIFY": "Il bottone <b>{{'WOT.BTN_CERTIFY'|translate}}</b> permette di aggiungere tua certificazione a questa identità.", + "CERTIFY_RULES": "<b>Attenzione:</b> Certifica <b>solo persone reali e vive</b> che non hanno nessun altro conto membro.<br/><br/>L'affidabilità della moneta dipende della vigilanza di ciascuno.", + "MENU_BTN_SETTINGS": "Le <b>{{'MENU.SETTINGS'|translate}}</b> ti permettono di configurare il Cesium.<br/><br/>Per esempio, puoi <b>cambiare l'unità</b> in cui visualizzi la moneta.", + "HEADER_BAR_BTN_PROFILE": "Clicca qui per entrare nel <b>tuo profilo utente</b>", + "SETTINGS_CHANGE_UNIT": "Puoi cambiare <b>l'unità</b> della moneta cliccando qui.<br/><br/>- Disabilita questa opzione per vedere gli importi in {{currency|capitalize}}.<br/>- Abilita l'opzione per importi relativi in {{'COMMON.UD'|translate}}<sub>{{currency|abbreviate}}</sub> (<b>divisi</b> dal attuale Dividendo Universale).", + "END_LOGIN": "Il tour guidato <b>è finito</b>.<br/><br/>Benvenuto nel <b>economia libera</b>!", + "END_NOT_LOGIN": "Il tour guidato <b>è finito</b>.<br/><br/>Se desideri entrare nella Rete di Fiducia {{currency|capitalize}}, basta cliccare <b>{{'LOGIN.CREATE_ACCOUNT'|translate}}</b> qui sotto.", + "END_READONLY": "Il tour guidato <b>è finito</b>.<br/><br/>{{'MODE.READONLY.INSTALL_HELP'|translate}}." + } + }, + "API" :{ + "COMMON": { + "LINK_DOC": "documentazione API", + "LINK_DOC_HELP": "Documentazione dello sviluppatore", + "LINK_STANDARD_APP": "versione classica", + "LINK_STANDARD_APP_HELP": "Apri la versione classica di {{'COMMON.APP_NAME'|translate}}" + }, + "HOME": { + "TITLE": "Documentazione API {{'COMMON.APP_NAME'|translate}}", + "MESSAGE": "Benvenuto alla <b>documentazione dell'API</b> {{'COMMON.APP_NAME'|translate}}.<br/>Connettiti alla pagina web <a href=\"http://duniter.org\" target=\"_system\">Duniter</a> molto facilmente!", + "MESSAGE_SHORT": "Connettiti alla pagina web <a href=\"http://duniter.org\" target=\"_system\">Duniter</a> molto facilmente!", + "DOC_HEADER": "Servizi disponibili:" + }, + "TRANSFER": { + "TITLE": "{{'COMMON.APP_NAME'|translate}} - Pagamento online", + "TITLE_SHORT": "Pagamento online", + "SUMMARY": "Riepilogo dell'ordine:", + "AMOUNT": "Importo:", + "NAME": "Nome :", + "PUBKEY": "Chiave pubblica del destinatario:", + "COMMENT": "Riferimento dell'ordine:", + "DEMO": { + "SALT": "demo", + "PASSWORD": "demo", + "PUBKEY": "3G28bL6deXQBYpPBpLFuECo46d3kfYMJwst7uhdVBnD1", + "HELP": "<b>Modo dimostrativo</b>: Nessun pagamento sarà realmente inviato con questa simulazione.<br/>Per favore usa le credenziali: <b>{{'API.TRANSFER.DEMO.SALT'|translate}} / {{'API.TRANSFER.DEMO.PASSWORD'|translate}}</b>", + "BAD_CREDENTIALS": "Credenziali non valide.<br/>In modalità demo, le credenziali sono: {{'API.TRANSFER.DEMO.SALT'|translate}} / {{'API.TRANSFER.DEMO.PASSWORD'|translate}}" + }, + "INFO": { + "SUCCESS_REDIRECTING_WITH_NAME": "Pagamento inviato.<br/>Redirigendo a <b>{{name}}</b>...", + "SUCCESS_REDIRECTING": "Pagamento inviato.<br/>Redirigendo al sito del venditore...", + "CANCEL_REDIRECTING_WITH_NAME": "Pagamento annullato.<br/>Redirigendo a<b>{{name}}</b>...", + "CANCEL_REDIRECTING": "Pagamento annullato.<br/>Redirigendo al sito del venditore..." + }, + "ERROR": { + "TRANSFER_FAILED": "Mancato pagamento" + } + }, + "DOC": { + "DESCRIPTION_DIVIDER": "Descrizione", + "URL_DIVIDER": "Indirizzo chiamata", + "PARAMETERS_DIVIDER": "Impostazioni", + "AVAILABLE_PARAMETERS": "Ecco l'elenco dei parametri disponibili :", + "DEMO_DIVIDER": "Provare", + "DEMO_HELP": "Per provare questo servizio, clicca sul bottone qui a fianco. Il risultato apparirà qui sotto .", + "DEMO_RESULT": "Risultato della chiamata:", + "DEMO_SUCCEED": "<i class=\"icon ion-checkmark\"></i> Successo!", + "DEMO_CANCELLED": "<i class=\"icon ion-close\"></i> Annulato dall'utente", + "INTEGRATE_DIVIDER": "Integrare", + "INTEGRATE_CODE": "Codice:", + "INTEGRATE_RESULT": "Previsualizzare il risultato:", + "INTEGRATE_PARAMETERS": "Parametri", + "TRANSFER": { + "TITLE": "Pagamenti", + "DESCRIPTION": "Da un sito (per es. : un sito di e-commerce) si può delegare il pagamento in moneta libera a Cesium API. Per invocare l'API, basta innescare l'apertura di una pagina con questo indirizzo:", + "PARAM_PUBKEY": "Chiave pubblica del destinatario", + "PARAM_PUBKEY_HELP": "Chiave pubblica del destinatario (obbligatoria)", + "PARAM_AMOUNT": "Importo", + "PARAM_AMOUNT_HELP": "Importo della transazione (obbligatorio)", + "PARAM_COMMENT": "Riferimento (o commento)", + "PARAM_COMMENT_HELP": "Riferimento o commento. Ti può aiutare per esempio a trovare tuo pagamento nella blockchain.", + "PARAM_NAME": "Nome (del destinatario o del sito web)", + "PARAM_NAME_HELP": "Nome del sito web o del destinatario chiamando l'API. Può essere un nome leggibile (\"Mio sito\"), oppure l'indirizzo http del sito (\"MioSito.com\").", + "PARAM_REDIRECT_URL": "Indirizzo web di redirezione", + "PARAM_REDIRECT_URL_HELP": "Indirizzo web (URL) di redirezione, chiamato dopo aver inviato il pagamento. Può includere le seguenti stringe, che saranno sostituite con i valori della transazione : \"{tx}\", \"{hash}\", \"{comment}\", \"{amount}\" e {pubkey}.", + "PARAM_CANCEL_URL": "Indirizzo web della cancellazione", + "PARAM_CANCEL_URL_HELP": "Indirizzo web (URL) in caso dell'annullamento del pagamento dall'utente. Può includere le seguenti stringe, che saranno sostituite dinamicamente : \"{comment}\", \"{amount}\" e {pubkey}.", + "EXAMPLES_HELP": "Alcuni esempi di integrazione :", + "EXAMPLE_BUTTON": "Bottone HTML", + "EXAMPLE_BUTTON_DEFAULT_TEXT": "Pagare in {{currency|currencySymbol}}", + "EXAMPLE_BUTTON_DEFAULT_STYLE": "Stile personalizzato", + "EXAMPLE_BUTTON_TEXT_HELP": "Testo del bottone", + "EXAMPLE_BUTTON_BG_COLOR": "Colore del fondo", + "EXAMPLE_BUTTON_BG_COLOR_HELP": "Per esempio: #fbc14c, black, lightgrey, rgb(180,180,180)", + "EXAMPLE_BUTTON_FONT_COLOR": "Colore del testo", + "EXAMPLE_BUTTON_FONT_COLOR_HELP": "Esempio: black, orange, rgb(180,180,180)", + "EXAMPLE_BUTTON_TEXT_ICON": "Icona", + "EXAMPLE_BUTTON_TEXT_WIDTH": "Larghezza", + "EXAMPLE_BUTTON_TEXT_WIDTH_HELP": "Esempio: 200px, 50%", + "EXAMPLE_BUTTON_ICON_NONE": "Nessuna", + "EXAMPLE_BUTTON_ICON_DUNITER": "Logo Duniter", + "EXAMPLE_BUTTON_ICON_CESIUM": "Logo Cesium", + "EXAMPLE_BUTTON_ICON_G1_COLOR": "Logo Ğ1", + "EXAMPLE_BUTTON_ICON_G1_BLACK": "Logo Ğ1 (nero)" + } + } + } +} diff --git a/src/assets/i18n/nl-NL.json b/src/assets/i18n/nl-NL.json new file mode 100644 index 0000000..977828b --- /dev/null +++ b/src/assets/i18n/nl-NL.json @@ -0,0 +1,578 @@ +{ + "COMMON": { + "APP_NAME": "Cesium", + "APP_VERSION": "v{{version}}", + "APP_BUILD": "build {{build}}", + "PUBKEY": "Publieke sleutel", + "MEMBER": "Lid", + "BLOCK": "Blok", + "BTN_OK": "OK", + "BTN_YES": "Ja", + "BTN_NO": "Nee", + "BTN_SEND": "Verzenden", + "BTN_SEND_MONEY": "Verstuur geld", + "BTN_SEND_MONEY_SHORT": "Versturen", + "BTN_SAVE": "Opslaan", + "BTN_YES_SAVE": "Ja, opslaan", + "BTN_YES_CONTINUE": "Ja, doorgaan", + "BTN_SHOW": "Tonen", + "BTN_SHOW_PUBKEY": "Toon sleutel", + "BTN_RELATIVE_UNIT": "Gebruik relatieve eenheid", + "BTN_BACK": "Terug", + "BTN_NEXT": "Volgende", + "BTN_CANCEL": "Annuleer", + "BTN_CLOSE": "Sluit", + "BTN_LATER": "Later", + "BTN_LOGIN": "Aanmelden", + "BTN_LOGOUT": "Uitloggen", + "BTN_ADD_ACCOUNT": "Nieuwe Rekening", + "BTN_SHARE": "Delen", + "BTN_EDIT": "Bewerken", + "BTN_DELETE": "Wissen", + "BTN_ADD": "Toevoegen", + "BTN_SEARCH": "Zoeken", + "BTN_REFRESH": "Verwezenlijken", + "BTN_START": "Beginnen", + "BTN_CONTINUE": "Doorgaan", + "BTN_UNDERSTOOD": "Ik heb het begrepen", + "BTN_OPTIONS": "Opties", + "BTN_HELP_TOUR": "Rondleiding", + "BTN_HELP_TOUR_SCREEN": "Ontdek dit scherm", + "BTN_DOWNLOAD": "Downloaden", + "BTN_DOWNLOAD_ACCOUNT_STATEMENT": "Downloaden het rekeningoverzicht", + "BTN_MODIFY": "Bewerken", + "DAYS": "dagen", + "NO_ACCOUNT_QUESTION": "Nog geen lid? Registreer nu!", + "SEARCH_NO_RESULT": "Geen resultaten", + "LOADING": "Even geduld...", + "SEARCHING": "Zoeken...", + "FROM": "Van", + "TO": "Aan", + "COPY": "Kopieren", + "LANGUAGE": "Taal", + "UNIVERSAL_DIVIDEND": "Universeel dividend", + "UD": "UD", + "DATE_PATTERN": "DD-MM-YYYY HH:mm", + "DATE_FILE_PATTERN": "YYYY-MM-DD", + "DATE_SHORT_PATTERN": "DD-MM-YY", + "DATE_MONTH_YEAR_PATTERN": "MM-YYYY", + "EMPTY_PARENTHESIS": "(leeg)", + "UID": "Pseudoniem", + "ENABLE": "Geactiveerd", + "DISABLE": "Gedeactiveerd", + "RESULTS_LIST": "Resultaten:", + "RESULTS_COUNT": "{{count}} uitslagen", + "EXECUTION_TIME": "uitgevoerd in {{duration|formatDurationMs}}", + "SHOW_VALUES": "Toon waarden openlijk?", + "POPOVER_ACTIONS_TITLE": "Opties", + "POPOVER_FILTER_TITLE": "Filters", + "SHOW_MORE": "Toon meer", + "SHOW_MORE_COUNT": "(huidig limiet op {{limit}})", + "POPOVER_SHARE": { + "TITLE": "Delen", + "SHARE_ON_TWITTER": "Deel op Twitter", + "SHARE_ON_FACEBOOK": "Deel op Facebook", + "SHARE_ON_DIASPORA": "Deel op Diaspora*", + "SHARE_ON_GOOGLEPLUS": "Deel op Google+" + } + }, + "SYSTEM": { + "PICTURE_CHOOSE_TYPE": "Selecteer bron:", + "BTN_PICTURE_GALLERY": "Gallerij", + "BTN_PICTURE_CAMERA": "<b>Camera</b>" + }, + "MENU": { + "HOME": "Welkom", + "WOT": "Register", + "CURRENCY": "Valuta", + "CURRENCIES": "Valuta's", + "ACCOUNT": "Mijn rekening", + "SETTINGS": "Instellingen", + "NETWORK": "Netwerk", + "TRANSACTIONS": "Mijn transacties" + }, + "ABOUT": { + "TITLE": "Over", + "LICENSE": "<b>Vrije</b> software (GNU AGPLv3 licentie).", + "CODE": "Broncode:", + "DEVELOPERS": "Ontwikkelaars:", + "FORUM": "Forum:", + "DEV_WARNING": "Waarschuwing", + "DEV_WARNING_MESSAGE": "Deze applicatie is nog in actieve onwikkeling.<br/>Meld ons elk pobleem!", + "DEV_WARNING_MESSAGE_SHORT": "Deze App is nog instabiel (in ontwikkeling).", + "REPORT_ISSUE": "Meld een probleem" + }, + "HOME": { + "TITLE": "Cesium", + "WELCOME": "Welkom bij de Cesium Applicatie!", + "MESSAGE": "Bekijk je {{currency|abbreviate}} portefeilles in real time.", + "BTN_REGISTRY": "Register", + "BTN_CURRENCY": "Verken valuta", + "BTN_ABOUT": "over", + "BTN_HELP": "Help", + "REPORT_ISSUE": "Meld een probleem", + "NOT_YOUR_ACCOUNT_QUESTION" : "Is rekening <b><i class=\"ion-key\"></i> {{pubkey|formatPubkey}}</b> niet van jou?", + "BTN_CHANGE_ACCOUNT": "Dze rekening ontkoppelen", + "CONNECTION_ERROR": "Node <b>{{server}}</b> onbereikbaar of ongeldig adres.<br/><br/>Controleer de internetverbinding, of schakel knooppunt <a class=\"positive\" ng-click=\"doQuickFix('settings')\">in parameters</a>." + }, + "SETTINGS": { + "TITLE": "Instellingen", + "NETWORK_SETTINGS": "Netwerk", + "PEER": "Duniter knooppunt adres", + "PEER_CHANGED_TEMPORARY": "Adres tijdelijk worden gebruikt", + "USE_LOCAL_STORAGE": "Lokale opslag inschakelen", + "USE_LOCAL_STORAGE_HELP": "Laat je instellingen opslaan", + "ENABLE_HELPTIP": "Contextgebonden hulp inschakelen", + "ENABLE_UI_EFFECTS": "Schakel visuele effecten", + "HISTORY_SETTINGS": "Mijn rekening", + "DISPLAY_UD_HISTORY": "Toon geproduceerde dividenden?", + "AUTHENTICATION_SETTINGS": "Authentificatie", + "REMEMBER_ME": "Onthoud mij", + "REMEMBER_ME_HELP": "Hiermee kunt u blijven altijd aangesloten (niet aanbevolen).", + "PLUGINS_SETTINGS": "Uitbreidingen", + "BTN_RESET": "Herstel standaardinstellingen", + "EXPERT_MODE": "Geavanceerde modus inschakelen", + "EXPERT_MODE_HELP": "Toon meer details", + "POPUP_PEER": { + "TITLE" : "Duniter Knooppunt", + "HOST" : "Adres", + "HOST_HELP": "Aadres: server:poort", + "USE_SSL" : "Secure?", + "USE_SSL_HELP" : "(SSL-encryptie)", + "BTN_SHOW_LIST" : "Lijst van knooppunten" + } + }, + "BLOCKCHAIN": { + "HASH": "Hachee : {{hash}}", + "VIEW": { + "HEADER_TITLE": "Blok #{{number}}-{{hash|formatHash}}", + "TITLE_CURRENT": "Huidige blok", + "TITLE": "Blok #{{number|formatInteger}}", + "COMPUTED_BY": "Berekend door het knooppunt", + "SHOW_RAW": "Bekijk RAW-bestand", + "TECHNICAL_DIVIDER": "Technische informatie", + "VERSION": "Format versie", + "HASH": "Hash berekend", + "UNIVERSAL_DIVIDEND_HELP": "Munt gecoproduceerd door elk van de {{membersCount}} ledental", + "EMPTY": "Er zijn geen gegevens in dit blok", + "POW_MIN": "Mminimum moeilijkheid", + "POW_MIN_HELP": "Moeilijkheid opgelegd hash te berekenen", + "DATA_DIVIDER": "Gegevens", + "IDENTITIES_COUNT": "Nieuwe identiteiten", + "JOINERS_COUNT": "Nieuwe leden", + "ACTIVES_COUNT": "Verlengingen", + "ACTIVES_COUNT_HELP": "Leden die hun lidmaatschap te vernieuwen", + "LEAVERS_COUNT": "Verlaters", + "LEAVERS_COUNT_HELP": "Leden die niet langer wenst certificering", + "EXCLUDED_COUNT": "Uitgesloten leden", + "EXCLUDED_COUNT_HELP": "Oud-leden uitgesloten door niet-verlenging of gebrek aan certificeringen", + "REVOKED_COUNT": "Identiteiten ingetrokken", + "REVOKED_COUNT_HELP": "Deze rekeningen zullen niet langer leden", + "TX_COUNT": "Transacties", + "CERT_COUNT": "Certificeringen", + "TX_TO_HIMSELF": "Ruil deal", + "TX_OUTPUT_UNLOCK_CONDITIONS": "Omstandigheden van de introductie", + "TX_OUTPUT_OPERATOR": { + "AND": "en", + "OR": "of" + }, + "TX_OUTPUT_FUNCTION": { + "SIG": "<b>handtekening</b> ", + "XHX": "<b>Wachtwoord</b>, wiens SHA256 =", + "CSV": "Geblokkeerd", + "CLTV": "Opgesloten" + } + }, + "LOOKUP": { + "TITLE": "Blokken", + "NO_BLOCK": "Geen blok", + "LAST_BLOCKS": "Recente blokken :", + "BTN_COMPACT": "Compact" + } + }, + "CURRENCY": { + "SELECT": { + "TITLE": "Valuta's", + "CURRENCIES": "Bekende valuta's", + "MEMBERS_COUNT": "{{membersCount}} leden" + }, + "VIEW": { + "TITLE": "Valuta", + "TAB_CURRENCY": "Valuta", + "TAB_WOT": "Gemeenschap", + "TAB_NETWORK": "Netwerk", + "CURRENCY_NAME": "Valuta naam", + "MEMBERS": "Ledental", + "MEMBERS_VARIATION": "Variatie since {{duration | formatDuration}}", + "MONEY_DIVIDER": "Geld", + "MASS": "Monetaire massa", + "SHARE": "Aandeel per lid", + "UD": "Universeel Dividend", + "C_ACTUAL": "Huidige toename", + "MEDIAN_TIME": "Blockchain tijd", + "POW_MIN": "Algemene moeilijkheidsgraad", + "MONEY_RULES_DIVIDER": "Monetaire regels", + "C_RULE": "Toename", + "UD_RULE": "Universeel dividend (formule)", + "SIG_QTY_RULE": "Benodigd aantal certificaties om lid te worden", + "SIG_STOCK": "Maximum aantal certificaties te versturen per lid", + "SIG_PERIOD": "Minimum vertraging tussen 2 certificaties verzonden door één en dezelfde persoon.", + "SIG_WINDOW": "Maximum vertraging voor een certificatie in behandeling wordt genomen", + "STEP_MAX": "Maximum afstand tussen elk WoT lid en een nieuw lid.", + "WOT_RULES_DIVIDER": "Lidmaatschapseisen", + "XPERCENT":"Minimum percentage schildwachten te bereiken om de afstandsregel te respecteren" + } + }, + "NETWORK": { + "VIEW": { + "MEDIAN_TIME": "Blockchain tijd", + "LOADING_PEERS": "Even geduld...", + "NODE_ADDRESS": "Adres :", + "ENDPOINTS": { + "BMAS": "Endpoint (SSL)", + "BMATOR": "Endpoint TOR", + "ES_USER_API": "Knoop Cesium+" + } + }, + "INFO": { + "ONLY_SSL_PEERS": "Les noeuds non SSL ont un affichage dégradé, car Cesium fonctionne en mode HTTPS." + } + }, + "PEER": { + "PEERS": "Knopen", + "SIGNED_ON_BLOCK": "Getekend op blok", + "MIRROR": "spiegel", + "CURRENT_BLOCK": "Blok #", + "VIEW": { + "TITLE": "Knoop", + "OWNER": "Maakt deel uit van", + "SHOW_RAW_PEERING": "Zie netwerkdocument", + "KNOWN_PEERS": "Bekende knopen :", + "GENERAL_DIVIDER": "Algemene informatie", + "ERROR": { + "LOADING_TOR_NODE_ERROR": "Kan knooppunt niet worden opgehaald. De wachttijd wordt overschreden.", + "LOADING_NODE_ERROR": "Kan knooppunt niet worden opgehaald" + } + } + }, + "WOT": { + "SEARCH_HELP": "Zoeken (lid of publieke sleutel)", + "SEARCH_INIT_PHASE_WARNING": "Tijdens de pre-registratiefase, het zoeken van lopende registraties <b>kan lang</b> zijn. Dank je wel geduld...", + "REGISTERED_SINCE": "Registratie", + "REGISTERED_SINCE_BLOCK": "Geregistreerd op blok #", + "NO_CERTIFICATION": "Geen gevalideerde certificaties", + "NO_GIVEN_CERTIFICATION": "Geen uitgegeven certificaties", + "NOT_MEMBER_PARENTHESIS": "(niet-lid)", + "IDENTITY_REVOKED_PARENTHESIS": "(ingetrokken identiteit)", + "MEMBER_PENDING_REVOCATION_PARENTHESIS": "(intrekking in behandeling)", + "EXPIRE_IN": "Verloopt", + "NOT_WRITTEN_EXPIRE_IN": "Uiterlijke<br/>behandeling", + "EXPIRED": "Verlopen", + "PSEUDO": "Pseudoniem", + "SIGNED_ON_BLOCK": "Uitgegeven op block #{{block}}", + "WRITTEN_ON_BLOCK": "Geschreven op block #{{block}}", + "GENERAL_DIVIDER": "Algemene informatie", + "NOT_MEMBER_ACCOUNT": "Simpele rekening (geen lid)", + "NOT_MEMBER_ACCOUNT_HELP": "Dit is een eenvoudige rekening, zonder dat er een aanvraag voor lidmaatschap in de wacht wordt gezet.", + "TECHNICAL_DIVIDER": "Technische informatie", + "BTN_CERTIFY": "Certificeren", + "BTN_YES_CERTIFY": "Ja, Certificeren", + "BTN_SELECT_AND_CERTIFY": "Nieuwe certificatie", + "ACCOUNT_OPERATIONS": "Operaties op de rekening", + "VIEW": { + "POPOVER_SHARE_TITLE": "Identiteit {{title}}" + }, + "LOOKUP": { + "TITLE": "Register", + "NEWCOMERS": "Nieuwe leden:", + "PENDING": "Aspirant leden:", + "REGISTERED": "Geregistreerd {{sigDate | formatFromNow}}", + "MEMBER_FROM": "Lid sinds {{memberDate|medianFromNowShort}}", + "BTN_NEWCOMERS": "Nieuwste leden", + "BTN_PENDING": "Registraties in afwachting", + "SHOW_MORE": "Toon meer", + "SHOW_MORE_COUNT": "(huidige limiet op {{limit}})", + "NO_PENDING": "Er zijn geen registraties in afwachting gevonden.", + "NO_NEWCOMERS": "Er zijn geen nieuwe leden gevonden." + }, + "MODAL": { + "TITLE": "Zoeken" + }, + "CERTIFICATIONS": { + "TITLE": "{{uid}} - Certificaties", + "SUMMARY": "Ontvangen certificaties", + "LIST": "Details van ontvangen certificaties", + "PENDING_LIST": "Certificaties in afwachting", + "RECEIVED": "Ontvangen certificaties", + "RECEIVED_BY": "Certificaties ontvanged door {{uid}}", + "ERROR": "Ontvangen vertificaties met fout", + "SENTRY_MEMBER": "Referent lid" + }, + "GIVEN_CERTIFICATIONS": { + "TITLE": "{{uid}} - Verzonden certificaties", + "SUMMARY": "Verzonden certificaties", + "LIST": "Details van verzonden certificaties", + "PENDING_LIST": "Certificaties in afwachting", + "SENT": "Verzonden certificaties", + "SENT_BY": "Certificaties verzonden door {{uid}}", + "ERROR": "Verzonden certificaties met fout" + } + }, + "LOGIN": { + "TITLE": "<i class=\"icon ion-locked\"></i> Inloggen", + "SALT": "Beveiligingszin", + "SALT_HELP": "Zin ter beveiliging van je rekening", + "SHOW_SALT": "Toon de beveiligingszin", + "PASSWORD": "Wachtwoord", + "PASSWORD_HELP": "Wachtwoord ter beveiliging van je rekening", + "NO_ACCOUNT_QUESTION": "Nog geen rekening?", + "CREATE_ACCOUNT": "Open een rekening", + "FORGOTTEN_ID": "Wachtwoord vergeten?" + }, + "ACCOUNT": { + "TITLE": "Mijn rekening", + "BALANCE": "Saldo", + "LAST_TX": "Recente transacties", + "BALANCE_ACCOUNT": "Rekeningsaldo", + "NO_TX": "Geen transacties", + "SHOW_MORE_TX": "Show more", + "SHOW_ALL_TX": "Show all", + "TX_FROM_DATE": "(huidige limiet op {{fromTime|medianFromNowShort}})", + "PENDING_TX": "Transacties in afwachting", + "ERROR_TX": "Niet uitgevoerde transacties", + "ERROR_TX_SENT": "Verzonden transacties", + "ERROR_TX_RECEIVED": "Ontvangen transacties", + "EVENTS": "Gebeurtenissen", + "WAITING_MEMBERSHIP": "Lidmaatschapsverzoek verzonden. In afwachting van validatie.", + "WAITING_CERTIFICATIONS": "Je hebt {{needCertificationCount}} certificatie(s) nodig om lid te worden", + "WILL_MISSING_CERTIFICATIONS": "Je heeft binnenkort <b>onvoldoende certificaties</b> (ten minste {{willNeedCertificationCount}} benodigd)", + "WILL_NEED_RENEW_MEMBERSHIP": "Je lidmaatschap <b>gaat verlopen op {{membershipExpiresIn|formatDurationTo}}</b>. Vergeet niet <a ng-click=\"doQuickFix('renew')\">je lidmaatschap te vernieuwen</a> voor die tijd.", + "CERTIFICATION_COUNT": "Aantal certificaties", + "CERTIFICATION_COUNT_SHORT": "Certificaties", + "SIG_STOCK": "Voorraad uit te geven certificaties", + "BTN_RECEIVE_MONEY": "Ontvangen", + "BTN_MEMBERSHIP_IN_DOTS": "Lidmaatschap aanvragen...", + "BTN_MEMBERSHIP_RENEW": "Lidmaatschap verlengen", + "BTN_MEMBERSHIP_RENEW_DOTS": "Lidmaatschap verlengen...", + "BTN_MEMBERSHIP_OUT_DOTS": "Lidmaatschap opzeggen...", + "BTN_SEND_IDENTITY_DOTS": "Identiteit publiceren...", + "BTN_SECURITY_DOTS": "Rekening en veiligheid...", + "BTN_SHOW_DETAILS": "Tonen technische informatie", + "BTN_REVOKE": "Deze identiteit<span class='hidden-xs hidden-sm'> definitief</span> opzeggen...", + "NEW": { + "TITLE": "Registratie", + "SLIDE_1_TITLE": "Selecteer een valuta:", + "SLIDE_2_TITLE": "Soort rekening:", + "MEMBER_ACCOUNT": "Persoonlijke rekening (lidmaatschap)", + "MEMBER_ACCOUNT_HELP": "Als je nog niet als individu geregistreerd bent (één rekening per individu mogelijk).", + "WALLET_ACCOUNT": "Eenvoudige portefeille", + "WALLET_ACCOUNT_HELP": "Als je een onderneming, stichting etc. vertegenwoordigd of eenvoudigweg een additionele portefeille nodig hebt. Geen individueel universeel dividend zal door deze rekening gecréeerd worden.", + "SALT_WARNING": "Kies een beveiligingszin.<br/>Deze heb je nodig voor ieder verbinding met je rekening.<br/><br/><b>Zorg dat je deze zin goed onthoud</b>.<br/>Eenmaal verloren, is er geen mogelijkheid om hem te achterhalen!", + "PASSWORD_WARNING": "Kies een wachtwoord.<br/>Deze heb je nodig voor ieder verbinding met je rekening.<br/><br/><b>Zorg dat je dit woord goed onthoud</b>.<br/>Eenmaal verloren, is er geen mogelijkheid om hem te achterhalen!", + "PSEUDO_WARNING": "Kies een pseudoniem.<br/>Het dient om makkelijker gevonden te worden door anderen.<br/><br/>.Gebruik van spaties, komma's en accenten is niet toegestaan.<br/><div class='hidden-xs'><br/>Voorbeeld: <span class='gray'>JulesDeelder, JohanVermeer, etc.</span>", + "PSEUDO": "Pseudoniem", + "PSEUDO_HELP": "joe123", + "SALT_CONFIRM": "Bevestig", + "SALT_CONFIRM_HELP": "Bevestig de beveiligingszin", + "PASSWORD_CONFIRM": "Bevestig", + "PASSWORD_CONFIRM_HELP": "Bevestig het wachtwoord", + "SLIDE_6_TITLE": "Bevestiging:", + "COMPUTING_PUBKEY": "Berekening...", + "LAST_SLIDE_CONGRATULATION": "Bravo! Je hebt alle verplichte velden ingevuld.<br/>Je kunt je <b>rekeningaanvraag verzenden</b>.<br/><br/>Ter informatie, de publieke sleutel hieronder identificeert je toekomstige rekening.<br/>Je kunt deze aan derde partijen communiceren om geld te ontvangen. Zodra je rekening geopend is, kun je de sleutel terugvinden onder <b>{{'ACCOUNT.TITLE'|translate}}</b>.", + "CONFIRMATION_MEMBER_ACCOUNT": "<b class=\"assertive\">Waarschuwing:</b> je beveiligingszin, wachtwoord en pseudoniem kunnen hierna niet gewijzigd worden.<br/><b>Zorg dat ze goed onthoudt!</b><br/><b>Weet je zeker</b> dat je je persoonlijke rekeningaanvraag wil verzenden?", + "CONFIRMATION_WALLET_ACCOUNT": "<b class=\"assertive\">Waarschuwing:</b> je wachtwoord en pseudoniem kunnen hierna niet gewijzigd worden.<br/><b>Zorg dat ze goed onthoudt!</b><br/><b>Weet je zeker</b> dat je deze portefeilleaanvraag wil verzenden?", + "PSEUDO_AVAILABLE": "Deze naam is beschikbaar", + "PSEUDO_NOT_AVAILABLE": "Deze gebruikersnaam is niet beschikbaar", + "INFO_LICENSE": "Om de valuta te sluiten, vragen wij u om te lezen en deze licentie te accepteren.", + "BTN_ACCEPT": "Ik accepteer", + "BTN_ACCEPT_LICENSE": "Ik ga akkoord met de licentie" + }, + "POPUP_REGISTER": { + "TITLE": "Voer een pseudoniem in", + "HELP": "Een pseudoniem is nodig voor anderen om je te kunnen vinden." + }, + "FILE_NAME": "{{currency}} - Rekeningafschrift {{pubkey|formatPubkey}} {{currentTime|formatDateForFile}}.csv", + "HEADERS": { + "TIME": "Datum", + "AMOUNT": "Bedrag", + "COMMENT": "Commentaar" + } + }, + "TRANSFER": { + "TITLE": "Overboeken", + "SUB_TITLE": "Geld overboeken", + "FROM": "Van", + "TO": "Aan", + "AMOUNT": "Bedrag", + "AMOUNT_HELP": "Bedrag", + "COMMENT": "Opmerking", + "COMMENT_HELP": "Opmerking (optioneel)", + "BTN_SEND": "Verzenden", + "BTN_ADD_COMMENT": "Opmerking toevoegen", + "WARN_COMMENT_IS_PUBLIC": "Houd er rekening mee dat <b>reacties openbaar zijn </b> (niet-versleuteld).", + "MODAL": { + "TITLE": "Overboeking" + } + }, + "ERROR": { + "POPUP_TITLE": "Error", + "UNKNOWN_ERROR": "Unknown error", + "CRYPTO_UNKNOWN_ERROR": "Your browser is not compatible with cryptographic features.", + "FIELD_REQUIRED": "This field is required.", + "FIELD_TOO_SHORT": "Value is too short (min {{minLength]] characters).", + "FIELD_TOO_SHORT_WITH_LENGTH": "This field value is too short.", + "FIELD_TOO_LONG": "Value is exceeding max length.", + "FIELD_TOO_LONG_WITH_LENGTH": "Value is too long (max {{maxLength}} characters).", + "FIELD_ACCENT": "Commas and accent characters not allowed", + "FIELD_NOT_NUMBER": "Value is not a number", + "FIELD_NOT_INT": "Value is not an integer", + "PASSWORD_NOT_CONFIRMED": "Must match previous password.", + "SALT_NOT_CONFIRMED": "Must match previous phrase.", + "SEND_IDENTITY_FAILED": "Error while trying to register.", + "SEND_CERTIFICATION_FAILED": "Could not certify identity.", + "NEED_MEMBER_ACCOUNT_TO_CERTIFY": "You could not send certification, because your account is <b>not a member account</b>.", + "NEED_MEMBER_ACCOUNT_TO_CERTIFY_HAS_SELF": "You could not send certification now, because your are <b>not a member</b> yet.<br/><br/>You still need certification to become a member.", + "IDENTITY_TO_CERTIFY_HAS_NO_SELF": "This account could not be certified. No registration found, or need to renew.", + "LOGIN_FAILED": "Error while sign in.", + "LOAD_IDENTITY_FAILED": "Could not load identity.", + "LOAD_REQUIREMENTS_FAILED": "Could not load identity requirements.", + "SEND_MEMBERSHIP_IN_FAILED": "Error while sending registration as member.", + "SEND_MEMBERSHIP_OUT_FAILED": "Error while sending membership revocation.", + "REFRESH_WALLET_DATA": "Could not refresh wallet.", + "GET_CURRENCY_PARAMETER": "Could not get currency parameters.", + "GET_CURRENCY_FAILED": "Could not load currency.", + "SEND_TX_FAILED": "Could not send transaction.", + "ALL_SOURCES_USED": "Please wait the next block computation (All transaction sources has been used).", + "NOT_ENOUGH_SOURCES": "Not enough changes to send this amount in one time.<br/>Maximum amount: {{amount}} {{unit}}<sub>{{subUnit}}</sub>.", + "ACCOUNT_CREATION_FAILED": "Error while creating your member account.", + "RESTORE_WALLET_DATA_ERROR": "Error while reloading settings from local storage", + "LOAD_WALLET_DATA_ERROR": "Error while loading wallet data.", + "COPY_CLIPBOARD_FAILED": "Could not copy to clipboard", + "TAKE_PICTURE_FAILED": "Could not get picture.", + "SCAN_FAILED": "Could not scan QR code.", + "SCAN_UNKNOWN_FORMAT": "Code not recognized.", + "WOT_LOOKUP_FAILED": "Search failed.", + "LOAD_PEER_DATA_FAILED": "Duniter peer not accessible. Please retry later.", + "NEED_LOGIN_FIRST": "Please sign in first.", + "AMOUNT_REQUIRED": "Amount is required.", + "AMOUNT_NEGATIVE": "Negative amount not allowed.", + "NOT_ENOUGH_CREDIT": "Not enough credit.", + "INVALID_NODE_SUMMARY": "Unreachable peer or invalid address", + "INVALID_USER_ID": "Field 'pseudonym' must not contains spaces or special characters.", + "INVALID_COMMENT": "Field 'reference' has a bad format.", + "INVALID_PUBKEY": "Public key has a bad format.", + "IDENTITY_INVALID_BLOCK_HASH": "This membership application is no longer valid (because it references a block that network peers are cancelled): the person must renew its application for membership <b>before</b> being certified.", + "IDENTITY_EXPIRED": "This identity has expired: this person must re-apply <b>before</b> being certified.", + "IDENTITY_SANDBOX_FULL": "Could not register, because peer's sandbox is full.<br/><br/>Please retry later or choose another Duniter peer (in <b>Settings</b>).", + "WOT_PENDING_INVALID_BLOCK_HASH": "Membership not valid.", + "WALLET_INVALID_BLOCK_HASH": "Your membership application is no longer valid (because it references a block that network peers are cancelled).<br/>You must <a ng-click=\"doQuickFix('renew')\">renew your application for membership</a> to fix this issue.", + "WALLET_IDENTITY_EXPIRED": "The publication of your identity <b>has expired</b>.<br/>You must <a ng-click=\"doQuickFix('fixIdentity')\">re-issue your identity</a> to resolve this issue.", + "WALLET_HAS_NO_SELF": "Your identity must first have been published, and not expired.", + "IDENTITY_ALREADY_CERTIFY": "You have <b>already certified</b> that identity.<br/><br/>Your certificate is still valid (expires {{expiresIn|formatDuration}}).", + "IDENTITY_ALREADY_CERTIFY_PENDING": "You have <b>already certified</b> that identity.<br/><br/>Your certification is still pending (Deadline for treatment {{expiresIn|formatDuration}}).", + "UNABLE_TO_CERTIFY_TITLE": "Unable to certify", + "LOAD_NEWCOMERS_FAILED": "Unable to load new members.", + "LOAD_PENDING_FAILED": "Unable to load pending registrations.", + "ONLY_MEMBER_CAN_EXECUTE_THIS_ACTION": "You must <b>be a member</b> in order to perform this action.", + "ONLY_SELF_CAN_EXECUTE_THIS_ACTION": "You must have <b>published your identity</b> in order to perform this action.", + "EXISTING_ACCOUNT": "Je gegevens komen overeen met een bestaande rekening, met de <a ng-click=\"showHelpModal('pubkey')\">publieke sleutel</a>:", + "EXISTING_ACCOUNT_REQUEST": "Gelieve je gegevens te wijzigen zodat ze met een niet gebruikte rekening overeenkomen." + }, + "INFO": { + "POPUP_TITLE": "Informatie", + "CERTIFICATION_DONE": "Identiteit succesvol getekend", + "NOT_ENOUGH_CREDIT": "Niet genoeg krediet", + "TRANSFER_SENT": "Verzoek tot overboeken succesvol verzonden", + "COPY_TO_CLIPBOARD_DONE": "Kopie geslaagd", + "MEMBERSHIP_OUT_SENT": "Opzegging lidmaatschap succesvol verzonden", + "NOT_NEED_MEMBERSHIP": "Je bent al lid.", + "IDENTITY_WILL_MISSING_CERTIFICATIONS": "Deze identiteit heeft binnenkort onvoldoende certificaties (ten minste {{willNeedCertificationCount}} nodig).", + "REVOCATION_SENT": "Intrekking succesvol verzonden", + "REVOCATION_SENT_WAITING_PROCESS": "Intrekking <b>is succesvol verzonden</b>. Het wacht op verwerking.", + "FEATURE_NOT_AVAILABLE_ON_DEMO": "Functionaliteit niet beschikbaar op deze demonstratiesite.<br/>Om <b>veiligheidsredenen</b> raden we u aan uw kopie van de software te <b>installeren</b>.<br/>Bezoek de website <a href='https://cesium.app'>www.cesium.app</a> voor hulp.", + "EMPTY_TX_HISTORY": "Aucune operatie à exporteur" + }, + "CONFIRM": { + "CAN_CONTINUE": "<b>Weet je zeker</b> dat je door wil gaan?", + "POPUP_TITLE": "<b>Bevestiging</b>", + "POPUP_WARNING_TITLE": "<b>Waarschuwing</b>", + "CERTIFY_RULES_TITLE_UID": "Certificeer {{uid}}", + "CERTIFY_RULES": "<b>Beveiligingswaarschuwing:</b><br/><br/><b class=\"assertive\">Certificeer een rekening niet</b> als je gelooft dat: <ul><li>1.) de aanvrager niet echt is.<li>2.) de aanvrager al een andere gecertificeerde rekening heeft.<li>3.) de aanvrager opzettelijk of door onzorgvuldigheid regel 1 of 2 overtreedt bij het verzenden van certificaten.</ul></small><br/>Weet je zeker dat je deze identieit wilt certificeren?", + "TRANSFER": "<b>Samenvatting van de overboeking:</b><br/><br/><ul><li> - Van: <b>{{from}}</b></li><li> - Aan: <b>{{to}}</b></li><li> - Bedrag: <b>{{amount}} {{unit}}</b></li><li> - Opmerking: <i>{{comment}}</i></li></ul><br/><b>Weet je zeker dat je deze overboeking wil doen?</b>", + "MEMBERSHIP_OUT": "<b>Waarschuwing</b>:<br/>Je staat op het punt je lidmaatschap te beëindigen. Dit kan <b>niet ongedaan</b> worden gemaakt.<br/></br/><b>Weet je zeker dat je door wil gaan?</b>", + "LOGIN_UNUSED_WALLET_TITLE": "Typefout?", + "LOGIN_UNUSED_WALLET": "Je bent ingelogged op een rekening die <b>inactief</b> lijkt te zijn.<br/><br/>Als deze rekening niet met de jouwe overeenkomt, komt dat waarschijnlijk door een <b>typefout</b> bij het inloggen.<br/><br/><b>Wilt u toch doorgaan met deze rekening?</b>", + "FIX_IDENTITY": "De pseudoniem <b>{{uid}}</b> zal opnieuw gepubliceerd worden, waarmee de oude verlopen publicatie wordt vervangen.<br/></br/><b>Weet je zeker</b> dat je door wil gaan?", + "FIX_MEMBERSHIP": "Je verzoek to lidmaatschap zal verstuurd worden.<br/></br/><b>Weet je het zeker?</b>", + "RENEW_MEMBERSHIP": "Je lidmaatschap zal verlengd worden.<br/></br/><b>Weet je het zeker?</b>", + "REVOKE_IDENTITY": "<b>Beveiligingswaarschuwing:</b><br/>You will <b>definitely revoke this identity</b>.<br/><br/>The public key and the associated nickname <b>will never be used again</b> (for a member account).<br/></br/><b>Are you sure</b> you want to continue?", + "REVOKE_IDENTITY_2": "Deze handeling is <b>niet terug te draaien</b>!<br/><br/><b>Weet je zeker</b> dat je door wil gaan?", + "NOT_NEED_RENEW_MEMBERSHIP": "Je lidmaatschap hoeft niet verlengd te worden (het zal pas verlopen na {{membershipExpiresIn|formatDuration}}).<br/></br/><b>Weet je zeker</b> dat je een verlengingsaanvraag wil versturen?", + "SAVE_BEFORE_LEAVE": "Wil je <b>je wijzigingen opslaan</b> voor je de pagina verlaat?", + "SAVE_BEFORE_LEAVE_TITLE": "Wijzigingen niet opgeslagen", + "LICENCE": "Ik heb gelezen en geaccepteerd de voorwaarden van de vergunning G1" + }, + "DOWNLOAD": { + "POPUP_TITLE": "<b>Intrekkingsdocument</b>", + "POPUP_REVOKE_MESSAGE": "Om je rekening te beveiligen, download het <b>rekening intrekkingsdocument</b>. Dit heb je nodig om je rekening op te heffen (in het geval van diefstal, een verandering van ID, een ten onrechte gemaakte rekening, etc.).<br/><br/><b>Bewaar deze op een veilige plaats.</b>" + }, + "HELP": { + "TITLE": "Online help", + "JOIN": { + "SECTION": "Join", + "SALT": "The protection phrase is very important. It is used to hash you password, which in turn is used to calculate your <span class=\"text-italic\">public account key</span> (its number) and the private key to access it. <b>Please remeber this phrase well</b>, because there is no way to recover it when lost. What's more, it cannot be changed without having to create a new account.<br/><br/>A good protection phrase must be sufficiently long (8 characters at the very least) and as original as possible.", + "PASSWORD": "The password is very important. Together with the protection phrase, it is use to calculate your account number (public key) and the private key to access it. <b>Please remember it well</b>, because there is no way to recover it when lost. What's more, it cannot be changed without having to create a new account.<br/><br/>A good password is made (ideally) of at least 8 characters, with at least one capital and one number.", + "PSEUDO": "A pseudonym is used only when joining as <span class=\"text-italic\">member</span>. It is always associated with a wallet (by its <span class=\"text-italic\">public key</span>). It is published on the network so that other users may identify it, certify or send money to the account. A pseudonym must be unique among all members (current and past)." + }, + "GLOSSARY": { + "SECTION": "Glossary", + "PUBKEY_DEF": "Een publieke sleutel identificeert altijd een portemonnee. Het kan een lid identificeren. In Cesium wordt berekend met de geheime ID en wachtwoord.", + "MEMBER": "Member", + "MEMBER_DEF": "A member is a real and living human, wishing to participate freely to the monitary community. The member will receive universal dividend, according to the period and amount as defined in the <span class=\"text-italic\">currency parameters</span>.", + "CURRENCY_RULES": "Currency rules", + "CURRENCY_RULES_DEF": "The currency rules are defined only once, and for all. They set the parameters under which the currency will perform: universal dividend calculation, the amount of certifications needed to become a member, the maximum amount of certifications a member can send, etc.<br/><br/>The parameters cannot be modified because of the use of a <span class=\"text-italic\">Blockchain</span> which carries and executes these rules, and constantly verifies their correct application. <a href=\"#/app/currency\">See current parameters</a>.", + "BLOCKCHAIN": "Blockchain", + "BLOCKCHAIN_DEF": "The Blockchain is a decentralised system which, in case of Duniter, serves to carry and execute the <span class=\"text-italic\">currency rules</span>.<br/><a href=\"http://en.duniter.org/presentation/\" target=\"_blank\">Read more about Duniter</a> and the working of its blockchain.", + "UNIVERSAL_DIVIDEND_DEF": "The Universal Dividend (UD) is the quantity of money co-created by each member, according to the period and the calculation defined in the <span class=\"text-italic\">currency rules</span>.<br/>Every term, the members receive an equal amount of new money on their account.<br/><br/>The UD undergoes a steady growth, to remain fair under its members (current and future), calculated by an average life expectancy, as demonstrated in the Relative Theory of Money (RTM).<br/><a href=\"http://trm.creationmonetaire.info\" target=\"_system\">Read more about RTM</a> and open money." + }, + "TIP": { + "MENU_BTN_CURRENCY": "Menu <b>{{'MENU.CURRENCY'|translate}}</b> allows discovery of <b>currency parameters</b> and its state.", + "CURRENCY_WOT": "The <b>member count</b> shows the <b>community's weight and evolution</b>.", + "CURRENCY_MASS": "Shown here is the <b>total amount</b> currently in circulation and its <b>average distribution</b> per member.<br/><br/>This allows to estimate the <b>worth of any amount</b>, in respect to what <b>others own</b> on their account (on average).", + "CURRENCY_UNIT_RELATIVE": "The unit used here (“<b>{{'COMMON.UD'|translate}}<sub>{{currency|abbreviate}}</sub></b>”) signifies that the amounts in {{currency|capitalize}} have been devided by the <b>Universal Dividend</b> (UD).<br/><br/><small>This relative unit is <b>relevant</b> because it is stable in contrast to the permanently growing monitary mass.</small>", + "CURRENCY_CHANGE_UNIT": "This button allows to <b>switch the unit</b> to show amounts in <b>{{currency|capitalize}}</b>, undevided by the Universal Dividend (instead of in “<b>{{'COMMON.UD'|translate}}<sub>{{currency|abbreviate}}</sub></b>”).", + "CURRENCY_CHANGE_UNIT_TO_RELATIVE": "This button allows to <b>switch the unit</b> to show amounts in “<b>{{'COMMON.UD'|translate}}<sub>{{currency|abbreviate}}</sub></b>”, which is relative to the Universal Dividend (the amount co-produced by each member).", + "CURRENCY_RULES": "The <b>rules</b> of the currency determine its <b>exact and predictible</b> performance.<br/><br/>As a true DNA of the currency these rules make the monetary code <b>transparent and understandable</b>.", + "NETWORK_BLOCKCHAIN": "All monetary transactions are recoded in a <b>public and tamper proof</b> ledger, generally referred to as the <b>blockchain</b>.", + "NETWORK_PEERS": "The <b>peers</b> shown here correspond to <b>computers that update and check</b> the blockchain.<br/><br/>The more active peers there are, the more <b>decentralised</b> and therefore trustworhty the currency becomes.", + "NETWORK_PEERS_BLOCK_NUMBER": "This <b>number</b> indicates the peer's <b>latest validated block</b> (last page written in the ledger).<br/><br/>Green indicates that the block was equally validated by the <b>majority of other peers</b>.", + "NETWORK_PEERS_PARTICIPATE": "<b>Each member</b>, equiped with a computer with Internet, <b>can participate, adding a peer</b> simply by <b>installing the Duniter software</b> (free/libre and open source). <a href=\"{{installDocUrl}}\" target=\"_system\">Read the installation manual >></a>.", + "MENU_BTN_ACCOUNT": "<b>{{'ACCOUNT.TITLE'|translate}}</b> allows access to your account balance and transaction history.", + "MENU_BTN_ACCOUNT_MEMBER": "Here you can consult your account status, transaction history and your certifications.", + "WALLET_CERTIFICATIONS": "Click here to reveiw the details of your certifications (given and received).", + "WALLET_BALANCE": "Your account <b>balance</b> is shown here.", + "WALLET_BALANCE_RELATIVE": "{{'HELP.TIP.WALLET_BALANCE'|translate}}<br/><br/>The used unit (“<b>{{'COMMON.UD'|translate}}<sub>{{currency|abbreviate}}</sub></b>”) signifies that the amount in {{currency|capitalize}} has been divided by the <b>Universal Dividend</b> (UD) co-created by each member.<br/>At this moment, 1 UD equals {{currentUD}} {{currency|capitalize}}.", + "WALLET_BALANCE_CHANGE_UNIT": "You can <b>change the unit</b> in which amounts are shown in <b><i class=\"icon ion-android-settings\"></i> {{'MENU.SETTINGS'|translate}}</b>.<br/><br/>For example, to display amounts <b>directly in {{currency|capitalize}}</b> instead of relative amounts.", + "WALLET_SEND": "Issue a payment in just a few clicks.", + "WALLET_SEND_NO_MONEY": "Issue a payment in just a few clicks.<br/>(Your balance does not allow this yet)", + "WALLET_OPTIONS": "Please note that this button allows access to <b>other, less used actions</b>.<br/><br/>Don't forget to take a quick look, when you have a moment!", + "WALLET_RECEIVED_CERTS": "This shows the list of persons that certified you.", + "WALLET_CERTIFY": "The button <b>{{'WOT.BTN_SELECT_AND_CERTIFY'|translate}}</b> allows selecting an identity and certifying it.<br/><br/>Only users that are <b>already member</b> may certify others.", + "WALLET_CERT_STOCK": "Your supply of certifications (to send) is limited to <b>{{sigStock}} certifications</b>.<br/><br/>This supply will replete itself over time, as and when earlier certifications expire.", + "MENU_BTN_WOT": "The menu <b>{{'MENU.WOT'|translate}}</b> allows searching <b>users</b> of the currency (member or not).", + "WOT_SEARCH_TEXT_XS": "To search in the registry, type the <b>first letters of a users pseudonym or public key</b>.<br/><br/>The search will start automatically.", + "WOT_SEARCH_TEXT": "To search in the registry, type the <b>first letters of a users pseudonym or public key</b>.<br/><br/>Then hit <b>Enter</b> to start the search.", + "WOT_SEARCH_RESULT": "Simply click a user row to view the details sheet.", + "WOT_VIEW_CERTIFICATIONS": "The row <b>{{'ACCOUNT.CERTIFICATION_COUNT'|translate}}</b> shows how many members members validated this identity.<br/><br/>These certifications testify that the account belongs to <b>a living human</b> and this person has <b>no other member account</b>.", + "WOT_VIEW_CERTIFICATIONS_COUNT": "There are at least <b>{{sigQty}} certifications</b> needed to become a member and receive the <b>Universal Dividend</b>.", + "WOT_VIEW_CERTIFICATIONS_CLICK": "Click here to open <b>a list of all certifications</b> given to and by this identity.", + "WOT_VIEW_CERTIFY": "The button <b>{{'WOT.BTN_CERTIFY'|translate}}</b> allows to add your certification to this identity.", + "CERTIFY_RULES": "<b>Attention:</b> Only certify <b>real and living persons</b> that do not own any other certified account.<br/><br/>The trust carried by the currency depends on each member's vigilance!", + "MENU_BTN_SETTINGS": "The <b>{{'MENU.SETTINGS'|translate}}</b> allow you to configure the Cesium application.<br/><br/>For example, you can <b>change the unit</b> in which the currency will be shown.", + "HEADER_BAR_BTN_PROFILE": "Click here to access your <b>user profile</b>", + "SETTINGS_CHANGE_UNIT": "You can <b>change the display unit</b> of amounts by clicking here.<br/><br/>- Deactivate the option to show amounts in {{currency|capitalize}}.<br/>- Activate the option for relative amounts in {{'COMMON.UD'|translate}}<sub>{{currency|abbreviate}}</sub> (<b>divided</b> by the current Universal Dividend).", + "END_LOGIN": "This guided visit has <b>ended</b>.<br/><br/>Welcome to the <b>free economy</b>!", + "END_NOT_LOGIN": "This guided visit has <b>ended</b>.<br/><br/>If you wish to join the currency {{currency|capitalize}}, simply click <b>{{'LOGIN.CREATE_ACCOUNT'|translate}}</b> below." + } + } +} diff --git a/src/assets/icon/favicon.ico b/src/assets/icon/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..641664a33fb26fdd0f60b9f41ae1d9ccd110c77a GIT binary patch literal 16958 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 W(D;H<h-d>V`~UwRl>U!xum%7euBt`= literal 0 HcmV?d00001 diff --git a/src/assets/icon/favicon.png b/src/assets/icon/favicon.png deleted file mode 100644 index 51888a7bbdb59f04c29c548523eb2638c1c954f5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 930 zcmeAS@N?(olHy`uVBq!ia0y~yU~m9o4rT@hhPm4t-!L#RbOrc?xVjhkxOe>@3@B{k zjv@vI2Hlb%zhH)!AAhdBqt2wre)-wk21k~b_V_6$`}strw)7Ot%?vlVS}Ne}vCM4o z{_AJ7mxk!)r86)v&GK|{42d|rHvHwRRR%n)%hs@_h~6x@aIrA$$=~?*NvAJO+w|>O z`+Rv5MO#ZtU)9e1U1i@KmpI*S%VPPnd6~ELn+M0Px%=L17v0@H_1*GQt9GV^E*E{* zseXNOTKaL;^1Urz=Nx^u=l}i5_jas_nx@5HVDa8HN;19i;8*@B2PK>Cn66v4Zg%+L zvy5Ikxz}R2Mf^Wn?o8Rc{ZnnSS@oV;?XA~-xZj;Mr8nVT^@^IjrdvCIR`Oc@>al+j zCvwchgI`E7Ywo?;_`PQrzL_X7eb3+JpJNz9d_Di%PJhVsbR~mgqkr`NoX+Kvk_z$+ z6@5;AGrXHteC<D7_W!i*>gCQ2NiXE@*kx^6be(7G=l*p$x%=EU6>!cmC~4x>WO18) zIQvITlCk7g?YVJcI_*z-W-~spz4yQ9&yGW1mUAXpnW?hyEia$5%gNi`^2{}*Fixf3 z+`nzY^V8xbts2?g!yYuB5-8t#`%kZ-+LiA+H?gdgxzu-dm#J3c&(qg8#|yRV^SpPw z6rlCNqtQ5#Z>7P8)W?#0nNt2vS;^34_-gg$C&smglNshZ-4o+yFXCjWTgLonMov7V zX42J{M&)`j9dngFC~=y$*T`gZUuR-+z0$O*<v_?;&YQ_+mA7@-@v6F1b_X;S=rJf- z&T!aP!SGO*qgf-yEm4UxIC96#mfMj50blM;`u2+dMeU-hpkJ@vPA-kHQF*<aZ<<+S z*7b|uwlTH)mdUJh;rw;&R?(hh_L^g-Pkv);o@I1OR+&%J(!cij1XrFYuF&gSljA1m zT3nmP+q|sg)iNEkn^PCRTRVH>yTu{bd2YL1T+2A8GrjPR`JZ`r%Zn5H=I$uC^3`eM zv~@PQUlRT=<^K5G|H-ZJ!$qB%o5lTaMqe&y3cvrq;OD)vzyH~NuW4w`byO{7U|?YI MboFyt=akR{016JplmGw# diff --git a/src/assets/img/card.png b/src/assets/img/card.png new file mode 100644 index 0000000000000000000000000000000000000000..894a7e9e135fb503317f91eef5ac48abff47e5eb GIT binary patch literal 585 zcmeAS@N?(olHy`uVBq!ia0y~yU}ykg4i*LmhD`I74h#$oOiAAEE)4(M`_JrWU|`@Z z@Q5sCVBozD!i-KDvnv=F7}!fZeO=ifu<&vk2zLfI&t+g>yyfZQ7*cWT?XBHjGJy>3 zAK!Nz3GoW*$exhPvb!NkZ$m4;z(KPcFO(xBd}bbV+Tt<y9Qz6B6-zEYU=8y)pyaxt zAY9ia*Gb7pv!~U(p#037xp&`RfBWvt%;JC5d7G^jJSV9jp;@6G@h+E6nyi0uYR5D6 zHJb(e7PC(%+3aX|>H7B5rweAR>)3W>>WuztH5x|p``JS@7<T8R-}#~Vt0C(}uT7_l z_%fsY?|yf4FV|h(E0)f{mcX!f?cc^zl0Ns+Vm?3T-6ZO_UtnpDLji|G10w{v+~d&Q zJhkv_yzwOg&R^9H#bAjYJaMxZ%75&<xa-uvgS$UGjn|ZwiTU})`NxdO3=+wU&KbAQ zTv}4Oy8i9^ZO4B~GFeYNmpesHV4u44o|VNMHF-@83R5(9b4fUy)@x?){J;0~KiRr_ zzy4WvhsV{QK5zGcGhTAV!ymd{56|~jKIu8Rhp+Ks)GU6U<GZ*2w`bHTj=B6%^xCW} zK8~qNreFH|oFOcquVK%7=DLkfj50ueV!QC+lD$IU()J2|uXpWEZ&C|d3l~VdY`i)3 zhwXv`YUh={-nWfw$$G+|P<e`{xg_n*kKj{hT9uK*S;ceGyAR^pi!yI^Y@TAvz`(%Z M>FVdQ&MBb@07oYNB>(^b literal 0 HcmV?d00001 diff --git a/src/assets/img/duniter_button.svg b/src/assets/img/duniter_button.svg new file mode 100644 index 0000000..fdabad7 --- /dev/null +++ b/src/assets/img/duniter_button.svg @@ -0,0 +1,83 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="83" + height="30" + version="1.1" + id="svg13" + sodipodi:docname="duniter_button.svg" + inkscape:version="0.92.1 r"> + <metadata + id="metadata19"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title /> + </cc:Work> + </rdf:RDF> + </metadata> + <defs + id="defs17" /> + <sodipodi:namedview + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1" + objecttolerance="10" + gridtolerance="10" + guidetolerance="10" + inkscape:pageopacity="0" + inkscape:pageshadow="2" + inkscape:window-width="3200" + inkscape:window-height="1671" + id="namedview15" + showgrid="false" + inkscape:zoom="22.250293" + inkscape:cx="25.487137" + inkscape:cy="14.655877" + inkscape:window-x="0" + inkscape:window-y="55" + inkscape:window-maximized="1" + inkscape:current-layer="svg13" /> + <rect + id="back" + x="1" + y=".5" + width="82" + height="29" + rx="4" + style="fill:#fbc14c;fill-opacity:1" + fill="#f6c915" /> + <text + font-weight="700" + font-size="14" + x="51.016949" + y="18.601694" + id="text11" + style="font-weight:700;font-size:10.26666699px;font-family:'Helvetica Neue', Helvetica, Arial, sans-serif;text-anchor:middle;fill:#171b1a;fill-opacity:1;"> + <tspan + style="font-size:10.26666699px;fill:#171b1a;fill-opacity:1;" + id="tspan4138">Ğ1 pubkey</tspan> + </text> + <g + inkscape:groupmode="layer" + id="layer1" + inkscape:label="duniter logo" /> + <image + y="4.5617771" + x="4.742866" + id="use4134" + xlink:href="data:image/png;base64,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 a11bvqKlxXYn6J1YD3lvbQv5bIvHdT281UOOJlyu7V7YD//9u9Z/jm0Zx9uxHortn23TNiGy/fuy w9pWZYR7ndkb1vFEcojPN7utBXFXSK93twb/p3RT0NMp64IGropZMnzasojJnd3841nkAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjcX/B7s289iW 1Ts2AAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDE2LTAzLTIxVDE0OjQ4OjI5KzAwOjAw+I94iAAAACV0 RVh0ZGF0ZTptb2RpZnkAMjAxNi0wMy0yMVQxNDo0ODoyOSswMDowMInSwDQAAAAASUVORK5CYII= " + preserveAspectRatio="none" + height="19.125" + width="19.125" /> +</svg> diff --git a/src/assets/img/flag-ca.png b/src/assets/img/flag-ca.png new file mode 100644 index 0000000000000000000000000000000000000000..50ba903b2c94ce278ff0d9523251bf6ea7653684 GIT binary patch literal 5913 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 literal 0 HcmV?d00001 diff --git a/src/assets/img/flag-eo.png b/src/assets/img/flag-eo.png new file mode 100644 index 0000000000000000000000000000000000000000..afd17b81607382c799b9924ddf411570a15ef4dd GIT binary patch literal 671 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}Y)RhkE(~Ds(|LD20|NtR zfk$L90|U1(2s1Lwnj^u$z`$PO>Fdh=gqcf#jqMck31<cdCLK=~$B>A_Z>R0|zwID$ z+`imWSjMR}BP2jIB&5YkNzJWHZAvTOA4i@)?0<M=f3n|N%I%@+WMB{yt96lWd&iDL z-|oH^xZUeqC?s`=;eE-bck|A_|M|Pto^Rfhjon`9s<nN=ECp;U7<mt{f0@x^{lNUg zVTN9fu6<vu3qSmAxa+@r&R;8M?cP^RJ`+UzS`}DhXUgoejWKaJ8x{Q{A}3i#Z2zO@ zzuhF$R&PG@v)K8=>Z0d)4hnt@_Zhrgc8ShmQD?c%_*(z^=i1)1Ab+FOWo_!wEK5Vy zGjj#(x?S)lNlCo$&*vG7yU$w`n*V#Dr@VMg^^+4!8EZXr4*k1c`>pTWhgEW&z7_x9 zGM`<l7VRBvAv67?s-sAc8ke<5i44Px6+Rbg?xyUrI(zQ8Y*w)8w);7ockY<k_BOu7 zZBn!5d$tolIVVr}{9#V(Ox9=f&tBe@chT?GmAzI?2}dV+7-_L<C`>qd@Y5M1>GftG zde3JTc%>+Ru&UA))Bg5PW<_=BwYW7;Utc|zHP20w>DtYSSI+1h;1;<v?KH!@Pa7hX zIs=NT>-eLjxePaa%3JzpLQscrQs>Kcl6ynfUthVYD`J7dw!)u`S2JZ7r9AOH_=Jt^ z<?QbYk6+b2<w&XFk&f6qWu^6jE1E~W>~)w@`M#8Gs(W1*`(b|Mg40fpygTIrrl(F} zRN3<If_T^eI(uGg=9ci2S8wbTS7&PBTETq&^68fr`b%>cEDc)xi!rOo`}t&>qMyuL W+5U6Ooz~w6N@$+0elF{r5}E)xD<jna literal 0 HcmV?d00001 diff --git a/src/assets/img/flag-es.png b/src/assets/img/flag-es.png new file mode 100644 index 0000000000000000000000000000000000000000..65814c3e39eeb609bb5aaadf377e5ea6adcc6cf4 GIT binary patch literal 1054 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANOKPd!~6Ln02popv@)##N+s zfAC#fW4YNaHxxNN#r}9GYILMVe3FU$#E=uY(eV*$1=l^sjVX-MWi1L5#9ah#t4vDn zw>6Hv`+d`jSM#>nCN@v;4GKE@<x0tQ%kOuhznkolTYr4DT}w!v^-jUnr>A$E?~mik zX#bk9F?{NQBaOe~>piQj&ab)TZYU+ZYEnRG=3b2nE*f2XrhYGEh`9aeUB&HX_YIRa zE?hhP!Rp=JFWKyC{;?id!s5l=_y5Myd-YwP$`m^mY$==|;KY<_kjcu^S6$y){cGEv zjCV6E=V|t@i+_7!ifTi@R?fZyvuA8(no-cQq@-Bw@rCs-=kU#AtgUz}d5!(ZGwzy@ zgG{I1H9pH|JK8qEyqvS>iSq}?AAc?U6TY^myM8*8W#Yd1-%Ozg_spyJe7<P6DcDKC zRX}lx2}ghcmu8ZuZPM}Nj@PkE&T(ClG0xCkuH^I4|NDc@J_~Xg^FOh~RHp3|wU{-X zA!gn-mhCL>RttTZ%G0sArO5A-PsC0?V@BpRZ0jdJZ~81!nZqUb*CMS>=g!=--mLQX z`g@M+Zpr>!kmk#GYRQ#}8;lb9ICaFlH(0uIh_rI3+T0gsJ0fwjHYgxB@54R6!w2n+ zxeiXvtrAKvocv@#OM0K>mbI5>Icn$$9hlA{)gru!>GUV7&xa>9$IlCz7x(bmUiOgd z(`0^?`&cC1=D$`h)!x9rt3{aMboFfg^Fjv97aOj#u)Jg8zfwJW&L7K14}MHYpUgSi zIC)p?+^6?%w|I81JJR?iJL1V4c9+-F4$7`P#l<T!!Tm|;x#%qSvul>#>b$e-TTgSk z^`C#Yzwa@%PWtk!<=K(nzpo3u;MR*R`#GK2&T4v-*b~!5ey+_EIzPQt?UDVTeUkli ztXubiKOY67%k9-d+HxubYtQqZx+?B=>+<iUBd<-DH>kO*7&ta8|H@go@xi&fC*FPB z{bI|Lzia2;%$+Cfb0?7HcfZJk9Z&Zq{_NQGIP03o!mF0NojapGo;(|W`QyqXxphuO zA`jAPX3Wd8X1=g<^ZoCSYyMajsEY1cCaLw|!|K&JckUfb6K-;0Y|%+g_qfF6vS-5& z{ffrYy8)go#p-)D9zA?q{lH`wg-2I>n~!_6a?BNHSe96l{`Ps3<ie@Sd>s|<xi362 zF%<e7-02Xy=>TV{<3a|mn@y3{;q#Vot3A=5@vQID#Ezz2I&7vJ3==mRrtR74xx%f- zc|pjDfAd%G@OCX*xW&w(Fv|7j>`8296Q*uc3(}u{MLOBy49lvQQ{2TQ!;>}}sI_w3 zsJ#9+{;+N7p`DV)UED5b{`cF#dWT_K+^63!cy0&>ar*2k*>mI~19x11c-<fF%Tn=i V(M4<LFfcGMc)I$ztaD0e0sz|X`9=T$ literal 0 HcmV?d00001 diff --git a/src/assets/img/flag-fr.png b/src/assets/img/flag-fr.png new file mode 100644 index 0000000000000000000000000000000000000000..00c2b429da04543a129cd2fa3dbd6af876182f56 GIT binary patch literal 903 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANOKex5FlArXh)PTSij<0{g+ zKl-w*{cBebg~%m*f4Ev)JY1Hfc(~ZK3%AI8bgN@facN>vQgmuMkx;!Yeb=gYg#n?q zw)VU4o#@=YWZt`(E7w)OvwVI}t3rbRv9o+z<ni$HkB^6I|J#4_zU9yF^Y`t$zG(ga z-_OqdKfE}*=6Boq`hRQRH<&g(zh8f{Y`T`t;fB!t3*Mh%{qW_b@EIQC)t67jUMiV> z<j0%#Pqu0{sy2NJ3#WapIxKH*#~e}az<zFi{r)HS|Fa$7VlX~)=nK!W?eR7<nYKR2 zH4$L=cs*X=&|a2O&gqwzwfNf|JzadAQAhmP2LB^Z5*Up)Fgy@FQh4C<gSXo`UHlXh zdDk4!Vwj$=|FCz)F0T3E&MIlkRkCNab1h;skL9W1<j_nmja_^qC`hk7cYDR$`=Lyo zn*IzrEkY5!tx5-TZ_eL1K{#vEmD3D&9JTgckZG9nL@Bk=@>v^eduJ=tC!NdQUzn#| zIwQ@uimg<C^^=$-Gnge78>=06I<SV#oZUX9{{6%x&Ly9gom7{9(6m8eKGTi&<vhDx zIJ%V%p82~<H+lQ*yIDspnGYL;^zu&ka^=`mv#RGzC(G}MlnK=f_l7ygK40<g{!`YX zV_A3EIj3)^nrhX%oTuYSlFy;03Ecuwj|IedW}o?y$1v?uik&Ir-PJOOcKy54V%TkH z*)nUbwaItu8@5#k?=S~nUzxTctV^gwc4n}!TKbvPNs(u_F&P+_1hs8voX~PK$!T^} z$=?-eAwJJT15`dlit8}A%-FPl3x7<Sf+&9o=aqmhr>8#&<~$aXVo>~KiWpBq<*K$| z<$Kq}J2qZ)T)mi?`%sXItnmcTo1T`_zo>sVmt1!HqFYI(c}{4+F8|-YlT{}KoKt78 z5l&V)#*-MxT>X}HVc8Vt3%gS$v_vV-TCx7_l4&Vj6JHoJ*m9n(wmM~(z^(0IA@MQj zgJpxI@xs^MpI7F4U7aBG?%chj0*4q6gzB3qe!BQ|Qr=#rFVZ?Xt7OVHevj8WspeSm zX9t7UD`76q9oBNn=7;+hzUF6;TRXjFdi}+<VPAf0i~U^{RPXb#Tl{o&F6-{=hj*Gd zOp`b^G5ogluCr-Y!g0*=8Lz+pY4eNi$8s63#99mKJ=-TX$nrmKmd|H=J<T}SYh%_; Q1_lNOPgg&ebxsLQ0M4$Q-~a#s literal 0 HcmV?d00001 diff --git a/src/assets/img/flag-gb.png b/src/assets/img/flag-gb.png new file mode 100644 index 0000000000000000000000000000000000000000..531836ec058768fdbf91dd9909d73d4ef0fbad88 GIT binary patch literal 1690 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 L>gTe~DWM4f?Uo^@ literal 0 HcmV?d00001 diff --git a/src/assets/img/flag-it.png b/src/assets/img/flag-it.png new file mode 100644 index 0000000000000000000000000000000000000000..26071b13ea5509c4cc4b31b143e1993d8c4e9984 GIT binary patch literal 885 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANOKHl8kyArXh)PP6S(aTRFY zf8x}um-p^olv2<Ym*_N3c&wN+=PBD9hD60gg>?raj~#M~;%4ULWM0e6_9(q<S+<t3 zvVqa2RlBPG6<oXNsU97A^=sU|?@Egv6xyyUujN#lsBiCee!KtA^c{OXKb#+5_kY3k zeZRhJwtoM8`SK;*+;RVY1<N<;9@sv==3uJSoM{S7>aqU!U4Q8@6_k~=btowPi@19> z=hoSt=l5%w8<zQ;<dhBG`<!Lh-D&dsen}-rH+D$v|MPQ}{kng%I9b?*1UMBw{A`!^ zci`Q#){W`Gd-?c8wydbm84J^{xc8j>{XX!$fbsz~mv293g&46o3b>>yHN9kfAhjoU z_LLK;3%i_G?&NZlY-98Nvi!&QUtLRB4>n5gkn^rfU*V$gT#dUek-NZHdH>EFE)%8+ zCX-E+)jY&soi^FQdbR7fhl!|8dd^JVt0&b=TjykUcKFU))4FEqJh`>Y#qZ~;6-?&! z{<)g9k}HOL*{{5`2+b91IeJu$v(`P_%)lkYBqH;t?x#A_%6S)7?O5>d^eWj~s;3%R zvtsy}f7=K+tvJxMTH&8oqC{JC^Nx^&{rCMJTrCgaxti6;q0P#(&UE71geZZg=)xC& zYo{8los*c^`SYc1$C52v3#D#e(dC$-rN|P+8X7I<cc5rl(yHimVNQc58q8@bYb6;R zog6}5*RyJT+Ap$Uiul~~<=^ic=%kgzvL-7h)J1)-_xibtCto=sEyAlkb;ld_hNB_H zmcj|!7F51pnr<gPi-|wWOVht7d-Z=;&s)ouZ`hQev(ijSu&0u51JhpKipp4Z)-9<u z+m7%AEt5%EP@$~F+9dt{fe*81AKOLW%NzFTS2NFO4>;XC%TY6%$;+#AiqMe<EMf;% zf4H04Jab{@RnC<>XE>)!@$hD<6-)_PbX8B|lB4)DtsMuOw#s^^I?2bDapX1n?RD^! zSbTmq#|Ia)H$}%^KAW=Rw$Qd(S&xOT|95=9A2R7|(`0e|8Qlfn>?>Pi_^K~0o6l); zH-~e*euujBFZI?u;cUruzyAOH`Lj9gVE*H)8%@_8GU$up3IDSD?ib%5JU<vJzD?Wj uexG6g_5Mr0VkPbyHS+M-tShhk%bsw|^Cwg6rF{$x3=E#GelF{r5}E+H3yPuu literal 0 HcmV?d00001 diff --git a/src/assets/img/flag-nl.png b/src/assets/img/flag-nl.png new file mode 100644 index 0000000000000000000000000000000000000000..01b16127ae4573eaafd0439e158401746b81d52c GIT binary patch literal 810 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANM!A3a?hLn02pop!!U+FhW1 z|0>DeEwf`i3>0@h+wz0=QS`l|&t;e!A1psn{Dkon%Qt3;9=(sM?GnjC6F&4^y&G!j zQ|{lt#8h#{-U@D)^8Tp5zh9jX;g)-I(5_tA<yZXvpL#skugjF}t`^jdvfo#^_f=!B z^`8%K(jUFeUB=|{qOEb=`-`Fc4P~|*8Q0JLW;nliDGT4UM_c$NiYUJ<VEDdk{r(*f zzR#~?yz#~1y~Y1OA7_1hYwfbE*_B0fWwGO@8P4jPKAgI%-Lv~~h1|iKdAkokd+nYw zr>-b>t5UDB81pF?g+)J>#EGnK=<rc~I`cl`#QByxq~9f2WXdFNowX>iPN1w>$0fj# zQP{Qr$n#St4?W#EpD{yW8HWVh49mpr^DhV5co;r1e5CaALCfke$8^8m>s)cy7<x0T z%Qs7&*c^86DznOg<U`3vToj()4{~ySewZ;da!vo)GvfDWNB26dZJpt9Hv7lZ?&s(K z@7uZ4(dEUizICqyLPJWm_Wa50et%9W=h!Dh<1;-|gfvy}%zayS`n&(U8dFyV)nkP$ z7TgRv&*YgkijAYsL^mw5T&|$sbz<Z5<AE0J1v#st7M_}!7IvJqVWzH4ZsI@v1BO0c zE4#WqdINe7#8&<jVR%<p^v#p&9oNr#-9yDmx^F&OayKkLU-$Ug$7z3mPcYBSGrO!E zdF#W@v@06(8-842I=R-M-1+&dqNCrgo|a@Vck*b-kZe$O_$Xz$)8~9?i)*$Wvq00s zdoBm=c4&q#%P3nXs=v5CWJheZm>s*|*#){z+dViMojE$bb^MsZmT@U?K@@`@;~vJ7 zO~oc^=baNI8{>GkJE*s5Wi0O~D?Z_ErR9*hDEHT1&O>huGxp9hEGXXKq0W1tO5j@T zqwd#@iN%iFZ}~8U{`kVBcQmp%F5k&rZ0^P9-*P%DBqZ~{ulfDVXxE)JmT&&Kw3%wg zD*P=F`Q@LW`oEpO<$JZBxpVJh(GR)>rRV><e?Ji4<iVfwO1rXNtZ^dy?>BGbqqG<k V7V2LSW?*1o@O1TaS?83{1OQFoe=Pt2 literal 0 HcmV?d00001 diff --git a/src/assets/img/flag-us.png b/src/assets/img/flag-us.png new file mode 100644 index 0000000000000000000000000000000000000000..44b3c28f400d3242e643742cfd56c441da4199f7 GIT binary patch literal 1205 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANMUHJ&bxArXh)hI?m-cuM@s zN)s}c;#8_Ic;nh(ES$cny(6whK)}(3e^T>7@lLnL%%XeV<vLDe>6MZ<><qN2<dkE% z*}X#jZc5S_70Jg3T_bL$nzq~YoLjv6+yB+8)vwN-=o(?xe)hom@T+%2?}z_iUF{U{ zAU-4Tz@mm$aRnESPs?Lmj|%ztrR}S3HmUpf&a|<M>&E2C9h`xO<TRL7=Go;QnykJ* z`Si4_761P5=iJ>Tr62#V_3Uizi9U5l+IUxU*lWtj{Av06Iy^Dqf%2k`i&@Xrb-9Bs z^#q(Pw!D#IG&%74-RDO(rT$pEw6#4|QJqKV`}_Wd>(&XqeY^g`g#cHJmfGJ+8M(em z|Nn95#mO9LWEPCsVc_w3t3|!tO0(=2xeK0NQVd&jZpPVdZ<%%_n<=uq@txh^qO_!F z!IqGO-{0g5o}ZJL=;nDQTB-Zdy}jlZB^qtJ%VpoZP3^f<GsnQ``*FvtIl-EFme14G zE?t*s)$Vz}HimQe^5Z^E-ws%Od$;z|l0esMHzb_>{iS?;uSzAqcqe!G;o+-XvbXNo zTuM?(sLIIV+P0lb<<;x!8k3H>sZ}rb*tP4DMbQ$e?fLzSc2>$-S-Tg0$%s)rzk8R5 z%l+m<&*Y49Yl<A-r3deP*!J{}<$`V3L=&|6Wo#q@XPcQH=T6z4*Zb(kMvJ^V5{}-d ztqzGSG!EY%yIbZ_e#OBvy-niN^jg2Zn0TFePK9}X-=$}qhXiHp=N<U^TG^sdsWJO{ zTj8q^-gR-lf@&P?qGcsZGIFm)C#T6}tmjbXzf$XEds>=l_MJbogz|OQ#dvB7PS@wx z_~bqP7w6*;-u+sFxw(HWDvcaJ*KPfDTAzQf`qkufRmEr00y%VI7hT(3&JgP4$S^(3 zoqhfd%a<=Nn}&30&an)3P71Q9{^ow@x?E1aeA|lE+V^tK>{?#f5Gk>f<#1wzeq4p~ zg`1XbIoH(qc_zPNm^&x%f@gck-ECWWSE@%x$7jl1(mN-bU+#8h<`pG=jUqmG&(7^! za`yK+D{R(vG#y;9$w6U3&-$5R9l41y_V(ZQc};K=<=|tC-R!2(xjna-CBnMQ;YgBz zv9aH#9W8l6A8%-w3O|><v-dbtujwIO&wT-LeA;v8eQxmTu8~ukT`D$9{p#Awwjb>| zKU6zPRqw2I6q>%AYt25p3(;&%G5ROoCS2d093C*y;K%8+HR3;{Cl>AJV~w6Sx!`-A zyF=Z1xdoeqimIeOMXO&rvZ+IS34ixj=JRWxo}T#sL*hB+J6@Z<+~S!u^_SVV`8zHI zbhS3loBCO4p|<1u<Lk}`a%@WD*jHBm`17&eFJU^Z3#53bO;vQbdy2R5Lnw2Pi|Jjx z8qo!t;+4<mDs6jtTfx}6`)2xihkSE)hqgGL%i3WIK1&og8BAZWuBjoAGb?$qRe+9& zRpvu8`ArMl>dq+%&eyz|uCDgXMqr8l6qSj3il2(Igc9Ge&U$hGm*)4$EA+R#7wO~> zRQF)vK4HGMKK|&{pYrwn=M2obe|UX+&QzoLeCF(Z9jS4vBmX3S`Y-aq{QvH}xqPpV S?O<SFVDNPHb6Mw<&;$TOyeez} literal 0 HcmV?d00001 diff --git a/src/assets/img/loader.gif b/src/assets/img/loader.gif new file mode 100644 index 0000000000000000000000000000000000000000..d3ef195d52dad8449e21eb58817dcb3ae8a9ba73 GIT binary patch literal 1849 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 UI9;8$Fk6Mo0puEMP(=jB0D-?BlK=n! literal 0 HcmV?d00001 diff --git a/src/assets/img/logo.png b/src/assets/img/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..d68ee9c288a901a1d4c0731521029cdd3cfcede0 GIT binary patch literal 9876 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 Pz`)??>gTe~DWM4faOF>2 literal 0 HcmV?d00001 diff --git a/src/assets/img/logo.small.cs.dune.svg b/src/assets/img/logo.small.cs.dune.svg new file mode 100644 index 0000000..ece13e7 --- /dev/null +++ b/src/assets/img/logo.small.cs.dune.svg @@ -0,0 +1,57 @@ +<?xml version="1.0" encoding="utf-8"?> +<svg width="30px" height="30px" viewBox="0 0 500 500" xmlns="http://www.w3.org/2000/svg" xmlns:bx="https://boxy-svg.com"> + <path d="M 390.992 122.276 C 418.209 157.183 434.924 200.278 441.202 248.24 C 441.187 276.711 435.71 305.292 425.308 333.282 C 371.101 416.727 274.951 449.213 167.669 434.279 C 136.406 416.036 109.009 390.076 86.272 358.016 C 67.778 323.794 57.942 284.4 56.489 242.062 C 62.206 199.766 79.617 161.912 106.301 129.617 C 162.524 85.439 239.03 70.181 321.968 82.52 C 345.508 92.535 368.657 105.883 390.992 122.276 Z" style="fill: rgb(255, 255, 255);" bx:origin="0 0"/> + <g transform="matrix(0.517848, 0, 0, 0.517848, -53.306625, -599.931213)" style="opacity: 1;"> + <g id="g-14" style="display: inline; opacity: 0.5;" transform="matrix(1, 0, 0, 1, 144.570724, 1007.099426)"> + <path style="display:inline;fill:#ffd086;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" d="M 585.16992,524.91211 C 447.41745,738.84015 285.93093,797.68142 93.347656,801.03711 158.66452,921.84083 287.20038,1003.1698 434.03906,1001.2559 607.56851,998.99446 752.51317,881.18488 796.65234,721.9668 c -2.6864,-6.57764 -6.20106,-13.62037 -10.8164,-21.13477 C 768.68987,677.03878 709.10478,568.47721 585.16992,524.91211 Z" id="path-102"/> + <path style="display:inline;fill:#270b0b;fill-opacity:0.99393939;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" d="M 586.254 524.115 C 564.682 650.453 477.974 754.472 498.584 835.602 C 524.648 938.199 419.458 961.515 333.973 989.342 C 365.923 997.545 399.475 1001.706 434.039 1001.256 C 634.052 998.649 796.093 842.536 809.561 646.439 C 793.197 641.777 777.425 634.689 766.723 622.746 C 734.035 586.272 650.117 546.564 586.254 524.115 Z" id="path-103" bx:origin="0.5 0.5"/> + <path style="display: inline; fill: rgb(203, 137, 3); fill-opacity: 0.993939; fill-rule: evenodd; stroke: none; stroke-width: 1px; stroke-linecap: butt; stroke-linejoin: miter; stroke-opacity: 1;" d="M 586.254 524.115 C 564.682 650.453 477.974 754.472 498.584 835.602 C 524.648 938.199 419.458 961.515 333.973 989.342 C 365.923 997.545 399.475 1001.706 434.039 1001.256 C 634.052 998.649 796.093 842.536 809.561 646.439 C 793.197 641.777 777.425 634.689 766.723 622.746 C 734.035 586.272 650.117 546.564 586.254 524.115 Z" id="path-104" bx:origin="0.5 0.5"/> + </g> + <g id="g-15" style="display: inline; opacity: 0.5;" transform="matrix(1, 0, 0, 1, 144.570724, 1007.099426)"> + <rect x="504.265" y="500.287" width="23.492" height="25.527" style="display:inline;opacity:1;fill:#fabb37;fill-opacity:1;stroke:none;stroke-width:34.90000153;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.99607843" id="path-105"/> + <rect x="369.174" y="415.429" width="22.384" height="24.419" style="display:inline;opacity:1;fill:#ffd086;fill-opacity:1;stroke:none;stroke-width:34.90000153;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.99607843" id="path-106"/> + <rect x="418.995" y="433.019" width="30.524" height="30.524" style="display:inline;opacity:1;fill:#fabb37;fill-opacity:1;stroke:none;stroke-width:34.90000153;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.99607843" id="path-107"/> + <rect x="417.34" y="652.556" width="46.803" height="46.803" style="display:inline;opacity:1;fill:#fbc14c;fill-opacity:1;stroke:none;stroke-width:34.90000153;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.99607843" id="path-108"/> + <rect x="422.586" y="475.891" width="30.524" height="30.524" style="display:inline;opacity:1;fill:#fabb37;fill-opacity:1;stroke:none;stroke-width:34.90000153;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.99607843" id="path-109"/> + <rect x="472.618" y="605.457" width="24.419" height="26.454" style="display:inline;opacity:1;fill:#cc8902;fill-opacity:1;stroke:none;stroke-width:34.90000153;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.99607843" id="path-110"/> + <rect x="520.772" y="557.902" width="18.314" height="18.314" style="display:inline;opacity:1;fill:#fabb37;fill-opacity:1;stroke:none;stroke-width:34.90000153;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.99607843" id="path-111"/> + <rect x="454.784" y="563.028" width="30.524" height="30.524" style="display:inline;opacity:1;fill:#fabb37;fill-opacity:1;stroke:none;stroke-width:34.90000153;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.99607843" id="path-112"/> + <rect x="335.342" y="720.987" width="38.663" height="40.698" style="display:inline;opacity:1;fill:#fbc14c;fill-opacity:1;stroke:none;stroke-width:34.90000153;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.99607843" id="path-113"/> + <rect x="371.97" y="661.975" width="26.454" height="30.524" style="display:inline;opacity:1;fill:#fbc14c;fill-opacity:1;stroke:none;stroke-width:34.90000153;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.99607843" id="path-114"/> + <rect x="-427.93" y="610.085" width="24.507" height="24.419" style="display:inline;opacity:1;fill:#cc8902;fill-opacity:1;stroke:none;stroke-width:34.90000153;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.99607843" id="path-115" transform="scale(-1,1)"/> + <rect x="480.411" y="523.469" width="20.349" height="22.384" style="display:inline;opacity:1;fill:#ffd086;fill-opacity:1;stroke:none;stroke-width:34.90000153;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.99607843" id="path-116"/> + <rect x="-499.5" y="466.314" width="24.507" height="24.419" style="display:inline;opacity:1;fill:#cc8902;fill-opacity:1;stroke:none;stroke-width:34.90000153;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.99607843" id="path-117" transform="scale(-1,1)"/> + </g> + <g id="g-16" style="display: inline; opacity: 1;" transform="matrix(1.0000000700020495, 0, 0, 1.0000000700020495, 144.57072391079612, 1007.0994398715994)"> + <path style="display: inline; fill: none; fill-opacity: 1; fill-rule: evenodd; stroke: rgb(255, 122, 0); stroke-width: 2.34888; stroke-linecap: butt; stroke-linejoin: miter; stroke-opacity: 1;" d="M 585.16992,524.91211 C 447.41745,738.84015 285.93093,797.68142 93.347656,801.03711 158.66452,921.84083 287.20038,1003.1698 434.03906,1001.2559 607.56851,998.99446 752.51317,881.18488 796.65234,721.9668 c -2.6864,-6.57764 -6.20106,-13.62037 -10.8164,-21.13477 C 768.68987,677.03878 709.10478,568.47721 585.16992,524.91211 Z" id="path-118"/> + <path style="display: inline; fill: none; fill-opacity: 0.993939; fill-rule: evenodd; stroke: rgb(255, 122, 0); stroke-width: 2.34888; stroke-linecap: butt; stroke-linejoin: miter; stroke-opacity: 1;" d="M 586.254 524.115 C 564.682 650.453 477.974 754.472 498.584 835.602 C 524.648 938.199 419.458 961.515 333.973 989.342 C 365.923 997.545 399.475 1001.706 434.039 1001.256 C 634.052 998.649 796.093 842.536 809.561 646.439 C 793.197 641.777 777.425 634.689 766.723 622.746 C 734.035 586.272 650.117 546.564 586.254 524.115 Z" id="path-119" bx:origin="0.5 0.5"/> + <path style="display: inline; fill: none; fill-opacity: 0.993939; fill-rule: evenodd; stroke: rgb(255, 122, 0); stroke-width: 2.34888; stroke-linecap: butt; stroke-linejoin: miter; stroke-opacity: 1;" d="M 586.254 524.115 C 564.682 650.453 477.974 754.472 498.584 835.602 C 524.648 938.199 419.458 961.515 333.973 989.342 C 365.923 997.545 399.475 1001.706 434.039 1001.256 C 634.052 998.649 796.093 842.536 809.561 646.439 C 793.197 641.777 777.425 634.689 766.723 622.746 C 734.035 586.272 650.117 546.564 586.254 524.115 Z" id="path-120" bx:origin="0.5 0.5"/> + </g> + </g> + <g transform="matrix(0.608261, 0, 0, 0.608261, -20.084976, 3.255736)"> + <g> + <path style="display: inline; fill: rgb(64, 178, 255); fill-opacity: 1; fill-rule: evenodd; stroke: none; stroke-width: 1px; stroke-linecap: butt; stroke-linejoin: miter; stroke-opacity: 1; opacity: 0.78;" id="path-10" d="M 419.133 85.738 C 417.295 85.739 415.455 85.754 413.611 85.778 C 354.852 86.561 299.023 99.174 248.358 121.32 C 584.121 13.206 796.175 211.26 831.7 508.773 L 846.383 507.124 C 815.586 235.801 652.477 85.588 419.133 85.738 Z" transform="matrix(0.96373, 0.266878, -0.266878, 0.96373, 89.505231, -136.615061)" bx:origin="0.5 0.5"/> + <path style="display: inline; fill: rgb(64, 178, 255); fill-opacity: 1; fill-rule: evenodd; stroke: none; stroke-width: 1px; stroke-linecap: butt; stroke-linejoin: miter; stroke-opacity: 1; opacity: 1;" id="path-3" d="M 146.037 194.065 C 144.201 194.066 142.361 194.081 140.517 194.104 C 81.76 194.888 25.931 207.503 -24.736 229.648 C 311.029 121.531 523.083 319.583 558.604 617.093 L 573.284 615.443 C 542.49 344.122 379.385 193.913 146.037 194.065 Z" transform="matrix(-0.180988, -0.983485, 0.983485, -0.180988, -39.298581, 705.897544)" bx:origin="0.5 0.5"/> + <path style="display: inline; fill: rgb(64, 178, 255); fill-opacity: 1; fill-rule: evenodd; stroke: none; stroke-width: 1px; stroke-linecap: butt; stroke-linejoin: miter; stroke-opacity: 1; opacity: 0.4;" id="path-11" d="M 487.744 193.084 C 485.906 193.085 484.067 193.1 482.223 193.123 C 423.464 193.907 367.635 206.52 316.975 228.668 C 652.726 120.552 864.775 318.605 900.299 616.109 L 914.979 614.46 C 884.184 343.144 721.081 192.935 487.744 193.084 Z" transform="matrix(0.619997, 0.784605, -0.784605, 0.619997, 523.067231, -343.331539)" bx:origin="0.5 0.5"/> + <path style="display: inline; fill: rgb(64, 178, 255); fill-opacity: 1; fill-rule: evenodd; stroke: none; stroke-width: 1px; stroke-linecap: butt; stroke-linejoin: miter; stroke-opacity: 1; opacity: 0.84;" id="path-12" d="M 295.969 432.757 C 294.131 432.758 292.293 432.773 290.449 432.797 C 231.688 433.58 175.86 446.194 125.198 468.341 C 460.957 360.226 673.005 558.28 708.526 855.786 L 723.207 854.139 C 692.412 582.819 529.31 432.609 295.969 432.757 Z" transform="matrix(-0.978849, 0.204584, -0.204584, -0.978849, 963.820796, 1116.367293)" bx:origin="0.5 0.5"/> + <path style="display: inline; fill: rgb(64, 178, 255); fill-opacity: 1; fill-rule: evenodd; stroke: none; stroke-width: 1px; stroke-linecap: butt; stroke-linejoin: miter; stroke-opacity: 1; opacity: 0.4;" id="path-13" d="M 158.036 148.83 C 156.2 148.833 154.36 148.846 152.516 148.872 C 93.759 149.653 37.93 162.267 -12.734 184.411 C 323.022 76.301 535.076 274.352 570.604 571.857 L 585.286 570.208 C 554.483 298.891 391.38 148.683 158.036 148.83 Z" transform="matrix(0.338614, -0.940926, 0.940926, 0.338614, -115.595158, 483.705984)" bx:origin="0.5 0.5"/> + <path style="display: inline; fill: rgb(64, 178, 255); fill-opacity: 1; fill-rule: evenodd; stroke: none; stroke-width: 1px; stroke-linecap: butt; stroke-linejoin: miter; stroke-opacity: 1; opacity: 1;" id="path-14" d="M 501.019 288.292 C 499.181 288.293 497.34 288.308 495.496 288.331 C 436.736 289.115 380.908 301.726 330.243 323.874 C 666.004 215.757 878.062 413.812 913.586 711.322 L 928.268 709.673 C 897.468 438.352 734.361 288.141 501.019 288.292 Z" transform="matrix(0.164656, 0.986351, -0.986351, 0.164656, 982.857266, -233.452063)" bx:origin="0.5 0.5"/> + <path style="display: inline; fill: rgb(64, 178, 255); fill-opacity: 1; fill-rule: evenodd; stroke: none; stroke-width: 1px; stroke-linecap: butt; stroke-linejoin: miter; stroke-opacity: 1; opacity: 0.4;" id="path-15" d="M 192.954 376.521 C 191.115 376.522 189.277 376.537 187.433 376.561 C 128.674 377.344 72.845 389.958 22.181 412.103 C 357.94 303.989 569.987 502.045 605.505 799.553 L 620.188 797.905 C 589.392 526.584 426.295 376.369 192.954 376.521 Z" transform="matrix(-0.931404, -0.363988, 0.363988, -0.931404, 419.499006, 1182.599809)" bx:origin="0.5 0.5"/> + <path style="display: inline; fill: rgb(64, 178, 255); fill-opacity: 1; fill-rule: evenodd; stroke: none; stroke-width: 1px; stroke-linecap: butt; stroke-linejoin: miter; stroke-opacity: 1; opacity: 1;" id="path-16" d="M 221.614 63.973 C 219.777 63.976 217.938 63.99 216.094 64.015 C 157.334 64.795 101.506 77.409 50.841 99.554 C 386.598 -8.559 598.651 189.497 634.173 487.001 L 648.854 485.354 C 618.058 214.037 454.954 63.824 221.614 63.973 Z" transform="matrix(0.750452, -0.660925, 0.660925, 0.750452, -70.803322, 290.920273)" bx:origin="0.5 0.5"/> + <path style="display: inline; fill: rgb(64, 178, 255); fill-opacity: 1; fill-rule: evenodd; stroke: none; stroke-width: 1px; stroke-linecap: butt; stroke-linejoin: miter; stroke-opacity: 1; opacity: 0.4;" id="path-17" d="M 441.888 342.098 C 440.047 342.098 438.207 342.114 436.362 342.138 C 377.601 342.922 321.765 355.535 271.103 377.681 C 606.886 269.567 818.944 467.615 854.462 765.133 L 869.142 763.483 C 838.354 492.154 675.242 341.948 441.888 342.098 Z" transform="matrix(-0.356582, 0.934264, -0.934264, -0.356582, 1256.759493, 169.182552)" bx:origin="0.5 0.5"/> + <g transform="matrix(0.762493, 0, 0, 0.762493, 19.294647, -716.322815)"> + <path d="M 566.466 1089.137 L 566.466 1148.222 C 565.867 1148.219 565.267 1148.217 564.667 1148.217 C 561.481 1148.217 558.31 1148.259 555.154 1148.341 L 555.154 1089.137 Z M 908.29 1477.146 L 956.987 1477.146 L 956.987 1488.458 L 908.569 1488.458 C 908.539 1484.693 908.447 1480.922 908.29 1477.146 Z M 566.466 1835.013 L 566.466 1876.467 L 555.154 1876.467 L 555.154 1834.886 C 558.318 1834.973 561.49 1835.017 564.667 1835.017 C 565.267 1835.017 565.867 1835.016 566.466 1835.013 Z M 220.775 1488.458 L 169.657 1488.458 L 169.657 1477.146 L 221.089 1477.146 C 220.921 1480.909 220.816 1484.68 220.775 1488.458 Z" style="fill: rgb(64, 40, 0); stroke: rgb(64, 40, 0); stroke-width: 10.7806;" bx:origin="0 0"/> + <path d="M 760.121 1143.311 L 717.336 1217.417 C 715.72 1216.518 714.096 1215.632 712.465 1214.761 L 755.318 1140.537 Z M 830.122 1324.203 L 900.424 1283.614 L 903.198 1288.417 L 833.04 1328.923 C 832.08 1327.339 831.107 1325.766 830.122 1324.203 Z M 840.599 1641.137 L 903.197 1677.278 L 900.424 1682.082 L 837.911 1645.99 C 838.821 1644.38 839.717 1642.762 840.599 1641.137 Z M 725.168 1761.843 L 760.122 1822.385 L 755.318 1825.158 L 720.379 1764.641 C 721.985 1763.722 723.582 1762.789 725.168 1761.843 Z M 403.538 1760.932 L 366.456 1825.159 L 361.653 1822.386 L 398.802 1758.042 C 400.372 1759.019 401.951 1759.982 403.538 1760.932 Z M 289.58 1642.689 L 221.35 1682.082 L 218.577 1677.279 L 286.944 1637.807 C 287.807 1639.437 288.685 1641.065 289.58 1642.689 Z M 294.354 1332.168 L 218.576 1288.417 L 221.35 1283.614 L 297.213 1327.414 C 296.246 1328.99 295.293 1330.575 294.354 1332.168 Z M 406.079 1220.259 L 361.653 1143.311 L 366.457 1140.537 L 410.889 1217.495 C 409.276 1218.403 407.673 1219.324 406.079 1220.259 Z" style="fill: rgb(64, 40, 0); stroke: rgb(64, 40, 0); stroke-width: 10.7806;" bx:origin="0 0"/> + </g> + </g> + <rect x="429.367" y="425.979" width="20.003" height="21.735" style="display: inline; opacity: 1; fill: rgb(80, 150, 200); fill-opacity: 1; stroke: none; stroke-width: 34.9; stroke-miterlimit: 4; stroke-dasharray: none; stroke-dashoffset: 0; stroke-opacity: 0.996078;" id="path-91" transform="matrix(1, 0, 0, 0.999999, -301.377075, -219.498434)"/> + <rect x="446.853" y="25.462" width="25.99" height="25.99" style="display: inline; opacity: 1; fill: rgb(80, 150, 200); fill-opacity: 1; stroke: none; stroke-width: 34.9; stroke-miterlimit: 4; stroke-dasharray: none; stroke-dashoffset: 0; stroke-opacity: 0.996078;" id="path-93"/> + <rect x="-135.956" y="605.141" width="39.851" height="39.851" style="display: inline; opacity: 1; fill: rgb(80, 150, 200); fill-opacity: 1; stroke: none; stroke-width: 34.9; stroke-miterlimit: 4; stroke-dasharray: none; stroke-dashoffset: 0; stroke-opacity: 0.996078;" id="path-94" transform="matrix(0.999999, 0, 0, 1, 846.176756, -394.956024)"/> + <rect x="225.779" y="689.836" width="25.99" height="25.99" style="display: inline; opacity: 1; fill: rgb(80, 150, 200); fill-opacity: 1; stroke: none; stroke-width: 34.9; stroke-miterlimit: 4; stroke-dasharray: none; stroke-dashoffset: 0; stroke-opacity: 0.996078;" id="path-95"/> + <rect x="594.013" y="737.142" width="20.792" height="22.525" style="display: inline; opacity: 1; fill: rgb(80, 150, 200); fill-opacity: 1; stroke: none; stroke-width: 34.9; stroke-miterlimit: 4; stroke-dasharray: none; stroke-dashoffset: 0; stroke-opacity: 0.996078;" id="path-96"/> + <rect x="387.235" y="479.397" width="25.99" height="25.99" style="display: inline; opacity: 1; fill: rgb(80, 150, 200); fill-opacity: 1; stroke: none; stroke-width: 34.9; stroke-miterlimit: 4; stroke-dasharray: none; stroke-dashoffset: 0; stroke-opacity: 0.996078;" id="path-98" transform="matrix(1.000001, 0, 0, 0.999999, 365.274966, 79.295241)"/> + <rect x="421.962" y="775.937" width="32.92" height="34.653" style="display: inline; opacity: 1; fill: rgb(80, 150, 200); fill-opacity: 1; stroke: none; stroke-width: 34.9; stroke-miterlimit: 4; stroke-dasharray: none; stroke-dashoffset: 0; stroke-opacity: 0.996078;" id="path-99"/> + <rect x="-66.939" y="-568.978" width="20.867" height="20.792" style="display: inline; opacity: 1; fill: rgb(80, 150, 200); fill-opacity: 1; stroke: none; stroke-width: 34.9; stroke-miterlimit: 4; stroke-dasharray: none; stroke-dashoffset: 0; stroke-opacity: 0.996078;" id="path-101" transform="matrix(-1, 0, 0, 0.999997, 31.356928, 984.736306)"/> + </g> + <path d="M 213.903 186.772 C 195.856 186.772 181.61 192.782 171.163 204.802 C 160.723 216.815 155.503 233.269 155.503 254.162 C 155.503 275.649 160.536 292.249 170.603 303.962 C 180.676 315.682 195.033 321.542 213.673 321.542 C 225.126 321.542 238.193 319.482 252.873 315.362 L 252.873 332.092 C 241.493 336.365 227.453 338.502 210.753 338.502 C 186.573 338.502 167.913 331.162 154.773 316.482 C 141.633 301.809 135.063 280.959 135.063 253.932 C 135.063 237.012 138.226 222.189 144.553 209.462 C 150.88 196.735 160.013 186.925 171.953 180.032 C 183.893 173.145 197.95 169.702 214.123 169.702 C 231.343 169.702 246.393 172.849 259.273 179.142 L 251.183 195.532 C 238.756 189.692 226.33 186.772 213.903 186.772 Z M 365.156 302.672 C 365.156 314.125 360.886 322.959 352.346 329.172 C 343.812 335.392 331.832 338.502 316.406 338.502 C 300.086 338.502 287.359 335.919 278.226 330.752 L 278.226 313.452 C 284.139 316.445 290.486 318.805 297.266 320.532 C 304.039 322.252 310.569 323.112 316.856 323.112 C 326.589 323.112 334.076 321.559 339.316 318.452 C 344.562 315.345 347.186 310.609 347.186 304.242 C 347.186 299.455 345.106 295.359 340.946 291.952 C 336.792 288.545 328.689 284.519 316.636 279.872 C 305.182 275.605 297.039 271.882 292.206 268.702 C 287.379 265.522 283.786 261.909 281.426 257.862 C 279.066 253.822 277.886 248.992 277.886 243.372 C 277.886 233.345 281.969 225.429 290.136 219.622 C 298.296 213.822 309.486 210.922 323.706 210.922 C 336.959 210.922 349.912 213.615 362.566 219.002 L 355.946 234.172 C 343.592 229.079 332.399 226.532 322.366 226.532 C 313.532 226.532 306.869 227.915 302.376 230.682 C 297.882 233.455 295.636 237.275 295.636 242.142 C 295.636 245.435 296.479 248.242 298.166 250.562 C 299.846 252.882 302.559 255.092 306.306 257.192 C 310.046 259.285 317.232 262.315 327.866 266.282 C 342.466 271.602 352.329 276.955 357.456 282.342 C 362.589 287.735 365.156 294.512 365.156 302.672 Z" style="fill: rgb(64, 40, 0);" bx:origin="0.5 0.5"/> +</svg> diff --git a/src/assets/img/logo.svg b/src/assets/img/logo.svg new file mode 100644 index 0000000..8d8f542 --- /dev/null +++ b/src/assets/img/logo.svg @@ -0,0 +1,57 @@ +<?xml version="1.0" encoding="utf-8"?> +<svg width="512px" height="512px" viewBox="0 0 500 500" xmlns="http://www.w3.org/2000/svg" xmlns:bx="https://boxy-svg.com"> + <path d="M 390.992 122.276 C 418.209 157.183 434.924 200.278 441.202 248.24 C 441.187 276.711 435.71 305.292 425.308 333.282 C 371.101 416.727 274.951 449.213 167.669 434.279 C 136.406 416.036 109.009 390.076 86.272 358.016 C 67.778 323.794 57.942 284.4 56.489 242.062 C 62.206 199.766 79.617 161.912 106.301 129.617 C 162.524 85.439 239.03 70.181 321.968 82.52 C 345.508 92.535 368.657 105.883 390.992 122.276 Z" style="fill: rgb(255, 255, 255);" bx:origin="0 0"/> + <g transform="matrix(0.517848, 0, 0, 0.517848, -53.306625, -599.931213)" style="opacity: 1;"> + <g id="g-14" style="display: inline; opacity: 0.5;" transform="matrix(1, 0, 0, 1, 144.570724, 1007.099426)"> + <path style="display:inline;fill:#ffd086;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" d="M 585.16992,524.91211 C 447.41745,738.84015 285.93093,797.68142 93.347656,801.03711 158.66452,921.84083 287.20038,1003.1698 434.03906,1001.2559 607.56851,998.99446 752.51317,881.18488 796.65234,721.9668 c -2.6864,-6.57764 -6.20106,-13.62037 -10.8164,-21.13477 C 768.68987,677.03878 709.10478,568.47721 585.16992,524.91211 Z" id="path-102"/> + <path style="display:inline;fill:#270b0b;fill-opacity:0.99393939;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" d="M 586.254 524.115 C 564.682 650.453 477.974 754.472 498.584 835.602 C 524.648 938.199 419.458 961.515 333.973 989.342 C 365.923 997.545 399.475 1001.706 434.039 1001.256 C 634.052 998.649 796.093 842.536 809.561 646.439 C 793.197 641.777 777.425 634.689 766.723 622.746 C 734.035 586.272 650.117 546.564 586.254 524.115 Z" id="path-103" bx:origin="0.5 0.5"/> + <path style="display: inline; fill: rgb(203, 137, 3); fill-opacity: 0.993939; fill-rule: evenodd; stroke: none; stroke-width: 1px; stroke-linecap: butt; stroke-linejoin: miter; stroke-opacity: 1;" d="M 586.254 524.115 C 564.682 650.453 477.974 754.472 498.584 835.602 C 524.648 938.199 419.458 961.515 333.973 989.342 C 365.923 997.545 399.475 1001.706 434.039 1001.256 C 634.052 998.649 796.093 842.536 809.561 646.439 C 793.197 641.777 777.425 634.689 766.723 622.746 C 734.035 586.272 650.117 546.564 586.254 524.115 Z" id="path-104" bx:origin="0.5 0.5"/> + </g> + <g id="g-15" style="display: inline; opacity: 0.5;" transform="matrix(1, 0, 0, 1, 144.570724, 1007.099426)"> + <rect x="504.265" y="500.287" width="23.492" height="25.527" style="display:inline;opacity:1;fill:#fabb37;fill-opacity:1;stroke:none;stroke-width:34.90000153;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.99607843" id="path-105"/> + <rect x="369.174" y="415.429" width="22.384" height="24.419" style="display:inline;opacity:1;fill:#ffd086;fill-opacity:1;stroke:none;stroke-width:34.90000153;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.99607843" id="path-106"/> + <rect x="418.995" y="433.019" width="30.524" height="30.524" style="display:inline;opacity:1;fill:#fabb37;fill-opacity:1;stroke:none;stroke-width:34.90000153;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.99607843" id="path-107"/> + <rect x="417.34" y="652.556" width="46.803" height="46.803" style="display:inline;opacity:1;fill:#fbc14c;fill-opacity:1;stroke:none;stroke-width:34.90000153;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.99607843" id="path-108"/> + <rect x="422.586" y="475.891" width="30.524" height="30.524" style="display:inline;opacity:1;fill:#fabb37;fill-opacity:1;stroke:none;stroke-width:34.90000153;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.99607843" id="path-109"/> + <rect x="472.618" y="605.457" width="24.419" height="26.454" style="display:inline;opacity:1;fill:#cc8902;fill-opacity:1;stroke:none;stroke-width:34.90000153;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.99607843" id="path-110"/> + <rect x="520.772" y="557.902" width="18.314" height="18.314" style="display:inline;opacity:1;fill:#fabb37;fill-opacity:1;stroke:none;stroke-width:34.90000153;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.99607843" id="path-111"/> + <rect x="454.784" y="563.028" width="30.524" height="30.524" style="display:inline;opacity:1;fill:#fabb37;fill-opacity:1;stroke:none;stroke-width:34.90000153;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.99607843" id="path-112"/> + <rect x="335.342" y="720.987" width="38.663" height="40.698" style="display:inline;opacity:1;fill:#fbc14c;fill-opacity:1;stroke:none;stroke-width:34.90000153;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.99607843" id="path-113"/> + <rect x="371.97" y="661.975" width="26.454" height="30.524" style="display:inline;opacity:1;fill:#fbc14c;fill-opacity:1;stroke:none;stroke-width:34.90000153;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.99607843" id="path-114"/> + <rect x="-427.93" y="610.085" width="24.507" height="24.419" style="display:inline;opacity:1;fill:#cc8902;fill-opacity:1;stroke:none;stroke-width:34.90000153;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.99607843" id="path-115" transform="scale(-1,1)"/> + <rect x="480.411" y="523.469" width="20.349" height="22.384" style="display:inline;opacity:1;fill:#ffd086;fill-opacity:1;stroke:none;stroke-width:34.90000153;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.99607843" id="path-116"/> + <rect x="-499.5" y="466.314" width="24.507" height="24.419" style="display:inline;opacity:1;fill:#cc8902;fill-opacity:1;stroke:none;stroke-width:34.90000153;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.99607843" id="path-117" transform="scale(-1,1)"/> + </g> + <g id="g-16" style="display: inline; opacity: 1;" transform="matrix(1.0000000700020495, 0, 0, 1.0000000700020495, 144.57072391079612, 1007.0994398715994)"> + <path style="display: inline; fill: none; fill-opacity: 1; fill-rule: evenodd; stroke: rgb(255, 122, 0); stroke-width: 2.34888; stroke-linecap: butt; stroke-linejoin: miter; stroke-opacity: 1;" d="M 585.16992,524.91211 C 447.41745,738.84015 285.93093,797.68142 93.347656,801.03711 158.66452,921.84083 287.20038,1003.1698 434.03906,1001.2559 607.56851,998.99446 752.51317,881.18488 796.65234,721.9668 c -2.6864,-6.57764 -6.20106,-13.62037 -10.8164,-21.13477 C 768.68987,677.03878 709.10478,568.47721 585.16992,524.91211 Z" id="path-118"/> + <path style="display: inline; fill: none; fill-opacity: 0.993939; fill-rule: evenodd; stroke: rgb(255, 122, 0); stroke-width: 2.34888; stroke-linecap: butt; stroke-linejoin: miter; stroke-opacity: 1;" d="M 586.254 524.115 C 564.682 650.453 477.974 754.472 498.584 835.602 C 524.648 938.199 419.458 961.515 333.973 989.342 C 365.923 997.545 399.475 1001.706 434.039 1001.256 C 634.052 998.649 796.093 842.536 809.561 646.439 C 793.197 641.777 777.425 634.689 766.723 622.746 C 734.035 586.272 650.117 546.564 586.254 524.115 Z" id="path-119" bx:origin="0.5 0.5"/> + <path style="display: inline; fill: none; fill-opacity: 0.993939; fill-rule: evenodd; stroke: rgb(255, 122, 0); stroke-width: 2.34888; stroke-linecap: butt; stroke-linejoin: miter; stroke-opacity: 1;" d="M 586.254 524.115 C 564.682 650.453 477.974 754.472 498.584 835.602 C 524.648 938.199 419.458 961.515 333.973 989.342 C 365.923 997.545 399.475 1001.706 434.039 1001.256 C 634.052 998.649 796.093 842.536 809.561 646.439 C 793.197 641.777 777.425 634.689 766.723 622.746 C 734.035 586.272 650.117 546.564 586.254 524.115 Z" id="path-120" bx:origin="0.5 0.5"/> + </g> + </g> + <g transform="matrix(0.608261, 0, 0, 0.608261, -20.084976, 3.255736)"> + <g> + <path style="display: inline; fill: rgb(64, 178, 255); fill-opacity: 1; fill-rule: evenodd; stroke: none; stroke-width: 1px; stroke-linecap: butt; stroke-linejoin: miter; stroke-opacity: 1; opacity: 0.78;" id="path-10" d="M 419.133 85.738 C 417.295 85.739 415.455 85.754 413.611 85.778 C 354.852 86.561 299.023 99.174 248.358 121.32 C 584.121 13.206 796.175 211.26 831.7 508.773 L 846.383 507.124 C 815.586 235.801 652.477 85.588 419.133 85.738 Z" transform="matrix(0.96373, 0.266878, -0.266878, 0.96373, 89.505231, -136.615061)" bx:origin="0.5 0.5"/> + <path style="display: inline; fill: rgb(64, 178, 255); fill-opacity: 1; fill-rule: evenodd; stroke: none; stroke-width: 1px; stroke-linecap: butt; stroke-linejoin: miter; stroke-opacity: 1; opacity: 1;" id="path-3" d="M 146.037 194.065 C 144.201 194.066 142.361 194.081 140.517 194.104 C 81.76 194.888 25.931 207.503 -24.736 229.648 C 311.029 121.531 523.083 319.583 558.604 617.093 L 573.284 615.443 C 542.49 344.122 379.385 193.913 146.037 194.065 Z" transform="matrix(-0.180988, -0.983485, 0.983485, -0.180988, -39.298581, 705.897544)" bx:origin="0.5 0.5"/> + <path style="display: inline; fill: rgb(64, 178, 255); fill-opacity: 1; fill-rule: evenodd; stroke: none; stroke-width: 1px; stroke-linecap: butt; stroke-linejoin: miter; stroke-opacity: 1; opacity: 0.4;" id="path-11" d="M 487.744 193.084 C 485.906 193.085 484.067 193.1 482.223 193.123 C 423.464 193.907 367.635 206.52 316.975 228.668 C 652.726 120.552 864.775 318.605 900.299 616.109 L 914.979 614.46 C 884.184 343.144 721.081 192.935 487.744 193.084 Z" transform="matrix(0.619997, 0.784605, -0.784605, 0.619997, 523.067231, -343.331539)" bx:origin="0.5 0.5"/> + <path style="display: inline; fill: rgb(64, 178, 255); fill-opacity: 1; fill-rule: evenodd; stroke: none; stroke-width: 1px; stroke-linecap: butt; stroke-linejoin: miter; stroke-opacity: 1; opacity: 0.84;" id="path-12" d="M 295.969 432.757 C 294.131 432.758 292.293 432.773 290.449 432.797 C 231.688 433.58 175.86 446.194 125.198 468.341 C 460.957 360.226 673.005 558.28 708.526 855.786 L 723.207 854.139 C 692.412 582.819 529.31 432.609 295.969 432.757 Z" transform="matrix(-0.978849, 0.204584, -0.204584, -0.978849, 963.820796, 1116.367293)" bx:origin="0.5 0.5"/> + <path style="display: inline; fill: rgb(64, 178, 255); fill-opacity: 1; fill-rule: evenodd; stroke: none; stroke-width: 1px; stroke-linecap: butt; stroke-linejoin: miter; stroke-opacity: 1; opacity: 0.4;" id="path-13" d="M 158.036 148.83 C 156.2 148.833 154.36 148.846 152.516 148.872 C 93.759 149.653 37.93 162.267 -12.734 184.411 C 323.022 76.301 535.076 274.352 570.604 571.857 L 585.286 570.208 C 554.483 298.891 391.38 148.683 158.036 148.83 Z" transform="matrix(0.338614, -0.940926, 0.940926, 0.338614, -115.595158, 483.705984)" bx:origin="0.5 0.5"/> + <path style="display: inline; fill: rgb(64, 178, 255); fill-opacity: 1; fill-rule: evenodd; stroke: none; stroke-width: 1px; stroke-linecap: butt; stroke-linejoin: miter; stroke-opacity: 1; opacity: 1;" id="path-14" d="M 501.019 288.292 C 499.181 288.293 497.34 288.308 495.496 288.331 C 436.736 289.115 380.908 301.726 330.243 323.874 C 666.004 215.757 878.062 413.812 913.586 711.322 L 928.268 709.673 C 897.468 438.352 734.361 288.141 501.019 288.292 Z" transform="matrix(0.164656, 0.986351, -0.986351, 0.164656, 982.857266, -233.452063)" bx:origin="0.5 0.5"/> + <path style="display: inline; fill: rgb(64, 178, 255); fill-opacity: 1; fill-rule: evenodd; stroke: none; stroke-width: 1px; stroke-linecap: butt; stroke-linejoin: miter; stroke-opacity: 1; opacity: 0.4;" id="path-15" d="M 192.954 376.521 C 191.115 376.522 189.277 376.537 187.433 376.561 C 128.674 377.344 72.845 389.958 22.181 412.103 C 357.94 303.989 569.987 502.045 605.505 799.553 L 620.188 797.905 C 589.392 526.584 426.295 376.369 192.954 376.521 Z" transform="matrix(-0.931404, -0.363988, 0.363988, -0.931404, 419.499006, 1182.599809)" bx:origin="0.5 0.5"/> + <path style="display: inline; fill: rgb(64, 178, 255); fill-opacity: 1; fill-rule: evenodd; stroke: none; stroke-width: 1px; stroke-linecap: butt; stroke-linejoin: miter; stroke-opacity: 1; opacity: 1;" id="path-16" d="M 221.614 63.973 C 219.777 63.976 217.938 63.99 216.094 64.015 C 157.334 64.795 101.506 77.409 50.841 99.554 C 386.598 -8.559 598.651 189.497 634.173 487.001 L 648.854 485.354 C 618.058 214.037 454.954 63.824 221.614 63.973 Z" transform="matrix(0.750452, -0.660925, 0.660925, 0.750452, -70.803322, 290.920273)" bx:origin="0.5 0.5"/> + <path style="display: inline; fill: rgb(64, 178, 255); fill-opacity: 1; fill-rule: evenodd; stroke: none; stroke-width: 1px; stroke-linecap: butt; stroke-linejoin: miter; stroke-opacity: 1; opacity: 0.4;" id="path-17" d="M 441.888 342.098 C 440.047 342.098 438.207 342.114 436.362 342.138 C 377.601 342.922 321.765 355.535 271.103 377.681 C 606.886 269.567 818.944 467.615 854.462 765.133 L 869.142 763.483 C 838.354 492.154 675.242 341.948 441.888 342.098 Z" transform="matrix(-0.356582, 0.934264, -0.934264, -0.356582, 1256.759493, 169.182552)" bx:origin="0.5 0.5"/> + <g transform="matrix(0.762493, 0, 0, 0.762493, 19.294647, -716.322815)"> + <path d="M 566.466 1089.137 L 566.466 1148.222 C 565.867 1148.219 565.267 1148.217 564.667 1148.217 C 561.481 1148.217 558.31 1148.259 555.154 1148.341 L 555.154 1089.137 Z M 908.29 1477.146 L 956.987 1477.146 L 956.987 1488.458 L 908.569 1488.458 C 908.539 1484.693 908.447 1480.922 908.29 1477.146 Z M 566.466 1835.013 L 566.466 1876.467 L 555.154 1876.467 L 555.154 1834.886 C 558.318 1834.973 561.49 1835.017 564.667 1835.017 C 565.267 1835.017 565.867 1835.016 566.466 1835.013 Z M 220.775 1488.458 L 169.657 1488.458 L 169.657 1477.146 L 221.089 1477.146 C 220.921 1480.909 220.816 1484.68 220.775 1488.458 Z" style="fill: rgb(64, 40, 0); stroke: none;" bx:origin="0 0"/> + <path d="M 760.121 1143.311 L 717.336 1217.417 C 715.72 1216.518 714.096 1215.632 712.465 1214.761 L 755.318 1140.537 Z M 830.122 1324.203 L 900.424 1283.614 L 903.198 1288.417 L 833.04 1328.923 C 832.08 1327.339 831.107 1325.766 830.122 1324.203 Z M 840.599 1641.137 L 903.197 1677.278 L 900.424 1682.082 L 837.911 1645.99 C 838.821 1644.38 839.717 1642.762 840.599 1641.137 Z M 725.168 1761.843 L 760.122 1822.385 L 755.318 1825.158 L 720.379 1764.641 C 721.985 1763.722 723.582 1762.789 725.168 1761.843 Z M 403.538 1760.932 L 366.456 1825.159 L 361.653 1822.386 L 398.802 1758.042 C 400.372 1759.019 401.951 1759.982 403.538 1760.932 Z M 289.58 1642.689 L 221.35 1682.082 L 218.577 1677.279 L 286.944 1637.807 C 287.807 1639.437 288.685 1641.065 289.58 1642.689 Z M 294.354 1332.168 L 218.576 1288.417 L 221.35 1283.614 L 297.213 1327.414 C 296.246 1328.99 295.293 1330.575 294.354 1332.168 Z M 406.079 1220.259 L 361.653 1143.311 L 366.457 1140.537 L 410.889 1217.495 C 409.276 1218.403 407.673 1219.324 406.079 1220.259 Z" style="fill: rgb(64, 40, 0); stroke: none;" bx:origin="0 0"/> + </g> + </g> + <rect x="429.367" y="425.979" width="20.003" height="21.735" style="display: inline; opacity: 1; fill: rgb(80, 150, 200); fill-opacity: 1; stroke: none; stroke-width: 34.9; stroke-miterlimit: 4; stroke-dasharray: none; stroke-dashoffset: 0; stroke-opacity: 0.996078;" id="path-91" transform="matrix(1, 0, 0, 0.999999, -301.377075, -219.498434)"/> + <rect x="446.853" y="25.462" width="25.99" height="25.99" style="display: inline; opacity: 1; fill: rgb(80, 150, 200); fill-opacity: 1; stroke: none; stroke-width: 34.9; stroke-miterlimit: 4; stroke-dasharray: none; stroke-dashoffset: 0; stroke-opacity: 0.996078;" id="path-93"/> + <rect x="-135.956" y="605.141" width="39.851" height="39.851" style="display: inline; opacity: 1; fill: rgb(80, 150, 200); fill-opacity: 1; stroke: none; stroke-width: 34.9; stroke-miterlimit: 4; stroke-dasharray: none; stroke-dashoffset: 0; stroke-opacity: 0.996078;" id="path-94" transform="matrix(0.999999, 0, 0, 1, 846.176756, -394.956024)"/> + <rect x="225.779" y="689.836" width="25.99" height="25.99" style="display: inline; opacity: 1; fill: rgb(80, 150, 200); fill-opacity: 1; stroke: none; stroke-width: 34.9; stroke-miterlimit: 4; stroke-dasharray: none; stroke-dashoffset: 0; stroke-opacity: 0.996078;" id="path-95"/> + <rect x="594.013" y="737.142" width="20.792" height="22.525" style="display: inline; opacity: 1; fill: rgb(80, 150, 200); fill-opacity: 1; stroke: none; stroke-width: 34.9; stroke-miterlimit: 4; stroke-dasharray: none; stroke-dashoffset: 0; stroke-opacity: 0.996078;" id="path-96"/> + <rect x="387.235" y="479.397" width="25.99" height="25.99" style="display: inline; opacity: 1; fill: rgb(80, 150, 200); fill-opacity: 1; stroke: none; stroke-width: 34.9; stroke-miterlimit: 4; stroke-dasharray: none; stroke-dashoffset: 0; stroke-opacity: 0.996078;" id="path-98" transform="matrix(1.000001, 0, 0, 0.999999, 365.274966, 79.295241)"/> + <rect x="421.962" y="775.937" width="32.92" height="34.653" style="display: inline; opacity: 1; fill: rgb(80, 150, 200); fill-opacity: 1; stroke: none; stroke-width: 34.9; stroke-miterlimit: 4; stroke-dasharray: none; stroke-dashoffset: 0; stroke-opacity: 0.996078;" id="path-99"/> + <rect x="-66.939" y="-568.978" width="20.867" height="20.792" style="display: inline; opacity: 1; fill: rgb(80, 150, 200); fill-opacity: 1; stroke: none; stroke-width: 34.9; stroke-miterlimit: 4; stroke-dasharray: none; stroke-dashoffset: 0; stroke-opacity: 0.996078;" id="path-101" transform="matrix(-1, 0, 0, 0.999997, 31.356928, 984.736306)"/> + </g> + <path d="M 154.526 230.66 C 148.801 230.66 144.279 232.568 140.962 236.383 C 137.648 240.195 135.992 245.417 135.992 252.046 C 135.992 258.863 137.591 264.13 140.785 267.849 C 143.981 271.567 148.536 273.426 154.453 273.426 C 158.086 273.426 162.232 272.773 166.892 271.468 L 166.892 276.778 C 163.279 278.133 158.825 278.808 153.528 278.808 C 145.853 278.808 139.929 276.482 135.761 271.827 C 131.59 267.167 129.502 260.55 129.502 251.972 C 129.502 246.604 130.507 241.899 132.519 237.862 C 134.526 233.823 137.424 230.71 141.21 228.524 C 145.002 226.339 149.463 225.247 154.593 225.247 C 160.06 225.247 164.835 226.243 168.924 228.238 L 166.356 233.439 C 162.411 231.586 158.469 230.66 154.526 230.66 Z M 193.468 278.808 C 187.692 278.808 183.136 277.051 179.799 273.535 C 176.462 270.021 174.794 265.137 174.794 258.889 C 174.794 252.592 176.342 247.588 179.44 243.883 C 182.542 240.176 186.707 238.323 191.933 238.323 C 196.829 238.323 200.701 239.934 203.552 243.154 C 206.403 246.374 207.828 250.621 207.828 255.895 L 207.828 259.636 L 180.925 259.636 C 181.043 264.224 182.2 267.704 184.398 270.081 C 186.596 272.458 189.69 273.646 193.679 273.646 C 197.885 273.646 202.044 272.763 206.155 271.006 L 206.155 276.279 C 204.063 277.183 202.084 277.832 200.219 278.225 C 198.357 278.615 196.108 278.808 193.468 278.808 M 191.861 243.275 C 188.726 243.275 186.227 244.296 184.362 246.341 C 182.497 248.383 181.397 251.212 181.065 254.826 L 201.489 254.826 C 201.489 251.096 200.657 248.238 198.991 246.256 C 197.327 244.268 194.952 243.275 191.861 243.275 Z M 242.758 267.44 C 242.758 271.078 241.402 273.882 238.695 275.852 C 235.986 277.824 232.184 278.808 227.289 278.808 C 222.11 278.808 218.072 277.99 215.173 276.352 L 215.173 270.866 C 217.05 271.815 219.063 272.563 221.213 273.11 C 223.362 273.653 225.434 273.924 227.43 273.924 C 230.519 273.924 232.895 273.431 234.558 272.447 C 236.221 271.462 237.052 269.959 237.052 267.939 C 237.052 266.419 236.392 265.118 235.076 264.035 C 233.757 262.956 231.185 261.68 227.362 260.209 C 223.725 258.853 221.141 257.673 219.607 256.662 C 218.074 255.652 216.935 254.506 216.189 253.219 C 215.437 251.938 215.064 250.407 215.064 248.621 C 215.064 245.437 216.36 242.927 218.951 241.085 C 221.537 239.245 225.089 238.323 229.607 238.323 C 233.812 238.323 237.923 239.179 241.937 240.892 L 239.832 245.701 C 235.915 244.084 232.362 243.275 229.175 243.275 C 226.373 243.275 224.258 243.715 222.831 244.594 C 221.407 245.475 220.697 246.688 220.697 248.232 C 220.697 249.277 220.963 250.168 221.499 250.902 C 222.035 251.639 222.895 252.342 224.085 253.006 C 225.267 253.672 227.548 254.636 230.926 255.895 C 235.558 257.583 238.685 259.278 240.313 260.986 C 241.942 262.699 242.758 264.849 242.758 267.44 Z M 257.991 278.097 L 252.074 278.097 L 252.074 239.036 L 257.991 239.036 L 257.991 278.097 M 251.574 228.451 C 251.574 227.097 251.907 226.106 252.572 225.477 C 253.237 224.844 254.067 224.528 255.065 224.528 C 256.019 224.528 256.841 224.851 257.529 225.495 C 258.218 226.135 258.563 227.121 258.563 228.451 C 258.563 229.781 258.218 230.773 257.529 231.426 C 256.841 232.079 256.019 232.405 255.065 232.405 C 254.067 232.405 253.237 232.079 252.572 231.426 C 251.907 230.773 251.574 229.781 251.574 228.451 Z M 275.933 239.036 L 275.933 264.375 C 275.933 267.558 276.658 269.935 278.109 271.504 C 279.558 273.073 281.828 273.858 284.918 273.858 C 289.004 273.858 291.991 272.741 293.881 270.507 C 295.769 268.273 296.712 264.625 296.712 259.564 L 296.712 239.036 L 302.63 239.036 L 302.63 278.097 L 297.745 278.097 L 296.893 272.861 L 296.57 272.861 C 295.359 274.782 293.679 276.254 291.529 277.277 C 289.38 278.298 286.926 278.808 284.169 278.808 C 279.417 278.808 275.858 277.682 273.493 275.428 C 271.13 273.169 269.947 269.556 269.947 264.588 L 269.947 239.036 L 275.933 239.036 Z M 364.573 278.097 L 364.573 252.685 C 364.573 249.573 363.909 247.241 362.578 245.682 C 361.248 244.126 359.18 243.347 356.374 243.347 C 352.692 243.347 349.971 244.406 348.211 246.522 C 346.455 248.636 345.577 251.891 345.577 256.286 L 345.577 278.097 L 339.66 278.097 L 339.66 252.685 C 339.66 249.573 338.993 247.241 337.664 245.682 C 336.335 244.126 334.255 243.347 331.429 243.347 C 327.722 243.347 325.008 244.458 323.284 246.681 C 321.56 248.903 320.7 252.546 320.7 257.606 L 320.7 278.097 L 314.781 278.097 L 314.781 239.036 L 319.593 239.036 L 320.554 244.382 L 320.84 244.382 C 321.958 242.479 323.535 240.997 325.566 239.93 C 327.598 238.86 329.872 238.323 332.391 238.323 C 338.497 238.323 342.49 240.533 344.367 244.954 L 344.647 244.954 C 345.815 242.909 347.501 241.294 349.707 240.106 C 351.918 238.918 354.438 238.323 357.269 238.323 C 361.684 238.323 364.991 239.46 367.189 241.731 C 369.387 243.997 370.485 247.625 370.485 252.618 L 370.485 278.097 L 364.573 278.097 Z" style="text-transform: none; fill: rgb(64, 40, 0); isolation: auto; opacity: 1;" bx:origin="0.5 0.5"/> +</svg> \ No newline at end of file diff --git a/src/assets/img/logo_128px.png b/src/assets/img/logo_128px.png new file mode 100644 index 0000000000000000000000000000000000000000..295d17aff561b02c0841edc3656453bd874fd9fb GIT binary patch literal 13373 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 C{}F2d literal 0 HcmV?d00001 diff --git a/src/assets/img/logo_144px.png b/src/assets/img/logo_144px.png new file mode 100644 index 0000000000000000000000000000000000000000..bc41a22fdbf809e58572c60ced858a5f78c9ee03 GIT binary patch literal 15666 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 literal 0 HcmV?d00001 diff --git a/src/assets/img/logo_200px.png b/src/assets/img/logo_200px.png new file mode 100644 index 0000000000000000000000000000000000000000..5b3c183ad58adca9345cd22205bec01511630143 GIT binary patch literal 23440 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 II;Vst0D;ecB>(^b literal 0 HcmV?d00001 diff --git a/src/assets/img/logo_32px.png b/src/assets/img/logo_32px.png new file mode 100644 index 0000000000000000000000000000000000000000..305e647fc6a4a8bb4803313eb105be2db22c5778 GIT binary patch literal 2278 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 CGdeN= literal 0 HcmV?d00001 diff --git a/src/assets/img/logo_57px.png b/src/assets/img/logo_57px.png new file mode 100644 index 0000000000000000000000000000000000000000..4adb392cbe5cf91b106c79dd1fd341fa2d0aeee7 GIT binary patch literal 5021 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 literal 0 HcmV?d00001 diff --git a/src/assets/img/logo_60px.png b/src/assets/img/logo_60px.png new file mode 100644 index 0000000000000000000000000000000000000000..9a284d5d8ea2ed6a2013fadf6b5724d7729c6b0e GIT binary patch literal 5358 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 literal 0 HcmV?d00001 diff --git a/src/assets/img/logo_96px.png b/src/assets/img/logo_96px.png new file mode 100644 index 0000000000000000000000000000000000000000..d68ee9c288a901a1d4c0731521029cdd3cfcede0 GIT binary patch literal 9876 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 Pz`)??>gTe~DWM4faOF>2 literal 0 HcmV?d00001 diff --git a/src/assets/img/logo_duniter_32px.png b/src/assets/img/logo_duniter_32px.png new file mode 100644 index 0000000000000000000000000000000000000000..a6205fd125dc72581df1cfed72e39ec60c067d08 GIT binary patch literal 1524 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 literal 0 HcmV?d00001 diff --git a/src/assets/img/logo_g1_32px.png b/src/assets/img/logo_g1_32px.png new file mode 100644 index 0000000000000000000000000000000000000000..bebaffe9cf2961e2a634a4d7e0af2e6baf9f7a06 GIT binary patch literal 2560 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 literal 0 HcmV?d00001 diff --git a/src/assets/img/logo_g1_32px_black.png b/src/assets/img/logo_g1_32px_black.png new file mode 100644 index 0000000000000000000000000000000000000000..e9af8d7790043277aa479c221159a5031a0474d9 GIT binary patch literal 630 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}Y)RhkE)4%caKYZ?lNlHo zI14-?iy0VruY)k7lg8`{1_lQ95>H=O_J<teTvA$H#UFMvFfcKDx;TbJ96oyee7A3+ z1p9~cJ%(Hpd(svvYA?=^Fy1t=H^^*~{L|w>{}{QKddz5@+j=x5(NJ46T9bRCL7ld} zo0nJ#r>5Auz3UP``_0XJe#iRx-sf@twx#Ea&;733fBv)G`Qmxbbu;^wU-;b+OJ2@* zB5Kcpc$-6obB^s!u<oB%CKS=Wo>9m5{-XVN10y=MSEw}9C(3w#%DZ-zX<}<cuhhK- zGMhbl8X0qr3;Z(Z6_R^wwQsxjm%}^S?0Jh8G<in^suYO(Jt}8@Q1!Rb*|jnL4C9<D znKHRk4{Y@Kpwbz;(bJ+Mea7@pZ*0|^zMVf<C3EHlWB5k(W4}*J%FX3nkeO;ZvEsXB z*^#z7%~hH#=gumn>$R}F$$R?d`_hK#7otmY(>KbTvY3>$oI}TZqwm(myHf>MEWIIS za$@?*$SF^nZCLD<+;B6#_g8Gw-{OfAZ%%vUD0y0XjpV`eY=Se+I49&Cdr)Y-*zoL$ ze~UN{tnBHPYdaUNA3f{Ip}%|9Rs_!Y&t^2w{^;p~y@J`ZEKEAjRxaMKHSbH7>-(oG zn<RINo-<9m^Q%cXu}{Fm<+R$Ka}VFjuHnl5&L&hIt$Q|3hL2a3cT1P_jk%k?IjmT4 zXxXE>91h*xP5l*DQxs&6O<olJGvUI2rR2^J^Iw`&_{UaGOa9N9ynLFJo$5Pp$@mM~ jPHE(^$#&j-B0n+w^@o+G9=~N^U|{fc^>bP0l+XkKLu48c literal 0 HcmV?d00001 diff --git a/src/assets/img/logo_tor_32px.png b/src/assets/img/logo_tor_32px.png new file mode 100644 index 0000000000000000000000000000000000000000..173765be30b5aef7cf2965f3e47b6026df7226ca GIT binary patch literal 2218 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 literal 0 HcmV?d00001 diff --git a/src/assets/img/person.png b/src/assets/img/person.png new file mode 100644 index 0000000000000000000000000000000000000000..c7da1ece9ad5056d5863b8e5a13f6e60ef96d7e7 GIT binary patch literal 1754 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 J%Q~loCID4~03HAU literal 0 HcmV?d00001 diff --git a/src/assets/img/search-icon-mobile.png b/src/assets/img/search-icon-mobile.png new file mode 100644 index 0000000000000000000000000000000000000000..920fa27585cee993fe284a272c38f1a5a724cc09 GIT binary patch literal 3959 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 Q3smBHy85}Sb4q9e07#aWu>b%7 literal 0 HcmV?d00001 diff --git a/src/assets/img/splash.png b/src/assets/img/splash.png new file mode 100644 index 0000000000000000000000000000000000000000..1ba82fcde6981d43e16c90293097932504c58875 GIT binary patch literal 175632 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	Qvaj~H##FE8HFw|K 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�iem({#P}Xirt*D}Hun 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%0A5C*L*;4h{z08DL}M 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 literal 0 HcmV?d00001 diff --git a/src/environments/environment.class.ts b/src/environments/environment.class.ts index 138bf13..fd9ab0d 100644 --- a/src/environments/environment.class.ts +++ b/src/environments/environment.class.ts @@ -1,9 +1,30 @@ -import {Peer} from "@app/model/settings.model"; +import {AuthData} from "@app/auth/auth.model"; +import {StorageConfig} from '@ionic/storage'; export interface Environment { name: string; version?: string; production: boolean; - defaultPeers: Peer[]; + // Default values + baseUrl?: string; + defaultLocale: string; + defaultPeers: string[]; + + // Storage + storage?: Partial<StorageConfig>; + + keyring: { + // default address format (e.g. 42 for development) + ss58Format: number; + }, + + // /!\ For DEV only + dev: { + // Default peer + peer?: string; + + // Default authentication + auth?: AuthData; + } } diff --git a/src/environments/environment.prod.ts b/src/environments/environment.prod.ts index 3420981..cfebbcf 100644 --- a/src/environments/environment.prod.ts +++ b/src/environments/environment.prod.ts @@ -1,15 +1,19 @@ import {Environment} from "./environment.class"; -import {Peer} from "@polkadot/types/interfaces"; export const environment = <Environment>{ production: true, name: 'Cesium2', - // TODO: use production peers + defaultLocale: 'fr', + + // Storage + storage: { + driverOrder: ['sqlite', 'indexeddb', 'websql', 'localstorage'] + }, + defaultPeers: [ - { - host: 'localhost', - port: 9944 - } + /* GDev public endpoints */ + 'wss://gdev.komun.org/ws', + 'wss://1000i100.fr/ws' ] }; diff --git a/src/environments/environment.ts b/src/environments/environment.ts index c9c26f2..ac49644 100644 --- a/src/environments/environment.ts +++ b/src/environments/environment.ts @@ -8,20 +8,31 @@ export const environment = <Environment>{ production: false, name: 'Cesium2', - defaultPeers: [ - { - host: 'localhost', - port: 9944 + defaultLocale: 'fr', + + // Storage + storage: { + name: 'decsium-dev', + driverOrder: ['sqlite', 'indexeddb', 'websql', 'localstorage'] + }, + + keyring: { + ss58Format: 42 // dev + }, + + dev: { + //peer: 'ws://localhost:9944', + peer: 'wss://gdev.komun.org/ws', + + auth: { + username: 'abc', password: 'def' } + }, + + defaultPeers: [ + 'ws://localhost:9944/ws', + /* GDev endpoints */ + 'wss://gdev.komun.org/ws', + 'wss://1000i100.fr/ws' ] }; - -/* - * For easier debugging in development mode, you can import the following file - * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`. - * - * This import should be commented out in production mode because it will have a negative impact - * on performance if an error is thrown. - */ -import 'zone.js/dist/zone-error'; -import {Peer} from "@polkadot/types/interfaces"; // Included with Angular CLI. diff --git a/src/index.html b/src/index.html index 3b0aae1..fdaf1ef 100644 --- a/src/index.html +++ b/src/index.html @@ -3,7 +3,7 @@ <head> <meta charset="utf-8" /> - <title>Ionic App</title> + <title>Cesium√2</title> <base href="/" /> @@ -12,7 +12,7 @@ <meta name="format-detection" content="telephone=no" /> <meta name="msapplication-tap-highlight" content="no" /> - <link rel="icon" type="image/png" href="assets/icon/favicon.png" /> + <link rel="icon" type="image/ico" href="assets/icon/favicon.ico" /> <!-- add to homescreen for ios --> <meta name="apple-mobile-web-app-capable" content="yes" /> diff --git a/src/interfaces/augment-api-consts.ts b/src/interfaces/augment-api-consts.ts new file mode 100644 index 0000000..92d9b11 --- /dev/null +++ b/src/interfaces/augment-api-consts.ts @@ -0,0 +1,472 @@ +// Auto-generated via `yarn polkadot-types-from-chain`, do not edit +/* eslint-disable */ + +import type { ApiTypes } from '@polkadot/api-base/types'; +import type { Option, Vec, u16, u32, u64, u8 } from '@polkadot/types-codec'; +import type { Codec } from '@polkadot/types-codec/types'; +import type { Perbill, Permill } from '@polkadot/types/interfaces/runtime'; +import type { FrameSupportPalletId, FrameSupportWeightsRuntimeDbWeight, FrameSupportWeightsWeightToFeeCoefficient, FrameSystemLimitsBlockLength, FrameSystemLimitsBlockWeights, SpVersionRuntimeVersion } from '@polkadot/types/lookup'; + +declare module '@polkadot/api-base/types/consts' { + export interface AugmentedConsts<ApiType extends ApiTypes> { + atomicSwap: { + /** + * Limit of proof size. + * + * Atomic swap is only atomic if once the proof is revealed, both parties can submit the + * proofs on-chain. If A is the one that generates the proof, then it requires that either: + * - A's blockchain has the same proof length limit as B's blockchain. + * - Or A's blockchain has shorter proof length limit as B's blockchain. + * + * If B sees A is on a blockchain with larger proof length limit, then it should kindly + * refuse to accept the atomic swap request if A generates the proof, and asks that B + * generates the proof instead. + **/ + proofLimit: u32 & AugmentedConst<ApiType>; + /** + * Generic const + **/ + [key: string]: Codec; + }; + authorityMembers: { + /** + * Max number of authorities allowed + **/ + maxAuthorities: u32 & AugmentedConst<ApiType>; + maxKeysLife: u32 & AugmentedConst<ApiType>; + maxOfflineSessions: u32 & AugmentedConst<ApiType>; + /** + * Generic const + **/ + [key: string]: Codec; + }; + authorship: { + /** + * The number of blocks back we should accept uncles. + * This means that we will deal with uncle-parents that are + * `UncleGenerations + 1` before `now`. + **/ + uncleGenerations: u32 & AugmentedConst<ApiType>; + /** + * Generic const + **/ + [key: string]: Codec; + }; + babe: { + /** + * The amount of time, in slots, that each epoch should last. + * NOTE: Currently it is not possible to change the epoch duration after + * the chain has started. Attempting to do so will brick block production. + **/ + epochDuration: u64 & AugmentedConst<ApiType>; + /** + * The expected average block time at which BABE should be creating + * blocks. Since BABE is probabilistic it is not trivial to figure out + * what the expected average block time should be based on the slot + * duration and the security parameter `c` (where `1 - c` represents + * the probability of a slot being empty). + **/ + expectedBlockTime: u64 & AugmentedConst<ApiType>; + /** + * Max number of authorities allowed + **/ + maxAuthorities: u32 & AugmentedConst<ApiType>; + /** + * Generic const + **/ + [key: string]: Codec; + }; + balances: { + /** + * The minimum amount required to keep an account open. + **/ + existentialDeposit: u64 & AugmentedConst<ApiType>; + /** + * The maximum number of locks that should exist on an account. + * Not strictly enforced, but used for weight estimation. + **/ + maxLocks: u32 & AugmentedConst<ApiType>; + /** + * The maximum number of named reserves that can exist on an account. + **/ + maxReserves: u32 & AugmentedConst<ApiType>; + /** + * Generic const + **/ + [key: string]: Codec; + }; + cert: { + /** + * Minimum duration between two certifications issued by the same issuer + **/ + certPeriod: u32 & AugmentedConst<ApiType>; + /** + * Duration after which a certification is renewable + **/ + certRenewablePeriod: u32 & AugmentedConst<ApiType>; + /** + * Maximum number of active certifications by issuer + **/ + maxByIssuer: u32 & AugmentedConst<ApiType>; + /** + * Duration of validity of a certification + **/ + validityPeriod: u32 & AugmentedConst<ApiType>; + /** + * Generic const + **/ + [key: string]: Codec; + }; + grandpa: { + /** + * Max Authorities in use + **/ + maxAuthorities: u32 & AugmentedConst<ApiType>; + /** + * Generic const + **/ + [key: string]: Codec; + }; + identity: { + /** + * Period during which the owner can confirm the new identity. + **/ + confirmPeriod: u32 & AugmentedConst<ApiType>; + /** + * Generic const + **/ + [key: string]: Codec; + }; + imOnline: { + /** + * A configuration for base priority of unsigned transactions. + * + * This is exposed so that it can be tuned for particular runtime, when + * multiple pallets send unsigned transactions. + **/ + unsignedPriority: u64 & AugmentedConst<ApiType>; + /** + * Generic const + **/ + [key: string]: Codec; + }; + membership: { + /** + * Maximum life span of a non-renewable membership (in number of blocks) + **/ + membershipPeriod: u32 & AugmentedConst<ApiType>; + /** + * Maximum period (in number of blocks), where an identity can remain pending subscription. + **/ + pendingMembershipPeriod: u32 & AugmentedConst<ApiType>; + /** + * Duration after which a membership is renewable + **/ + renewablePeriod: u32 & AugmentedConst<ApiType>; + /** + * Minimum duration (in number of blocks between a revocation and a new entry request + **/ + revocationPeriod: u32 & AugmentedConst<ApiType>; + /** + * Generic const + **/ + [key: string]: Codec; + }; + multisig: { + /** + * The base amount of currency needed to reserve for creating a multisig execution or to + * store a dispatch call for later. + * + * This is held for an additional storage item whose value size is + * `4 + sizeof((BlockNumber, Balance, AccountId))` bytes and whose key size is + * `32 + sizeof(AccountId)` bytes. + **/ + depositBase: u64 & AugmentedConst<ApiType>; + /** + * The amount of currency needed per unit threshold when creating a multisig execution. + * + * This is held for adding 32 bytes more into a pre-existing storage value. + **/ + depositFactor: u64 & AugmentedConst<ApiType>; + /** + * The maximum amount of signatories allowed in the multisig. + **/ + maxSignatories: u16 & AugmentedConst<ApiType>; + /** + * Generic const + **/ + [key: string]: Codec; + }; + provideRandomness: { + /** + * Maximum number of not yet filled requests + **/ + maxRequests: u32 & AugmentedConst<ApiType>; + /** + * The price of a request + **/ + requestPrice: u64 & AugmentedConst<ApiType>; + /** + * Generic const + **/ + [key: string]: Codec; + }; + proxy: { + /** + * The base amount of currency needed to reserve for creating an announcement. + * + * This is held when a new storage item holding a `Balance` is created (typically 16 + * bytes). + **/ + announcementDepositBase: u64 & AugmentedConst<ApiType>; + /** + * The amount of currency needed per announcement made. + * + * This is held for adding an `AccountId`, `Hash` and `BlockNumber` (typically 68 bytes) + * into a pre-existing storage value. + **/ + announcementDepositFactor: u64 & AugmentedConst<ApiType>; + /** + * The maximum amount of time-delayed announcements that are allowed to be pending. + **/ + maxPending: u32 & AugmentedConst<ApiType>; + /** + * The maximum amount of proxies allowed for a single account. + **/ + maxProxies: u32 & AugmentedConst<ApiType>; + /** + * The base amount of currency needed to reserve for creating a proxy. + * + * This is held for an additional storage item whose value size is + * `sizeof(Balance)` bytes and whose key size is `sizeof(AccountId)` bytes. + **/ + proxyDepositBase: u64 & AugmentedConst<ApiType>; + /** + * The amount of currency needed per proxy added. + * + * This is held for adding 32 bytes plus an instance of `ProxyType` more into a + * pre-existing storage value. Thus, when configuring `ProxyDepositFactor` one should take + * into account `32 + proxy_type.encode().len()` bytes of data. + **/ + proxyDepositFactor: u64 & AugmentedConst<ApiType>; + /** + * Generic const + **/ + [key: string]: Codec; + }; + scheduler: { + /** + * The maximum weight that may be scheduled per block for any dispatchables of less + * priority than `schedule::HARD_DEADLINE`. + **/ + maximumWeight: u64 & AugmentedConst<ApiType>; + /** + * The maximum number of scheduled calls in the queue for a single block. + * Not strictly enforced, but used for weight estimation. + **/ + maxScheduledPerBlock: u32 & AugmentedConst<ApiType>; + /** + * Generic const + **/ + [key: string]: Codec; + }; + smithsCert: { + /** + * Minimum duration between two certifications issued by the same issuer + **/ + certPeriod: u32 & AugmentedConst<ApiType>; + /** + * Duration after which a certification is renewable + **/ + certRenewablePeriod: u32 & AugmentedConst<ApiType>; + /** + * Maximum number of active certifications by issuer + **/ + maxByIssuer: u32 & AugmentedConst<ApiType>; + /** + * Duration of validity of a certification + **/ + validityPeriod: u32 & AugmentedConst<ApiType>; + /** + * Generic const + **/ + [key: string]: Codec; + }; + smithsMembership: { + /** + * Maximum life span of a non-renewable membership (in number of blocks) + **/ + membershipPeriod: u32 & AugmentedConst<ApiType>; + /** + * Maximum period (in number of blocks), where an identity can remain pending subscription. + **/ + pendingMembershipPeriod: u32 & AugmentedConst<ApiType>; + /** + * Duration after which a membership is renewable + **/ + renewablePeriod: u32 & AugmentedConst<ApiType>; + /** + * Minimum duration (in number of blocks between a revocation and a new entry request + **/ + revocationPeriod: u32 & AugmentedConst<ApiType>; + /** + * Generic const + **/ + [key: string]: Codec; + }; + system: { + /** + * Maximum number of block number to block hash mappings to keep (oldest pruned first). + **/ + blockHashCount: u32 & AugmentedConst<ApiType>; + /** + * The maximum length of a block (in bytes). + **/ + blockLength: FrameSystemLimitsBlockLength & AugmentedConst<ApiType>; + /** + * Block & extrinsics weights: base values and limits. + **/ + blockWeights: FrameSystemLimitsBlockWeights & AugmentedConst<ApiType>; + /** + * The weight of runtime database operations the runtime can invoke. + **/ + dbWeight: FrameSupportWeightsRuntimeDbWeight & AugmentedConst<ApiType>; + /** + * The designated SS85 prefix of this chain. + * + * This replaces the "ss58Format" property declared in the chain spec. Reason is + * that the runtime should know about the prefix in order to make use of it as + * an identifier of the chain. + **/ + ss58Prefix: u16 & AugmentedConst<ApiType>; + /** + * Get the chain's current version. + **/ + version: SpVersionRuntimeVersion & AugmentedConst<ApiType>; + /** + * Generic const + **/ + [key: string]: Codec; + }; + timestamp: { + /** + * The minimum period between blocks. Beware that this is different to the *expected* + * period that the block production apparatus provides. Your chosen consensus system will + * generally work with this to determine a sensible block time. e.g. For Aura, it will be + * double this period on default settings. + **/ + minimumPeriod: u64 & AugmentedConst<ApiType>; + /** + * Generic const + **/ + [key: string]: Codec; + }; + transactionPayment: { + /** + * A fee mulitplier for `Operational` extrinsics to compute "virtual tip" to boost their + * `priority` + * + * This value is multipled by the `final_fee` to obtain a "virtual tip" that is later + * added to a tip component in regular `priority` calculations. + * It means that a `Normal` transaction can front-run a similarly-sized `Operational` + * extrinsic (with no tip), by including a tip value greater than the virtual tip. + * + * ```rust,ignore + * // For `Normal` + * let priority = priority_calc(tip); + * + * // For `Operational` + * let virtual_tip = (inclusion_fee + tip) * OperationalFeeMultiplier; + * let priority = priority_calc(tip + virtual_tip); + * ``` + * + * Note that since we use `final_fee` the multiplier applies also to the regular `tip` + * sent with the transaction. So, not only does the transaction get a priority bump based + * on the `inclusion_fee`, but we also amplify the impact of tips applied to `Operational` + * transactions. + **/ + operationalFeeMultiplier: u8 & AugmentedConst<ApiType>; + /** + * The fee to be paid for making a transaction; the per-byte portion. + **/ + transactionByteFee: u64 & AugmentedConst<ApiType>; + /** + * The polynomial that is applied in order to derive fee from weight. + **/ + weightToFee: Vec<FrameSupportWeightsWeightToFeeCoefficient> & AugmentedConst<ApiType>; + /** + * Generic const + **/ + [key: string]: Codec; + }; + treasury: { + /** + * Percentage of spare funds (if any) that are burnt per spend period. + **/ + burn: Permill & AugmentedConst<ApiType>; + /** + * The maximum number of approvals that can wait in the spending queue. + **/ + maxApprovals: u32 & AugmentedConst<ApiType>; + /** + * The treasury's pallet id, used for deriving its sovereign account ID. + **/ + palletId: FrameSupportPalletId & AugmentedConst<ApiType>; + /** + * Fraction of a proposal's value that should be bonded in order to place the proposal. + * An accepted proposal gets these back. A rejected proposal does not. + **/ + proposalBond: Permill & AugmentedConst<ApiType>; + /** + * Maximum amount of funds that should be placed in a deposit for making a proposal. + **/ + proposalBondMaximum: Option<u64> & AugmentedConst<ApiType>; + /** + * Minimum amount of funds that should be placed in a deposit for making a proposal. + **/ + proposalBondMinimum: u64 & AugmentedConst<ApiType>; + /** + * Period between successive spends. + **/ + spendPeriod: u32 & AugmentedConst<ApiType>; + /** + * Generic const + **/ + [key: string]: Codec; + }; + universalDividend: { + /** + * Square of the money growth rate per ud reevaluation period + **/ + squareMoneyGrowthRate: Perbill & AugmentedConst<ApiType>; + /** + * Universal dividend creation period + **/ + udCreationPeriod: u32 & AugmentedConst<ApiType>; + /** + * Universal dividend reevaluation period (in number of blocks) + **/ + udReevalPeriod: u32 & AugmentedConst<ApiType>; + /** + * The number of units to divide the amounts expressed in number of UDs + * Example: If you wish to express the UD amounts with a maximum precision of the order + * of the milliUD, choose 1000 + **/ + unitsPerUd: u64 & AugmentedConst<ApiType>; + /** + * Generic const + **/ + [key: string]: Codec; + }; + utility: { + /** + * The limit on the number of batched calls. + **/ + batchedCallsLimit: u32 & AugmentedConst<ApiType>; + /** + * Generic const + **/ + [key: string]: Codec; + }; + } // AugmentedConsts +} // declare module diff --git a/src/interfaces/augment-api-errors.ts b/src/interfaces/augment-api-errors.ts new file mode 100644 index 0000000..c5bd396 --- /dev/null +++ b/src/interfaces/augment-api-errors.ts @@ -0,0 +1,813 @@ +// Auto-generated via `yarn polkadot-types-from-chain`, do not edit +/* eslint-disable */ + +import type { ApiTypes } from '@polkadot/api-base/types'; + +declare module '@polkadot/api-base/types/errors' { + export interface AugmentedErrors<ApiType extends ApiTypes> { + atomicSwap: { + /** + * Swap has already been claimed. + **/ + AlreadyClaimed: AugmentedError<ApiType>; + /** + * Swap already exists. + **/ + AlreadyExist: AugmentedError<ApiType>; + /** + * Claim action mismatch. + **/ + ClaimActionMismatch: AugmentedError<ApiType>; + /** + * Duration has not yet passed for the swap to be cancelled. + **/ + DurationNotPassed: AugmentedError<ApiType>; + /** + * Swap proof is invalid. + **/ + InvalidProof: AugmentedError<ApiType>; + /** + * Swap does not exist. + **/ + NotExist: AugmentedError<ApiType>; + /** + * Proof is too large. + **/ + ProofTooLarge: AugmentedError<ApiType>; + /** + * Source does not match. + **/ + SourceMismatch: AugmentedError<ApiType>; + /** + * Generic error + **/ + [key: string]: AugmentedError<ApiType>; + }; + authorityMembers: { + /** + * Already incoming + **/ + AlreadyIncoming: AugmentedError<ApiType>; + /** + * Already online + **/ + AlreadyOnline: AugmentedError<ApiType>; + /** + * Already outgoing + **/ + AlreadyOutgoing: AugmentedError<ApiType>; + /** + * Not found owner key + **/ + MemberIdNotFound: AugmentedError<ApiType>; + /** + * Member not found + **/ + MemberNotFound: AugmentedError<ApiType>; + /** + * Not member + **/ + NotMember: AugmentedError<ApiType>; + /** + * Neither online nor scheduled + **/ + NotOnlineNorIncoming: AugmentedError<ApiType>; + /** + * Not owner + **/ + NotOwner: AugmentedError<ApiType>; + /** + * Session keys not provided + **/ + SessionKeysNotProvided: AugmentedError<ApiType>; + /** + * Too man aAuthorities + **/ + TooManyAuthorities: AugmentedError<ApiType>; + /** + * Generic error + **/ + [key: string]: AugmentedError<ApiType>; + }; + authorship: { + /** + * The uncle is genesis. + **/ + GenesisUncle: AugmentedError<ApiType>; + /** + * The uncle parent not in the chain. + **/ + InvalidUncleParent: AugmentedError<ApiType>; + /** + * The uncle isn't recent enough to be included. + **/ + OldUncle: AugmentedError<ApiType>; + /** + * The uncle is too high in chain. + **/ + TooHighUncle: AugmentedError<ApiType>; + /** + * Too many uncles. + **/ + TooManyUncles: AugmentedError<ApiType>; + /** + * The uncle is already included. + **/ + UncleAlreadyIncluded: AugmentedError<ApiType>; + /** + * Uncles already set in the block. + **/ + UnclesAlreadySet: AugmentedError<ApiType>; + /** + * Generic error + **/ + [key: string]: AugmentedError<ApiType>; + }; + babe: { + /** + * A given equivocation report is valid but already previously reported. + **/ + DuplicateOffenceReport: AugmentedError<ApiType>; + /** + * An equivocation proof provided as part of an equivocation report is invalid. + **/ + InvalidEquivocationProof: AugmentedError<ApiType>; + /** + * A key ownership proof provided as part of an equivocation report is invalid. + **/ + InvalidKeyOwnershipProof: AugmentedError<ApiType>; + /** + * Generic error + **/ + [key: string]: AugmentedError<ApiType>; + }; + balances: { + /** + * Beneficiary account must pre-exist + **/ + DeadAccount: AugmentedError<ApiType>; + /** + * Value too low to create account due to existential deposit + **/ + ExistentialDeposit: AugmentedError<ApiType>; + /** + * A vesting schedule already exists for this account + **/ + ExistingVestingSchedule: AugmentedError<ApiType>; + /** + * Balance too low to send value + **/ + InsufficientBalance: AugmentedError<ApiType>; + /** + * Transfer/payment would kill account + **/ + KeepAlive: AugmentedError<ApiType>; + /** + * Account liquidity restrictions prevent withdrawal + **/ + LiquidityRestrictions: AugmentedError<ApiType>; + /** + * Number of named reserves exceed MaxReserves + **/ + TooManyReserves: AugmentedError<ApiType>; + /** + * Vesting balance too high to send value + **/ + VestingBalance: AugmentedError<ApiType>; + /** + * Generic error + **/ + [key: string]: AugmentedError<ApiType>; + }; + cert: { + /** + * An identity cannot certify itself + **/ + CannotCertifySelf: AugmentedError<ApiType>; + /** + * Certification non autorisée + **/ + CertNotAllowed: AugmentedError<ApiType>; + /** + * An identity must receive certifications before it can issue them. + **/ + IdtyMustReceiveCertsBeforeCanIssue: AugmentedError<ApiType>; + /** + * This identity has already issued the maximum number of certifications + **/ + IssuedTooManyCert: AugmentedError<ApiType>; + /** + * Issuer not found + **/ + IssuerNotFound: AugmentedError<ApiType>; + /** + * Not enough certifications received + **/ + NotEnoughCertReceived: AugmentedError<ApiType>; + /** + * This identity has already issued a certification too recently + **/ + NotRespectCertPeriod: AugmentedError<ApiType>; + /** + * This certification has already been issued or renewed recently + **/ + NotRespectRenewablePeriod: AugmentedError<ApiType>; + /** + * Receiver not found + **/ + ReceiverNotFound: AugmentedError<ApiType>; + /** + * Generic error + **/ + [key: string]: AugmentedError<ApiType>; + }; + grandpa: { + /** + * Attempt to signal GRANDPA change with one already pending. + **/ + ChangePending: AugmentedError<ApiType>; + /** + * A given equivocation report is valid but already previously reported. + **/ + DuplicateOffenceReport: AugmentedError<ApiType>; + /** + * An equivocation proof provided as part of an equivocation report is invalid. + **/ + InvalidEquivocationProof: AugmentedError<ApiType>; + /** + * A key ownership proof provided as part of an equivocation report is invalid. + **/ + InvalidKeyOwnershipProof: AugmentedError<ApiType>; + /** + * Attempt to signal GRANDPA pause when the authority set isn't live + * (either paused or already pending pause). + **/ + PauseFailed: AugmentedError<ApiType>; + /** + * Attempt to signal GRANDPA resume when the authority set isn't paused + * (either live or already pending resume). + **/ + ResumeFailed: AugmentedError<ApiType>; + /** + * Cannot signal forced change so soon after last. + **/ + TooSoon: AugmentedError<ApiType>; + /** + * Generic error + **/ + [key: string]: AugmentedError<ApiType>; + }; + identity: { + /** + * Creator not allowed to create identities + **/ + CreatorNotAllowedToCreateIdty: AugmentedError<ApiType>; + /** + * Identity already confirmed + **/ + IdtyAlreadyConfirmed: AugmentedError<ApiType>; + /** + * Identity already created + **/ + IdtyAlreadyCreated: AugmentedError<ApiType>; + /** + * Identity already validated + **/ + IdtyAlreadyValidated: AugmentedError<ApiType>; + /** + * You are not allowed to create a new identity now + **/ + IdtyCreationNotAllowed: AugmentedError<ApiType>; + /** + * Identity index not found + **/ + IdtyIndexNotFound: AugmentedError<ApiType>; + /** + * Identity name already exists + **/ + IdtyNameAlreadyExist: AugmentedError<ApiType>; + /** + * Invalid identity name + **/ + IdtyNameInvalid: AugmentedError<ApiType>; + /** + * Identity not confirmed by its owner + **/ + IdtyNotConfirmedByOwner: AugmentedError<ApiType>; + /** + * Identity not found + **/ + IdtyNotFound: AugmentedError<ApiType>; + /** + * Identity not member + **/ + IdtyNotMember: AugmentedError<ApiType>; + /** + * Identity not validated + **/ + IdtyNotValidated: AugmentedError<ApiType>; + /** + * Identity not yet renewable + **/ + IdtyNotYetRenewable: AugmentedError<ApiType>; + /** + * Genesis hash does not match + **/ + InvalidGenesisHash: AugmentedError<ApiType>; + /** + * Revocation payload signature is invalid + **/ + InvalidRevocationProof: AugmentedError<ApiType>; + /** + * Not allowed to confirm identity + **/ + NotAllowedToConfirmIdty: AugmentedError<ApiType>; + /** + * Not allowed to validate identity + **/ + NotAllowedToValidateIdty: AugmentedError<ApiType>; + /** + * Identity creation period is not respected + **/ + NotRespectIdtyCreationPeriod: AugmentedError<ApiType>; + /** + * Not the same identity name + **/ + NotSameIdtyName: AugmentedError<ApiType>; + /** + * Right already added + **/ + RightAlreadyAdded: AugmentedError<ApiType>; + /** + * Right does not exist + **/ + RightNotExist: AugmentedError<ApiType>; + /** + * Generic error + **/ + [key: string]: AugmentedError<ApiType>; + }; + imOnline: { + /** + * Duplicated heartbeat. + **/ + DuplicatedHeartbeat: AugmentedError<ApiType>; + /** + * Non existent public key. + **/ + InvalidKey: AugmentedError<ApiType>; + /** + * Generic error + **/ + [key: string]: AugmentedError<ApiType>; + }; + membership: { + /** + * Identity id not found + **/ + IdtyIdNotFound: AugmentedError<ApiType>; + /** + * Identity not allowed to renew membership + **/ + IdtyNotAllowedToRenewMembership: AugmentedError<ApiType>; + /** + * Identity not allowed to request membership + **/ + IdtyNotAllowedToRequestMembership: AugmentedError<ApiType>; + /** + * Invalid meta data + **/ + InvalidMetaData: AugmentedError<ApiType>; + /** + * Membership already acquired + **/ + MembershipAlreadyAcquired: AugmentedError<ApiType>; + /** + * Membership already requested + **/ + MembershipAlreadyRequested: AugmentedError<ApiType>; + /** + * Membership not found + **/ + MembershipNotFound: AugmentedError<ApiType>; + /** + * Membership not yet renewable + **/ + MembershipNotYetRenewable: AugmentedError<ApiType>; + /** + * Membership request not found + **/ + MembershipRequestNotFound: AugmentedError<ApiType>; + /** + * Membership revoked recently + **/ + MembershipRevokedRecently: AugmentedError<ApiType>; + /** + * Origin not allowed to use this identity + **/ + OriginNotAllowedToUseIdty: AugmentedError<ApiType>; + /** + * Generic error + **/ + [key: string]: AugmentedError<ApiType>; + }; + multisig: { + /** + * Call is already approved by this signatory. + **/ + AlreadyApproved: AugmentedError<ApiType>; + /** + * The data to be stored is already stored. + **/ + AlreadyStored: AugmentedError<ApiType>; + /** + * The maximum weight information provided was too low. + **/ + MaxWeightTooLow: AugmentedError<ApiType>; + /** + * Threshold must be 2 or greater. + **/ + MinimumThreshold: AugmentedError<ApiType>; + /** + * Call doesn't need any (more) approvals. + **/ + NoApprovalsNeeded: AugmentedError<ApiType>; + /** + * Multisig operation not found when attempting to cancel. + **/ + NotFound: AugmentedError<ApiType>; + /** + * No timepoint was given, yet the multisig operation is already underway. + **/ + NoTimepoint: AugmentedError<ApiType>; + /** + * Only the account that originally created the multisig is able to cancel it. + **/ + NotOwner: AugmentedError<ApiType>; + /** + * The sender was contained in the other signatories; it shouldn't be. + **/ + SenderInSignatories: AugmentedError<ApiType>; + /** + * The signatories were provided out of order; they should be ordered. + **/ + SignatoriesOutOfOrder: AugmentedError<ApiType>; + /** + * There are too few signatories in the list. + **/ + TooFewSignatories: AugmentedError<ApiType>; + /** + * There are too many signatories in the list. + **/ + TooManySignatories: AugmentedError<ApiType>; + /** + * A timepoint was given, yet no multisig operation is underway. + **/ + UnexpectedTimepoint: AugmentedError<ApiType>; + /** + * A different timepoint was given to the multisig operation that is underway. + **/ + WrongTimepoint: AugmentedError<ApiType>; + /** + * Generic error + **/ + [key: string]: AugmentedError<ApiType>; + }; + preimage: { + /** + * Preimage has already been noted on-chain. + **/ + AlreadyNoted: AugmentedError<ApiType>; + /** + * The user is not authorized to perform this action. + **/ + NotAuthorized: AugmentedError<ApiType>; + /** + * The preimage cannot be removed since it has not yet been noted. + **/ + NotNoted: AugmentedError<ApiType>; + /** + * The preimage request cannot be removed since no outstanding requests exist. + **/ + NotRequested: AugmentedError<ApiType>; + /** + * A preimage may not be removed when there are outstanding requests. + **/ + Requested: AugmentedError<ApiType>; + /** + * Preimage is too large to store on-chain. + **/ + TooLarge: AugmentedError<ApiType>; + /** + * Generic error + **/ + [key: string]: AugmentedError<ApiType>; + }; + provideRandomness: { + /** + * The queue is full, pleasy retry later + **/ + FullQueue: AugmentedError<ApiType>; + /** + * Generic error + **/ + [key: string]: AugmentedError<ApiType>; + }; + proxy: { + /** + * Account is already a proxy. + **/ + Duplicate: AugmentedError<ApiType>; + /** + * Call may not be made by proxy because it may escalate its privileges. + **/ + NoPermission: AugmentedError<ApiType>; + /** + * Cannot add self as proxy. + **/ + NoSelfProxy: AugmentedError<ApiType>; + /** + * Proxy registration not found. + **/ + NotFound: AugmentedError<ApiType>; + /** + * Sender is not a proxy of the account to be proxied. + **/ + NotProxy: AugmentedError<ApiType>; + /** + * There are too many proxies registered or too many announcements pending. + **/ + TooMany: AugmentedError<ApiType>; + /** + * Announcement, if made at all, was made too recently. + **/ + Unannounced: AugmentedError<ApiType>; + /** + * A call which is incompatible with the proxy type's filter was attempted. + **/ + Unproxyable: AugmentedError<ApiType>; + /** + * Generic error + **/ + [key: string]: AugmentedError<ApiType>; + }; + scheduler: { + /** + * Failed to schedule a call + **/ + FailedToSchedule: AugmentedError<ApiType>; + /** + * Cannot find the scheduled call. + **/ + NotFound: AugmentedError<ApiType>; + /** + * Reschedule failed because it does not change scheduled time. + **/ + RescheduleNoChange: AugmentedError<ApiType>; + /** + * Given target block number is in the past. + **/ + TargetBlockNumberInPast: AugmentedError<ApiType>; + /** + * Generic error + **/ + [key: string]: AugmentedError<ApiType>; + }; + session: { + /** + * Registered duplicate key. + **/ + DuplicatedKey: AugmentedError<ApiType>; + /** + * Invalid ownership proof. + **/ + InvalidProof: AugmentedError<ApiType>; + /** + * Key setting account is not live, so it's impossible to associate keys. + **/ + NoAccount: AugmentedError<ApiType>; + /** + * No associated validator ID for account. + **/ + NoAssociatedValidatorId: AugmentedError<ApiType>; + /** + * No keys are associated with this account. + **/ + NoKeys: AugmentedError<ApiType>; + /** + * Generic error + **/ + [key: string]: AugmentedError<ApiType>; + }; + smithsCert: { + /** + * An identity cannot certify itself + **/ + CannotCertifySelf: AugmentedError<ApiType>; + /** + * Certification non autorisée + **/ + CertNotAllowed: AugmentedError<ApiType>; + /** + * An identity must receive certifications before it can issue them. + **/ + IdtyMustReceiveCertsBeforeCanIssue: AugmentedError<ApiType>; + /** + * This identity has already issued the maximum number of certifications + **/ + IssuedTooManyCert: AugmentedError<ApiType>; + /** + * Issuer not found + **/ + IssuerNotFound: AugmentedError<ApiType>; + /** + * Not enough certifications received + **/ + NotEnoughCertReceived: AugmentedError<ApiType>; + /** + * This identity has already issued a certification too recently + **/ + NotRespectCertPeriod: AugmentedError<ApiType>; + /** + * This certification has already been issued or renewed recently + **/ + NotRespectRenewablePeriod: AugmentedError<ApiType>; + /** + * Receiver not found + **/ + ReceiverNotFound: AugmentedError<ApiType>; + /** + * Generic error + **/ + [key: string]: AugmentedError<ApiType>; + }; + smithsCollective: { + /** + * Members are already initialized! + **/ + AlreadyInitialized: AugmentedError<ApiType>; + /** + * Duplicate proposals not allowed + **/ + DuplicateProposal: AugmentedError<ApiType>; + /** + * Duplicate vote ignored + **/ + DuplicateVote: AugmentedError<ApiType>; + /** + * Account is not a member + **/ + NotMember: AugmentedError<ApiType>; + /** + * Proposal must exist + **/ + ProposalMissing: AugmentedError<ApiType>; + /** + * The close call was made too early, before the end of the voting. + **/ + TooEarly: AugmentedError<ApiType>; + /** + * There can only be a maximum of `MaxProposals` active proposals. + **/ + TooManyProposals: AugmentedError<ApiType>; + /** + * Mismatched index + **/ + WrongIndex: AugmentedError<ApiType>; + /** + * The given length bound for the proposal was too low. + **/ + WrongProposalLength: AugmentedError<ApiType>; + /** + * The given weight bound for the proposal was too low. + **/ + WrongProposalWeight: AugmentedError<ApiType>; + /** + * Generic error + **/ + [key: string]: AugmentedError<ApiType>; + }; + smithsMembership: { + /** + * Identity id not found + **/ + IdtyIdNotFound: AugmentedError<ApiType>; + /** + * Identity not allowed to renew membership + **/ + IdtyNotAllowedToRenewMembership: AugmentedError<ApiType>; + /** + * Identity not allowed to request membership + **/ + IdtyNotAllowedToRequestMembership: AugmentedError<ApiType>; + /** + * Invalid meta data + **/ + InvalidMetaData: AugmentedError<ApiType>; + /** + * Membership already acquired + **/ + MembershipAlreadyAcquired: AugmentedError<ApiType>; + /** + * Membership already requested + **/ + MembershipAlreadyRequested: AugmentedError<ApiType>; + /** + * Membership not found + **/ + MembershipNotFound: AugmentedError<ApiType>; + /** + * Membership not yet renewable + **/ + MembershipNotYetRenewable: AugmentedError<ApiType>; + /** + * Membership request not found + **/ + MembershipRequestNotFound: AugmentedError<ApiType>; + /** + * Membership revoked recently + **/ + MembershipRevokedRecently: AugmentedError<ApiType>; + /** + * Origin not allowed to use this identity + **/ + OriginNotAllowedToUseIdty: AugmentedError<ApiType>; + /** + * Generic error + **/ + [key: string]: AugmentedError<ApiType>; + }; + sudo: { + /** + * Sender must be the Sudo account + **/ + RequireSudo: AugmentedError<ApiType>; + /** + * Generic error + **/ + [key: string]: AugmentedError<ApiType>; + }; + system: { + /** + * The origin filter prevent the call to be dispatched. + **/ + CallFiltered: AugmentedError<ApiType>; + /** + * Failed to extract the runtime version from the new runtime. + * + * Either calling `Core_version` or decoding `RuntimeVersion` failed. + **/ + FailedToExtractRuntimeVersion: AugmentedError<ApiType>; + /** + * The name of specification does not match between the current runtime + * and the new runtime. + **/ + InvalidSpecName: AugmentedError<ApiType>; + /** + * Suicide called when the account has non-default composite data. + **/ + NonDefaultComposite: AugmentedError<ApiType>; + /** + * There is a non-zero reference count preventing the account from being purged. + **/ + NonZeroRefCount: AugmentedError<ApiType>; + /** + * The specification version is not allowed to decrease between the current runtime + * and the new runtime. + **/ + SpecVersionNeedsToIncrease: AugmentedError<ApiType>; + /** + * Generic error + **/ + [key: string]: AugmentedError<ApiType>; + }; + treasury: { + /** + * Proposer's balance is too low. + **/ + InsufficientProposersBalance: AugmentedError<ApiType>; + /** + * No proposal or bounty at that index. + **/ + InvalidIndex: AugmentedError<ApiType>; + /** + * Too many approvals in the queue. + **/ + TooManyApprovals: AugmentedError<ApiType>; + /** + * Generic error + **/ + [key: string]: AugmentedError<ApiType>; + }; + utility: { + /** + * Too many calls batched. + **/ + TooManyCalls: AugmentedError<ApiType>; + /** + * Generic error + **/ + [key: string]: AugmentedError<ApiType>; + }; + } // AugmentedErrors +} // declare module diff --git a/src/interfaces/augment-api-events.ts b/src/interfaces/augment-api-events.ts new file mode 100644 index 0000000..2a571f1 --- /dev/null +++ b/src/interfaces/augment-api-events.ts @@ -0,0 +1,593 @@ +// Auto-generated via `yarn polkadot-types-from-chain`, do not edit +/* eslint-disable */ + +import type { ApiTypes } from '@polkadot/api-base/types'; +import type { Bytes, Null, Option, Result, Text, U8aFixed, Vec, bool, u16, u32, u64 } from '@polkadot/types-codec'; +import type { ITuple } from '@polkadot/types-codec/types'; +import type { AccountId32, H256 } from '@polkadot/types/interfaces/runtime'; +import type { CommonRuntimeEntitiesValidatorFullIdentification, FrameSupportScheduleLookupError, FrameSupportTokensMiscBalanceStatus, FrameSupportWeightsDispatchInfo, GdevRuntimeProxyType, PalletAtomicSwapPendingSwap, PalletImOnlineSr25519AppSr25519Public, PalletMultisigTimepoint, PalletProvideRandomnessRandomnessType, SpFinalityGrandpaAppPublic, SpRuntimeDispatchError } from '@polkadot/types/lookup'; + +declare module '@polkadot/api-base/types/events' { + export interface AugmentedEvents<ApiType extends ApiTypes> { + account: { + /** + * Force the destruction of an account because its free balance is insufficient to pay + * the account creation price. + * [who, balance] + **/ + ForceDestroy: AugmentedEvent<ApiType, [who: AccountId32, balance: u64], { who: AccountId32, balance: u64 }>; + /** + * Random id assigned + * [account_id, random_id] + **/ + RandomIdAssigned: AugmentedEvent<ApiType, [who: AccountId32, randomId: H256], { who: AccountId32, randomId: H256 }>; + /** + * Generic event + **/ + [key: string]: AugmentedEvent<ApiType>; + }; + atomicSwap: { + /** + * Swap created. + **/ + NewSwap: AugmentedEvent<ApiType, [account: AccountId32, proof: U8aFixed, swap: PalletAtomicSwapPendingSwap], { account: AccountId32, proof: U8aFixed, swap: PalletAtomicSwapPendingSwap }>; + /** + * Swap cancelled. + **/ + SwapCancelled: AugmentedEvent<ApiType, [account: AccountId32, proof: U8aFixed], { account: AccountId32, proof: U8aFixed }>; + /** + * Swap claimed. The last parameter indicates whether the execution succeeds. + **/ + SwapClaimed: AugmentedEvent<ApiType, [account: AccountId32, proof: U8aFixed, success: bool], { account: AccountId32, proof: U8aFixed, success: bool }>; + /** + * Generic event + **/ + [key: string]: AugmentedEvent<ApiType>; + }; + authorityMembers: { + /** + * List of members who will enter the set of authorities at the next session. + * [Vec<member_id>] + **/ + IncomingAuthorities: AugmentedEvent<ApiType, [Vec<u32>]>; + /** + * A member will leave the set of authorities in 2 sessions. + * [member_id] + **/ + MemberGoOffline: AugmentedEvent<ApiType, [u32]>; + /** + * A member will enter the set of authorities in 2 sessions. + * [member_id] + **/ + MemberGoOnline: AugmentedEvent<ApiType, [u32]>; + /** + * A member has lost the right to be part of the authorities, + * this member will be removed from the authority set in 2 sessions. + * [member_id] + **/ + MemberRemoved: AugmentedEvent<ApiType, [u32]>; + /** + * List of members who will leave the set of authorities at the next session. + * [Vec<member_id>] + **/ + OutgoingAuthorities: AugmentedEvent<ApiType, [Vec<u32>]>; + /** + * Generic event + **/ + [key: string]: AugmentedEvent<ApiType>; + }; + balances: { + /** + * A balance was set by root. + **/ + BalanceSet: AugmentedEvent<ApiType, [who: AccountId32, free: u64, reserved: u64], { who: AccountId32, free: u64, reserved: u64 }>; + /** + * Some amount was deposited (e.g. for transaction fees). + **/ + Deposit: AugmentedEvent<ApiType, [who: AccountId32, amount: u64], { who: AccountId32, amount: u64 }>; + /** + * An account was removed whose balance was non-zero but below ExistentialDeposit, + * resulting in an outright loss. + **/ + DustLost: AugmentedEvent<ApiType, [account: AccountId32, amount: u64], { account: AccountId32, amount: u64 }>; + /** + * An account was created with some free balance. + **/ + Endowed: AugmentedEvent<ApiType, [account: AccountId32, freeBalance: u64], { account: AccountId32, freeBalance: u64 }>; + /** + * Some balance was reserved (moved from free to reserved). + **/ + Reserved: AugmentedEvent<ApiType, [who: AccountId32, amount: u64], { who: AccountId32, amount: u64 }>; + /** + * Some balance was moved from the reserve of the first account to the second account. + * Final argument indicates the destination balance type. + **/ + ReserveRepatriated: AugmentedEvent<ApiType, [from: AccountId32, to: AccountId32, amount: u64, destinationStatus: FrameSupportTokensMiscBalanceStatus], { from: AccountId32, to: AccountId32, amount: u64, destinationStatus: FrameSupportTokensMiscBalanceStatus }>; + /** + * Some amount was removed from the account (e.g. for misbehavior). + **/ + Slashed: AugmentedEvent<ApiType, [who: AccountId32, amount: u64], { who: AccountId32, amount: u64 }>; + /** + * Transfer succeeded. + **/ + Transfer: AugmentedEvent<ApiType, [from: AccountId32, to: AccountId32, amount: u64], { from: AccountId32, to: AccountId32, amount: u64 }>; + /** + * Some balance was unreserved (moved from reserved to free). + **/ + Unreserved: AugmentedEvent<ApiType, [who: AccountId32, amount: u64], { who: AccountId32, amount: u64 }>; + /** + * Some amount was withdrawn from the account (e.g. for transaction fees). + **/ + Withdraw: AugmentedEvent<ApiType, [who: AccountId32, amount: u64], { who: AccountId32, amount: u64 }>; + /** + * Generic event + **/ + [key: string]: AugmentedEvent<ApiType>; + }; + cert: { + /** + * New certification + * [issuer, issuer_issued_count, receiver, receiver_received_count] + **/ + NewCert: AugmentedEvent<ApiType, [issuer: u32, issuerIssuedCount: u32, receiver: u32, receiverReceivedCount: u32], { issuer: u32, issuerIssuedCount: u32, receiver: u32, receiverReceivedCount: u32 }>; + /** + * Removed certification + * [issuer, issuer_issued_count, receiver, receiver_received_count, expiration] + **/ + RemovedCert: AugmentedEvent<ApiType, [issuer: u32, issuerIssuedCount: u32, receiver: u32, receiverReceivedCount: u32, expiration: bool], { issuer: u32, issuerIssuedCount: u32, receiver: u32, receiverReceivedCount: u32, expiration: bool }>; + /** + * Renewed certification + * [issuer, receiver] + **/ + RenewedCert: AugmentedEvent<ApiType, [issuer: u32, receiver: u32], { issuer: u32, receiver: u32 }>; + /** + * Generic event + **/ + [key: string]: AugmentedEvent<ApiType>; + }; + grandpa: { + /** + * New authority set has been applied. + **/ + NewAuthorities: AugmentedEvent<ApiType, [authoritySet: Vec<ITuple<[SpFinalityGrandpaAppPublic, u64]>>], { authoritySet: Vec<ITuple<[SpFinalityGrandpaAppPublic, u64]>> }>; + /** + * Current authority set has been paused. + **/ + Paused: AugmentedEvent<ApiType, []>; + /** + * Current authority set has been resumed. + **/ + Resumed: AugmentedEvent<ApiType, []>; + /** + * Generic event + **/ + [key: string]: AugmentedEvent<ApiType>; + }; + identity: { + /** + * An identity has been confirmed by its owner + * [idty_index, owner_key, name] + **/ + IdtyConfirmed: AugmentedEvent<ApiType, [idtyIndex: u32, ownerKey: AccountId32, name: Text], { idtyIndex: u32, ownerKey: AccountId32, name: Text }>; + /** + * A new identity has been created + * [idty_index, owner_key] + **/ + IdtyCreated: AugmentedEvent<ApiType, [idtyIndex: u32, ownerKey: AccountId32], { idtyIndex: u32, ownerKey: AccountId32 }>; + /** + * An identity has been removed + * [idty_index] + **/ + IdtyRemoved: AugmentedEvent<ApiType, [idtyIndex: u32], { idtyIndex: u32 }>; + /** + * An identity has been validated + * [idty_index] + **/ + IdtyValidated: AugmentedEvent<ApiType, [idtyIndex: u32], { idtyIndex: u32 }>; + /** + * Generic event + **/ + [key: string]: AugmentedEvent<ApiType>; + }; + imOnline: { + /** + * At the end of the session, no offence was committed. + **/ + AllGood: AugmentedEvent<ApiType, []>; + /** + * A new heartbeat was received from `AuthorityId`. + **/ + HeartbeatReceived: AugmentedEvent<ApiType, [authorityId: PalletImOnlineSr25519AppSr25519Public], { authorityId: PalletImOnlineSr25519AppSr25519Public }>; + /** + * At the end of the session, at least one validator was found to be offline. + **/ + SomeOffline: AugmentedEvent<ApiType, [offline: Vec<ITuple<[AccountId32, CommonRuntimeEntitiesValidatorFullIdentification]>>], { offline: Vec<ITuple<[AccountId32, CommonRuntimeEntitiesValidatorFullIdentification]>> }>; + /** + * Generic event + **/ + [key: string]: AugmentedEvent<ApiType>; + }; + membership: { + /** + * A membership has acquired + * [idty_id] + **/ + MembershipAcquired: AugmentedEvent<ApiType, [u32]>; + /** + * A membership has expired + * [idty_id] + **/ + MembershipExpired: AugmentedEvent<ApiType, [u32]>; + /** + * A membership has renewed + * [idty_id] + **/ + MembershipRenewed: AugmentedEvent<ApiType, [u32]>; + /** + * An identity requested membership + * [idty_id] + **/ + MembershipRequested: AugmentedEvent<ApiType, [u32]>; + /** + * A membership has revoked + * [idty_id] + **/ + MembershipRevoked: AugmentedEvent<ApiType, [u32]>; + /** + * A pending membership request has expired + * [idty_id] + **/ + PendingMembershipExpired: AugmentedEvent<ApiType, [u32]>; + /** + * Generic event + **/ + [key: string]: AugmentedEvent<ApiType>; + }; + multisig: { + /** + * A multisig operation has been approved by someone. + **/ + MultisigApproval: AugmentedEvent<ApiType, [approving: AccountId32, timepoint: PalletMultisigTimepoint, multisig: AccountId32, callHash: U8aFixed], { approving: AccountId32, timepoint: PalletMultisigTimepoint, multisig: AccountId32, callHash: U8aFixed }>; + /** + * A multisig operation has been cancelled. + **/ + MultisigCancelled: AugmentedEvent<ApiType, [cancelling: AccountId32, timepoint: PalletMultisigTimepoint, multisig: AccountId32, callHash: U8aFixed], { cancelling: AccountId32, timepoint: PalletMultisigTimepoint, multisig: AccountId32, callHash: U8aFixed }>; + /** + * A multisig operation has been executed. + **/ + MultisigExecuted: AugmentedEvent<ApiType, [approving: AccountId32, timepoint: PalletMultisigTimepoint, multisig: AccountId32, callHash: U8aFixed, result: Result<Null, SpRuntimeDispatchError>], { approving: AccountId32, timepoint: PalletMultisigTimepoint, multisig: AccountId32, callHash: U8aFixed, result: Result<Null, SpRuntimeDispatchError> }>; + /** + * A new multisig operation has begun. + **/ + NewMultisig: AugmentedEvent<ApiType, [approving: AccountId32, multisig: AccountId32, callHash: U8aFixed], { approving: AccountId32, multisig: AccountId32, callHash: U8aFixed }>; + /** + * Generic event + **/ + [key: string]: AugmentedEvent<ApiType>; + }; + offences: { + /** + * There is an offence reported of the given `kind` happened at the `session_index` and + * (kind-specific) time slot. This event is not deposited for duplicate slashes. + * \[kind, timeslot\]. + **/ + Offence: AugmentedEvent<ApiType, [kind: U8aFixed, timeslot: Bytes], { kind: U8aFixed, timeslot: Bytes }>; + /** + * Generic event + **/ + [key: string]: AugmentedEvent<ApiType>; + }; + preimage: { + /** + * A preimage has ben cleared. + **/ + Cleared: AugmentedEvent<ApiType, [hash_: H256], { hash_: H256 }>; + /** + * A preimage has been noted. + **/ + Noted: AugmentedEvent<ApiType, [hash_: H256], { hash_: H256 }>; + /** + * A preimage has been requested. + **/ + Requested: AugmentedEvent<ApiType, [hash_: H256], { hash_: H256 }>; + /** + * Generic event + **/ + [key: string]: AugmentedEvent<ApiType>; + }; + provideRandomness: { + /** + * Filled randomness + **/ + FilledRandomness: AugmentedEvent<ApiType, [requestId: u64, randomness: H256], { requestId: u64, randomness: H256 }>; + /** + * Requested randomness + **/ + RequestedRandomness: AugmentedEvent<ApiType, [requestId: u64, salt: H256, r_type: PalletProvideRandomnessRandomnessType], { requestId: u64, salt: H256, r_type: PalletProvideRandomnessRandomnessType }>; + /** + * Generic event + **/ + [key: string]: AugmentedEvent<ApiType>; + }; + proxy: { + /** + * An announcement was placed to make a call in the future. + **/ + Announced: AugmentedEvent<ApiType, [real: AccountId32, proxy: AccountId32, callHash: H256], { real: AccountId32, proxy: AccountId32, callHash: H256 }>; + /** + * Anonymous account has been created by new proxy with given + * disambiguation index and proxy type. + **/ + AnonymousCreated: AugmentedEvent<ApiType, [anonymous: AccountId32, who: AccountId32, proxyType: GdevRuntimeProxyType, disambiguationIndex: u16], { anonymous: AccountId32, who: AccountId32, proxyType: GdevRuntimeProxyType, disambiguationIndex: u16 }>; + /** + * A proxy was added. + **/ + ProxyAdded: AugmentedEvent<ApiType, [delegator: AccountId32, delegatee: AccountId32, proxyType: GdevRuntimeProxyType, delay: u32], { delegator: AccountId32, delegatee: AccountId32, proxyType: GdevRuntimeProxyType, delay: u32 }>; + /** + * A proxy was executed correctly, with the given. + **/ + ProxyExecuted: AugmentedEvent<ApiType, [result: Result<Null, SpRuntimeDispatchError>], { result: Result<Null, SpRuntimeDispatchError> }>; + /** + * Generic event + **/ + [key: string]: AugmentedEvent<ApiType>; + }; + scheduler: { + /** + * The call for the provided hash was not found so the task has been aborted. + **/ + CallLookupFailed: AugmentedEvent<ApiType, [task: ITuple<[u32, u32]>, id: Option<Bytes>, error: FrameSupportScheduleLookupError], { task: ITuple<[u32, u32]>, id: Option<Bytes>, error: FrameSupportScheduleLookupError }>; + /** + * Canceled some task. + **/ + Canceled: AugmentedEvent<ApiType, [when: u32, index: u32], { when: u32, index: u32 }>; + /** + * Dispatched some task. + **/ + Dispatched: AugmentedEvent<ApiType, [task: ITuple<[u32, u32]>, id: Option<Bytes>, result: Result<Null, SpRuntimeDispatchError>], { task: ITuple<[u32, u32]>, id: Option<Bytes>, result: Result<Null, SpRuntimeDispatchError> }>; + /** + * Scheduled some task. + **/ + Scheduled: AugmentedEvent<ApiType, [when: u32, index: u32], { when: u32, index: u32 }>; + /** + * Generic event + **/ + [key: string]: AugmentedEvent<ApiType>; + }; + session: { + /** + * New session has happened. Note that the argument is the session index, not the + * block number as the type might suggest. + **/ + NewSession: AugmentedEvent<ApiType, [sessionIndex: u32], { sessionIndex: u32 }>; + /** + * Generic event + **/ + [key: string]: AugmentedEvent<ApiType>; + }; + smithsCert: { + /** + * New certification + * [issuer, issuer_issued_count, receiver, receiver_received_count] + **/ + NewCert: AugmentedEvent<ApiType, [issuer: u32, issuerIssuedCount: u32, receiver: u32, receiverReceivedCount: u32], { issuer: u32, issuerIssuedCount: u32, receiver: u32, receiverReceivedCount: u32 }>; + /** + * Removed certification + * [issuer, issuer_issued_count, receiver, receiver_received_count, expiration] + **/ + RemovedCert: AugmentedEvent<ApiType, [issuer: u32, issuerIssuedCount: u32, receiver: u32, receiverReceivedCount: u32, expiration: bool], { issuer: u32, issuerIssuedCount: u32, receiver: u32, receiverReceivedCount: u32, expiration: bool }>; + /** + * Renewed certification + * [issuer, receiver] + **/ + RenewedCert: AugmentedEvent<ApiType, [issuer: u32, receiver: u32], { issuer: u32, receiver: u32 }>; + /** + * Generic event + **/ + [key: string]: AugmentedEvent<ApiType>; + }; + smithsCollective: { + /** + * A motion was approved by the required threshold. + **/ + Approved: AugmentedEvent<ApiType, [proposalHash: H256], { proposalHash: H256 }>; + /** + * A proposal was closed because its threshold was reached or after its duration was up. + **/ + Closed: AugmentedEvent<ApiType, [proposalHash: H256, yes: u32, no: u32], { proposalHash: H256, yes: u32, no: u32 }>; + /** + * A motion was not approved by the required threshold. + **/ + Disapproved: AugmentedEvent<ApiType, [proposalHash: H256], { proposalHash: H256 }>; + /** + * A motion was executed; result will be `Ok` if it returned without error. + **/ + Executed: AugmentedEvent<ApiType, [proposalHash: H256, result: Result<Null, SpRuntimeDispatchError>], { proposalHash: H256, result: Result<Null, SpRuntimeDispatchError> }>; + /** + * A single member did some action; result will be `Ok` if it returned without error. + **/ + MemberExecuted: AugmentedEvent<ApiType, [proposalHash: H256, result: Result<Null, SpRuntimeDispatchError>], { proposalHash: H256, result: Result<Null, SpRuntimeDispatchError> }>; + /** + * A motion (given hash) has been proposed (by given account) with a threshold (given + * `MemberCount`). + **/ + Proposed: AugmentedEvent<ApiType, [account: AccountId32, proposalIndex: u32, proposalHash: H256, threshold: u32], { account: AccountId32, proposalIndex: u32, proposalHash: H256, threshold: u32 }>; + /** + * A motion (given hash) has been voted on by given account, leaving + * a tally (yes votes and no votes given respectively as `MemberCount`). + **/ + Voted: AugmentedEvent<ApiType, [account: AccountId32, proposalHash: H256, voted: bool, yes: u32, no: u32], { account: AccountId32, proposalHash: H256, voted: bool, yes: u32, no: u32 }>; + /** + * Generic event + **/ + [key: string]: AugmentedEvent<ApiType>; + }; + smithsMembership: { + /** + * A membership has acquired + * [idty_id] + **/ + MembershipAcquired: AugmentedEvent<ApiType, [u32]>; + /** + * A membership has expired + * [idty_id] + **/ + MembershipExpired: AugmentedEvent<ApiType, [u32]>; + /** + * A membership has renewed + * [idty_id] + **/ + MembershipRenewed: AugmentedEvent<ApiType, [u32]>; + /** + * An identity requested membership + * [idty_id] + **/ + MembershipRequested: AugmentedEvent<ApiType, [u32]>; + /** + * A membership has revoked + * [idty_id] + **/ + MembershipRevoked: AugmentedEvent<ApiType, [u32]>; + /** + * A pending membership request has expired + * [idty_id] + **/ + PendingMembershipExpired: AugmentedEvent<ApiType, [u32]>; + /** + * Generic event + **/ + [key: string]: AugmentedEvent<ApiType>; + }; + sudo: { + /** + * The \[sudoer\] just switched identity; the old key is supplied if one existed. + **/ + KeyChanged: AugmentedEvent<ApiType, [oldSudoer: Option<AccountId32>], { oldSudoer: Option<AccountId32> }>; + /** + * A sudo just took place. \[result\] + **/ + Sudid: AugmentedEvent<ApiType, [sudoResult: Result<Null, SpRuntimeDispatchError>], { sudoResult: Result<Null, SpRuntimeDispatchError> }>; + /** + * A sudo just took place. \[result\] + **/ + SudoAsDone: AugmentedEvent<ApiType, [sudoResult: Result<Null, SpRuntimeDispatchError>], { sudoResult: Result<Null, SpRuntimeDispatchError> }>; + /** + * Generic event + **/ + [key: string]: AugmentedEvent<ApiType>; + }; + system: { + /** + * `:code` was updated. + **/ + CodeUpdated: AugmentedEvent<ApiType, []>; + /** + * An extrinsic failed. + **/ + ExtrinsicFailed: AugmentedEvent<ApiType, [dispatchError: SpRuntimeDispatchError, dispatchInfo: FrameSupportWeightsDispatchInfo], { dispatchError: SpRuntimeDispatchError, dispatchInfo: FrameSupportWeightsDispatchInfo }>; + /** + * An extrinsic completed successfully. + **/ + ExtrinsicSuccess: AugmentedEvent<ApiType, [dispatchInfo: FrameSupportWeightsDispatchInfo], { dispatchInfo: FrameSupportWeightsDispatchInfo }>; + /** + * An account was reaped. + **/ + KilledAccount: AugmentedEvent<ApiType, [account: AccountId32], { account: AccountId32 }>; + /** + * A new account was created. + **/ + NewAccount: AugmentedEvent<ApiType, [account: AccountId32], { account: AccountId32 }>; + /** + * On on-chain remark happened. + **/ + Remarked: AugmentedEvent<ApiType, [sender: AccountId32, hash_: H256], { sender: AccountId32, hash_: H256 }>; + /** + * Generic event + **/ + [key: string]: AugmentedEvent<ApiType>; + }; + treasury: { + /** + * Some funds have been allocated. + **/ + Awarded: AugmentedEvent<ApiType, [proposalIndex: u32, award: u64, account: AccountId32], { proposalIndex: u32, award: u64, account: AccountId32 }>; + /** + * Some of our funds have been burnt. + **/ + Burnt: AugmentedEvent<ApiType, [burntFunds: u64], { burntFunds: u64 }>; + /** + * Some funds have been deposited. + **/ + Deposit: AugmentedEvent<ApiType, [value: u64], { value: u64 }>; + /** + * New proposal. + **/ + Proposed: AugmentedEvent<ApiType, [proposalIndex: u32], { proposalIndex: u32 }>; + /** + * A proposal was rejected; funds were slashed. + **/ + Rejected: AugmentedEvent<ApiType, [proposalIndex: u32, slashed: u64], { proposalIndex: u32, slashed: u64 }>; + /** + * Spending has finished; this is the amount that rolls over until next spend. + **/ + Rollover: AugmentedEvent<ApiType, [rolloverBalance: u64], { rolloverBalance: u64 }>; + /** + * We have ended a spend period and will now allocate funds. + **/ + Spending: AugmentedEvent<ApiType, [budgetRemaining: u64], { budgetRemaining: u64 }>; + /** + * Generic event + **/ + [key: string]: AugmentedEvent<ApiType>; + }; + universalDividend: { + /** + * A new universal dividend is created + * [amout, members_count] + **/ + NewUdCreated: AugmentedEvent<ApiType, [amount: u64, monetaryMass: u64, membersCount: u64], { amount: u64, monetaryMass: u64, membersCount: u64 }>; + /** + * The universal dividend has been re-evaluated + * [new_ud_amount, monetary_mass, members_count] + **/ + UdReevalued: AugmentedEvent<ApiType, [newUdAmount: u64, monetaryMass: u64, membersCount: u64], { newUdAmount: u64, monetaryMass: u64, membersCount: u64 }>; + /** + * Generic event + **/ + [key: string]: AugmentedEvent<ApiType>; + }; + upgradeOrigin: { + /** + * A call was dispatched as root from an upgradable origin + **/ + DispatchedAsRoot: AugmentedEvent<ApiType, [result: Result<Null, SpRuntimeDispatchError>], { result: Result<Null, SpRuntimeDispatchError> }>; + /** + * Generic event + **/ + [key: string]: AugmentedEvent<ApiType>; + }; + utility: { + /** + * Batch of dispatches completed fully with no error. + **/ + BatchCompleted: AugmentedEvent<ApiType, []>; + /** + * Batch of dispatches did not complete fully. Index of first failing dispatch given, as + * well as the error. + **/ + BatchInterrupted: AugmentedEvent<ApiType, [index: u32, error: SpRuntimeDispatchError], { index: u32, error: SpRuntimeDispatchError }>; + /** + * A call was dispatched. + **/ + DispatchedAs: AugmentedEvent<ApiType, [result: Result<Null, SpRuntimeDispatchError>], { result: Result<Null, SpRuntimeDispatchError> }>; + /** + * A single item within a Batch of dispatches has completed with no error. + **/ + ItemCompleted: AugmentedEvent<ApiType, []>; + /** + * Generic event + **/ + [key: string]: AugmentedEvent<ApiType>; + }; + } // AugmentedEvents +} // declare module diff --git a/src/interfaces/augment-api-query.ts b/src/interfaces/augment-api-query.ts new file mode 100644 index 0000000..a8b9a9d --- /dev/null +++ b/src/interfaces/augment-api-query.ts @@ -0,0 +1,710 @@ +// Auto-generated via `yarn polkadot-types-from-chain`, do not edit +/* eslint-disable */ + +import type { ApiTypes } from '@polkadot/api-base/types'; +import type { Bytes, Null, Option, Text, U8aFixed, Vec, WrapperKeepOpaque, WrapperOpaque, bool, u128, u32, u64, u8 } from '@polkadot/types-codec'; +import type { AnyNumber, ITuple } from '@polkadot/types-codec/types'; +import type { AccountId32, Call, H256 } from '@polkadot/types/interfaces/runtime'; +import type { CommonRuntimeEntitiesSmithsMembershipMetaData, FrameSupportWeightsPerDispatchClassU64, FrameSystemAccountInfo, FrameSystemEventRecord, FrameSystemLastRuntimeUpgradeInfo, FrameSystemPhase, GdevRuntimeOpaqueSessionKeys, PalletAtomicSwapPendingSwap, PalletAuthorityMembersMemberData, PalletAuthorshipUncleEntryItem, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesReleases, PalletBalancesReserveData, PalletCertificationCertValue, PalletCertificationIdtyCertMeta, PalletCollectiveVotes, PalletDuniterTestParametersParameters, PalletGrandpaStoredPendingChange, PalletGrandpaStoredState, PalletIdentityIdtyStatus, PalletIdentityIdtyValue, PalletImOnlineBoundedOpaqueNetworkState, PalletImOnlineSr25519AppSr25519Public, PalletMultisigMultisig, PalletPreimageRequestStatus, PalletProvideRandomnessRequest, PalletProxyAnnouncement, PalletProxyProxyDefinition, PalletSchedulerScheduledV3, PalletTransactionPaymentReleases, PalletTreasuryProposal, SpConsensusBabeAppPublic, SpConsensusBabeBabeEpochConfiguration, SpConsensusBabeDigestsNextConfigDescriptor, SpCoreCryptoKeyTypeId, SpMembershipMembershipData, SpRuntimeDigest, SpStakingOffenceOffenceDetails } from '@polkadot/types/lookup'; +import type { Observable } from '@polkadot/types/types'; + +declare module '@polkadot/api-base/types/storage' { + export interface AugmentedQueries<ApiType extends ApiTypes> { + account: { + pendingNewAccounts: AugmentedQuery<ApiType, (arg: AccountId32 | string | Uint8Array) => Observable<Option<Null>>, [AccountId32]> & QueryableStorageEntry<ApiType, [AccountId32]>; + pendingRandomIdAssignments: AugmentedQuery<ApiType, (arg: u64 | AnyNumber | Uint8Array) => Observable<Option<AccountId32>>, [u64]> & QueryableStorageEntry<ApiType, [u64]>; + /** + * Generic query + **/ + [key: string]: QueryableStorageEntry<ApiType>; + }; + atomicSwap: { + pendingSwaps: AugmentedQuery<ApiType, (arg1: AccountId32 | string | Uint8Array, arg2: U8aFixed | string | Uint8Array) => Observable<Option<PalletAtomicSwapPendingSwap>>, [AccountId32, U8aFixed]> & QueryableStorageEntry<ApiType, [AccountId32, U8aFixed]>; + /** + * Generic query + **/ + [key: string]: QueryableStorageEntry<ApiType>; + }; + authorityMembers: { + accountIdOf: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<Option<AccountId32>>, [u32]> & QueryableStorageEntry<ApiType, [u32]>; + authoritiesCounter: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>; + incomingAuthorities: AugmentedQuery<ApiType, () => Observable<Vec<u32>>, []> & QueryableStorageEntry<ApiType, []>; + members: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<Option<PalletAuthorityMembersMemberData>>, [u32]> & QueryableStorageEntry<ApiType, [u32]>; + membersExpireOn: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<Vec<u32>>, [u32]> & QueryableStorageEntry<ApiType, [u32]>; + mustRotateKeysBefore: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<Vec<u32>>, [u32]> & QueryableStorageEntry<ApiType, [u32]>; + onlineAuthorities: AugmentedQuery<ApiType, () => Observable<Vec<u32>>, []> & QueryableStorageEntry<ApiType, []>; + outgoingAuthorities: AugmentedQuery<ApiType, () => Observable<Vec<u32>>, []> & QueryableStorageEntry<ApiType, []>; + /** + * Generic query + **/ + [key: string]: QueryableStorageEntry<ApiType>; + }; + authorship: { + /** + * Author of current block. + **/ + author: AugmentedQuery<ApiType, () => Observable<Option<AccountId32>>, []> & QueryableStorageEntry<ApiType, []>; + /** + * Whether uncles were already set in this block. + **/ + didSetUncles: AugmentedQuery<ApiType, () => Observable<bool>, []> & QueryableStorageEntry<ApiType, []>; + /** + * Uncles + **/ + uncles: AugmentedQuery<ApiType, () => Observable<Vec<PalletAuthorshipUncleEntryItem>>, []> & QueryableStorageEntry<ApiType, []>; + /** + * Generic query + **/ + [key: string]: QueryableStorageEntry<ApiType>; + }; + babe: { + /** + * Current epoch authorities. + **/ + authorities: AugmentedQuery<ApiType, () => Observable<Vec<ITuple<[SpConsensusBabeAppPublic, u64]>>>, []> & QueryableStorageEntry<ApiType, []>; + /** + * This field should always be populated during block processing unless + * secondary plain slots are enabled (which don't contain a VRF output). + * + * It is set in `on_initialize`, before it will contain the value from the last block. + **/ + authorVrfRandomness: AugmentedQuery<ApiType, () => Observable<Option<U8aFixed>>, []> & QueryableStorageEntry<ApiType, []>; + /** + * Current slot number. + **/ + currentSlot: AugmentedQuery<ApiType, () => Observable<u64>, []> & QueryableStorageEntry<ApiType, []>; + /** + * The configuration for the current epoch. Should never be `None` as it is initialized in + * genesis. + **/ + epochConfig: AugmentedQuery<ApiType, () => Observable<Option<SpConsensusBabeBabeEpochConfiguration>>, []> & QueryableStorageEntry<ApiType, []>; + /** + * Current epoch index. + **/ + epochIndex: AugmentedQuery<ApiType, () => Observable<u64>, []> & QueryableStorageEntry<ApiType, []>; + /** + * The block numbers when the last and current epoch have started, respectively `N-1` and + * `N`. + * NOTE: We track this is in order to annotate the block number when a given pool of + * entropy was fixed (i.e. it was known to chain observers). Since epochs are defined in + * slots, which may be skipped, the block numbers may not line up with the slot numbers. + **/ + epochStart: AugmentedQuery<ApiType, () => Observable<ITuple<[u32, u32]>>, []> & QueryableStorageEntry<ApiType, []>; + /** + * The slot at which the first epoch actually started. This is 0 + * until the first block of the chain. + **/ + genesisSlot: AugmentedQuery<ApiType, () => Observable<u64>, []> & QueryableStorageEntry<ApiType, []>; + /** + * Temporary value (cleared at block finalization) which is `Some` + * if per-block initialization has already been called for current block. + **/ + initialized: AugmentedQuery<ApiType, () => Observable<Option<Option<U8aFixed>>>, []> & QueryableStorageEntry<ApiType, []>; + /** + * How late the current block is compared to its parent. + * + * This entry is populated as part of block execution and is cleaned up + * on block finalization. Querying this storage entry outside of block + * execution context should always yield zero. + **/ + lateness: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>; + /** + * Next epoch authorities. + **/ + nextAuthorities: AugmentedQuery<ApiType, () => Observable<Vec<ITuple<[SpConsensusBabeAppPublic, u64]>>>, []> & QueryableStorageEntry<ApiType, []>; + /** + * The configuration for the next epoch, `None` if the config will not change + * (you can fallback to `EpochConfig` instead in that case). + **/ + nextEpochConfig: AugmentedQuery<ApiType, () => Observable<Option<SpConsensusBabeBabeEpochConfiguration>>, []> & QueryableStorageEntry<ApiType, []>; + /** + * Next epoch randomness. + **/ + nextRandomness: AugmentedQuery<ApiType, () => Observable<U8aFixed>, []> & QueryableStorageEntry<ApiType, []>; + /** + * Pending epoch configuration change that will be applied when the next epoch is enacted. + **/ + pendingEpochConfigChange: AugmentedQuery<ApiType, () => Observable<Option<SpConsensusBabeDigestsNextConfigDescriptor>>, []> & QueryableStorageEntry<ApiType, []>; + /** + * The epoch randomness for the *current* epoch. + * + * # Security + * + * This MUST NOT be used for gambling, as it can be influenced by a + * malicious validator in the short term. It MAY be used in many + * cryptographic protocols, however, so long as one remembers that this + * (like everything else on-chain) it is public. For example, it can be + * used where a number is needed that cannot have been chosen by an + * adversary, for purposes such as public-coin zero-knowledge proofs. + **/ + randomness: AugmentedQuery<ApiType, () => Observable<U8aFixed>, []> & QueryableStorageEntry<ApiType, []>; + /** + * Randomness under construction. + * + * We make a trade-off between storage accesses and list length. + * We store the under-construction randomness in segments of up to + * `UNDER_CONSTRUCTION_SEGMENT_LENGTH`. + * + * Once a segment reaches this length, we begin the next one. + * We reset all segments and return to `0` at the beginning of every + * epoch. + **/ + segmentIndex: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>; + /** + * TWOX-NOTE: `SegmentIndex` is an increasing integer, so this is okay. + **/ + underConstruction: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<Vec<U8aFixed>>, [u32]> & QueryableStorageEntry<ApiType, [u32]>; + /** + * Generic query + **/ + [key: string]: QueryableStorageEntry<ApiType>; + }; + balances: { + /** + * The Balances pallet example of storing the balance of an account. + * + * # Example + * + * ```nocompile + * impl pallet_balances::Config for Runtime { + * type AccountStore = StorageMapShim<Self::Account<Runtime>, frame_system::Provider<Runtime>, AccountId, Self::AccountData<Balance>> + * } + * ``` + * + * You can also store the balance of an account in the `System` pallet. + * + * # Example + * + * ```nocompile + * impl pallet_balances::Config for Runtime { + * type AccountStore = System + * } + * ``` + * + * But this comes with tradeoffs, storing account balances in the system pallet stores + * `frame_system` data alongside the account data contrary to storing account balances in the + * `Balances` pallet, which uses a `StorageMap` to store balances data only. + * NOTE: This is only used in the case that this pallet is used to store balances. + **/ + account: AugmentedQuery<ApiType, (arg: AccountId32 | string | Uint8Array) => Observable<PalletBalancesAccountData>, [AccountId32]> & QueryableStorageEntry<ApiType, [AccountId32]>; + /** + * Any liquidity locks on some account balances. + * NOTE: Should only be accessed when setting, changing and freeing a lock. + **/ + locks: AugmentedQuery<ApiType, (arg: AccountId32 | string | Uint8Array) => Observable<Vec<PalletBalancesBalanceLock>>, [AccountId32]> & QueryableStorageEntry<ApiType, [AccountId32]>; + /** + * Named reserves on some account balances. + **/ + reserves: AugmentedQuery<ApiType, (arg: AccountId32 | string | Uint8Array) => Observable<Vec<PalletBalancesReserveData>>, [AccountId32]> & QueryableStorageEntry<ApiType, [AccountId32]>; + /** + * Storage version of the pallet. + * + * This is set to v2.0.0 for new networks. + **/ + storageVersion: AugmentedQuery<ApiType, () => Observable<PalletBalancesReleases>, []> & QueryableStorageEntry<ApiType, []>; + /** + * The total units issued in the system. + **/ + totalIssuance: AugmentedQuery<ApiType, () => Observable<u64>, []> & QueryableStorageEntry<ApiType, []>; + /** + * Generic query + **/ + [key: string]: QueryableStorageEntry<ApiType>; + }; + cert: { + /** + * Certifications by issuer + * Certifications by issuer + **/ + storageCertsByIssuer: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: u32 | AnyNumber | Uint8Array) => Observable<Option<PalletCertificationCertValue>>, [u32, u32]> & QueryableStorageEntry<ApiType, [u32, u32]>; + /** + * Certifications by receiver + **/ + storageCertsByReceiver: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<Vec<u32>>, [u32]> & QueryableStorageEntry<ApiType, [u32]>; + /** + * Certifications removable on + **/ + storageCertsRemovableOn: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<Option<Vec<ITuple<[u32, u32]>>>>, [u32]> & QueryableStorageEntry<ApiType, [u32]>; + /** + * Certifications metada by issuer + **/ + storageIdtyCertMeta: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<PalletCertificationIdtyCertMeta>, [u32]> & QueryableStorageEntry<ApiType, [u32]>; + /** + * Generic query + **/ + [key: string]: QueryableStorageEntry<ApiType>; + }; + grandpa: { + /** + * The number of changes (both in terms of keys and underlying economic responsibilities) + * in the "set" of Grandpa validators from genesis. + **/ + currentSetId: AugmentedQuery<ApiType, () => Observable<u64>, []> & QueryableStorageEntry<ApiType, []>; + /** + * next block number where we can force a change. + **/ + nextForced: AugmentedQuery<ApiType, () => Observable<Option<u32>>, []> & QueryableStorageEntry<ApiType, []>; + /** + * Pending change: (signaled at, scheduled change). + **/ + pendingChange: AugmentedQuery<ApiType, () => Observable<Option<PalletGrandpaStoredPendingChange>>, []> & QueryableStorageEntry<ApiType, []>; + /** + * A mapping from grandpa set ID to the index of the *most recent* session for which its + * members were responsible. + * + * TWOX-NOTE: `SetId` is not under user control. + **/ + setIdSession: AugmentedQuery<ApiType, (arg: u64 | AnyNumber | Uint8Array) => Observable<Option<u32>>, [u64]> & QueryableStorageEntry<ApiType, [u64]>; + /** + * `true` if we are currently stalled. + **/ + stalled: AugmentedQuery<ApiType, () => Observable<Option<ITuple<[u32, u32]>>>, []> & QueryableStorageEntry<ApiType, []>; + /** + * State of the current authority set. + **/ + state: AugmentedQuery<ApiType, () => Observable<PalletGrandpaStoredState>, []> & QueryableStorageEntry<ApiType, []>; + /** + * Generic query + **/ + [key: string]: QueryableStorageEntry<ApiType>; + }; + identity: { + /** + * Counter for the related counted storage map + **/ + counterForIdentities: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>; + identities: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<Option<PalletIdentityIdtyValue>>, [u32]> & QueryableStorageEntry<ApiType, [u32]>; + identitiesNames: AugmentedQuery<ApiType, (arg: Text | string) => Observable<Option<Null>>, [Text]> & QueryableStorageEntry<ApiType, [Text]>; + /** + * Identities by removed block + **/ + identitiesRemovableOn: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<Vec<ITuple<[u32, PalletIdentityIdtyStatus]>>>, [u32]> & QueryableStorageEntry<ApiType, [u32]>; + identityIndexOf: AugmentedQuery<ApiType, (arg: AccountId32 | string | Uint8Array) => Observable<Option<u32>>, [AccountId32]> & QueryableStorageEntry<ApiType, [AccountId32]>; + nextIdtyIndex: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>; + /** + * Generic query + **/ + [key: string]: QueryableStorageEntry<ApiType>; + }; + imOnline: { + /** + * For each session index, we keep a mapping of `ValidatorId<T>` to the + * number of blocks authored by the given authority. + **/ + authoredBlocks: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: AccountId32 | string | Uint8Array) => Observable<u32>, [u32, AccountId32]> & QueryableStorageEntry<ApiType, [u32, AccountId32]>; + /** + * The block number after which it's ok to send heartbeats in the current + * session. + * + * At the beginning of each session we set this to a value that should fall + * roughly in the middle of the session duration. The idea is to first wait for + * the validators to produce a block in the current session, so that the + * heartbeat later on will not be necessary. + * + * This value will only be used as a fallback if we fail to get a proper session + * progress estimate from `NextSessionRotation`, as those estimates should be + * more accurate then the value we calculate for `HeartbeatAfter`. + **/ + heartbeatAfter: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>; + /** + * The current set of keys that may issue a heartbeat. + **/ + keys: AugmentedQuery<ApiType, () => Observable<Vec<PalletImOnlineSr25519AppSr25519Public>>, []> & QueryableStorageEntry<ApiType, []>; + /** + * For each session index, we keep a mapping of `SessionIndex` and `AuthIndex` to + * `WrapperOpaque<BoundedOpaqueNetworkState>`. + **/ + receivedHeartbeats: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: u32 | AnyNumber | Uint8Array) => Observable<Option<WrapperOpaque<PalletImOnlineBoundedOpaqueNetworkState>>>, [u32, u32]> & QueryableStorageEntry<ApiType, [u32, u32]>; + /** + * Generic query + **/ + [key: string]: QueryableStorageEntry<ApiType>; + }; + membership: { + /** + * Counter for the related counted storage map + **/ + counterForMembership: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>; + membership: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<Option<SpMembershipMembershipData>>, [u32]> & QueryableStorageEntry<ApiType, [u32]>; + membershipsExpireOn: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<Vec<u32>>, [u32]> & QueryableStorageEntry<ApiType, [u32]>; + pendingMembership: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<Option<AccountId32>>, [u32]> & QueryableStorageEntry<ApiType, [u32]>; + pendingMembershipsExpireOn: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<Vec<u32>>, [u32]> & QueryableStorageEntry<ApiType, [u32]>; + revokedMembership: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<Option<Null>>, [u32]> & QueryableStorageEntry<ApiType, [u32]>; + revokedMembershipsPrunedOn: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<Option<Vec<u32>>>, [u32]> & QueryableStorageEntry<ApiType, [u32]>; + /** + * Generic query + **/ + [key: string]: QueryableStorageEntry<ApiType>; + }; + multisig: { + calls: AugmentedQuery<ApiType, (arg: U8aFixed | string | Uint8Array) => Observable<Option<ITuple<[WrapperKeepOpaque<Call>, AccountId32, u64]>>>, [U8aFixed]> & QueryableStorageEntry<ApiType, [U8aFixed]>; + /** + * The set of open multisig operations. + **/ + multisigs: AugmentedQuery<ApiType, (arg1: AccountId32 | string | Uint8Array, arg2: U8aFixed | string | Uint8Array) => Observable<Option<PalletMultisigMultisig>>, [AccountId32, U8aFixed]> & QueryableStorageEntry<ApiType, [AccountId32, U8aFixed]>; + /** + * Generic query + **/ + [key: string]: QueryableStorageEntry<ApiType>; + }; + offences: { + /** + * A vector of reports of the same kind that happened at the same time slot. + **/ + concurrentReportsIndex: AugmentedQuery<ApiType, (arg1: U8aFixed | string | Uint8Array, arg2: Bytes | string | Uint8Array) => Observable<Vec<H256>>, [U8aFixed, Bytes]> & QueryableStorageEntry<ApiType, [U8aFixed, Bytes]>; + /** + * The primary structure that holds all offence records keyed by report identifiers. + **/ + reports: AugmentedQuery<ApiType, (arg: H256 | string | Uint8Array) => Observable<Option<SpStakingOffenceOffenceDetails>>, [H256]> & QueryableStorageEntry<ApiType, [H256]>; + /** + * Enumerates all reports of a kind along with the time they happened. + * + * All reports are sorted by the time of offence. + * + * Note that the actual type of this mapping is `Vec<u8>`, this is because values of + * different types are not supported at the moment so we are doing the manual serialization. + **/ + reportsByKindIndex: AugmentedQuery<ApiType, (arg: U8aFixed | string | Uint8Array) => Observable<Bytes>, [U8aFixed]> & QueryableStorageEntry<ApiType, [U8aFixed]>; + /** + * Generic query + **/ + [key: string]: QueryableStorageEntry<ApiType>; + }; + parameters: { + parametersStorage: AugmentedQuery<ApiType, () => Observable<PalletDuniterTestParametersParameters>, []> & QueryableStorageEntry<ApiType, []>; + /** + * Generic query + **/ + [key: string]: QueryableStorageEntry<ApiType>; + }; + preimage: { + /** + * The preimages stored by this pallet. + **/ + preimageFor: AugmentedQuery<ApiType, (arg: H256 | string | Uint8Array) => Observable<Option<Bytes>>, [H256]> & QueryableStorageEntry<ApiType, [H256]>; + /** + * The request status of a given hash. + **/ + statusFor: AugmentedQuery<ApiType, (arg: H256 | string | Uint8Array) => Observable<Option<PalletPreimageRequestStatus>>, [H256]> & QueryableStorageEntry<ApiType, [H256]>; + /** + * Generic query + **/ + [key: string]: QueryableStorageEntry<ApiType>; + }; + provideRandomness: { + /** + * Counter for the related counted storage map + **/ + counterForRequestsIds: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>; + nexEpochHookIn: AugmentedQuery<ApiType, () => Observable<u8>, []> & QueryableStorageEntry<ApiType, []>; + requestIdProvider: AugmentedQuery<ApiType, () => Observable<u64>, []> & QueryableStorageEntry<ApiType, []>; + requestsIds: AugmentedQuery<ApiType, (arg: u64 | AnyNumber | Uint8Array) => Observable<Option<Null>>, [u64]> & QueryableStorageEntry<ApiType, [u64]>; + requestsReadyAtEpoch: AugmentedQuery<ApiType, (arg: u64 | AnyNumber | Uint8Array) => Observable<Vec<PalletProvideRandomnessRequest>>, [u64]> & QueryableStorageEntry<ApiType, [u64]>; + requestsReadyAtNextBlock: AugmentedQuery<ApiType, () => Observable<Vec<PalletProvideRandomnessRequest>>, []> & QueryableStorageEntry<ApiType, []>; + /** + * Generic query + **/ + [key: string]: QueryableStorageEntry<ApiType>; + }; + proxy: { + /** + * The announcements made by the proxy (key). + **/ + announcements: AugmentedQuery<ApiType, (arg: AccountId32 | string | Uint8Array) => Observable<ITuple<[Vec<PalletProxyAnnouncement>, u64]>>, [AccountId32]> & QueryableStorageEntry<ApiType, [AccountId32]>; + /** + * The set of account proxies. Maps the account which has delegated to the accounts + * which are being delegated to, together with the amount held on deposit. + **/ + proxies: AugmentedQuery<ApiType, (arg: AccountId32 | string | Uint8Array) => Observable<ITuple<[Vec<PalletProxyProxyDefinition>, u64]>>, [AccountId32]> & QueryableStorageEntry<ApiType, [AccountId32]>; + /** + * Generic query + **/ + [key: string]: QueryableStorageEntry<ApiType>; + }; + scheduler: { + /** + * Items to be executed, indexed by the block number that they should be executed on. + **/ + agenda: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<Vec<Option<PalletSchedulerScheduledV3>>>, [u32]> & QueryableStorageEntry<ApiType, [u32]>; + /** + * Lookup from identity to the block number and index of the task. + **/ + lookup: AugmentedQuery<ApiType, (arg: Bytes | string | Uint8Array) => Observable<Option<ITuple<[u32, u32]>>>, [Bytes]> & QueryableStorageEntry<ApiType, [Bytes]>; + /** + * Generic query + **/ + [key: string]: QueryableStorageEntry<ApiType>; + }; + session: { + /** + * Current index of the session. + **/ + currentIndex: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>; + /** + * Indices of disabled validators. + * + * The vec is always kept sorted so that we can find whether a given validator is + * disabled using binary search. It gets cleared when `on_session_ending` returns + * a new set of identities. + **/ + disabledValidators: AugmentedQuery<ApiType, () => Observable<Vec<u32>>, []> & QueryableStorageEntry<ApiType, []>; + /** + * The owner of a key. The key is the `KeyTypeId` + the encoded key. + **/ + keyOwner: AugmentedQuery<ApiType, (arg: ITuple<[SpCoreCryptoKeyTypeId, Bytes]> | [SpCoreCryptoKeyTypeId | string | Uint8Array, Bytes | string | Uint8Array]) => Observable<Option<AccountId32>>, [ITuple<[SpCoreCryptoKeyTypeId, Bytes]>]> & QueryableStorageEntry<ApiType, [ITuple<[SpCoreCryptoKeyTypeId, Bytes]>]>; + /** + * The next session keys for a validator. + **/ + nextKeys: AugmentedQuery<ApiType, (arg: AccountId32 | string | Uint8Array) => Observable<Option<GdevRuntimeOpaqueSessionKeys>>, [AccountId32]> & QueryableStorageEntry<ApiType, [AccountId32]>; + /** + * True if the underlying economic identities or weighting behind the validators + * has changed in the queued validator set. + **/ + queuedChanged: AugmentedQuery<ApiType, () => Observable<bool>, []> & QueryableStorageEntry<ApiType, []>; + /** + * The queued keys for the next session. When the next session begins, these keys + * will be used to determine the validator's session keys. + **/ + queuedKeys: AugmentedQuery<ApiType, () => Observable<Vec<ITuple<[AccountId32, GdevRuntimeOpaqueSessionKeys]>>>, []> & QueryableStorageEntry<ApiType, []>; + /** + * The current set of validators. + **/ + validators: AugmentedQuery<ApiType, () => Observable<Vec<AccountId32>>, []> & QueryableStorageEntry<ApiType, []>; + /** + * Generic query + **/ + [key: string]: QueryableStorageEntry<ApiType>; + }; + smithsCert: { + /** + * Certifications by issuer + * Certifications by issuer + **/ + storageCertsByIssuer: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: u32 | AnyNumber | Uint8Array) => Observable<Option<PalletCertificationCertValue>>, [u32, u32]> & QueryableStorageEntry<ApiType, [u32, u32]>; + /** + * Certifications by receiver + **/ + storageCertsByReceiver: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<Vec<u32>>, [u32]> & QueryableStorageEntry<ApiType, [u32]>; + /** + * Certifications removable on + **/ + storageCertsRemovableOn: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<Option<Vec<ITuple<[u32, u32]>>>>, [u32]> & QueryableStorageEntry<ApiType, [u32]>; + /** + * Certifications metada by issuer + **/ + storageIdtyCertMeta: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<PalletCertificationIdtyCertMeta>, [u32]> & QueryableStorageEntry<ApiType, [u32]>; + /** + * Generic query + **/ + [key: string]: QueryableStorageEntry<ApiType>; + }; + smithsCollective: { + /** + * The current members of the collective. This is stored sorted (just by value). + **/ + members: AugmentedQuery<ApiType, () => Observable<Vec<AccountId32>>, []> & QueryableStorageEntry<ApiType, []>; + /** + * The prime member that helps determine the default vote behavior in case of absentations. + **/ + prime: AugmentedQuery<ApiType, () => Observable<Option<AccountId32>>, []> & QueryableStorageEntry<ApiType, []>; + /** + * Proposals so far. + **/ + proposalCount: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>; + /** + * Actual proposal for a given hash, if it's current. + **/ + proposalOf: AugmentedQuery<ApiType, (arg: H256 | string | Uint8Array) => Observable<Option<Call>>, [H256]> & QueryableStorageEntry<ApiType, [H256]>; + /** + * The hashes of the active proposals. + **/ + proposals: AugmentedQuery<ApiType, () => Observable<Vec<H256>>, []> & QueryableStorageEntry<ApiType, []>; + /** + * Votes on a given proposal, if it is ongoing. + **/ + voting: AugmentedQuery<ApiType, (arg: H256 | string | Uint8Array) => Observable<Option<PalletCollectiveVotes>>, [H256]> & QueryableStorageEntry<ApiType, [H256]>; + /** + * Generic query + **/ + [key: string]: QueryableStorageEntry<ApiType>; + }; + smithsMembership: { + /** + * Counter for the related counted storage map + **/ + counterForMembership: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>; + membership: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<Option<SpMembershipMembershipData>>, [u32]> & QueryableStorageEntry<ApiType, [u32]>; + membershipsExpireOn: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<Vec<u32>>, [u32]> & QueryableStorageEntry<ApiType, [u32]>; + pendingMembership: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<Option<CommonRuntimeEntitiesSmithsMembershipMetaData>>, [u32]> & QueryableStorageEntry<ApiType, [u32]>; + pendingMembershipsExpireOn: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<Vec<u32>>, [u32]> & QueryableStorageEntry<ApiType, [u32]>; + revokedMembership: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<Option<Null>>, [u32]> & QueryableStorageEntry<ApiType, [u32]>; + revokedMembershipsPrunedOn: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<Option<Vec<u32>>>, [u32]> & QueryableStorageEntry<ApiType, [u32]>; + /** + * Generic query + **/ + [key: string]: QueryableStorageEntry<ApiType>; + }; + sudo: { + /** + * The `AccountId` of the sudo key. + **/ + key: AugmentedQuery<ApiType, () => Observable<Option<AccountId32>>, []> & QueryableStorageEntry<ApiType, []>; + /** + * Generic query + **/ + [key: string]: QueryableStorageEntry<ApiType>; + }; + system: { + /** + * The full account information for a particular account ID. + **/ + account: AugmentedQuery<ApiType, (arg: AccountId32 | string | Uint8Array) => Observable<FrameSystemAccountInfo>, [AccountId32]> & QueryableStorageEntry<ApiType, [AccountId32]>; + /** + * Total length (in bytes) for all extrinsics put together, for the current block. + **/ + allExtrinsicsLen: AugmentedQuery<ApiType, () => Observable<Option<u32>>, []> & QueryableStorageEntry<ApiType, []>; + /** + * Map of block numbers to block hashes. + **/ + blockHash: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<H256>, [u32]> & QueryableStorageEntry<ApiType, [u32]>; + /** + * The current weight for the block. + **/ + blockWeight: AugmentedQuery<ApiType, () => Observable<FrameSupportWeightsPerDispatchClassU64>, []> & QueryableStorageEntry<ApiType, []>; + /** + * Digest of the current block, also part of the block header. + **/ + digest: AugmentedQuery<ApiType, () => Observable<SpRuntimeDigest>, []> & QueryableStorageEntry<ApiType, []>; + /** + * The number of events in the `Events<T>` list. + **/ + eventCount: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>; + /** + * Events deposited for the current block. + * + * NOTE: This storage item is explicitly unbounded since it is never intended to be read + * from within the runtime. + **/ + events: AugmentedQuery<ApiType, () => Observable<Vec<FrameSystemEventRecord>>, []> & QueryableStorageEntry<ApiType, []>; + /** + * Mapping between a topic (represented by T::Hash) and a vector of indexes + * of events in the `<Events<T>>` list. + * + * All topic vectors have deterministic storage locations depending on the topic. This + * allows light-clients to leverage the changes trie storage tracking mechanism and + * in case of changes fetch the list of events of interest. + * + * The value has the type `(T::BlockNumber, EventIndex)` because if we used only just + * the `EventIndex` then in case if the topic has the same contents on the next block + * no notification will be triggered thus the event might be lost. + **/ + eventTopics: AugmentedQuery<ApiType, (arg: H256 | string | Uint8Array) => Observable<Vec<ITuple<[u32, u32]>>>, [H256]> & QueryableStorageEntry<ApiType, [H256]>; + /** + * The execution phase of the block. + **/ + executionPhase: AugmentedQuery<ApiType, () => Observable<Option<FrameSystemPhase>>, []> & QueryableStorageEntry<ApiType, []>; + /** + * Total extrinsics count for the current block. + **/ + extrinsicCount: AugmentedQuery<ApiType, () => Observable<Option<u32>>, []> & QueryableStorageEntry<ApiType, []>; + /** + * Extrinsics data for the current block (maps an extrinsic's index to its data). + **/ + extrinsicData: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<Bytes>, [u32]> & QueryableStorageEntry<ApiType, [u32]>; + /** + * Stores the `spec_version` and `spec_name` of when the last runtime upgrade happened. + **/ + lastRuntimeUpgrade: AugmentedQuery<ApiType, () => Observable<Option<FrameSystemLastRuntimeUpgradeInfo>>, []> & QueryableStorageEntry<ApiType, []>; + /** + * The current block number being processed. Set by `execute_block`. + **/ + number: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>; + /** + * Hash of the previous block. + **/ + parentHash: AugmentedQuery<ApiType, () => Observable<H256>, []> & QueryableStorageEntry<ApiType, []>; + /** + * True if we have upgraded so that AccountInfo contains three types of `RefCount`. False + * (default) if not. + **/ + upgradedToTripleRefCount: AugmentedQuery<ApiType, () => Observable<bool>, []> & QueryableStorageEntry<ApiType, []>; + /** + * True if we have upgraded so that `type RefCount` is `u32`. False (default) if not. + **/ + upgradedToU32RefCount: AugmentedQuery<ApiType, () => Observable<bool>, []> & QueryableStorageEntry<ApiType, []>; + /** + * Generic query + **/ + [key: string]: QueryableStorageEntry<ApiType>; + }; + timestamp: { + /** + * Did the timestamp get updated in this block? + **/ + didUpdate: AugmentedQuery<ApiType, () => Observable<bool>, []> & QueryableStorageEntry<ApiType, []>; + /** + * Current time for the current block. + **/ + now: AugmentedQuery<ApiType, () => Observable<u64>, []> & QueryableStorageEntry<ApiType, []>; + /** + * Generic query + **/ + [key: string]: QueryableStorageEntry<ApiType>; + }; + transactionPayment: { + nextFeeMultiplier: AugmentedQuery<ApiType, () => Observable<u128>, []> & QueryableStorageEntry<ApiType, []>; + storageVersion: AugmentedQuery<ApiType, () => Observable<PalletTransactionPaymentReleases>, []> & QueryableStorageEntry<ApiType, []>; + /** + * Generic query + **/ + [key: string]: QueryableStorageEntry<ApiType>; + }; + treasury: { + /** + * Proposal indices that have been approved but not yet awarded. + **/ + approvals: AugmentedQuery<ApiType, () => Observable<Vec<u32>>, []> & QueryableStorageEntry<ApiType, []>; + /** + * Number of proposals that have been made. + **/ + proposalCount: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>; + /** + * Proposals that have been made. + **/ + proposals: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<Option<PalletTreasuryProposal>>, [u32]> & QueryableStorageEntry<ApiType, [u32]>; + /** + * Generic query + **/ + [key: string]: QueryableStorageEntry<ApiType>; + }; + udAccountsStorage: { + /** + * Counter for the related counted storage map + **/ + counterForUdAccounts: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>; + udAccounts: AugmentedQuery<ApiType, (arg: AccountId32 | string | Uint8Array) => Observable<Null>, [AccountId32]> & QueryableStorageEntry<ApiType, [AccountId32]>; + /** + * Generic query + **/ + [key: string]: QueryableStorageEntry<ApiType>; + }; + universalDividend: { + /** + * Current UD amount + **/ + currentUd: AugmentedQuery<ApiType, () => Observable<u64>, []> & QueryableStorageEntry<ApiType, []>; + /** + * Total quantity of money created by universal dividend (does not take into account the possible destruction of money) + **/ + monetaryMass: AugmentedQuery<ApiType, () => Observable<u64>, []> & QueryableStorageEntry<ApiType, []>; + /** + * Next UD reevaluation + **/ + nextReeval: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>; + /** + * Generic query + **/ + [key: string]: QueryableStorageEntry<ApiType>; + }; + } // AugmentedQueries +} // declare module diff --git a/src/interfaces/augment-api-rpc.ts b/src/interfaces/augment-api-rpc.ts new file mode 100644 index 0000000..9c59cca --- /dev/null +++ b/src/interfaces/augment-api-rpc.ts @@ -0,0 +1,586 @@ +// Auto-generated via `yarn polkadot-types-from-chain`, do not edit +/* eslint-disable */ + +import type { AugmentedRpc } from '@polkadot/rpc-core/types'; +import type { Metadata, StorageKey } from '@polkadot/types'; +import type { Bytes, HashMap, Json, Null, Option, Text, U256, U64, Vec, bool, u32, u64 } from '@polkadot/types-codec'; +import type { AnyNumber, Codec } from '@polkadot/types-codec/types'; +import type { ExtrinsicOrHash, ExtrinsicStatus } from '@polkadot/types/interfaces/author'; +import type { EpochAuthorship } from '@polkadot/types/interfaces/babe'; +import type { BeefySignedCommitment } from '@polkadot/types/interfaces/beefy'; +import type { BlockHash } from '@polkadot/types/interfaces/chain'; +import type { PrefixedStorageKey } from '@polkadot/types/interfaces/childstate'; +import type { AuthorityId } from '@polkadot/types/interfaces/consensus'; +import type { CodeUploadRequest, CodeUploadResult, ContractCallRequest, ContractExecResult, ContractInstantiateResult, InstantiateRequest } from '@polkadot/types/interfaces/contracts'; +import type { BlockStats } from '@polkadot/types/interfaces/dev'; +import type { CreatedBlock } from '@polkadot/types/interfaces/engine'; +import type { EthAccount, EthCallRequest, EthFilter, EthFilterChanges, EthLog, EthReceipt, EthRichBlock, EthSubKind, EthSubParams, EthSyncStatus, EthTransaction, EthTransactionRequest, EthWork } from '@polkadot/types/interfaces/eth'; +import type { Extrinsic } from '@polkadot/types/interfaces/extrinsics'; +import type { EncodedFinalityProofs, JustificationNotification, ReportedRoundStates } from '@polkadot/types/interfaces/grandpa'; +import type { MmrLeafBatchProof, MmrLeafProof } from '@polkadot/types/interfaces/mmr'; +import type { StorageKind } from '@polkadot/types/interfaces/offchain'; +import type { FeeDetails, RuntimeDispatchInfo } from '@polkadot/types/interfaces/payment'; +import type { RpcMethods } from '@polkadot/types/interfaces/rpc'; +import type { AccountId, BlockNumber, H160, H256, H64, Hash, Header, Index, Justification, KeyValue, SignedBlock, StorageData } from '@polkadot/types/interfaces/runtime'; +import type { MigrationStatusResult, ReadProof, RuntimeVersion, TraceBlockResponse } from '@polkadot/types/interfaces/state'; +import type { ApplyExtrinsicResult, ChainProperties, ChainType, Health, NetworkState, NodeRole, PeerInfo, SyncState } from '@polkadot/types/interfaces/system'; +import type { IExtrinsic, Observable } from '@polkadot/types/types'; + +declare module '@polkadot/rpc-core/types/jsonrpc' { + export interface RpcInterface { + author: { + /** + * Returns true if the keystore has private keys for the given public key and key type. + **/ + hasKey: AugmentedRpc<(publicKey: Bytes | string | Uint8Array, keyType: Text | string) => Observable<bool>>; + /** + * Returns true if the keystore has private keys for the given session public keys. + **/ + hasSessionKeys: AugmentedRpc<(sessionKeys: Bytes | string | Uint8Array) => Observable<bool>>; + /** + * Insert a key into the keystore. + **/ + insertKey: AugmentedRpc<(keyType: Text | string, suri: Text | string, publicKey: Bytes | string | Uint8Array) => Observable<Bytes>>; + /** + * Returns all pending extrinsics, potentially grouped by sender + **/ + pendingExtrinsics: AugmentedRpc<() => Observable<Vec<Extrinsic>>>; + /** + * Remove given extrinsic from the pool and temporarily ban it to prevent reimporting + **/ + removeExtrinsic: AugmentedRpc<(bytesOrHash: Vec<ExtrinsicOrHash> | (ExtrinsicOrHash | { Hash: any } | { Extrinsic: any } | string | Uint8Array)[]) => Observable<Vec<Hash>>>; + /** + * Generate new session keys and returns the corresponding public keys + **/ + rotateKeys: AugmentedRpc<() => Observable<Bytes>>; + /** + * Submit and subscribe to watch an extrinsic until unsubscribed + **/ + submitAndWatchExtrinsic: AugmentedRpc<(extrinsic: IExtrinsic) => Observable<ExtrinsicStatus>>; + /** + * Submit a fully formatted extrinsic for block inclusion + **/ + submitExtrinsic: AugmentedRpc<(extrinsic: IExtrinsic) => Observable<Hash>>; + }; + babe: { + /** + * Returns data about which slots (primary or secondary) can be claimed in the current epoch with the keys in the keystore + **/ + epochAuthorship: AugmentedRpc<() => Observable<HashMap<AuthorityId, EpochAuthorship>>>; + }; + beefy: { + /** + * Returns hash of the latest BEEFY finalized block as seen by this client. + **/ + getFinalizedHead: AugmentedRpc<() => Observable<H256>>; + /** + * Returns the block most recently finalized by BEEFY, alongside side its justification. + **/ + subscribeJustifications: AugmentedRpc<() => Observable<BeefySignedCommitment>>; + }; + chain: { + /** + * Get header and body of a relay chain block + **/ + getBlock: AugmentedRpc<(hash?: BlockHash | string | Uint8Array) => Observable<SignedBlock>>; + /** + * Get the block hash for a specific block + **/ + getBlockHash: AugmentedRpc<(blockNumber?: BlockNumber | AnyNumber | Uint8Array) => Observable<BlockHash>>; + /** + * Get hash of the last finalized block in the canon chain + **/ + getFinalizedHead: AugmentedRpc<() => Observable<BlockHash>>; + /** + * Retrieves the header for a specific block + **/ + getHeader: AugmentedRpc<(hash?: BlockHash | string | Uint8Array) => Observable<Header>>; + /** + * Retrieves the newest header via subscription + **/ + subscribeAllHeads: AugmentedRpc<() => Observable<Header>>; + /** + * Retrieves the best finalized header via subscription + **/ + subscribeFinalizedHeads: AugmentedRpc<() => Observable<Header>>; + /** + * Retrieves the best header via subscription + **/ + subscribeNewHeads: AugmentedRpc<() => Observable<Header>>; + }; + childstate: { + /** + * Returns the keys with prefix from a child storage, leave empty to get all the keys + **/ + getKeys: AugmentedRpc<(childKey: PrefixedStorageKey | string | Uint8Array, prefix: StorageKey | string | Uint8Array | any, at?: Hash | string | Uint8Array) => Observable<Vec<StorageKey>>>; + /** + * Returns the keys with prefix from a child storage with pagination support + **/ + getKeysPaged: AugmentedRpc<(childKey: PrefixedStorageKey | string | Uint8Array, prefix: StorageKey | string | Uint8Array | any, count: u32 | AnyNumber | Uint8Array, startKey?: StorageKey | string | Uint8Array | any, at?: Hash | string | Uint8Array) => Observable<Vec<StorageKey>>>; + /** + * Returns a child storage entry at a specific block state + **/ + getStorage: AugmentedRpc<(childKey: PrefixedStorageKey | string | Uint8Array, key: StorageKey | string | Uint8Array | any, at?: Hash | string | Uint8Array) => Observable<Option<StorageData>>>; + /** + * Returns child storage entries for multiple keys at a specific block state + **/ + getStorageEntries: AugmentedRpc<(childKey: PrefixedStorageKey | string | Uint8Array, keys: Vec<StorageKey> | (StorageKey | string | Uint8Array | any)[], at?: Hash | string | Uint8Array) => Observable<Vec<Option<StorageData>>>>; + /** + * Returns the hash of a child storage entry at a block state + **/ + getStorageHash: AugmentedRpc<(childKey: PrefixedStorageKey | string | Uint8Array, key: StorageKey | string | Uint8Array | any, at?: Hash | string | Uint8Array) => Observable<Option<Hash>>>; + /** + * Returns the size of a child storage entry at a block state + **/ + getStorageSize: AugmentedRpc<(childKey: PrefixedStorageKey | string | Uint8Array, key: StorageKey | string | Uint8Array | any, at?: Hash | string | Uint8Array) => Observable<Option<u64>>>; + }; + contracts: { + /** + * Executes a call to a contract + **/ + call: AugmentedRpc<(callRequest: ContractCallRequest | { origin?: any; dest?: any; value?: any; gasLimit?: any; storageDepositLimit?: any; inputData?: any } | string | Uint8Array, at?: BlockHash | string | Uint8Array) => Observable<ContractExecResult>>; + /** + * Returns the value under a specified storage key in a contract + **/ + getStorage: AugmentedRpc<(address: AccountId | string | Uint8Array, key: H256 | string | Uint8Array, at?: BlockHash | string | Uint8Array) => Observable<Option<Bytes>>>; + /** + * Instantiate a new contract + **/ + instantiate: AugmentedRpc<(request: InstantiateRequest | { origin?: any; value?: any; gasLimit?: any; storageDepositLimit?: any; code?: any; data?: any; salt?: any } | string | Uint8Array, at?: BlockHash | string | Uint8Array) => Observable<ContractInstantiateResult>>; + /** + * Returns the projected time a given contract will be able to sustain paying its rent + **/ + rentProjection: AugmentedRpc<(address: AccountId | string | Uint8Array, at?: BlockHash | string | Uint8Array) => Observable<Option<BlockNumber>>>; + /** + * Upload new code without instantiating a contract from it + **/ + uploadCode: AugmentedRpc<(uploadRequest: CodeUploadRequest | { origin?: any; code?: any; storageDepositLimit?: any } | string | Uint8Array, at?: BlockHash | string | Uint8Array) => Observable<CodeUploadResult>>; + }; + dev: { + /** + * Reexecute the specified `block_hash` and gather statistics while doing so + **/ + getBlockStats: AugmentedRpc<(at: Hash | string | Uint8Array) => Observable<Option<BlockStats>>>; + }; + engine: { + /** + * Instructs the manual-seal authorship task to create a new block + **/ + createBlock: AugmentedRpc<(createEmpty: bool | boolean | Uint8Array, finalize: bool | boolean | Uint8Array, parentHash?: BlockHash | string | Uint8Array) => Observable<CreatedBlock>>; + /** + * Instructs the manual-seal authorship task to finalize a block + **/ + finalizeBlock: AugmentedRpc<(hash: BlockHash | string | Uint8Array, justification?: Justification) => Observable<bool>>; + }; + eth: { + /** + * Returns accounts list. + **/ + accounts: AugmentedRpc<() => Observable<Vec<H160>>>; + /** + * Returns the blockNumber + **/ + blockNumber: AugmentedRpc<() => Observable<U256>>; + /** + * Call contract, returning the output data. + **/ + call: AugmentedRpc<(request: EthCallRequest | { from?: any; to?: any; gasPrice?: any; gas?: any; value?: any; data?: any; nonce?: any } | string | Uint8Array, number?: BlockNumber | AnyNumber | Uint8Array) => Observable<Bytes>>; + /** + * Returns the chain ID used for transaction signing at the current best block. None is returned if not available. + **/ + chainId: AugmentedRpc<() => Observable<U64>>; + /** + * Returns block author. + **/ + coinbase: AugmentedRpc<() => Observable<H160>>; + /** + * Estimate gas needed for execution of given contract. + **/ + estimateGas: AugmentedRpc<(request: EthCallRequest | { from?: any; to?: any; gasPrice?: any; gas?: any; value?: any; data?: any; nonce?: any } | string | Uint8Array, number?: BlockNumber | AnyNumber | Uint8Array) => Observable<U256>>; + /** + * Returns current gas price. + **/ + gasPrice: AugmentedRpc<() => Observable<U256>>; + /** + * Returns balance of the given account. + **/ + getBalance: AugmentedRpc<(address: H160 | string | Uint8Array, number?: BlockNumber | AnyNumber | Uint8Array) => Observable<U256>>; + /** + * Returns block with given hash. + **/ + getBlockByHash: AugmentedRpc<(hash: H256 | string | Uint8Array, full: bool | boolean | Uint8Array) => Observable<Option<EthRichBlock>>>; + /** + * Returns block with given number. + **/ + getBlockByNumber: AugmentedRpc<(block: BlockNumber | AnyNumber | Uint8Array, full: bool | boolean | Uint8Array) => Observable<Option<EthRichBlock>>>; + /** + * Returns the number of transactions in a block with given hash. + **/ + getBlockTransactionCountByHash: AugmentedRpc<(hash: H256 | string | Uint8Array) => Observable<U256>>; + /** + * Returns the number of transactions in a block with given block number. + **/ + getBlockTransactionCountByNumber: AugmentedRpc<(block: BlockNumber | AnyNumber | Uint8Array) => Observable<U256>>; + /** + * Returns the code at given address at given time (block number). + **/ + getCode: AugmentedRpc<(address: H160 | string | Uint8Array, number?: BlockNumber | AnyNumber | Uint8Array) => Observable<Bytes>>; + /** + * Returns filter changes since last poll. + **/ + getFilterChanges: AugmentedRpc<(index: U256 | AnyNumber | Uint8Array) => Observable<EthFilterChanges>>; + /** + * Returns all logs matching given filter (in a range 'from' - 'to'). + **/ + getFilterLogs: AugmentedRpc<(index: U256 | AnyNumber | Uint8Array) => Observable<Vec<EthLog>>>; + /** + * Returns logs matching given filter object. + **/ + getLogs: AugmentedRpc<(filter: EthFilter | { fromBlock?: any; toBlock?: any; blockHash?: any; address?: any; topics?: any } | string | Uint8Array) => Observable<Vec<EthLog>>>; + /** + * Returns proof for account and storage. + **/ + getProof: AugmentedRpc<(address: H160 | string | Uint8Array, storageKeys: Vec<H256> | (H256 | string | Uint8Array)[], number: BlockNumber | AnyNumber | Uint8Array) => Observable<EthAccount>>; + /** + * Returns content of the storage at given address. + **/ + getStorageAt: AugmentedRpc<(address: H160 | string | Uint8Array, index: U256 | AnyNumber | Uint8Array, number?: BlockNumber | AnyNumber | Uint8Array) => Observable<H256>>; + /** + * Returns transaction at given block hash and index. + **/ + getTransactionByBlockHashAndIndex: AugmentedRpc<(hash: H256 | string | Uint8Array, index: U256 | AnyNumber | Uint8Array) => Observable<EthTransaction>>; + /** + * Returns transaction by given block number and index. + **/ + getTransactionByBlockNumberAndIndex: AugmentedRpc<(number: BlockNumber | AnyNumber | Uint8Array, index: U256 | AnyNumber | Uint8Array) => Observable<EthTransaction>>; + /** + * Get transaction by its hash. + **/ + getTransactionByHash: AugmentedRpc<(hash: H256 | string | Uint8Array) => Observable<EthTransaction>>; + /** + * Returns the number of transactions sent from given address at given time (block number). + **/ + getTransactionCount: AugmentedRpc<(hash: H256 | string | Uint8Array, number?: BlockNumber | AnyNumber | Uint8Array) => Observable<U256>>; + /** + * Returns transaction receipt by transaction hash. + **/ + getTransactionReceipt: AugmentedRpc<(hash: H256 | string | Uint8Array) => Observable<EthReceipt>>; + /** + * Returns an uncles at given block and index. + **/ + getUncleByBlockHashAndIndex: AugmentedRpc<(hash: H256 | string | Uint8Array, index: U256 | AnyNumber | Uint8Array) => Observable<EthRichBlock>>; + /** + * Returns an uncles at given block and index. + **/ + getUncleByBlockNumberAndIndex: AugmentedRpc<(number: BlockNumber | AnyNumber | Uint8Array, index: U256 | AnyNumber | Uint8Array) => Observable<EthRichBlock>>; + /** + * Returns the number of uncles in a block with given hash. + **/ + getUncleCountByBlockHash: AugmentedRpc<(hash: H256 | string | Uint8Array) => Observable<U256>>; + /** + * Returns the number of uncles in a block with given block number. + **/ + getUncleCountByBlockNumber: AugmentedRpc<(number: BlockNumber | AnyNumber | Uint8Array) => Observable<U256>>; + /** + * Returns the hash of the current block, the seedHash, and the boundary condition to be met. + **/ + getWork: AugmentedRpc<() => Observable<EthWork>>; + /** + * Returns the number of hashes per second that the node is mining with. + **/ + hashrate: AugmentedRpc<() => Observable<U256>>; + /** + * Returns true if client is actively mining new blocks. + **/ + mining: AugmentedRpc<() => Observable<bool>>; + /** + * Returns id of new block filter. + **/ + newBlockFilter: AugmentedRpc<() => Observable<U256>>; + /** + * Returns id of new filter. + **/ + newFilter: AugmentedRpc<(filter: EthFilter | { fromBlock?: any; toBlock?: any; blockHash?: any; address?: any; topics?: any } | string | Uint8Array) => Observable<U256>>; + /** + * Returns id of new block filter. + **/ + newPendingTransactionFilter: AugmentedRpc<() => Observable<U256>>; + /** + * Returns protocol version encoded as a string (quotes are necessary). + **/ + protocolVersion: AugmentedRpc<() => Observable<u64>>; + /** + * Sends signed transaction, returning its hash. + **/ + sendRawTransaction: AugmentedRpc<(bytes: Bytes | string | Uint8Array) => Observable<H256>>; + /** + * Sends transaction; will block waiting for signer to return the transaction hash + **/ + sendTransaction: AugmentedRpc<(tx: EthTransactionRequest | { from?: any; to?: any; gasPrice?: any; gas?: any; value?: any; data?: any; nonce?: any } | string | Uint8Array) => Observable<H256>>; + /** + * Used for submitting mining hashrate. + **/ + submitHashrate: AugmentedRpc<(index: U256 | AnyNumber | Uint8Array, hash: H256 | string | Uint8Array) => Observable<bool>>; + /** + * Used for submitting a proof-of-work solution. + **/ + submitWork: AugmentedRpc<(nonce: H64 | string | Uint8Array, headerHash: H256 | string | Uint8Array, mixDigest: H256 | string | Uint8Array) => Observable<bool>>; + /** + * Subscribe to Eth subscription. + **/ + subscribe: AugmentedRpc<(kind: EthSubKind | 'newHeads' | 'logs' | 'newPendingTransactions' | 'syncing' | number | Uint8Array, params?: EthSubParams | { None: any } | { Logs: any } | string | Uint8Array) => Observable<Null>>; + /** + * Returns an object with data about the sync status or false. + **/ + syncing: AugmentedRpc<() => Observable<EthSyncStatus>>; + /** + * Uninstalls filter. + **/ + uninstallFilter: AugmentedRpc<(index: U256 | AnyNumber | Uint8Array) => Observable<bool>>; + }; + grandpa: { + /** + * Prove finality for the given block number, returning the Justification for the last block in the set. + **/ + proveFinality: AugmentedRpc<(blockNumber: BlockNumber | AnyNumber | Uint8Array) => Observable<Option<EncodedFinalityProofs>>>; + /** + * Returns the state of the current best round state as well as the ongoing background rounds + **/ + roundState: AugmentedRpc<() => Observable<ReportedRoundStates>>; + /** + * Subscribes to grandpa justifications + **/ + subscribeJustifications: AugmentedRpc<() => Observable<JustificationNotification>>; + }; + mmr: { + /** + * Generate MMR proof for the given leaf indices. + **/ + generateBatchProof: AugmentedRpc<(leafIndices: Vec<u64> | (u64 | AnyNumber | Uint8Array)[], at?: BlockHash | string | Uint8Array) => Observable<MmrLeafProof>>; + /** + * Generate MMR proof for given leaf index. + **/ + generateProof: AugmentedRpc<(leafIndex: u64 | AnyNumber | Uint8Array, at?: BlockHash | string | Uint8Array) => Observable<MmrLeafBatchProof>>; + }; + net: { + /** + * Returns true if client is actively listening for network connections. Otherwise false. + **/ + listening: AugmentedRpc<() => Observable<bool>>; + /** + * Returns number of peers connected to node. + **/ + peerCount: AugmentedRpc<() => Observable<Text>>; + /** + * Returns protocol version. + **/ + version: AugmentedRpc<() => Observable<Text>>; + }; + offchain: { + /** + * Get offchain local storage under given key and prefix + **/ + localStorageGet: AugmentedRpc<(kind: StorageKind | 'PERSISTENT' | 'LOCAL' | number | Uint8Array, key: Bytes | string | Uint8Array) => Observable<Option<Bytes>>>; + /** + * Set offchain local storage under given key and prefix + **/ + localStorageSet: AugmentedRpc<(kind: StorageKind | 'PERSISTENT' | 'LOCAL' | number | Uint8Array, key: Bytes | string | Uint8Array, value: Bytes | string | Uint8Array) => Observable<Null>>; + }; + payment: { + /** + * Query the detailed fee of a given encoded extrinsic + **/ + queryFeeDetails: AugmentedRpc<(extrinsic: Bytes | string | Uint8Array, at?: BlockHash | string | Uint8Array) => Observable<FeeDetails>>; + /** + * Retrieves the fee information for an encoded extrinsic + **/ + queryInfo: AugmentedRpc<(extrinsic: Bytes | string | Uint8Array, at?: BlockHash | string | Uint8Array) => Observable<RuntimeDispatchInfo>>; + }; + rpc: { + /** + * Retrieves the list of RPC methods that are exposed by the node + **/ + methods: AugmentedRpc<() => Observable<RpcMethods>>; + }; + state: { + /** + * Perform a call to a builtin on the chain + **/ + call: AugmentedRpc<(method: Text | string, data: Bytes | string | Uint8Array, at?: BlockHash | string | Uint8Array) => Observable<Bytes>>; + /** + * Retrieves the keys with prefix of a specific child storage + **/ + getChildKeys: AugmentedRpc<(childStorageKey: StorageKey | string | Uint8Array | any, childDefinition: StorageKey | string | Uint8Array | any, childType: u32 | AnyNumber | Uint8Array, key: StorageKey | string | Uint8Array | any, at?: BlockHash | string | Uint8Array) => Observable<Vec<StorageKey>>>; + /** + * Returns proof of storage for child key entries at a specific block state. + **/ + getChildReadProof: AugmentedRpc<(childStorageKey: PrefixedStorageKey | string | Uint8Array, keys: Vec<StorageKey> | (StorageKey | string | Uint8Array | any)[], at?: BlockHash | string | Uint8Array) => Observable<ReadProof>>; + /** + * Retrieves the child storage for a key + **/ + getChildStorage: AugmentedRpc<(childStorageKey: StorageKey | string | Uint8Array | any, childDefinition: StorageKey | string | Uint8Array | any, childType: u32 | AnyNumber | Uint8Array, key: StorageKey | string | Uint8Array | any, at?: BlockHash | string | Uint8Array) => Observable<StorageData>>; + /** + * Retrieves the child storage hash + **/ + getChildStorageHash: AugmentedRpc<(childStorageKey: StorageKey | string | Uint8Array | any, childDefinition: StorageKey | string | Uint8Array | any, childType: u32 | AnyNumber | Uint8Array, key: StorageKey | string | Uint8Array | any, at?: BlockHash | string | Uint8Array) => Observable<Hash>>; + /** + * Retrieves the child storage size + **/ + getChildStorageSize: AugmentedRpc<(childStorageKey: StorageKey | string | Uint8Array | any, childDefinition: StorageKey | string | Uint8Array | any, childType: u32 | AnyNumber | Uint8Array, key: StorageKey | string | Uint8Array | any, at?: BlockHash | string | Uint8Array) => Observable<u64>>; + /** + * Retrieves the keys with a certain prefix + **/ + getKeys: AugmentedRpc<(key: StorageKey | string | Uint8Array | any, at?: BlockHash | string | Uint8Array) => Observable<Vec<StorageKey>>>; + /** + * Returns the keys with prefix with pagination support. + **/ + getKeysPaged: AugmentedRpc<(key: StorageKey | string | Uint8Array | any, count: u32 | AnyNumber | Uint8Array, startKey?: StorageKey | string | Uint8Array | any, at?: BlockHash | string | Uint8Array) => Observable<Vec<StorageKey>>>; + /** + * Returns the runtime metadata + **/ + getMetadata: AugmentedRpc<(at?: BlockHash | string | Uint8Array) => Observable<Metadata>>; + /** + * Returns the keys with prefix, leave empty to get all the keys (deprecated: Use getKeysPaged) + **/ + getPairs: AugmentedRpc<(prefix: StorageKey | string | Uint8Array | any, at?: BlockHash | string | Uint8Array) => Observable<Vec<KeyValue>>>; + /** + * Returns proof of storage entries at a specific block state + **/ + getReadProof: AugmentedRpc<(keys: Vec<StorageKey> | (StorageKey | string | Uint8Array | any)[], at?: BlockHash | string | Uint8Array) => Observable<ReadProof>>; + /** + * Get the runtime version + **/ + getRuntimeVersion: AugmentedRpc<(at?: BlockHash | string | Uint8Array) => Observable<RuntimeVersion>>; + /** + * Retrieves the storage for a key + **/ + getStorage: AugmentedRpc<<T = Codec>(key: StorageKey | string | Uint8Array | any, block?: Hash | Uint8Array | string) => Observable<T>>; + /** + * Retrieves the storage hash + **/ + getStorageHash: AugmentedRpc<(key: StorageKey | string | Uint8Array | any, at?: BlockHash | string | Uint8Array) => Observable<Hash>>; + /** + * Retrieves the storage size + **/ + getStorageSize: AugmentedRpc<(key: StorageKey | string | Uint8Array | any, at?: BlockHash | string | Uint8Array) => Observable<u64>>; + /** + * Query historical storage entries (by key) starting from a start block + **/ + queryStorage: AugmentedRpc<<T = Codec[]>(keys: Vec<StorageKey> | (StorageKey | string | Uint8Array | any)[], fromBlock?: Hash | Uint8Array | string, toBlock?: Hash | Uint8Array | string) => Observable<[Hash, T][]>>; + /** + * Query storage entries (by key) starting at block hash given as the second parameter + **/ + queryStorageAt: AugmentedRpc<<T = Codec[]>(keys: Vec<StorageKey> | (StorageKey | string | Uint8Array | any)[], at?: Hash | Uint8Array | string) => Observable<T>>; + /** + * Retrieves the runtime version via subscription + **/ + subscribeRuntimeVersion: AugmentedRpc<() => Observable<RuntimeVersion>>; + /** + * Subscribes to storage changes for the provided keys + **/ + subscribeStorage: AugmentedRpc<<T = Codec[]>(keys?: Vec<StorageKey> | (StorageKey | string | Uint8Array | any)[]) => Observable<T>>; + /** + * Provides a way to trace the re-execution of a single block + **/ + traceBlock: AugmentedRpc<(block: Hash | string | Uint8Array, targets: Option<Text> | null | object | string | Uint8Array, storageKeys: Option<Text> | null | object | string | Uint8Array, methods: Option<Text> | null | object | string | Uint8Array) => Observable<TraceBlockResponse>>; + /** + * Check current migration state + **/ + trieMigrationStatus: AugmentedRpc<(at?: BlockHash | string | Uint8Array) => Observable<MigrationStatusResult>>; + }; + syncstate: { + /** + * Returns the json-serialized chainspec running the node, with a sync state. + **/ + genSyncSpec: AugmentedRpc<(raw: bool | boolean | Uint8Array) => Observable<Json>>; + }; + system: { + /** + * Retrieves the next accountIndex as available on the node + **/ + accountNextIndex: AugmentedRpc<(accountId: AccountId | string | Uint8Array) => Observable<Index>>; + /** + * Adds the supplied directives to the current log filter + **/ + addLogFilter: AugmentedRpc<(directives: Text | string) => Observable<Null>>; + /** + * Adds a reserved peer + **/ + addReservedPeer: AugmentedRpc<(peer: Text | string) => Observable<Text>>; + /** + * Retrieves the chain + **/ + chain: AugmentedRpc<() => Observable<Text>>; + /** + * Retrieves the chain type + **/ + chainType: AugmentedRpc<() => Observable<ChainType>>; + /** + * Dry run an extrinsic at a given block + **/ + dryRun: AugmentedRpc<(extrinsic: Bytes | string | Uint8Array, at?: BlockHash | string | Uint8Array) => Observable<ApplyExtrinsicResult>>; + /** + * Return health status of the node + **/ + health: AugmentedRpc<() => Observable<Health>>; + /** + * The addresses include a trailing /p2p/ with the local PeerId, and are thus suitable to be passed to addReservedPeer or as a bootnode address for example + **/ + localListenAddresses: AugmentedRpc<() => Observable<Vec<Text>>>; + /** + * Returns the base58-encoded PeerId of the node + **/ + localPeerId: AugmentedRpc<() => Observable<Text>>; + /** + * Retrieves the node name + **/ + name: AugmentedRpc<() => Observable<Text>>; + /** + * Returns current state of the network + **/ + networkState: AugmentedRpc<() => Observable<NetworkState>>; + /** + * Returns the roles the node is running as + **/ + nodeRoles: AugmentedRpc<() => Observable<Vec<NodeRole>>>; + /** + * Returns the currently connected peers + **/ + peers: AugmentedRpc<() => Observable<Vec<PeerInfo>>>; + /** + * Get a custom set of properties as a JSON object, defined in the chain spec + **/ + properties: AugmentedRpc<() => Observable<ChainProperties>>; + /** + * Remove a reserved peer + **/ + removeReservedPeer: AugmentedRpc<(peerId: Text | string) => Observable<Text>>; + /** + * Returns the list of reserved peers + **/ + reservedPeers: AugmentedRpc<() => Observable<Vec<Text>>>; + /** + * Resets the log filter to Substrate defaults + **/ + resetLogFilter: AugmentedRpc<() => Observable<Null>>; + /** + * Returns the state of the syncing of the node + **/ + syncState: AugmentedRpc<() => Observable<SyncState>>; + /** + * Retrieves the version of the node + **/ + version: AugmentedRpc<() => Observable<Text>>; + }; + web3: { + /** + * Returns current client version. + **/ + clientVersion: AugmentedRpc<() => Observable<Text>>; + /** + * Returns sha3 of the given data + **/ + sha3: AugmentedRpc<(data: Bytes | string | Uint8Array) => Observable<H256>>; + }; + } // RpcInterface +} // declare module diff --git a/src/interfaces/augment-api-tx.ts b/src/interfaces/augment-api-tx.ts new file mode 100644 index 0000000..a473ccb --- /dev/null +++ b/src/interfaces/augment-api-tx.ts @@ -0,0 +1,1256 @@ +// Auto-generated via `yarn polkadot-types-from-chain`, do not edit +/* eslint-disable */ + +import type { ApiTypes } from '@polkadot/api-base/types'; +import type { Bytes, Compact, Option, Text, U8aFixed, Vec, WrapperKeepOpaque, bool, u16, u32, u64, u8 } from '@polkadot/types-codec'; +import type { AnyNumber, IMethod, ITuple } from '@polkadot/types-codec/types'; +import type { AccountId32, Call, H256, MultiAddress, Perbill } from '@polkadot/types/interfaces/runtime'; +import type { CommonRuntimeEntitiesSmithsMembershipMetaData, FrameSupportScheduleMaybeHashed, GdevRuntimeOpaqueSessionKeys, GdevRuntimeOriginCaller, GdevRuntimeProxyType, PalletAtomicSwapBalanceSwapAction, PalletIdentityRevocationPayload, PalletImOnlineHeartbeat, PalletImOnlineSr25519AppSr25519Signature, PalletMultisigTimepoint, PalletProvideRandomnessRandomnessType, SpConsensusBabeDigestsNextConfigDescriptor, SpConsensusSlotsEquivocationProof, SpCoreVoid, SpFinalityGrandpaEquivocationProof, SpRuntimeHeader, SpRuntimeMultiSignature, SpSessionMembershipProof } from '@polkadot/types/lookup'; + +declare module '@polkadot/api-base/types/submittable' { + export interface AugmentedSubmittables<ApiType extends ApiTypes> { + atomicSwap: { + /** + * Cancel an atomic swap. Only possible after the originally set duration has passed. + * + * The dispatch origin for this call must be _Signed_. + * + * - `target`: Target of the original atomic swap. + * - `hashed_proof`: Hashed proof of the original atomic swap. + **/ + cancelSwap: AugmentedSubmittable<(target: AccountId32 | string | Uint8Array, hashedProof: U8aFixed | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [AccountId32, U8aFixed]>; + /** + * Claim an atomic swap. + * + * The dispatch origin for this call must be _Signed_. + * + * - `proof`: Revealed proof of the claim. + * - `action`: Action defined in the swap, it must match the entry in blockchain. Otherwise + * the operation fails. This is used for weight calculation. + **/ + claimSwap: AugmentedSubmittable<(proof: Bytes | string | Uint8Array, action: PalletAtomicSwapBalanceSwapAction | { value?: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Bytes, PalletAtomicSwapBalanceSwapAction]>; + /** + * Register a new atomic swap, declaring an intention to send funds from origin to target + * on the current blockchain. The target can claim the fund using the revealed proof. If + * the fund is not claimed after `duration` blocks, then the sender can cancel the swap. + * + * The dispatch origin for this call must be _Signed_. + * + * - `target`: Receiver of the atomic swap. + * - `hashed_proof`: The blake2_256 hash of the secret proof. + * - `balance`: Funds to be sent from origin. + * - `duration`: Locked duration of the atomic swap. For safety reasons, it is recommended + * that the revealer uses a shorter duration than the counterparty, to prevent the + * situation where the revealer reveals the proof too late around the end block. + **/ + createSwap: AugmentedSubmittable<(target: AccountId32 | string | Uint8Array, hashedProof: U8aFixed | string | Uint8Array, action: PalletAtomicSwapBalanceSwapAction | { value?: any } | string | Uint8Array, duration: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [AccountId32, U8aFixed, PalletAtomicSwapBalanceSwapAction, u32]>; + /** + * Generic tx + **/ + [key: string]: SubmittableExtrinsicFunction<ApiType>; + }; + authorityMembers: { + goOffline: AugmentedSubmittable<() => SubmittableExtrinsic<ApiType>, []>; + goOnline: AugmentedSubmittable<() => SubmittableExtrinsic<ApiType>, []>; + pruneAccountIdOf: AugmentedSubmittable<(membersIds: Vec<u32> | (u32 | AnyNumber | Uint8Array)[]) => SubmittableExtrinsic<ApiType>, [Vec<u32>]>; + removeMember: AugmentedSubmittable<(memberId: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32]>; + setSessionKeys: AugmentedSubmittable<(keys: U8aFixed | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [U8aFixed]>; + /** + * Generic tx + **/ + [key: string]: SubmittableExtrinsicFunction<ApiType>; + }; + authorship: { + /** + * Provide a set of uncles. + **/ + setUncles: AugmentedSubmittable<(newUncles: Vec<SpRuntimeHeader> | (SpRuntimeHeader | { parentHash?: any; number?: any; stateRoot?: any; extrinsicsRoot?: any; digest?: any } | string | Uint8Array)[]) => SubmittableExtrinsic<ApiType>, [Vec<SpRuntimeHeader>]>; + /** + * Generic tx + **/ + [key: string]: SubmittableExtrinsicFunction<ApiType>; + }; + babe: { + /** + * Plan an epoch config change. The epoch config change is recorded and will be enacted on + * the next call to `enact_epoch_change`. The config will be activated one epoch after. + * Multiple calls to this method will replace any existing planned config change that had + * not been enacted yet. + **/ + planConfigChange: AugmentedSubmittable<(config: SpConsensusBabeDigestsNextConfigDescriptor | { V1: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [SpConsensusBabeDigestsNextConfigDescriptor]>; + /** + * Report authority equivocation/misbehavior. This method will verify + * the equivocation proof and validate the given key ownership proof + * against the extracted offender. If both are valid, the offence will + * be reported. + **/ + reportEquivocation: AugmentedSubmittable<(equivocationProof: SpConsensusSlotsEquivocationProof | { offender?: any; slot?: any; firstHeader?: any; secondHeader?: any } | string | Uint8Array, keyOwnerProof: SpSessionMembershipProof | { session?: any; trieNodes?: any; validatorCount?: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [SpConsensusSlotsEquivocationProof, SpSessionMembershipProof]>; + /** + * Report authority equivocation/misbehavior. This method will verify + * the equivocation proof and validate the given key ownership proof + * against the extracted offender. If both are valid, the offence will + * be reported. + * This extrinsic must be called unsigned and it is expected that only + * block authors will call it (validated in `ValidateUnsigned`), as such + * if the block author is defined it will be defined as the equivocation + * reporter. + **/ + reportEquivocationUnsigned: AugmentedSubmittable<(equivocationProof: SpConsensusSlotsEquivocationProof | { offender?: any; slot?: any; firstHeader?: any; secondHeader?: any } | string | Uint8Array, keyOwnerProof: SpSessionMembershipProof | { session?: any; trieNodes?: any; validatorCount?: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [SpConsensusSlotsEquivocationProof, SpSessionMembershipProof]>; + /** + * Generic tx + **/ + [key: string]: SubmittableExtrinsicFunction<ApiType>; + }; + balances: { + /** + * Exactly as `transfer`, except the origin must be root and the source account may be + * specified. + * # <weight> + * - Same as transfer, but additional read and write because the source account is not + * assumed to be in the overlay. + * # </weight> + **/ + forceTransfer: AugmentedSubmittable<(source: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, dest: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, value: Compact<u64> | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [MultiAddress, MultiAddress, Compact<u64>]>; + /** + * Unreserve some balance from a user by force. + * + * Can only be called by ROOT. + **/ + forceUnreserve: AugmentedSubmittable<(who: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, amount: u64 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [MultiAddress, u64]>; + /** + * Set the balances of a given account. + * + * This will alter `FreeBalance` and `ReservedBalance` in storage. it will + * also alter the total issuance of the system (`TotalIssuance`) appropriately. + * If the new free or reserved balance is below the existential deposit, + * it will reset the account nonce (`frame_system::AccountNonce`). + * + * The dispatch origin for this call is `root`. + **/ + setBalance: AugmentedSubmittable<(who: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, newFree: Compact<u64> | AnyNumber | Uint8Array, newReserved: Compact<u64> | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [MultiAddress, Compact<u64>, Compact<u64>]>; + /** + * Transfer some liquid free balance to another account. + * + * `transfer` will set the `FreeBalance` of the sender and receiver. + * If the sender's account is below the existential deposit as a result + * of the transfer, the account will be reaped. + * + * The dispatch origin for this call must be `Signed` by the transactor. + * + * # <weight> + * - Dependent on arguments but not critical, given proper implementations for input config + * types. See related functions below. + * - It contains a limited number of reads and writes internally and no complex + * computation. + * + * Related functions: + * + * - `ensure_can_withdraw` is always called internally but has a bounded complexity. + * - Transferring balances to accounts that did not exist before will cause + * `T::OnNewAccount::on_new_account` to be called. + * - Removing enough funds from an account will trigger `T::DustRemoval::on_unbalanced`. + * - `transfer_keep_alive` works the same way as `transfer`, but has an additional check + * that the transfer will not kill the origin account. + * --------------------------------- + * - Origin account is already in memory, so no DB operations for them. + * # </weight> + **/ + transfer: AugmentedSubmittable<(dest: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, value: Compact<u64> | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [MultiAddress, Compact<u64>]>; + /** + * Transfer the entire transferable balance from the caller account. + * + * NOTE: This function only attempts to transfer _transferable_ balances. This means that + * any locked, reserved, or existential deposits (when `keep_alive` is `true`), will not be + * transferred by this function. To ensure that this function results in a killed account, + * you might need to prepare the account by removing any reference counters, storage + * deposits, etc... + * + * The dispatch origin of this call must be Signed. + * + * - `dest`: The recipient of the transfer. + * - `keep_alive`: A boolean to determine if the `transfer_all` operation should send all + * of the funds the account has, causing the sender account to be killed (false), or + * transfer everything except at least the existential deposit, which will guarantee to + * keep the sender account alive (true). # <weight> + * - O(1). Just like transfer, but reading the user's transferable balance first. + * #</weight> + **/ + transferAll: AugmentedSubmittable<(dest: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, keepAlive: bool | boolean | Uint8Array) => SubmittableExtrinsic<ApiType>, [MultiAddress, bool]>; + /** + * Same as the [`transfer`] call, but with a check that the transfer will not kill the + * origin account. + * + * 99% of the time you want [`transfer`] instead. + * + * [`transfer`]: struct.Pallet.html#method.transfer + **/ + transferKeepAlive: AugmentedSubmittable<(dest: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, value: Compact<u64> | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [MultiAddress, Compact<u64>]>; + /** + * Generic tx + **/ + [key: string]: SubmittableExtrinsicFunction<ApiType>; + }; + cert: { + /** + * Add a new certification or renew an existing one + * + * - `receiver`: the account receiving the certification from the origin + * + * The origin must be allow to certify. + **/ + addCert: AugmentedSubmittable<(receiver: AccountId32 | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [AccountId32]>; + delCert: AugmentedSubmittable<(issuer: u32 | AnyNumber | Uint8Array, receiver: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, u32]>; + forceAddCert: AugmentedSubmittable<(issuer: u32 | AnyNumber | Uint8Array, receiver: u32 | AnyNumber | Uint8Array, verifyRules: bool | boolean | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, u32, bool]>; + removeAllCertsReceivedBy: AugmentedSubmittable<(idtyIndex: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32]>; + /** + * Generic tx + **/ + [key: string]: SubmittableExtrinsicFunction<ApiType>; + }; + grandpa: { + /** + * Note that the current authority set of the GRANDPA finality gadget has + * stalled. This will trigger a forced authority set change at the beginning + * of the next session, to be enacted `delay` blocks after that. The delay + * should be high enough to safely assume that the block signalling the + * forced change will not be re-orged (e.g. 1000 blocks). The GRANDPA voters + * will start the new authority set using the given finalized block as base. + * Only callable by root. + **/ + noteStalled: AugmentedSubmittable<(delay: u32 | AnyNumber | Uint8Array, bestFinalizedBlockNumber: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, u32]>; + /** + * Report voter equivocation/misbehavior. This method will verify the + * equivocation proof and validate the given key ownership proof + * against the extracted offender. If both are valid, the offence + * will be reported. + **/ + reportEquivocation: AugmentedSubmittable<(equivocationProof: SpFinalityGrandpaEquivocationProof | { setId?: any; equivocation?: any } | string | Uint8Array, keyOwnerProof: SpCoreVoid | null) => SubmittableExtrinsic<ApiType>, [SpFinalityGrandpaEquivocationProof, SpCoreVoid]>; + /** + * Report voter equivocation/misbehavior. This method will verify the + * equivocation proof and validate the given key ownership proof + * against the extracted offender. If both are valid, the offence + * will be reported. + * + * This extrinsic must be called unsigned and it is expected that only + * block authors will call it (validated in `ValidateUnsigned`), as such + * if the block author is defined it will be defined as the equivocation + * reporter. + **/ + reportEquivocationUnsigned: AugmentedSubmittable<(equivocationProof: SpFinalityGrandpaEquivocationProof | { setId?: any; equivocation?: any } | string | Uint8Array, keyOwnerProof: SpCoreVoid | null) => SubmittableExtrinsic<ApiType>, [SpFinalityGrandpaEquivocationProof, SpCoreVoid]>; + /** + * Generic tx + **/ + [key: string]: SubmittableExtrinsicFunction<ApiType>; + }; + identity: { + /** + * Confirm the creation of an identity and give it a name + * + * - `idty_name`: the name uniquely associated to this identity. Must match the validation rules defined by the runtime. + * + * The identity must have been created using `create_identity` before it can be confirmed. + **/ + confirmIdentity: AugmentedSubmittable<(idtyName: Text | string) => SubmittableExtrinsic<ApiType>, [Text]>; + /** + * Create an identity for an existing account + * + * - `owner_key`: the public key corresponding to the identity to be created + * + * The origin must be allowed to create an identity. + **/ + createIdentity: AugmentedSubmittable<(ownerKey: AccountId32 | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [AccountId32]>; + pruneItemIdentitiesNames: AugmentedSubmittable<(names: Vec<Text> | (Text | string)[]) => SubmittableExtrinsic<ApiType>, [Vec<Text>]>; + pruneItemIdentityIndexOf: AugmentedSubmittable<(accountsIds: Vec<AccountId32> | (AccountId32 | string | Uint8Array)[]) => SubmittableExtrinsic<ApiType>, [Vec<AccountId32>]>; + removeIdentity: AugmentedSubmittable<(idtyIndex: u32 | AnyNumber | Uint8Array, idtyName: Option<Text> | null | object | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, Option<Text>]>; + /** + * Revoke an identity using a signed revocation payload + * + * - `payload`: the revocation payload + * - `owner_key`: the public key corresponding to the identity to be revoked + * - `genesis_hash`: the genesis block hash + * - `payload_sig`: the signature of the encoded form of `payload`. Must be signed by `owner_key`. + * + * Any origin can emit this extrinsic, not only `owner_key`. + **/ + revokeIdentity: AugmentedSubmittable<(payload: PalletIdentityRevocationPayload | { ownerKey?: any; genesisHash?: any } | string | Uint8Array, payloadSig: SpRuntimeMultiSignature | { Ed25519: any } | { Sr25519: any } | { Ecdsa: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [PalletIdentityRevocationPayload, SpRuntimeMultiSignature]>; + validateIdentity: AugmentedSubmittable<(idtyIndex: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32]>; + /** + * Generic tx + **/ + [key: string]: SubmittableExtrinsicFunction<ApiType>; + }; + imOnline: { + /** + * # <weight> + * - Complexity: `O(K + E)` where K is length of `Keys` (heartbeat.validators_len) and E is + * length of `heartbeat.network_state.external_address` + * - `O(K)`: decoding of length `K` + * - `O(E)`: decoding/encoding of length `E` + * - DbReads: pallet_session `Validators`, pallet_session `CurrentIndex`, `Keys`, + * `ReceivedHeartbeats` + * - DbWrites: `ReceivedHeartbeats` + * # </weight> + **/ + heartbeat: AugmentedSubmittable<(heartbeat: PalletImOnlineHeartbeat | { blockNumber?: any; networkState?: any; sessionIndex?: any; authorityIndex?: any; validatorsLen?: any } | string | Uint8Array, signature: PalletImOnlineSr25519AppSr25519Signature | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [PalletImOnlineHeartbeat, PalletImOnlineSr25519AppSr25519Signature]>; + /** + * Generic tx + **/ + [key: string]: SubmittableExtrinsicFunction<ApiType>; + }; + membership: { + claimMembership: AugmentedSubmittable<(maybeIdtyId: Option<u32> | null | object | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Option<u32>]>; + forceRequestMembership: AugmentedSubmittable<(idtyId: u32 | AnyNumber | Uint8Array, metadata: AccountId32 | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, AccountId32]>; + renewMembership: AugmentedSubmittable<(maybeIdtyId: Option<u32> | null | object | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Option<u32>]>; + requestMembership: AugmentedSubmittable<(metadata: AccountId32 | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [AccountId32]>; + revokeMembership: AugmentedSubmittable<(maybeIdtyId: Option<u32> | null | object | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Option<u32>]>; + /** + * Generic tx + **/ + [key: string]: SubmittableExtrinsicFunction<ApiType>; + }; + multisig: { + /** + * Register approval for a dispatch to be made from a deterministic composite account if + * approved by a total of `threshold - 1` of `other_signatories`. + * + * Payment: `DepositBase` will be reserved if this is the first approval, plus + * `threshold` times `DepositFactor`. It is returned once this dispatch happens or + * is cancelled. + * + * The dispatch origin for this call must be _Signed_. + * + * - `threshold`: The total number of approvals for this dispatch before it is executed. + * - `other_signatories`: The accounts (other than the sender) who can approve this + * dispatch. May not be empty. + * - `maybe_timepoint`: If this is the first approval, then this must be `None`. If it is + * not the first approval, then it must be `Some`, with the timepoint (block number and + * transaction index) of the first approval transaction. + * - `call_hash`: The hash of the call to be executed. + * + * NOTE: If this is the final approval, you will want to use `as_multi` instead. + * + * # <weight> + * - `O(S)`. + * - Up to one balance-reserve or unreserve operation. + * - One passthrough operation, one insert, both `O(S)` where `S` is the number of + * signatories. `S` is capped by `MaxSignatories`, with weight being proportional. + * - One encode & hash, both of complexity `O(S)`. + * - Up to one binary search and insert (`O(logS + S)`). + * - I/O: 1 read `O(S)`, up to 1 mutate `O(S)`. Up to one remove. + * - One event. + * - Storage: inserts one item, value size bounded by `MaxSignatories`, with a deposit + * taken for its lifetime of `DepositBase + threshold * DepositFactor`. + * ---------------------------------- + * - DB Weight: + * - Read: Multisig Storage, [Caller Account] + * - Write: Multisig Storage, [Caller Account] + * # </weight> + **/ + approveAsMulti: AugmentedSubmittable<(threshold: u16 | AnyNumber | Uint8Array, otherSignatories: Vec<AccountId32> | (AccountId32 | string | Uint8Array)[], maybeTimepoint: Option<PalletMultisigTimepoint> | null | object | string | Uint8Array, callHash: U8aFixed | string | Uint8Array, maxWeight: u64 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u16, Vec<AccountId32>, Option<PalletMultisigTimepoint>, U8aFixed, u64]>; + /** + * Register approval for a dispatch to be made from a deterministic composite account if + * approved by a total of `threshold - 1` of `other_signatories`. + * + * If there are enough, then dispatch the call. + * + * Payment: `DepositBase` will be reserved if this is the first approval, plus + * `threshold` times `DepositFactor`. It is returned once this dispatch happens or + * is cancelled. + * + * The dispatch origin for this call must be _Signed_. + * + * - `threshold`: The total number of approvals for this dispatch before it is executed. + * - `other_signatories`: The accounts (other than the sender) who can approve this + * dispatch. May not be empty. + * - `maybe_timepoint`: If this is the first approval, then this must be `None`. If it is + * not the first approval, then it must be `Some`, with the timepoint (block number and + * transaction index) of the first approval transaction. + * - `call`: The call to be executed. + * + * NOTE: Unless this is the final approval, you will generally want to use + * `approve_as_multi` instead, since it only requires a hash of the call. + * + * Result is equivalent to the dispatched result if `threshold` is exactly `1`. Otherwise + * on success, result is `Ok` and the result from the interior call, if it was executed, + * may be found in the deposited `MultisigExecuted` event. + * + * # <weight> + * - `O(S + Z + Call)`. + * - Up to one balance-reserve or unreserve operation. + * - One passthrough operation, one insert, both `O(S)` where `S` is the number of + * signatories. `S` is capped by `MaxSignatories`, with weight being proportional. + * - One call encode & hash, both of complexity `O(Z)` where `Z` is tx-len. + * - One encode & hash, both of complexity `O(S)`. + * - Up to one binary search and insert (`O(logS + S)`). + * - I/O: 1 read `O(S)`, up to 1 mutate `O(S)`. Up to one remove. + * - One event. + * - The weight of the `call`. + * - Storage: inserts one item, value size bounded by `MaxSignatories`, with a deposit + * taken for its lifetime of `DepositBase + threshold * DepositFactor`. + * ------------------------------- + * - DB Weight: + * - Reads: Multisig Storage, [Caller Account], Calls (if `store_call`) + * - Writes: Multisig Storage, [Caller Account], Calls (if `store_call`) + * - Plus Call Weight + * # </weight> + **/ + asMulti: AugmentedSubmittable<(threshold: u16 | AnyNumber | Uint8Array, otherSignatories: Vec<AccountId32> | (AccountId32 | string | Uint8Array)[], maybeTimepoint: Option<PalletMultisigTimepoint> | null | object | string | Uint8Array, call: WrapperKeepOpaque<Call> | object | string | Uint8Array, storeCall: bool | boolean | Uint8Array, maxWeight: u64 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u16, Vec<AccountId32>, Option<PalletMultisigTimepoint>, WrapperKeepOpaque<Call>, bool, u64]>; + /** + * Immediately dispatch a multi-signature call using a single approval from the caller. + * + * The dispatch origin for this call must be _Signed_. + * + * - `other_signatories`: The accounts (other than the sender) who are part of the + * multi-signature, but do not participate in the approval process. + * - `call`: The call to be executed. + * + * Result is equivalent to the dispatched result. + * + * # <weight> + * O(Z + C) where Z is the length of the call and C its execution weight. + * ------------------------------- + * - DB Weight: None + * - Plus Call Weight + * # </weight> + **/ + asMultiThreshold1: AugmentedSubmittable<(otherSignatories: Vec<AccountId32> | (AccountId32 | string | Uint8Array)[], call: Call | IMethod | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Vec<AccountId32>, Call]>; + /** + * Cancel a pre-existing, on-going multisig transaction. Any deposit reserved previously + * for this operation will be unreserved on success. + * + * The dispatch origin for this call must be _Signed_. + * + * - `threshold`: The total number of approvals for this dispatch before it is executed. + * - `other_signatories`: The accounts (other than the sender) who can approve this + * dispatch. May not be empty. + * - `timepoint`: The timepoint (block number and transaction index) of the first approval + * transaction for this dispatch. + * - `call_hash`: The hash of the call to be executed. + * + * # <weight> + * - `O(S)`. + * - Up to one balance-reserve or unreserve operation. + * - One passthrough operation, one insert, both `O(S)` where `S` is the number of + * signatories. `S` is capped by `MaxSignatories`, with weight being proportional. + * - One encode & hash, both of complexity `O(S)`. + * - One event. + * - I/O: 1 read `O(S)`, one remove. + * - Storage: removes one item. + * ---------------------------------- + * - DB Weight: + * - Read: Multisig Storage, [Caller Account], Refund Account, Calls + * - Write: Multisig Storage, [Caller Account], Refund Account, Calls + * # </weight> + **/ + cancelAsMulti: AugmentedSubmittable<(threshold: u16 | AnyNumber | Uint8Array, otherSignatories: Vec<AccountId32> | (AccountId32 | string | Uint8Array)[], timepoint: PalletMultisigTimepoint | { height?: any; index?: any } | string | Uint8Array, callHash: U8aFixed | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u16, Vec<AccountId32>, PalletMultisigTimepoint, U8aFixed]>; + /** + * Generic tx + **/ + [key: string]: SubmittableExtrinsicFunction<ApiType>; + }; + preimage: { + /** + * Register a preimage on-chain. + * + * If the preimage was previously requested, no fees or deposits are taken for providing + * the preimage. Otherwise, a deposit is taken proportional to the size of the preimage. + **/ + notePreimage: AugmentedSubmittable<(bytes: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Bytes]>; + /** + * Request a preimage be uploaded to the chain without paying any fees or deposits. + * + * If the preimage requests has already been provided on-chain, we unreserve any deposit + * a user may have paid, and take the control of the preimage out of their hands. + **/ + requestPreimage: AugmentedSubmittable<(hash: H256 | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [H256]>; + /** + * Clear an unrequested preimage from the runtime storage. + **/ + unnotePreimage: AugmentedSubmittable<(hash: H256 | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [H256]>; + /** + * Clear a previously made request for a preimage. + * + * NOTE: THIS MUST NOT BE CALLED ON `hash` MORE TIMES THAN `request_preimage`. + **/ + unrequestPreimage: AugmentedSubmittable<(hash: H256 | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [H256]>; + /** + * Generic tx + **/ + [key: string]: SubmittableExtrinsicFunction<ApiType>; + }; + provideRandomness: { + /** + * Request a randomness + **/ + request: AugmentedSubmittable<(randomnessType: PalletProvideRandomnessRandomnessType | 'RandomnessFromPreviousBlock' | 'RandomnessFromOneEpochAgo' | 'RandomnessFromTwoEpochsAgo' | number | Uint8Array, salt: H256 | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [PalletProvideRandomnessRandomnessType, H256]>; + /** + * Generic tx + **/ + [key: string]: SubmittableExtrinsicFunction<ApiType>; + }; + proxy: { + /** + * Register a proxy account for the sender that is able to make calls on its behalf. + * + * The dispatch origin for this call must be _Signed_. + * + * Parameters: + * - `proxy`: The account that the `caller` would like to make a proxy. + * - `proxy_type`: The permissions allowed for this proxy account. + * - `delay`: The announcement period required of the initial proxy. Will generally be + * zero. + * + * # <weight> + * Weight is a function of the number of proxies the user has (P). + * # </weight> + **/ + addProxy: AugmentedSubmittable<(delegate: AccountId32 | string | Uint8Array, proxyType: GdevRuntimeProxyType | 'Any' | 'TransferOnly' | 'CancelProxy' | 'SmithsCollectivePropose' | number | Uint8Array, delay: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [AccountId32, GdevRuntimeProxyType, u32]>; + /** + * Publish the hash of a proxy-call that will be made in the future. + * + * This must be called some number of blocks before the corresponding `proxy` is attempted + * if the delay associated with the proxy relationship is greater than zero. + * + * No more than `MaxPending` announcements may be made at any one time. + * + * This will take a deposit of `AnnouncementDepositFactor` as well as + * `AnnouncementDepositBase` if there are no other pending announcements. + * + * The dispatch origin for this call must be _Signed_ and a proxy of `real`. + * + * Parameters: + * - `real`: The account that the proxy will make a call on behalf of. + * - `call_hash`: The hash of the call to be made by the `real` account. + * + * # <weight> + * Weight is a function of: + * - A: the number of announcements made. + * - P: the number of proxies the user has. + * # </weight> + **/ + announce: AugmentedSubmittable<(real: AccountId32 | string | Uint8Array, callHash: H256 | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [AccountId32, H256]>; + /** + * Spawn a fresh new account that is guaranteed to be otherwise inaccessible, and + * initialize it with a proxy of `proxy_type` for `origin` sender. + * + * Requires a `Signed` origin. + * + * - `proxy_type`: The type of the proxy that the sender will be registered as over the + * new account. This will almost always be the most permissive `ProxyType` possible to + * allow for maximum flexibility. + * - `index`: A disambiguation index, in case this is called multiple times in the same + * transaction (e.g. with `utility::batch`). Unless you're using `batch` you probably just + * want to use `0`. + * - `delay`: The announcement period required of the initial proxy. Will generally be + * zero. + * + * Fails with `Duplicate` if this has already been called in this transaction, from the + * same sender, with the same parameters. + * + * Fails if there are insufficient funds to pay for deposit. + * + * # <weight> + * Weight is a function of the number of proxies the user has (P). + * # </weight> + * TODO: Might be over counting 1 read + **/ + anonymous: AugmentedSubmittable<(proxyType: GdevRuntimeProxyType | 'Any' | 'TransferOnly' | 'CancelProxy' | 'SmithsCollectivePropose' | number | Uint8Array, delay: u32 | AnyNumber | Uint8Array, index: u16 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [GdevRuntimeProxyType, u32, u16]>; + /** + * Removes a previously spawned anonymous proxy. + * + * WARNING: **All access to this account will be lost.** Any funds held in it will be + * inaccessible. + * + * Requires a `Signed` origin, and the sender account must have been created by a call to + * `anonymous` with corresponding parameters. + * + * - `spawner`: The account that originally called `anonymous` to create this account. + * - `index`: The disambiguation index originally passed to `anonymous`. Probably `0`. + * - `proxy_type`: The proxy type originally passed to `anonymous`. + * - `height`: The height of the chain when the call to `anonymous` was processed. + * - `ext_index`: The extrinsic index in which the call to `anonymous` was processed. + * + * Fails with `NoPermission` in case the caller is not a previously created anonymous + * account whose `anonymous` call has corresponding parameters. + * + * # <weight> + * Weight is a function of the number of proxies the user has (P). + * # </weight> + **/ + killAnonymous: AugmentedSubmittable<(spawner: AccountId32 | string | Uint8Array, proxyType: GdevRuntimeProxyType | 'Any' | 'TransferOnly' | 'CancelProxy' | 'SmithsCollectivePropose' | number | Uint8Array, index: u16 | AnyNumber | Uint8Array, height: Compact<u32> | AnyNumber | Uint8Array, extIndex: Compact<u32> | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [AccountId32, GdevRuntimeProxyType, u16, Compact<u32>, Compact<u32>]>; + /** + * Dispatch the given `call` from an account that the sender is authorised for through + * `add_proxy`. + * + * Removes any corresponding announcement(s). + * + * The dispatch origin for this call must be _Signed_. + * + * Parameters: + * - `real`: The account that the proxy will make a call on behalf of. + * - `force_proxy_type`: Specify the exact proxy type to be used and checked for this call. + * - `call`: The call to be made by the `real` account. + * + * # <weight> + * Weight is a function of the number of proxies the user has (P). + * # </weight> + **/ + proxy: AugmentedSubmittable<(real: AccountId32 | string | Uint8Array, forceProxyType: Option<GdevRuntimeProxyType> | null | object | string | Uint8Array, call: Call | IMethod | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [AccountId32, Option<GdevRuntimeProxyType>, Call]>; + /** + * Dispatch the given `call` from an account that the sender is authorized for through + * `add_proxy`. + * + * Removes any corresponding announcement(s). + * + * The dispatch origin for this call must be _Signed_. + * + * Parameters: + * - `real`: The account that the proxy will make a call on behalf of. + * - `force_proxy_type`: Specify the exact proxy type to be used and checked for this call. + * - `call`: The call to be made by the `real` account. + * + * # <weight> + * Weight is a function of: + * - A: the number of announcements made. + * - P: the number of proxies the user has. + * # </weight> + **/ + proxyAnnounced: AugmentedSubmittable<(delegate: AccountId32 | string | Uint8Array, real: AccountId32 | string | Uint8Array, forceProxyType: Option<GdevRuntimeProxyType> | null | object | string | Uint8Array, call: Call | IMethod | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [AccountId32, AccountId32, Option<GdevRuntimeProxyType>, Call]>; + /** + * Remove the given announcement of a delegate. + * + * May be called by a target (proxied) account to remove a call that one of their delegates + * (`delegate`) has announced they want to execute. The deposit is returned. + * + * The dispatch origin for this call must be _Signed_. + * + * Parameters: + * - `delegate`: The account that previously announced the call. + * - `call_hash`: The hash of the call to be made. + * + * # <weight> + * Weight is a function of: + * - A: the number of announcements made. + * - P: the number of proxies the user has. + * # </weight> + **/ + rejectAnnouncement: AugmentedSubmittable<(delegate: AccountId32 | string | Uint8Array, callHash: H256 | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [AccountId32, H256]>; + /** + * Remove a given announcement. + * + * May be called by a proxy account to remove a call they previously announced and return + * the deposit. + * + * The dispatch origin for this call must be _Signed_. + * + * Parameters: + * - `real`: The account that the proxy will make a call on behalf of. + * - `call_hash`: The hash of the call to be made by the `real` account. + * + * # <weight> + * Weight is a function of: + * - A: the number of announcements made. + * - P: the number of proxies the user has. + * # </weight> + **/ + removeAnnouncement: AugmentedSubmittable<(real: AccountId32 | string | Uint8Array, callHash: H256 | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [AccountId32, H256]>; + /** + * Unregister all proxy accounts for the sender. + * + * The dispatch origin for this call must be _Signed_. + * + * WARNING: This may be called on accounts created by `anonymous`, however if done, then + * the unreserved fees will be inaccessible. **All access to this account will be lost.** + * + * # <weight> + * Weight is a function of the number of proxies the user has (P). + * # </weight> + **/ + removeProxies: AugmentedSubmittable<() => SubmittableExtrinsic<ApiType>, []>; + /** + * Unregister a proxy account for the sender. + * + * The dispatch origin for this call must be _Signed_. + * + * Parameters: + * - `proxy`: The account that the `caller` would like to remove as a proxy. + * - `proxy_type`: The permissions currently enabled for the removed proxy account. + * + * # <weight> + * Weight is a function of the number of proxies the user has (P). + * # </weight> + **/ + removeProxy: AugmentedSubmittable<(delegate: AccountId32 | string | Uint8Array, proxyType: GdevRuntimeProxyType | 'Any' | 'TransferOnly' | 'CancelProxy' | 'SmithsCollectivePropose' | number | Uint8Array, delay: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [AccountId32, GdevRuntimeProxyType, u32]>; + /** + * Generic tx + **/ + [key: string]: SubmittableExtrinsicFunction<ApiType>; + }; + scheduler: { + /** + * Cancel an anonymously scheduled task. + **/ + cancel: AugmentedSubmittable<(when: u32 | AnyNumber | Uint8Array, index: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, u32]>; + /** + * Cancel a named scheduled task. + **/ + cancelNamed: AugmentedSubmittable<(id: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Bytes]>; + /** + * Anonymously schedule a task. + **/ + schedule: AugmentedSubmittable<(when: u32 | AnyNumber | Uint8Array, maybePeriodic: Option<ITuple<[u32, u32]>> | null | object | string | Uint8Array, priority: u8 | AnyNumber | Uint8Array, call: FrameSupportScheduleMaybeHashed | { Value: any } | { Hash: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, Option<ITuple<[u32, u32]>>, u8, FrameSupportScheduleMaybeHashed]>; + /** + * Anonymously schedule a task after a delay. + * + * # <weight> + * Same as [`schedule`]. + * # </weight> + **/ + scheduleAfter: AugmentedSubmittable<(after: u32 | AnyNumber | Uint8Array, maybePeriodic: Option<ITuple<[u32, u32]>> | null | object | string | Uint8Array, priority: u8 | AnyNumber | Uint8Array, call: FrameSupportScheduleMaybeHashed | { Value: any } | { Hash: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, Option<ITuple<[u32, u32]>>, u8, FrameSupportScheduleMaybeHashed]>; + /** + * Schedule a named task. + **/ + scheduleNamed: AugmentedSubmittable<(id: Bytes | string | Uint8Array, when: u32 | AnyNumber | Uint8Array, maybePeriodic: Option<ITuple<[u32, u32]>> | null | object | string | Uint8Array, priority: u8 | AnyNumber | Uint8Array, call: FrameSupportScheduleMaybeHashed | { Value: any } | { Hash: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Bytes, u32, Option<ITuple<[u32, u32]>>, u8, FrameSupportScheduleMaybeHashed]>; + /** + * Schedule a named task after a delay. + * + * # <weight> + * Same as [`schedule_named`](Self::schedule_named). + * # </weight> + **/ + scheduleNamedAfter: AugmentedSubmittable<(id: Bytes | string | Uint8Array, after: u32 | AnyNumber | Uint8Array, maybePeriodic: Option<ITuple<[u32, u32]>> | null | object | string | Uint8Array, priority: u8 | AnyNumber | Uint8Array, call: FrameSupportScheduleMaybeHashed | { Value: any } | { Hash: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Bytes, u32, Option<ITuple<[u32, u32]>>, u8, FrameSupportScheduleMaybeHashed]>; + /** + * Generic tx + **/ + [key: string]: SubmittableExtrinsicFunction<ApiType>; + }; + session: { + /** + * Removes any session key(s) of the function caller. + * + * This doesn't take effect until the next session. + * + * The dispatch origin of this function must be Signed and the account must be either be + * convertible to a validator ID using the chain's typical addressing system (this usually + * means being a controller account) or directly convertible into a validator ID (which + * usually means being a stash account). + * + * # <weight> + * - Complexity: `O(1)` in number of key types. Actual cost depends on the number of length + * of `T::Keys::key_ids()` which is fixed. + * - DbReads: `T::ValidatorIdOf`, `NextKeys`, `origin account` + * - DbWrites: `NextKeys`, `origin account` + * - DbWrites per key id: `KeyOwner` + * # </weight> + **/ + purgeKeys: AugmentedSubmittable<() => SubmittableExtrinsic<ApiType>, []>; + /** + * Sets the session key(s) of the function caller to `keys`. + * Allows an account to set its session key prior to becoming a validator. + * This doesn't take effect until the next session. + * + * The dispatch origin of this function must be signed. + * + * # <weight> + * - Complexity: `O(1)`. Actual cost depends on the number of length of + * `T::Keys::key_ids()` which is fixed. + * - DbReads: `origin account`, `T::ValidatorIdOf`, `NextKeys` + * - DbWrites: `origin account`, `NextKeys` + * - DbReads per key id: `KeyOwner` + * - DbWrites per key id: `KeyOwner` + * # </weight> + **/ + setKeys: AugmentedSubmittable<(keys: GdevRuntimeOpaqueSessionKeys | { grandpa?: any; babe?: any; imOnline?: any; authorityDiscovery?: any } | string | Uint8Array, proof: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [GdevRuntimeOpaqueSessionKeys, Bytes]>; + /** + * Generic tx + **/ + [key: string]: SubmittableExtrinsicFunction<ApiType>; + }; + smithsCert: { + /** + * Add a new certification or renew an existing one + * + * - `receiver`: the account receiving the certification from the origin + * + * The origin must be allow to certify. + **/ + addCert: AugmentedSubmittable<(receiver: AccountId32 | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [AccountId32]>; + delCert: AugmentedSubmittable<(issuer: u32 | AnyNumber | Uint8Array, receiver: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, u32]>; + forceAddCert: AugmentedSubmittable<(issuer: u32 | AnyNumber | Uint8Array, receiver: u32 | AnyNumber | Uint8Array, verifyRules: bool | boolean | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, u32, bool]>; + removeAllCertsReceivedBy: AugmentedSubmittable<(idtyIndex: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32]>; + /** + * Generic tx + **/ + [key: string]: SubmittableExtrinsicFunction<ApiType>; + }; + smithsCollective: { + /** + * Close a vote that is either approved, disapproved or whose voting period has ended. + * + * May be called by any signed account in order to finish voting and close the proposal. + * + * If called before the end of the voting period it will only close the vote if it is + * has enough votes to be approved or disapproved. + * + * If called after the end of the voting period abstentions are counted as rejections + * unless there is a prime member set and the prime member cast an approval. + * + * If the close operation completes successfully with disapproval, the transaction fee will + * be waived. Otherwise execution of the approved operation will be charged to the caller. + * + * + `proposal_weight_bound`: The maximum amount of weight consumed by executing the closed + * proposal. + * + `length_bound`: The upper bound for the length of the proposal in storage. Checked via + * `storage::read` so it is `size_of::<u32>() == 4` larger than the pure length. + * + * # <weight> + * ## Weight + * - `O(B + M + P1 + P2)` where: + * - `B` is `proposal` size in bytes (length-fee-bounded) + * - `M` is members-count (code- and governance-bounded) + * - `P1` is the complexity of `proposal` preimage. + * - `P2` is proposal-count (code-bounded) + * - DB: + * - 2 storage reads (`Members`: codec `O(M)`, `Prime`: codec `O(1)`) + * - 3 mutations (`Voting`: codec `O(M)`, `ProposalOf`: codec `O(B)`, `Proposals`: codec + * `O(P2)`) + * - any mutations done while executing `proposal` (`P1`) + * - up to 3 events + * # </weight> + **/ + close: AugmentedSubmittable<(proposalHash: H256 | string | Uint8Array, index: Compact<u32> | AnyNumber | Uint8Array, proposalWeightBound: Compact<u64> | AnyNumber | Uint8Array, lengthBound: Compact<u32> | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [H256, Compact<u32>, Compact<u64>, Compact<u32>]>; + /** + * Disapprove a proposal, close, and remove it from the system, regardless of its current + * state. + * + * Must be called by the Root origin. + * + * Parameters: + * * `proposal_hash`: The hash of the proposal that should be disapproved. + * + * # <weight> + * Complexity: O(P) where P is the number of max proposals + * DB Weight: + * * Reads: Proposals + * * Writes: Voting, Proposals, ProposalOf + * # </weight> + **/ + disapproveProposal: AugmentedSubmittable<(proposalHash: H256 | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [H256]>; + /** + * Dispatch a proposal from a member using the `Member` origin. + * + * Origin must be a member of the collective. + * + * # <weight> + * ## Weight + * - `O(M + P)` where `M` members-count (code-bounded) and `P` complexity of dispatching + * `proposal` + * - DB: 1 read (codec `O(M)`) + DB access of `proposal` + * - 1 event + * # </weight> + **/ + execute: AugmentedSubmittable<(proposal: Call | IMethod | string | Uint8Array, lengthBound: Compact<u32> | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [Call, Compact<u32>]>; + /** + * Add a new proposal to either be voted on or executed directly. + * + * Requires the sender to be member. + * + * `threshold` determines whether `proposal` is executed directly (`threshold < 2`) + * or put up for voting. + * + * # <weight> + * ## Weight + * - `O(B + M + P1)` or `O(B + M + P2)` where: + * - `B` is `proposal` size in bytes (length-fee-bounded) + * - `M` is members-count (code- and governance-bounded) + * - branching is influenced by `threshold` where: + * - `P1` is proposal execution complexity (`threshold < 2`) + * - `P2` is proposals-count (code-bounded) (`threshold >= 2`) + * - DB: + * - 1 storage read `is_member` (codec `O(M)`) + * - 1 storage read `ProposalOf::contains_key` (codec `O(1)`) + * - DB accesses influenced by `threshold`: + * - EITHER storage accesses done by `proposal` (`threshold < 2`) + * - OR proposal insertion (`threshold <= 2`) + * - 1 storage mutation `Proposals` (codec `O(P2)`) + * - 1 storage mutation `ProposalCount` (codec `O(1)`) + * - 1 storage write `ProposalOf` (codec `O(B)`) + * - 1 storage write `Voting` (codec `O(M)`) + * - 1 event + * # </weight> + **/ + propose: AugmentedSubmittable<(threshold: Compact<u32> | AnyNumber | Uint8Array, proposal: Call | IMethod | string | Uint8Array, lengthBound: Compact<u32> | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [Compact<u32>, Call, Compact<u32>]>; + /** + * Set the collective's membership. + * + * - `new_members`: The new member list. Be nice to the chain and provide it sorted. + * - `prime`: The prime member whose vote sets the default. + * - `old_count`: The upper bound for the previous number of members in storage. Used for + * weight estimation. + * + * Requires root origin. + * + * NOTE: Does not enforce the expected `MaxMembers` limit on the amount of members, but + * the weight estimations rely on it to estimate dispatchable weight. + * + * # WARNING: + * + * The `pallet-collective` can also be managed by logic outside of the pallet through the + * implementation of the trait [`ChangeMembers`]. + * Any call to `set_members` must be careful that the member set doesn't get out of sync + * with other logic managing the member set. + * + * # <weight> + * ## Weight + * - `O(MP + N)` where: + * - `M` old-members-count (code- and governance-bounded) + * - `N` new-members-count (code- and governance-bounded) + * - `P` proposals-count (code-bounded) + * - DB: + * - 1 storage mutation (codec `O(M)` read, `O(N)` write) for reading and writing the + * members + * - 1 storage read (codec `O(P)`) for reading the proposals + * - `P` storage mutations (codec `O(M)`) for updating the votes for each proposal + * - 1 storage write (codec `O(1)`) for deleting the old `prime` and setting the new one + * # </weight> + **/ + setMembers: AugmentedSubmittable<(newMembers: Vec<AccountId32> | (AccountId32 | string | Uint8Array)[], prime: Option<AccountId32> | null | object | string | Uint8Array, oldCount: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [Vec<AccountId32>, Option<AccountId32>, u32]>; + /** + * Add an aye or nay vote for the sender to the given proposal. + * + * Requires the sender to be a member. + * + * Transaction fees will be waived if the member is voting on any particular proposal + * for the first time and the call is successful. Subsequent vote changes will charge a + * fee. + * # <weight> + * ## Weight + * - `O(M)` where `M` is members-count (code- and governance-bounded) + * - DB: + * - 1 storage read `Members` (codec `O(M)`) + * - 1 storage mutation `Voting` (codec `O(M)`) + * - 1 event + * # </weight> + **/ + vote: AugmentedSubmittable<(proposal: H256 | string | Uint8Array, index: Compact<u32> | AnyNumber | Uint8Array, approve: bool | boolean | Uint8Array) => SubmittableExtrinsic<ApiType>, [H256, Compact<u32>, bool]>; + /** + * Generic tx + **/ + [key: string]: SubmittableExtrinsicFunction<ApiType>; + }; + smithsMembership: { + claimMembership: AugmentedSubmittable<(maybeIdtyId: Option<u32> | null | object | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Option<u32>]>; + forceRequestMembership: AugmentedSubmittable<(idtyId: u32 | AnyNumber | Uint8Array, metadata: CommonRuntimeEntitiesSmithsMembershipMetaData | { ownerKey?: any; p2pEndpoint?: any; sessionKeys?: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, CommonRuntimeEntitiesSmithsMembershipMetaData]>; + renewMembership: AugmentedSubmittable<(maybeIdtyId: Option<u32> | null | object | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Option<u32>]>; + requestMembership: AugmentedSubmittable<(metadata: CommonRuntimeEntitiesSmithsMembershipMetaData | { ownerKey?: any; p2pEndpoint?: any; sessionKeys?: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [CommonRuntimeEntitiesSmithsMembershipMetaData]>; + revokeMembership: AugmentedSubmittable<(maybeIdtyId: Option<u32> | null | object | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Option<u32>]>; + /** + * Generic tx + **/ + [key: string]: SubmittableExtrinsicFunction<ApiType>; + }; + sudo: { + /** + * Authenticates the current sudo key and sets the given AccountId (`new`) as the new sudo + * key. + * + * The dispatch origin for this call must be _Signed_. + * + * # <weight> + * - O(1). + * - Limited storage reads. + * - One DB change. + * # </weight> + **/ + setKey: AugmentedSubmittable<(updated: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [MultiAddress]>; + /** + * Authenticates the sudo key and dispatches a function call with `Root` origin. + * + * The dispatch origin for this call must be _Signed_. + * + * # <weight> + * - O(1). + * - Limited storage reads. + * - One DB write (event). + * - Weight of derivative `call` execution + 10,000. + * # </weight> + **/ + sudo: AugmentedSubmittable<(call: Call | IMethod | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Call]>; + /** + * Authenticates the sudo key and dispatches a function call with `Signed` origin from + * a given account. + * + * The dispatch origin for this call must be _Signed_. + * + * # <weight> + * - O(1). + * - Limited storage reads. + * - One DB write (event). + * - Weight of derivative `call` execution + 10,000. + * # </weight> + **/ + sudoAs: AugmentedSubmittable<(who: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, call: Call | IMethod | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [MultiAddress, Call]>; + /** + * Authenticates the sudo key and dispatches a function call with `Root` origin. + * This function does not check the weight of the call, and instead allows the + * Sudo user to specify the weight of the call. + * + * The dispatch origin for this call must be _Signed_. + * + * # <weight> + * - O(1). + * - The weight of this call is defined by the caller. + * # </weight> + **/ + sudoUncheckedWeight: AugmentedSubmittable<(call: Call | IMethod | string | Uint8Array, weight: u64 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [Call, u64]>; + /** + * Generic tx + **/ + [key: string]: SubmittableExtrinsicFunction<ApiType>; + }; + system: { + /** + * A dispatch that will fill the block weight up to the given ratio. + **/ + fillBlock: AugmentedSubmittable<(ratio: Perbill | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [Perbill]>; + /** + * Kill all storage items with a key that starts with the given prefix. + * + * **NOTE:** We rely on the Root origin to provide us the number of subkeys under + * the prefix we are removing to accurately calculate the weight of this function. + **/ + killPrefix: AugmentedSubmittable<(prefix: Bytes | string | Uint8Array, subkeys: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [Bytes, u32]>; + /** + * Kill some items from storage. + **/ + killStorage: AugmentedSubmittable<(keys: Vec<Bytes> | (Bytes | string | Uint8Array)[]) => SubmittableExtrinsic<ApiType>, [Vec<Bytes>]>; + /** + * Make some on-chain remark. + * + * # <weight> + * - `O(1)` + * # </weight> + **/ + remark: AugmentedSubmittable<(remark: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Bytes]>; + /** + * Make some on-chain remark and emit event. + **/ + remarkWithEvent: AugmentedSubmittable<(remark: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Bytes]>; + /** + * Set the new runtime code. + * + * # <weight> + * - `O(C + S)` where `C` length of `code` and `S` complexity of `can_set_code` + * - 1 call to `can_set_code`: `O(S)` (calls `sp_io::misc::runtime_version` which is + * expensive). + * - 1 storage write (codec `O(C)`). + * - 1 digest item. + * - 1 event. + * The weight of this function is dependent on the runtime, but generally this is very + * expensive. We will treat this as a full block. + * # </weight> + **/ + setCode: AugmentedSubmittable<(code: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Bytes]>; + /** + * Set the new runtime code without doing any checks of the given `code`. + * + * # <weight> + * - `O(C)` where `C` length of `code` + * - 1 storage write (codec `O(C)`). + * - 1 digest item. + * - 1 event. + * The weight of this function is dependent on the runtime. We will treat this as a full + * block. # </weight> + **/ + setCodeWithoutChecks: AugmentedSubmittable<(code: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Bytes]>; + /** + * Set the number of pages in the WebAssembly environment's heap. + **/ + setHeapPages: AugmentedSubmittable<(pages: u64 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u64]>; + /** + * Set some items of storage. + **/ + setStorage: AugmentedSubmittable<(items: Vec<ITuple<[Bytes, Bytes]>> | ([Bytes | string | Uint8Array, Bytes | string | Uint8Array])[]) => SubmittableExtrinsic<ApiType>, [Vec<ITuple<[Bytes, Bytes]>>]>; + /** + * Generic tx + **/ + [key: string]: SubmittableExtrinsicFunction<ApiType>; + }; + timestamp: { + /** + * Set the current time. + * + * This call should be invoked exactly once per block. It will panic at the finalization + * phase, if this call hasn't been invoked by that time. + * + * The timestamp should be greater than the previous one by the amount specified by + * `MinimumPeriod`. + * + * The dispatch origin for this call must be `Inherent`. + * + * # <weight> + * - `O(1)` (Note that implementations of `OnTimestampSet` must also be `O(1)`) + * - 1 storage read and 1 storage mutation (codec `O(1)`). (because of `DidUpdate::take` in + * `on_finalize`) + * - 1 event handler `on_timestamp_set`. Must be `O(1)`. + * # </weight> + **/ + set: AugmentedSubmittable<(now: Compact<u64> | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [Compact<u64>]>; + /** + * Generic tx + **/ + [key: string]: SubmittableExtrinsicFunction<ApiType>; + }; + treasury: { + /** + * Approve a proposal. At a later time, the proposal will be allocated to the beneficiary + * and the original deposit will be returned. + * + * May only be called from `T::ApproveOrigin`. + * + * # <weight> + * - Complexity: O(1). + * - DbReads: `Proposals`, `Approvals` + * - DbWrite: `Approvals` + * # </weight> + **/ + approveProposal: AugmentedSubmittable<(proposalId: Compact<u32> | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [Compact<u32>]>; + /** + * Put forward a suggestion for spending. A deposit proportional to the value + * is reserved and slashed if the proposal is rejected. It is returned once the + * proposal is awarded. + * + * # <weight> + * - Complexity: O(1) + * - DbReads: `ProposalCount`, `origin account` + * - DbWrites: `ProposalCount`, `Proposals`, `origin account` + * # </weight> + **/ + proposeSpend: AugmentedSubmittable<(value: Compact<u64> | AnyNumber | Uint8Array, beneficiary: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Compact<u64>, MultiAddress]>; + /** + * Reject a proposed spend. The original deposit will be slashed. + * + * May only be called from `T::RejectOrigin`. + * + * # <weight> + * - Complexity: O(1) + * - DbReads: `Proposals`, `rejected proposer account` + * - DbWrites: `Proposals`, `rejected proposer account` + * # </weight> + **/ + rejectProposal: AugmentedSubmittable<(proposalId: Compact<u32> | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [Compact<u32>]>; + /** + * Generic tx + **/ + [key: string]: SubmittableExtrinsicFunction<ApiType>; + }; + universalDividend: { + /** + * Transfer some liquid free balance to another account, in milliUD. + **/ + transferUd: AugmentedSubmittable<(dest: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, value: Compact<u64> | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [MultiAddress, Compact<u64>]>; + /** + * Transfer some liquid free balance to another account, in milliUD. + **/ + transferUdKeepAlive: AugmentedSubmittable<(dest: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, value: Compact<u64> | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [MultiAddress, Compact<u64>]>; + /** + * Generic tx + **/ + [key: string]: SubmittableExtrinsicFunction<ApiType>; + }; + upgradeOrigin: { + /** + * Dispatches a function call from root origin. + * + * The weight of this call is defined by the caller. + **/ + dispatchAsRoot: AugmentedSubmittable<(call: Call | IMethod | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Call]>; + /** + * Dispatches a function call from root origin. + * This function does not check the weight of the call, and instead allows the + * caller to specify the weight of the call. + * + * The weight of this call is defined by the caller. + **/ + dispatchAsRootUncheckedWeight: AugmentedSubmittable<(call: Call | IMethod | string | Uint8Array, weight: u64 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [Call, u64]>; + /** + * Generic tx + **/ + [key: string]: SubmittableExtrinsicFunction<ApiType>; + }; + utility: { + /** + * Send a call through an indexed pseudonym of the sender. + * + * Filter from origin are passed along. The call will be dispatched with an origin which + * use the same filter as the origin of this call. + * + * NOTE: If you need to ensure that any account-based filtering is not honored (i.e. + * because you expect `proxy` to have been used prior in the call stack and you do not want + * the call restrictions to apply to any sub-accounts), then use `as_multi_threshold_1` + * in the Multisig pallet instead. + * + * NOTE: Prior to version *12, this was called `as_limited_sub`. + * + * The dispatch origin for this call must be _Signed_. + **/ + asDerivative: AugmentedSubmittable<(index: u16 | AnyNumber | Uint8Array, call: Call | IMethod | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u16, Call]>; + /** + * Send a batch of dispatch calls. + * + * May be called from any origin. + * + * - `calls`: The calls to be dispatched from the same origin. The number of call must not + * exceed the constant: `batched_calls_limit` (available in constant metadata). + * + * If origin is root then call are dispatch without checking origin filter. (This includes + * bypassing `frame_system::Config::BaseCallFilter`). + * + * # <weight> + * - Complexity: O(C) where C is the number of calls to be batched. + * # </weight> + * + * This will return `Ok` in all circumstances. To determine the success of the batch, an + * event is deposited. If a call failed and the batch was interrupted, then the + * `BatchInterrupted` event is deposited, along with the number of successful calls made + * and the error of the failed call. If all were successful, then the `BatchCompleted` + * event is deposited. + **/ + batch: AugmentedSubmittable<(calls: Vec<Call> | (Call | IMethod | string | Uint8Array)[]) => SubmittableExtrinsic<ApiType>, [Vec<Call>]>; + /** + * Send a batch of dispatch calls and atomically execute them. + * The whole transaction will rollback and fail if any of the calls failed. + * + * May be called from any origin. + * + * - `calls`: The calls to be dispatched from the same origin. The number of call must not + * exceed the constant: `batched_calls_limit` (available in constant metadata). + * + * If origin is root then call are dispatch without checking origin filter. (This includes + * bypassing `frame_system::Config::BaseCallFilter`). + * + * # <weight> + * - Complexity: O(C) where C is the number of calls to be batched. + * # </weight> + **/ + batchAll: AugmentedSubmittable<(calls: Vec<Call> | (Call | IMethod | string | Uint8Array)[]) => SubmittableExtrinsic<ApiType>, [Vec<Call>]>; + /** + * Dispatches a function call with a provided origin. + * + * The dispatch origin for this call must be _Root_. + * + * # <weight> + * - O(1). + * - Limited storage reads. + * - One DB write (event). + * - Weight of derivative `call` execution + T::WeightInfo::dispatch_as(). + * # </weight> + **/ + dispatchAs: AugmentedSubmittable<(asOrigin: GdevRuntimeOriginCaller | { system: any } | { Void: any } | { SmithsCollective: any } | string | Uint8Array, call: Call | IMethod | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [GdevRuntimeOriginCaller, Call]>; + /** + * Generic tx + **/ + [key: string]: SubmittableExtrinsicFunction<ApiType>; + }; + } // AugmentedSubmittables +} // declare module diff --git a/src/interfaces/augment-api.ts b/src/interfaces/augment-api.ts new file mode 100644 index 0000000..921d2f8 --- /dev/null +++ b/src/interfaces/augment-api.ts @@ -0,0 +1,9 @@ +// Auto-generated via `yarn polkadot-types-from-chain`, do not edit +/* eslint-disable */ + +import './augment-api-consts'; +import './augment-api-errors'; +import './augment-api-events'; +import './augment-api-query'; +import './augment-api-tx'; +import './augment-api-rpc'; diff --git a/src/interfaces/augment-types.ts b/src/interfaces/augment-types.ts new file mode 100644 index 0000000..e1592ae --- /dev/null +++ b/src/interfaces/augment-types.ts @@ -0,0 +1,1116 @@ +// Auto-generated via `yarn polkadot-types-from-defs`, do not edit +/* eslint-disable */ + +import type { Data, StorageKey } from '@polkadot/types'; +import type { BitVec, Bool, Bytes, I128, I16, I256, I32, I64, I8, Json, Null, OptionBool, Raw, Text, Type, U128, U16, U256, U32, U64, U8, USize, bool, i128, i16, i256, i32, i64, i8, u128, u16, u256, u32, u64, u8, usize } from '@polkadot/types-codec'; +import type { AssetApproval, AssetApprovalKey, AssetBalance, AssetDestroyWitness, AssetDetails, AssetMetadata, TAssetBalance, TAssetDepositBalance } from '@polkadot/types/interfaces/assets'; +import type { BlockAttestations, IncludedBlocks, MoreAttestations } from '@polkadot/types/interfaces/attestations'; +import type { RawAuraPreDigest } from '@polkadot/types/interfaces/aura'; +import type { ExtrinsicOrHash, ExtrinsicStatus } from '@polkadot/types/interfaces/author'; +import type { UncleEntryItem } from '@polkadot/types/interfaces/authorship'; +import type { AllowedSlots, BabeAuthorityWeight, BabeBlockWeight, BabeEpochConfiguration, BabeEquivocationProof, BabeWeight, EpochAuthorship, MaybeRandomness, MaybeVrf, NextConfigDescriptor, NextConfigDescriptorV1, Randomness, RawBabePreDigest, RawBabePreDigestCompat, RawBabePreDigestPrimary, RawBabePreDigestPrimaryTo159, RawBabePreDigestSecondaryPlain, RawBabePreDigestSecondaryTo159, RawBabePreDigestSecondaryVRF, RawBabePreDigestTo159, SlotNumber, VrfData, VrfOutput, VrfProof } from '@polkadot/types/interfaces/babe'; +import type { AccountData, BalanceLock, BalanceLockTo212, BalanceStatus, Reasons, ReserveData, ReserveIdentifier, VestingSchedule, WithdrawReasons } from '@polkadot/types/interfaces/balances'; +import type { BeefyCommitment, BeefyId, BeefyNextAuthoritySet, BeefyPayload, BeefySignedCommitment, MmrRootHash, ValidatorSetId } from '@polkadot/types/interfaces/beefy'; +import type { BridgeMessageId, BridgedBlockHash, BridgedBlockNumber, BridgedHeader, CallOrigin, ChainId, DeliveredMessages, DispatchFeePayment, InboundLaneData, InboundRelayer, InitializationData, LaneId, MessageData, MessageKey, MessageNonce, MessagesDeliveryProofOf, MessagesProofOf, OperatingMode, OutboundLaneData, OutboundMessageFee, OutboundPayload, Parameter, RelayerId, UnrewardedRelayer, UnrewardedRelayersState } from '@polkadot/types/interfaces/bridges'; +import type { BlockHash } from '@polkadot/types/interfaces/chain'; +import type { PrefixedStorageKey } from '@polkadot/types/interfaces/childstate'; +import type { StatementKind } from '@polkadot/types/interfaces/claims'; +import type { CollectiveOrigin, MemberCount, ProposalIndex, Votes, VotesTo230 } from '@polkadot/types/interfaces/collective'; +import type { AuthorityId, RawVRFOutput } from '@polkadot/types/interfaces/consensus'; +import type { AliveContractInfo, CodeHash, CodeSource, CodeUploadRequest, CodeUploadResult, CodeUploadResultValue, ContractCallFlags, ContractCallRequest, ContractExecResult, ContractExecResultOk, ContractExecResultResult, ContractExecResultSuccessTo255, ContractExecResultSuccessTo260, ContractExecResultTo255, ContractExecResultTo260, ContractExecResultTo267, ContractInfo, ContractInstantiateResult, ContractInstantiateResultTo267, ContractInstantiateResultTo299, ContractReturnFlags, ContractStorageKey, DeletedContract, ExecReturnValue, Gas, HostFnWeights, HostFnWeightsTo264, InstantiateRequest, InstantiateRequestV1, InstantiateRequestV2, InstantiateReturnValue, InstantiateReturnValueOk, InstantiateReturnValueTo267, InstructionWeights, Limits, LimitsTo264, PrefabWasmModule, RentProjection, Schedule, ScheduleTo212, ScheduleTo258, ScheduleTo264, SeedOf, StorageDeposit, TombstoneContractInfo, TrieId } from '@polkadot/types/interfaces/contracts'; +import type { ContractConstructorSpecLatest, ContractConstructorSpecV0, ContractConstructorSpecV1, ContractConstructorSpecV2, ContractConstructorSpecV3, ContractContractSpecV0, ContractContractSpecV1, ContractContractSpecV2, ContractContractSpecV3, ContractCryptoHasher, ContractDiscriminant, ContractDisplayName, ContractEventParamSpecLatest, ContractEventParamSpecV0, ContractEventParamSpecV2, ContractEventSpecLatest, ContractEventSpecV0, ContractEventSpecV1, ContractEventSpecV2, ContractLayoutArray, ContractLayoutCell, ContractLayoutEnum, ContractLayoutHash, ContractLayoutHashingStrategy, ContractLayoutKey, ContractLayoutStruct, ContractLayoutStructField, ContractMessageParamSpecLatest, ContractMessageParamSpecV0, ContractMessageParamSpecV2, ContractMessageSpecLatest, ContractMessageSpecV0, ContractMessageSpecV1, ContractMessageSpecV2, ContractMetadata, ContractMetadataLatest, ContractMetadataV0, ContractMetadataV1, ContractMetadataV2, ContractMetadataV3, ContractProject, ContractProjectContract, ContractProjectInfo, ContractProjectSource, ContractProjectV0, ContractSelector, ContractStorageLayout, ContractTypeSpec } from '@polkadot/types/interfaces/contractsAbi'; +import type { FundIndex, FundInfo, LastContribution, TrieIndex } from '@polkadot/types/interfaces/crowdloan'; +import type { ConfigData, MessageId, OverweightIndex, PageCounter, PageIndexData } from '@polkadot/types/interfaces/cumulus'; +import type { AccountVote, AccountVoteSplit, AccountVoteStandard, Conviction, Delegations, PreimageStatus, PreimageStatusAvailable, PriorLock, PropIndex, Proposal, ProxyState, ReferendumIndex, ReferendumInfo, ReferendumInfoFinished, ReferendumInfoTo239, ReferendumStatus, Tally, Voting, VotingDelegating, VotingDirect, VotingDirectVote } from '@polkadot/types/interfaces/democracy'; +import type { BlockStats } from '@polkadot/types/interfaces/dev'; +import type { ApprovalFlag, DefunctVoter, Renouncing, SetIndex, Vote, VoteIndex, VoteThreshold, VoterInfo } from '@polkadot/types/interfaces/elections'; +import type { CreatedBlock, ImportedAux } from '@polkadot/types/interfaces/engine'; +import type { BlockV0, BlockV1, BlockV2, EIP1559Transaction, EIP2930Transaction, EthAccessList, EthAccessListItem, EthAccount, EthAddress, EthBlock, EthBloom, EthCallRequest, EthFilter, EthFilterAddress, EthFilterChanges, EthFilterTopic, EthFilterTopicEntry, EthFilterTopicInner, EthHeader, EthLog, EthReceipt, EthRichBlock, EthRichHeader, EthStorageProof, EthSubKind, EthSubParams, EthSubResult, EthSyncInfo, EthSyncStatus, EthTransaction, EthTransactionAction, EthTransactionCondition, EthTransactionRequest, EthTransactionSignature, EthTransactionStatus, EthWork, EthereumAccountId, EthereumAddress, EthereumLookupSource, EthereumSignature, LegacyTransaction, TransactionV0, TransactionV1, TransactionV2 } from '@polkadot/types/interfaces/eth'; +import type { EvmAccount, EvmLog, EvmVicinity, ExitError, ExitFatal, ExitReason, ExitRevert, ExitSucceed } from '@polkadot/types/interfaces/evm'; +import type { AnySignature, EcdsaSignature, Ed25519Signature, Era, Extrinsic, ExtrinsicEra, ExtrinsicPayload, ExtrinsicPayloadUnknown, ExtrinsicPayloadV4, ExtrinsicSignature, ExtrinsicSignatureV4, ExtrinsicUnknown, ExtrinsicV4, ImmortalEra, MortalEra, MultiSignature, Signature, SignerPayload, Sr25519Signature } from '@polkadot/types/interfaces/extrinsics'; +import type { AssetOptions, Owner, PermissionLatest, PermissionVersions, PermissionsV1 } from '@polkadot/types/interfaces/genericAsset'; +import type { ActiveGilt, ActiveGiltsTotal, ActiveIndex, GiltBid } from '@polkadot/types/interfaces/gilt'; +import type { AuthorityIndex, AuthorityList, AuthoritySet, AuthoritySetChange, AuthoritySetChanges, AuthorityWeight, DelayKind, DelayKindBest, EncodedFinalityProofs, ForkTreePendingChange, ForkTreePendingChangeNode, GrandpaCommit, GrandpaEquivocation, GrandpaEquivocationProof, GrandpaEquivocationValue, GrandpaJustification, GrandpaPrecommit, GrandpaPrevote, GrandpaSignedPrecommit, JustificationNotification, KeyOwnerProof, NextAuthority, PendingChange, PendingPause, PendingResume, Precommits, Prevotes, ReportedRoundStates, RoundState, SetId, StoredPendingChange, StoredState } from '@polkadot/types/interfaces/grandpa'; +import type { IdentityFields, IdentityInfo, IdentityInfoAdditional, IdentityInfoTo198, IdentityJudgement, RegistrarIndex, RegistrarInfo, Registration, RegistrationJudgement, RegistrationTo198 } from '@polkadot/types/interfaces/identity'; +import type { AuthIndex, AuthoritySignature, Heartbeat, HeartbeatTo244, OpaqueMultiaddr, OpaqueNetworkState, OpaquePeerId } from '@polkadot/types/interfaces/imOnline'; +import type { CallIndex, LotteryConfig } from '@polkadot/types/interfaces/lottery'; +import type { ErrorMetadataLatest, ErrorMetadataV10, ErrorMetadataV11, ErrorMetadataV12, ErrorMetadataV13, ErrorMetadataV14, ErrorMetadataV9, EventMetadataLatest, EventMetadataV10, EventMetadataV11, EventMetadataV12, EventMetadataV13, EventMetadataV14, EventMetadataV9, ExtrinsicMetadataLatest, ExtrinsicMetadataV11, ExtrinsicMetadataV12, ExtrinsicMetadataV13, ExtrinsicMetadataV14, FunctionArgumentMetadataLatest, FunctionArgumentMetadataV10, FunctionArgumentMetadataV11, FunctionArgumentMetadataV12, FunctionArgumentMetadataV13, FunctionArgumentMetadataV14, FunctionArgumentMetadataV9, FunctionMetadataLatest, FunctionMetadataV10, FunctionMetadataV11, FunctionMetadataV12, FunctionMetadataV13, FunctionMetadataV14, FunctionMetadataV9, MetadataAll, MetadataLatest, MetadataV10, MetadataV11, MetadataV12, MetadataV13, MetadataV14, MetadataV9, ModuleConstantMetadataV10, ModuleConstantMetadataV11, ModuleConstantMetadataV12, ModuleConstantMetadataV13, ModuleConstantMetadataV9, ModuleMetadataV10, ModuleMetadataV11, ModuleMetadataV12, ModuleMetadataV13, ModuleMetadataV9, PalletCallMetadataLatest, PalletCallMetadataV14, PalletConstantMetadataLatest, PalletConstantMetadataV14, PalletErrorMetadataLatest, PalletErrorMetadataV14, PalletEventMetadataLatest, PalletEventMetadataV14, PalletMetadataLatest, PalletMetadataV14, PalletStorageMetadataLatest, PalletStorageMetadataV14, PortableType, PortableTypeV14, SignedExtensionMetadataLatest, SignedExtensionMetadataV14, StorageEntryMetadataLatest, StorageEntryMetadataV10, StorageEntryMetadataV11, StorageEntryMetadataV12, StorageEntryMetadataV13, StorageEntryMetadataV14, StorageEntryMetadataV9, StorageEntryModifierLatest, StorageEntryModifierV10, StorageEntryModifierV11, StorageEntryModifierV12, StorageEntryModifierV13, StorageEntryModifierV14, StorageEntryModifierV9, StorageEntryTypeLatest, StorageEntryTypeV10, StorageEntryTypeV11, StorageEntryTypeV12, StorageEntryTypeV13, StorageEntryTypeV14, StorageEntryTypeV9, StorageHasher, StorageHasherV10, StorageHasherV11, StorageHasherV12, StorageHasherV13, StorageHasherV14, StorageHasherV9, StorageMetadataV10, StorageMetadataV11, StorageMetadataV12, StorageMetadataV13, StorageMetadataV9 } from '@polkadot/types/interfaces/metadata'; +import type { MmrLeafBatchProof, MmrLeafProof } from '@polkadot/types/interfaces/mmr'; +import type { StorageKind } from '@polkadot/types/interfaces/offchain'; +import type { DeferredOffenceOf, Kind, OffenceDetails, Offender, OpaqueTimeSlot, ReportIdOf, Reporter } from '@polkadot/types/interfaces/offences'; +import type { AbridgedCandidateReceipt, AbridgedHostConfiguration, AbridgedHrmpChannel, AssignmentId, AssignmentKind, AttestedCandidate, AuctionIndex, AuthorityDiscoveryId, AvailabilityBitfield, AvailabilityBitfieldRecord, BackedCandidate, Bidder, BufferedSessionChange, CandidateCommitments, CandidateDescriptor, CandidateHash, CandidateInfo, CandidatePendingAvailability, CandidateReceipt, CollatorId, CollatorSignature, CommittedCandidateReceipt, CoreAssignment, CoreIndex, CoreOccupied, DisputeLocation, DisputeResult, DisputeState, DisputeStatement, DisputeStatementSet, DoubleVoteReport, DownwardMessage, ExplicitDisputeStatement, GlobalValidationData, GlobalValidationSchedule, GroupIndex, HeadData, HostConfiguration, HrmpChannel, HrmpChannelId, HrmpOpenChannelRequest, InboundDownwardMessage, InboundHrmpMessage, InboundHrmpMessages, IncomingParachain, IncomingParachainDeploy, IncomingParachainFixed, InvalidDisputeStatementKind, LeasePeriod, LeasePeriodOf, LocalValidationData, MessageIngestionType, MessageQueueChain, MessagingStateSnapshot, MessagingStateSnapshotEgressEntry, MultiDisputeStatementSet, NewBidder, OutboundHrmpMessage, ParaGenesisArgs, ParaId, ParaInfo, ParaLifecycle, ParaPastCodeMeta, ParaScheduling, ParaValidatorIndex, ParachainDispatchOrigin, ParachainInherentData, ParachainProposal, ParachainsInherentData, ParathreadClaim, ParathreadClaimQueue, ParathreadEntry, PersistedValidationData, QueuedParathread, RegisteredParachainInfo, RelayBlockNumber, RelayChainBlockNumber, RelayChainHash, RelayHash, Remark, ReplacementTimes, Retriable, Scheduling, ServiceQuality, SessionInfo, SessionInfoValidatorGroup, SignedAvailabilityBitfield, SignedAvailabilityBitfields, SigningContext, SlotRange, SlotRange10, Statement, SubId, SystemInherentData, TransientValidationData, UpgradeGoAhead, UpgradeRestriction, UpwardMessage, ValidDisputeStatementKind, ValidationCode, ValidationCodeHash, ValidationData, ValidationDataType, ValidationFunctionParams, ValidatorSignature, ValidityAttestation, VecInboundHrmpMessage, WinnersData, WinnersData10, WinnersDataTuple, WinnersDataTuple10, WinningData, WinningData10, WinningDataEntry } from '@polkadot/types/interfaces/parachains'; +import type { FeeDetails, InclusionFee, RuntimeDispatchInfo } from '@polkadot/types/interfaces/payment'; +import type { Approvals } from '@polkadot/types/interfaces/poll'; +import type { ProxyAnnouncement, ProxyDefinition, ProxyType } from '@polkadot/types/interfaces/proxy'; +import type { AccountStatus, AccountValidity } from '@polkadot/types/interfaces/purchase'; +import type { ActiveRecovery, RecoveryConfig } from '@polkadot/types/interfaces/recovery'; +import type { RpcMethods } from '@polkadot/types/interfaces/rpc'; +import type { AccountId, AccountId20, AccountId32, AccountIdOf, AccountIndex, Address, AssetId, Balance, BalanceOf, Block, BlockNumber, BlockNumberFor, BlockNumberOf, Call, CallHash, CallHashOf, ChangesTrieConfiguration, ChangesTrieSignal, CodecHash, Consensus, ConsensusEngineId, CrateVersion, Digest, DigestItem, EncodedJustification, ExtrinsicsWeight, Fixed128, Fixed64, FixedI128, FixedI64, FixedU128, FixedU64, H1024, H128, H160, H2048, H256, H32, H512, H64, Hash, Header, HeaderPartial, I32F32, Index, IndicesLookupSource, Justification, Justifications, KeyTypeId, KeyValue, LockIdentifier, LookupSource, LookupTarget, ModuleId, Moment, MultiAddress, MultiSigner, OpaqueCall, Origin, OriginCaller, PalletId, PalletVersion, PalletsOrigin, Pays, PerU16, Perbill, Percent, Permill, Perquintill, Phantom, PhantomData, PreRuntime, Releases, RuntimeDbWeight, Seal, SealV0, SignedBlock, SignedBlockWithJustification, SignedBlockWithJustifications, Slot, StorageData, StorageProof, TransactionInfo, TransactionPriority, TransactionStorageProof, U32F32, ValidatorId, ValidatorIdOf, Weight, WeightMultiplier } from '@polkadot/types/interfaces/runtime'; +import type { Si0Field, Si0LookupTypeId, Si0Path, Si0Type, Si0TypeDef, Si0TypeDefArray, Si0TypeDefBitSequence, Si0TypeDefCompact, Si0TypeDefComposite, Si0TypeDefPhantom, Si0TypeDefPrimitive, Si0TypeDefSequence, Si0TypeDefTuple, Si0TypeDefVariant, Si0TypeParameter, Si0Variant, Si1Field, Si1LookupTypeId, Si1Path, Si1Type, Si1TypeDef, Si1TypeDefArray, Si1TypeDefBitSequence, Si1TypeDefCompact, Si1TypeDefComposite, Si1TypeDefPrimitive, Si1TypeDefSequence, Si1TypeDefTuple, Si1TypeDefVariant, Si1TypeParameter, Si1Variant, SiField, SiLookupTypeId, SiPath, SiType, SiTypeDef, SiTypeDefArray, SiTypeDefBitSequence, SiTypeDefCompact, SiTypeDefComposite, SiTypeDefPrimitive, SiTypeDefSequence, SiTypeDefTuple, SiTypeDefVariant, SiTypeParameter, SiVariant } from '@polkadot/types/interfaces/scaleInfo'; +import type { Period, Priority, SchedulePeriod, SchedulePriority, Scheduled, ScheduledTo254, TaskAddress } from '@polkadot/types/interfaces/scheduler'; +import type { BeefyKey, FullIdentification, IdentificationTuple, Keys, MembershipProof, SessionIndex, SessionKeys1, SessionKeys10, SessionKeys10B, SessionKeys2, SessionKeys3, SessionKeys4, SessionKeys5, SessionKeys6, SessionKeys6B, SessionKeys7, SessionKeys7B, SessionKeys8, SessionKeys8B, SessionKeys9, SessionKeys9B, ValidatorCount } from '@polkadot/types/interfaces/session'; +import type { Bid, BidKind, SocietyJudgement, SocietyVote, StrikeCount, VouchingStatus } from '@polkadot/types/interfaces/society'; +import type { ActiveEraInfo, CompactAssignments, CompactAssignmentsTo257, CompactAssignmentsTo265, CompactAssignmentsWith16, CompactAssignmentsWith24, CompactScore, CompactScoreCompact, ElectionCompute, ElectionPhase, ElectionResult, ElectionScore, ElectionSize, ElectionStatus, EraIndex, EraPoints, EraRewardPoints, EraRewards, Exposure, ExtendedBalance, Forcing, IndividualExposure, KeyType, MomentOf, Nominations, NominatorIndex, NominatorIndexCompact, OffchainAccuracy, OffchainAccuracyCompact, PhragmenScore, Points, RawSolution, RawSolutionTo265, RawSolutionWith16, RawSolutionWith24, ReadySolution, RewardDestination, RewardPoint, RoundSnapshot, SeatHolder, SignedSubmission, SignedSubmissionOf, SignedSubmissionTo276, SlashJournalEntry, SlashingSpans, SlashingSpansTo204, SolutionOrSnapshotSize, SolutionSupport, SolutionSupports, SpanIndex, SpanRecord, StakingLedger, StakingLedgerTo223, StakingLedgerTo240, SubmissionIndicesOf, Supports, UnappliedSlash, UnappliedSlashOther, UnlockChunk, ValidatorIndex, ValidatorIndexCompact, ValidatorPrefs, ValidatorPrefsTo145, ValidatorPrefsTo196, ValidatorPrefsWithBlocked, ValidatorPrefsWithCommission, VoteWeight, Voter } from '@polkadot/types/interfaces/staking'; +import type { ApiId, BlockTrace, BlockTraceEvent, BlockTraceEventData, BlockTraceSpan, KeyValueOption, MigrationStatusResult, ReadProof, RuntimeVersion, RuntimeVersionApi, RuntimeVersionPartial, SpecVersion, StorageChangeSet, TraceBlockResponse, TraceError } from '@polkadot/types/interfaces/state'; +import type { WeightToFeeCoefficient } from '@polkadot/types/interfaces/support'; +import type { AccountInfo, AccountInfoWithDualRefCount, AccountInfoWithProviders, AccountInfoWithRefCount, AccountInfoWithRefCountU8, AccountInfoWithTripleRefCount, ApplyExtrinsicResult, ArithmeticError, BlockLength, BlockWeights, ChainProperties, ChainType, ConsumedWeight, DigestOf, DispatchClass, DispatchError, DispatchErrorModule, DispatchErrorModuleU8, DispatchErrorModuleU8a, DispatchErrorTo198, DispatchInfo, DispatchInfoTo190, DispatchInfoTo244, DispatchOutcome, DispatchResult, DispatchResultOf, DispatchResultTo198, Event, EventId, EventIndex, EventRecord, Health, InvalidTransaction, Key, LastRuntimeUpgradeInfo, NetworkState, NetworkStatePeerset, NetworkStatePeersetInfo, NodeRole, NotConnectedPeer, Peer, PeerEndpoint, PeerEndpointAddr, PeerInfo, PeerPing, PerDispatchClassU32, PerDispatchClassWeight, PerDispatchClassWeightsPerClass, Phase, RawOrigin, RefCount, RefCountTo259, SyncState, SystemOrigin, TokenError, TransactionValidityError, TransactionalError, UnknownTransaction, WeightPerClass } from '@polkadot/types/interfaces/system'; +import type { Bounty, BountyIndex, BountyStatus, BountyStatusActive, BountyStatusCuratorProposed, BountyStatusPendingPayout, OpenTip, OpenTipFinderTo225, OpenTipTip, OpenTipTo225, TreasuryProposal } from '@polkadot/types/interfaces/treasury'; +import type { Multiplier } from '@polkadot/types/interfaces/txpayment'; +import type { ClassDetails, ClassId, ClassMetadata, DepositBalance, DepositBalanceOf, DestroyWitness, InstanceDetails, InstanceId, InstanceMetadata } from '@polkadot/types/interfaces/uniques'; +import type { Multisig, Timepoint } from '@polkadot/types/interfaces/utility'; +import type { VestingInfo } from '@polkadot/types/interfaces/vesting'; +import type { AssetInstance, AssetInstanceV0, AssetInstanceV1, AssetInstanceV2, BodyId, BodyPart, DoubleEncodedCall, Fungibility, FungibilityV0, FungibilityV1, FungibilityV2, InboundStatus, InstructionV2, InteriorMultiLocation, Junction, JunctionV0, JunctionV1, JunctionV2, Junctions, JunctionsV1, JunctionsV2, MultiAsset, MultiAssetFilter, MultiAssetFilterV1, MultiAssetFilterV2, MultiAssetV0, MultiAssetV1, MultiAssetV2, MultiAssets, MultiAssetsV1, MultiAssetsV2, MultiLocation, MultiLocationV0, MultiLocationV1, MultiLocationV2, NetworkId, OriginKindV0, OriginKindV1, OriginKindV2, OutboundStatus, Outcome, QueryId, QueryStatus, QueueConfigData, Response, ResponseV0, ResponseV1, ResponseV2, ResponseV2Error, ResponseV2Result, VersionMigrationStage, VersionedMultiAsset, VersionedMultiAssets, VersionedMultiLocation, VersionedResponse, VersionedXcm, WeightLimitV2, WildFungibility, WildFungibilityV0, WildFungibilityV1, WildFungibilityV2, WildMultiAsset, WildMultiAssetV1, WildMultiAssetV2, Xcm, XcmAssetId, XcmError, XcmErrorV0, XcmErrorV1, XcmErrorV2, XcmOrder, XcmOrderV0, XcmOrderV1, XcmOrderV2, XcmOrigin, XcmOriginKind, XcmV0, XcmV1, XcmV2, XcmVersion, XcmpMessageFormat } from '@polkadot/types/interfaces/xcm'; + +declare module '@polkadot/types/types/registry' { + export interface InterfaceTypes { + AbridgedCandidateReceipt: AbridgedCandidateReceipt; + AbridgedHostConfiguration: AbridgedHostConfiguration; + AbridgedHrmpChannel: AbridgedHrmpChannel; + AccountData: AccountData; + AccountId: AccountId; + AccountId20: AccountId20; + AccountId32: AccountId32; + AccountIdOf: AccountIdOf; + AccountIndex: AccountIndex; + AccountInfo: AccountInfo; + AccountInfoWithDualRefCount: AccountInfoWithDualRefCount; + AccountInfoWithProviders: AccountInfoWithProviders; + AccountInfoWithRefCount: AccountInfoWithRefCount; + AccountInfoWithRefCountU8: AccountInfoWithRefCountU8; + AccountInfoWithTripleRefCount: AccountInfoWithTripleRefCount; + AccountStatus: AccountStatus; + AccountValidity: AccountValidity; + AccountVote: AccountVote; + AccountVoteSplit: AccountVoteSplit; + AccountVoteStandard: AccountVoteStandard; + ActiveEraInfo: ActiveEraInfo; + ActiveGilt: ActiveGilt; + ActiveGiltsTotal: ActiveGiltsTotal; + ActiveIndex: ActiveIndex; + ActiveRecovery: ActiveRecovery; + Address: Address; + AliveContractInfo: AliveContractInfo; + AllowedSlots: AllowedSlots; + AnySignature: AnySignature; + ApiId: ApiId; + ApplyExtrinsicResult: ApplyExtrinsicResult; + ApprovalFlag: ApprovalFlag; + Approvals: Approvals; + ArithmeticError: ArithmeticError; + AssetApproval: AssetApproval; + AssetApprovalKey: AssetApprovalKey; + AssetBalance: AssetBalance; + AssetDestroyWitness: AssetDestroyWitness; + AssetDetails: AssetDetails; + AssetId: AssetId; + AssetInstance: AssetInstance; + AssetInstanceV0: AssetInstanceV0; + AssetInstanceV1: AssetInstanceV1; + AssetInstanceV2: AssetInstanceV2; + AssetMetadata: AssetMetadata; + AssetOptions: AssetOptions; + AssignmentId: AssignmentId; + AssignmentKind: AssignmentKind; + AttestedCandidate: AttestedCandidate; + AuctionIndex: AuctionIndex; + AuthIndex: AuthIndex; + AuthorityDiscoveryId: AuthorityDiscoveryId; + AuthorityId: AuthorityId; + AuthorityIndex: AuthorityIndex; + AuthorityList: AuthorityList; + AuthoritySet: AuthoritySet; + AuthoritySetChange: AuthoritySetChange; + AuthoritySetChanges: AuthoritySetChanges; + AuthoritySignature: AuthoritySignature; + AuthorityWeight: AuthorityWeight; + AvailabilityBitfield: AvailabilityBitfield; + AvailabilityBitfieldRecord: AvailabilityBitfieldRecord; + BabeAuthorityWeight: BabeAuthorityWeight; + BabeBlockWeight: BabeBlockWeight; + BabeEpochConfiguration: BabeEpochConfiguration; + BabeEquivocationProof: BabeEquivocationProof; + BabeWeight: BabeWeight; + BackedCandidate: BackedCandidate; + Balance: Balance; + BalanceLock: BalanceLock; + BalanceLockTo212: BalanceLockTo212; + BalanceOf: BalanceOf; + BalanceStatus: BalanceStatus; + BeefyCommitment: BeefyCommitment; + BeefyId: BeefyId; + BeefyKey: BeefyKey; + BeefyNextAuthoritySet: BeefyNextAuthoritySet; + BeefyPayload: BeefyPayload; + BeefySignedCommitment: BeefySignedCommitment; + Bid: Bid; + Bidder: Bidder; + BidKind: BidKind; + BitVec: BitVec; + Block: Block; + BlockAttestations: BlockAttestations; + BlockHash: BlockHash; + BlockLength: BlockLength; + BlockNumber: BlockNumber; + BlockNumberFor: BlockNumberFor; + BlockNumberOf: BlockNumberOf; + BlockStats: BlockStats; + BlockTrace: BlockTrace; + BlockTraceEvent: BlockTraceEvent; + BlockTraceEventData: BlockTraceEventData; + BlockTraceSpan: BlockTraceSpan; + BlockV0: BlockV0; + BlockV1: BlockV1; + BlockV2: BlockV2; + BlockWeights: BlockWeights; + BodyId: BodyId; + BodyPart: BodyPart; + bool: bool; + Bool: Bool; + Bounty: Bounty; + BountyIndex: BountyIndex; + BountyStatus: BountyStatus; + BountyStatusActive: BountyStatusActive; + BountyStatusCuratorProposed: BountyStatusCuratorProposed; + BountyStatusPendingPayout: BountyStatusPendingPayout; + BridgedBlockHash: BridgedBlockHash; + BridgedBlockNumber: BridgedBlockNumber; + BridgedHeader: BridgedHeader; + BridgeMessageId: BridgeMessageId; + BufferedSessionChange: BufferedSessionChange; + Bytes: Bytes; + Call: Call; + CallHash: CallHash; + CallHashOf: CallHashOf; + CallIndex: CallIndex; + CallOrigin: CallOrigin; + CandidateCommitments: CandidateCommitments; + CandidateDescriptor: CandidateDescriptor; + CandidateHash: CandidateHash; + CandidateInfo: CandidateInfo; + CandidatePendingAvailability: CandidatePendingAvailability; + CandidateReceipt: CandidateReceipt; + ChainId: ChainId; + ChainProperties: ChainProperties; + ChainType: ChainType; + ChangesTrieConfiguration: ChangesTrieConfiguration; + ChangesTrieSignal: ChangesTrieSignal; + ClassDetails: ClassDetails; + ClassId: ClassId; + ClassMetadata: ClassMetadata; + CodecHash: CodecHash; + CodeHash: CodeHash; + CodeSource: CodeSource; + CodeUploadRequest: CodeUploadRequest; + CodeUploadResult: CodeUploadResult; + CodeUploadResultValue: CodeUploadResultValue; + CollatorId: CollatorId; + CollatorSignature: CollatorSignature; + CollectiveOrigin: CollectiveOrigin; + CommittedCandidateReceipt: CommittedCandidateReceipt; + CompactAssignments: CompactAssignments; + CompactAssignmentsTo257: CompactAssignmentsTo257; + CompactAssignmentsTo265: CompactAssignmentsTo265; + CompactAssignmentsWith16: CompactAssignmentsWith16; + CompactAssignmentsWith24: CompactAssignmentsWith24; + CompactScore: CompactScore; + CompactScoreCompact: CompactScoreCompact; + ConfigData: ConfigData; + Consensus: Consensus; + ConsensusEngineId: ConsensusEngineId; + ConsumedWeight: ConsumedWeight; + ContractCallFlags: ContractCallFlags; + ContractCallRequest: ContractCallRequest; + ContractConstructorSpecLatest: ContractConstructorSpecLatest; + ContractConstructorSpecV0: ContractConstructorSpecV0; + ContractConstructorSpecV1: ContractConstructorSpecV1; + ContractConstructorSpecV2: ContractConstructorSpecV2; + ContractConstructorSpecV3: ContractConstructorSpecV3; + ContractContractSpecV0: ContractContractSpecV0; + ContractContractSpecV1: ContractContractSpecV1; + ContractContractSpecV2: ContractContractSpecV2; + ContractContractSpecV3: ContractContractSpecV3; + ContractCryptoHasher: ContractCryptoHasher; + ContractDiscriminant: ContractDiscriminant; + ContractDisplayName: ContractDisplayName; + ContractEventParamSpecLatest: ContractEventParamSpecLatest; + ContractEventParamSpecV0: ContractEventParamSpecV0; + ContractEventParamSpecV2: ContractEventParamSpecV2; + ContractEventSpecLatest: ContractEventSpecLatest; + ContractEventSpecV0: ContractEventSpecV0; + ContractEventSpecV1: ContractEventSpecV1; + ContractEventSpecV2: ContractEventSpecV2; + ContractExecResult: ContractExecResult; + ContractExecResultOk: ContractExecResultOk; + ContractExecResultResult: ContractExecResultResult; + ContractExecResultSuccessTo255: ContractExecResultSuccessTo255; + ContractExecResultSuccessTo260: ContractExecResultSuccessTo260; + ContractExecResultTo255: ContractExecResultTo255; + ContractExecResultTo260: ContractExecResultTo260; + ContractExecResultTo267: ContractExecResultTo267; + ContractInfo: ContractInfo; + ContractInstantiateResult: ContractInstantiateResult; + ContractInstantiateResultTo267: ContractInstantiateResultTo267; + ContractInstantiateResultTo299: ContractInstantiateResultTo299; + ContractLayoutArray: ContractLayoutArray; + ContractLayoutCell: ContractLayoutCell; + ContractLayoutEnum: ContractLayoutEnum; + ContractLayoutHash: ContractLayoutHash; + ContractLayoutHashingStrategy: ContractLayoutHashingStrategy; + ContractLayoutKey: ContractLayoutKey; + ContractLayoutStruct: ContractLayoutStruct; + ContractLayoutStructField: ContractLayoutStructField; + ContractMessageParamSpecLatest: ContractMessageParamSpecLatest; + ContractMessageParamSpecV0: ContractMessageParamSpecV0; + ContractMessageParamSpecV2: ContractMessageParamSpecV2; + ContractMessageSpecLatest: ContractMessageSpecLatest; + ContractMessageSpecV0: ContractMessageSpecV0; + ContractMessageSpecV1: ContractMessageSpecV1; + ContractMessageSpecV2: ContractMessageSpecV2; + ContractMetadata: ContractMetadata; + ContractMetadataLatest: ContractMetadataLatest; + ContractMetadataV0: ContractMetadataV0; + ContractMetadataV1: ContractMetadataV1; + ContractMetadataV2: ContractMetadataV2; + ContractMetadataV3: ContractMetadataV3; + ContractProject: ContractProject; + ContractProjectContract: ContractProjectContract; + ContractProjectInfo: ContractProjectInfo; + ContractProjectSource: ContractProjectSource; + ContractProjectV0: ContractProjectV0; + ContractReturnFlags: ContractReturnFlags; + ContractSelector: ContractSelector; + ContractStorageKey: ContractStorageKey; + ContractStorageLayout: ContractStorageLayout; + ContractTypeSpec: ContractTypeSpec; + Conviction: Conviction; + CoreAssignment: CoreAssignment; + CoreIndex: CoreIndex; + CoreOccupied: CoreOccupied; + CrateVersion: CrateVersion; + CreatedBlock: CreatedBlock; + Data: Data; + DeferredOffenceOf: DeferredOffenceOf; + DefunctVoter: DefunctVoter; + DelayKind: DelayKind; + DelayKindBest: DelayKindBest; + Delegations: Delegations; + DeletedContract: DeletedContract; + DeliveredMessages: DeliveredMessages; + DepositBalance: DepositBalance; + DepositBalanceOf: DepositBalanceOf; + DestroyWitness: DestroyWitness; + Digest: Digest; + DigestItem: DigestItem; + DigestOf: DigestOf; + DispatchClass: DispatchClass; + DispatchError: DispatchError; + DispatchErrorModule: DispatchErrorModule; + DispatchErrorModuleU8: DispatchErrorModuleU8; + DispatchErrorModuleU8a: DispatchErrorModuleU8a; + DispatchErrorTo198: DispatchErrorTo198; + DispatchFeePayment: DispatchFeePayment; + DispatchInfo: DispatchInfo; + DispatchInfoTo190: DispatchInfoTo190; + DispatchInfoTo244: DispatchInfoTo244; + DispatchOutcome: DispatchOutcome; + DispatchResult: DispatchResult; + DispatchResultOf: DispatchResultOf; + DispatchResultTo198: DispatchResultTo198; + DisputeLocation: DisputeLocation; + DisputeResult: DisputeResult; + DisputeState: DisputeState; + DisputeStatement: DisputeStatement; + DisputeStatementSet: DisputeStatementSet; + DoubleEncodedCall: DoubleEncodedCall; + DoubleVoteReport: DoubleVoteReport; + DownwardMessage: DownwardMessage; + EcdsaSignature: EcdsaSignature; + Ed25519Signature: Ed25519Signature; + EIP1559Transaction: EIP1559Transaction; + EIP2930Transaction: EIP2930Transaction; + ElectionCompute: ElectionCompute; + ElectionPhase: ElectionPhase; + ElectionResult: ElectionResult; + ElectionScore: ElectionScore; + ElectionSize: ElectionSize; + ElectionStatus: ElectionStatus; + EncodedFinalityProofs: EncodedFinalityProofs; + EncodedJustification: EncodedJustification; + EpochAuthorship: EpochAuthorship; + Era: Era; + EraIndex: EraIndex; + EraPoints: EraPoints; + EraRewardPoints: EraRewardPoints; + EraRewards: EraRewards; + ErrorMetadataLatest: ErrorMetadataLatest; + ErrorMetadataV10: ErrorMetadataV10; + ErrorMetadataV11: ErrorMetadataV11; + ErrorMetadataV12: ErrorMetadataV12; + ErrorMetadataV13: ErrorMetadataV13; + ErrorMetadataV14: ErrorMetadataV14; + ErrorMetadataV9: ErrorMetadataV9; + EthAccessList: EthAccessList; + EthAccessListItem: EthAccessListItem; + EthAccount: EthAccount; + EthAddress: EthAddress; + EthBlock: EthBlock; + EthBloom: EthBloom; + EthCallRequest: EthCallRequest; + EthereumAccountId: EthereumAccountId; + EthereumAddress: EthereumAddress; + EthereumLookupSource: EthereumLookupSource; + EthereumSignature: EthereumSignature; + EthFilter: EthFilter; + EthFilterAddress: EthFilterAddress; + EthFilterChanges: EthFilterChanges; + EthFilterTopic: EthFilterTopic; + EthFilterTopicEntry: EthFilterTopicEntry; + EthFilterTopicInner: EthFilterTopicInner; + EthHeader: EthHeader; + EthLog: EthLog; + EthReceipt: EthReceipt; + EthRichBlock: EthRichBlock; + EthRichHeader: EthRichHeader; + EthStorageProof: EthStorageProof; + EthSubKind: EthSubKind; + EthSubParams: EthSubParams; + EthSubResult: EthSubResult; + EthSyncInfo: EthSyncInfo; + EthSyncStatus: EthSyncStatus; + EthTransaction: EthTransaction; + EthTransactionAction: EthTransactionAction; + EthTransactionCondition: EthTransactionCondition; + EthTransactionRequest: EthTransactionRequest; + EthTransactionSignature: EthTransactionSignature; + EthTransactionStatus: EthTransactionStatus; + EthWork: EthWork; + Event: Event; + EventId: EventId; + EventIndex: EventIndex; + EventMetadataLatest: EventMetadataLatest; + EventMetadataV10: EventMetadataV10; + EventMetadataV11: EventMetadataV11; + EventMetadataV12: EventMetadataV12; + EventMetadataV13: EventMetadataV13; + EventMetadataV14: EventMetadataV14; + EventMetadataV9: EventMetadataV9; + EventRecord: EventRecord; + EvmAccount: EvmAccount; + EvmLog: EvmLog; + EvmVicinity: EvmVicinity; + ExecReturnValue: ExecReturnValue; + ExitError: ExitError; + ExitFatal: ExitFatal; + ExitReason: ExitReason; + ExitRevert: ExitRevert; + ExitSucceed: ExitSucceed; + ExplicitDisputeStatement: ExplicitDisputeStatement; + Exposure: Exposure; + ExtendedBalance: ExtendedBalance; + Extrinsic: Extrinsic; + ExtrinsicEra: ExtrinsicEra; + ExtrinsicMetadataLatest: ExtrinsicMetadataLatest; + ExtrinsicMetadataV11: ExtrinsicMetadataV11; + ExtrinsicMetadataV12: ExtrinsicMetadataV12; + ExtrinsicMetadataV13: ExtrinsicMetadataV13; + ExtrinsicMetadataV14: ExtrinsicMetadataV14; + ExtrinsicOrHash: ExtrinsicOrHash; + ExtrinsicPayload: ExtrinsicPayload; + ExtrinsicPayloadUnknown: ExtrinsicPayloadUnknown; + ExtrinsicPayloadV4: ExtrinsicPayloadV4; + ExtrinsicSignature: ExtrinsicSignature; + ExtrinsicSignatureV4: ExtrinsicSignatureV4; + ExtrinsicStatus: ExtrinsicStatus; + ExtrinsicsWeight: ExtrinsicsWeight; + ExtrinsicUnknown: ExtrinsicUnknown; + ExtrinsicV4: ExtrinsicV4; + FeeDetails: FeeDetails; + Fixed128: Fixed128; + Fixed64: Fixed64; + FixedI128: FixedI128; + FixedI64: FixedI64; + FixedU128: FixedU128; + FixedU64: FixedU64; + Forcing: Forcing; + ForkTreePendingChange: ForkTreePendingChange; + ForkTreePendingChangeNode: ForkTreePendingChangeNode; + FullIdentification: FullIdentification; + FunctionArgumentMetadataLatest: FunctionArgumentMetadataLatest; + FunctionArgumentMetadataV10: FunctionArgumentMetadataV10; + FunctionArgumentMetadataV11: FunctionArgumentMetadataV11; + FunctionArgumentMetadataV12: FunctionArgumentMetadataV12; + FunctionArgumentMetadataV13: FunctionArgumentMetadataV13; + FunctionArgumentMetadataV14: FunctionArgumentMetadataV14; + FunctionArgumentMetadataV9: FunctionArgumentMetadataV9; + FunctionMetadataLatest: FunctionMetadataLatest; + FunctionMetadataV10: FunctionMetadataV10; + FunctionMetadataV11: FunctionMetadataV11; + FunctionMetadataV12: FunctionMetadataV12; + FunctionMetadataV13: FunctionMetadataV13; + FunctionMetadataV14: FunctionMetadataV14; + FunctionMetadataV9: FunctionMetadataV9; + FundIndex: FundIndex; + FundInfo: FundInfo; + Fungibility: Fungibility; + FungibilityV0: FungibilityV0; + FungibilityV1: FungibilityV1; + FungibilityV2: FungibilityV2; + Gas: Gas; + GiltBid: GiltBid; + GlobalValidationData: GlobalValidationData; + GlobalValidationSchedule: GlobalValidationSchedule; + GrandpaCommit: GrandpaCommit; + GrandpaEquivocation: GrandpaEquivocation; + GrandpaEquivocationProof: GrandpaEquivocationProof; + GrandpaEquivocationValue: GrandpaEquivocationValue; + GrandpaJustification: GrandpaJustification; + GrandpaPrecommit: GrandpaPrecommit; + GrandpaPrevote: GrandpaPrevote; + GrandpaSignedPrecommit: GrandpaSignedPrecommit; + GroupIndex: GroupIndex; + H1024: H1024; + H128: H128; + H160: H160; + H2048: H2048; + H256: H256; + H32: H32; + H512: H512; + H64: H64; + Hash: Hash; + HeadData: HeadData; + Header: Header; + HeaderPartial: HeaderPartial; + Health: Health; + Heartbeat: Heartbeat; + HeartbeatTo244: HeartbeatTo244; + HostConfiguration: HostConfiguration; + HostFnWeights: HostFnWeights; + HostFnWeightsTo264: HostFnWeightsTo264; + HrmpChannel: HrmpChannel; + HrmpChannelId: HrmpChannelId; + HrmpOpenChannelRequest: HrmpOpenChannelRequest; + i128: i128; + I128: I128; + i16: i16; + I16: I16; + i256: i256; + I256: I256; + i32: i32; + I32: I32; + I32F32: I32F32; + i64: i64; + I64: I64; + i8: i8; + I8: I8; + IdentificationTuple: IdentificationTuple; + IdentityFields: IdentityFields; + IdentityInfo: IdentityInfo; + IdentityInfoAdditional: IdentityInfoAdditional; + IdentityInfoTo198: IdentityInfoTo198; + IdentityJudgement: IdentityJudgement; + ImmortalEra: ImmortalEra; + ImportedAux: ImportedAux; + InboundDownwardMessage: InboundDownwardMessage; + InboundHrmpMessage: InboundHrmpMessage; + InboundHrmpMessages: InboundHrmpMessages; + InboundLaneData: InboundLaneData; + InboundRelayer: InboundRelayer; + InboundStatus: InboundStatus; + IncludedBlocks: IncludedBlocks; + InclusionFee: InclusionFee; + IncomingParachain: IncomingParachain; + IncomingParachainDeploy: IncomingParachainDeploy; + IncomingParachainFixed: IncomingParachainFixed; + Index: Index; + IndicesLookupSource: IndicesLookupSource; + IndividualExposure: IndividualExposure; + InitializationData: InitializationData; + InstanceDetails: InstanceDetails; + InstanceId: InstanceId; + InstanceMetadata: InstanceMetadata; + InstantiateRequest: InstantiateRequest; + InstantiateRequestV1: InstantiateRequestV1; + InstantiateRequestV2: InstantiateRequestV2; + InstantiateReturnValue: InstantiateReturnValue; + InstantiateReturnValueOk: InstantiateReturnValueOk; + InstantiateReturnValueTo267: InstantiateReturnValueTo267; + InstructionV2: InstructionV2; + InstructionWeights: InstructionWeights; + InteriorMultiLocation: InteriorMultiLocation; + InvalidDisputeStatementKind: InvalidDisputeStatementKind; + InvalidTransaction: InvalidTransaction; + Json: Json; + Junction: Junction; + Junctions: Junctions; + JunctionsV1: JunctionsV1; + JunctionsV2: JunctionsV2; + JunctionV0: JunctionV0; + JunctionV1: JunctionV1; + JunctionV2: JunctionV2; + Justification: Justification; + JustificationNotification: JustificationNotification; + Justifications: Justifications; + Key: Key; + KeyOwnerProof: KeyOwnerProof; + Keys: Keys; + KeyType: KeyType; + KeyTypeId: KeyTypeId; + KeyValue: KeyValue; + KeyValueOption: KeyValueOption; + Kind: Kind; + LaneId: LaneId; + LastContribution: LastContribution; + LastRuntimeUpgradeInfo: LastRuntimeUpgradeInfo; + LeasePeriod: LeasePeriod; + LeasePeriodOf: LeasePeriodOf; + LegacyTransaction: LegacyTransaction; + Limits: Limits; + LimitsTo264: LimitsTo264; + LocalValidationData: LocalValidationData; + LockIdentifier: LockIdentifier; + LookupSource: LookupSource; + LookupTarget: LookupTarget; + LotteryConfig: LotteryConfig; + MaybeRandomness: MaybeRandomness; + MaybeVrf: MaybeVrf; + MemberCount: MemberCount; + MembershipProof: MembershipProof; + MessageData: MessageData; + MessageId: MessageId; + MessageIngestionType: MessageIngestionType; + MessageKey: MessageKey; + MessageNonce: MessageNonce; + MessageQueueChain: MessageQueueChain; + MessagesDeliveryProofOf: MessagesDeliveryProofOf; + MessagesProofOf: MessagesProofOf; + MessagingStateSnapshot: MessagingStateSnapshot; + MessagingStateSnapshotEgressEntry: MessagingStateSnapshotEgressEntry; + MetadataAll: MetadataAll; + MetadataLatest: MetadataLatest; + MetadataV10: MetadataV10; + MetadataV11: MetadataV11; + MetadataV12: MetadataV12; + MetadataV13: MetadataV13; + MetadataV14: MetadataV14; + MetadataV9: MetadataV9; + MigrationStatusResult: MigrationStatusResult; + MmrLeafBatchProof: MmrLeafBatchProof; + MmrLeafProof: MmrLeafProof; + MmrRootHash: MmrRootHash; + ModuleConstantMetadataV10: ModuleConstantMetadataV10; + ModuleConstantMetadataV11: ModuleConstantMetadataV11; + ModuleConstantMetadataV12: ModuleConstantMetadataV12; + ModuleConstantMetadataV13: ModuleConstantMetadataV13; + ModuleConstantMetadataV9: ModuleConstantMetadataV9; + ModuleId: ModuleId; + ModuleMetadataV10: ModuleMetadataV10; + ModuleMetadataV11: ModuleMetadataV11; + ModuleMetadataV12: ModuleMetadataV12; + ModuleMetadataV13: ModuleMetadataV13; + ModuleMetadataV9: ModuleMetadataV9; + Moment: Moment; + MomentOf: MomentOf; + MoreAttestations: MoreAttestations; + MortalEra: MortalEra; + MultiAddress: MultiAddress; + MultiAsset: MultiAsset; + MultiAssetFilter: MultiAssetFilter; + MultiAssetFilterV1: MultiAssetFilterV1; + MultiAssetFilterV2: MultiAssetFilterV2; + MultiAssets: MultiAssets; + MultiAssetsV1: MultiAssetsV1; + MultiAssetsV2: MultiAssetsV2; + MultiAssetV0: MultiAssetV0; + MultiAssetV1: MultiAssetV1; + MultiAssetV2: MultiAssetV2; + MultiDisputeStatementSet: MultiDisputeStatementSet; + MultiLocation: MultiLocation; + MultiLocationV0: MultiLocationV0; + MultiLocationV1: MultiLocationV1; + MultiLocationV2: MultiLocationV2; + Multiplier: Multiplier; + Multisig: Multisig; + MultiSignature: MultiSignature; + MultiSigner: MultiSigner; + NetworkId: NetworkId; + NetworkState: NetworkState; + NetworkStatePeerset: NetworkStatePeerset; + NetworkStatePeersetInfo: NetworkStatePeersetInfo; + NewBidder: NewBidder; + NextAuthority: NextAuthority; + NextConfigDescriptor: NextConfigDescriptor; + NextConfigDescriptorV1: NextConfigDescriptorV1; + NodeRole: NodeRole; + Nominations: Nominations; + NominatorIndex: NominatorIndex; + NominatorIndexCompact: NominatorIndexCompact; + NotConnectedPeer: NotConnectedPeer; + Null: Null; + OffchainAccuracy: OffchainAccuracy; + OffchainAccuracyCompact: OffchainAccuracyCompact; + OffenceDetails: OffenceDetails; + Offender: Offender; + OpaqueCall: OpaqueCall; + OpaqueMultiaddr: OpaqueMultiaddr; + OpaqueNetworkState: OpaqueNetworkState; + OpaquePeerId: OpaquePeerId; + OpaqueTimeSlot: OpaqueTimeSlot; + OpenTip: OpenTip; + OpenTipFinderTo225: OpenTipFinderTo225; + OpenTipTip: OpenTipTip; + OpenTipTo225: OpenTipTo225; + OperatingMode: OperatingMode; + OptionBool: OptionBool; + Origin: Origin; + OriginCaller: OriginCaller; + OriginKindV0: OriginKindV0; + OriginKindV1: OriginKindV1; + OriginKindV2: OriginKindV2; + OutboundHrmpMessage: OutboundHrmpMessage; + OutboundLaneData: OutboundLaneData; + OutboundMessageFee: OutboundMessageFee; + OutboundPayload: OutboundPayload; + OutboundStatus: OutboundStatus; + Outcome: Outcome; + OverweightIndex: OverweightIndex; + Owner: Owner; + PageCounter: PageCounter; + PageIndexData: PageIndexData; + PalletCallMetadataLatest: PalletCallMetadataLatest; + PalletCallMetadataV14: PalletCallMetadataV14; + PalletConstantMetadataLatest: PalletConstantMetadataLatest; + PalletConstantMetadataV14: PalletConstantMetadataV14; + PalletErrorMetadataLatest: PalletErrorMetadataLatest; + PalletErrorMetadataV14: PalletErrorMetadataV14; + PalletEventMetadataLatest: PalletEventMetadataLatest; + PalletEventMetadataV14: PalletEventMetadataV14; + PalletId: PalletId; + PalletMetadataLatest: PalletMetadataLatest; + PalletMetadataV14: PalletMetadataV14; + PalletsOrigin: PalletsOrigin; + PalletStorageMetadataLatest: PalletStorageMetadataLatest; + PalletStorageMetadataV14: PalletStorageMetadataV14; + PalletVersion: PalletVersion; + ParachainDispatchOrigin: ParachainDispatchOrigin; + ParachainInherentData: ParachainInherentData; + ParachainProposal: ParachainProposal; + ParachainsInherentData: ParachainsInherentData; + ParaGenesisArgs: ParaGenesisArgs; + ParaId: ParaId; + ParaInfo: ParaInfo; + ParaLifecycle: ParaLifecycle; + Parameter: Parameter; + ParaPastCodeMeta: ParaPastCodeMeta; + ParaScheduling: ParaScheduling; + ParathreadClaim: ParathreadClaim; + ParathreadClaimQueue: ParathreadClaimQueue; + ParathreadEntry: ParathreadEntry; + ParaValidatorIndex: ParaValidatorIndex; + Pays: Pays; + Peer: Peer; + PeerEndpoint: PeerEndpoint; + PeerEndpointAddr: PeerEndpointAddr; + PeerInfo: PeerInfo; + PeerPing: PeerPing; + PendingChange: PendingChange; + PendingPause: PendingPause; + PendingResume: PendingResume; + Perbill: Perbill; + Percent: Percent; + PerDispatchClassU32: PerDispatchClassU32; + PerDispatchClassWeight: PerDispatchClassWeight; + PerDispatchClassWeightsPerClass: PerDispatchClassWeightsPerClass; + Period: Period; + Permill: Permill; + PermissionLatest: PermissionLatest; + PermissionsV1: PermissionsV1; + PermissionVersions: PermissionVersions; + Perquintill: Perquintill; + PersistedValidationData: PersistedValidationData; + PerU16: PerU16; + Phantom: Phantom; + PhantomData: PhantomData; + Phase: Phase; + PhragmenScore: PhragmenScore; + Points: Points; + PortableType: PortableType; + PortableTypeV14: PortableTypeV14; + Precommits: Precommits; + PrefabWasmModule: PrefabWasmModule; + PrefixedStorageKey: PrefixedStorageKey; + PreimageStatus: PreimageStatus; + PreimageStatusAvailable: PreimageStatusAvailable; + PreRuntime: PreRuntime; + Prevotes: Prevotes; + Priority: Priority; + PriorLock: PriorLock; + PropIndex: PropIndex; + Proposal: Proposal; + ProposalIndex: ProposalIndex; + ProxyAnnouncement: ProxyAnnouncement; + ProxyDefinition: ProxyDefinition; + ProxyState: ProxyState; + ProxyType: ProxyType; + QueryId: QueryId; + QueryStatus: QueryStatus; + QueueConfigData: QueueConfigData; + QueuedParathread: QueuedParathread; + Randomness: Randomness; + Raw: Raw; + RawAuraPreDigest: RawAuraPreDigest; + RawBabePreDigest: RawBabePreDigest; + RawBabePreDigestCompat: RawBabePreDigestCompat; + RawBabePreDigestPrimary: RawBabePreDigestPrimary; + RawBabePreDigestPrimaryTo159: RawBabePreDigestPrimaryTo159; + RawBabePreDigestSecondaryPlain: RawBabePreDigestSecondaryPlain; + RawBabePreDigestSecondaryTo159: RawBabePreDigestSecondaryTo159; + RawBabePreDigestSecondaryVRF: RawBabePreDigestSecondaryVRF; + RawBabePreDigestTo159: RawBabePreDigestTo159; + RawOrigin: RawOrigin; + RawSolution: RawSolution; + RawSolutionTo265: RawSolutionTo265; + RawSolutionWith16: RawSolutionWith16; + RawSolutionWith24: RawSolutionWith24; + RawVRFOutput: RawVRFOutput; + ReadProof: ReadProof; + ReadySolution: ReadySolution; + Reasons: Reasons; + RecoveryConfig: RecoveryConfig; + RefCount: RefCount; + RefCountTo259: RefCountTo259; + ReferendumIndex: ReferendumIndex; + ReferendumInfo: ReferendumInfo; + ReferendumInfoFinished: ReferendumInfoFinished; + ReferendumInfoTo239: ReferendumInfoTo239; + ReferendumStatus: ReferendumStatus; + RegisteredParachainInfo: RegisteredParachainInfo; + RegistrarIndex: RegistrarIndex; + RegistrarInfo: RegistrarInfo; + Registration: Registration; + RegistrationJudgement: RegistrationJudgement; + RegistrationTo198: RegistrationTo198; + RelayBlockNumber: RelayBlockNumber; + RelayChainBlockNumber: RelayChainBlockNumber; + RelayChainHash: RelayChainHash; + RelayerId: RelayerId; + RelayHash: RelayHash; + Releases: Releases; + Remark: Remark; + Renouncing: Renouncing; + RentProjection: RentProjection; + ReplacementTimes: ReplacementTimes; + ReportedRoundStates: ReportedRoundStates; + Reporter: Reporter; + ReportIdOf: ReportIdOf; + ReserveData: ReserveData; + ReserveIdentifier: ReserveIdentifier; + Response: Response; + ResponseV0: ResponseV0; + ResponseV1: ResponseV1; + ResponseV2: ResponseV2; + ResponseV2Error: ResponseV2Error; + ResponseV2Result: ResponseV2Result; + Retriable: Retriable; + RewardDestination: RewardDestination; + RewardPoint: RewardPoint; + RoundSnapshot: RoundSnapshot; + RoundState: RoundState; + RpcMethods: RpcMethods; + RuntimeDbWeight: RuntimeDbWeight; + RuntimeDispatchInfo: RuntimeDispatchInfo; + RuntimeVersion: RuntimeVersion; + RuntimeVersionApi: RuntimeVersionApi; + RuntimeVersionPartial: RuntimeVersionPartial; + Schedule: Schedule; + Scheduled: Scheduled; + ScheduledTo254: ScheduledTo254; + SchedulePeriod: SchedulePeriod; + SchedulePriority: SchedulePriority; + ScheduleTo212: ScheduleTo212; + ScheduleTo258: ScheduleTo258; + ScheduleTo264: ScheduleTo264; + Scheduling: Scheduling; + Seal: Seal; + SealV0: SealV0; + SeatHolder: SeatHolder; + SeedOf: SeedOf; + ServiceQuality: ServiceQuality; + SessionIndex: SessionIndex; + SessionInfo: SessionInfo; + SessionInfoValidatorGroup: SessionInfoValidatorGroup; + SessionKeys1: SessionKeys1; + SessionKeys10: SessionKeys10; + SessionKeys10B: SessionKeys10B; + SessionKeys2: SessionKeys2; + SessionKeys3: SessionKeys3; + SessionKeys4: SessionKeys4; + SessionKeys5: SessionKeys5; + SessionKeys6: SessionKeys6; + SessionKeys6B: SessionKeys6B; + SessionKeys7: SessionKeys7; + SessionKeys7B: SessionKeys7B; + SessionKeys8: SessionKeys8; + SessionKeys8B: SessionKeys8B; + SessionKeys9: SessionKeys9; + SessionKeys9B: SessionKeys9B; + SetId: SetId; + SetIndex: SetIndex; + Si0Field: Si0Field; + Si0LookupTypeId: Si0LookupTypeId; + Si0Path: Si0Path; + Si0Type: Si0Type; + Si0TypeDef: Si0TypeDef; + Si0TypeDefArray: Si0TypeDefArray; + Si0TypeDefBitSequence: Si0TypeDefBitSequence; + Si0TypeDefCompact: Si0TypeDefCompact; + Si0TypeDefComposite: Si0TypeDefComposite; + Si0TypeDefPhantom: Si0TypeDefPhantom; + Si0TypeDefPrimitive: Si0TypeDefPrimitive; + Si0TypeDefSequence: Si0TypeDefSequence; + Si0TypeDefTuple: Si0TypeDefTuple; + Si0TypeDefVariant: Si0TypeDefVariant; + Si0TypeParameter: Si0TypeParameter; + Si0Variant: Si0Variant; + Si1Field: Si1Field; + Si1LookupTypeId: Si1LookupTypeId; + Si1Path: Si1Path; + Si1Type: Si1Type; + Si1TypeDef: Si1TypeDef; + Si1TypeDefArray: Si1TypeDefArray; + Si1TypeDefBitSequence: Si1TypeDefBitSequence; + Si1TypeDefCompact: Si1TypeDefCompact; + Si1TypeDefComposite: Si1TypeDefComposite; + Si1TypeDefPrimitive: Si1TypeDefPrimitive; + Si1TypeDefSequence: Si1TypeDefSequence; + Si1TypeDefTuple: Si1TypeDefTuple; + Si1TypeDefVariant: Si1TypeDefVariant; + Si1TypeParameter: Si1TypeParameter; + Si1Variant: Si1Variant; + SiField: SiField; + Signature: Signature; + SignedAvailabilityBitfield: SignedAvailabilityBitfield; + SignedAvailabilityBitfields: SignedAvailabilityBitfields; + SignedBlock: SignedBlock; + SignedBlockWithJustification: SignedBlockWithJustification; + SignedBlockWithJustifications: SignedBlockWithJustifications; + SignedExtensionMetadataLatest: SignedExtensionMetadataLatest; + SignedExtensionMetadataV14: SignedExtensionMetadataV14; + SignedSubmission: SignedSubmission; + SignedSubmissionOf: SignedSubmissionOf; + SignedSubmissionTo276: SignedSubmissionTo276; + SignerPayload: SignerPayload; + SigningContext: SigningContext; + SiLookupTypeId: SiLookupTypeId; + SiPath: SiPath; + SiType: SiType; + SiTypeDef: SiTypeDef; + SiTypeDefArray: SiTypeDefArray; + SiTypeDefBitSequence: SiTypeDefBitSequence; + SiTypeDefCompact: SiTypeDefCompact; + SiTypeDefComposite: SiTypeDefComposite; + SiTypeDefPrimitive: SiTypeDefPrimitive; + SiTypeDefSequence: SiTypeDefSequence; + SiTypeDefTuple: SiTypeDefTuple; + SiTypeDefVariant: SiTypeDefVariant; + SiTypeParameter: SiTypeParameter; + SiVariant: SiVariant; + SlashingSpans: SlashingSpans; + SlashingSpansTo204: SlashingSpansTo204; + SlashJournalEntry: SlashJournalEntry; + Slot: Slot; + SlotNumber: SlotNumber; + SlotRange: SlotRange; + SlotRange10: SlotRange10; + SocietyJudgement: SocietyJudgement; + SocietyVote: SocietyVote; + SolutionOrSnapshotSize: SolutionOrSnapshotSize; + SolutionSupport: SolutionSupport; + SolutionSupports: SolutionSupports; + SpanIndex: SpanIndex; + SpanRecord: SpanRecord; + SpecVersion: SpecVersion; + Sr25519Signature: Sr25519Signature; + StakingLedger: StakingLedger; + StakingLedgerTo223: StakingLedgerTo223; + StakingLedgerTo240: StakingLedgerTo240; + Statement: Statement; + StatementKind: StatementKind; + StorageChangeSet: StorageChangeSet; + StorageData: StorageData; + StorageDeposit: StorageDeposit; + StorageEntryMetadataLatest: StorageEntryMetadataLatest; + StorageEntryMetadataV10: StorageEntryMetadataV10; + StorageEntryMetadataV11: StorageEntryMetadataV11; + StorageEntryMetadataV12: StorageEntryMetadataV12; + StorageEntryMetadataV13: StorageEntryMetadataV13; + StorageEntryMetadataV14: StorageEntryMetadataV14; + StorageEntryMetadataV9: StorageEntryMetadataV9; + StorageEntryModifierLatest: StorageEntryModifierLatest; + StorageEntryModifierV10: StorageEntryModifierV10; + StorageEntryModifierV11: StorageEntryModifierV11; + StorageEntryModifierV12: StorageEntryModifierV12; + StorageEntryModifierV13: StorageEntryModifierV13; + StorageEntryModifierV14: StorageEntryModifierV14; + StorageEntryModifierV9: StorageEntryModifierV9; + StorageEntryTypeLatest: StorageEntryTypeLatest; + StorageEntryTypeV10: StorageEntryTypeV10; + StorageEntryTypeV11: StorageEntryTypeV11; + StorageEntryTypeV12: StorageEntryTypeV12; + StorageEntryTypeV13: StorageEntryTypeV13; + StorageEntryTypeV14: StorageEntryTypeV14; + StorageEntryTypeV9: StorageEntryTypeV9; + StorageHasher: StorageHasher; + StorageHasherV10: StorageHasherV10; + StorageHasherV11: StorageHasherV11; + StorageHasherV12: StorageHasherV12; + StorageHasherV13: StorageHasherV13; + StorageHasherV14: StorageHasherV14; + StorageHasherV9: StorageHasherV9; + StorageKey: StorageKey; + StorageKind: StorageKind; + StorageMetadataV10: StorageMetadataV10; + StorageMetadataV11: StorageMetadataV11; + StorageMetadataV12: StorageMetadataV12; + StorageMetadataV13: StorageMetadataV13; + StorageMetadataV9: StorageMetadataV9; + StorageProof: StorageProof; + StoredPendingChange: StoredPendingChange; + StoredState: StoredState; + StrikeCount: StrikeCount; + SubId: SubId; + SubmissionIndicesOf: SubmissionIndicesOf; + Supports: Supports; + SyncState: SyncState; + SystemInherentData: SystemInherentData; + SystemOrigin: SystemOrigin; + Tally: Tally; + TaskAddress: TaskAddress; + TAssetBalance: TAssetBalance; + TAssetDepositBalance: TAssetDepositBalance; + Text: Text; + Timepoint: Timepoint; + TokenError: TokenError; + TombstoneContractInfo: TombstoneContractInfo; + TraceBlockResponse: TraceBlockResponse; + TraceError: TraceError; + TransactionalError: TransactionalError; + TransactionInfo: TransactionInfo; + TransactionPriority: TransactionPriority; + TransactionStorageProof: TransactionStorageProof; + TransactionV0: TransactionV0; + TransactionV1: TransactionV1; + TransactionV2: TransactionV2; + TransactionValidityError: TransactionValidityError; + TransientValidationData: TransientValidationData; + TreasuryProposal: TreasuryProposal; + TrieId: TrieId; + TrieIndex: TrieIndex; + Type: Type; + u128: u128; + U128: U128; + u16: u16; + U16: U16; + u256: u256; + U256: U256; + u32: u32; + U32: U32; + U32F32: U32F32; + u64: u64; + U64: U64; + u8: u8; + U8: U8; + UnappliedSlash: UnappliedSlash; + UnappliedSlashOther: UnappliedSlashOther; + UncleEntryItem: UncleEntryItem; + UnknownTransaction: UnknownTransaction; + UnlockChunk: UnlockChunk; + UnrewardedRelayer: UnrewardedRelayer; + UnrewardedRelayersState: UnrewardedRelayersState; + UpgradeGoAhead: UpgradeGoAhead; + UpgradeRestriction: UpgradeRestriction; + UpwardMessage: UpwardMessage; + usize: usize; + USize: USize; + ValidationCode: ValidationCode; + ValidationCodeHash: ValidationCodeHash; + ValidationData: ValidationData; + ValidationDataType: ValidationDataType; + ValidationFunctionParams: ValidationFunctionParams; + ValidatorCount: ValidatorCount; + ValidatorId: ValidatorId; + ValidatorIdOf: ValidatorIdOf; + ValidatorIndex: ValidatorIndex; + ValidatorIndexCompact: ValidatorIndexCompact; + ValidatorPrefs: ValidatorPrefs; + ValidatorPrefsTo145: ValidatorPrefsTo145; + ValidatorPrefsTo196: ValidatorPrefsTo196; + ValidatorPrefsWithBlocked: ValidatorPrefsWithBlocked; + ValidatorPrefsWithCommission: ValidatorPrefsWithCommission; + ValidatorSetId: ValidatorSetId; + ValidatorSignature: ValidatorSignature; + ValidDisputeStatementKind: ValidDisputeStatementKind; + ValidityAttestation: ValidityAttestation; + VecInboundHrmpMessage: VecInboundHrmpMessage; + VersionedMultiAsset: VersionedMultiAsset; + VersionedMultiAssets: VersionedMultiAssets; + VersionedMultiLocation: VersionedMultiLocation; + VersionedResponse: VersionedResponse; + VersionedXcm: VersionedXcm; + VersionMigrationStage: VersionMigrationStage; + VestingInfo: VestingInfo; + VestingSchedule: VestingSchedule; + Vote: Vote; + VoteIndex: VoteIndex; + Voter: Voter; + VoterInfo: VoterInfo; + Votes: Votes; + VotesTo230: VotesTo230; + VoteThreshold: VoteThreshold; + VoteWeight: VoteWeight; + Voting: Voting; + VotingDelegating: VotingDelegating; + VotingDirect: VotingDirect; + VotingDirectVote: VotingDirectVote; + VouchingStatus: VouchingStatus; + VrfData: VrfData; + VrfOutput: VrfOutput; + VrfProof: VrfProof; + Weight: Weight; + WeightLimitV2: WeightLimitV2; + WeightMultiplier: WeightMultiplier; + WeightPerClass: WeightPerClass; + WeightToFeeCoefficient: WeightToFeeCoefficient; + WildFungibility: WildFungibility; + WildFungibilityV0: WildFungibilityV0; + WildFungibilityV1: WildFungibilityV1; + WildFungibilityV2: WildFungibilityV2; + WildMultiAsset: WildMultiAsset; + WildMultiAssetV1: WildMultiAssetV1; + WildMultiAssetV2: WildMultiAssetV2; + WinnersData: WinnersData; + WinnersData10: WinnersData10; + WinnersDataTuple: WinnersDataTuple; + WinnersDataTuple10: WinnersDataTuple10; + WinningData: WinningData; + WinningData10: WinningData10; + WinningDataEntry: WinningDataEntry; + WithdrawReasons: WithdrawReasons; + Xcm: Xcm; + XcmAssetId: XcmAssetId; + XcmError: XcmError; + XcmErrorV0: XcmErrorV0; + XcmErrorV1: XcmErrorV1; + XcmErrorV2: XcmErrorV2; + XcmOrder: XcmOrder; + XcmOrderV0: XcmOrderV0; + XcmOrderV1: XcmOrderV1; + XcmOrderV2: XcmOrderV2; + XcmOrigin: XcmOrigin; + XcmOriginKind: XcmOriginKind; + XcmpMessageFormat: XcmpMessageFormat; + XcmV0: XcmV0; + XcmV1: XcmV1; + XcmV2: XcmV2; + XcmVersion: XcmVersion; + } // InterfaceTypes +} // declare module diff --git a/src/interfaces/definitions.ts b/src/interfaces/definitions.ts index 732c8a5..e69de29 100644 --- a/src/interfaces/definitions.ts +++ b/src/interfaces/definitions.ts @@ -1,37 +0,0 @@ -export default { - types: { - "Balance": "u64", - "Planet": { - "_enum": [ - "Earth" - ] - }, - "IdtyDid": { - "hash": "[u8; 32]", - "planet": "Planet", - "latitude": "u32", - "longitude": "u32" - }, - "IdtyRight": { - "_enum": [ - "CreateIdty", - "LightCert", - "StrongCert", - "Ud" - ] - }, - "IdtyStatus": { - "_enum": [ - "Created", - "ConfirmedByOwner", - "Validated" - ] - }, - "IdtyValue": { - "owner_key": "AccountId", - "removable_on": "Option<u32>", - "rights": "Vec<(IdtyRight, Option<AccountId>)>", - "status": "IdtyStatus" - } - } -} diff --git a/src/interfaces/index.ts b/src/interfaces/index.ts new file mode 100644 index 0000000..2d30729 --- /dev/null +++ b/src/interfaces/index.ts @@ -0,0 +1,4 @@ +// Auto-generated via `yarn polkadot-types-from-defs`, do not edit +/* eslint-disable */ + +export * from './types'; diff --git a/src/interfaces/lookup.ts b/src/interfaces/lookup.ts new file mode 100644 index 0000000..9dbe7b4 --- /dev/null +++ b/src/interfaces/lookup.ts @@ -0,0 +1,1995 @@ +// Auto-generated via `yarn polkadot-types-from-defs`, do not edit +/* eslint-disable */ + +/* eslint-disable sort-keys */ + +export default { + /** + * Lookup3: frame_system::AccountInfo<Index, pallet_duniter_account::types::AccountData<Balance>> + **/ + FrameSystemAccountInfo: { + nonce: 'u32', + consumers: 'u32', + providers: 'u32', + sufficients: 'u32', + data: 'PalletDuniterAccountAccountData' + }, + /** + * Lookup5: pallet_duniter_account::types::AccountData<Balance> + **/ + PalletDuniterAccountAccountData: { + randomId: 'Option<H256>', + free: 'u64', + reserved: 'u64', + feeFrozen: 'u64' + }, + /** + * Lookup9: frame_support::weights::PerDispatchClass<T> + **/ + FrameSupportWeightsPerDispatchClassU64: { + normal: 'u64', + operational: 'u64', + mandatory: 'u64' + }, + /** + * Lookup11: sp_runtime::generic::digest::Digest + **/ + SpRuntimeDigest: { + logs: 'Vec<SpRuntimeDigestDigestItem>' + }, + /** + * Lookup13: sp_runtime::generic::digest::DigestItem + **/ + SpRuntimeDigestDigestItem: { + _enum: { + Other: 'Bytes', + __Unused1: 'Null', + __Unused2: 'Null', + __Unused3: 'Null', + Consensus: '([u8;4],Bytes)', + Seal: '([u8;4],Bytes)', + PreRuntime: '([u8;4],Bytes)', + __Unused7: 'Null', + RuntimeEnvironmentUpdated: 'Null' + } + }, + /** + * Lookup16: frame_system::EventRecord<gdev_runtime::Event, primitive_types::H256> + **/ + FrameSystemEventRecord: { + phase: 'FrameSystemPhase', + event: 'Event', + topics: 'Vec<H256>' + }, + /** + * Lookup18: frame_system::pallet::Event<T> + **/ + FrameSystemEvent: { + _enum: { + ExtrinsicSuccess: { + dispatchInfo: 'FrameSupportWeightsDispatchInfo', + }, + ExtrinsicFailed: { + dispatchError: 'SpRuntimeDispatchError', + dispatchInfo: 'FrameSupportWeightsDispatchInfo', + }, + CodeUpdated: 'Null', + NewAccount: { + account: 'AccountId32', + }, + KilledAccount: { + account: 'AccountId32', + }, + Remarked: { + _alias: { + hash_: 'hash', + }, + sender: 'AccountId32', + hash_: 'H256' + } + } + }, + /** + * Lookup19: frame_support::weights::DispatchInfo + **/ + FrameSupportWeightsDispatchInfo: { + weight: 'u64', + class: 'FrameSupportWeightsDispatchClass', + paysFee: 'FrameSupportWeightsPays' + }, + /** + * Lookup20: frame_support::weights::DispatchClass + **/ + FrameSupportWeightsDispatchClass: { + _enum: ['Normal', 'Operational', 'Mandatory'] + }, + /** + * Lookup21: frame_support::weights::Pays + **/ + FrameSupportWeightsPays: { + _enum: ['Yes', 'No'] + }, + /** + * Lookup22: sp_runtime::DispatchError + **/ + SpRuntimeDispatchError: { + _enum: { + Other: 'Null', + CannotLookup: 'Null', + BadOrigin: 'Null', + Module: { + index: 'u8', + error: 'u8', + }, + ConsumerRemaining: 'Null', + NoProviders: 'Null', + TooManyConsumers: 'Null', + Token: 'SpRuntimeTokenError', + Arithmetic: 'SpRuntimeArithmeticError' + } + }, + /** + * Lookup23: sp_runtime::TokenError + **/ + SpRuntimeTokenError: { + _enum: ['NoFunds', 'WouldDie', 'BelowMinimum', 'CannotCreate', 'UnknownAsset', 'Frozen', 'Unsupported'] + }, + /** + * Lookup24: sp_runtime::ArithmeticError + **/ + SpRuntimeArithmeticError: { + _enum: ['Underflow', 'Overflow', 'DivisionByZero'] + }, + /** + * Lookup25: pallet_duniter_account::pallet::Event<T> + **/ + PalletDuniterAccountEvent: { + _enum: { + ForceDestroy: { + who: 'AccountId32', + balance: 'u64', + }, + RandomIdAssigned: { + who: 'AccountId32', + randomId: 'H256' + } + } + }, + /** + * Lookup26: pallet_scheduler::pallet::Event<T> + **/ + PalletSchedulerEvent: { + _enum: { + Scheduled: { + when: 'u32', + index: 'u32', + }, + Canceled: { + when: 'u32', + index: 'u32', + }, + Dispatched: { + task: '(u32,u32)', + id: 'Option<Bytes>', + result: 'Result<Null, SpRuntimeDispatchError>', + }, + CallLookupFailed: { + task: '(u32,u32)', + id: 'Option<Bytes>', + error: 'FrameSupportScheduleLookupError' + } + } + }, + /** + * Lookup31: frame_support::traits::schedule::LookupError + **/ + FrameSupportScheduleLookupError: { + _enum: ['Unknown', 'BadFormat'] + }, + /** + * Lookup32: pallet_balances::pallet::Event<T, I> + **/ + PalletBalancesEvent: { + _enum: { + Endowed: { + account: 'AccountId32', + freeBalance: 'u64', + }, + DustLost: { + account: 'AccountId32', + amount: 'u64', + }, + Transfer: { + from: 'AccountId32', + to: 'AccountId32', + amount: 'u64', + }, + BalanceSet: { + who: 'AccountId32', + free: 'u64', + reserved: 'u64', + }, + Reserved: { + who: 'AccountId32', + amount: 'u64', + }, + Unreserved: { + who: 'AccountId32', + amount: 'u64', + }, + ReserveRepatriated: { + from: 'AccountId32', + to: 'AccountId32', + amount: 'u64', + destinationStatus: 'FrameSupportTokensMiscBalanceStatus', + }, + Deposit: { + who: 'AccountId32', + amount: 'u64', + }, + Withdraw: { + who: 'AccountId32', + amount: 'u64', + }, + Slashed: { + who: 'AccountId32', + amount: 'u64' + } + } + }, + /** + * Lookup33: frame_support::traits::tokens::misc::BalanceStatus + **/ + FrameSupportTokensMiscBalanceStatus: { + _enum: ['Free', 'Reserved'] + }, + /** + * Lookup34: pallet_authority_members::pallet::Event<T> + **/ + PalletAuthorityMembersEvent: { + _enum: { + IncomingAuthorities: 'Vec<u32>', + OutgoingAuthorities: 'Vec<u32>', + MemberGoOffline: 'u32', + MemberGoOnline: 'u32', + MemberRemoved: 'u32' + } + }, + /** + * Lookup36: pallet_offences::pallet::Event + **/ + PalletOffencesEvent: { + _enum: { + Offence: { + kind: '[u8;16]', + timeslot: 'Bytes' + } + } + }, + /** + * Lookup38: pallet_session::pallet::Event + **/ + PalletSessionEvent: { + _enum: { + NewSession: { + sessionIndex: 'u32' + } + } + }, + /** + * Lookup39: pallet_grandpa::pallet::Event + **/ + PalletGrandpaEvent: { + _enum: { + NewAuthorities: { + authoritySet: 'Vec<(SpFinalityGrandpaAppPublic,u64)>', + }, + Paused: 'Null', + Resumed: 'Null' + } + }, + /** + * Lookup42: sp_finality_grandpa::app::Public + **/ + SpFinalityGrandpaAppPublic: 'SpCoreEd25519Public', + /** + * Lookup43: sp_core::ed25519::Public + **/ + SpCoreEd25519Public: '[u8;32]', + /** + * Lookup44: pallet_im_online::pallet::Event<T> + **/ + PalletImOnlineEvent: { + _enum: { + HeartbeatReceived: { + authorityId: 'PalletImOnlineSr25519AppSr25519Public', + }, + AllGood: 'Null', + SomeOffline: { + offline: 'Vec<(AccountId32,CommonRuntimeEntitiesValidatorFullIdentification)>' + } + } + }, + /** + * Lookup45: pallet_im_online::sr25519::app_sr25519::Public + **/ + PalletImOnlineSr25519AppSr25519Public: 'SpCoreSr25519Public', + /** + * Lookup46: sp_core::sr25519::Public + **/ + SpCoreSr25519Public: '[u8;32]', + /** + * Lookup49: common_runtime::entities::ValidatorFullIdentification + **/ + CommonRuntimeEntitiesValidatorFullIdentification: 'Null', + /** + * Lookup50: pallet_sudo::pallet::Event<T> + **/ + PalletSudoEvent: { + _enum: { + Sudid: { + sudoResult: 'Result<Null, SpRuntimeDispatchError>', + }, + KeyChanged: { + oldSudoer: 'Option<AccountId32>', + }, + SudoAsDone: { + sudoResult: 'Result<Null, SpRuntimeDispatchError>' + } + } + }, + /** + * Lookup52: pallet_upgrade_origin::pallet::Event + **/ + PalletUpgradeOriginEvent: { + _enum: { + DispatchedAsRoot: { + result: 'Result<Null, SpRuntimeDispatchError>' + } + } + }, + /** + * Lookup53: pallet_preimage::pallet::Event<T> + **/ + PalletPreimageEvent: { + _enum: { + Noted: { + _alias: { + hash_: 'hash', + }, + hash_: 'H256', + }, + Requested: { + _alias: { + hash_: 'hash', + }, + hash_: 'H256', + }, + Cleared: { + _alias: { + hash_: 'hash', + }, + hash_: 'H256' + } + } + }, + /** + * Lookup54: pallet_universal_dividend::pallet::Event<T> + **/ + PalletUniversalDividendEvent: { + _enum: { + NewUdCreated: { + amount: 'u64', + monetaryMass: 'u64', + membersCount: 'u64', + }, + UdReevalued: { + newUdAmount: 'u64', + monetaryMass: 'u64', + membersCount: 'u64' + } + } + }, + /** + * Lookup55: pallet_identity::pallet::Event<T> + **/ + PalletIdentityEvent: { + _enum: { + IdtyCreated: { + idtyIndex: 'u32', + ownerKey: 'AccountId32', + }, + IdtyConfirmed: { + idtyIndex: 'u32', + ownerKey: 'AccountId32', + name: 'Text', + }, + IdtyValidated: { + idtyIndex: 'u32', + }, + IdtyRemoved: { + idtyIndex: 'u32' + } + } + }, + /** + * Lookup57: pallet_membership::pallet::Event<T, I> + **/ + PalletMembershipEvent: { + _enum: { + MembershipAcquired: 'u32', + MembershipExpired: 'u32', + MembershipRenewed: 'u32', + MembershipRequested: 'u32', + MembershipRevoked: 'u32', + PendingMembershipExpired: 'u32' + } + }, + /** + * Lookup58: pallet_certification::pallet::Event<T, I> + **/ + PalletCertificationEvent: { + _enum: { + NewCert: { + issuer: 'u32', + issuerIssuedCount: 'u32', + receiver: 'u32', + receiverReceivedCount: 'u32', + }, + RemovedCert: { + issuer: 'u32', + issuerIssuedCount: 'u32', + receiver: 'u32', + receiverReceivedCount: 'u32', + expiration: 'bool', + }, + RenewedCert: { + issuer: 'u32', + receiver: 'u32' + } + } + }, + /** + * Lookup62: pallet_collective::pallet::Event<T, I> + **/ + PalletCollectiveEvent: { + _enum: { + Proposed: { + account: 'AccountId32', + proposalIndex: 'u32', + proposalHash: 'H256', + threshold: 'u32', + }, + Voted: { + account: 'AccountId32', + proposalHash: 'H256', + voted: 'bool', + yes: 'u32', + no: 'u32', + }, + Approved: { + proposalHash: 'H256', + }, + Disapproved: { + proposalHash: 'H256', + }, + Executed: { + proposalHash: 'H256', + result: 'Result<Null, SpRuntimeDispatchError>', + }, + MemberExecuted: { + proposalHash: 'H256', + result: 'Result<Null, SpRuntimeDispatchError>', + }, + Closed: { + proposalHash: 'H256', + yes: 'u32', + no: 'u32' + } + } + }, + /** + * Lookup63: pallet_atomic_swap::pallet::Event<T> + **/ + PalletAtomicSwapEvent: { + _enum: { + NewSwap: { + account: 'AccountId32', + proof: '[u8;32]', + swap: 'PalletAtomicSwapPendingSwap', + }, + SwapClaimed: { + account: 'AccountId32', + proof: '[u8;32]', + success: 'bool', + }, + SwapCancelled: { + account: 'AccountId32', + proof: '[u8;32]' + } + } + }, + /** + * Lookup64: pallet_atomic_swap::PendingSwap<T> + **/ + PalletAtomicSwapPendingSwap: { + source: 'AccountId32', + action: 'PalletAtomicSwapBalanceSwapAction', + endBlock: 'u32' + }, + /** + * Lookup65: pallet_atomic_swap::BalanceSwapAction<sp_core::crypto::AccountId32, C> + **/ + PalletAtomicSwapBalanceSwapAction: { + value: 'u64' + }, + /** + * Lookup66: pallet_multisig::pallet::Event<T> + **/ + PalletMultisigEvent: { + _enum: { + NewMultisig: { + approving: 'AccountId32', + multisig: 'AccountId32', + callHash: '[u8;32]', + }, + MultisigApproval: { + approving: 'AccountId32', + timepoint: 'PalletMultisigTimepoint', + multisig: 'AccountId32', + callHash: '[u8;32]', + }, + MultisigExecuted: { + approving: 'AccountId32', + timepoint: 'PalletMultisigTimepoint', + multisig: 'AccountId32', + callHash: '[u8;32]', + result: 'Result<Null, SpRuntimeDispatchError>', + }, + MultisigCancelled: { + cancelling: 'AccountId32', + timepoint: 'PalletMultisigTimepoint', + multisig: 'AccountId32', + callHash: '[u8;32]' + } + } + }, + /** + * Lookup67: pallet_multisig::Timepoint<BlockNumber> + **/ + PalletMultisigTimepoint: { + height: 'u32', + index: 'u32' + }, + /** + * Lookup68: pallet_provide_randomness::pallet::Event + **/ + PalletProvideRandomnessEvent: { + _enum: { + FilledRandomness: { + requestId: 'u64', + randomness: 'H256', + }, + RequestedRandomness: { + _alias: { + r_type: 'r#type', + }, + requestId: 'u64', + salt: 'H256', + r_type: 'PalletProvideRandomnessRandomnessType' + } + } + }, + /** + * Lookup69: pallet_provide_randomness::types::RandomnessType + **/ + PalletProvideRandomnessRandomnessType: { + _enum: ['RandomnessFromPreviousBlock', 'RandomnessFromOneEpochAgo', 'RandomnessFromTwoEpochsAgo'] + }, + /** + * Lookup70: pallet_proxy::pallet::Event<T> + **/ + PalletProxyEvent: { + _enum: { + ProxyExecuted: { + result: 'Result<Null, SpRuntimeDispatchError>', + }, + AnonymousCreated: { + anonymous: 'AccountId32', + who: 'AccountId32', + proxyType: 'GdevRuntimeProxyType', + disambiguationIndex: 'u16', + }, + Announced: { + real: 'AccountId32', + proxy: 'AccountId32', + callHash: 'H256', + }, + ProxyAdded: { + delegator: 'AccountId32', + delegatee: 'AccountId32', + proxyType: 'GdevRuntimeProxyType', + delay: 'u32' + } + } + }, + /** + * Lookup71: gdev_runtime::ProxyType + **/ + GdevRuntimeProxyType: { + _enum: ['Any', 'TransferOnly', 'CancelProxy', 'SmithsCollectivePropose'] + }, + /** + * Lookup73: pallet_utility::pallet::Event + **/ + PalletUtilityEvent: { + _enum: { + BatchInterrupted: { + index: 'u32', + error: 'SpRuntimeDispatchError', + }, + BatchCompleted: 'Null', + ItemCompleted: 'Null', + DispatchedAs: { + result: 'Result<Null, SpRuntimeDispatchError>' + } + } + }, + /** + * Lookup74: pallet_treasury::pallet::Event<T, I> + **/ + PalletTreasuryEvent: { + _enum: { + Proposed: { + proposalIndex: 'u32', + }, + Spending: { + budgetRemaining: 'u64', + }, + Awarded: { + proposalIndex: 'u32', + award: 'u64', + account: 'AccountId32', + }, + Rejected: { + proposalIndex: 'u32', + slashed: 'u64', + }, + Burnt: { + burntFunds: 'u64', + }, + Rollover: { + rolloverBalance: 'u64', + }, + Deposit: { + value: 'u64' + } + } + }, + /** + * Lookup75: frame_system::Phase + **/ + FrameSystemPhase: { + _enum: { + ApplyExtrinsic: 'u32', + Finalization: 'Null', + Initialization: 'Null' + } + }, + /** + * Lookup78: frame_system::LastRuntimeUpgradeInfo + **/ + FrameSystemLastRuntimeUpgradeInfo: { + specVersion: 'Compact<u32>', + specName: 'Text' + }, + /** + * Lookup80: frame_system::pallet::Call<T> + **/ + FrameSystemCall: { + _enum: { + fill_block: { + ratio: 'Perbill', + }, + remark: { + remark: 'Bytes', + }, + set_heap_pages: { + pages: 'u64', + }, + set_code: { + code: 'Bytes', + }, + set_code_without_checks: { + code: 'Bytes', + }, + set_storage: { + items: 'Vec<(Bytes,Bytes)>', + }, + kill_storage: { + _alias: { + keys_: 'keys', + }, + keys_: 'Vec<Bytes>', + }, + kill_prefix: { + prefix: 'Bytes', + subkeys: 'u32', + }, + remark_with_event: { + remark: 'Bytes' + } + } + }, + /** + * Lookup85: frame_system::limits::BlockWeights + **/ + FrameSystemLimitsBlockWeights: { + baseBlock: 'u64', + maxBlock: 'u64', + perClass: 'FrameSupportWeightsPerDispatchClassWeightsPerClass' + }, + /** + * Lookup86: frame_support::weights::PerDispatchClass<frame_system::limits::WeightsPerClass> + **/ + FrameSupportWeightsPerDispatchClassWeightsPerClass: { + normal: 'FrameSystemLimitsWeightsPerClass', + operational: 'FrameSystemLimitsWeightsPerClass', + mandatory: 'FrameSystemLimitsWeightsPerClass' + }, + /** + * Lookup87: frame_system::limits::WeightsPerClass + **/ + FrameSystemLimitsWeightsPerClass: { + baseExtrinsic: 'u64', + maxExtrinsic: 'Option<u64>', + maxTotal: 'Option<u64>', + reserved: 'Option<u64>' + }, + /** + * Lookup89: frame_system::limits::BlockLength + **/ + FrameSystemLimitsBlockLength: { + max: 'FrameSupportWeightsPerDispatchClassU32' + }, + /** + * Lookup90: frame_support::weights::PerDispatchClass<T> + **/ + FrameSupportWeightsPerDispatchClassU32: { + normal: 'u32', + operational: 'u32', + mandatory: 'u32' + }, + /** + * Lookup91: frame_support::weights::RuntimeDbWeight + **/ + FrameSupportWeightsRuntimeDbWeight: { + read: 'u64', + write: 'u64' + }, + /** + * Lookup92: sp_version::RuntimeVersion + **/ + SpVersionRuntimeVersion: { + specName: 'Text', + implName: 'Text', + authoringVersion: 'u32', + specVersion: 'u32', + implVersion: 'u32', + apis: 'Vec<([u8;8],u32)>', + transactionVersion: 'u32' + }, + /** + * Lookup97: frame_system::pallet::Error<T> + **/ + FrameSystemError: { + _enum: ['InvalidSpecName', 'SpecVersionNeedsToIncrease', 'FailedToExtractRuntimeVersion', 'NonDefaultComposite', 'NonZeroRefCount', 'CallFiltered'] + }, + /** + * Lookup100: pallet_scheduler::ScheduledV3<frame_support::traits::schedule::MaybeHashed<gdev_runtime::Call, primitive_types::H256>, BlockNumber, gdev_runtime::OriginCaller, sp_core::crypto::AccountId32> + **/ + PalletSchedulerScheduledV3: { + maybeId: 'Option<Bytes>', + priority: 'u8', + call: 'FrameSupportScheduleMaybeHashed', + maybePeriodic: 'Option<(u32,u32)>', + origin: 'GdevRuntimeOriginCaller' + }, + /** + * Lookup101: frame_support::traits::schedule::MaybeHashed<gdev_runtime::Call, primitive_types::H256> + **/ + FrameSupportScheduleMaybeHashed: { + _enum: { + Value: 'Call', + Hash: 'H256' + } + }, + /** + * Lookup103: pallet_scheduler::pallet::Call<T> + **/ + PalletSchedulerCall: { + _enum: { + schedule: { + when: 'u32', + maybePeriodic: 'Option<(u32,u32)>', + priority: 'u8', + call: 'FrameSupportScheduleMaybeHashed', + }, + cancel: { + when: 'u32', + index: 'u32', + }, + schedule_named: { + id: 'Bytes', + when: 'u32', + maybePeriodic: 'Option<(u32,u32)>', + priority: 'u8', + call: 'FrameSupportScheduleMaybeHashed', + }, + cancel_named: { + id: 'Bytes', + }, + schedule_after: { + after: 'u32', + maybePeriodic: 'Option<(u32,u32)>', + priority: 'u8', + call: 'FrameSupportScheduleMaybeHashed', + }, + schedule_named_after: { + id: 'Bytes', + after: 'u32', + maybePeriodic: 'Option<(u32,u32)>', + priority: 'u8', + call: 'FrameSupportScheduleMaybeHashed' + } + } + }, + /** + * Lookup105: pallet_babe::pallet::Call<T> + **/ + PalletBabeCall: { + _enum: { + report_equivocation: { + equivocationProof: 'SpConsensusSlotsEquivocationProof', + keyOwnerProof: 'SpSessionMembershipProof', + }, + report_equivocation_unsigned: { + equivocationProof: 'SpConsensusSlotsEquivocationProof', + keyOwnerProof: 'SpSessionMembershipProof', + }, + plan_config_change: { + config: 'SpConsensusBabeDigestsNextConfigDescriptor' + } + } + }, + /** + * Lookup106: sp_consensus_slots::EquivocationProof<sp_runtime::generic::header::Header<Number, sp_runtime::traits::BlakeTwo256>, sp_consensus_babe::app::Public> + **/ + SpConsensusSlotsEquivocationProof: { + offender: 'SpConsensusBabeAppPublic', + slot: 'u64', + firstHeader: 'SpRuntimeHeader', + secondHeader: 'SpRuntimeHeader' + }, + /** + * Lookup107: sp_runtime::generic::header::Header<Number, sp_runtime::traits::BlakeTwo256> + **/ + SpRuntimeHeader: { + parentHash: 'H256', + number: 'Compact<u32>', + stateRoot: 'H256', + extrinsicsRoot: 'H256', + digest: 'SpRuntimeDigest' + }, + /** + * Lookup108: sp_runtime::traits::BlakeTwo256 + **/ + SpRuntimeBlakeTwo256: 'Null', + /** + * Lookup109: sp_consensus_babe::app::Public + **/ + SpConsensusBabeAppPublic: 'SpCoreSr25519Public', + /** + * Lookup111: sp_session::MembershipProof + **/ + SpSessionMembershipProof: { + session: 'u32', + trieNodes: 'Vec<Bytes>', + validatorCount: 'u32' + }, + /** + * Lookup112: sp_consensus_babe::digests::NextConfigDescriptor + **/ + SpConsensusBabeDigestsNextConfigDescriptor: { + _enum: { + __Unused0: 'Null', + V1: { + c: '(u64,u64)', + allowedSlots: 'SpConsensusBabeAllowedSlots' + } + } + }, + /** + * Lookup114: sp_consensus_babe::AllowedSlots + **/ + SpConsensusBabeAllowedSlots: { + _enum: ['PrimarySlots', 'PrimaryAndSecondaryPlainSlots', 'PrimaryAndSecondaryVRFSlots'] + }, + /** + * Lookup115: pallet_timestamp::pallet::Call<T> + **/ + PalletTimestampCall: { + _enum: { + set: { + now: 'Compact<u64>' + } + } + }, + /** + * Lookup117: pallet_balances::pallet::Call<T, I> + **/ + PalletBalancesCall: { + _enum: { + transfer: { + dest: 'MultiAddress', + value: 'Compact<u64>', + }, + set_balance: { + who: 'MultiAddress', + newFree: 'Compact<u64>', + newReserved: 'Compact<u64>', + }, + force_transfer: { + source: 'MultiAddress', + dest: 'MultiAddress', + value: 'Compact<u64>', + }, + transfer_keep_alive: { + dest: 'MultiAddress', + value: 'Compact<u64>', + }, + transfer_all: { + dest: 'MultiAddress', + keepAlive: 'bool', + }, + force_unreserve: { + who: 'MultiAddress', + amount: 'u64' + } + } + }, + /** + * Lookup121: pallet_authority_members::pallet::Call<T> + **/ + PalletAuthorityMembersCall: { + _enum: { + go_offline: 'Null', + go_online: 'Null', + set_session_keys: { + _alias: { + keys_: 'keys', + }, + keys_: '[u8;128]', + }, + prune_account_id_of: { + membersIds: 'Vec<u32>', + }, + remove_member: { + memberId: 'u32' + } + } + }, + /** + * Lookup123: pallet_authorship::pallet::Call<T> + **/ + PalletAuthorshipCall: { + _enum: { + set_uncles: { + newUncles: 'Vec<SpRuntimeHeader>' + } + } + }, + /** + * Lookup125: pallet_session::pallet::Call<T> + **/ + PalletSessionCall: { + _enum: { + set_keys: { + _alias: { + keys_: 'keys', + }, + keys_: 'GdevRuntimeOpaqueSessionKeys', + proof: 'Bytes', + }, + purge_keys: 'Null' + } + }, + /** + * Lookup126: gdev_runtime::opaque::SessionKeys + **/ + GdevRuntimeOpaqueSessionKeys: { + grandpa: 'SpFinalityGrandpaAppPublic', + babe: 'SpConsensusBabeAppPublic', + imOnline: 'PalletImOnlineSr25519AppSr25519Public', + authorityDiscovery: 'SpAuthorityDiscoveryAppPublic' + }, + /** + * Lookup127: sp_authority_discovery::app::Public + **/ + SpAuthorityDiscoveryAppPublic: 'SpCoreSr25519Public', + /** + * Lookup128: pallet_grandpa::pallet::Call<T> + **/ + PalletGrandpaCall: { + _enum: { + report_equivocation: { + equivocationProof: 'SpFinalityGrandpaEquivocationProof', + keyOwnerProof: 'SpCoreVoid', + }, + report_equivocation_unsigned: { + equivocationProof: 'SpFinalityGrandpaEquivocationProof', + keyOwnerProof: 'SpCoreVoid', + }, + note_stalled: { + delay: 'u32', + bestFinalizedBlockNumber: 'u32' + } + } + }, + /** + * Lookup129: sp_finality_grandpa::EquivocationProof<primitive_types::H256, N> + **/ + SpFinalityGrandpaEquivocationProof: { + setId: 'u64', + equivocation: 'SpFinalityGrandpaEquivocation' + }, + /** + * Lookup130: sp_finality_grandpa::Equivocation<primitive_types::H256, N> + **/ + SpFinalityGrandpaEquivocation: { + _enum: { + Prevote: 'FinalityGrandpaEquivocationPrevote', + Precommit: 'FinalityGrandpaEquivocationPrecommit' + } + }, + /** + * Lookup131: finality_grandpa::Equivocation<sp_finality_grandpa::app::Public, finality_grandpa::Prevote<primitive_types::H256, N>, sp_finality_grandpa::app::Signature> + **/ + FinalityGrandpaEquivocationPrevote: { + roundNumber: 'u64', + identity: 'SpFinalityGrandpaAppPublic', + first: '(FinalityGrandpaPrevote,SpFinalityGrandpaAppSignature)', + second: '(FinalityGrandpaPrevote,SpFinalityGrandpaAppSignature)' + }, + /** + * Lookup132: finality_grandpa::Prevote<primitive_types::H256, N> + **/ + FinalityGrandpaPrevote: { + targetHash: 'H256', + targetNumber: 'u32' + }, + /** + * Lookup133: sp_finality_grandpa::app::Signature + **/ + SpFinalityGrandpaAppSignature: 'SpCoreEd25519Signature', + /** + * Lookup134: sp_core::ed25519::Signature + **/ + SpCoreEd25519Signature: '[u8;64]', + /** + * Lookup137: finality_grandpa::Equivocation<sp_finality_grandpa::app::Public, finality_grandpa::Precommit<primitive_types::H256, N>, sp_finality_grandpa::app::Signature> + **/ + FinalityGrandpaEquivocationPrecommit: { + roundNumber: 'u64', + identity: 'SpFinalityGrandpaAppPublic', + first: '(FinalityGrandpaPrecommit,SpFinalityGrandpaAppSignature)', + second: '(FinalityGrandpaPrecommit,SpFinalityGrandpaAppSignature)' + }, + /** + * Lookup138: finality_grandpa::Precommit<primitive_types::H256, N> + **/ + FinalityGrandpaPrecommit: { + targetHash: 'H256', + targetNumber: 'u32' + }, + /** + * Lookup140: sp_core::Void + **/ + SpCoreVoid: 'Null', + /** + * Lookup141: pallet_im_online::pallet::Call<T> + **/ + PalletImOnlineCall: { + _enum: { + heartbeat: { + heartbeat: 'PalletImOnlineHeartbeat', + signature: 'PalletImOnlineSr25519AppSr25519Signature' + } + } + }, + /** + * Lookup142: pallet_im_online::Heartbeat<BlockNumber> + **/ + PalletImOnlineHeartbeat: { + blockNumber: 'u32', + networkState: 'SpCoreOffchainOpaqueNetworkState', + sessionIndex: 'u32', + authorityIndex: 'u32', + validatorsLen: 'u32' + }, + /** + * Lookup143: sp_core::offchain::OpaqueNetworkState + **/ + SpCoreOffchainOpaqueNetworkState: { + peerId: 'Bytes', + externalAddresses: 'Vec<Bytes>' + }, + /** + * Lookup147: pallet_im_online::sr25519::app_sr25519::Signature + **/ + PalletImOnlineSr25519AppSr25519Signature: 'SpCoreSr25519Signature', + /** + * Lookup148: sp_core::sr25519::Signature + **/ + SpCoreSr25519Signature: '[u8;64]', + /** + * Lookup149: pallet_sudo::pallet::Call<T> + **/ + PalletSudoCall: { + _enum: { + sudo: { + call: 'Call', + }, + sudo_unchecked_weight: { + call: 'Call', + weight: 'u64', + }, + set_key: { + _alias: { + new_: 'new', + }, + new_: 'MultiAddress', + }, + sudo_as: { + who: 'MultiAddress', + call: 'Call' + } + } + }, + /** + * Lookup150: pallet_upgrade_origin::pallet::Call<T> + **/ + PalletUpgradeOriginCall: { + _enum: { + dispatch_as_root: { + call: 'Call', + }, + dispatch_as_root_unchecked_weight: { + call: 'Call', + weight: 'u64' + } + } + }, + /** + * Lookup151: pallet_preimage::pallet::Call<T> + **/ + PalletPreimageCall: { + _enum: { + note_preimage: { + bytes: 'Bytes', + }, + unnote_preimage: { + _alias: { + hash_: 'hash', + }, + hash_: 'H256', + }, + request_preimage: { + _alias: { + hash_: 'hash', + }, + hash_: 'H256', + }, + unrequest_preimage: { + _alias: { + hash_: 'hash', + }, + hash_: 'H256' + } + } + }, + /** + * Lookup152: pallet_universal_dividend::pallet::Call<T> + **/ + PalletUniversalDividendCall: { + _enum: { + transfer_ud: { + dest: 'MultiAddress', + value: 'Compact<u64>', + }, + transfer_ud_keep_alive: { + dest: 'MultiAddress', + value: 'Compact<u64>' + } + } + }, + /** + * Lookup153: pallet_identity::pallet::Call<T> + **/ + PalletIdentityCall: { + _enum: { + create_identity: { + ownerKey: 'AccountId32', + }, + confirm_identity: { + idtyName: 'Text', + }, + validate_identity: { + idtyIndex: 'u32', + }, + revoke_identity: { + payload: 'PalletIdentityRevocationPayload', + payloadSig: 'SpRuntimeMultiSignature', + }, + remove_identity: { + idtyIndex: 'u32', + idtyName: 'Option<Text>', + }, + prune_item_identities_names: { + names: 'Vec<Text>', + }, + prune_item_identity_index_of: { + accountsIds: 'Vec<AccountId32>' + } + } + }, + /** + * Lookup154: pallet_identity::types::RevocationPayload<sp_core::crypto::AccountId32, primitive_types::H256> + **/ + PalletIdentityRevocationPayload: { + ownerKey: 'AccountId32', + genesisHash: 'H256' + }, + /** + * Lookup155: sp_runtime::MultiSignature + **/ + SpRuntimeMultiSignature: { + _enum: { + Ed25519: 'SpCoreEd25519Signature', + Sr25519: 'SpCoreSr25519Signature', + Ecdsa: 'SpCoreEcdsaSignature' + } + }, + /** + * Lookup156: sp_core::ecdsa::Signature + **/ + SpCoreEcdsaSignature: '[u8;65]', + /** + * Lookup161: pallet_membership::pallet::Call<T, I> + **/ + PalletMembershipCall: { + _enum: { + force_request_membership: { + idtyId: 'u32', + metadata: 'AccountId32', + }, + request_membership: { + metadata: 'AccountId32', + }, + claim_membership: { + maybeIdtyId: 'Option<u32>', + }, + renew_membership: { + maybeIdtyId: 'Option<u32>', + }, + revoke_membership: { + maybeIdtyId: 'Option<u32>' + } + } + }, + /** + * Lookup164: pallet_certification::pallet::Call<T, I> + **/ + PalletCertificationCall: { + _enum: { + force_add_cert: { + issuer: 'u32', + receiver: 'u32', + verifyRules: 'bool', + }, + add_cert: { + receiver: 'AccountId32', + }, + del_cert: { + issuer: 'u32', + receiver: 'u32', + }, + remove_all_certs_received_by: { + idtyIndex: 'u32' + } + } + }, + /** + * Lookup166: common_runtime::entities::SmithsMembershipMetaData<SessionKeysWrapper> + **/ + CommonRuntimeEntitiesSmithsMembershipMetaData: { + ownerKey: 'AccountId32', + p2pEndpoint: 'Text', + sessionKeys: '[u8;128]' + }, + /** + * Lookup168: pallet_collective::pallet::Call<T, I> + **/ + PalletCollectiveCall: { + _enum: { + set_members: { + newMembers: 'Vec<AccountId32>', + prime: 'Option<AccountId32>', + oldCount: 'u32', + }, + execute: { + proposal: 'Call', + lengthBound: 'Compact<u32>', + }, + propose: { + threshold: 'Compact<u32>', + proposal: 'Call', + lengthBound: 'Compact<u32>', + }, + vote: { + proposal: 'H256', + index: 'Compact<u32>', + approve: 'bool', + }, + close: { + proposalHash: 'H256', + index: 'Compact<u32>', + proposalWeightBound: 'Compact<u64>', + lengthBound: 'Compact<u32>', + }, + disapprove_proposal: { + proposalHash: 'H256' + } + } + }, + /** + * Lookup169: pallet_atomic_swap::pallet::Call<T> + **/ + PalletAtomicSwapCall: { + _enum: { + create_swap: { + target: 'AccountId32', + hashedProof: '[u8;32]', + action: 'PalletAtomicSwapBalanceSwapAction', + duration: 'u32', + }, + claim_swap: { + proof: 'Bytes', + action: 'PalletAtomicSwapBalanceSwapAction', + }, + cancel_swap: { + target: 'AccountId32', + hashedProof: '[u8;32]' + } + } + }, + /** + * Lookup170: pallet_multisig::pallet::Call<T> + **/ + PalletMultisigCall: { + _enum: { + as_multi_threshold_1: { + otherSignatories: 'Vec<AccountId32>', + call: 'Call', + }, + as_multi: { + threshold: 'u16', + otherSignatories: 'Vec<AccountId32>', + maybeTimepoint: 'Option<PalletMultisigTimepoint>', + call: 'WrapperKeepOpaque<Call>', + storeCall: 'bool', + maxWeight: 'u64', + }, + approve_as_multi: { + threshold: 'u16', + otherSignatories: 'Vec<AccountId32>', + maybeTimepoint: 'Option<PalletMultisigTimepoint>', + callHash: '[u8;32]', + maxWeight: 'u64', + }, + cancel_as_multi: { + threshold: 'u16', + otherSignatories: 'Vec<AccountId32>', + timepoint: 'PalletMultisigTimepoint', + callHash: '[u8;32]' + } + } + }, + /** + * Lookup173: pallet_provide_randomness::pallet::Call<T> + **/ + PalletProvideRandomnessCall: { + _enum: { + request: { + randomnessType: 'PalletProvideRandomnessRandomnessType', + salt: 'H256' + } + } + }, + /** + * Lookup174: pallet_proxy::pallet::Call<T> + **/ + PalletProxyCall: { + _enum: { + proxy: { + real: 'AccountId32', + forceProxyType: 'Option<GdevRuntimeProxyType>', + call: 'Call', + }, + add_proxy: { + delegate: 'AccountId32', + proxyType: 'GdevRuntimeProxyType', + delay: 'u32', + }, + remove_proxy: { + delegate: 'AccountId32', + proxyType: 'GdevRuntimeProxyType', + delay: 'u32', + }, + remove_proxies: 'Null', + anonymous: { + proxyType: 'GdevRuntimeProxyType', + delay: 'u32', + index: 'u16', + }, + kill_anonymous: { + spawner: 'AccountId32', + proxyType: 'GdevRuntimeProxyType', + index: 'u16', + height: 'Compact<u32>', + extIndex: 'Compact<u32>', + }, + announce: { + real: 'AccountId32', + callHash: 'H256', + }, + remove_announcement: { + real: 'AccountId32', + callHash: 'H256', + }, + reject_announcement: { + delegate: 'AccountId32', + callHash: 'H256', + }, + proxy_announced: { + delegate: 'AccountId32', + real: 'AccountId32', + forceProxyType: 'Option<GdevRuntimeProxyType>', + call: 'Call' + } + } + }, + /** + * Lookup176: pallet_utility::pallet::Call<T> + **/ + PalletUtilityCall: { + _enum: { + batch: { + calls: 'Vec<Call>', + }, + as_derivative: { + index: 'u16', + call: 'Call', + }, + batch_all: { + calls: 'Vec<Call>', + }, + dispatch_as: { + asOrigin: 'GdevRuntimeOriginCaller', + call: 'Call' + } + } + }, + /** + * Lookup178: gdev_runtime::OriginCaller + **/ + GdevRuntimeOriginCaller: { + _enum: { + system: 'FrameSystemRawOrigin', + __Unused1: 'Null', + Void: 'SpCoreVoid', + __Unused3: 'Null', + __Unused4: 'Null', + __Unused5: 'Null', + __Unused6: 'Null', + __Unused7: 'Null', + __Unused8: 'Null', + __Unused9: 'Null', + __Unused10: 'Null', + __Unused11: 'Null', + __Unused12: 'Null', + __Unused13: 'Null', + __Unused14: 'Null', + __Unused15: 'Null', + __Unused16: 'Null', + __Unused17: 'Null', + __Unused18: 'Null', + __Unused19: 'Null', + __Unused20: 'Null', + __Unused21: 'Null', + __Unused22: 'Null', + __Unused23: 'Null', + __Unused24: 'Null', + __Unused25: 'Null', + __Unused26: 'Null', + __Unused27: 'Null', + __Unused28: 'Null', + __Unused29: 'Null', + __Unused30: 'Null', + __Unused31: 'Null', + __Unused32: 'Null', + __Unused33: 'Null', + __Unused34: 'Null', + __Unused35: 'Null', + __Unused36: 'Null', + __Unused37: 'Null', + __Unused38: 'Null', + __Unused39: 'Null', + __Unused40: 'Null', + __Unused41: 'Null', + __Unused42: 'Null', + __Unused43: 'Null', + __Unused44: 'Null', + __Unused45: 'Null', + __Unused46: 'Null', + __Unused47: 'Null', + __Unused48: 'Null', + __Unused49: 'Null', + __Unused50: 'Null', + __Unused51: 'Null', + __Unused52: 'Null', + __Unused53: 'Null', + SmithsCollective: 'PalletCollectiveRawOrigin' + } + }, + /** + * Lookup179: frame_system::RawOrigin<sp_core::crypto::AccountId32> + **/ + FrameSystemRawOrigin: { + _enum: { + Root: 'Null', + Signed: 'AccountId32', + None: 'Null' + } + }, + /** + * Lookup180: pallet_collective::RawOrigin<sp_core::crypto::AccountId32, I> + **/ + PalletCollectiveRawOrigin: { + _enum: { + Members: '(u32,u32)', + Member: 'AccountId32', + _Phantom: 'Null' + } + }, + /** + * Lookup181: pallet_treasury::pallet::Call<T, I> + **/ + PalletTreasuryCall: { + _enum: { + propose_spend: { + value: 'Compact<u64>', + beneficiary: 'MultiAddress', + }, + reject_proposal: { + proposalId: 'Compact<u32>', + }, + approve_proposal: { + proposalId: 'Compact<u32>' + } + } + }, + /** + * Lookup182: pallet_scheduler::pallet::Error<T> + **/ + PalletSchedulerError: { + _enum: ['FailedToSchedule', 'NotFound', 'TargetBlockNumberInPast', 'RescheduleNoChange'] + }, + /** + * Lookup189: sp_consensus_babe::BabeEpochConfiguration + **/ + SpConsensusBabeBabeEpochConfiguration: { + c: '(u64,u64)', + allowedSlots: 'SpConsensusBabeAllowedSlots' + }, + /** + * Lookup190: pallet_babe::pallet::Error<T> + **/ + PalletBabeError: { + _enum: ['InvalidEquivocationProof', 'InvalidKeyOwnershipProof', 'DuplicateOffenceReport'] + }, + /** + * Lookup191: pallet_duniter_test_parameters::types::Parameters<BlockNumber, CertCount, PeriodCount> + **/ + PalletDuniterTestParametersParameters: { + babeEpochDuration: 'u64', + certPeriod: 'u32', + certMaxByIssuer: 'u32', + certMinReceivedCertToIssueCert: 'u32', + certRenewablePeriod: 'u32', + certValidityPeriod: 'u32', + idtyConfirmPeriod: 'u32', + idtyCreationPeriod: 'u32', + membershipPeriod: 'u32', + membershipRenewablePeriod: 'u32', + pendingMembershipPeriod: 'u32', + udCreationPeriod: 'u32', + udReevalPeriod: 'u32', + smithCertPeriod: 'u32', + smithCertMaxByIssuer: 'u32', + smithCertMinReceivedCertToIssueCert: 'u32', + smithCertRenewablePeriod: 'u32', + smithCertValidityPeriod: 'u32', + smithMembershipPeriod: 'u32', + smithMembershipRenewablePeriod: 'u32', + smithPendingMembershipPeriod: 'u32', + smithsWotFirstCertIssuableOn: 'u32', + smithsWotMinCertForMembership: 'u32', + wotFirstCertIssuableOn: 'u32', + wotMinCertForCreateIdtyRight: 'u32', + wotMinCertForMembership: 'u32' + }, + /** + * Lookup192: pallet_balances::AccountData<Balance> + **/ + PalletBalancesAccountData: { + free: 'u64', + reserved: 'u64', + miscFrozen: 'u64', + feeFrozen: 'u64' + }, + /** + * Lookup194: pallet_balances::BalanceLock<Balance> + **/ + PalletBalancesBalanceLock: { + id: '[u8;8]', + amount: 'u64', + reasons: 'PalletBalancesReasons' + }, + /** + * Lookup195: pallet_balances::Reasons + **/ + PalletBalancesReasons: { + _enum: ['Fee', 'Misc', 'All'] + }, + /** + * Lookup198: pallet_balances::ReserveData<ReserveIdentifier, Balance> + **/ + PalletBalancesReserveData: { + id: '[u8;8]', + amount: 'u64' + }, + /** + * Lookup200: pallet_balances::Releases + **/ + PalletBalancesReleases: { + _enum: ['V1_0_0', 'V2_0_0'] + }, + /** + * Lookup201: pallet_balances::pallet::Error<T, I> + **/ + PalletBalancesError: { + _enum: ['VestingBalance', 'LiquidityRestrictions', 'InsufficientBalance', 'ExistentialDeposit', 'KeepAlive', 'ExistingVestingSchedule', 'DeadAccount', 'TooManyReserves'] + }, + /** + * Lookup204: pallet_transaction_payment::Releases + **/ + PalletTransactionPaymentReleases: { + _enum: ['V1Ancient', 'V2'] + }, + /** + * Lookup206: frame_support::weights::WeightToFeeCoefficient<Balance> + **/ + FrameSupportWeightsWeightToFeeCoefficient: { + coeffInteger: 'u64', + coeffFrac: 'Perbill', + negative: 'bool', + degree: 'u8' + }, + /** + * Lookup207: pallet_authority_members::types::MemberData<sp_core::crypto::AccountId32> + **/ + PalletAuthorityMembersMemberData: { + expireOnSession: 'u32', + mustRotateKeysBefore: 'u32', + ownerKey: 'AccountId32' + }, + /** + * Lookup208: pallet_authority_members::pallet::Error<T> + **/ + PalletAuthorityMembersError: { + _enum: ['AlreadyIncoming', 'AlreadyOnline', 'AlreadyOutgoing', 'MemberIdNotFound', 'MemberNotFound', 'NotOnlineNorIncoming', 'NotOwner', 'NotMember', 'SessionKeysNotProvided', 'TooManyAuthorities'] + }, + /** + * Lookup210: pallet_authorship::UncleEntryItem<BlockNumber, primitive_types::H256, sp_core::crypto::AccountId32> + **/ + PalletAuthorshipUncleEntryItem: { + _enum: { + InclusionHeight: 'u32', + Uncle: '(H256,Option<AccountId32>)' + } + }, + /** + * Lookup211: pallet_authorship::pallet::Error<T> + **/ + PalletAuthorshipError: { + _enum: ['InvalidUncleParent', 'UnclesAlreadySet', 'TooManyUncles', 'GenesisUncle', 'TooHighUncle', 'UncleAlreadyIncluded', 'OldUncle'] + }, + /** + * Lookup212: sp_staking::offence::OffenceDetails<sp_core::crypto::AccountId32, Offender> + **/ + SpStakingOffenceOffenceDetails: { + offender: '(AccountId32,CommonRuntimeEntitiesValidatorFullIdentification)', + reporters: 'Vec<AccountId32>' + }, + /** + * Lookup217: sp_core::crypto::KeyTypeId + **/ + SpCoreCryptoKeyTypeId: '[u8;4]', + /** + * Lookup218: pallet_session::pallet::Error<T> + **/ + PalletSessionError: { + _enum: ['InvalidProof', 'NoAssociatedValidatorId', 'DuplicatedKey', 'NoKeys', 'NoAccount'] + }, + /** + * Lookup219: pallet_grandpa::StoredState<N> + **/ + PalletGrandpaStoredState: { + _enum: { + Live: 'Null', + PendingPause: { + scheduledAt: 'u32', + delay: 'u32', + }, + Paused: 'Null', + PendingResume: { + scheduledAt: 'u32', + delay: 'u32' + } + } + }, + /** + * Lookup220: pallet_grandpa::StoredPendingChange<N, Limit> + **/ + PalletGrandpaStoredPendingChange: { + scheduledAt: 'u32', + delay: 'u32', + nextAuthorities: 'Vec<(SpFinalityGrandpaAppPublic,u64)>', + forced: 'Option<u32>' + }, + /** + * Lookup222: pallet_grandpa::pallet::Error<T> + **/ + PalletGrandpaError: { + _enum: ['PauseFailed', 'ResumeFailed', 'ChangePending', 'TooSoon', 'InvalidKeyOwnershipProof', 'InvalidEquivocationProof', 'DuplicateOffenceReport'] + }, + /** + * Lookup226: pallet_im_online::BoundedOpaqueNetworkState<PeerIdEncodingLimit, MultiAddrEncodingLimit, AddressesLimit> + **/ + PalletImOnlineBoundedOpaqueNetworkState: { + peerId: 'Bytes', + externalAddresses: 'Vec<Bytes>' + }, + /** + * Lookup231: pallet_im_online::pallet::Error<T> + **/ + PalletImOnlineError: { + _enum: ['InvalidKey', 'DuplicatedHeartbeat'] + }, + /** + * Lookup232: pallet_sudo::pallet::Error<T> + **/ + PalletSudoError: { + _enum: ['RequireSudo'] + }, + /** + * Lookup233: pallet_preimage::RequestStatus<sp_core::crypto::AccountId32, Balance> + **/ + PalletPreimageRequestStatus: { + _enum: { + Unrequested: 'Option<(AccountId32,u64)>', + Requested: 'u32' + } + }, + /** + * Lookup237: pallet_preimage::pallet::Error<T> + **/ + PalletPreimageError: { + _enum: ['TooLarge', 'AlreadyNoted', 'NotAuthorized', 'NotNoted', 'Requested', 'NotRequested'] + }, + /** + * Lookup238: pallet_identity::types::IdtyValue<BlockNumber, sp_core::crypto::AccountId32> + **/ + PalletIdentityIdtyValue: { + nextCreatableIdentityOn: 'u32', + ownerKey: 'AccountId32', + removableOn: 'u32', + status: 'PalletIdentityIdtyStatus' + }, + /** + * Lookup239: pallet_identity::types::IdtyStatus + **/ + PalletIdentityIdtyStatus: { + _enum: ['Created', 'ConfirmedByOwner', 'Validated'] + }, + /** + * Lookup242: pallet_identity::pallet::Error<T> + **/ + PalletIdentityError: { + _enum: ['InvalidGenesisHash', 'InvalidRevocationProof', 'CreatorNotAllowedToCreateIdty', 'IdtyAlreadyConfirmed', 'IdtyAlreadyCreated', 'IdtyAlreadyValidated', 'IdtyCreationNotAllowed', 'IdtyIndexNotFound', 'IdtyNameAlreadyExist', 'IdtyNameInvalid', 'IdtyNotConfirmedByOwner', 'IdtyNotFound', 'IdtyNotMember', 'IdtyNotValidated', 'IdtyNotYetRenewable', 'NotAllowedToConfirmIdty', 'NotAllowedToValidateIdty', 'NotSameIdtyName', 'RightAlreadyAdded', 'RightNotExist', 'NotRespectIdtyCreationPeriod'] + }, + /** + * Lookup243: sp_membership::MembershipData<BlockNumber> + **/ + SpMembershipMembershipData: { + expireOn: 'u32', + renewableOn: 'u32' + }, + /** + * Lookup244: pallet_membership::pallet::Error<T, I> + **/ + PalletMembershipError: { + _enum: ['IdtyNotAllowedToRequestMembership', 'IdtyNotAllowedToRenewMembership', 'InvalidMetaData', 'IdtyIdNotFound', 'MembershipAlreadyAcquired', 'MembershipAlreadyRequested', 'MembershipNotYetRenewable', 'MembershipNotFound', 'OriginNotAllowedToUseIdty', 'MembershipRequestNotFound', 'MembershipRevokedRecently'] + }, + /** + * Lookup245: pallet_certification::types::IdtyCertMeta<BlockNumber> + **/ + PalletCertificationIdtyCertMeta: { + issuedCount: 'u32', + nextIssuableOn: 'u32', + receivedCount: 'u32' + }, + /** + * Lookup246: pallet_certification::types::CertValue<BlockNumber> + **/ + PalletCertificationCertValue: { + renewableOn: 'u32', + removableOn: 'u32' + }, + /** + * Lookup247: pallet_certification::pallet::Error<T, I> + **/ + PalletCertificationError: { + _enum: ['CannotCertifySelf', 'CertNotAllowed', 'IdtyMustReceiveCertsBeforeCanIssue', 'IssuedTooManyCert', 'IssuerNotFound', 'NotEnoughCertReceived', 'NotRespectCertPeriod', 'NotRespectRenewablePeriod', 'ReceiverNotFound'] + }, + /** + * Lookup251: pallet_collective::Votes<sp_core::crypto::AccountId32, BlockNumber> + **/ + PalletCollectiveVotes: { + index: 'u32', + threshold: 'u32', + ayes: 'Vec<AccountId32>', + nays: 'Vec<AccountId32>', + end: 'u32' + }, + /** + * Lookup252: pallet_collective::pallet::Error<T, I> + **/ + PalletCollectiveError: { + _enum: ['NotMember', 'DuplicateProposal', 'ProposalMissing', 'WrongIndex', 'DuplicateVote', 'AlreadyInitialized', 'TooEarly', 'TooManyProposals', 'WrongProposalWeight', 'WrongProposalLength'] + }, + /** + * Lookup254: pallet_atomic_swap::pallet::Error<T> + **/ + PalletAtomicSwapError: { + _enum: ['AlreadyExist', 'InvalidProof', 'ProofTooLarge', 'SourceMismatch', 'AlreadyClaimed', 'NotExist', 'ClaimActionMismatch', 'DurationNotPassed'] + }, + /** + * Lookup255: pallet_multisig::Multisig<BlockNumber, Balance, sp_core::crypto::AccountId32> + **/ + PalletMultisigMultisig: { + when: 'PalletMultisigTimepoint', + deposit: 'u64', + depositor: 'AccountId32', + approvals: 'Vec<AccountId32>' + }, + /** + * Lookup257: pallet_multisig::pallet::Error<T> + **/ + PalletMultisigError: { + _enum: ['MinimumThreshold', 'AlreadyApproved', 'NoApprovalsNeeded', 'TooFewSignatories', 'TooManySignatories', 'SignatoriesOutOfOrder', 'SenderInSignatories', 'NotFound', 'NotOwner', 'NoTimepoint', 'WrongTimepoint', 'UnexpectedTimepoint', 'MaxWeightTooLow', 'AlreadyStored'] + }, + /** + * Lookup259: pallet_provide_randomness::types::Request + **/ + PalletProvideRandomnessRequest: { + requestId: 'u64', + salt: 'H256' + }, + /** + * Lookup260: pallet_provide_randomness::pallet::Error<T> + **/ + PalletProvideRandomnessError: { + _enum: ['FullQueue'] + }, + /** + * Lookup263: pallet_proxy::ProxyDefinition<sp_core::crypto::AccountId32, gdev_runtime::ProxyType, BlockNumber> + **/ + PalletProxyProxyDefinition: { + delegate: 'AccountId32', + proxyType: 'GdevRuntimeProxyType', + delay: 'u32' + }, + /** + * Lookup267: pallet_proxy::Announcement<sp_core::crypto::AccountId32, primitive_types::H256, BlockNumber> + **/ + PalletProxyAnnouncement: { + real: 'AccountId32', + callHash: 'H256', + height: 'u32' + }, + /** + * Lookup269: pallet_proxy::pallet::Error<T> + **/ + PalletProxyError: { + _enum: ['TooMany', 'NotFound', 'NotProxy', 'Unproxyable', 'Duplicate', 'NoPermission', 'Unannounced', 'NoSelfProxy'] + }, + /** + * Lookup270: pallet_utility::pallet::Error<T> + **/ + PalletUtilityError: { + _enum: ['TooManyCalls'] + }, + /** + * Lookup271: pallet_treasury::Proposal<sp_core::crypto::AccountId32, Balance> + **/ + PalletTreasuryProposal: { + proposer: 'AccountId32', + value: 'u64', + beneficiary: 'AccountId32', + bond: 'u64' + }, + /** + * Lookup274: frame_support::PalletId + **/ + FrameSupportPalletId: '[u8;8]', + /** + * Lookup275: pallet_treasury::pallet::Error<T, I> + **/ + PalletTreasuryError: { + _enum: ['InsufficientProposersBalance', 'InvalidIndex', 'TooManyApprovals'] + }, + /** + * Lookup278: frame_system::extensions::check_non_zero_sender::CheckNonZeroSender<T> + **/ + FrameSystemExtensionsCheckNonZeroSender: 'Null', + /** + * Lookup279: frame_system::extensions::check_spec_version::CheckSpecVersion<T> + **/ + FrameSystemExtensionsCheckSpecVersion: 'Null', + /** + * Lookup280: frame_system::extensions::check_tx_version::CheckTxVersion<T> + **/ + FrameSystemExtensionsCheckTxVersion: 'Null', + /** + * Lookup281: frame_system::extensions::check_genesis::CheckGenesis<T> + **/ + FrameSystemExtensionsCheckGenesis: 'Null', + /** + * Lookup284: frame_system::extensions::check_nonce::CheckNonce<T> + **/ + FrameSystemExtensionsCheckNonce: 'Compact<u32>', + /** + * Lookup285: frame_system::extensions::check_weight::CheckWeight<T> + **/ + FrameSystemExtensionsCheckWeight: 'Null', + /** + * Lookup286: pallet_transaction_payment::ChargeTransactionPayment<T> + **/ + PalletTransactionPaymentChargeTransactionPayment: 'Compact<u64>', + /** + * Lookup287: gdev_runtime::Runtime + **/ + GdevRuntimeRuntime: 'Null' +}; diff --git a/src/interfaces/registry.ts b/src/interfaces/registry.ts new file mode 100644 index 0000000..53da80b --- /dev/null +++ b/src/interfaces/registry.ts @@ -0,0 +1,178 @@ +// Auto-generated via `yarn polkadot-types-from-defs`, do not edit +/* eslint-disable */ + +import type { CommonRuntimeEntitiesSmithsMembershipMetaData, CommonRuntimeEntitiesValidatorFullIdentification, FinalityGrandpaEquivocationPrecommit, FinalityGrandpaEquivocationPrevote, FinalityGrandpaPrecommit, FinalityGrandpaPrevote, FrameSupportPalletId, FrameSupportScheduleLookupError, FrameSupportScheduleMaybeHashed, FrameSupportTokensMiscBalanceStatus, FrameSupportWeightsDispatchClass, FrameSupportWeightsDispatchInfo, FrameSupportWeightsPays, FrameSupportWeightsPerDispatchClassU32, FrameSupportWeightsPerDispatchClassU64, FrameSupportWeightsPerDispatchClassWeightsPerClass, FrameSupportWeightsRuntimeDbWeight, FrameSupportWeightsWeightToFeeCoefficient, FrameSystemAccountInfo, FrameSystemCall, FrameSystemError, FrameSystemEvent, FrameSystemEventRecord, FrameSystemExtensionsCheckGenesis, FrameSystemExtensionsCheckNonZeroSender, FrameSystemExtensionsCheckNonce, FrameSystemExtensionsCheckSpecVersion, FrameSystemExtensionsCheckTxVersion, FrameSystemExtensionsCheckWeight, FrameSystemLastRuntimeUpgradeInfo, FrameSystemLimitsBlockLength, FrameSystemLimitsBlockWeights, FrameSystemLimitsWeightsPerClass, FrameSystemPhase, FrameSystemRawOrigin, GdevRuntimeOpaqueSessionKeys, GdevRuntimeOriginCaller, GdevRuntimeProxyType, GdevRuntimeRuntime, PalletAtomicSwapBalanceSwapAction, PalletAtomicSwapCall, PalletAtomicSwapError, PalletAtomicSwapEvent, PalletAtomicSwapPendingSwap, PalletAuthorityMembersCall, PalletAuthorityMembersError, PalletAuthorityMembersEvent, PalletAuthorityMembersMemberData, PalletAuthorshipCall, PalletAuthorshipError, PalletAuthorshipUncleEntryItem, PalletBabeCall, PalletBabeError, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesCall, PalletBalancesError, PalletBalancesEvent, PalletBalancesReasons, PalletBalancesReleases, PalletBalancesReserveData, PalletCertificationCall, PalletCertificationCertValue, PalletCertificationError, PalletCertificationEvent, PalletCertificationIdtyCertMeta, PalletCollectiveCall, PalletCollectiveError, PalletCollectiveEvent, PalletCollectiveRawOrigin, PalletCollectiveVotes, PalletDuniterAccountAccountData, PalletDuniterAccountEvent, PalletDuniterTestParametersParameters, PalletGrandpaCall, PalletGrandpaError, PalletGrandpaEvent, PalletGrandpaStoredPendingChange, PalletGrandpaStoredState, PalletIdentityCall, PalletIdentityError, PalletIdentityEvent, PalletIdentityIdtyStatus, PalletIdentityIdtyValue, PalletIdentityRevocationPayload, PalletImOnlineBoundedOpaqueNetworkState, PalletImOnlineCall, PalletImOnlineError, PalletImOnlineEvent, PalletImOnlineHeartbeat, PalletImOnlineSr25519AppSr25519Public, PalletImOnlineSr25519AppSr25519Signature, PalletMembershipCall, PalletMembershipError, PalletMembershipEvent, PalletMultisigCall, PalletMultisigError, PalletMultisigEvent, PalletMultisigMultisig, PalletMultisigTimepoint, PalletOffencesEvent, PalletPreimageCall, PalletPreimageError, PalletPreimageEvent, PalletPreimageRequestStatus, PalletProvideRandomnessCall, PalletProvideRandomnessError, PalletProvideRandomnessEvent, PalletProvideRandomnessRandomnessType, PalletProvideRandomnessRequest, PalletProxyAnnouncement, PalletProxyCall, PalletProxyError, PalletProxyEvent, PalletProxyProxyDefinition, PalletSchedulerCall, PalletSchedulerError, PalletSchedulerEvent, PalletSchedulerScheduledV3, PalletSessionCall, PalletSessionError, PalletSessionEvent, PalletSudoCall, PalletSudoError, PalletSudoEvent, PalletTimestampCall, PalletTransactionPaymentChargeTransactionPayment, PalletTransactionPaymentReleases, PalletTreasuryCall, PalletTreasuryError, PalletTreasuryEvent, PalletTreasuryProposal, PalletUniversalDividendCall, PalletUniversalDividendEvent, PalletUpgradeOriginCall, PalletUpgradeOriginEvent, PalletUtilityCall, PalletUtilityError, PalletUtilityEvent, SpAuthorityDiscoveryAppPublic, SpConsensusBabeAllowedSlots, SpConsensusBabeAppPublic, SpConsensusBabeBabeEpochConfiguration, SpConsensusBabeDigestsNextConfigDescriptor, SpConsensusSlotsEquivocationProof, SpCoreCryptoKeyTypeId, SpCoreEcdsaSignature, SpCoreEd25519Public, SpCoreEd25519Signature, SpCoreOffchainOpaqueNetworkState, SpCoreSr25519Public, SpCoreSr25519Signature, SpCoreVoid, SpFinalityGrandpaAppPublic, SpFinalityGrandpaAppSignature, SpFinalityGrandpaEquivocation, SpFinalityGrandpaEquivocationProof, SpMembershipMembershipData, SpRuntimeArithmeticError, SpRuntimeBlakeTwo256, SpRuntimeDigest, SpRuntimeDigestDigestItem, SpRuntimeDispatchError, SpRuntimeHeader, SpRuntimeMultiSignature, SpRuntimeTokenError, SpSessionMembershipProof, SpStakingOffenceOffenceDetails, SpVersionRuntimeVersion } from '@polkadot/types/lookup'; + +declare module '@polkadot/types/types/registry' { + export interface InterfaceTypes { + CommonRuntimeEntitiesSmithsMembershipMetaData: CommonRuntimeEntitiesSmithsMembershipMetaData; + CommonRuntimeEntitiesValidatorFullIdentification: CommonRuntimeEntitiesValidatorFullIdentification; + FinalityGrandpaEquivocationPrecommit: FinalityGrandpaEquivocationPrecommit; + FinalityGrandpaEquivocationPrevote: FinalityGrandpaEquivocationPrevote; + FinalityGrandpaPrecommit: FinalityGrandpaPrecommit; + FinalityGrandpaPrevote: FinalityGrandpaPrevote; + FrameSupportPalletId: FrameSupportPalletId; + FrameSupportScheduleLookupError: FrameSupportScheduleLookupError; + FrameSupportScheduleMaybeHashed: FrameSupportScheduleMaybeHashed; + FrameSupportTokensMiscBalanceStatus: FrameSupportTokensMiscBalanceStatus; + FrameSupportWeightsDispatchClass: FrameSupportWeightsDispatchClass; + FrameSupportWeightsDispatchInfo: FrameSupportWeightsDispatchInfo; + FrameSupportWeightsPays: FrameSupportWeightsPays; + FrameSupportWeightsPerDispatchClassU32: FrameSupportWeightsPerDispatchClassU32; + FrameSupportWeightsPerDispatchClassU64: FrameSupportWeightsPerDispatchClassU64; + FrameSupportWeightsPerDispatchClassWeightsPerClass: FrameSupportWeightsPerDispatchClassWeightsPerClass; + FrameSupportWeightsRuntimeDbWeight: FrameSupportWeightsRuntimeDbWeight; + FrameSupportWeightsWeightToFeeCoefficient: FrameSupportWeightsWeightToFeeCoefficient; + FrameSystemAccountInfo: FrameSystemAccountInfo; + FrameSystemCall: FrameSystemCall; + FrameSystemError: FrameSystemError; + FrameSystemEvent: FrameSystemEvent; + FrameSystemEventRecord: FrameSystemEventRecord; + FrameSystemExtensionsCheckGenesis: FrameSystemExtensionsCheckGenesis; + FrameSystemExtensionsCheckNonZeroSender: FrameSystemExtensionsCheckNonZeroSender; + FrameSystemExtensionsCheckNonce: FrameSystemExtensionsCheckNonce; + FrameSystemExtensionsCheckSpecVersion: FrameSystemExtensionsCheckSpecVersion; + FrameSystemExtensionsCheckTxVersion: FrameSystemExtensionsCheckTxVersion; + FrameSystemExtensionsCheckWeight: FrameSystemExtensionsCheckWeight; + FrameSystemLastRuntimeUpgradeInfo: FrameSystemLastRuntimeUpgradeInfo; + FrameSystemLimitsBlockLength: FrameSystemLimitsBlockLength; + FrameSystemLimitsBlockWeights: FrameSystemLimitsBlockWeights; + FrameSystemLimitsWeightsPerClass: FrameSystemLimitsWeightsPerClass; + FrameSystemPhase: FrameSystemPhase; + FrameSystemRawOrigin: FrameSystemRawOrigin; + GdevRuntimeOpaqueSessionKeys: GdevRuntimeOpaqueSessionKeys; + GdevRuntimeOriginCaller: GdevRuntimeOriginCaller; + GdevRuntimeProxyType: GdevRuntimeProxyType; + GdevRuntimeRuntime: GdevRuntimeRuntime; + PalletAtomicSwapBalanceSwapAction: PalletAtomicSwapBalanceSwapAction; + PalletAtomicSwapCall: PalletAtomicSwapCall; + PalletAtomicSwapError: PalletAtomicSwapError; + PalletAtomicSwapEvent: PalletAtomicSwapEvent; + PalletAtomicSwapPendingSwap: PalletAtomicSwapPendingSwap; + PalletAuthorityMembersCall: PalletAuthorityMembersCall; + PalletAuthorityMembersError: PalletAuthorityMembersError; + PalletAuthorityMembersEvent: PalletAuthorityMembersEvent; + PalletAuthorityMembersMemberData: PalletAuthorityMembersMemberData; + PalletAuthorshipCall: PalletAuthorshipCall; + PalletAuthorshipError: PalletAuthorshipError; + PalletAuthorshipUncleEntryItem: PalletAuthorshipUncleEntryItem; + PalletBabeCall: PalletBabeCall; + PalletBabeError: PalletBabeError; + PalletBalancesAccountData: PalletBalancesAccountData; + PalletBalancesBalanceLock: PalletBalancesBalanceLock; + PalletBalancesCall: PalletBalancesCall; + PalletBalancesError: PalletBalancesError; + PalletBalancesEvent: PalletBalancesEvent; + PalletBalancesReasons: PalletBalancesReasons; + PalletBalancesReleases: PalletBalancesReleases; + PalletBalancesReserveData: PalletBalancesReserveData; + PalletCertificationCall: PalletCertificationCall; + PalletCertificationCertValue: PalletCertificationCertValue; + PalletCertificationError: PalletCertificationError; + PalletCertificationEvent: PalletCertificationEvent; + PalletCertificationIdtyCertMeta: PalletCertificationIdtyCertMeta; + PalletCollectiveCall: PalletCollectiveCall; + PalletCollectiveError: PalletCollectiveError; + PalletCollectiveEvent: PalletCollectiveEvent; + PalletCollectiveRawOrigin: PalletCollectiveRawOrigin; + PalletCollectiveVotes: PalletCollectiveVotes; + PalletDuniterAccountAccountData: PalletDuniterAccountAccountData; + PalletDuniterAccountEvent: PalletDuniterAccountEvent; + PalletDuniterTestParametersParameters: PalletDuniterTestParametersParameters; + PalletGrandpaCall: PalletGrandpaCall; + PalletGrandpaError: PalletGrandpaError; + PalletGrandpaEvent: PalletGrandpaEvent; + PalletGrandpaStoredPendingChange: PalletGrandpaStoredPendingChange; + PalletGrandpaStoredState: PalletGrandpaStoredState; + PalletIdentityCall: PalletIdentityCall; + PalletIdentityError: PalletIdentityError; + PalletIdentityEvent: PalletIdentityEvent; + PalletIdentityIdtyStatus: PalletIdentityIdtyStatus; + PalletIdentityIdtyValue: PalletIdentityIdtyValue; + PalletIdentityRevocationPayload: PalletIdentityRevocationPayload; + PalletImOnlineBoundedOpaqueNetworkState: PalletImOnlineBoundedOpaqueNetworkState; + PalletImOnlineCall: PalletImOnlineCall; + PalletImOnlineError: PalletImOnlineError; + PalletImOnlineEvent: PalletImOnlineEvent; + PalletImOnlineHeartbeat: PalletImOnlineHeartbeat; + PalletImOnlineSr25519AppSr25519Public: PalletImOnlineSr25519AppSr25519Public; + PalletImOnlineSr25519AppSr25519Signature: PalletImOnlineSr25519AppSr25519Signature; + PalletMembershipCall: PalletMembershipCall; + PalletMembershipError: PalletMembershipError; + PalletMembershipEvent: PalletMembershipEvent; + PalletMultisigCall: PalletMultisigCall; + PalletMultisigError: PalletMultisigError; + PalletMultisigEvent: PalletMultisigEvent; + PalletMultisigMultisig: PalletMultisigMultisig; + PalletMultisigTimepoint: PalletMultisigTimepoint; + PalletOffencesEvent: PalletOffencesEvent; + PalletPreimageCall: PalletPreimageCall; + PalletPreimageError: PalletPreimageError; + PalletPreimageEvent: PalletPreimageEvent; + PalletPreimageRequestStatus: PalletPreimageRequestStatus; + PalletProvideRandomnessCall: PalletProvideRandomnessCall; + PalletProvideRandomnessError: PalletProvideRandomnessError; + PalletProvideRandomnessEvent: PalletProvideRandomnessEvent; + PalletProvideRandomnessRandomnessType: PalletProvideRandomnessRandomnessType; + PalletProvideRandomnessRequest: PalletProvideRandomnessRequest; + PalletProxyAnnouncement: PalletProxyAnnouncement; + PalletProxyCall: PalletProxyCall; + PalletProxyError: PalletProxyError; + PalletProxyEvent: PalletProxyEvent; + PalletProxyProxyDefinition: PalletProxyProxyDefinition; + PalletSchedulerCall: PalletSchedulerCall; + PalletSchedulerError: PalletSchedulerError; + PalletSchedulerEvent: PalletSchedulerEvent; + PalletSchedulerScheduledV3: PalletSchedulerScheduledV3; + PalletSessionCall: PalletSessionCall; + PalletSessionError: PalletSessionError; + PalletSessionEvent: PalletSessionEvent; + PalletSudoCall: PalletSudoCall; + PalletSudoError: PalletSudoError; + PalletSudoEvent: PalletSudoEvent; + PalletTimestampCall: PalletTimestampCall; + PalletTransactionPaymentChargeTransactionPayment: PalletTransactionPaymentChargeTransactionPayment; + PalletTransactionPaymentReleases: PalletTransactionPaymentReleases; + PalletTreasuryCall: PalletTreasuryCall; + PalletTreasuryError: PalletTreasuryError; + PalletTreasuryEvent: PalletTreasuryEvent; + PalletTreasuryProposal: PalletTreasuryProposal; + PalletUniversalDividendCall: PalletUniversalDividendCall; + PalletUniversalDividendEvent: PalletUniversalDividendEvent; + PalletUpgradeOriginCall: PalletUpgradeOriginCall; + PalletUpgradeOriginEvent: PalletUpgradeOriginEvent; + PalletUtilityCall: PalletUtilityCall; + PalletUtilityError: PalletUtilityError; + PalletUtilityEvent: PalletUtilityEvent; + SpAuthorityDiscoveryAppPublic: SpAuthorityDiscoveryAppPublic; + SpConsensusBabeAllowedSlots: SpConsensusBabeAllowedSlots; + SpConsensusBabeAppPublic: SpConsensusBabeAppPublic; + SpConsensusBabeBabeEpochConfiguration: SpConsensusBabeBabeEpochConfiguration; + SpConsensusBabeDigestsNextConfigDescriptor: SpConsensusBabeDigestsNextConfigDescriptor; + SpConsensusSlotsEquivocationProof: SpConsensusSlotsEquivocationProof; + SpCoreCryptoKeyTypeId: SpCoreCryptoKeyTypeId; + SpCoreEcdsaSignature: SpCoreEcdsaSignature; + SpCoreEd25519Public: SpCoreEd25519Public; + SpCoreEd25519Signature: SpCoreEd25519Signature; + SpCoreOffchainOpaqueNetworkState: SpCoreOffchainOpaqueNetworkState; + SpCoreSr25519Public: SpCoreSr25519Public; + SpCoreSr25519Signature: SpCoreSr25519Signature; + SpCoreVoid: SpCoreVoid; + SpFinalityGrandpaAppPublic: SpFinalityGrandpaAppPublic; + SpFinalityGrandpaAppSignature: SpFinalityGrandpaAppSignature; + SpFinalityGrandpaEquivocation: SpFinalityGrandpaEquivocation; + SpFinalityGrandpaEquivocationProof: SpFinalityGrandpaEquivocationProof; + SpMembershipMembershipData: SpMembershipMembershipData; + SpRuntimeArithmeticError: SpRuntimeArithmeticError; + SpRuntimeBlakeTwo256: SpRuntimeBlakeTwo256; + SpRuntimeDigest: SpRuntimeDigest; + SpRuntimeDigestDigestItem: SpRuntimeDigestDigestItem; + SpRuntimeDispatchError: SpRuntimeDispatchError; + SpRuntimeHeader: SpRuntimeHeader; + SpRuntimeMultiSignature: SpRuntimeMultiSignature; + SpRuntimeTokenError: SpRuntimeTokenError; + SpSessionMembershipProof: SpSessionMembershipProof; + SpStakingOffenceOffenceDetails: SpStakingOffenceOffenceDetails; + SpVersionRuntimeVersion: SpVersionRuntimeVersion; + } // InterfaceTypes +} // declare module diff --git a/src/interfaces/types-lookup.ts b/src/interfaces/types-lookup.ts new file mode 100644 index 0000000..8fc2158 --- /dev/null +++ b/src/interfaces/types-lookup.ts @@ -0,0 +1,2061 @@ +// Auto-generated via `yarn polkadot-types-from-defs`, do not edit +/* eslint-disable */ + +declare module '@polkadot/types/lookup' { + import type { Bytes, Compact, Enum, Null, Option, Result, Struct, Text, U8aFixed, Vec, WrapperKeepOpaque, bool, u16, u32, u64, u8 } from '@polkadot/types-codec'; + import type { ITuple } from '@polkadot/types-codec/types'; + import type { AccountId32, Call, H256, MultiAddress, Perbill } from '@polkadot/types/interfaces/runtime'; + import type { Event } from '@polkadot/types/interfaces/system'; + + /** @name FrameSystemAccountInfo (3) */ + export interface FrameSystemAccountInfo extends Struct { + readonly nonce: u32; + readonly consumers: u32; + readonly providers: u32; + readonly sufficients: u32; + readonly data: PalletDuniterAccountAccountData; + } + + /** @name PalletDuniterAccountAccountData (5) */ + export interface PalletDuniterAccountAccountData extends Struct { + readonly randomId: Option<H256>; + readonly free: u64; + readonly reserved: u64; + readonly feeFrozen: u64; + } + + /** @name FrameSupportWeightsPerDispatchClassU64 (9) */ + export interface FrameSupportWeightsPerDispatchClassU64 extends Struct { + readonly normal: u64; + readonly operational: u64; + readonly mandatory: u64; + } + + /** @name SpRuntimeDigest (11) */ + export interface SpRuntimeDigest extends Struct { + readonly logs: Vec<SpRuntimeDigestDigestItem>; + } + + /** @name SpRuntimeDigestDigestItem (13) */ + export interface SpRuntimeDigestDigestItem extends Enum { + readonly isOther: boolean; + readonly asOther: Bytes; + readonly isConsensus: boolean; + readonly asConsensus: ITuple<[U8aFixed, Bytes]>; + readonly isSeal: boolean; + readonly asSeal: ITuple<[U8aFixed, Bytes]>; + readonly isPreRuntime: boolean; + readonly asPreRuntime: ITuple<[U8aFixed, Bytes]>; + readonly isRuntimeEnvironmentUpdated: boolean; + readonly type: 'Other' | 'Consensus' | 'Seal' | 'PreRuntime' | 'RuntimeEnvironmentUpdated'; + } + + /** @name FrameSystemEventRecord (16) */ + export interface FrameSystemEventRecord extends Struct { + readonly phase: FrameSystemPhase; + readonly event: Event; + readonly topics: Vec<H256>; + } + + /** @name FrameSystemEvent (18) */ + export interface FrameSystemEvent extends Enum { + readonly isExtrinsicSuccess: boolean; + readonly asExtrinsicSuccess: { + readonly dispatchInfo: FrameSupportWeightsDispatchInfo; + } & Struct; + readonly isExtrinsicFailed: boolean; + readonly asExtrinsicFailed: { + readonly dispatchError: SpRuntimeDispatchError; + readonly dispatchInfo: FrameSupportWeightsDispatchInfo; + } & Struct; + readonly isCodeUpdated: boolean; + readonly isNewAccount: boolean; + readonly asNewAccount: { + readonly account: AccountId32; + } & Struct; + readonly isKilledAccount: boolean; + readonly asKilledAccount: { + readonly account: AccountId32; + } & Struct; + readonly isRemarked: boolean; + readonly asRemarked: { + readonly sender: AccountId32; + readonly hash_: H256; + } & Struct; + readonly type: 'ExtrinsicSuccess' | 'ExtrinsicFailed' | 'CodeUpdated' | 'NewAccount' | 'KilledAccount' | 'Remarked'; + } + + /** @name FrameSupportWeightsDispatchInfo (19) */ + export interface FrameSupportWeightsDispatchInfo extends Struct { + readonly weight: u64; + readonly class: FrameSupportWeightsDispatchClass; + readonly paysFee: FrameSupportWeightsPays; + } + + /** @name FrameSupportWeightsDispatchClass (20) */ + export interface FrameSupportWeightsDispatchClass extends Enum { + readonly isNormal: boolean; + readonly isOperational: boolean; + readonly isMandatory: boolean; + readonly type: 'Normal' | 'Operational' | 'Mandatory'; + } + + /** @name FrameSupportWeightsPays (21) */ + export interface FrameSupportWeightsPays extends Enum { + readonly isYes: boolean; + readonly isNo: boolean; + readonly type: 'Yes' | 'No'; + } + + /** @name SpRuntimeDispatchError (22) */ + export interface SpRuntimeDispatchError extends Enum { + readonly isOther: boolean; + readonly isCannotLookup: boolean; + readonly isBadOrigin: boolean; + readonly isModule: boolean; + readonly asModule: { + readonly index: u8; + readonly error: u8; + } & Struct; + readonly isConsumerRemaining: boolean; + readonly isNoProviders: boolean; + readonly isTooManyConsumers: boolean; + readonly isToken: boolean; + readonly asToken: SpRuntimeTokenError; + readonly isArithmetic: boolean; + readonly asArithmetic: SpRuntimeArithmeticError; + readonly type: 'Other' | 'CannotLookup' | 'BadOrigin' | 'Module' | 'ConsumerRemaining' | 'NoProviders' | 'TooManyConsumers' | 'Token' | 'Arithmetic'; + } + + /** @name SpRuntimeTokenError (23) */ + export interface SpRuntimeTokenError extends Enum { + readonly isNoFunds: boolean; + readonly isWouldDie: boolean; + readonly isBelowMinimum: boolean; + readonly isCannotCreate: boolean; + readonly isUnknownAsset: boolean; + readonly isFrozen: boolean; + readonly isUnsupported: boolean; + readonly type: 'NoFunds' | 'WouldDie' | 'BelowMinimum' | 'CannotCreate' | 'UnknownAsset' | 'Frozen' | 'Unsupported'; + } + + /** @name SpRuntimeArithmeticError (24) */ + export interface SpRuntimeArithmeticError extends Enum { + readonly isUnderflow: boolean; + readonly isOverflow: boolean; + readonly isDivisionByZero: boolean; + readonly type: 'Underflow' | 'Overflow' | 'DivisionByZero'; + } + + /** @name PalletDuniterAccountEvent (25) */ + export interface PalletDuniterAccountEvent extends Enum { + readonly isForceDestroy: boolean; + readonly asForceDestroy: { + readonly who: AccountId32; + readonly balance: u64; + } & Struct; + readonly isRandomIdAssigned: boolean; + readonly asRandomIdAssigned: { + readonly who: AccountId32; + readonly randomId: H256; + } & Struct; + readonly type: 'ForceDestroy' | 'RandomIdAssigned'; + } + + /** @name PalletSchedulerEvent (26) */ + export interface PalletSchedulerEvent extends Enum { + readonly isScheduled: boolean; + readonly asScheduled: { + readonly when: u32; + readonly index: u32; + } & Struct; + readonly isCanceled: boolean; + readonly asCanceled: { + readonly when: u32; + readonly index: u32; + } & Struct; + readonly isDispatched: boolean; + readonly asDispatched: { + readonly task: ITuple<[u32, u32]>; + readonly id: Option<Bytes>; + readonly result: Result<Null, SpRuntimeDispatchError>; + } & Struct; + readonly isCallLookupFailed: boolean; + readonly asCallLookupFailed: { + readonly task: ITuple<[u32, u32]>; + readonly id: Option<Bytes>; + readonly error: FrameSupportScheduleLookupError; + } & Struct; + readonly type: 'Scheduled' | 'Canceled' | 'Dispatched' | 'CallLookupFailed'; + } + + /** @name FrameSupportScheduleLookupError (31) */ + export interface FrameSupportScheduleLookupError extends Enum { + readonly isUnknown: boolean; + readonly isBadFormat: boolean; + readonly type: 'Unknown' | 'BadFormat'; + } + + /** @name PalletBalancesEvent (32) */ + export interface PalletBalancesEvent extends Enum { + readonly isEndowed: boolean; + readonly asEndowed: { + readonly account: AccountId32; + readonly freeBalance: u64; + } & Struct; + readonly isDustLost: boolean; + readonly asDustLost: { + readonly account: AccountId32; + readonly amount: u64; + } & Struct; + readonly isTransfer: boolean; + readonly asTransfer: { + readonly from: AccountId32; + readonly to: AccountId32; + readonly amount: u64; + } & Struct; + readonly isBalanceSet: boolean; + readonly asBalanceSet: { + readonly who: AccountId32; + readonly free: u64; + readonly reserved: u64; + } & Struct; + readonly isReserved: boolean; + readonly asReserved: { + readonly who: AccountId32; + readonly amount: u64; + } & Struct; + readonly isUnreserved: boolean; + readonly asUnreserved: { + readonly who: AccountId32; + readonly amount: u64; + } & Struct; + readonly isReserveRepatriated: boolean; + readonly asReserveRepatriated: { + readonly from: AccountId32; + readonly to: AccountId32; + readonly amount: u64; + readonly destinationStatus: FrameSupportTokensMiscBalanceStatus; + } & Struct; + readonly isDeposit: boolean; + readonly asDeposit: { + readonly who: AccountId32; + readonly amount: u64; + } & Struct; + readonly isWithdraw: boolean; + readonly asWithdraw: { + readonly who: AccountId32; + readonly amount: u64; + } & Struct; + readonly isSlashed: boolean; + readonly asSlashed: { + readonly who: AccountId32; + readonly amount: u64; + } & Struct; + readonly type: 'Endowed' | 'DustLost' | 'Transfer' | 'BalanceSet' | 'Reserved' | 'Unreserved' | 'ReserveRepatriated' | 'Deposit' | 'Withdraw' | 'Slashed'; + } + + /** @name FrameSupportTokensMiscBalanceStatus (33) */ + export interface FrameSupportTokensMiscBalanceStatus extends Enum { + readonly isFree: boolean; + readonly isReserved: boolean; + readonly type: 'Free' | 'Reserved'; + } + + /** @name PalletAuthorityMembersEvent (34) */ + export interface PalletAuthorityMembersEvent extends Enum { + readonly isIncomingAuthorities: boolean; + readonly asIncomingAuthorities: Vec<u32>; + readonly isOutgoingAuthorities: boolean; + readonly asOutgoingAuthorities: Vec<u32>; + readonly isMemberGoOffline: boolean; + readonly asMemberGoOffline: u32; + readonly isMemberGoOnline: boolean; + readonly asMemberGoOnline: u32; + readonly isMemberRemoved: boolean; + readonly asMemberRemoved: u32; + readonly type: 'IncomingAuthorities' | 'OutgoingAuthorities' | 'MemberGoOffline' | 'MemberGoOnline' | 'MemberRemoved'; + } + + /** @name PalletOffencesEvent (36) */ + export interface PalletOffencesEvent extends Enum { + readonly isOffence: boolean; + readonly asOffence: { + readonly kind: U8aFixed; + readonly timeslot: Bytes; + } & Struct; + readonly type: 'Offence'; + } + + /** @name PalletSessionEvent (38) */ + export interface PalletSessionEvent extends Enum { + readonly isNewSession: boolean; + readonly asNewSession: { + readonly sessionIndex: u32; + } & Struct; + readonly type: 'NewSession'; + } + + /** @name PalletGrandpaEvent (39) */ + export interface PalletGrandpaEvent extends Enum { + readonly isNewAuthorities: boolean; + readonly asNewAuthorities: { + readonly authoritySet: Vec<ITuple<[SpFinalityGrandpaAppPublic, u64]>>; + } & Struct; + readonly isPaused: boolean; + readonly isResumed: boolean; + readonly type: 'NewAuthorities' | 'Paused' | 'Resumed'; + } + + /** @name SpFinalityGrandpaAppPublic (42) */ + export interface SpFinalityGrandpaAppPublic extends SpCoreEd25519Public {} + + /** @name SpCoreEd25519Public (43) */ + export interface SpCoreEd25519Public extends U8aFixed {} + + /** @name PalletImOnlineEvent (44) */ + export interface PalletImOnlineEvent extends Enum { + readonly isHeartbeatReceived: boolean; + readonly asHeartbeatReceived: { + readonly authorityId: PalletImOnlineSr25519AppSr25519Public; + } & Struct; + readonly isAllGood: boolean; + readonly isSomeOffline: boolean; + readonly asSomeOffline: { + readonly offline: Vec<ITuple<[AccountId32, CommonRuntimeEntitiesValidatorFullIdentification]>>; + } & Struct; + readonly type: 'HeartbeatReceived' | 'AllGood' | 'SomeOffline'; + } + + /** @name PalletImOnlineSr25519AppSr25519Public (45) */ + export interface PalletImOnlineSr25519AppSr25519Public extends SpCoreSr25519Public {} + + /** @name SpCoreSr25519Public (46) */ + export interface SpCoreSr25519Public extends U8aFixed {} + + /** @name CommonRuntimeEntitiesValidatorFullIdentification (49) */ + export type CommonRuntimeEntitiesValidatorFullIdentification = Null; + + /** @name PalletSudoEvent (50) */ + export interface PalletSudoEvent extends Enum { + readonly isSudid: boolean; + readonly asSudid: { + readonly sudoResult: Result<Null, SpRuntimeDispatchError>; + } & Struct; + readonly isKeyChanged: boolean; + readonly asKeyChanged: { + readonly oldSudoer: Option<AccountId32>; + } & Struct; + readonly isSudoAsDone: boolean; + readonly asSudoAsDone: { + readonly sudoResult: Result<Null, SpRuntimeDispatchError>; + } & Struct; + readonly type: 'Sudid' | 'KeyChanged' | 'SudoAsDone'; + } + + /** @name PalletUpgradeOriginEvent (52) */ + export interface PalletUpgradeOriginEvent extends Enum { + readonly isDispatchedAsRoot: boolean; + readonly asDispatchedAsRoot: { + readonly result: Result<Null, SpRuntimeDispatchError>; + } & Struct; + readonly type: 'DispatchedAsRoot'; + } + + /** @name PalletPreimageEvent (53) */ + export interface PalletPreimageEvent extends Enum { + readonly isNoted: boolean; + readonly asNoted: { + readonly hash_: H256; + } & Struct; + readonly isRequested: boolean; + readonly asRequested: { + readonly hash_: H256; + } & Struct; + readonly isCleared: boolean; + readonly asCleared: { + readonly hash_: H256; + } & Struct; + readonly type: 'Noted' | 'Requested' | 'Cleared'; + } + + /** @name PalletUniversalDividendEvent (54) */ + export interface PalletUniversalDividendEvent extends Enum { + readonly isNewUdCreated: boolean; + readonly asNewUdCreated: { + readonly amount: u64; + readonly monetaryMass: u64; + readonly membersCount: u64; + } & Struct; + readonly isUdReevalued: boolean; + readonly asUdReevalued: { + readonly newUdAmount: u64; + readonly monetaryMass: u64; + readonly membersCount: u64; + } & Struct; + readonly type: 'NewUdCreated' | 'UdReevalued'; + } + + /** @name PalletIdentityEvent (55) */ + export interface PalletIdentityEvent extends Enum { + readonly isIdtyCreated: boolean; + readonly asIdtyCreated: { + readonly idtyIndex: u32; + readonly ownerKey: AccountId32; + } & Struct; + readonly isIdtyConfirmed: boolean; + readonly asIdtyConfirmed: { + readonly idtyIndex: u32; + readonly ownerKey: AccountId32; + readonly name: Text; + } & Struct; + readonly isIdtyValidated: boolean; + readonly asIdtyValidated: { + readonly idtyIndex: u32; + } & Struct; + readonly isIdtyRemoved: boolean; + readonly asIdtyRemoved: { + readonly idtyIndex: u32; + } & Struct; + readonly type: 'IdtyCreated' | 'IdtyConfirmed' | 'IdtyValidated' | 'IdtyRemoved'; + } + + /** @name PalletMembershipEvent (57) */ + export interface PalletMembershipEvent extends Enum { + readonly isMembershipAcquired: boolean; + readonly asMembershipAcquired: u32; + readonly isMembershipExpired: boolean; + readonly asMembershipExpired: u32; + readonly isMembershipRenewed: boolean; + readonly asMembershipRenewed: u32; + readonly isMembershipRequested: boolean; + readonly asMembershipRequested: u32; + readonly isMembershipRevoked: boolean; + readonly asMembershipRevoked: u32; + readonly isPendingMembershipExpired: boolean; + readonly asPendingMembershipExpired: u32; + readonly type: 'MembershipAcquired' | 'MembershipExpired' | 'MembershipRenewed' | 'MembershipRequested' | 'MembershipRevoked' | 'PendingMembershipExpired'; + } + + /** @name PalletCertificationEvent (58) */ + export interface PalletCertificationEvent extends Enum { + readonly isNewCert: boolean; + readonly asNewCert: { + readonly issuer: u32; + readonly issuerIssuedCount: u32; + readonly receiver: u32; + readonly receiverReceivedCount: u32; + } & Struct; + readonly isRemovedCert: boolean; + readonly asRemovedCert: { + readonly issuer: u32; + readonly issuerIssuedCount: u32; + readonly receiver: u32; + readonly receiverReceivedCount: u32; + readonly expiration: bool; + } & Struct; + readonly isRenewedCert: boolean; + readonly asRenewedCert: { + readonly issuer: u32; + readonly receiver: u32; + } & Struct; + readonly type: 'NewCert' | 'RemovedCert' | 'RenewedCert'; + } + + /** @name PalletCollectiveEvent (62) */ + export interface PalletCollectiveEvent extends Enum { + readonly isProposed: boolean; + readonly asProposed: { + readonly account: AccountId32; + readonly proposalIndex: u32; + readonly proposalHash: H256; + readonly threshold: u32; + } & Struct; + readonly isVoted: boolean; + readonly asVoted: { + readonly account: AccountId32; + readonly proposalHash: H256; + readonly voted: bool; + readonly yes: u32; + readonly no: u32; + } & Struct; + readonly isApproved: boolean; + readonly asApproved: { + readonly proposalHash: H256; + } & Struct; + readonly isDisapproved: boolean; + readonly asDisapproved: { + readonly proposalHash: H256; + } & Struct; + readonly isExecuted: boolean; + readonly asExecuted: { + readonly proposalHash: H256; + readonly result: Result<Null, SpRuntimeDispatchError>; + } & Struct; + readonly isMemberExecuted: boolean; + readonly asMemberExecuted: { + readonly proposalHash: H256; + readonly result: Result<Null, SpRuntimeDispatchError>; + } & Struct; + readonly isClosed: boolean; + readonly asClosed: { + readonly proposalHash: H256; + readonly yes: u32; + readonly no: u32; + } & Struct; + readonly type: 'Proposed' | 'Voted' | 'Approved' | 'Disapproved' | 'Executed' | 'MemberExecuted' | 'Closed'; + } + + /** @name PalletAtomicSwapEvent (63) */ + export interface PalletAtomicSwapEvent extends Enum { + readonly isNewSwap: boolean; + readonly asNewSwap: { + readonly account: AccountId32; + readonly proof: U8aFixed; + readonly swap: PalletAtomicSwapPendingSwap; + } & Struct; + readonly isSwapClaimed: boolean; + readonly asSwapClaimed: { + readonly account: AccountId32; + readonly proof: U8aFixed; + readonly success: bool; + } & Struct; + readonly isSwapCancelled: boolean; + readonly asSwapCancelled: { + readonly account: AccountId32; + readonly proof: U8aFixed; + } & Struct; + readonly type: 'NewSwap' | 'SwapClaimed' | 'SwapCancelled'; + } + + /** @name PalletAtomicSwapPendingSwap (64) */ + export interface PalletAtomicSwapPendingSwap extends Struct { + readonly source: AccountId32; + readonly action: PalletAtomicSwapBalanceSwapAction; + readonly endBlock: u32; + } + + /** @name PalletAtomicSwapBalanceSwapAction (65) */ + export interface PalletAtomicSwapBalanceSwapAction extends Struct { + readonly value: u64; + } + + /** @name PalletMultisigEvent (66) */ + export interface PalletMultisigEvent extends Enum { + readonly isNewMultisig: boolean; + readonly asNewMultisig: { + readonly approving: AccountId32; + readonly multisig: AccountId32; + readonly callHash: U8aFixed; + } & Struct; + readonly isMultisigApproval: boolean; + readonly asMultisigApproval: { + readonly approving: AccountId32; + readonly timepoint: PalletMultisigTimepoint; + readonly multisig: AccountId32; + readonly callHash: U8aFixed; + } & Struct; + readonly isMultisigExecuted: boolean; + readonly asMultisigExecuted: { + readonly approving: AccountId32; + readonly timepoint: PalletMultisigTimepoint; + readonly multisig: AccountId32; + readonly callHash: U8aFixed; + readonly result: Result<Null, SpRuntimeDispatchError>; + } & Struct; + readonly isMultisigCancelled: boolean; + readonly asMultisigCancelled: { + readonly cancelling: AccountId32; + readonly timepoint: PalletMultisigTimepoint; + readonly multisig: AccountId32; + readonly callHash: U8aFixed; + } & Struct; + readonly type: 'NewMultisig' | 'MultisigApproval' | 'MultisigExecuted' | 'MultisigCancelled'; + } + + /** @name PalletMultisigTimepoint (67) */ + export interface PalletMultisigTimepoint extends Struct { + readonly height: u32; + readonly index: u32; + } + + /** @name PalletProvideRandomnessEvent (68) */ + export interface PalletProvideRandomnessEvent extends Enum { + readonly isFilledRandomness: boolean; + readonly asFilledRandomness: { + readonly requestId: u64; + readonly randomness: H256; + } & Struct; + readonly isRequestedRandomness: boolean; + readonly asRequestedRandomness: { + readonly requestId: u64; + readonly salt: H256; + readonly r_type: PalletProvideRandomnessRandomnessType; + } & Struct; + readonly type: 'FilledRandomness' | 'RequestedRandomness'; + } + + /** @name PalletProvideRandomnessRandomnessType (69) */ + export interface PalletProvideRandomnessRandomnessType extends Enum { + readonly isRandomnessFromPreviousBlock: boolean; + readonly isRandomnessFromOneEpochAgo: boolean; + readonly isRandomnessFromTwoEpochsAgo: boolean; + readonly type: 'RandomnessFromPreviousBlock' | 'RandomnessFromOneEpochAgo' | 'RandomnessFromTwoEpochsAgo'; + } + + /** @name PalletProxyEvent (70) */ + export interface PalletProxyEvent extends Enum { + readonly isProxyExecuted: boolean; + readonly asProxyExecuted: { + readonly result: Result<Null, SpRuntimeDispatchError>; + } & Struct; + readonly isAnonymousCreated: boolean; + readonly asAnonymousCreated: { + readonly anonymous: AccountId32; + readonly who: AccountId32; + readonly proxyType: GdevRuntimeProxyType; + readonly disambiguationIndex: u16; + } & Struct; + readonly isAnnounced: boolean; + readonly asAnnounced: { + readonly real: AccountId32; + readonly proxy: AccountId32; + readonly callHash: H256; + } & Struct; + readonly isProxyAdded: boolean; + readonly asProxyAdded: { + readonly delegator: AccountId32; + readonly delegatee: AccountId32; + readonly proxyType: GdevRuntimeProxyType; + readonly delay: u32; + } & Struct; + readonly type: 'ProxyExecuted' | 'AnonymousCreated' | 'Announced' | 'ProxyAdded'; + } + + /** @name GdevRuntimeProxyType (71) */ + export interface GdevRuntimeProxyType extends Enum { + readonly isAny: boolean; + readonly isTransferOnly: boolean; + readonly isCancelProxy: boolean; + readonly isSmithsCollectivePropose: boolean; + readonly type: 'Any' | 'TransferOnly' | 'CancelProxy' | 'SmithsCollectivePropose'; + } + + /** @name PalletUtilityEvent (73) */ + export interface PalletUtilityEvent extends Enum { + readonly isBatchInterrupted: boolean; + readonly asBatchInterrupted: { + readonly index: u32; + readonly error: SpRuntimeDispatchError; + } & Struct; + readonly isBatchCompleted: boolean; + readonly isItemCompleted: boolean; + readonly isDispatchedAs: boolean; + readonly asDispatchedAs: { + readonly result: Result<Null, SpRuntimeDispatchError>; + } & Struct; + readonly type: 'BatchInterrupted' | 'BatchCompleted' | 'ItemCompleted' | 'DispatchedAs'; + } + + /** @name PalletTreasuryEvent (74) */ + export interface PalletTreasuryEvent extends Enum { + readonly isProposed: boolean; + readonly asProposed: { + readonly proposalIndex: u32; + } & Struct; + readonly isSpending: boolean; + readonly asSpending: { + readonly budgetRemaining: u64; + } & Struct; + readonly isAwarded: boolean; + readonly asAwarded: { + readonly proposalIndex: u32; + readonly award: u64; + readonly account: AccountId32; + } & Struct; + readonly isRejected: boolean; + readonly asRejected: { + readonly proposalIndex: u32; + readonly slashed: u64; + } & Struct; + readonly isBurnt: boolean; + readonly asBurnt: { + readonly burntFunds: u64; + } & Struct; + readonly isRollover: boolean; + readonly asRollover: { + readonly rolloverBalance: u64; + } & Struct; + readonly isDeposit: boolean; + readonly asDeposit: { + readonly value: u64; + } & Struct; + readonly type: 'Proposed' | 'Spending' | 'Awarded' | 'Rejected' | 'Burnt' | 'Rollover' | 'Deposit'; + } + + /** @name FrameSystemPhase (75) */ + export interface FrameSystemPhase extends Enum { + readonly isApplyExtrinsic: boolean; + readonly asApplyExtrinsic: u32; + readonly isFinalization: boolean; + readonly isInitialization: boolean; + readonly type: 'ApplyExtrinsic' | 'Finalization' | 'Initialization'; + } + + /** @name FrameSystemLastRuntimeUpgradeInfo (78) */ + export interface FrameSystemLastRuntimeUpgradeInfo extends Struct { + readonly specVersion: Compact<u32>; + readonly specName: Text; + } + + /** @name FrameSystemCall (80) */ + export interface FrameSystemCall extends Enum { + readonly isFillBlock: boolean; + readonly asFillBlock: { + readonly ratio: Perbill; + } & Struct; + readonly isRemark: boolean; + readonly asRemark: { + readonly remark: Bytes; + } & Struct; + readonly isSetHeapPages: boolean; + readonly asSetHeapPages: { + readonly pages: u64; + } & Struct; + readonly isSetCode: boolean; + readonly asSetCode: { + readonly code: Bytes; + } & Struct; + readonly isSetCodeWithoutChecks: boolean; + readonly asSetCodeWithoutChecks: { + readonly code: Bytes; + } & Struct; + readonly isSetStorage: boolean; + readonly asSetStorage: { + readonly items: Vec<ITuple<[Bytes, Bytes]>>; + } & Struct; + readonly isKillStorage: boolean; + readonly asKillStorage: { + readonly keys_: Vec<Bytes>; + } & Struct; + readonly isKillPrefix: boolean; + readonly asKillPrefix: { + readonly prefix: Bytes; + readonly subkeys: u32; + } & Struct; + readonly isRemarkWithEvent: boolean; + readonly asRemarkWithEvent: { + readonly remark: Bytes; + } & Struct; + readonly type: 'FillBlock' | 'Remark' | 'SetHeapPages' | 'SetCode' | 'SetCodeWithoutChecks' | 'SetStorage' | 'KillStorage' | 'KillPrefix' | 'RemarkWithEvent'; + } + + /** @name FrameSystemLimitsBlockWeights (85) */ + export interface FrameSystemLimitsBlockWeights extends Struct { + readonly baseBlock: u64; + readonly maxBlock: u64; + readonly perClass: FrameSupportWeightsPerDispatchClassWeightsPerClass; + } + + /** @name FrameSupportWeightsPerDispatchClassWeightsPerClass (86) */ + export interface FrameSupportWeightsPerDispatchClassWeightsPerClass extends Struct { + readonly normal: FrameSystemLimitsWeightsPerClass; + readonly operational: FrameSystemLimitsWeightsPerClass; + readonly mandatory: FrameSystemLimitsWeightsPerClass; + } + + /** @name FrameSystemLimitsWeightsPerClass (87) */ + export interface FrameSystemLimitsWeightsPerClass extends Struct { + readonly baseExtrinsic: u64; + readonly maxExtrinsic: Option<u64>; + readonly maxTotal: Option<u64>; + readonly reserved: Option<u64>; + } + + /** @name FrameSystemLimitsBlockLength (89) */ + export interface FrameSystemLimitsBlockLength extends Struct { + readonly max: FrameSupportWeightsPerDispatchClassU32; + } + + /** @name FrameSupportWeightsPerDispatchClassU32 (90) */ + export interface FrameSupportWeightsPerDispatchClassU32 extends Struct { + readonly normal: u32; + readonly operational: u32; + readonly mandatory: u32; + } + + /** @name FrameSupportWeightsRuntimeDbWeight (91) */ + export interface FrameSupportWeightsRuntimeDbWeight extends Struct { + readonly read: u64; + readonly write: u64; + } + + /** @name SpVersionRuntimeVersion (92) */ + export interface SpVersionRuntimeVersion extends Struct { + readonly specName: Text; + readonly implName: Text; + readonly authoringVersion: u32; + readonly specVersion: u32; + readonly implVersion: u32; + readonly apis: Vec<ITuple<[U8aFixed, u32]>>; + readonly transactionVersion: u32; + } + + /** @name FrameSystemError (97) */ + export interface FrameSystemError extends Enum { + readonly isInvalidSpecName: boolean; + readonly isSpecVersionNeedsToIncrease: boolean; + readonly isFailedToExtractRuntimeVersion: boolean; + readonly isNonDefaultComposite: boolean; + readonly isNonZeroRefCount: boolean; + readonly isCallFiltered: boolean; + readonly type: 'InvalidSpecName' | 'SpecVersionNeedsToIncrease' | 'FailedToExtractRuntimeVersion' | 'NonDefaultComposite' | 'NonZeroRefCount' | 'CallFiltered'; + } + + /** @name PalletSchedulerScheduledV3 (100) */ + export interface PalletSchedulerScheduledV3 extends Struct { + readonly maybeId: Option<Bytes>; + readonly priority: u8; + readonly call: FrameSupportScheduleMaybeHashed; + readonly maybePeriodic: Option<ITuple<[u32, u32]>>; + readonly origin: GdevRuntimeOriginCaller; + } + + /** @name FrameSupportScheduleMaybeHashed (101) */ + export interface FrameSupportScheduleMaybeHashed extends Enum { + readonly isValue: boolean; + readonly asValue: Call; + readonly isHash: boolean; + readonly asHash: H256; + readonly type: 'Value' | 'Hash'; + } + + /** @name PalletSchedulerCall (103) */ + export interface PalletSchedulerCall extends Enum { + readonly isSchedule: boolean; + readonly asSchedule: { + readonly when: u32; + readonly maybePeriodic: Option<ITuple<[u32, u32]>>; + readonly priority: u8; + readonly call: FrameSupportScheduleMaybeHashed; + } & Struct; + readonly isCancel: boolean; + readonly asCancel: { + readonly when: u32; + readonly index: u32; + } & Struct; + readonly isScheduleNamed: boolean; + readonly asScheduleNamed: { + readonly id: Bytes; + readonly when: u32; + readonly maybePeriodic: Option<ITuple<[u32, u32]>>; + readonly priority: u8; + readonly call: FrameSupportScheduleMaybeHashed; + } & Struct; + readonly isCancelNamed: boolean; + readonly asCancelNamed: { + readonly id: Bytes; + } & Struct; + readonly isScheduleAfter: boolean; + readonly asScheduleAfter: { + readonly after: u32; + readonly maybePeriodic: Option<ITuple<[u32, u32]>>; + readonly priority: u8; + readonly call: FrameSupportScheduleMaybeHashed; + } & Struct; + readonly isScheduleNamedAfter: boolean; + readonly asScheduleNamedAfter: { + readonly id: Bytes; + readonly after: u32; + readonly maybePeriodic: Option<ITuple<[u32, u32]>>; + readonly priority: u8; + readonly call: FrameSupportScheduleMaybeHashed; + } & Struct; + readonly type: 'Schedule' | 'Cancel' | 'ScheduleNamed' | 'CancelNamed' | 'ScheduleAfter' | 'ScheduleNamedAfter'; + } + + /** @name PalletBabeCall (105) */ + export interface PalletBabeCall extends Enum { + readonly isReportEquivocation: boolean; + readonly asReportEquivocation: { + readonly equivocationProof: SpConsensusSlotsEquivocationProof; + readonly keyOwnerProof: SpSessionMembershipProof; + } & Struct; + readonly isReportEquivocationUnsigned: boolean; + readonly asReportEquivocationUnsigned: { + readonly equivocationProof: SpConsensusSlotsEquivocationProof; + readonly keyOwnerProof: SpSessionMembershipProof; + } & Struct; + readonly isPlanConfigChange: boolean; + readonly asPlanConfigChange: { + readonly config: SpConsensusBabeDigestsNextConfigDescriptor; + } & Struct; + readonly type: 'ReportEquivocation' | 'ReportEquivocationUnsigned' | 'PlanConfigChange'; + } + + /** @name SpConsensusSlotsEquivocationProof (106) */ + export interface SpConsensusSlotsEquivocationProof extends Struct { + readonly offender: SpConsensusBabeAppPublic; + readonly slot: u64; + readonly firstHeader: SpRuntimeHeader; + readonly secondHeader: SpRuntimeHeader; + } + + /** @name SpRuntimeHeader (107) */ + export interface SpRuntimeHeader extends Struct { + readonly parentHash: H256; + readonly number: Compact<u32>; + readonly stateRoot: H256; + readonly extrinsicsRoot: H256; + readonly digest: SpRuntimeDigest; + } + + /** @name SpRuntimeBlakeTwo256 (108) */ + export type SpRuntimeBlakeTwo256 = Null; + + /** @name SpConsensusBabeAppPublic (109) */ + export interface SpConsensusBabeAppPublic extends SpCoreSr25519Public {} + + /** @name SpSessionMembershipProof (111) */ + export interface SpSessionMembershipProof extends Struct { + readonly session: u32; + readonly trieNodes: Vec<Bytes>; + readonly validatorCount: u32; + } + + /** @name SpConsensusBabeDigestsNextConfigDescriptor (112) */ + export interface SpConsensusBabeDigestsNextConfigDescriptor extends Enum { + readonly isV1: boolean; + readonly asV1: { + readonly c: ITuple<[u64, u64]>; + readonly allowedSlots: SpConsensusBabeAllowedSlots; + } & Struct; + readonly type: 'V1'; + } + + /** @name SpConsensusBabeAllowedSlots (114) */ + export interface SpConsensusBabeAllowedSlots extends Enum { + readonly isPrimarySlots: boolean; + readonly isPrimaryAndSecondaryPlainSlots: boolean; + readonly isPrimaryAndSecondaryVRFSlots: boolean; + readonly type: 'PrimarySlots' | 'PrimaryAndSecondaryPlainSlots' | 'PrimaryAndSecondaryVRFSlots'; + } + + /** @name PalletTimestampCall (115) */ + export interface PalletTimestampCall extends Enum { + readonly isSet: boolean; + readonly asSet: { + readonly now: Compact<u64>; + } & Struct; + readonly type: 'Set'; + } + + /** @name PalletBalancesCall (117) */ + export interface PalletBalancesCall extends Enum { + readonly isTransfer: boolean; + readonly asTransfer: { + readonly dest: MultiAddress; + readonly value: Compact<u64>; + } & Struct; + readonly isSetBalance: boolean; + readonly asSetBalance: { + readonly who: MultiAddress; + readonly newFree: Compact<u64>; + readonly newReserved: Compact<u64>; + } & Struct; + readonly isForceTransfer: boolean; + readonly asForceTransfer: { + readonly source: MultiAddress; + readonly dest: MultiAddress; + readonly value: Compact<u64>; + } & Struct; + readonly isTransferKeepAlive: boolean; + readonly asTransferKeepAlive: { + readonly dest: MultiAddress; + readonly value: Compact<u64>; + } & Struct; + readonly isTransferAll: boolean; + readonly asTransferAll: { + readonly dest: MultiAddress; + readonly keepAlive: bool; + } & Struct; + readonly isForceUnreserve: boolean; + readonly asForceUnreserve: { + readonly who: MultiAddress; + readonly amount: u64; + } & Struct; + readonly type: 'Transfer' | 'SetBalance' | 'ForceTransfer' | 'TransferKeepAlive' | 'TransferAll' | 'ForceUnreserve'; + } + + /** @name PalletAuthorityMembersCall (121) */ + export interface PalletAuthorityMembersCall extends Enum { + readonly isGoOffline: boolean; + readonly isGoOnline: boolean; + readonly isSetSessionKeys: boolean; + readonly asSetSessionKeys: { + readonly keys_: U8aFixed; + } & Struct; + readonly isPruneAccountIdOf: boolean; + readonly asPruneAccountIdOf: { + readonly membersIds: Vec<u32>; + } & Struct; + readonly isRemoveMember: boolean; + readonly asRemoveMember: { + readonly memberId: u32; + } & Struct; + readonly type: 'GoOffline' | 'GoOnline' | 'SetSessionKeys' | 'PruneAccountIdOf' | 'RemoveMember'; + } + + /** @name PalletAuthorshipCall (123) */ + export interface PalletAuthorshipCall extends Enum { + readonly isSetUncles: boolean; + readonly asSetUncles: { + readonly newUncles: Vec<SpRuntimeHeader>; + } & Struct; + readonly type: 'SetUncles'; + } + + /** @name PalletSessionCall (125) */ + export interface PalletSessionCall extends Enum { + readonly isSetKeys: boolean; + readonly asSetKeys: { + readonly keys_: GdevRuntimeOpaqueSessionKeys; + readonly proof: Bytes; + } & Struct; + readonly isPurgeKeys: boolean; + readonly type: 'SetKeys' | 'PurgeKeys'; + } + + /** @name GdevRuntimeOpaqueSessionKeys (126) */ + export interface GdevRuntimeOpaqueSessionKeys extends Struct { + readonly grandpa: SpFinalityGrandpaAppPublic; + readonly babe: SpConsensusBabeAppPublic; + readonly imOnline: PalletImOnlineSr25519AppSr25519Public; + readonly authorityDiscovery: SpAuthorityDiscoveryAppPublic; + } + + /** @name SpAuthorityDiscoveryAppPublic (127) */ + export interface SpAuthorityDiscoveryAppPublic extends SpCoreSr25519Public {} + + /** @name PalletGrandpaCall (128) */ + export interface PalletGrandpaCall extends Enum { + readonly isReportEquivocation: boolean; + readonly asReportEquivocation: { + readonly equivocationProof: SpFinalityGrandpaEquivocationProof; + readonly keyOwnerProof: SpCoreVoid; + } & Struct; + readonly isReportEquivocationUnsigned: boolean; + readonly asReportEquivocationUnsigned: { + readonly equivocationProof: SpFinalityGrandpaEquivocationProof; + readonly keyOwnerProof: SpCoreVoid; + } & Struct; + readonly isNoteStalled: boolean; + readonly asNoteStalled: { + readonly delay: u32; + readonly bestFinalizedBlockNumber: u32; + } & Struct; + readonly type: 'ReportEquivocation' | 'ReportEquivocationUnsigned' | 'NoteStalled'; + } + + /** @name SpFinalityGrandpaEquivocationProof (129) */ + export interface SpFinalityGrandpaEquivocationProof extends Struct { + readonly setId: u64; + readonly equivocation: SpFinalityGrandpaEquivocation; + } + + /** @name SpFinalityGrandpaEquivocation (130) */ + export interface SpFinalityGrandpaEquivocation extends Enum { + readonly isPrevote: boolean; + readonly asPrevote: FinalityGrandpaEquivocationPrevote; + readonly isPrecommit: boolean; + readonly asPrecommit: FinalityGrandpaEquivocationPrecommit; + readonly type: 'Prevote' | 'Precommit'; + } + + /** @name FinalityGrandpaEquivocationPrevote (131) */ + export interface FinalityGrandpaEquivocationPrevote extends Struct { + readonly roundNumber: u64; + readonly identity: SpFinalityGrandpaAppPublic; + readonly first: ITuple<[FinalityGrandpaPrevote, SpFinalityGrandpaAppSignature]>; + readonly second: ITuple<[FinalityGrandpaPrevote, SpFinalityGrandpaAppSignature]>; + } + + /** @name FinalityGrandpaPrevote (132) */ + export interface FinalityGrandpaPrevote extends Struct { + readonly targetHash: H256; + readonly targetNumber: u32; + } + + /** @name SpFinalityGrandpaAppSignature (133) */ + export interface SpFinalityGrandpaAppSignature extends SpCoreEd25519Signature {} + + /** @name SpCoreEd25519Signature (134) */ + export interface SpCoreEd25519Signature extends U8aFixed {} + + /** @name FinalityGrandpaEquivocationPrecommit (137) */ + export interface FinalityGrandpaEquivocationPrecommit extends Struct { + readonly roundNumber: u64; + readonly identity: SpFinalityGrandpaAppPublic; + readonly first: ITuple<[FinalityGrandpaPrecommit, SpFinalityGrandpaAppSignature]>; + readonly second: ITuple<[FinalityGrandpaPrecommit, SpFinalityGrandpaAppSignature]>; + } + + /** @name FinalityGrandpaPrecommit (138) */ + export interface FinalityGrandpaPrecommit extends Struct { + readonly targetHash: H256; + readonly targetNumber: u32; + } + + /** @name SpCoreVoid (140) */ + export type SpCoreVoid = Null; + + /** @name PalletImOnlineCall (141) */ + export interface PalletImOnlineCall extends Enum { + readonly isHeartbeat: boolean; + readonly asHeartbeat: { + readonly heartbeat: PalletImOnlineHeartbeat; + readonly signature: PalletImOnlineSr25519AppSr25519Signature; + } & Struct; + readonly type: 'Heartbeat'; + } + + /** @name PalletImOnlineHeartbeat (142) */ + export interface PalletImOnlineHeartbeat extends Struct { + readonly blockNumber: u32; + readonly networkState: SpCoreOffchainOpaqueNetworkState; + readonly sessionIndex: u32; + readonly authorityIndex: u32; + readonly validatorsLen: u32; + } + + /** @name SpCoreOffchainOpaqueNetworkState (143) */ + export interface SpCoreOffchainOpaqueNetworkState extends Struct { + readonly peerId: Bytes; + readonly externalAddresses: Vec<Bytes>; + } + + /** @name PalletImOnlineSr25519AppSr25519Signature (147) */ + export interface PalletImOnlineSr25519AppSr25519Signature extends SpCoreSr25519Signature {} + + /** @name SpCoreSr25519Signature (148) */ + export interface SpCoreSr25519Signature extends U8aFixed {} + + /** @name PalletSudoCall (149) */ + export interface PalletSudoCall extends Enum { + readonly isSudo: boolean; + readonly asSudo: { + readonly call: Call; + } & Struct; + readonly isSudoUncheckedWeight: boolean; + readonly asSudoUncheckedWeight: { + readonly call: Call; + readonly weight: u64; + } & Struct; + readonly isSetKey: boolean; + readonly asSetKey: { + readonly new_: MultiAddress; + } & Struct; + readonly isSudoAs: boolean; + readonly asSudoAs: { + readonly who: MultiAddress; + readonly call: Call; + } & Struct; + readonly type: 'Sudo' | 'SudoUncheckedWeight' | 'SetKey' | 'SudoAs'; + } + + /** @name PalletUpgradeOriginCall (150) */ + export interface PalletUpgradeOriginCall extends Enum { + readonly isDispatchAsRoot: boolean; + readonly asDispatchAsRoot: { + readonly call: Call; + } & Struct; + readonly isDispatchAsRootUncheckedWeight: boolean; + readonly asDispatchAsRootUncheckedWeight: { + readonly call: Call; + readonly weight: u64; + } & Struct; + readonly type: 'DispatchAsRoot' | 'DispatchAsRootUncheckedWeight'; + } + + /** @name PalletPreimageCall (151) */ + export interface PalletPreimageCall extends Enum { + readonly isNotePreimage: boolean; + readonly asNotePreimage: { + readonly bytes: Bytes; + } & Struct; + readonly isUnnotePreimage: boolean; + readonly asUnnotePreimage: { + readonly hash_: H256; + } & Struct; + readonly isRequestPreimage: boolean; + readonly asRequestPreimage: { + readonly hash_: H256; + } & Struct; + readonly isUnrequestPreimage: boolean; + readonly asUnrequestPreimage: { + readonly hash_: H256; + } & Struct; + readonly type: 'NotePreimage' | 'UnnotePreimage' | 'RequestPreimage' | 'UnrequestPreimage'; + } + + /** @name PalletUniversalDividendCall (152) */ + export interface PalletUniversalDividendCall extends Enum { + readonly isTransferUd: boolean; + readonly asTransferUd: { + readonly dest: MultiAddress; + readonly value: Compact<u64>; + } & Struct; + readonly isTransferUdKeepAlive: boolean; + readonly asTransferUdKeepAlive: { + readonly dest: MultiAddress; + readonly value: Compact<u64>; + } & Struct; + readonly type: 'TransferUd' | 'TransferUdKeepAlive'; + } + + /** @name PalletIdentityCall (153) */ + export interface PalletIdentityCall extends Enum { + readonly isCreateIdentity: boolean; + readonly asCreateIdentity: { + readonly ownerKey: AccountId32; + } & Struct; + readonly isConfirmIdentity: boolean; + readonly asConfirmIdentity: { + readonly idtyName: Text; + } & Struct; + readonly isValidateIdentity: boolean; + readonly asValidateIdentity: { + readonly idtyIndex: u32; + } & Struct; + readonly isRevokeIdentity: boolean; + readonly asRevokeIdentity: { + readonly payload: PalletIdentityRevocationPayload; + readonly payloadSig: SpRuntimeMultiSignature; + } & Struct; + readonly isRemoveIdentity: boolean; + readonly asRemoveIdentity: { + readonly idtyIndex: u32; + readonly idtyName: Option<Text>; + } & Struct; + readonly isPruneItemIdentitiesNames: boolean; + readonly asPruneItemIdentitiesNames: { + readonly names: Vec<Text>; + } & Struct; + readonly isPruneItemIdentityIndexOf: boolean; + readonly asPruneItemIdentityIndexOf: { + readonly accountsIds: Vec<AccountId32>; + } & Struct; + readonly type: 'CreateIdentity' | 'ConfirmIdentity' | 'ValidateIdentity' | 'RevokeIdentity' | 'RemoveIdentity' | 'PruneItemIdentitiesNames' | 'PruneItemIdentityIndexOf'; + } + + /** @name PalletIdentityRevocationPayload (154) */ + export interface PalletIdentityRevocationPayload extends Struct { + readonly ownerKey: AccountId32; + readonly genesisHash: H256; + } + + /** @name SpRuntimeMultiSignature (155) */ + export interface SpRuntimeMultiSignature extends Enum { + readonly isEd25519: boolean; + readonly asEd25519: SpCoreEd25519Signature; + readonly isSr25519: boolean; + readonly asSr25519: SpCoreSr25519Signature; + readonly isEcdsa: boolean; + readonly asEcdsa: SpCoreEcdsaSignature; + readonly type: 'Ed25519' | 'Sr25519' | 'Ecdsa'; + } + + /** @name SpCoreEcdsaSignature (156) */ + export interface SpCoreEcdsaSignature extends U8aFixed {} + + /** @name PalletMembershipCall (161) */ + export interface PalletMembershipCall extends Enum { + readonly isForceRequestMembership: boolean; + readonly asForceRequestMembership: { + readonly idtyId: u32; + readonly metadata: AccountId32; + } & Struct; + readonly isRequestMembership: boolean; + readonly asRequestMembership: { + readonly metadata: AccountId32; + } & Struct; + readonly isClaimMembership: boolean; + readonly asClaimMembership: { + readonly maybeIdtyId: Option<u32>; + } & Struct; + readonly isRenewMembership: boolean; + readonly asRenewMembership: { + readonly maybeIdtyId: Option<u32>; + } & Struct; + readonly isRevokeMembership: boolean; + readonly asRevokeMembership: { + readonly maybeIdtyId: Option<u32>; + } & Struct; + readonly type: 'ForceRequestMembership' | 'RequestMembership' | 'ClaimMembership' | 'RenewMembership' | 'RevokeMembership'; + } + + /** @name PalletCertificationCall (164) */ + export interface PalletCertificationCall extends Enum { + readonly isForceAddCert: boolean; + readonly asForceAddCert: { + readonly issuer: u32; + readonly receiver: u32; + readonly verifyRules: bool; + } & Struct; + readonly isAddCert: boolean; + readonly asAddCert: { + readonly receiver: AccountId32; + } & Struct; + readonly isDelCert: boolean; + readonly asDelCert: { + readonly issuer: u32; + readonly receiver: u32; + } & Struct; + readonly isRemoveAllCertsReceivedBy: boolean; + readonly asRemoveAllCertsReceivedBy: { + readonly idtyIndex: u32; + } & Struct; + readonly type: 'ForceAddCert' | 'AddCert' | 'DelCert' | 'RemoveAllCertsReceivedBy'; + } + + /** @name CommonRuntimeEntitiesSmithsMembershipMetaData (166) */ + export interface CommonRuntimeEntitiesSmithsMembershipMetaData extends Struct { + readonly ownerKey: AccountId32; + readonly p2pEndpoint: Text; + readonly sessionKeys: U8aFixed; + } + + /** @name PalletCollectiveCall (168) */ + export interface PalletCollectiveCall extends Enum { + readonly isSetMembers: boolean; + readonly asSetMembers: { + readonly newMembers: Vec<AccountId32>; + readonly prime: Option<AccountId32>; + readonly oldCount: u32; + } & Struct; + readonly isExecute: boolean; + readonly asExecute: { + readonly proposal: Call; + readonly lengthBound: Compact<u32>; + } & Struct; + readonly isPropose: boolean; + readonly asPropose: { + readonly threshold: Compact<u32>; + readonly proposal: Call; + readonly lengthBound: Compact<u32>; + } & Struct; + readonly isVote: boolean; + readonly asVote: { + readonly proposal: H256; + readonly index: Compact<u32>; + readonly approve: bool; + } & Struct; + readonly isClose: boolean; + readonly asClose: { + readonly proposalHash: H256; + readonly index: Compact<u32>; + readonly proposalWeightBound: Compact<u64>; + readonly lengthBound: Compact<u32>; + } & Struct; + readonly isDisapproveProposal: boolean; + readonly asDisapproveProposal: { + readonly proposalHash: H256; + } & Struct; + readonly type: 'SetMembers' | 'Execute' | 'Propose' | 'Vote' | 'Close' | 'DisapproveProposal'; + } + + /** @name PalletAtomicSwapCall (169) */ + export interface PalletAtomicSwapCall extends Enum { + readonly isCreateSwap: boolean; + readonly asCreateSwap: { + readonly target: AccountId32; + readonly hashedProof: U8aFixed; + readonly action: PalletAtomicSwapBalanceSwapAction; + readonly duration: u32; + } & Struct; + readonly isClaimSwap: boolean; + readonly asClaimSwap: { + readonly proof: Bytes; + readonly action: PalletAtomicSwapBalanceSwapAction; + } & Struct; + readonly isCancelSwap: boolean; + readonly asCancelSwap: { + readonly target: AccountId32; + readonly hashedProof: U8aFixed; + } & Struct; + readonly type: 'CreateSwap' | 'ClaimSwap' | 'CancelSwap'; + } + + /** @name PalletMultisigCall (170) */ + export interface PalletMultisigCall extends Enum { + readonly isAsMultiThreshold1: boolean; + readonly asAsMultiThreshold1: { + readonly otherSignatories: Vec<AccountId32>; + readonly call: Call; + } & Struct; + readonly isAsMulti: boolean; + readonly asAsMulti: { + readonly threshold: u16; + readonly otherSignatories: Vec<AccountId32>; + readonly maybeTimepoint: Option<PalletMultisigTimepoint>; + readonly call: WrapperKeepOpaque<Call>; + readonly storeCall: bool; + readonly maxWeight: u64; + } & Struct; + readonly isApproveAsMulti: boolean; + readonly asApproveAsMulti: { + readonly threshold: u16; + readonly otherSignatories: Vec<AccountId32>; + readonly maybeTimepoint: Option<PalletMultisigTimepoint>; + readonly callHash: U8aFixed; + readonly maxWeight: u64; + } & Struct; + readonly isCancelAsMulti: boolean; + readonly asCancelAsMulti: { + readonly threshold: u16; + readonly otherSignatories: Vec<AccountId32>; + readonly timepoint: PalletMultisigTimepoint; + readonly callHash: U8aFixed; + } & Struct; + readonly type: 'AsMultiThreshold1' | 'AsMulti' | 'ApproveAsMulti' | 'CancelAsMulti'; + } + + /** @name PalletProvideRandomnessCall (173) */ + export interface PalletProvideRandomnessCall extends Enum { + readonly isRequest: boolean; + readonly asRequest: { + readonly randomnessType: PalletProvideRandomnessRandomnessType; + readonly salt: H256; + } & Struct; + readonly type: 'Request'; + } + + /** @name PalletProxyCall (174) */ + export interface PalletProxyCall extends Enum { + readonly isProxy: boolean; + readonly asProxy: { + readonly real: AccountId32; + readonly forceProxyType: Option<GdevRuntimeProxyType>; + readonly call: Call; + } & Struct; + readonly isAddProxy: boolean; + readonly asAddProxy: { + readonly delegate: AccountId32; + readonly proxyType: GdevRuntimeProxyType; + readonly delay: u32; + } & Struct; + readonly isRemoveProxy: boolean; + readonly asRemoveProxy: { + readonly delegate: AccountId32; + readonly proxyType: GdevRuntimeProxyType; + readonly delay: u32; + } & Struct; + readonly isRemoveProxies: boolean; + readonly isAnonymous: boolean; + readonly asAnonymous: { + readonly proxyType: GdevRuntimeProxyType; + readonly delay: u32; + readonly index: u16; + } & Struct; + readonly isKillAnonymous: boolean; + readonly asKillAnonymous: { + readonly spawner: AccountId32; + readonly proxyType: GdevRuntimeProxyType; + readonly index: u16; + readonly height: Compact<u32>; + readonly extIndex: Compact<u32>; + } & Struct; + readonly isAnnounce: boolean; + readonly asAnnounce: { + readonly real: AccountId32; + readonly callHash: H256; + } & Struct; + readonly isRemoveAnnouncement: boolean; + readonly asRemoveAnnouncement: { + readonly real: AccountId32; + readonly callHash: H256; + } & Struct; + readonly isRejectAnnouncement: boolean; + readonly asRejectAnnouncement: { + readonly delegate: AccountId32; + readonly callHash: H256; + } & Struct; + readonly isProxyAnnounced: boolean; + readonly asProxyAnnounced: { + readonly delegate: AccountId32; + readonly real: AccountId32; + readonly forceProxyType: Option<GdevRuntimeProxyType>; + readonly call: Call; + } & Struct; + readonly type: 'Proxy' | 'AddProxy' | 'RemoveProxy' | 'RemoveProxies' | 'Anonymous' | 'KillAnonymous' | 'Announce' | 'RemoveAnnouncement' | 'RejectAnnouncement' | 'ProxyAnnounced'; + } + + /** @name PalletUtilityCall (176) */ + export interface PalletUtilityCall extends Enum { + readonly isBatch: boolean; + readonly asBatch: { + readonly calls: Vec<Call>; + } & Struct; + readonly isAsDerivative: boolean; + readonly asAsDerivative: { + readonly index: u16; + readonly call: Call; + } & Struct; + readonly isBatchAll: boolean; + readonly asBatchAll: { + readonly calls: Vec<Call>; + } & Struct; + readonly isDispatchAs: boolean; + readonly asDispatchAs: { + readonly asOrigin: GdevRuntimeOriginCaller; + readonly call: Call; + } & Struct; + readonly type: 'Batch' | 'AsDerivative' | 'BatchAll' | 'DispatchAs'; + } + + /** @name GdevRuntimeOriginCaller (178) */ + export interface GdevRuntimeOriginCaller extends Enum { + readonly isSystem: boolean; + readonly asSystem: FrameSystemRawOrigin; + readonly isVoid: boolean; + readonly isSmithsCollective: boolean; + readonly asSmithsCollective: PalletCollectiveRawOrigin; + readonly type: 'System' | 'Void' | 'SmithsCollective'; + } + + /** @name FrameSystemRawOrigin (179) */ + export interface FrameSystemRawOrigin extends Enum { + readonly isRoot: boolean; + readonly isSigned: boolean; + readonly asSigned: AccountId32; + readonly isNone: boolean; + readonly type: 'Root' | 'Signed' | 'None'; + } + + /** @name PalletCollectiveRawOrigin (180) */ + export interface PalletCollectiveRawOrigin extends Enum { + readonly isMembers: boolean; + readonly asMembers: ITuple<[u32, u32]>; + readonly isMember: boolean; + readonly asMember: AccountId32; + readonly isPhantom: boolean; + readonly type: 'Members' | 'Member' | 'Phantom'; + } + + /** @name PalletTreasuryCall (181) */ + export interface PalletTreasuryCall extends Enum { + readonly isProposeSpend: boolean; + readonly asProposeSpend: { + readonly value: Compact<u64>; + readonly beneficiary: MultiAddress; + } & Struct; + readonly isRejectProposal: boolean; + readonly asRejectProposal: { + readonly proposalId: Compact<u32>; + } & Struct; + readonly isApproveProposal: boolean; + readonly asApproveProposal: { + readonly proposalId: Compact<u32>; + } & Struct; + readonly type: 'ProposeSpend' | 'RejectProposal' | 'ApproveProposal'; + } + + /** @name PalletSchedulerError (182) */ + export interface PalletSchedulerError extends Enum { + readonly isFailedToSchedule: boolean; + readonly isNotFound: boolean; + readonly isTargetBlockNumberInPast: boolean; + readonly isRescheduleNoChange: boolean; + readonly type: 'FailedToSchedule' | 'NotFound' | 'TargetBlockNumberInPast' | 'RescheduleNoChange'; + } + + /** @name SpConsensusBabeBabeEpochConfiguration (189) */ + export interface SpConsensusBabeBabeEpochConfiguration extends Struct { + readonly c: ITuple<[u64, u64]>; + readonly allowedSlots: SpConsensusBabeAllowedSlots; + } + + /** @name PalletBabeError (190) */ + export interface PalletBabeError extends Enum { + readonly isInvalidEquivocationProof: boolean; + readonly isInvalidKeyOwnershipProof: boolean; + readonly isDuplicateOffenceReport: boolean; + readonly type: 'InvalidEquivocationProof' | 'InvalidKeyOwnershipProof' | 'DuplicateOffenceReport'; + } + + /** @name PalletDuniterTestParametersParameters (191) */ + export interface PalletDuniterTestParametersParameters extends Struct { + readonly babeEpochDuration: u64; + readonly certPeriod: u32; + readonly certMaxByIssuer: u32; + readonly certMinReceivedCertToIssueCert: u32; + readonly certRenewablePeriod: u32; + readonly certValidityPeriod: u32; + readonly idtyConfirmPeriod: u32; + readonly idtyCreationPeriod: u32; + readonly membershipPeriod: u32; + readonly membershipRenewablePeriod: u32; + readonly pendingMembershipPeriod: u32; + readonly udCreationPeriod: u32; + readonly udReevalPeriod: u32; + readonly smithCertPeriod: u32; + readonly smithCertMaxByIssuer: u32; + readonly smithCertMinReceivedCertToIssueCert: u32; + readonly smithCertRenewablePeriod: u32; + readonly smithCertValidityPeriod: u32; + readonly smithMembershipPeriod: u32; + readonly smithMembershipRenewablePeriod: u32; + readonly smithPendingMembershipPeriod: u32; + readonly smithsWotFirstCertIssuableOn: u32; + readonly smithsWotMinCertForMembership: u32; + readonly wotFirstCertIssuableOn: u32; + readonly wotMinCertForCreateIdtyRight: u32; + readonly wotMinCertForMembership: u32; + } + + /** @name PalletBalancesAccountData (192) */ + export interface PalletBalancesAccountData extends Struct { + readonly free: u64; + readonly reserved: u64; + readonly miscFrozen: u64; + readonly feeFrozen: u64; + } + + /** @name PalletBalancesBalanceLock (194) */ + export interface PalletBalancesBalanceLock extends Struct { + readonly id: U8aFixed; + readonly amount: u64; + readonly reasons: PalletBalancesReasons; + } + + /** @name PalletBalancesReasons (195) */ + export interface PalletBalancesReasons extends Enum { + readonly isFee: boolean; + readonly isMisc: boolean; + readonly isAll: boolean; + readonly type: 'Fee' | 'Misc' | 'All'; + } + + /** @name PalletBalancesReserveData (198) */ + export interface PalletBalancesReserveData extends Struct { + readonly id: U8aFixed; + readonly amount: u64; + } + + /** @name PalletBalancesReleases (200) */ + export interface PalletBalancesReleases extends Enum { + readonly isV100: boolean; + readonly isV200: boolean; + readonly type: 'V100' | 'V200'; + } + + /** @name PalletBalancesError (201) */ + export interface PalletBalancesError extends Enum { + readonly isVestingBalance: boolean; + readonly isLiquidityRestrictions: boolean; + readonly isInsufficientBalance: boolean; + readonly isExistentialDeposit: boolean; + readonly isKeepAlive: boolean; + readonly isExistingVestingSchedule: boolean; + readonly isDeadAccount: boolean; + readonly isTooManyReserves: boolean; + readonly type: 'VestingBalance' | 'LiquidityRestrictions' | 'InsufficientBalance' | 'ExistentialDeposit' | 'KeepAlive' | 'ExistingVestingSchedule' | 'DeadAccount' | 'TooManyReserves'; + } + + /** @name PalletTransactionPaymentReleases (204) */ + export interface PalletTransactionPaymentReleases extends Enum { + readonly isV1Ancient: boolean; + readonly isV2: boolean; + readonly type: 'V1Ancient' | 'V2'; + } + + /** @name FrameSupportWeightsWeightToFeeCoefficient (206) */ + export interface FrameSupportWeightsWeightToFeeCoefficient extends Struct { + readonly coeffInteger: u64; + readonly coeffFrac: Perbill; + readonly negative: bool; + readonly degree: u8; + } + + /** @name PalletAuthorityMembersMemberData (207) */ + export interface PalletAuthorityMembersMemberData extends Struct { + readonly expireOnSession: u32; + readonly mustRotateKeysBefore: u32; + readonly ownerKey: AccountId32; + } + + /** @name PalletAuthorityMembersError (208) */ + export interface PalletAuthorityMembersError extends Enum { + readonly isAlreadyIncoming: boolean; + readonly isAlreadyOnline: boolean; + readonly isAlreadyOutgoing: boolean; + readonly isMemberIdNotFound: boolean; + readonly isMemberNotFound: boolean; + readonly isNotOnlineNorIncoming: boolean; + readonly isNotOwner: boolean; + readonly isNotMember: boolean; + readonly isSessionKeysNotProvided: boolean; + readonly isTooManyAuthorities: boolean; + readonly type: 'AlreadyIncoming' | 'AlreadyOnline' | 'AlreadyOutgoing' | 'MemberIdNotFound' | 'MemberNotFound' | 'NotOnlineNorIncoming' | 'NotOwner' | 'NotMember' | 'SessionKeysNotProvided' | 'TooManyAuthorities'; + } + + /** @name PalletAuthorshipUncleEntryItem (210) */ + export interface PalletAuthorshipUncleEntryItem extends Enum { + readonly isInclusionHeight: boolean; + readonly asInclusionHeight: u32; + readonly isUncle: boolean; + readonly asUncle: ITuple<[H256, Option<AccountId32>]>; + readonly type: 'InclusionHeight' | 'Uncle'; + } + + /** @name PalletAuthorshipError (211) */ + export interface PalletAuthorshipError extends Enum { + readonly isInvalidUncleParent: boolean; + readonly isUnclesAlreadySet: boolean; + readonly isTooManyUncles: boolean; + readonly isGenesisUncle: boolean; + readonly isTooHighUncle: boolean; + readonly isUncleAlreadyIncluded: boolean; + readonly isOldUncle: boolean; + readonly type: 'InvalidUncleParent' | 'UnclesAlreadySet' | 'TooManyUncles' | 'GenesisUncle' | 'TooHighUncle' | 'UncleAlreadyIncluded' | 'OldUncle'; + } + + /** @name SpStakingOffenceOffenceDetails (212) */ + export interface SpStakingOffenceOffenceDetails extends Struct { + readonly offender: ITuple<[AccountId32, CommonRuntimeEntitiesValidatorFullIdentification]>; + readonly reporters: Vec<AccountId32>; + } + + /** @name SpCoreCryptoKeyTypeId (217) */ + export interface SpCoreCryptoKeyTypeId extends U8aFixed {} + + /** @name PalletSessionError (218) */ + export interface PalletSessionError extends Enum { + readonly isInvalidProof: boolean; + readonly isNoAssociatedValidatorId: boolean; + readonly isDuplicatedKey: boolean; + readonly isNoKeys: boolean; + readonly isNoAccount: boolean; + readonly type: 'InvalidProof' | 'NoAssociatedValidatorId' | 'DuplicatedKey' | 'NoKeys' | 'NoAccount'; + } + + /** @name PalletGrandpaStoredState (219) */ + export interface PalletGrandpaStoredState extends Enum { + readonly isLive: boolean; + readonly isPendingPause: boolean; + readonly asPendingPause: { + readonly scheduledAt: u32; + readonly delay: u32; + } & Struct; + readonly isPaused: boolean; + readonly isPendingResume: boolean; + readonly asPendingResume: { + readonly scheduledAt: u32; + readonly delay: u32; + } & Struct; + readonly type: 'Live' | 'PendingPause' | 'Paused' | 'PendingResume'; + } + + /** @name PalletGrandpaStoredPendingChange (220) */ + export interface PalletGrandpaStoredPendingChange extends Struct { + readonly scheduledAt: u32; + readonly delay: u32; + readonly nextAuthorities: Vec<ITuple<[SpFinalityGrandpaAppPublic, u64]>>; + readonly forced: Option<u32>; + } + + /** @name PalletGrandpaError (222) */ + export interface PalletGrandpaError extends Enum { + readonly isPauseFailed: boolean; + readonly isResumeFailed: boolean; + readonly isChangePending: boolean; + readonly isTooSoon: boolean; + readonly isInvalidKeyOwnershipProof: boolean; + readonly isInvalidEquivocationProof: boolean; + readonly isDuplicateOffenceReport: boolean; + readonly type: 'PauseFailed' | 'ResumeFailed' | 'ChangePending' | 'TooSoon' | 'InvalidKeyOwnershipProof' | 'InvalidEquivocationProof' | 'DuplicateOffenceReport'; + } + + /** @name PalletImOnlineBoundedOpaqueNetworkState (226) */ + export interface PalletImOnlineBoundedOpaqueNetworkState extends Struct { + readonly peerId: Bytes; + readonly externalAddresses: Vec<Bytes>; + } + + /** @name PalletImOnlineError (231) */ + export interface PalletImOnlineError extends Enum { + readonly isInvalidKey: boolean; + readonly isDuplicatedHeartbeat: boolean; + readonly type: 'InvalidKey' | 'DuplicatedHeartbeat'; + } + + /** @name PalletSudoError (232) */ + export interface PalletSudoError extends Enum { + readonly isRequireSudo: boolean; + readonly type: 'RequireSudo'; + } + + /** @name PalletPreimageRequestStatus (233) */ + export interface PalletPreimageRequestStatus extends Enum { + readonly isUnrequested: boolean; + readonly asUnrequested: Option<ITuple<[AccountId32, u64]>>; + readonly isRequested: boolean; + readonly asRequested: u32; + readonly type: 'Unrequested' | 'Requested'; + } + + /** @name PalletPreimageError (237) */ + export interface PalletPreimageError extends Enum { + readonly isTooLarge: boolean; + readonly isAlreadyNoted: boolean; + readonly isNotAuthorized: boolean; + readonly isNotNoted: boolean; + readonly isRequested: boolean; + readonly isNotRequested: boolean; + readonly type: 'TooLarge' | 'AlreadyNoted' | 'NotAuthorized' | 'NotNoted' | 'Requested' | 'NotRequested'; + } + + /** @name PalletIdentityIdtyValue (238) */ + export interface PalletIdentityIdtyValue extends Struct { + readonly nextCreatableIdentityOn: u32; + readonly ownerKey: AccountId32; + readonly removableOn: u32; + readonly status: PalletIdentityIdtyStatus; + } + + /** @name PalletIdentityIdtyStatus (239) */ + export interface PalletIdentityIdtyStatus extends Enum { + readonly isCreated: boolean; + readonly isConfirmedByOwner: boolean; + readonly isValidated: boolean; + readonly type: 'Created' | 'ConfirmedByOwner' | 'Validated'; + } + + /** @name PalletIdentityError (242) */ + export interface PalletIdentityError extends Enum { + readonly isInvalidGenesisHash: boolean; + readonly isInvalidRevocationProof: boolean; + readonly isCreatorNotAllowedToCreateIdty: boolean; + readonly isIdtyAlreadyConfirmed: boolean; + readonly isIdtyAlreadyCreated: boolean; + readonly isIdtyAlreadyValidated: boolean; + readonly isIdtyCreationNotAllowed: boolean; + readonly isIdtyIndexNotFound: boolean; + readonly isIdtyNameAlreadyExist: boolean; + readonly isIdtyNameInvalid: boolean; + readonly isIdtyNotConfirmedByOwner: boolean; + readonly isIdtyNotFound: boolean; + readonly isIdtyNotMember: boolean; + readonly isIdtyNotValidated: boolean; + readonly isIdtyNotYetRenewable: boolean; + readonly isNotAllowedToConfirmIdty: boolean; + readonly isNotAllowedToValidateIdty: boolean; + readonly isNotSameIdtyName: boolean; + readonly isRightAlreadyAdded: boolean; + readonly isRightNotExist: boolean; + readonly isNotRespectIdtyCreationPeriod: boolean; + readonly type: 'InvalidGenesisHash' | 'InvalidRevocationProof' | 'CreatorNotAllowedToCreateIdty' | 'IdtyAlreadyConfirmed' | 'IdtyAlreadyCreated' | 'IdtyAlreadyValidated' | 'IdtyCreationNotAllowed' | 'IdtyIndexNotFound' | 'IdtyNameAlreadyExist' | 'IdtyNameInvalid' | 'IdtyNotConfirmedByOwner' | 'IdtyNotFound' | 'IdtyNotMember' | 'IdtyNotValidated' | 'IdtyNotYetRenewable' | 'NotAllowedToConfirmIdty' | 'NotAllowedToValidateIdty' | 'NotSameIdtyName' | 'RightAlreadyAdded' | 'RightNotExist' | 'NotRespectIdtyCreationPeriod'; + } + + /** @name SpMembershipMembershipData (243) */ + export interface SpMembershipMembershipData extends Struct { + readonly expireOn: u32; + readonly renewableOn: u32; + } + + /** @name PalletMembershipError (244) */ + export interface PalletMembershipError extends Enum { + readonly isIdtyNotAllowedToRequestMembership: boolean; + readonly isIdtyNotAllowedToRenewMembership: boolean; + readonly isInvalidMetaData: boolean; + readonly isIdtyIdNotFound: boolean; + readonly isMembershipAlreadyAcquired: boolean; + readonly isMembershipAlreadyRequested: boolean; + readonly isMembershipNotYetRenewable: boolean; + readonly isMembershipNotFound: boolean; + readonly isOriginNotAllowedToUseIdty: boolean; + readonly isMembershipRequestNotFound: boolean; + readonly isMembershipRevokedRecently: boolean; + readonly type: 'IdtyNotAllowedToRequestMembership' | 'IdtyNotAllowedToRenewMembership' | 'InvalidMetaData' | 'IdtyIdNotFound' | 'MembershipAlreadyAcquired' | 'MembershipAlreadyRequested' | 'MembershipNotYetRenewable' | 'MembershipNotFound' | 'OriginNotAllowedToUseIdty' | 'MembershipRequestNotFound' | 'MembershipRevokedRecently'; + } + + /** @name PalletCertificationIdtyCertMeta (245) */ + export interface PalletCertificationIdtyCertMeta extends Struct { + readonly issuedCount: u32; + readonly nextIssuableOn: u32; + readonly receivedCount: u32; + } + + /** @name PalletCertificationCertValue (246) */ + export interface PalletCertificationCertValue extends Struct { + readonly renewableOn: u32; + readonly removableOn: u32; + } + + /** @name PalletCertificationError (247) */ + export interface PalletCertificationError extends Enum { + readonly isCannotCertifySelf: boolean; + readonly isCertNotAllowed: boolean; + readonly isIdtyMustReceiveCertsBeforeCanIssue: boolean; + readonly isIssuedTooManyCert: boolean; + readonly isIssuerNotFound: boolean; + readonly isNotEnoughCertReceived: boolean; + readonly isNotRespectCertPeriod: boolean; + readonly isNotRespectRenewablePeriod: boolean; + readonly isReceiverNotFound: boolean; + readonly type: 'CannotCertifySelf' | 'CertNotAllowed' | 'IdtyMustReceiveCertsBeforeCanIssue' | 'IssuedTooManyCert' | 'IssuerNotFound' | 'NotEnoughCertReceived' | 'NotRespectCertPeriod' | 'NotRespectRenewablePeriod' | 'ReceiverNotFound'; + } + + /** @name PalletCollectiveVotes (251) */ + export interface PalletCollectiveVotes extends Struct { + readonly index: u32; + readonly threshold: u32; + readonly ayes: Vec<AccountId32>; + readonly nays: Vec<AccountId32>; + readonly end: u32; + } + + /** @name PalletCollectiveError (252) */ + export interface PalletCollectiveError extends Enum { + readonly isNotMember: boolean; + readonly isDuplicateProposal: boolean; + readonly isProposalMissing: boolean; + readonly isWrongIndex: boolean; + readonly isDuplicateVote: boolean; + readonly isAlreadyInitialized: boolean; + readonly isTooEarly: boolean; + readonly isTooManyProposals: boolean; + readonly isWrongProposalWeight: boolean; + readonly isWrongProposalLength: boolean; + readonly type: 'NotMember' | 'DuplicateProposal' | 'ProposalMissing' | 'WrongIndex' | 'DuplicateVote' | 'AlreadyInitialized' | 'TooEarly' | 'TooManyProposals' | 'WrongProposalWeight' | 'WrongProposalLength'; + } + + /** @name PalletAtomicSwapError (254) */ + export interface PalletAtomicSwapError extends Enum { + readonly isAlreadyExist: boolean; + readonly isInvalidProof: boolean; + readonly isProofTooLarge: boolean; + readonly isSourceMismatch: boolean; + readonly isAlreadyClaimed: boolean; + readonly isNotExist: boolean; + readonly isClaimActionMismatch: boolean; + readonly isDurationNotPassed: boolean; + readonly type: 'AlreadyExist' | 'InvalidProof' | 'ProofTooLarge' | 'SourceMismatch' | 'AlreadyClaimed' | 'NotExist' | 'ClaimActionMismatch' | 'DurationNotPassed'; + } + + /** @name PalletMultisigMultisig (255) */ + export interface PalletMultisigMultisig extends Struct { + readonly when: PalletMultisigTimepoint; + readonly deposit: u64; + readonly depositor: AccountId32; + readonly approvals: Vec<AccountId32>; + } + + /** @name PalletMultisigError (257) */ + export interface PalletMultisigError extends Enum { + readonly isMinimumThreshold: boolean; + readonly isAlreadyApproved: boolean; + readonly isNoApprovalsNeeded: boolean; + readonly isTooFewSignatories: boolean; + readonly isTooManySignatories: boolean; + readonly isSignatoriesOutOfOrder: boolean; + readonly isSenderInSignatories: boolean; + readonly isNotFound: boolean; + readonly isNotOwner: boolean; + readonly isNoTimepoint: boolean; + readonly isWrongTimepoint: boolean; + readonly isUnexpectedTimepoint: boolean; + readonly isMaxWeightTooLow: boolean; + readonly isAlreadyStored: boolean; + readonly type: 'MinimumThreshold' | 'AlreadyApproved' | 'NoApprovalsNeeded' | 'TooFewSignatories' | 'TooManySignatories' | 'SignatoriesOutOfOrder' | 'SenderInSignatories' | 'NotFound' | 'NotOwner' | 'NoTimepoint' | 'WrongTimepoint' | 'UnexpectedTimepoint' | 'MaxWeightTooLow' | 'AlreadyStored'; + } + + /** @name PalletProvideRandomnessRequest (259) */ + export interface PalletProvideRandomnessRequest extends Struct { + readonly requestId: u64; + readonly salt: H256; + } + + /** @name PalletProvideRandomnessError (260) */ + export interface PalletProvideRandomnessError extends Enum { + readonly isFullQueue: boolean; + readonly type: 'FullQueue'; + } + + /** @name PalletProxyProxyDefinition (263) */ + export interface PalletProxyProxyDefinition extends Struct { + readonly delegate: AccountId32; + readonly proxyType: GdevRuntimeProxyType; + readonly delay: u32; + } + + /** @name PalletProxyAnnouncement (267) */ + export interface PalletProxyAnnouncement extends Struct { + readonly real: AccountId32; + readonly callHash: H256; + readonly height: u32; + } + + /** @name PalletProxyError (269) */ + export interface PalletProxyError extends Enum { + readonly isTooMany: boolean; + readonly isNotFound: boolean; + readonly isNotProxy: boolean; + readonly isUnproxyable: boolean; + readonly isDuplicate: boolean; + readonly isNoPermission: boolean; + readonly isUnannounced: boolean; + readonly isNoSelfProxy: boolean; + readonly type: 'TooMany' | 'NotFound' | 'NotProxy' | 'Unproxyable' | 'Duplicate' | 'NoPermission' | 'Unannounced' | 'NoSelfProxy'; + } + + /** @name PalletUtilityError (270) */ + export interface PalletUtilityError extends Enum { + readonly isTooManyCalls: boolean; + readonly type: 'TooManyCalls'; + } + + /** @name PalletTreasuryProposal (271) */ + export interface PalletTreasuryProposal extends Struct { + readonly proposer: AccountId32; + readonly value: u64; + readonly beneficiary: AccountId32; + readonly bond: u64; + } + + /** @name FrameSupportPalletId (274) */ + export interface FrameSupportPalletId extends U8aFixed {} + + /** @name PalletTreasuryError (275) */ + export interface PalletTreasuryError extends Enum { + readonly isInsufficientProposersBalance: boolean; + readonly isInvalidIndex: boolean; + readonly isTooManyApprovals: boolean; + readonly type: 'InsufficientProposersBalance' | 'InvalidIndex' | 'TooManyApprovals'; + } + + /** @name FrameSystemExtensionsCheckNonZeroSender (278) */ + export type FrameSystemExtensionsCheckNonZeroSender = Null; + + /** @name FrameSystemExtensionsCheckSpecVersion (279) */ + export type FrameSystemExtensionsCheckSpecVersion = Null; + + /** @name FrameSystemExtensionsCheckTxVersion (280) */ + export type FrameSystemExtensionsCheckTxVersion = Null; + + /** @name FrameSystemExtensionsCheckGenesis (281) */ + export type FrameSystemExtensionsCheckGenesis = Null; + + /** @name FrameSystemExtensionsCheckNonce (284) */ + export interface FrameSystemExtensionsCheckNonce extends Compact<u32> {} + + /** @name FrameSystemExtensionsCheckWeight (285) */ + export type FrameSystemExtensionsCheckWeight = Null; + + /** @name PalletTransactionPaymentChargeTransactionPayment (286) */ + export interface PalletTransactionPaymentChargeTransactionPayment extends Compact<u64> {} + + /** @name GdevRuntimeRuntime (287) */ + export type GdevRuntimeRuntime = Null; + +} // declare module diff --git a/src/interfaces/types.json b/src/interfaces/types.json new file mode 100644 index 0000000..c9d9c6a --- /dev/null +++ b/src/interfaces/types.json @@ -0,0 +1 @@ +{"jsonrpc":"2.0","result":"0x6d6574610e8104000c1c73705f636f72651863727970746f2c4163636f756e7449643332000004000401205b75383b2033325d0000040000032000000008000800000503000c08306672616d655f73797374656d2c4163636f756e74496e666f0814496e64657801102c4163636f756e74446174610114001401146e6f6e6365100114496e646578000124636f6e73756d657273100120526566436f756e7400012470726f766964657273100120526566436f756e7400012c73756666696369656e7473100120526566436f756e740001106461746114012c4163636f756e74446174610000100000050500140c5870616c6c65745f64756e697465725f6163636f756e741474797065732c4163636f756e7444617461041c42616c616e636501180010012472616e646f6d5f69641c01304f7074696f6e3c483235363e0001106672656518011c42616c616e6365000120726573657276656418011c42616c616e63650001286665655f66726f7a656e18011c42616c616e636500001800000506001c04184f7074696f6e04045401200108104e6f6e6500000010536f6d65040020000001000020083c7072696d69746976655f74797065731048323536000004000401205b75383b2033325d0000240c346672616d655f737570706f72741c77656967687473405065724469737061746368436c6173730404540118000c01186e6f726d616c1801045400012c6f7065726174696f6e616c180104540001246d616e6461746f72791801045400002800000208002c102873705f72756e74696d651c67656e65726963186469676573741844696765737400000401106c6f677330013c5665633c4469676573744974656d3e000030000002340034102873705f72756e74696d651c67656e6572696318646967657374284469676573744974656d0001142850726552756e74696d650800380144436f6e73656e737573456e67696e654964000028011c5665633c75383e00060024436f6e73656e7375730800380144436f6e73656e737573456e67696e654964000028011c5665633c75383e000400105365616c0800380144436f6e73656e737573456e67696e654964000028011c5665633c75383e000500144f74686572040028011c5665633c75383e0000006452756e74696d65456e7669726f6e6d656e745570646174656400080000380000030400000008003c00000240004008306672616d655f73797374656d2c4576656e745265636f7264080445014404540120000c011470686173652d01011450686173650001146576656e7444010445000118746f70696373310101185665633c543e0000440830676465765f72756e74696d65144576656e740001641853797374656d04004801706672616d655f73797374656d3a3a4576656e743c52756e74696d653e0000001c4163636f756e74040064019870616c6c65745f64756e697465725f6163636f756e743a3a4576656e743c52756e74696d653e000100245363686564756c6572040068018070616c6c65745f7363686564756c65723a3a4576656e743c52756e74696d653e0002002042616c616e636573040080017c70616c6c65745f62616c616e6365733a3a4576656e743c52756e74696d653e00060040417574686f726974794d656d6265727304008801a070616c6c65745f617574686f726974795f6d656d626572733a3a4576656e743c52756e74696d653e000a00204f6666656e636573040090015870616c6c65745f6f6666656e6365733a3a4576656e74000c001c53657373696f6e040098015470616c6c65745f73657373696f6e3a3a4576656e74000e001c4772616e64706104009c015470616c6c65745f6772616e6470613a3a4576656e74000f0020496d4f6e6c696e650400b0018070616c6c65745f696d5f6f6e6c696e653a3a4576656e743c52756e74696d653e001000105375646f0400c8016c70616c6c65745f7375646f3a3a4576656e743c52756e74696d653e00140034557067726164654f726967696e0400d0017070616c6c65745f757067726164655f6f726967696e3a3a4576656e7400150020507265696d6167650400d4017c70616c6c65745f707265696d6167653a3a4576656e743c52756e74696d653e00160044556e6976657273616c4469766964656e640400d801a470616c6c65745f756e6976657273616c5f6469766964656e643a3a4576656e743c52756e74696d653e001f00204964656e746974790400dc017c70616c6c65745f6964656e746974793a3a4576656e743c52756e74696d653e002900284d656d626572736869700400e401fc70616c6c65745f6d656d626572736869703a3a4576656e743c52756e74696d652c2070616c6c65745f6d656d626572736869703a3a496e7374616e6365313e002a0010436572740400e801150170616c6c65745f63657274696669636174696f6e3a3a4576656e743c52756e74696d652c2070616c6c65745f63657274696669636174696f6e3a3a496e7374616e6365313e002b0040536d697468734d656d626572736869700400f001fc70616c6c65745f6d656d626572736869703a3a4576656e743c52756e74696d652c2070616c6c65745f6d656d626572736869703a3a496e7374616e6365323e00340028536d69746873436572740400f401150170616c6c65745f63657274696669636174696f6e3a3a4576656e743c52756e74696d652c2070616c6c65745f63657274696669636174696f6e3a3a496e7374616e6365323e00350040536d69746873436f6c6c6563746976650400f801fc70616c6c65745f636f6c6c6563746976653a3a4576656e743c52756e74696d652c2070616c6c65745f636f6c6c6563746976653a3a496e7374616e6365323e0036002841746f6d6963537761700400fc018870616c6c65745f61746f6d69635f737761703a3a4576656e743c52756e74696d653e003c00204d756c746973696704000901017c70616c6c65745f6d756c74697369673a3a4576656e743c52756e74696d653e003d004450726f7669646552616e646f6d6e65737304001101018070616c6c65745f70726f766964655f72616e646f6d6e6573733a3a4576656e74003e001450726f787904001901017070616c6c65745f70726f78793a3a4576656e743c52756e74696d653e003f001c5574696c69747904002501015470616c6c65745f7574696c6974793a3a4576656e7400400020547265617375727904002901017c70616c6c65745f74726561737572793a3a4576656e743c52756e74696d653e00410000480c306672616d655f73797374656d1870616c6c6574144576656e740404540001184045787472696e7369635375636365737304013464697370617463685f696e666f4c01304469737061746368496e666f00000490416e2065787472696e73696320636f6d706c65746564207375636365737366756c6c792e3c45787472696e7369634661696c656408013864697370617463685f6572726f7258013444697370617463684572726f7200013464697370617463685f696e666f4c01304469737061746368496e666f00010450416e2065787472696e736963206661696c65642e2c436f64655570646174656400020450603a636f6465602077617320757064617465642e284e65774163636f756e7404011c6163636f756e74000130543a3a4163636f756e7449640003046841206e6577206163636f756e742077617320637265617465642e344b696c6c65644163636f756e7404011c6163636f756e74000130543a3a4163636f756e74496400040458416e206163636f756e7420776173207265617065642e2052656d61726b656408011873656e646572000130543a3a4163636f756e7449640001106861736820011c543a3a48617368000504704f6e206f6e2d636861696e2072656d61726b2068617070656e65642e04704576656e7420666f72207468652053797374656d2070616c6c65742e4c0c346672616d655f737570706f72741c77656967687473304469737061746368496e666f00000c0118776569676874180118576569676874000114636c6173735001344469737061746368436c617373000120706179735f666565540110506179730000500c346672616d655f737570706f72741c77656967687473344469737061746368436c61737300010c184e6f726d616c0000002c4f7065726174696f6e616c000100244d616e6461746f727900020000540c346672616d655f737570706f72741c7765696768747310506179730001080c596573000000084e6f0001000058082873705f72756e74696d653444697370617463684572726f72000124144f746865720000003043616e6e6f744c6f6f6b7570000100244261644f726967696e000200184d6f64756c65080114696e64657808010875380001146572726f72080108753800030044436f6e73756d657252656d61696e696e670004002c4e6f50726f76696465727300050040546f6f4d616e79436f6e73756d65727300060014546f6b656e04005c0128546f6b656e4572726f720007002841726974686d65746963040060013c41726974686d657469634572726f72000800005c082873705f72756e74696d6528546f6b656e4572726f7200011c1c4e6f46756e647300000020576f756c644469650001003042656c6f774d696e696d756d0002003043616e6e6f7443726561746500030030556e6b6e6f776e41737365740004001846726f7a656e0005002c556e737570706f727465640006000060082873705f72756e74696d653c41726974686d657469634572726f7200010c24556e646572666c6f77000000204f766572666c6f77000100384469766973696f6e42795a65726f00020000640c5870616c6c65745f64756e697465725f6163636f756e741870616c6c6574144576656e7404045400010830466f72636544657374726f7908010c77686f000130543a3a4163636f756e74496400011c62616c616e6365180128543a3a42616c616e636500000c4d01466f72636520746865206465737472756374696f6e206f6620616e206163636f756e7420626563617573652069747320667265652062616c616e636520697320696e73756666696369656e7420746f207061796c746865206163636f756e74206372656174696f6e2070726963652e385b77686f2c2062616c616e63655d4052616e646f6d496441737369676e656408010c77686f000130543a3a4163636f756e74496400012472616e646f6d5f6964200110483235360001084852616e646f6d2069642061737369676e65645c5b6163636f756e745f69642c2072616e646f6d5f69645d0499010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f76332f72756e74696d652f6576656e74732d616e642d6572726f72732920656d69747465640a090909627920746869732070616c6c65742e0a090909680c4070616c6c65745f7363686564756c65721870616c6c6574144576656e74040454000110245363686564756c65640801107768656e100138543a3a426c6f636b4e756d626572000114696e64657810010c753332000004505363686564756c656420736f6d65207461736b2e2043616e63656c65640801107768656e100138543a3a426c6f636b4e756d626572000114696e64657810010c7533320001044c43616e63656c656420736f6d65207461736b2e28446973706174636865640c01107461736b6c016c5461736b416464726573733c543a3a426c6f636b4e756d6265723e000108696470013c4f7074696f6e3c5665633c75383e3e000118726573756c747401384469737061746368526573756c74000204544469737061746368656420736f6d65207461736b2e4043616c6c4c6f6f6b75704661696c65640c01107461736b6c016c5461736b416464726573733c543a3a426c6f636b4e756d6265723e000108696470013c4f7074696f6e3c5665633c75383e3e0001146572726f727c012c4c6f6f6b75704572726f7200030429015468652063616c6c20666f72207468652070726f7669646564206861736820776173206e6f7420666f756e6420736f20746865207461736b20686173206265656e2061626f727465642e04304576656e747320747970652e6c000004081010007004184f7074696f6e04045401280108104e6f6e6500000010536f6d650400280000010000740418526573756c740804540178044501580108084f6b040078000000000c45727204005800000100007800000400007c10346672616d655f737570706f727418747261697473207363686564756c652c4c6f6f6b75704572726f720001081c556e6b6e6f776e00000024426164466f726d617400010000800c3c70616c6c65745f62616c616e6365731870616c6c6574144576656e740804540004490001281c456e646f77656408011c6163636f756e74000130543a3a4163636f756e744964000130667265655f62616c616e6365180128543a3a42616c616e6365000004b8416e206163636f756e74207761732063726561746564207769746820736f6d6520667265652062616c616e63652e20447573744c6f737408011c6163636f756e74000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e63650001083d01416e206163636f756e74207761732072656d6f7665642077686f73652062616c616e636520776173206e6f6e2d7a65726f206275742062656c6f77204578697374656e7469616c4465706f7369742c78726573756c74696e6720696e20616e206f75747269676874206c6f73732e205472616e736665720c011066726f6d000130543a3a4163636f756e744964000108746f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e63650002044c5472616e73666572207375636365656465642e2842616c616e63655365740c010c77686f000130543a3a4163636f756e74496400011066726565180128543a3a42616c616e63650001207265736572766564180128543a3a42616c616e636500030468412062616c616e6365207761732073657420627920726f6f742e20526573657276656408010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e6365000404e0536f6d652062616c616e63652077617320726573657276656420286d6f7665642066726f6d206672656520746f207265736572766564292e28556e726573657276656408010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e6365000504e8536f6d652062616c616e63652077617320756e726573657276656420286d6f7665642066726f6d20726573657276656420746f2066726565292e4852657365727665526570617472696174656410011066726f6d000130543a3a4163636f756e744964000108746f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e636500014864657374696e6174696f6e5f7374617475738401185374617475730006084d01536f6d652062616c616e636520776173206d6f7665642066726f6d207468652072657365727665206f6620746865206669727374206163636f756e7420746f20746865207365636f6e64206163636f756e742ed846696e616c20617267756d656e7420696e64696361746573207468652064657374696e6174696f6e2062616c616e636520747970652e1c4465706f73697408010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e6365000704d8536f6d6520616d6f756e7420776173206465706f73697465642028652e672e20666f72207472616e73616374696f6e2066656573292e20576974686472617708010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e63650008041d01536f6d6520616d6f756e74207761732077697468647261776e2066726f6d20746865206163636f756e742028652e672e20666f72207472616e73616374696f6e2066656573292e1c536c617368656408010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e63650009040101536f6d6520616d6f756e74207761732072656d6f7665642066726f6d20746865206163636f756e742028652e672e20666f72206d69736265686176696f72292e0499010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f76332f72756e74696d652f6576656e74732d616e642d6572726f72732920656d69747465640a090909627920746869732070616c6c65742e0a0909098414346672616d655f737570706f72741874726169747318746f6b656e73106d6973633442616c616e6365537461747573000108104672656500000020526573657276656400010000880c6070616c6c65745f617574686f726974795f6d656d626572731870616c6c6574144576656e740404540001144c496e636f6d696e67417574686f72697469657304008c01405665633c543a3a4d656d62657249643e00000829014c697374206f66206d656d626572732077686f2077696c6c20656e7465722074686520736574206f6620617574686f72697469657320617420746865206e6578742073657373696f6e2e405b5665633c6d656d6265725f69643e5d4c4f7574676f696e67417574686f72697469657304008c01405665633c543a3a4d656d62657249643e00010829014c697374206f66206d656d626572732077686f2077696c6c206c656176652074686520736574206f6620617574686f72697469657320617420746865206e6578742073657373696f6e2e405b5665633c6d656d6265725f69643e5d3c4d656d626572476f4f66666c696e65040010012c543a3a4d656d6265724964000208e441206d656d6265722077696c6c206c656176652074686520736574206f6620617574686f72697469657320696e20322073657373696f6e732e2c5b6d656d6265725f69645d384d656d626572476f4f6e6c696e65040010012c543a3a4d656d6265724964000308e441206d656d6265722077696c6c20656e7465722074686520736574206f6620617574686f72697469657320696e20322073657373696f6e732e2c5b6d656d6265725f69645d344d656d62657252656d6f766564040010012c543a3a4d656d626572496400040ce841206d656d62657220686173206c6f73742074686520726967687420746f2062652070617274206f662074686520617574686f7269746965732c050174686973206d656d6265722077696c6c2062652072656d6f7665642066726f6d2074686520617574686f726974792073657420696e20322073657373696f6e732e2c5b6d656d6265725f69645d0499010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f76332f72756e74696d652f6576656e74732d616e642d6572726f72732920656d69747465640a090909627920746869732070616c6c65742e0a0909098c0000021000900c3c70616c6c65745f6f6666656e6365731870616c6c6574144576656e740001041c4f6666656e63650801106b696e649401104b696e6400012074696d65736c6f742801384f706171756554696d65536c6f7400000c5101546865726520697320616e206f6666656e6365207265706f72746564206f662074686520676976656e20606b696e64602068617070656e656420617420746865206073657373696f6e5f696e6465786020616e643501286b696e642d7370656369666963292074696d6520736c6f742e2054686973206576656e74206973206e6f74206465706f736974656420666f72206475706c696361746520736c61736865732e4c5c5b6b696e642c2074696d65736c6f745c5d2e04304576656e747320747970652e94000003100000000800980c3870616c6c65745f73657373696f6e1870616c6c6574144576656e74000104284e657753657373696f6e04013473657373696f6e5f696e64657810013053657373696f6e496e64657800000839014e65772073657373696f6e206861732068617070656e65642e204e6f746520746861742074686520617267756d656e74206973207468652073657373696f6e20696e6465782c206e6f74207468659c626c6f636b206e756d626572206173207468652074797065206d6967687420737567676573742e0499010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f76332f72756e74696d652f6576656e74732d616e642d6572726f72732920656d69747465640a090909627920746869732070616c6c65742e0a0909099c0c3870616c6c65745f6772616e6470611870616c6c6574144576656e7400010c384e6577417574686f726974696573040134617574686f726974795f736574a00134417574686f726974794c6973740000048c4e657720617574686f726974792073657420686173206265656e206170706c6965642e185061757365640001049843757272656e7420617574686f726974792073657420686173206265656e207061757365642e1c526573756d65640002049c43757272656e7420617574686f726974792073657420686173206265656e20726573756d65642e0499010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f76332f72756e74696d652f6576656e74732d616e642d6572726f72732920656d69747465640a090909627920746869732070616c6c65742e0a090909a0000002a400a400000408a81800a80c4c73705f66696e616c6974795f6772616e6470610c617070185075626c696300000400ac013c656432353531393a3a5075626c69630000ac0c1c73705f636f72651c65643235353139185075626c6963000004000401205b75383b2033325d0000b00c4070616c6c65745f696d5f6f6e6c696e651870616c6c6574144576656e7404045400010c444865617274626561745265636569766564040130617574686f726974795f6964b40138543a3a417574686f726974794964000004c041206e657720686561727462656174207761732072656365697665642066726f6d2060417574686f726974794964602e1c416c6c476f6f64000104d041742074686520656e64206f66207468652073657373696f6e2c206e6f206f6666656e63652077617320636f6d6d69747465642e2c536f6d654f66666c696e6504011c6f66666c696e65bc016c5665633c4964656e74696669636174696f6e5475706c653c543e3e000204290141742074686520656e64206f66207468652073657373696f6e2c206174206c65617374206f6e652076616c696461746f722077617320666f756e6420746f206265206f66666c696e652e0499010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f76332f72756e74696d652f6576656e74732d616e642d6572726f72732920656d69747465640a090909627920746869732070616c6c65742e0a090909b4104070616c6c65745f696d5f6f6e6c696e651c737232353531392c6170705f73723235353139185075626c696300000400b8013c737232353531393a3a5075626c69630000b80c1c73705f636f72651c73723235353139185075626c6963000004000401205b75383b2033325d0000bc000002c000c00000040800c400c40c38636f6d6d6f6e5f72756e74696d6520656e7469746965736c56616c696461746f7246756c6c4964656e74696669636174696f6e00000000c80c2c70616c6c65745f7375646f1870616c6c6574144576656e7404045400010c14537564696404012c7375646f5f726573756c747401384469737061746368526573756c740000048841207375646f206a75737420746f6f6b20706c6163652e205c5b726573756c745c5d284b65794368616e6765640401286f6c645f7375646f6572cc01504f7074696f6e3c543a3a4163636f756e7449643e0001043901546865205c5b7375646f65725c5d206a757374207377697463686564206964656e746974793b20746865206f6c64206b657920697320737570706c696564206966206f6e6520657869737465642e285375646f4173446f6e6504012c7375646f5f726573756c747401384469737061746368526573756c740002048841207375646f206a75737420746f6f6b20706c6163652e205c5b726573756c745c5d0499010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f76332f72756e74696d652f6576656e74732d616e642d6572726f72732920656d69747465640a090909627920746869732070616c6c65742e0a090909cc04184f7074696f6e04045401000108104e6f6e6500000010536f6d650400000000010000d00c5470616c6c65745f757067726164655f6f726967696e1870616c6c6574144576656e7400010440446973706174636865644173526f6f74040118726573756c747401384469737061746368526573756c74000004dc412063616c6c20776173206469737061746368656420617320726f6f742066726f6d20616e2075706772616461626c65206f726967696e0499010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f76332f72756e74696d652f6576656e74732d616e642d6572726f72732920656d69747465640a090909627920746869732070616c6c65742e0a090909d40c3c70616c6c65745f707265696d6167651870616c6c6574144576656e7404045400010c144e6f7465640401106861736820011c543a3a48617368000004684120707265696d61676520686173206265656e206e6f7465642e245265717565737465640401106861736820011c543a3a48617368000104784120707265696d61676520686173206265656e207265717565737465642e1c436c65617265640401106861736820011c543a3a486173680002046c4120707265696d616765206861732062656e20636c65617265642e0499010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f76332f72756e74696d652f6576656e74732d616e642d6572726f72732920656d69747465640a090909627920746869732070616c6c65742e0a090909d80c6470616c6c65745f756e6976657273616c5f6469766964656e641870616c6c6574144576656e74040454000108304e65775564437265617465640c0118616d6f756e7418013042616c616e63654f663c543e0001346d6f6e65746172795f6d61737318013042616c616e63654f663c543e0001346d656d626572735f636f756e7418013042616c616e63654f663c543e0000088c41206e657720756e6976657273616c206469766964656e642069732063726561746564585b616d6f75742c206d656d626572735f636f756e745d2c556452656576616c7565640c01346e65775f75645f616d6f756e7418013042616c616e63654f663c543e0001346d6f6e65746172795f6d61737318013042616c616e63654f663c543e0001346d656d626572735f636f756e7418013042616c616e63654f663c543e000108b054686520756e6976657273616c206469766964656e6420686173206265656e2072652d6576616c7561746564b45b6e65775f75645f616d6f756e742c206d6f6e65746172795f6d6173732c206d656d626572735f636f756e745d0499010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f76332f72756e74696d652f6576656e74732d616e642d6572726f72732920656d69747465640a090909627920746869732070616c6c65742e0a090909dc0c3c70616c6c65745f6964656e746974791870616c6c6574144576656e740404540001102c4964747943726561746564080128696474795f696e646578100130543a3a49647479496e6465780001246f776e65725f6b6579000130543a3a4163636f756e7449640000087c41206e6577206964656e7469747920686173206265656e20637265617465645c5b696474795f696e6465782c206f776e65725f6b65795d3449647479436f6e6669726d65640c0128696474795f696e646578100130543a3a49647479496e6465780001246f776e65725f6b6579000130543a3a4163636f756e7449640001106e616d65e00120496474794e616d65000108ac416e206964656e7469747920686173206265656e20636f6e6669726d656420627920697473206f776e6572745b696474795f696e6465782c206f776e65725f6b65792c206e616d655d344964747956616c696461746564040128696474795f696e646578100130543a3a49647479496e64657800020878416e206964656e7469747920686173206265656e2076616c696461746564305b696474795f696e6465785d2c4964747952656d6f766564040128696474795f696e646578100130543a3a49647479496e64657800030870416e206964656e7469747920686173206265656e2072656d6f766564305b696474795f696e6465785d0499010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f76332f72756e74696d652f6576656e74732d616e642d6572726f72732920656d69747465640a090909627920746869732070616c6c65742e0a090909e00000050200e40c4470616c6c65745f6d656d626572736869701870616c6c6574144576656e74080454000449000118484d656d6265727368697041637175697265640400100124543a3a4964747949640000086441206d656d6265727368697020686173206163717569726564245b696474795f69645d444d656d62657273686970457870697265640400100124543a3a4964747949640001086041206d656d62657273686970206861732065787069726564245b696474795f69645d444d656d6265727368697052656e657765640400100124543a3a4964747949640002086041206d656d62657273686970206861732072656e65776564245b696474795f69645d4c4d656d626572736869705265717565737465640400100124543a3a49647479496400030880416e206964656e7469747920726571756573746564206d656d62657273686970245b696474795f69645d444d656d626572736869705265766f6b65640400100124543a3a4964747949640004086041206d656d6265727368697020686173207265766f6b6564245b696474795f69645d6050656e64696e674d656d62657273686970457870697265640400100124543a3a496474794964000508a0412070656e64696e67206d656d626572736869702072657175657374206861732065787069726564245b696474795f69645d0499010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f76332f72756e74696d652f6576656e74732d616e642d6572726f72732920656d69747465640a090909627920746869732070616c6c65742e0a090909e80c5070616c6c65745f63657274696669636174696f6e1870616c6c6574144576656e7408045400044900010c1c4e657743657274100118697373756572100130543a3a49647479496e64657800014c6973737565725f6973737565645f636f756e7410010c7533320001207265636569766572100130543a3a49647479496e64657800015c72656365697665725f72656365697665645f636f756e7410010c753332000008444e65772063657274696669636174696f6e01015b6973737565722c206973737565725f6973737565645f636f756e742c2072656365697665722c2072656365697665725f72656365697665645f636f756e745d2c52656d6f76656443657274140118697373756572100130543a3a49647479496e64657800014c6973737565725f6973737565645f636f756e7410010c7533320001207265636569766572100130543a3a49647479496e64657800015c72656365697665725f72656365697665645f636f756e7410010c75333200012865787069726174696f6eec0110626f6f6c0001085452656d6f7665642063657274696669636174696f6e31015b6973737565722c206973737565725f6973737565645f636f756e742c2072656365697665722c2072656365697665725f72656365697665645f636f756e742c2065787069726174696f6e5d2c52656e6577656443657274080118697373756572100130543a3a49647479496e6465780001207265636569766572100130543a3a49647479496e6465780002085452656e657765642063657274696669636174696f6e485b6973737565722c2072656365697665725d0499010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f76332f72756e74696d652f6576656e74732d616e642d6572726f72732920656d69747465640a090909627920746869732070616c6c65742e0a090909ec0000050000f00c4470616c6c65745f6d656d626572736869701870616c6c6574144576656e74080454000449000118484d656d6265727368697041637175697265640400100124543a3a4964747949640000086441206d656d6265727368697020686173206163717569726564245b696474795f69645d444d656d62657273686970457870697265640400100124543a3a4964747949640001086041206d656d62657273686970206861732065787069726564245b696474795f69645d444d656d6265727368697052656e657765640400100124543a3a4964747949640002086041206d656d62657273686970206861732072656e65776564245b696474795f69645d4c4d656d626572736869705265717565737465640400100124543a3a49647479496400030880416e206964656e7469747920726571756573746564206d656d62657273686970245b696474795f69645d444d656d626572736869705265766f6b65640400100124543a3a4964747949640004086041206d656d6265727368697020686173207265766f6b6564245b696474795f69645d6050656e64696e674d656d62657273686970457870697265640400100124543a3a496474794964000508a0412070656e64696e67206d656d626572736869702072657175657374206861732065787069726564245b696474795f69645d0499010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f76332f72756e74696d652f6576656e74732d616e642d6572726f72732920656d69747465640a090909627920746869732070616c6c65742e0a090909f40c5070616c6c65745f63657274696669636174696f6e1870616c6c6574144576656e7408045400044900010c1c4e657743657274100118697373756572100130543a3a49647479496e64657800014c6973737565725f6973737565645f636f756e7410010c7533320001207265636569766572100130543a3a49647479496e64657800015c72656365697665725f72656365697665645f636f756e7410010c753332000008444e65772063657274696669636174696f6e01015b6973737565722c206973737565725f6973737565645f636f756e742c2072656365697665722c2072656365697665725f72656365697665645f636f756e745d2c52656d6f76656443657274140118697373756572100130543a3a49647479496e64657800014c6973737565725f6973737565645f636f756e7410010c7533320001207265636569766572100130543a3a49647479496e64657800015c72656365697665725f72656365697665645f636f756e7410010c75333200012865787069726174696f6eec0110626f6f6c0001085452656d6f7665642063657274696669636174696f6e31015b6973737565722c206973737565725f6973737565645f636f756e742c2072656365697665722c2072656365697665725f72656365697665645f636f756e742c2065787069726174696f6e5d2c52656e6577656443657274080118697373756572100130543a3a49647479496e6465780001207265636569766572100130543a3a49647479496e6465780002085452656e657765642063657274696669636174696f6e485b6973737565722c2072656365697665725d0499010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f76332f72756e74696d652f6576656e74732d616e642d6572726f72732920656d69747465640a090909627920746869732070616c6c65742e0a090909f80c4470616c6c65745f636f6c6c6563746976651870616c6c6574144576656e7408045400044900011c2050726f706f73656410011c6163636f756e74000130543a3a4163636f756e74496400013870726f706f73616c5f696e64657810013450726f706f73616c496e64657800013470726f706f73616c5f6861736820011c543a3a486173680001247468726573686f6c6410012c4d656d626572436f756e74000008490141206d6f74696f6e2028676976656e20686173682920686173206265656e2070726f706f7365642028627920676976656e206163636f756e742920776974682061207468726573686f6c642028676976656e3c604d656d626572436f756e7460292e14566f74656414011c6163636f756e74000130543a3a4163636f756e74496400013470726f706f73616c5f6861736820011c543a3a48617368000114766f746564ec0110626f6f6c00010c79657310012c4d656d626572436f756e740001086e6f10012c4d656d626572436f756e74000108050141206d6f74696f6e2028676976656e20686173682920686173206265656e20766f746564206f6e20627920676976656e206163636f756e742c206c656176696e671501612074616c6c79202879657320766f74657320616e64206e6f20766f74657320676976656e20726573706563746976656c7920617320604d656d626572436f756e7460292e20417070726f76656404013470726f706f73616c5f6861736820011c543a3a48617368000204c041206d6f74696f6e2077617320617070726f76656420627920746865207265717569726564207468726573686f6c642e2c446973617070726f76656404013470726f706f73616c5f6861736820011c543a3a48617368000304d041206d6f74696f6e20776173206e6f7420617070726f76656420627920746865207265717569726564207468726573686f6c642e20457865637574656408013470726f706f73616c5f6861736820011c543a3a48617368000118726573756c747401384469737061746368526573756c74000404210141206d6f74696f6e207761732065786563757465643b20726573756c742077696c6c20626520604f6b602069662069742072657475726e656420776974686f7574206572726f722e384d656d626572457865637574656408013470726f706f73616c5f6861736820011c543a3a48617368000118726573756c747401384469737061746368526573756c740005044901412073696e676c65206d656d6265722064696420736f6d6520616374696f6e3b20726573756c742077696c6c20626520604f6b602069662069742072657475726e656420776974686f7574206572726f722e18436c6f7365640c013470726f706f73616c5f6861736820011c543a3a4861736800010c79657310012c4d656d626572436f756e740001086e6f10012c4d656d626572436f756e740006045501412070726f706f73616c2077617320636c6f736564206265636175736520697473207468726573686f6c64207761732072656163686564206f7220616674657220697473206475726174696f6e207761732075702e0499010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f76332f72756e74696d652f6576656e74732d616e642d6572726f72732920656d69747465640a090909627920746869732070616c6c65742e0a090909fc0c4870616c6c65745f61746f6d69635f737761701870616c6c6574144576656e7404045400010c1c4e6577537761700c011c6163636f756e74000130543a3a4163636f756e74496400011470726f6f6604012c48617368656450726f6f66000110737761700101013850656e64696e67537761703c543e000004345377617020637265617465642e2c53776170436c61696d65640c011c6163636f756e74000130543a3a4163636f756e74496400011470726f6f6604012c48617368656450726f6f6600011c73756363657373ec0110626f6f6c00010429015377617020636c61696d65642e20546865206c61737420706172616d6574657220696e6469636174657320776865746865722074686520657865637574696f6e2073756363656564732e345377617043616e63656c6c656408011c6163636f756e74000130543a3a4163636f756e74496400011470726f6f6604012c48617368656450726f6f660002043c537761702063616e63656c6c65642e04704576656e74206f662061746f6d696320737761702070616c6c65742e0101084870616c6c65745f61746f6d69635f737761702c50656e64696e675377617004045400000c0118736f75726365000130543a3a4163636f756e744964000118616374696f6e05010134543a3a53776170416374696f6e000124656e645f626c6f636b100138543a3a426c6f636b4e756d62657200000501084870616c6c65745f61746f6d69635f737761704442616c616e636553776170416374696f6e08244163636f756e74496401000443000004011476616c756518018c3c432061732043757272656e63793c4163636f756e7449643e3e3a3a42616c616e6365000009010c3c70616c6c65745f6d756c74697369671870616c6c6574144576656e740404540001102c4e65774d756c74697369670c0124617070726f76696e67000130543a3a4163636f756e7449640001206d756c7469736967000130543a3a4163636f756e74496400012463616c6c5f6861736804012043616c6c486173680000048c41206e6577206d756c7469736967206f7065726174696f6e2068617320626567756e2e404d756c7469736967417070726f76616c100124617070726f76696e67000130543a3a4163636f756e74496400012474696d65706f696e740d01016454696d65706f696e743c543a3a426c6f636b4e756d6265723e0001206d756c7469736967000130543a3a4163636f756e74496400012463616c6c5f6861736804012043616c6c48617368000104c841206d756c7469736967206f7065726174696f6e20686173206265656e20617070726f76656420627920736f6d656f6e652e404d756c74697369674578656375746564140124617070726f76696e67000130543a3a4163636f756e74496400012474696d65706f696e740d01016454696d65706f696e743c543a3a426c6f636b4e756d6265723e0001206d756c7469736967000130543a3a4163636f756e74496400012463616c6c5f6861736804012043616c6c48617368000118726573756c747401384469737061746368526573756c740002049c41206d756c7469736967206f7065726174696f6e20686173206265656e2065786563757465642e444d756c746973696743616e63656c6c656410012863616e63656c6c696e67000130543a3a4163636f756e74496400012474696d65706f696e740d01016454696d65706f696e743c543a3a426c6f636b4e756d6265723e0001206d756c7469736967000130543a3a4163636f756e74496400012463616c6c5f6861736804012043616c6c48617368000304a041206d756c7469736967206f7065726174696f6e20686173206265656e2063616e63656c6c65642e0499010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f76332f72756e74696d652f6576656e74732d616e642d6572726f72732920656d69747465640a090909627920746869732070616c6c65742e0a0909090d01083c70616c6c65745f6d756c74697369672454696d65706f696e74042c426c6f636b4e756d62657201100008011868656967687410012c426c6f636b4e756d626572000114696e64657810010c753332000011010c6470616c6c65745f70726f766964655f72616e646f6d6e6573731870616c6c6574144576656e740001084046696c6c656452616e646f6d6e657373080128726571756573745f696418012452657175657374496400012872616e646f6d6e657373200110483235360000044446696c6c65642072616e646f6d6e6573734c52657175657374656452616e646f6d6e6573730c0128726571756573745f696418012452657175657374496400011073616c74200110483235360001187223747970651501013852616e646f6d6e65737354797065000104505265717565737465642072616e646f6d6e6573730499010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f76332f72756e74696d652f6576656e74732d616e642d6572726f72732920656d69747465640a090909627920746869732070616c6c65742e0a09090915010c6470616c6c65745f70726f766964655f72616e646f6d6e6573731474797065733852616e646f6d6e6573735479706500010c6c52616e646f6d6e65737346726f6d50726576696f7573426c6f636b0000006452616e646f6d6e65737346726f6d4f6e6545706f636841676f0001006852616e646f6d6e65737346726f6d54776f45706f63687341676f0002000019010c3070616c6c65745f70726f78791870616c6c6574144576656e740404540001103450726f78794578656375746564040118726573756c747401384469737061746368526573756c74000004bc412070726f78792077617320657865637574656420636f72726563746c792c20776974682074686520676976656e2e40416e6f6e796d6f757343726561746564100124616e6f6e796d6f7573000130543a3a4163636f756e74496400010c77686f000130543a3a4163636f756e74496400012870726f78795f747970651d010130543a3a50726f787954797065000150646973616d626967756174696f6e5f696e6465782101010c753136000108e8416e6f6e796d6f7573206163636f756e7420686173206265656e2063726561746564206279206e65772070726f7879207769746820676976656e90646973616d626967756174696f6e20696e64657820616e642070726f787920747970652e24416e6e6f756e6365640c01107265616c000130543a3a4163636f756e74496400011470726f7879000130543a3a4163636f756e74496400012463616c6c5f6861736820013443616c6c486173684f663c543e000204e0416e20616e6e6f756e63656d656e742077617320706c6163656420746f206d616b6520612063616c6c20696e20746865206675747572652e2850726f7879416464656410012464656c656761746f72000130543a3a4163636f756e74496400012464656c656761746565000130543a3a4163636f756e74496400012870726f78795f747970651d010130543a3a50726f78795479706500011464656c6179100138543a3a426c6f636b4e756d62657200030448412070726f7879207761732061646465642e0499010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f76332f72756e74696d652f6576656e74732d616e642d6572726f72732920656d69747465640a090909627920746869732070616c6c65742e0a0909091d010830676465765f72756e74696d652450726f7879547970650001100c416e79000000305472616e736665724f6e6c790001002c43616e63656c50726f78790002005c536d69746873436f6c6c65637469766550726f706f7365000300002101000005040025010c3870616c6c65745f7574696c6974791870616c6c6574144576656e74000110404261746368496e746572727570746564080114696e64657810010c7533320001146572726f7258013444697370617463684572726f7200000855014261746368206f66206469737061746368657320646964206e6f7420636f6d706c6574652066756c6c792e20496e646578206f66206669727374206661696c696e6720646973706174636820676976656e2c2061734877656c6c20617320746865206572726f722e384261746368436f6d706c65746564000104c84261746368206f66206469737061746368657320636f6d706c657465642066756c6c792077697468206e6f206572726f722e344974656d436f6d706c657465640002041d01412073696e676c65206974656d2077697468696e2061204261746368206f6620646973706174636865732068617320636f6d706c657465642077697468206e6f206572726f722e30446973706174636865644173040118726573756c747401384469737061746368526573756c7400030458412063616c6c2077617320646973706174636865642e0499010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f76332f72756e74696d652f6576656e74732d616e642d6572726f72732920656d69747465640a090909627920746869732070616c6c65742e0a09090929010c3c70616c6c65745f74726561737572791870616c6c6574144576656e7408045400044900011c2050726f706f73656404013870726f706f73616c5f696e64657810013450726f706f73616c496e646578000004344e65772070726f706f73616c2e205370656e64696e670401406275646765745f72656d61696e696e6718013c42616c616e63654f663c542c20493e000104e45765206861766520656e6465642061207370656e6420706572696f6420616e642077696c6c206e6f7720616c6c6f636174652066756e64732e1c417761726465640c013870726f706f73616c5f696e64657810013450726f706f73616c496e646578000114617761726418013c42616c616e63654f663c542c20493e00011c6163636f756e74000130543a3a4163636f756e7449640002047c536f6d652066756e64732068617665206265656e20616c6c6f63617465642e2052656a656374656408013870726f706f73616c5f696e64657810013450726f706f73616c496e64657800011c736c617368656418013c42616c616e63654f663c542c20493e000304b0412070726f706f73616c207761732072656a65637465643b2066756e6473207765726520736c61736865642e144275726e7404012c6275726e745f66756e647318013c42616c616e63654f663c542c20493e00040488536f6d65206f66206f75722066756e64732068617665206265656e206275726e742e20526f6c6c6f766572040140726f6c6c6f7665725f62616c616e636518013c42616c616e63654f663c542c20493e0005042d015370656e64696e67206861732066696e69736865643b20746869732069732074686520616d6f756e74207468617420726f6c6c73206f76657220756e74696c206e657874207370656e642e1c4465706f73697404011476616c756518013c42616c616e63654f663c542c20493e0006047c536f6d652066756e64732068617665206265656e206465706f73697465642e0499010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f76332f72756e74696d652f6576656e74732d616e642d6572726f72732920656d69747465640a090909627920746869732070616c6c65742e0a0909092d0108306672616d655f73797374656d14506861736500010c384170706c7945787472696e736963040010010c7533320000003046696e616c697a6174696f6e00010038496e697469616c697a6174696f6e000200003101000002200035010000026c00390108306672616d655f73797374656d584c61737452756e74696d6555706772616465496e666f0000080130737065635f76657273696f6e3d01014c636f6465633a3a436f6d706163743c7533323e000124737065635f6e616d65e0016473705f72756e74696d653a3a52756e74696d65537472696e6700003d01000006100041010c306672616d655f73797374656d1870616c6c65741043616c6c0404540001242866696c6c5f626c6f636b040114726174696f4501011c50657262696c6c00000405014120646973706174636820746861742077696c6c2066696c6c2074686520626c6f636b2077656967687420757020746f2074686520676976656e20726174696f2e1872656d61726b04011872656d61726b28011c5665633c75383e000114684d616b6520736f6d65206f6e2d636861696e2072656d61726b2e002823203c7765696768743e202d20604f283129602c23203c2f7765696768743e387365745f686561705f7061676573040114706167657318010c753634000204f853657420746865206e756d626572206f6620706167657320696e2074686520576562417373656d626c7920656e7669726f6e6d656e74277320686561702e207365745f636f6465040110636f646528011c5665633c75383e0003306453657420746865206e65772072756e74696d6520636f64652e002823203c7765696768743e31012d20604f2843202b2053296020776865726520604360206c656e677468206f662060636f64656020616e642060536020636f6d706c6578697479206f66206063616e5f7365745f636f64656045012d20312063616c6c20746f206063616e5f7365745f636f6465603a20604f28532960202863616c6c73206073705f696f3a3a6d6973633a3a72756e74696d655f76657273696f6e60207768696368206973342020657870656e73697665292e842d20312073746f726167652077726974652028636f64656320604f28432960292e402d203120646967657374206974656d2e282d2031206576656e742e4d0154686520776569676874206f6620746869732066756e6374696f6e20697320646570656e64656e74206f6e207468652072756e74696d652c206275742067656e6572616c6c7920746869732069732076657279b8657870656e736976652e2057652077696c6c207472656174207468697320617320612066756c6c20626c6f636b2e2c23203c2f7765696768743e5c7365745f636f64655f776974686f75745f636865636b73040110636f646528011c5665633c75383e000424190153657420746865206e65772072756e74696d6520636f646520776974686f757420646f696e6720616e7920636865636b73206f662074686520676976656e2060636f6465602e002823203c7765696768743e8c2d20604f2843296020776865726520604360206c656e677468206f662060636f646560842d20312073746f726167652077726974652028636f64656320604f28432960292e402d203120646967657374206974656d2e282d2031206576656e742e550154686520776569676874206f6620746869732066756e6374696f6e20697320646570656e64656e74206f6e207468652072756e74696d652e2057652077696c6c207472656174207468697320617320612066756c6c48626c6f636b2e2023203c2f7765696768743e2c7365745f73746f726167650401146974656d73490101345665633c4b657956616c75653e0005046853657420736f6d65206974656d73206f662073746f726167652e306b696c6c5f73746f726167650401106b657973510101205665633c4b65793e000604744b696c6c20736f6d65206974656d732066726f6d2073746f726167652e2c6b696c6c5f70726566697808011870726566697828010c4b657900011c7375626b65797310010c75333200071011014b696c6c20616c6c2073746f72616765206974656d7320776974682061206b657920746861742073746172747320776974682074686520676976656e207072656669782e0039012a2a4e4f54453a2a2a2057652072656c79206f6e2074686520526f6f74206f726967696e20746f2070726f7669646520757320746865206e756d626572206f66207375626b65797320756e6465723d0174686520707265666978207765206172652072656d6f76696e6720746f2061636375726174656c792063616c63756c6174652074686520776569676874206f6620746869732066756e6374696f6e2e4472656d61726b5f776974685f6576656e7404011872656d61726b28011c5665633c75383e000804a44d616b6520736f6d65206f6e2d636861696e2072656d61726b20616e6420656d6974206576656e742e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e45010c3473705f61726974686d65746963287065725f7468696e67731c50657262696c6c0000040010010c753332000049010000024d01004d01000004082828005101000002280055010c306672616d655f73797374656d186c696d69747330426c6f636b5765696768747300000c0128626173655f626c6f636b1801185765696768740001246d61785f626c6f636b1801185765696768740001247065725f636c617373590101845065724469737061746368436c6173733c57656967687473506572436c6173733e000059010c346672616d655f737570706f72741c77656967687473405065724469737061746368436c617373040454015d01000c01186e6f726d616c5d0101045400012c6f7065726174696f6e616c5d010104540001246d616e6461746f72795d0101045400005d010c306672616d655f73797374656d186c696d6974733c57656967687473506572436c6173730000100138626173655f65787472696e7369631801185765696768740001346d61785f65787472696e736963610101384f7074696f6e3c5765696768743e0001246d61785f746f74616c610101384f7074696f6e3c5765696768743e0001207265736572766564610101384f7074696f6e3c5765696768743e0000610104184f7074696f6e04045401180108104e6f6e6500000010536f6d65040018000001000065010c306672616d655f73797374656d186c696d6974732c426c6f636b4c656e677468000004010c6d6178690101545065724469737061746368436c6173733c7533323e000069010c346672616d655f737570706f72741c77656967687473405065724469737061746368436c6173730404540110000c01186e6f726d616c1001045400012c6f7065726174696f6e616c100104540001246d616e6461746f72791001045400006d010c346672616d655f737570706f72741c776569676874733c52756e74696d654462576569676874000008011072656164180118576569676874000114777269746518011857656967687400007101082873705f76657273696f6e3852756e74696d6556657273696f6e00001c0124737065635f6e616d65e0013452756e74696d65537472696e67000124696d706c5f6e616d65e0013452756e74696d65537472696e67000144617574686f72696e675f76657273696f6e10010c753332000130737065635f76657273696f6e10010c753332000130696d706c5f76657273696f6e10010c753332000110617069737501011c4170697356656300014c7472616e73616374696f6e5f76657273696f6e10010c75333200007501040c436f77040454017901000400790100000079010000027d01007d010000040881011000810100000308000000080085010c306672616d655f73797374656d1870616c6c6574144572726f720404540001183c496e76616c6964537065634e616d650000081101546865206e616d65206f662073706563696669636174696f6e20646f6573206e6f74206d61746368206265747765656e207468652063757272656e742072756e74696d6550616e6420746865206e65772072756e74696d652e685370656356657273696f6e4e65656473546f496e63726561736500010841015468652073706563696669636174696f6e2076657273696f6e206973206e6f7420616c6c6f77656420746f206465637265617365206265747765656e207468652063757272656e742072756e74696d6550616e6420746865206e65772072756e74696d652e744661696c6564546f4578747261637452756e74696d6556657273696f6e00020cec4661696c656420746f2065787472616374207468652072756e74696d652076657273696f6e2066726f6d20746865206e65772072756e74696d652e0009014569746865722063616c6c696e672060436f72655f76657273696f6e60206f72206465636f64696e67206052756e74696d6556657273696f6e60206661696c65642e4c4e6f6e44656661756c74436f6d706f73697465000304fc537569636964652063616c6c6564207768656e20746865206163636f756e7420686173206e6f6e2d64656661756c7420636f6d706f7369746520646174612e3c4e6f6e5a65726f526566436f756e74000404350154686572652069732061206e6f6e2d7a65726f207265666572656e636520636f756e742070726576656e74696e6720746865206163636f756e742066726f6d206265696e67207075726765642e3043616c6c46696c7465726564000504d0546865206f726967696e2066696c7465722070726576656e74207468652063616c6c20746f20626520646973706174636865642e046c4572726f7220666f72207468652053797374656d2070616c6c657489010000028d01008d0104184f7074696f6e0404540191010108104e6f6e6500000010536f6d650400910100000100009101084070616c6c65745f7363686564756c65722c5363686564756c65645633101043616c6c0195012c426c6f636b4e756d62657201103450616c6c6574734f726967696e01c902244163636f756e7449640100001401206d617962655f696470013c4f7074696f6e3c5665633c75383e3e0001207072696f726974790801487363686564756c653a3a5072696f7269747900011063616c6c9501011043616c6c0001386d617962655f706572696f646963a10101944f7074696f6e3c7363686564756c653a3a506572696f643c426c6f636b4e756d6265723e3e0001186f726967696ec902013450616c6c6574734f726967696e0000950110346672616d655f737570706f727418747261697473207363686564756c652c4d617962654861736865640804540199011048617368012001081456616c75650400990101045400000010486173680400200110486173680001000099010830676465765f72756e74696d651043616c6c0001681853797374656d0400410101ad0173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c53797374656d2c2052756e74696d653e000000245363686564756c657204009d0101b90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c5363686564756c65722c2052756e74696d653e00020010426162650400a50101a50173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c426162652c2052756e74696d653e0003002454696d657374616d700400cd0101b90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c54696d657374616d702c2052756e74696d653e0004002042616c616e6365730400d50101b50173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c42616c616e6365732c2052756e74696d653e00060040417574686f726974794d656d626572730400e50101d50173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c417574686f726974794d656d626572732c2052756e74696d653e000a0028417574686f72736869700400ed0101bd0173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c417574686f72736869702c2052756e74696d653e000b001c53657373696f6e0400f50101b10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c53657373696f6e2c2052756e74696d653e000e001c4772616e6470610400010201b10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c4772616e6470612c2052756e74696d653e000f0020496d4f6e6c696e650400350201b50173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c496d4f6e6c696e652c2052756e74696d653e001000105375646f0400550201a50173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c5375646f2c2052756e74696d653e00140034557067726164654f726967696e0400590201c90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c557067726164654f726967696e2c2052756e74696d653e00150020507265696d61676504005d0201b50173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c507265696d6167652c2052756e74696d653e00160044556e6976657273616c4469766964656e640400610201d90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c556e6976657273616c4469766964656e642c2052756e74696d653e001f00204964656e746974790400650201b50173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c4964656e746974792c2052756e74696d653e002900284d656d626572736869700400850201bd0173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c4d656d626572736869702c2052756e74696d653e002a0010436572740400910201a50173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c436572742c2052756e74696d653e002b0040536d697468734d656d626572736869700400950201d50173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c536d697468734d656d626572736869702c2052756e74696d653e00340028536d697468734365727404009d0201bd0173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c536d69746873436572742c2052756e74696d653e00350040536d69746873436f6c6c6563746976650400a10201d50173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c536d69746873436f6c6c6563746976652c2052756e74696d653e0036002841746f6d6963537761700400a50201bd0173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c41746f6d6963537761702c2052756e74696d653e003c00204d756c74697369670400a90201b50173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c4d756c74697369672c2052756e74696d653e003d004450726f7669646552616e646f6d6e6573730400b50201d90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c50726f7669646552616e646f6d6e6573732c2052756e74696d653e003e001450726f78790400b90201a90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c50726f78792c2052756e74696d653e003f001c5574696c6974790400c10201b10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c5574696c6974792c2052756e74696d653e0040002054726561737572790400d50201b50173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c54726561737572792c2052756e74696d653e004100009d010c4070616c6c65745f7363686564756c65721870616c6c65741043616c6c040454000118207363686564756c651001107768656e100138543a3a426c6f636b4e756d6265720001386d617962655f706572696f646963a10101a04f7074696f6e3c7363686564756c653a3a506572696f643c543a3a426c6f636b4e756d6265723e3e0001207072696f726974790801487363686564756c653a3a5072696f7269747900011063616c6c95010150426f783c43616c6c4f72486173684f663c543e3e00000470416e6f6e796d6f75736c79207363686564756c652061207461736b2e1863616e63656c0801107768656e100138543a3a426c6f636b4e756d626572000114696e64657810010c7533320001049443616e63656c20616e20616e6f6e796d6f75736c79207363686564756c6564207461736b2e387363686564756c655f6e616d6564140108696428011c5665633c75383e0001107768656e100138543a3a426c6f636b4e756d6265720001386d617962655f706572696f646963a10101a04f7074696f6e3c7363686564756c653a3a506572696f643c543a3a426c6f636b4e756d6265723e3e0001207072696f726974790801487363686564756c653a3a5072696f7269747900011063616c6c95010150426f783c43616c6c4f72486173684f663c543e3e000204585363686564756c652061206e616d6564207461736b2e3063616e63656c5f6e616d6564040108696428011c5665633c75383e0003047843616e63656c2061206e616d6564207363686564756c6564207461736b2e387363686564756c655f61667465721001146166746572100138543a3a426c6f636b4e756d6265720001386d617962655f706572696f646963a10101a04f7074696f6e3c7363686564756c653a3a506572696f643c543a3a426c6f636b4e756d6265723e3e0001207072696f726974790801487363686564756c653a3a5072696f7269747900011063616c6c95010150426f783c43616c6c4f72486173684f663c543e3e000414a8416e6f6e796d6f75736c79207363686564756c652061207461736b20616674657220612064656c61792e002823203c7765696768743e5453616d65206173205b607363686564756c65605d2e2c23203c2f7765696768743e507363686564756c655f6e616d65645f6166746572140108696428011c5665633c75383e0001146166746572100138543a3a426c6f636b4e756d6265720001386d617962655f706572696f646963a10101a04f7074696f6e3c7363686564756c653a3a506572696f643c543a3a426c6f636b4e756d6265723e3e0001207072696f726974790801487363686564756c653a3a5072696f7269747900011063616c6c95010150426f783c43616c6c4f72486173684f663c543e3e000514905363686564756c652061206e616d6564207461736b20616674657220612064656c61792e002823203c7765696768743ec453616d65206173205b607363686564756c655f6e616d6564605d2853656c663a3a7363686564756c655f6e616d6564292e2c23203c2f7765696768743e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632ea10104184f7074696f6e040454016c0108104e6f6e6500000010536f6d6504006c0000010000a5010c2c70616c6c65745f626162651870616c6c65741043616c6c04045400010c4c7265706f72745f65717569766f636174696f6e08014865717569766f636174696f6e5f70726f6f66a9010184426f783c45717569766f636174696f6e50726f6f663c543a3a4865616465723e3e00013c6b65795f6f776e65725f70726f6f66bd010140543a3a4b65794f776e657250726f6f6600001009015265706f727420617574686f726974792065717569766f636174696f6e2f6d69736265686176696f722e2054686973206d6574686f642077696c6c2076657269667905017468652065717569766f636174696f6e2070726f6f6620616e642076616c69646174652074686520676976656e206b6579206f776e6572736869702070726f6f660d01616761696e73742074686520657874726163746564206f6666656e6465722e20496620626f7468206172652076616c69642c20746865206f6666656e63652077696c6c306265207265706f727465642e707265706f72745f65717569766f636174696f6e5f756e7369676e656408014865717569766f636174696f6e5f70726f6f66a9010184426f783c45717569766f636174696f6e50726f6f663c543a3a4865616465723e3e00013c6b65795f6f776e65725f70726f6f66bd010140543a3a4b65794f776e657250726f6f6600012009015265706f727420617574686f726974792065717569766f636174696f6e2f6d69736265686176696f722e2054686973206d6574686f642077696c6c2076657269667905017468652065717569766f636174696f6e2070726f6f6620616e642076616c69646174652074686520676976656e206b6579206f776e6572736869702070726f6f660d01616761696e73742074686520657874726163746564206f6666656e6465722e20496620626f7468206172652076616c69642c20746865206f6666656e63652077696c6c306265207265706f727465642e0d01546869732065787472696e736963206d7573742062652063616c6c656420756e7369676e656420616e642069742069732065787065637465642074686174206f6e6c791501626c6f636b20617574686f72732077696c6c2063616c6c206974202876616c69646174656420696e206056616c6964617465556e7369676e656460292c2061732073756368150169662074686520626c6f636b20617574686f7220697320646566696e65642069742077696c6c20626520646566696e6564206173207468652065717569766f636174696f6e247265706f727465722e48706c616e5f636f6e6669675f6368616e6765040118636f6e666967c10101504e657874436f6e66696744657363726970746f720002105d01506c616e20616e2065706f636820636f6e666967206368616e67652e205468652065706f636820636f6e666967206368616e6765206973207265636f7264656420616e642077696c6c20626520656e6163746564206f6e5101746865206e6578742063616c6c20746f2060656e6163745f65706f63685f6368616e6765602e2054686520636f6e6669672077696c6c20626520616374697661746564206f6e652065706f63682061667465722e59014d756c7469706c652063616c6c7320746f2074686973206d6574686f642077696c6c207265706c61636520616e79206578697374696e6720706c616e6e656420636f6e666967206368616e6765207468617420686164546e6f74206265656e20656e6163746564207965742e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632ea901084873705f636f6e73656e7375735f736c6f74734445717569766f636174696f6e50726f6f66081848656164657201ad0108496401b501001001206f6666656e646572b50101084964000110736c6f74b9010110536c6f7400013066697273745f686561646572ad0101184865616465720001347365636f6e645f686561646572ad0101184865616465720000ad01102873705f72756e74696d651c67656e65726963186865616465721848656164657208184e756d6265720110104861736801b1010014012c706172656e745f68617368200130486173683a3a4f75747075740001186e756d6265723d0101184e756d62657200012873746174655f726f6f74200130486173683a3a4f757470757400013c65787472696e736963735f726f6f74200130486173683a3a4f75747075740001186469676573742c01184469676573740000b1010c2873705f72756e74696d65187472616974732c426c616b6554776f32353600000000b5010c4473705f636f6e73656e7375735f626162650c617070185075626c696300000400b8013c737232353531393a3a5075626c69630000b901084873705f636f6e73656e7375735f736c6f747310536c6f740000040018010c7536340000bd01082873705f73657373696f6e3c4d656d6265727368697050726f6f6600000c011c73657373696f6e10013053657373696f6e496e646578000128747269655f6e6f646573510101305665633c5665633c75383e3e00013c76616c696461746f725f636f756e7410013856616c696461746f72436f756e740000c1010c4473705f636f6e73656e7375735f626162651c64696765737473504e657874436f6e66696744657363726970746f7200010408563108010463c5010128287536342c2075363429000134616c6c6f7765645f736c6f7473c9010130416c6c6f776564536c6f747300010000c50100000408181800c901084473705f636f6e73656e7375735f6261626530416c6c6f776564536c6f747300010c305072696d617279536c6f7473000000745072696d617279416e645365636f6e64617279506c61696e536c6f74730001006c5072696d617279416e645365636f6e64617279565246536c6f747300020000cd010c4070616c6c65745f74696d657374616d701870616c6c65741043616c6c0404540001040c73657404010c6e6f77d1010124543a3a4d6f6d656e7400004054536574207468652063757272656e742074696d652e005501546869732063616c6c2073686f756c6420626520696e766f6b65642065786163746c79206f6e63652070657220626c6f636b2e2049742077696c6c2070616e6963206174207468652066696e616c697a6174696f6ed470686173652c20696620746869732063616c6c206861736e2774206265656e20696e766f6b656420627920746861742074696d652e0041015468652074696d657374616d702073686f756c642062652067726561746572207468616e207468652070726576696f7573206f6e652062792074686520616d6f756e742073706563696669656420627940604d696e696d756d506572696f64602e00d4546865206469737061746368206f726967696e20666f7220746869732063616c6c206d7573742062652060496e686572656e74602e002823203c7765696768743e31012d20604f2831296020284e6f7465207468617420696d706c656d656e746174696f6e73206f6620604f6e54696d657374616d7053657460206d75737420616c736f20626520604f283129602961012d20312073746f72616765207265616420616e6420312073746f72616765206d75746174696f6e2028636f64656320604f28312960292e202862656361757365206f6620604469645570646174653a3a74616b656020696e402020606f6e5f66696e616c697a656029d42d2031206576656e742068616e646c657220606f6e5f74696d657374616d705f736574602e204d75737420626520604f283129602e2c23203c2f7765696768743e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632ed1010000061800d5010c3c70616c6c65745f62616c616e6365731870616c6c65741043616c6c080454000449000118207472616e7366657208011064657374d901018c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f7572636500011476616c7565d1010128543a3a42616c616e6365000064d45472616e7366657220736f6d65206c697175696420667265652062616c616e636520746f20616e6f74686572206163636f756e742e000501607472616e73666572602077696c6c207365742074686520604672656542616c616e636560206f66207468652073656e64657220616e642072656365697665722e11014966207468652073656e6465722773206163636f756e742069732062656c6f7720746865206578697374656e7469616c206465706f736974206173206120726573756c74b06f6620746865207472616e736665722c20746865206163636f756e742077696c6c206265207265617065642e001501546865206469737061746368206f726967696e20666f7220746869732063616c6c206d75737420626520605369676e65646020627920746865207472616e736163746f722e002823203c7765696768743e61012d20446570656e64656e74206f6e20617267756d656e747320627574206e6f7420637269746963616c2c20676976656e2070726f70657220696d706c656d656e746174696f6e7320666f7220696e70757420636f6e66696794202074797065732e205365652072656c617465642066756e6374696f6e732062656c6f772e31012d20497420636f6e7461696e732061206c696d69746564206e756d626572206f6620726561647320616e642077726974657320696e7465726e616c6c7920616e64206e6f20636f6d706c6578382020636f6d7075746174696f6e2e004852656c617465642066756e6374696f6e733a004d0120202d2060656e737572655f63616e5f77697468647261776020697320616c776179732063616c6c656420696e7465726e616c6c792062757420686173206120626f756e64656420636f6d706c65786974792e290120202d205472616e7366657272696e672062616c616e63657320746f206163636f756e7473207468617420646964206e6f74206578697374206265666f72652077696c6c206361757365cc2020202060543a3a4f6e4e65774163636f756e743a3a6f6e5f6e65775f6163636f756e746020746f2062652063616c6c65642e5d0120202d2052656d6f76696e6720656e6f7567682066756e64732066726f6d20616e206163636f756e742077696c6c20747269676765722060543a3a4475737452656d6f76616c3a3a6f6e5f756e62616c616e636564602e5d0120202d20607472616e736665725f6b6565705f616c6976656020776f726b73207468652073616d652077617920617320607472616e73666572602c206275742068617320616e206164646974696f6e616c20636865636bdc202020207468617420746865207472616e736665722077696c6c206e6f74206b696c6c20746865206f726967696e206163636f756e742e842d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d11012d204f726967696e206163636f756e7420697320616c726561647920696e206d656d6f72792c20736f206e6f204442206f7065726174696f6e7320666f72207468656d2e2c23203c2f7765696768743e2c7365745f62616c616e63650c010c77686fd901018c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263650001206e65775f66726565d1010128543a3a42616c616e63650001306e65775f7265736572766564d1010128543a3a42616c616e636500012090536574207468652062616c616e636573206f66206120676976656e206163636f756e742e001d01546869732077696c6c20616c74657220604672656542616c616e63656020616e642060526573657276656442616c616e63656020696e2073746f726167652e2069742077696c6c3101616c736f20616c7465722074686520746f74616c2069737375616e6365206f66207468652073797374656d202860546f74616c49737375616e6365602920617070726f7072696174656c792e1501496620746865206e65772066726565206f722072657365727665642062616c616e63652069732062656c6f7720746865206578697374656e7469616c206465706f7369742cfc69742077696c6c20726573657420746865206163636f756e74206e6f6e63652028606672616d655f73797374656d3a3a4163636f756e744e6f6e636560292e00b0546865206469737061746368206f726967696e20666f7220746869732063616c6c2069732060726f6f74602e38666f7263655f7472616e736665720c0118736f75726365d901018c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f7572636500011064657374d901018c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f7572636500011476616c7565d1010128543a3a42616c616e63650002184d0145786163746c7920617320607472616e73666572602c2065786365707420746865206f726967696e206d75737420626520726f6f7420616e642074686520736f75726365206163636f756e74206d6179206265287370656369666965642e2823203c7765696768743e4d012d2053616d65206173207472616e736665722c20627574206164646974696f6e616c207265616420616e6420777269746520626563617573652074686520736f75726365206163636f756e74206973206e6f747c2020617373756d656420746f20626520696e20746865206f7665726c61792e2c23203c2f7765696768743e4c7472616e736665725f6b6565705f616c69766508011064657374d901018c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f7572636500011476616c7565d1010128543a3a42616c616e63650003184d0153616d6520617320746865205b607472616e73666572605d2063616c6c2c206275742077697468206120636865636b207468617420746865207472616e736665722077696c6c206e6f74206b696c6c207468653c6f726967696e206163636f756e742e00b8393925206f66207468652074696d6520796f752077616e74205b607472616e73666572605d20696e73746561642e00c05b607472616e73666572605d3a207374727563742e50616c6c65742e68746d6c236d6574686f642e7472616e73666572307472616e736665725f616c6c08011064657374d901018c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263650001286b6565705f616c697665ec0110626f6f6c00044405015472616e736665722074686520656e74697265207472616e7366657261626c652062616c616e63652066726f6d207468652063616c6c6572206163636f756e742e0059014e4f54453a20546869732066756e6374696f6e206f6e6c7920617474656d70747320746f207472616e73666572205f7472616e7366657261626c655f2062616c616e6365732e2054686973206d65616e7320746861746101616e79206c6f636b65642c2072657365727665642c206f72206578697374656e7469616c206465706f7369747320287768656e20606b6565705f616c6976656020697320607472756560292c2077696c6c206e6f742062655d017472616e7366657272656420627920746869732066756e6374696f6e2e20546f20656e73757265207468617420746869732066756e6374696f6e20726573756c747320696e2061206b696c6c6564206163636f756e742c4501796f75206d69676874206e65656420746f207072657061726520746865206163636f756e742062792072656d6f76696e6720616e79207265666572656e636520636f756e746572732c2073746f72616765406465706f736974732c206574632e2e2e00c0546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205369676e65642e00a02d206064657374603a2054686520726563697069656e74206f6620746865207472616e736665722e59012d20606b6565705f616c697665603a204120626f6f6c65616e20746f2064657465726d696e652069662074686520607472616e736665725f616c6c60206f7065726174696f6e2073686f756c642073656e6420616c6c4d0120206f66207468652066756e647320746865206163636f756e74206861732c2063617573696e67207468652073656e646572206163636f756e7420746f206265206b696c6c6564202866616c7365292c206f72590120207472616e736665722065766572797468696e6720657863657074206174206c6561737420746865206578697374656e7469616c206465706f7369742c2077686963682077696c6c2067756172616e74656520746fc820206b656570207468652073656e646572206163636f756e7420616c697665202874727565292e2023203c7765696768743e39012d204f2831292e204a757374206c696b65207472616e736665722c206275742072656164696e672074686520757365722773207472616e7366657261626c652062616c616e63652066697273742e302020233c2f7765696768743e3c666f7263655f756e7265736572766508010c77686fd901018c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f75726365000118616d6f756e74180128543a3a42616c616e636500050cb0556e7265736572766520736f6d652062616c616e63652066726f6d2061207573657220627920666f7263652e006c43616e206f6e6c792062652063616c6c656420627920524f4f542e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632ed9010c2873705f72756e74696d65306d756c746961646472657373304d756c74694164647265737308244163636f756e7449640100304163636f756e74496e6465780178011408496404000001244163636f756e74496400000014496e6465780400dd0101304163636f756e74496e6465780001000c526177040028011c5665633c75383e0002002441646472657373333204000401205b75383b2033325d000300244164647265737332300400e10101205b75383b2032305d00040000dd010000067800e101000003140000000800e5010c6070616c6c65745f617574686f726974795f6d656d626572731870616c6c65741043616c6c04045400011428676f5f6f66666c696e6500000024676f5f6f6e6c696e65000100407365745f73657373696f6e5f6b6579730401106b657973e9010138543a3a4b657973577261707065720002004c7072756e655f6163636f756e745f69645f6f6604012c6d656d626572735f6964738c01405665633c543a3a4d656d62657249643e0003003472656d6f76655f6d656d6265720401246d656d6265725f696410012c543a3a4d656d6265724964000400042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632ee901000003800000000800ed010c4470616c6c65745f617574686f72736869701870616c6c65741043616c6c040454000104287365745f756e636c65730401286e65775f756e636c6573f10101385665633c543a3a4865616465723e0000046050726f76696465206120736574206f6620756e636c65732e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632ef101000002ad0100f5010c3870616c6c65745f73657373696f6e1870616c6c65741043616c6c040454000108207365745f6b6579730801106b657973f901011c543a3a4b65797300011470726f6f6628011c5665633c75383e000038e453657473207468652073657373696f6e206b6579287329206f66207468652066756e6374696f6e2063616c6c657220746f20606b657973602e1d01416c6c6f777320616e206163636f756e7420746f20736574206974732073657373696f6e206b6579207072696f7220746f206265636f6d696e6720612076616c696461746f722ec05468697320646f65736e27742074616b652065666665637420756e74696c20746865206e6578742073657373696f6e2e00d0546865206469737061746368206f726967696e206f6620746869732066756e6374696f6e206d757374206265207369676e65642e002823203c7765696768743e11012d20436f6d706c65786974793a20604f283129602e2041637475616c20636f737420646570656e6473206f6e20746865206e756d626572206f66206c656e677468206f6698202060543a3a4b6579733a3a6b65795f6964732829602077686963682069732066697865642eec2d20446252656164733a20606f726967696e206163636f756e74602c2060543a3a56616c696461746f7249644f66602c20604e6578744b65797360a02d2044625772697465733a20606f726967696e206163636f756e74602c20604e6578744b65797360802d204462526561647320706572206b65792069643a20604b65794f776e657260842d20446257726974657320706572206b65792069643a20604b65794f776e6572602c23203c2f7765696768743e2870757267655f6b657973000140c852656d6f76657320616e792073657373696f6e206b6579287329206f66207468652066756e6374696f6e2063616c6c65722e00c05468697320646f65736e27742074616b652065666665637420756e74696c20746865206e6578742073657373696f6e2e005501546865206469737061746368206f726967696e206f6620746869732066756e6374696f6e206d757374206265205369676e656420616e6420746865206163636f756e74206d757374206265206569746865722062655d01636f6e7665727469626c6520746f20612076616c696461746f72204944207573696e672074686520636861696e2773207479706963616c2061646472657373696e672073797374656d20287468697320757375616c6c7951016d65616e73206265696e67206120636f6e74726f6c6c6572206163636f756e7429206f72206469726563746c7920636f6e7665727469626c6520696e746f20612076616c696461746f722049442028776869636894757375616c6c79206d65616e73206265696e672061207374617368206163636f756e74292e002823203c7765696768743e61012d20436f6d706c65786974793a20604f2831296020696e206e756d626572206f66206b65792074797065732e2041637475616c20636f737420646570656e6473206f6e20746865206e756d626572206f66206c656e677468a420206f662060543a3a4b6579733a3a6b65795f6964732829602077686963682069732066697865642eec2d20446252656164733a2060543a3a56616c696461746f7249644f66602c20604e6578744b657973602c20606f726967696e206163636f756e7460a02d2044625772697465733a20604e6578744b657973602c20606f726967696e206163636f756e7460842d20446257726974657320706572206b65792069643a20604b65794f776e6572602c23203c2f7765696768743e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632ef9010c30676465765f72756e74696d65186f70617175652c53657373696f6e4b657973000010011c6772616e647061a801d03c4772616e647061206173202463726174653a3a426f756e64546f52756e74696d654170705075626c69633e3a3a5075626c696300011062616265b50101c43c42616265206173202463726174653a3a426f756e64546f52756e74696d654170705075626c69633e3a3a5075626c6963000124696d5f6f6e6c696e65b401d43c496d4f6e6c696e65206173202463726174653a3a426f756e64546f52756e74696d654170705075626c69633e3a3a5075626c696300014c617574686f726974795f646973636f76657279fd0101fc3c417574686f72697479446973636f76657279206173202463726174653a3a426f756e64546f52756e74696d654170705075626c69633e3a3a5075626c69630000fd010c5873705f617574686f726974795f646973636f766572790c617070185075626c696300000400b8013c737232353531393a3a5075626c6963000001020c3870616c6c65745f6772616e6470611870616c6c65741043616c6c04045400010c4c7265706f72745f65717569766f636174696f6e08014865717569766f636174696f6e5f70726f6f66050201bc426f783c45717569766f636174696f6e50726f6f663c543a3a486173682c20543a3a426c6f636b4e756d6265723e3e00013c6b65795f6f776e65725f70726f6f6631020140543a3a4b65794f776e657250726f6f6600001009015265706f727420766f7465722065717569766f636174696f6e2f6d69736265686176696f722e2054686973206d6574686f642077696c6c2076657269667920746865f465717569766f636174696f6e2070726f6f6620616e642076616c69646174652074686520676976656e206b6579206f776e6572736869702070726f6f66f8616761696e73742074686520657874726163746564206f6666656e6465722e20496620626f7468206172652076616c69642c20746865206f6666656e63654477696c6c206265207265706f727465642e707265706f72745f65717569766f636174696f6e5f756e7369676e656408014865717569766f636174696f6e5f70726f6f66050201bc426f783c45717569766f636174696f6e50726f6f663c543a3a486173682c20543a3a426c6f636b4e756d6265723e3e00013c6b65795f6f776e65725f70726f6f6631020140543a3a4b65794f776e657250726f6f6600012409015265706f727420766f7465722065717569766f636174696f6e2f6d69736265686176696f722e2054686973206d6574686f642077696c6c2076657269667920746865f465717569766f636174696f6e2070726f6f6620616e642076616c69646174652074686520676976656e206b6579206f776e6572736869702070726f6f66f8616761696e73742074686520657874726163746564206f6666656e6465722e20496620626f7468206172652076616c69642c20746865206f6666656e63654477696c6c206265207265706f727465642e000d01546869732065787472696e736963206d7573742062652063616c6c656420756e7369676e656420616e642069742069732065787065637465642074686174206f6e6c791501626c6f636b20617574686f72732077696c6c2063616c6c206974202876616c69646174656420696e206056616c6964617465556e7369676e656460292c2061732073756368150169662074686520626c6f636b20617574686f7220697320646566696e65642069742077696c6c20626520646566696e6564206173207468652065717569766f636174696f6e247265706f727465722e306e6f74655f7374616c6c656408011464656c6179100138543a3a426c6f636b4e756d62657200016c626573745f66696e616c697a65645f626c6f636b5f6e756d626572100138543a3a426c6f636b4e756d62657200021c19014e6f74652074686174207468652063757272656e7420617574686f7269747920736574206f6620746865204752414e4450412066696e616c697479206761646765742068617325017374616c6c65642e20546869732077696c6c2074726967676572206120666f7263656420617574686f7269747920736574206368616e67652061742074686520626567696e6e696e671d016f6620746865206e6578742073657373696f6e2c20746f20626520656e6163746564206064656c61796020626c6f636b7320616674657220746861742e205468652064656c6179110173686f756c64206265206869676820656e6f75676820746f20736166656c7920617373756d6520746861742074686520626c6f636b207369676e616c6c696e67207468652501666f72636564206368616e67652077696c6c206e6f742062652072652d6f726765642028652e672e203130303020626c6f636b73292e20546865204752414e44504120766f74657273250177696c6c20737461727420746865206e657720617574686f7269747920736574207573696e672074686520676976656e2066696e616c697a656420626c6f636b20617320626173652e584f6e6c792063616c6c61626c6520627920726f6f742e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e0502084c73705f66696e616c6974795f6772616e6470614445717569766f636174696f6e50726f6f660804480120044e0110000801187365745f6964180114536574496400013065717569766f636174696f6e0902014845717569766f636174696f6e3c482c204e3e00000902084c73705f66696e616c6974795f6772616e6470613045717569766f636174696f6e0804480120044e011001081c507265766f746504000d020139016772616e6470613a3a45717569766f636174696f6e3c417574686f7269747949642c206772616e6470613a3a507265766f74653c482c204e3e2c0a417574686f726974795369676e61747572653e00000024507265636f6d6d6974040025020141016772616e6470613a3a45717569766f636174696f6e3c417574686f7269747949642c206772616e6470613a3a507265636f6d6d69743c482c204e3e2c0a417574686f726974795369676e61747572653e000100000d02084066696e616c6974795f6772616e6470613045717569766f636174696f6e0c08496401a80456011102045301150200100130726f756e645f6e756d62657218010c7536340001206964656e74697479a80108496400011466697273742102011828562c2053290001187365636f6e642102011828562c20532900001102084066696e616c6974795f6772616e6470611c507265766f74650804480120044e01100008012c7461726765745f68617368200104480001347461726765745f6e756d6265721001044e000015020c4c73705f66696e616c6974795f6772616e6470610c617070245369676e61747572650000040019020148656432353531393a3a5369676e6174757265000019020c1c73705f636f72651c65643235353139245369676e6174757265000004001d0201205b75383b2036345d00001d0200000340000000080021020000040811021502002502084066696e616c6974795f6772616e6470613045717569766f636174696f6e0c08496401a80456012902045301150200100130726f756e645f6e756d62657218010c7536340001206964656e74697479a80108496400011466697273742d02011828562c2053290001187365636f6e642d02011828562c20532900002902084066696e616c6974795f6772616e64706124507265636f6d6d69740804480120044e01100008012c7461726765745f68617368200104480001347461726765745f6e756d6265721001044e00002d020000040829021502003102081c73705f636f726510566f69640001000035020c4070616c6c65745f696d5f6f6e6c696e651870616c6c65741043616c6c04045400010424686561727462656174080124686561727462656174390201644865617274626561743c543a3a426c6f636b4e756d6265723e0001247369676e61747572654d0201bc3c543a3a417574686f7269747949642061732052756e74696d654170705075626c69633e3a3a5369676e61747572650000242823203c7765696768743e61012d20436f6d706c65786974793a20604f284b202b20452960207768657265204b206973206c656e677468206f6620604b6579736020286865617274626561742e76616c696461746f72735f6c656e2920616e642045206973d820206c656e677468206f6620606865617274626561742e6e6574776f726b5f73746174652e65787465726e616c5f61646472657373608820202d20604f284b29603a206465636f64696e67206f66206c656e67746820604b60ac20202d20604f284529603a206465636f64696e672f656e636f64696e67206f66206c656e6774682060456039012d20446252656164733a2070616c6c65745f73657373696f6e206056616c696461746f7273602c2070616c6c65745f73657373696f6e206043757272656e74496e646578602c20604b657973602c5820206052656365697665644865617274626561747360802d2044625772697465733a2060526563656976656448656172746265617473602c23203c2f7765696768743e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e3902084070616c6c65745f696d5f6f6e6c696e6524486561727462656174042c426c6f636b4e756d626572011000140130626c6f636b5f6e756d62657210012c426c6f636b4e756d6265720001346e6574776f726b5f73746174653d0201484f70617175654e6574776f726b537461746500013473657373696f6e5f696e64657810013053657373696f6e496e64657800013c617574686f726974795f696e64657810012441757468496e64657800013876616c696461746f72735f6c656e10010c75333200003d020c1c73705f636f7265206f6666636861696e484f70617175654e6574776f726b5374617465000008011c706565725f6964410201304f706171756550656572496400014865787465726e616c5f616464726573736573450201505665633c4f70617175654d756c7469616464723e00004102081c73705f636f7265304f70617175655065657249640000040028011c5665633c75383e0000450200000249020049020c1c73705f636f7265206f6666636861696e3c4f70617175654d756c7469616464720000040028011c5665633c75383e00004d02104070616c6c65745f696d5f6f6e6c696e651c737232353531392c6170705f73723235353139245369676e61747572650000040051020148737232353531393a3a5369676e6174757265000051020c1c73705f636f72651c73723235353139245369676e6174757265000004001d0201205b75383b2036345d000055020c2c70616c6c65745f7375646f1870616c6c65741043616c6c040454000110107375646f04011063616c6c99010160426f783c3c5420617320436f6e6669673e3a3a43616c6c3e000028350141757468656e7469636174657320746865207375646f206b657920616e64206469737061746368657320612066756e6374696f6e2063616c6c20776974682060526f6f7460206f726967696e2e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e002823203c7765696768743e1c2d204f2831292e602d204c696d697465642073746f726167652072656164732e5c2d204f6e6520444220777269746520286576656e74292ec42d20576569676874206f662064657269766174697665206063616c6c6020657865637574696f6e202b2031302c3030302e2c23203c2f7765696768743e547375646f5f756e636865636b65645f77656967687408011063616c6c99010160426f783c3c5420617320436f6e6669673e3a3a43616c6c3e000118776569676874180118576569676874000128350141757468656e7469636174657320746865207375646f206b657920616e64206469737061746368657320612066756e6374696f6e2063616c6c20776974682060526f6f7460206f726967696e2e2d01546869732066756e6374696f6e20646f6573206e6f7420636865636b2074686520776569676874206f66207468652063616c6c2c20616e6420696e737465616420616c6c6f777320746865b05375646f207573657220746f20737065636966792074686520776569676874206f66207468652063616c6c2e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e002823203c7765696768743e1c2d204f2831292ecc2d2054686520776569676874206f6620746869732063616c6c20697320646566696e6564206279207468652063616c6c65722e2c23203c2f7765696768743e1c7365745f6b657904010c6e6577d901018c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263650002285d0141757468656e74696361746573207468652063757272656e74207375646f206b657920616e6420736574732074686520676976656e204163636f756e7449642028606e6577602920617320746865206e6577207375646f106b65792e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e002823203c7765696768743e1c2d204f2831292e602d204c696d697465642073746f726167652072656164732e402d204f6e65204442206368616e67652e2c23203c2f7765696768743e1c7375646f5f617308010c77686fd901018c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f7572636500011063616c6c99010160426f783c3c5420617320436f6e6669673e3a3a43616c6c3e00032c4d0141757468656e7469636174657320746865207375646f206b657920616e64206469737061746368657320612066756e6374696f6e2063616c6c207769746820605369676e656460206f726967696e2066726f6d406120676976656e206163636f756e742e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e002823203c7765696768743e1c2d204f2831292e602d204c696d697465642073746f726167652072656164732e5c2d204f6e6520444220777269746520286576656e74292ec42d20576569676874206f662064657269766174697665206063616c6c6020657865637574696f6e202b2031302c3030302e2c23203c2f7765696768743e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e59020c5470616c6c65745f757067726164655f6f726967696e1870616c6c65741043616c6c0404540001084064697370617463685f61735f726f6f7404011063616c6c99010160426f783c3c5420617320436f6e6669673e3a3a43616c6c3e00000cb04469737061746368657320612066756e6374696f6e2063616c6c2066726f6d20726f6f74206f726967696e2e00c454686520776569676874206f6620746869732063616c6c20697320646566696e6564206279207468652063616c6c65722e8464697370617463685f61735f726f6f745f756e636865636b65645f77656967687408011063616c6c99010160426f783c3c5420617320436f6e6669673e3a3a43616c6c3e000118776569676874180118576569676874000114b04469737061746368657320612066756e6374696f6e2063616c6c2066726f6d20726f6f74206f726967696e2e2d01546869732066756e6374696f6e20646f6573206e6f7420636865636b2074686520776569676874206f66207468652063616c6c2c20616e6420696e737465616420616c6c6f777320746865a463616c6c657220746f20737065636966792074686520776569676874206f66207468652063616c6c2e00c454686520776569676874206f6620746869732063616c6c20697320646566696e6564206279207468652063616c6c65722e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e5d020c3c70616c6c65745f707265696d6167651870616c6c65741043616c6c040454000110346e6f74655f707265696d616765040114627974657328011c5665633c75383e000010745265676973746572206120707265696d616765206f6e2d636861696e2e00550149662074686520707265696d616765207761732070726576696f75736c79207265717565737465642c206e6f2066656573206f72206465706f73697473206172652074616b656e20666f722070726f766964696e67550174686520707265696d6167652e204f74686572776973652c2061206465706f7369742069732074616b656e2070726f706f7274696f6e616c20746f207468652073697a65206f662074686520707265696d6167652e3c756e6e6f74655f707265696d6167650401106861736820011c543a3a48617368000104dc436c65617220616e20756e72657175657374656420707265696d6167652066726f6d207468652072756e74696d652073746f726167652e40726571756573745f707265696d6167650401106861736820011c543a3a48617368000210410152657175657374206120707265696d6167652062652075706c6f6164656420746f2074686520636861696e20776974686f757420706179696e6720616e792066656573206f72206465706f736974732e00550149662074686520707265696d6167652072657175657374732068617320616c7265616479206265656e2070726f7669646564206f6e2d636861696e2c20776520756e7265736572766520616e79206465706f7369743901612075736572206d6179206861766520706169642c20616e642074616b652074686520636f6e74726f6c206f662074686520707265696d616765206f7574206f662074686569722068616e64732e48756e726571756573745f707265696d6167650401106861736820011c543a3a4861736800030cbc436c65617220612070726576696f75736c79206d616465207265717565737420666f72206120707265696d6167652e002d014e4f54453a2054484953204d555354204e4f542042452043414c4c4544204f4e20606861736860204d4f52452054494d4553205448414e2060726571756573745f707265696d616765602e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e61020c6470616c6c65745f756e6976657273616c5f6469766964656e641870616c6c65741043616c6c0404540001082c7472616e736665725f756408011064657374d901018c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f7572636500011476616c7565d101013042616c616e63654f663c543e00000405015472616e7366657220736f6d65206c697175696420667265652062616c616e636520746f20616e6f74686572206163636f756e742c20696e206d696c6c6955442e587472616e736665725f75645f6b6565705f616c69766508011064657374d901018c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f7572636500011476616c7565d101013042616c616e63654f663c543e00010405015472616e7366657220736f6d65206c697175696420667265652062616c616e636520746f20616e6f74686572206163636f756e742c20696e206d696c6c6955442e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e65020c3c70616c6c65745f6964656e746974791870616c6c65741043616c6c04045400011c3c6372656174655f6964656e746974790401246f776e65725f6b6579000130543a3a4163636f756e744964000014a843726561746520616e206964656e7469747920666f7220616e206578697374696e67206163636f756e740025012d20606f776e65725f6b6579603a20746865207075626c6963206b657920636f72726573706f6e64696e6720746f20746865206964656e7469747920746f206265206372656174656400c4546865206f726967696e206d75737420626520616c6c6f77656420746f2063726561746520616e206964656e746974792e40636f6e6669726d5f6964656e74697479040124696474795f6e616d65e00120496474794e616d65000114d8436f6e6669726d20746865206372656174696f6e206f6620616e206964656e7469747920616e6420676976652069742061206e616d6500d5012d2060696474795f6e616d65603a20746865206e616d6520756e697175656c79206173736f63696174656420746f2074686973206964656e746974792e204d757374206d61746368207468652076616c69646174696f6e2072756c657320646566696e6564206279207468652072756e74696d652e005d01546865206964656e74697479206d7573742068617665206265656e2063726561746564207573696e6720606372656174655f6964656e7469747960206265666f72652069742063616e20626520636f6e6669726d65642e4476616c69646174655f6964656e74697479040128696474795f696e646578100130543a3a49647479496e6465780002003c7265766f6b655f6964656e7469747908011c7061796c6f6164690201a05265766f636174696f6e5061796c6f61643c543a3a4163636f756e7449642c20543a3a486173683e00012c7061796c6f61645f7369676d020158543a3a5265766f636174696f6e5369676e6174757265000320d05265766f6b6520616e206964656e74697479207573696e672061207369676e6564207265766f636174696f6e207061796c6f6164008c2d20607061796c6f6164603a20746865207265766f636174696f6e207061796c6f61642d0120202d20606f776e65725f6b6579603a20746865207075626c6963206b657920636f72726573706f6e64696e6720746f20746865206964656e7469747920746f206265207265766f6b6564a820202d206067656e657369735f68617368603a207468652067656e6573697320626c6f636b20686173687d012d20607061796c6f61645f736967603a20746865207369676e6174757265206f662074686520656e636f64656420666f726d206f6620607061796c6f6164602e204d757374206265207369676e656420627920606f776e65725f6b6579602e00e4416e79206f726967696e2063616e20656d697420746869732065787472696e7369632c206e6f74206f6e6c7920606f776e65725f6b6579602e3c72656d6f76655f6964656e74697479080128696474795f696e646578100130543a3a49647479496e646578000124696474795f6e616d65790201404f7074696f6e3c496474794e616d653e0004006c7072756e655f6974656d5f6964656e7469746965735f6e616d65730401146e616d65737d0201345665633c496474794e616d653e000500707072756e655f6974656d5f6964656e746974795f696e6465785f6f660401306163636f756e74735f696473810201445665633c543a3a4163636f756e7449643e000600042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e69020c3c70616c6c65745f6964656e74697479147479706573445265766f636174696f6e5061796c6f616408244163636f756e744964010010486173680120000801246f776e65725f6b65790001244163636f756e74496400013067656e657369735f686173682001104861736800006d02082873705f72756e74696d65384d756c74695369676e617475726500010c1c45643235353139040019020148656432353531393a3a5369676e61747572650000001c53723235353139040051020148737232353531393a3a5369676e617475726500010014456364736104007102014065636473613a3a5369676e61747572650002000071020c1c73705f636f7265146563647361245369676e617475726500000400750201205b75383b2036355d00007502000003410000000800790204184f7074696f6e04045401e00108104e6f6e6500000010536f6d650400e000000100007d02000002e0008102000002000085020c4470616c6c65745f6d656d626572736869701870616c6c65741043616c6c08045400044900011460666f7263655f726571756573745f6d656d6265727368697008011c696474795f6964100124543a3a4964747949640001206d657461646174618902012c543a3a4d6574614461746100000048726571756573745f6d656d626572736869700401206d657461646174618902012c543a3a4d6574614461746100010040636c61696d5f6d656d626572736869700401346d617962655f696474795f69648d0201444f7074696f6e3c543a3a4964747949643e0002004072656e65775f6d656d626572736869700401346d617962655f696474795f69648d0201444f7074696f6e3c543a3a4964747949643e000300447265766f6b655f6d656d626572736869700401346d617962655f696474795f69648d0201444f7074696f6e3c543a3a4964747949643e000400042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e89020c4870616c6c65745f64756e697465725f776f74147479706573484d656d626572736869704d6574614461746104244163636f756e74496401000004000001244163636f756e74496400008d0204184f7074696f6e04045401100108104e6f6e6500000010536f6d65040010000001000091020c5070616c6c65745f63657274696669636174696f6e1870616c6c65741043616c6c08045400044900011038666f7263655f6164645f636572740c0118697373756572100130543a3a49647479496e6465780001207265636569766572100130543a3a49647479496e6465780001307665726966795f72756c6573ec0110626f6f6c000000206164645f636572740401207265636569766572000130543a3a4163636f756e744964000114c04164642061206e65772063657274696669636174696f6e206f722072656e657720616e206578697374696e67206f6e650015012d20607265636569766572603a20746865206163636f756e7420726563656976696e67207468652063657274696669636174696f6e2066726f6d20746865206f726967696e0090546865206f726967696e206d75737420626520616c6c6f7720746f20636572746966792e2064656c5f63657274080118697373756572100130543a3a49647479496e6465780001207265636569766572100130543a3a49647479496e6465780002007072656d6f76655f616c6c5f63657274735f72656365697665645f6279040128696474795f696e646578100130543a3a49647479496e646578000300042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e95020c4470616c6c65745f6d656d626572736869701870616c6c65741043616c6c08045400044900011460666f7263655f726571756573745f6d656d6265727368697008011c696474795f6964100124543a3a4964747949640001206d657461646174619902012c543a3a4d6574614461746100000048726571756573745f6d656d626572736869700401206d657461646174619902012c543a3a4d6574614461746100010040636c61696d5f6d656d626572736869700401346d617962655f696474795f69648d0201444f7074696f6e3c543a3a4964747949643e0002004072656e65775f6d656d626572736869700401346d617962655f696474795f69648d0201444f7074696f6e3c543a3a4964747949643e000300447265766f6b655f6d656d626572736869700401346d617962655f696474795f69648d0201444f7074696f6e3c543a3a4964747949643e000400042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e99020c38636f6d6d6f6e5f72756e74696d6520656e74697469657360536d697468734d656d626572736869704d65746144617461044853657373696f6e4b6579735772617070657201e901000c01246f776e65725f6b65790001244163636f756e7449640001307032705f656e64706f696e74e0016473705f72756e74696d653a3a52756e74696d65537472696e6700013073657373696f6e5f6b657973e901014853657373696f6e4b6579735772617070657200009d020c5070616c6c65745f63657274696669636174696f6e1870616c6c65741043616c6c08045400044900011038666f7263655f6164645f636572740c0118697373756572100130543a3a49647479496e6465780001207265636569766572100130543a3a49647479496e6465780001307665726966795f72756c6573ec0110626f6f6c000000206164645f636572740401207265636569766572000130543a3a4163636f756e744964000114c04164642061206e65772063657274696669636174696f6e206f722072656e657720616e206578697374696e67206f6e650015012d20607265636569766572603a20746865206163636f756e7420726563656976696e67207468652063657274696669636174696f6e2066726f6d20746865206f726967696e0090546865206f726967696e206d75737420626520616c6c6f7720746f20636572746966792e2064656c5f63657274080118697373756572100130543a3a49647479496e6465780001207265636569766572100130543a3a49647479496e6465780002007072656d6f76655f616c6c5f63657274735f72656365697665645f6279040128696474795f696e646578100130543a3a49647479496e646578000300042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632ea1020c4470616c6c65745f636f6c6c6563746976651870616c6c65741043616c6c0804540004490001182c7365745f6d656d626572730c012c6e65775f6d656d62657273810201445665633c543a3a4163636f756e7449643e0001147072696d65cc01504f7074696f6e3c543a3a4163636f756e7449643e0001246f6c645f636f756e7410012c4d656d626572436f756e74000080805365742074686520636f6c6c6563746976652773206d656d626572736869702e0045012d20606e65775f6d656d62657273603a20546865206e6577206d656d626572206c6973742e204265206e69636520746f2074686520636861696e20616e642070726f7669646520697420736f727465642ee02d20607072696d65603a20546865207072696d65206d656d6265722077686f736520766f74652073657473207468652064656661756c742e59012d20606f6c645f636f756e74603a2054686520757070657220626f756e6420666f72207468652070726576696f7573206e756d626572206f66206d656d6265727320696e2073746f726167652e205573656420666f7250202077656967687420657374696d6174696f6e2e0054526571756972657320726f6f74206f726967696e2e0051014e4f54453a20446f6573206e6f7420656e666f7263652074686520657870656374656420604d61784d656d6265727360206c696d6974206f6e2074686520616d6f756e74206f66206d656d626572732c2062757421012020202020207468652077656967687420657374696d6174696f6e732072656c79206f6e20697420746f20657374696d61746520646973706174636861626c65207765696768742e002823205741524e494e473a005901546865206070616c6c65742d636f6c6c656374697665602063616e20616c736f206265206d616e61676564206279206c6f676963206f757473696465206f66207468652070616c6c6574207468726f75676820746865b8696d706c656d656e746174696f6e206f6620746865207472616974205b604368616e67654d656d62657273605d2e5501416e792063616c6c20746f20607365745f6d656d6265727360206d757374206265206361726566756c207468617420746865206d656d6265722073657420646f65736e277420676574206f7574206f662073796e63a477697468206f74686572206c6f676963206d616e6167696e6720746865206d656d626572207365742e002823203c7765696768743e24232320576569676874502d20604f284d50202b204e29602077686572653ae020202d20604d60206f6c642d6d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e64656429e020202d20604e60206e65772d6d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e646564299820202d206050602070726f706f73616c732d636f756e742028636f64652d626f756e64656429142d2044423a510120202d20312073746f72616765206d75746174696f6e2028636f64656320604f284d296020726561642c20604f284e29602077726974652920666f722072656164696e6720616e642077726974696e67207468652c202020206d656d62657273ec20202d20312073746f7261676520726561642028636f64656320604f285029602920666f722072656164696e67207468652070726f706f73616c73450120202d206050602073746f72616765206d75746174696f6e732028636f64656320604f284d29602920666f72207570646174696e672074686520766f74657320666f7220656163682070726f706f73616c5d0120202d20312073746f726167652077726974652028636f64656320604f283129602920666f722064656c6574696e6720746865206f6c6420607072696d656020616e642073657474696e6720746865206e6577206f6e652c23203c2f7765696768743e1c6578656375746508012070726f706f73616c9901017c426f783c3c5420617320436f6e6669673c493e3e3a3a50726f706f73616c3e0001306c656e6774685f626f756e643d01010c75333200012cf0446973706174636820612070726f706f73616c2066726f6d2061206d656d626572207573696e672074686520604d656d62657260206f726967696e2e00a84f726967696e206d7573742062652061206d656d626572206f662074686520636f6c6c6563746976652e002823203c7765696768743e2423232057656967687455012d20604f284d202b2050296020776865726520604d60206d656d626572732d636f756e742028636f64652d626f756e6465642920616e642060506020636f6d706c6578697479206f66206469737061746368696e673020206070726f706f73616c60d42d2044423a203120726561642028636f64656320604f284d296029202b20444220616363657373206f66206070726f706f73616c60242d2031206576656e742c23203c2f7765696768743e1c70726f706f73650c01247468726573686f6c643d01012c4d656d626572436f756e7400012070726f706f73616c9901017c426f783c3c5420617320436f6e6669673c493e3e3a3a50726f706f73616c3e0001306c656e6774685f626f756e643d01010c75333200026cf84164642061206e65772070726f706f73616c20746f2065697468657220626520766f746564206f6e206f72206578656375746564206469726563746c792e00845265717569726573207468652073656e64657220746f206265206d656d6265722e004101607468726573686f6c64602064657465726d696e65732077686574686572206070726f706f73616c60206973206578656375746564206469726563746c792028607468726573686f6c64203c20326029546f722070757420757020666f7220766f74696e672e002823203c7765696768743e24232320576569676874ac2d20604f2842202b204d202b2050312960206f7220604f2842202b204d202b20503229602077686572653ae020202d20604260206973206070726f706f73616c602073697a6520696e20627974657320286c656e6774682d6665652d626f756e64656429dc20202d20604d60206973206d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e64656429c420202d206272616e6368696e6720697320696e666c75656e63656420627920607468726573686f6c64602077686572653af4202020202d20605031602069732070726f706f73616c20657865637574696f6e20636f6d706c65786974792028607468726573686f6c64203c20326029fc202020202d20605032602069732070726f706f73616c732d636f756e742028636f64652d626f756e646564292028607468726573686f6c64203e3d20326029142d2044423ab420202d20312073746f726167652072656164206069735f6d656d626572602028636f64656320604f284d296029f020202d20312073746f726167652072656164206050726f706f73616c4f663a3a636f6e7461696e735f6b6579602028636f64656320604f2831296029a820202d20444220616363657373657320696e666c75656e63656420627920607468726573686f6c64603a0901202020202d204549544845522073746f7261676520616363657373657320646f6e65206279206070726f706f73616c602028607468726573686f6c64203c20326029b8202020202d204f522070726f706f73616c20696e73657274696f6e2028607468726573686f6c64203c3d20326029d82020202020202d20312073746f72616765206d75746174696f6e206050726f706f73616c73602028636f64656320604f285032296029e42020202020202d20312073746f72616765206d75746174696f6e206050726f706f73616c436f756e74602028636f64656320604f2831296029cc2020202020202d20312073746f72616765207772697465206050726f706f73616c4f66602028636f64656320604f2842296029bc2020202020202d20312073746f726167652077726974652060566f74696e67602028636f64656320604f284d2960292c20202d2031206576656e742c23203c2f7765696768743e10766f74650c012070726f706f73616c20011c543a3a48617368000114696e6465783d01013450726f706f73616c496e64657800011c617070726f7665ec0110626f6f6c00033cf041646420616e20617965206f72206e617920766f746520666f72207468652073656e64657220746f2074686520676976656e2070726f706f73616c2e008c5265717569726573207468652073656e64657220746f2062652061206d656d6265722e0049015472616e73616374696f6e20666565732077696c6c2062652077616976656420696620746865206d656d62657220697320766f74696e67206f6e20616e7920706172746963756c61722070726f706f73616c5101666f72207468652066697273742074696d6520616e64207468652063616c6c206973207375636365737366756c2e2053756273657175656e7420766f7465206368616e6765732077696c6c206368617267652061106665652e2823203c7765696768743e2423232057656967687409012d20604f284d296020776865726520604d60206973206d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e64656429142d2044423aac20202d20312073746f72616765207265616420604d656d62657273602028636f64656320604f284d296029b820202d20312073746f72616765206d75746174696f6e2060566f74696e67602028636f64656320604f284d296029242d2031206576656e742c23203c2f7765696768743e14636c6f736510013470726f706f73616c5f6861736820011c543a3a48617368000114696e6465783d01013450726f706f73616c496e64657800015470726f706f73616c5f7765696768745f626f756e64d10101185765696768740001306c656e6774685f626f756e643d01010c7533320004804d01436c6f7365206120766f746520746861742069732065697468657220617070726f7665642c20646973617070726f766564206f722077686f736520766f74696e6720706572696f642068617320656e6465642e0055014d61792062652063616c6c656420627920616e79207369676e6564206163636f756e7420696e206f7264657220746f2066696e69736820766f74696e6720616e6420636c6f7365207468652070726f706f73616c2e00490149662063616c6c6564206265666f72652074686520656e64206f662074686520766f74696e6720706572696f642069742077696c6c206f6e6c7920636c6f73652074686520766f7465206966206974206973bc68617320656e6f75676820766f74657320746f20626520617070726f766564206f7220646973617070726f7665642e00490149662063616c6c65642061667465722074686520656e64206f662074686520766f74696e6720706572696f642061627374656e74696f6e732061726520636f756e7465642061732072656a656374696f6e732501756e6c6573732074686572652069732061207072696d65206d656d6265722073657420616e6420746865207072696d65206d656d626572206361737420616e20617070726f76616c2e00610149662074686520636c6f7365206f7065726174696f6e20636f6d706c65746573207375636365737366756c6c79207769746820646973617070726f76616c2c20746865207472616e73616374696f6e206665652077696c6c5d016265207761697665642e204f746865727769736520657865637574696f6e206f662074686520617070726f766564206f7065726174696f6e2077696c6c206265206368617267656420746f207468652063616c6c65722e0061012b206070726f706f73616c5f7765696768745f626f756e64603a20546865206d6178696d756d20616d6f756e74206f662077656967687420636f6e73756d656420627920657865637574696e672074686520636c6f7365642470726f706f73616c2e61012b20606c656e6774685f626f756e64603a2054686520757070657220626f756e6420666f7220746865206c656e677468206f66207468652070726f706f73616c20696e2073746f726167652e20436865636b65642076696135016073746f726167653a3a726561646020736f206974206973206073697a655f6f663a3a3c7533323e2829203d3d203460206c6172676572207468616e207468652070757265206c656e6774682e002823203c7765696768743e24232320576569676874742d20604f2842202b204d202b205031202b20503229602077686572653ae020202d20604260206973206070726f706f73616c602073697a6520696e20627974657320286c656e6774682d6665652d626f756e64656429dc20202d20604d60206973206d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e64656429c820202d20605031602069732074686520636f6d706c6578697479206f66206070726f706f73616c6020707265696d6167652ea420202d20605032602069732070726f706f73616c2d636f756e742028636f64652d626f756e64656429142d2044423a0d01202d20322073746f726167652072656164732028604d656d62657273603a20636f64656320604f284d29602c20605072696d65603a20636f64656320604f28312960295901202d2033206d75746174696f6e73202860566f74696e67603a20636f64656320604f284d29602c206050726f706f73616c4f66603a20636f64656320604f284229602c206050726f706f73616c73603a20636f6465632c202020604f285032296029dc202d20616e79206d75746174696f6e7320646f6e65207768696c6520657865637574696e67206070726f706f73616c6020286050316029402d20757020746f2033206576656e74732c23203c2f7765696768743e4c646973617070726f76655f70726f706f73616c04013470726f706f73616c5f6861736820011c543a3a486173680005385901446973617070726f766520612070726f706f73616c2c20636c6f73652c20616e642072656d6f76652069742066726f6d207468652073797374656d2c207265676172646c657373206f66206974732063757272656e741873746174652e00884d7573742062652063616c6c65642062792074686520526f6f74206f726967696e2e002c506172616d65746572733a1d012a206070726f706f73616c5f68617368603a205468652068617368206f66207468652070726f706f73616c20746861742073686f756c6420626520646973617070726f7665642e002823203c7765696768743edc436f6d706c65786974793a204f285029207768657265205020697320746865206e756d626572206f66206d61782070726f706f73616c73284442205765696768743a482a2052656164733a2050726f706f73616c739c2a205772697465733a20566f74696e672c2050726f706f73616c732c2050726f706f73616c4f662c23203c2f7765696768743e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632ea5020c4870616c6c65745f61746f6d69635f737761701870616c6c65741043616c6c04045400010c2c6372656174655f73776170100118746172676574000130543a3a4163636f756e7449640001306861736865645f70726f6f6604012c48617368656450726f6f66000118616374696f6e05010134543a3a53776170416374696f6e0001206475726174696f6e100138543a3a426c6f636b4e756d626572000030590152656769737465722061206e65772061746f6d696320737761702c206465636c6172696e6720616e20696e74656e74696f6e20746f2073656e642066756e64732066726f6d206f726967696e20746f2074617267657455016f6e207468652063757272656e7420626c6f636b636861696e2e20546865207461726765742063616e20636c61696d207468652066756e64207573696e67207468652072657665616c65642070726f6f662e20496655017468652066756e64206973206e6f7420636c61696d656420616674657220606475726174696f6e6020626c6f636b732c207468656e207468652073656e6465722063616e2063616e63656c2074686520737761702e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e00a02d2060746172676574603a205265636569766572206f66207468652061746f6d696320737761702ee82d20606861736865645f70726f6f66603a2054686520626c616b65325f3235362068617368206f6620746865207365637265742070726f6f662ea82d206062616c616e6365603a2046756e647320746f2062652073656e742066726f6d206f726967696e2e5d012d20606475726174696f6e603a204c6f636b6564206475726174696f6e206f66207468652061746f6d696320737761702e20466f722073616665747920726561736f6e732c206974206973207265636f6d6d656e6465644501202074686174207468652072657665616c6572207573657320612073686f72746572206475726174696f6e207468616e2074686520636f756e74657270617274792c20746f2070726576656e74207468653d012020736974756174696f6e207768657265207468652072657665616c65722072657665616c73207468652070726f6f6620746f6f206c6174652061726f756e642074686520656e6420626c6f636b2e28636c61696d5f7377617008011470726f6f6628011c5665633c75383e000118616374696f6e05010134543a3a53776170416374696f6e00011c54436c61696d20616e2061746f6d696320737761702e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e009c2d206070726f6f66603a2052657665616c65642070726f6f66206f662074686520636c61696d2e61012d2060616374696f6e603a20416374696f6e20646566696e656420696e2074686520737761702c206974206d757374206d617463682074686520656e74727920696e20626c6f636b636861696e2e204f7468657277697365ec2020746865206f7065726174696f6e206661696c732e2054686973206973207573656420666f72207765696768742063616c63756c6174696f6e2e2c63616e63656c5f73776170080118746172676574000130543a3a4163636f756e7449640001306861736865645f70726f6f6604012c48617368656450726f6f66000218490143616e63656c20616e2061746f6d696320737761702e204f6e6c7920706f737369626c6520616674657220746865206f726967696e616c6c7920736574206475726174696f6e20686173207061737365642e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e00bc2d2060746172676574603a20546172676574206f6620746865206f726967696e616c2061746f6d696320737761702eec2d20606861736865645f70726f6f66603a204861736865642070726f6f66206f6620746865206f726967696e616c2061746f6d696320737761702e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632ea9020c3c70616c6c65745f6d756c74697369671870616c6c65741043616c6c0404540001105061735f6d756c74695f7468726573686f6c645f310801446f746865725f7369676e61746f72696573810201445665633c543a3a4163636f756e7449643e00011063616c6c99010160426f783c3c5420617320436f6e6669673e3a3a43616c6c3e0000405101496d6d6564696174656c792064697370617463682061206d756c74692d7369676e61747572652063616c6c207573696e6720612073696e676c6520617070726f76616c2066726f6d207468652063616c6c65722e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e003d012d20606f746865725f7369676e61746f72696573603a20546865206163636f756e747320286f74686572207468616e207468652073656e646572292077686f206172652070617274206f662074686501016d756c74692d7369676e61747572652c2062757420646f206e6f7420706172746963697061746520696e2074686520617070726f76616c2070726f636573732e882d206063616c6c603a205468652063616c6c20746f2062652065786563757465642e00b8526573756c74206973206571756976616c656e7420746f20746865206469737061746368656420726573756c742e002823203c7765696768743e19014f285a202b204329207768657265205a20697320746865206c656e677468206f66207468652063616c6c20616e6420432069747320657865637574696f6e207765696768742e7c2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d442d204442205765696768743a204e6f6e65482d20506c75732043616c6c205765696768742c23203c2f7765696768743e2061735f6d756c74691801247468726573686f6c642101010c7531360001446f746865725f7369676e61746f72696573810201445665633c543a3a4163636f756e7449643e00013c6d617962655f74696d65706f696e74ad0201844f7074696f6e3c54696d65706f696e743c543a3a426c6f636b4e756d6265723e3e00011063616c6cb10201344f706171756543616c6c3c543e00012873746f72655f63616c6cec0110626f6f6c0001286d61785f7765696768741801185765696768740001b45501526567697374657220617070726f76616c20666f72206120646973706174636820746f206265206d6164652066726f6d20612064657465726d696e697374696320636f6d706f73697465206163636f756e74206966f8617070726f766564206279206120746f74616c206f6620607468726573686f6c64202d203160206f6620606f746865725f7369676e61746f72696573602e00b049662074686572652061726520656e6f7567682c207468656e206469737061746368207468652063616c6c2e002d015061796d656e743a20604465706f73697442617365602077696c6c20626520726573657276656420696620746869732069732074686520666972737420617070726f76616c2c20706c75733d01607468726573686f6c64602074696d657320604465706f736974466163746f72602e2049742069732072657475726e6564206f6e636520746869732064697370617463682068617070656e73206f723469732063616e63656c6c65642e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e0055012d20607468726573686f6c64603a2054686520746f74616c206e756d626572206f6620617070726f76616c7320666f722074686973206469737061746368206265666f72652069742069732065786563757465642e41012d20606f746865725f7369676e61746f72696573603a20546865206163636f756e747320286f74686572207468616e207468652073656e646572292077686f2063616e20617070726f766520746869736c64697370617463682e204d6179206e6f7420626520656d7074792e59012d20606d617962655f74696d65706f696e74603a20496620746869732069732074686520666972737420617070726f76616c2c207468656e2074686973206d75737420626520604e6f6e65602e20496620697420697351016e6f742074686520666972737420617070726f76616c2c207468656e206974206d7573742062652060536f6d65602c2077697468207468652074696d65706f696e742028626c6f636b206e756d62657220616e64d47472616e73616374696f6e20696e64657829206f662074686520666972737420617070726f76616c207472616e73616374696f6e2e882d206063616c6c603a205468652063616c6c20746f2062652065786563757465642e001d014e4f54453a20556e6c6573732074686973206973207468652066696e616c20617070726f76616c2c20796f752077696c6c2067656e6572616c6c792077616e7420746f20757365190160617070726f76655f61735f6d756c74696020696e73746561642c2073696e6365206974206f6e6c7920726571756972657320612068617368206f66207468652063616c6c2e005901526573756c74206973206571756976616c656e7420746f20746865206469737061746368656420726573756c7420696620607468726573686f6c64602069732065786163746c79206031602e204f746865727769736555016f6e20737563636573732c20726573756c7420697320604f6b6020616e642074686520726573756c742066726f6d2074686520696e746572696f722063616c6c2c206966206974207761732065786563757465642cdc6d617920626520666f756e6420696e20746865206465706f736974656420604d756c7469736967457865637574656460206576656e742e002823203c7765696768743e502d20604f2853202b205a202b2043616c6c29602ecc2d20557020746f206f6e652062616c616e63652d72657365727665206f7220756e72657365727665206f7065726174696f6e2e3d012d204f6e6520706173737468726f756768206f7065726174696f6e2c206f6e6520696e736572742c20626f746820604f285329602077686572652060536020697320746865206e756d626572206f66450120207369676e61746f726965732e206053602069732063617070656420627920604d61785369676e61746f72696573602c207769746820776569676874206265696e672070726f706f7274696f6e616c2e21012d204f6e652063616c6c20656e636f6465202620686173682c20626f7468206f6620636f6d706c657869747920604f285a296020776865726520605a602069732074782d6c656e2ebc2d204f6e6520656e636f6465202620686173682c20626f7468206f6620636f6d706c657869747920604f285329602ed42d20557020746f206f6e652062696e6172792073656172636820616e6420696e736572742028604f286c6f6753202b20532960292ef82d20492f4f3a2031207265616420604f285329602c20757020746f2031206d757461746520604f285329602e20557020746f206f6e652072656d6f76652e302d204f6e65206576656e742e6c2d2054686520776569676874206f6620746865206063616c6c602e4d012d2053746f726167653a20696e7365727473206f6e65206974656d2c2076616c75652073697a6520626f756e64656420627920604d61785369676e61746f72696573602c20776974682061206465706f7369741901202074616b656e20666f7220697473206c69666574696d65206f6620604465706f73697442617365202b207468726573686f6c64202a204465706f736974466163746f72602e7c2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d302d204442205765696768743a2101202020202d2052656164733a204d756c74697369672053746f726167652c205b43616c6c6572204163636f756e745d2c2043616c6c7320286966206073746f72655f63616c6c60292501202020202d205772697465733a204d756c74697369672053746f726167652c205b43616c6c6572204163636f756e745d2c2043616c6c7320286966206073746f72655f63616c6c6029482d20506c75732043616c6c205765696768742c23203c2f7765696768743e40617070726f76655f61735f6d756c74691401247468726573686f6c642101010c7531360001446f746865725f7369676e61746f72696573810201445665633c543a3a4163636f756e7449643e00013c6d617962655f74696d65706f696e74ad0201844f7074696f6e3c54696d65706f696e743c543a3a426c6f636b4e756d6265723e3e00012463616c6c5f686173680401205b75383b2033325d0001286d61785f77656967687418011857656967687400028c5501526567697374657220617070726f76616c20666f72206120646973706174636820746f206265206d6164652066726f6d20612064657465726d696e697374696320636f6d706f73697465206163636f756e74206966f8617070726f766564206279206120746f74616c206f6620607468726573686f6c64202d203160206f6620606f746865725f7369676e61746f72696573602e002d015061796d656e743a20604465706f73697442617365602077696c6c20626520726573657276656420696620746869732069732074686520666972737420617070726f76616c2c20706c75733d01607468726573686f6c64602074696d657320604465706f736974466163746f72602e2049742069732072657475726e6564206f6e636520746869732064697370617463682068617070656e73206f723469732063616e63656c6c65642e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e0055012d20607468726573686f6c64603a2054686520746f74616c206e756d626572206f6620617070726f76616c7320666f722074686973206469737061746368206265666f72652069742069732065786563757465642e41012d20606f746865725f7369676e61746f72696573603a20546865206163636f756e747320286f74686572207468616e207468652073656e646572292077686f2063616e20617070726f766520746869736c64697370617463682e204d6179206e6f7420626520656d7074792e59012d20606d617962655f74696d65706f696e74603a20496620746869732069732074686520666972737420617070726f76616c2c207468656e2074686973206d75737420626520604e6f6e65602e20496620697420697351016e6f742074686520666972737420617070726f76616c2c207468656e206974206d7573742062652060536f6d65602c2077697468207468652074696d65706f696e742028626c6f636b206e756d62657220616e64d47472616e73616374696f6e20696e64657829206f662074686520666972737420617070726f76616c207472616e73616374696f6e2ecc2d206063616c6c5f68617368603a205468652068617368206f66207468652063616c6c20746f2062652065786563757465642e0035014e4f54453a2049662074686973206973207468652066696e616c20617070726f76616c2c20796f752077696c6c2077616e7420746f20757365206061735f6d756c74696020696e73746561642e002823203c7765696768743e242d20604f285329602ecc2d20557020746f206f6e652062616c616e63652d72657365727665206f7220756e72657365727665206f7065726174696f6e2e3d012d204f6e6520706173737468726f756768206f7065726174696f6e2c206f6e6520696e736572742c20626f746820604f285329602077686572652060536020697320746865206e756d626572206f66450120207369676e61746f726965732e206053602069732063617070656420627920604d61785369676e61746f72696573602c207769746820776569676874206265696e672070726f706f7274696f6e616c2ebc2d204f6e6520656e636f6465202620686173682c20626f7468206f6620636f6d706c657869747920604f285329602ed42d20557020746f206f6e652062696e6172792073656172636820616e6420696e736572742028604f286c6f6753202b20532960292ef82d20492f4f3a2031207265616420604f285329602c20757020746f2031206d757461746520604f285329602e20557020746f206f6e652072656d6f76652e302d204f6e65206576656e742e4d012d2053746f726167653a20696e7365727473206f6e65206974656d2c2076616c75652073697a6520626f756e64656420627920604d61785369676e61746f72696573602c20776974682061206465706f7369741901202074616b656e20666f7220697473206c69666574696d65206f6620604465706f73697442617365202b207468726573686f6c64202a204465706f736974466163746f72602e882d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d302d204442205765696768743ab8202020202d20526561643a204d756c74697369672053746f726167652c205b43616c6c6572204163636f756e745dbc202020202d2057726974653a204d756c74697369672053746f726167652c205b43616c6c6572204163636f756e745d2c23203c2f7765696768743e3c63616e63656c5f61735f6d756c74691001247468726573686f6c642101010c7531360001446f746865725f7369676e61746f72696573810201445665633c543a3a4163636f756e7449643e00012474696d65706f696e740d01016454696d65706f696e743c543a3a426c6f636b4e756d6265723e00012463616c6c5f686173680401205b75383b2033325d000368550143616e63656c2061207072652d6578697374696e672c206f6e2d676f696e67206d756c7469736967207472616e73616374696f6e2e20416e79206465706f7369742072657365727665642070726576696f75736c79c4666f722074686973206f7065726174696f6e2077696c6c20626520756e7265736572766564206f6e20737563636573732e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e0055012d20607468726573686f6c64603a2054686520746f74616c206e756d626572206f6620617070726f76616c7320666f722074686973206469737061746368206265666f72652069742069732065786563757465642e41012d20606f746865725f7369676e61746f72696573603a20546865206163636f756e747320286f74686572207468616e207468652073656e646572292077686f2063616e20617070726f766520746869736c64697370617463682e204d6179206e6f7420626520656d7074792e5d012d206074696d65706f696e74603a205468652074696d65706f696e742028626c6f636b206e756d62657220616e64207472616e73616374696f6e20696e64657829206f662074686520666972737420617070726f76616c787472616e73616374696f6e20666f7220746869732064697370617463682ecc2d206063616c6c5f68617368603a205468652068617368206f66207468652063616c6c20746f2062652065786563757465642e002823203c7765696768743e242d20604f285329602ecc2d20557020746f206f6e652062616c616e63652d72657365727665206f7220756e72657365727665206f7065726174696f6e2e3d012d204f6e6520706173737468726f756768206f7065726174696f6e2c206f6e6520696e736572742c20626f746820604f285329602077686572652060536020697320746865206e756d626572206f66450120207369676e61746f726965732e206053602069732063617070656420627920604d61785369676e61746f72696573602c207769746820776569676874206265696e672070726f706f7274696f6e616c2ebc2d204f6e6520656e636f6465202620686173682c20626f7468206f6620636f6d706c657869747920604f285329602e302d204f6e65206576656e742e842d20492f4f3a2031207265616420604f285329602c206f6e652072656d6f76652e702d2053746f726167653a2072656d6f766573206f6e65206974656d2e882d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d302d204442205765696768743a1501202020202d20526561643a204d756c74697369672053746f726167652c205b43616c6c6572204163636f756e745d2c20526566756e64204163636f756e742c2043616c6c731901202020202d2057726974653a204d756c74697369672053746f726167652c205b43616c6c6572204163636f756e745d2c20526566756e64204163636f756e742c2043616c6c732c23203c2f7765696768743e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632ead0204184f7074696f6e040454010d010108104e6f6e6500000010536f6d6504000d010000010000b10210346672616d655f737570706f727418747261697473106d69736344577261707065724b6565704f70617175650404540199010008003d0100000099010104540000b5020c6470616c6c65745f70726f766964655f72616e646f6d6e6573731870616c6c65741043616c6c0404540001041c7265717565737408013c72616e646f6d6e6573735f747970651501013852616e646f6d6e6573735479706500011073616c7420011048323536000004505265717565737420612072616e646f6d6e657373042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632eb9020c3070616c6c65745f70726f78791870616c6c65741043616c6c0404540001281470726f78790c01107265616c000130543a3a4163636f756e744964000140666f7263655f70726f78795f74797065bd0201504f7074696f6e3c543a3a50726f7879547970653e00011063616c6c99010160426f783c3c5420617320436f6e6669673e3a3a43616c6c3e00003c4d0144697370617463682074686520676976656e206063616c6c602066726f6d20616e206163636f756e742074686174207468652073656e64657220697320617574686f726973656420666f72207468726f75676830606164645f70726f7879602e00a852656d6f76657320616e7920636f72726573706f6e64696e6720616e6e6f756e63656d656e742873292e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e002c506172616d65746572733a0d012d20607265616c603a20546865206163636f756e742074686174207468652070726f78792077696c6c206d616b6520612063616c6c206f6e20626568616c66206f662e61012d2060666f7263655f70726f78795f74797065603a2053706563696679207468652065786163742070726f7879207479706520746f206265207573656420616e6420636865636b656420666f7220746869732063616c6c2ed02d206063616c6c603a205468652063616c6c20746f206265206d6164652062792074686520607265616c60206163636f756e742e002823203c7765696768743efc57656967687420697320612066756e6374696f6e206f6620746865206e756d626572206f662070726f7869657320746865207573657220686173202850292e2c23203c2f7765696768743e246164645f70726f78790c012064656c6567617465000130543a3a4163636f756e74496400012870726f78795f747970651d010130543a3a50726f78795479706500011464656c6179100138543a3a426c6f636b4e756d6265720001344501526567697374657220612070726f7879206163636f756e7420666f72207468652073656e64657220746861742069732061626c6520746f206d616b652063616c6c73206f6e2069747320626568616c662e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e002c506172616d65746572733a11012d206070726f7879603a20546865206163636f756e74207468617420746865206063616c6c65726020776f756c64206c696b6520746f206d616b6520612070726f78792efc2d206070726f78795f74797065603a20546865207065726d697373696f6e7320616c6c6f77656420666f7220746869732070726f7879206163636f756e742e4d012d206064656c6179603a2054686520616e6e6f756e63656d656e7420706572696f64207265717569726564206f662074686520696e697469616c2070726f78792e2057696c6c2067656e6572616c6c79206265147a65726f2e002823203c7765696768743efc57656967687420697320612066756e6374696f6e206f6620746865206e756d626572206f662070726f7869657320746865207573657220686173202850292e2c23203c2f7765696768743e3072656d6f76655f70726f78790c012064656c6567617465000130543a3a4163636f756e74496400012870726f78795f747970651d010130543a3a50726f78795479706500011464656c6179100138543a3a426c6f636b4e756d62657200022ca8556e726567697374657220612070726f7879206163636f756e7420666f72207468652073656e6465722e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e002c506172616d65746572733a25012d206070726f7879603a20546865206163636f756e74207468617420746865206063616c6c65726020776f756c64206c696b6520746f2072656d6f766520617320612070726f78792e41012d206070726f78795f74797065603a20546865207065726d697373696f6e732063757272656e746c7920656e61626c656420666f72207468652072656d6f7665642070726f7879206163636f756e742e002823203c7765696768743efc57656967687420697320612066756e6374696f6e206f6620746865206e756d626572206f662070726f7869657320746865207573657220686173202850292e2c23203c2f7765696768743e3872656d6f76655f70726f78696573000328b4556e726567697374657220616c6c2070726f7879206163636f756e747320666f72207468652073656e6465722e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e0055015741524e494e473a2054686973206d61792062652063616c6c6564206f6e206163636f756e747320637265617465642062792060616e6f6e796d6f7573602c20686f776576657220696620646f6e652c207468656e590174686520756e726573657276656420666565732077696c6c20626520696e61636365737369626c652e202a2a416c6c2061636365737320746f2074686973206163636f756e742077696c6c206265206c6f73742e2a2a002823203c7765696768743efc57656967687420697320612066756e6374696f6e206f6620746865206e756d626572206f662070726f7869657320746865207573657220686173202850292e2c23203c2f7765696768743e24616e6f6e796d6f75730c012870726f78795f747970651d010130543a3a50726f78795479706500011464656c6179100138543a3a426c6f636b4e756d626572000114696e6465782101010c75313600045c3901537061776e2061206672657368206e6577206163636f756e7420746861742069732067756172616e7465656420746f206265206f746865727769736520696e61636365737369626c652c20616e64fc696e697469616c697a65206974207769746820612070726f7879206f66206070726f78795f747970656020666f7220606f726967696e602073656e6465722e006c5265717569726573206120605369676e656460206f726967696e2e0051012d206070726f78795f74797065603a205468652074797065206f66207468652070726f78792074686174207468652073656e6465722077696c6c2062652072656769737465726564206173206f766572207468654d016e6577206163636f756e742e20546869732077696c6c20616c6d6f737420616c7761797320626520746865206d6f7374207065726d697373697665206050726f7879547970656020706f737369626c6520746f78616c6c6f7720666f72206d6178696d756d20666c65786962696c6974792e51012d2060696e646578603a204120646973616d626967756174696f6e20696e6465782c20696e206361736520746869732069732063616c6c6564206d756c7469706c652074696d657320696e207468652073616d655d017472616e73616374696f6e2028652e672e207769746820607574696c6974793a3a626174636860292e20556e6c65737320796f75277265207573696e67206062617463686020796f752070726f6261626c79206a7573744077616e7420746f20757365206030602e4d012d206064656c6179603a2054686520616e6e6f756e63656d656e7420706572696f64207265717569726564206f662074686520696e697469616c2070726f78792e2057696c6c2067656e6572616c6c79206265147a65726f2e0051014661696c73207769746820604475706c69636174656020696620746869732068617320616c7265616479206265656e2063616c6c656420696e2074686973207472616e73616374696f6e2c2066726f6d207468659873616d652073656e6465722c2077697468207468652073616d6520706172616d65746572732e00e44661696c732069662074686572652061726520696e73756666696369656e742066756e647320746f2070617920666f72206465706f7369742e002823203c7765696768743efc57656967687420697320612066756e6374696f6e206f6620746865206e756d626572206f662070726f7869657320746865207573657220686173202850292e2c23203c2f7765696768743e8c544f444f3a204d69676874206265206f76657220636f756e74696e6720312072656164386b696c6c5f616e6f6e796d6f757314011c737061776e6572000130543a3a4163636f756e74496400012870726f78795f747970651d010130543a3a50726f787954797065000114696e6465782101010c7531360001186865696768743d010138543a3a426c6f636b4e756d6265720001246578745f696e6465783d01010c753332000550b452656d6f76657320612070726576696f75736c7920737061776e656420616e6f6e796d6f75732070726f78792e0049015741524e494e473a202a2a416c6c2061636365737320746f2074686973206163636f756e742077696c6c206265206c6f73742e2a2a20416e792066756e64732068656c6420696e2069742077696c6c20626534696e61636365737369626c652e0059015265717569726573206120605369676e656460206f726967696e2c20616e64207468652073656e646572206163636f756e74206d7573742068617665206265656e206372656174656420627920612063616c6c20746fa860616e6f6e796d6f757360207769746820636f72726573706f6e64696e6720706172616d65746572732e004d012d2060737061776e6572603a20546865206163636f756e742074686174206f726967696e616c6c792063616c6c65642060616e6f6e796d6f75736020746f206372656174652074686973206163636f756e742e4d012d2060696e646578603a2054686520646973616d626967756174696f6e20696e646578206f726967696e616c6c792070617373656420746f2060616e6f6e796d6f7573602e2050726f6261626c79206030602e01012d206070726f78795f74797065603a205468652070726f78792074797065206f726967696e616c6c792070617373656420746f2060616e6f6e796d6f7573602e3d012d2060686569676874603a2054686520686569676874206f662074686520636861696e207768656e207468652063616c6c20746f2060616e6f6e796d6f757360207761732070726f6365737365642e49012d20606578745f696e646578603a205468652065787472696e73696320696e64657820696e207768696368207468652063616c6c20746f2060616e6f6e796d6f757360207761732070726f6365737365642e0049014661696c73207769746820604e6f5065726d697373696f6e6020696e2063617365207468652063616c6c6572206973206e6f7420612070726576696f75736c79206372656174656420616e6f6e796d6f7573f06163636f756e742077686f73652060616e6f6e796d6f7573602063616c6c2068617320636f72726573706f6e64696e6720706172616d65746572732e002823203c7765696768743efc57656967687420697320612066756e6374696f6e206f6620746865206e756d626572206f662070726f7869657320746865207573657220686173202850292e2c23203c2f7765696768743e20616e6e6f756e63650801107265616c000130543a3a4163636f756e74496400012463616c6c5f6861736820013443616c6c486173684f663c543e00065405015075626c697368207468652068617368206f6620612070726f78792d63616c6c20746861742077696c6c206265206d61646520696e20746865206675747572652e005d0154686973206d7573742062652063616c6c656420736f6d65206e756d626572206f6620626c6f636b73206265666f72652074686520636f72726573706f6e64696e67206070726f78796020697320617474656d7074656425016966207468652064656c6179206173736f6369617465642077697468207468652070726f78792072656c6174696f6e736869702069732067726561746572207468616e207a65726f2e0011014e6f206d6f7265207468616e20604d617850656e64696e676020616e6e6f756e63656d656e7473206d6179206265206d61646520617420616e79206f6e652074696d652e000901546869732077696c6c2074616b652061206465706f736974206f662060416e6e6f756e63656d656e744465706f736974466163746f72602061732077656c6c206173190160416e6e6f756e63656d656e744465706f736974426173656020696620746865726520617265206e6f206f746865722070656e64696e6720616e6e6f756e63656d656e74732e002501546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e6420612070726f7879206f6620607265616c602e002c506172616d65746572733a0d012d20607265616c603a20546865206163636f756e742074686174207468652070726f78792077696c6c206d616b6520612063616c6c206f6e20626568616c66206f662e15012d206063616c6c5f68617368603a205468652068617368206f66207468652063616c6c20746f206265206d6164652062792074686520607265616c60206163636f756e742e002823203c7765696768743e6057656967687420697320612066756e6374696f6e206f663a982d20413a20746865206e756d626572206f6620616e6e6f756e63656d656e7473206d6164652ea02d20503a20746865206e756d626572206f662070726f78696573207468652075736572206861732e2c23203c2f7765696768743e4c72656d6f76655f616e6e6f756e63656d656e740801107265616c000130543a3a4163636f756e74496400012463616c6c5f6861736820013443616c6c486173684f663c543e0007407052656d6f7665206120676976656e20616e6e6f756e63656d656e742e0059014d61792062652063616c6c656420627920612070726f7879206163636f756e7420746f2072656d6f766520612063616c6c20746865792070726576696f75736c7920616e6e6f756e63656420616e642072657475726e30746865206465706f7369742e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e002c506172616d65746572733a0d012d20607265616c603a20546865206163636f756e742074686174207468652070726f78792077696c6c206d616b6520612063616c6c206f6e20626568616c66206f662e15012d206063616c6c5f68617368603a205468652068617368206f66207468652063616c6c20746f206265206d6164652062792074686520607265616c60206163636f756e742e002823203c7765696768743e6057656967687420697320612066756e6374696f6e206f663a982d20413a20746865206e756d626572206f6620616e6e6f756e63656d656e7473206d6164652ea02d20503a20746865206e756d626572206f662070726f78696573207468652075736572206861732e2c23203c2f7765696768743e4c72656a6563745f616e6e6f756e63656d656e7408012064656c6567617465000130543a3a4163636f756e74496400012463616c6c5f6861736820013443616c6c486173684f663c543e000840b052656d6f76652074686520676976656e20616e6e6f756e63656d656e74206f6620612064656c65676174652e0061014d61792062652063616c6c6564206279206120746172676574202870726f7869656429206163636f756e7420746f2072656d6f766520612063616c6c2074686174206f6e65206f662074686569722064656c6567617465732501286064656c656761746560292068617320616e6e6f756e63656420746865792077616e7420746f20657865637574652e20546865206465706f7369742069732072657475726e65642e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e002c506172616d65746572733af42d206064656c6567617465603a20546865206163636f756e7420746861742070726576696f75736c7920616e6e6f756e636564207468652063616c6c2ebc2d206063616c6c5f68617368603a205468652068617368206f66207468652063616c6c20746f206265206d6164652e002823203c7765696768743e6057656967687420697320612066756e6374696f6e206f663a982d20413a20746865206e756d626572206f6620616e6e6f756e63656d656e7473206d6164652ea02d20503a20746865206e756d626572206f662070726f78696573207468652075736572206861732e2c23203c2f7765696768743e3c70726f78795f616e6e6f756e63656410012064656c6567617465000130543a3a4163636f756e7449640001107265616c000130543a3a4163636f756e744964000140666f7263655f70726f78795f74797065bd0201504f7074696f6e3c543a3a50726f7879547970653e00011063616c6c99010160426f783c3c5420617320436f6e6669673e3a3a43616c6c3e0009444d0144697370617463682074686520676976656e206063616c6c602066726f6d20616e206163636f756e742074686174207468652073656e64657220697320617574686f72697a656420666f72207468726f75676830606164645f70726f7879602e00a852656d6f76657320616e7920636f72726573706f6e64696e6720616e6e6f756e63656d656e742873292e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e002c506172616d65746572733a0d012d20607265616c603a20546865206163636f756e742074686174207468652070726f78792077696c6c206d616b6520612063616c6c206f6e20626568616c66206f662e61012d2060666f7263655f70726f78795f74797065603a2053706563696679207468652065786163742070726f7879207479706520746f206265207573656420616e6420636865636b656420666f7220746869732063616c6c2ed02d206063616c6c603a205468652063616c6c20746f206265206d6164652062792074686520607265616c60206163636f756e742e002823203c7765696768743e6057656967687420697320612066756e6374696f6e206f663a982d20413a20746865206e756d626572206f6620616e6e6f756e63656d656e7473206d6164652ea02d20503a20746865206e756d626572206f662070726f78696573207468652075736572206861732e2c23203c2f7765696768743e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632ebd0204184f7074696f6e040454011d010108104e6f6e6500000010536f6d6504001d010000010000c1020c3870616c6c65745f7574696c6974791870616c6c65741043616c6c04045400011014626174636804011463616c6c73c50201605665633c3c5420617320436f6e6669673e3a3a43616c6c3e00004c7c53656e642061206261746368206f662064697370617463682063616c6c732e00784d61792062652063616c6c65642066726f6d20616e79206f726967696e2e005d012d206063616c6c73603a205468652063616c6c7320746f20626520646973706174636865642066726f6d207468652073616d65206f726967696e2e20546865206e756d626572206f662063616c6c206d757374206e6f74390120206578636565642074686520636f6e7374616e743a2060626174636865645f63616c6c735f6c696d6974602028617661696c61626c6520696e20636f6e7374616e74206d65746164617461292e005d014966206f726967696e20697320726f6f74207468656e2063616c6c2061726520646973706174636820776974686f757420636865636b696e67206f726967696e2066696c7465722e20285468697320696e636c75646573c8627970617373696e6720606672616d655f73797374656d3a3a436f6e6669673a3a4261736543616c6c46696c74657260292e002823203c7765696768743e01012d20436f6d706c65786974793a204f284329207768657265204320697320746865206e756d626572206f662063616c6c7320746f20626520626174636865642e2c23203c2f7765696768743e005501546869732077696c6c2072657475726e20604f6b6020696e20616c6c2063697263756d7374616e6365732e20546f2064657465726d696e65207468652073756363657373206f66207468652062617463682c20616e31016576656e74206973206465706f73697465642e20496620612063616c6c206661696c656420616e64207468652062617463682077617320696e7465727275707465642c207468656e207468655501604261746368496e74657272757074656460206576656e74206973206465706f73697465642c20616c6f6e67207769746820746865206e756d626572206f66207375636365737366756c2063616c6c73206d6164654d01616e6420746865206572726f72206f6620746865206661696c65642063616c6c2e20496620616c6c2077657265207375636365737366756c2c207468656e2074686520604261746368436f6d706c65746564604c6576656e74206973206465706f73697465642e3461735f64657269766174697665080114696e6465782101010c75313600011063616c6c99010160426f783c3c5420617320436f6e6669673e3a3a43616c6c3e000134dc53656e6420612063616c6c207468726f75676820616e20696e64657865642070736575646f6e796d206f66207468652073656e6465722e00550146696c7465722066726f6d206f726967696e206172652070617373656420616c6f6e672e205468652063616c6c2077696c6c2062652064697370617463686564207769746820616e206f726967696e207768696368bc757365207468652073616d652066696c74657220617320746865206f726967696e206f6620746869732063616c6c2e0045014e4f54453a20496620796f75206e65656420746f20656e73757265207468617420616e79206163636f756e742d62617365642066696c746572696e67206973206e6f7420686f6e6f7265642028692e652e61016265636175736520796f7520657870656374206070726f78796020746f2068617665206265656e2075736564207072696f7220696e207468652063616c6c20737461636b20616e6420796f7520646f206e6f742077616e7451017468652063616c6c207265737472696374696f6e7320746f206170706c7920746f20616e79207375622d6163636f756e7473292c207468656e20757365206061735f6d756c74695f7468726573686f6c645f31607c696e20746865204d756c74697369672070616c6c657420696e73746561642e00f44e4f54453a205072696f7220746f2076657273696f6e202a31322c2074686973207761732063616c6c6564206061735f6c696d697465645f737562602e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e2462617463685f616c6c04011463616c6c73c50201605665633c3c5420617320436f6e6669673e3a3a43616c6c3e000238ec53656e642061206261746368206f662064697370617463682063616c6c7320616e642061746f6d6963616c6c792065786563757465207468656d2e21015468652077686f6c65207472616e73616374696f6e2077696c6c20726f6c6c6261636b20616e64206661696c20696620616e79206f66207468652063616c6c73206661696c65642e00784d61792062652063616c6c65642066726f6d20616e79206f726967696e2e005d012d206063616c6c73603a205468652063616c6c7320746f20626520646973706174636865642066726f6d207468652073616d65206f726967696e2e20546865206e756d626572206f662063616c6c206d757374206e6f74390120206578636565642074686520636f6e7374616e743a2060626174636865645f63616c6c735f6c696d6974602028617661696c61626c6520696e20636f6e7374616e74206d65746164617461292e005d014966206f726967696e20697320726f6f74207468656e2063616c6c2061726520646973706174636820776974686f757420636865636b696e67206f726967696e2066696c7465722e20285468697320696e636c75646573c8627970617373696e6720606672616d655f73797374656d3a3a436f6e6669673a3a4261736543616c6c46696c74657260292e002823203c7765696768743e01012d20436f6d706c65786974793a204f284329207768657265204320697320746865206e756d626572206f662063616c6c7320746f20626520626174636865642e2c23203c2f7765696768743e2c64697370617463685f617308012461735f6f726967696ec9020154426f783c543a3a50616c6c6574734f726967696e3e00011063616c6c99010160426f783c3c5420617320436f6e6669673e3a3a43616c6c3e000328c84469737061746368657320612066756e6374696f6e2063616c6c207769746820612070726f7669646564206f726967696e2e00c4546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f526f6f745f2e002823203c7765696768743e1c2d204f2831292e602d204c696d697465642073746f726167652072656164732e5c2d204f6e6520444220777269746520286576656e74292e1d012d20576569676874206f662064657269766174697665206063616c6c6020657865637574696f6e202b20543a3a576569676874496e666f3a3a64697370617463685f617328292e2c23203c2f7765696768743e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632ec502000002990100c9020830676465765f72756e74696d65304f726967696e43616c6c657200010c1873797374656d0400cd0201746672616d655f73797374656d3a3a4f726967696e3c52756e74696d653e00000040536d69746873436f6c6c6563746976650400d10201010170616c6c65745f636f6c6c6563746976653a3a4f726967696e3c52756e74696d652c2070616c6c65745f636f6c6c6563746976653a3a496e7374616e6365323e00360010566f69640400310201110173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a566f696400020000cd0208306672616d655f73797374656d245261774f726967696e04244163636f756e7449640100010c10526f6f74000000185369676e656404000001244163636f756e744964000100104e6f6e6500020000d102084470616c6c65745f636f6c6c656374697665245261774f726967696e08244163636f756e7449640100044900010c1c4d656d62657273080010012c4d656d626572436f756e74000010012c4d656d626572436f756e74000000184d656d62657204000001244163636f756e744964000100205f5068616e746f6d00020000d5020c3c70616c6c65745f74726561737572791870616c6c65741043616c6c08045400044900010c3470726f706f73655f7370656e6408011476616c7565d101013c42616c616e63654f663c542c20493e00012c62656e6566696369617279d901018c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f75726365000024290150757420666f727761726420612073756767657374696f6e20666f72207370656e64696e672e2041206465706f7369742070726f706f7274696f6e616c20746f207468652076616c75653101697320726573657276656420616e6420736c6173686564206966207468652070726f706f73616c2069732072656a65637465642e2049742069732072657475726e6564206f6e6365207468655070726f706f73616c20697320617761726465642e002823203c7765696768743e482d20436f6d706c65786974793a204f283129b02d20446252656164733a206050726f706f73616c436f756e74602c20606f726967696e206163636f756e7460e82d2044625772697465733a206050726f706f73616c436f756e74602c206050726f706f73616c73602c20606f726967696e206163636f756e74602c23203c2f7765696768743e3c72656a6563745f70726f706f73616c04012c70726f706f73616c5f69643d01013450726f706f73616c496e646578000124f852656a65637420612070726f706f736564207370656e642e20546865206f726967696e616c206465706f7369742077696c6c20626520736c61736865642e00a84d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a52656a6563744f726967696e602e002823203c7765696768743e482d20436f6d706c65786974793a204f283129cc2d20446252656164733a206050726f706f73616c73602c206072656a65637465642070726f706f736572206163636f756e7460d02d2044625772697465733a206050726f706f73616c73602c206072656a65637465642070726f706f736572206163636f756e74602c23203c2f7765696768743e40617070726f76655f70726f706f73616c04012c70726f706f73616c5f69643d01013450726f706f73616c496e6465780002285901417070726f766520612070726f706f73616c2e2041742061206c617465722074696d652c207468652070726f706f73616c2077696c6c20626520616c6c6f636174656420746f207468652062656e6566696369617279a8616e6420746865206f726967696e616c206465706f7369742077696c6c2062652072657475726e65642e00ac4d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a417070726f76654f726967696e602e002823203c7765696768743e4c2d20436f6d706c65786974793a204f2831292e8c2d20446252656164733a206050726f706f73616c73602c2060417070726f76616c7360582d20446257726974653a2060417070726f76616c73602c23203c2f7765696768743e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632ed9020c4070616c6c65745f7363686564756c65721870616c6c6574144572726f72040454000110404661696c6564546f5363686564756c65000004644661696c656420746f207363686564756c6520612063616c6c204e6f74466f756e640001047c43616e6e6f742066696e6420746865207363686564756c65642063616c6c2e5c546172676574426c6f636b4e756d626572496e50617374000204a4476976656e2074617267657420626c6f636b206e756d62657220697320696e2074686520706173742e4852657363686564756c654e6f4368616e6765000304f052657363686564756c65206661696c6564206265636175736520697420646f6573206e6f74206368616e6765207363686564756c65642074696d652e04ad010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f76332f72756e74696d652f6576656e74732d616e642d6572726f7273290a0909096f6620746869732070616c6c65742e0a090909dd0210346672616d655f737570706f72741c73746f72616765407765616b5f626f756e6465645f766563385765616b426f756e64656456656308045401e102045300000400e50201185665633c543e0000e10200000408b5011800e502000002e10200e90210346672616d655f737570706f72741c73746f726167652c626f756e6465645f76656328426f756e6465645665630804540104045300000400ed0201185665633c543e0000ed020000020400f10204184f7074696f6e04045401040108104e6f6e6500000010536f6d650400040000010000f502084473705f636f6e73656e7375735f62616265584261626545706f6368436f6e66696775726174696f6e000008010463c5010128287536342c2075363429000134616c6c6f7765645f736c6f7473c9010130416c6c6f776564536c6f74730000f9020c2c70616c6c65745f626162651870616c6c6574144572726f7204045400010c60496e76616c696445717569766f636174696f6e50726f6f660000043101416e2065717569766f636174696f6e2070726f6f662070726f76696465642061732070617274206f6620616e2065717569766f636174696f6e207265706f727420697320696e76616c69642e60496e76616c69644b65794f776e65727368697050726f6f66000104310141206b6579206f776e6572736869702070726f6f662070726f76696465642061732070617274206f6620616e2065717569766f636174696f6e207265706f727420697320696e76616c69642e584475706c69636174654f6666656e63655265706f727400020415014120676976656e2065717569766f636174696f6e207265706f72742069732076616c69642062757420616c72656164792070726576696f75736c79207265706f727465642e04ad010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f76332f72756e74696d652f6576656e74732d616e642d6572726f7273290a0909096f6620746869732070616c6c65742e0a090909fd020c7870616c6c65745f64756e697465725f746573745f706172616d657465727314747970657328506172616d65746572730c2c426c6f636b4e756d62657201102443657274436f756e7401102c506572696f64436f756e7401180068014c626162655f65706f63685f6475726174696f6e18012c506572696f64436f756e7400012c636572745f706572696f6410012c426c6f636b4e756d626572000148636572745f6d61785f62795f69737375657210012443657274436f756e74000190636572745f6d696e5f72656365697665645f636572745f746f5f69737375655f6365727410012443657274436f756e74000154636572745f72656e657761626c655f706572696f6410012c426c6f636b4e756d626572000150636572745f76616c69646974795f706572696f6410012c426c6f636b4e756d62657200014c696474795f636f6e6669726d5f706572696f6410012c426c6f636b4e756d626572000150696474795f6372656174696f6e5f706572696f6410012c426c6f636b4e756d6265720001446d656d626572736869705f706572696f6410012c426c6f636b4e756d62657200016c6d656d626572736869705f72656e657761626c655f706572696f6410012c426c6f636b4e756d62657200016470656e64696e675f6d656d626572736869705f706572696f6410012c426c6f636b4e756d62657200014875645f6372656174696f6e5f706572696f6410012c426c6f636b4e756d62657200014075645f72656576616c5f706572696f6410012c426c6f636b4e756d626572000144736d6974685f636572745f706572696f6410012c426c6f636b4e756d626572000160736d6974685f636572745f6d61785f62795f69737375657210012443657274436f756e740001a8736d6974685f636572745f6d696e5f72656365697665645f636572745f746f5f69737375655f6365727410012443657274436f756e7400016c736d6974685f636572745f72656e657761626c655f706572696f6410012c426c6f636b4e756d626572000168736d6974685f636572745f76616c69646974795f706572696f6410012c426c6f636b4e756d62657200015c736d6974685f6d656d626572736869705f706572696f6410012c426c6f636b4e756d626572000184736d6974685f6d656d626572736869705f72656e657761626c655f706572696f6410012c426c6f636b4e756d62657200017c736d6974685f70656e64696e675f6d656d626572736869705f706572696f6410012c426c6f636b4e756d626572000184736d697468735f776f745f66697273745f636572745f6973737561626c655f6f6e10012c426c6f636b4e756d626572000188736d697468735f776f745f6d696e5f636572745f666f725f6d656d6265727368697010012443657274436f756e74000168776f745f66697273745f636572745f6973737561626c655f6f6e10012c426c6f636b4e756d626572000188776f745f6d696e5f636572745f666f725f6372656174655f696474795f726967687410012443657274436f756e7400016c776f745f6d696e5f636572745f666f725f6d656d6265727368697010012443657274436f756e7400000103083c70616c6c65745f62616c616e6365732c4163636f756e7444617461041c42616c616e63650118001001106672656518011c42616c616e6365000120726573657276656418011c42616c616e636500012c6d6973635f66726f7a656e18011c42616c616e63650001286665655f66726f7a656e18011c42616c616e63650000050310346672616d655f737570706f72741c73746f72616765407765616b5f626f756e6465645f766563385765616b426f756e646564566563080454010903045300000400110301185665633c543e00000903083c70616c6c65745f62616c616e6365732c42616c616e63654c6f636b041c42616c616e63650118000c01086964810101384c6f636b4964656e746966696572000118616d6f756e7418011c42616c616e636500011c726561736f6e730d03011c526561736f6e7300000d03083c70616c6c65745f62616c616e6365731c526561736f6e7300010c0c466565000000104d6973630001000c416c6c000200001103000002090300150310346672616d655f737570706f72741c73746f726167652c626f756e6465645f76656328426f756e6465645665630804540119030453000004001d0301185665633c543e00001903083c70616c6c65745f62616c616e6365732c52657365727665446174610844526573657276654964656e7469666965720181011c42616c616e6365011800080108696481010144526573657276654964656e746966696572000118616d6f756e7418011c42616c616e636500001d030000021903002103083c70616c6c65745f62616c616e6365732052656c65617365730001081856315f305f300000001856325f305f300001000025030c3c70616c6c65745f62616c616e6365731870616c6c6574144572726f720804540004490001203856657374696e6742616c616e63650000049856657374696e672062616c616e636520746f6f206869676820746f2073656e642076616c7565544c69717569646974795265737472696374696f6e73000104c44163636f756e74206c6971756964697479207265737472696374696f6e732070726576656e74207769746864726177616c4c496e73756666696369656e7442616c616e63650002047442616c616e636520746f6f206c6f7720746f2073656e642076616c7565484578697374656e7469616c4465706f736974000304e856616c756520746f6f206c6f7720746f20637265617465206163636f756e742064756520746f206578697374656e7469616c206465706f736974244b656570416c6976650004048c5472616e736665722f7061796d656e7420776f756c64206b696c6c206163636f756e745c4578697374696e6756657374696e675363686564756c65000504c8412076657374696e67207363686564756c6520616c72656164792065786973747320666f722074686973206163636f756e742c446561644163636f756e740006048842656e6566696369617279206163636f756e74206d757374207072652d65786973743c546f6f4d616e795265736572766573000704ac4e756d626572206f66206e616d656420726573657276657320657863656564204d6178526573657276657304ad010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f76332f72756e74696d652f6576656e74732d616e642d6572726f7273290a0909096f6620746869732070616c6c65742e0a09090929030c3473705f61726974686d657469632c66697865645f706f696e7424466978656455313238000004002d0301107531323800002d0300000507003103086870616c6c65745f7472616e73616374696f6e5f7061796d656e742052656c6561736573000108245631416e6369656e7400000008563200010000350300000239030039030c346672616d655f737570706f72741c7765696768747358576569676874546f466565436f656666696369656e74041c42616c616e6365011800100134636f6566665f696e746567657218011c42616c616e6365000128636f6566665f667261634501011c50657262696c6c0001206e65676174697665ec0110626f6f6c000118646567726565080108753800003d030c6070616c6c65745f617574686f726974795f6d656d62657273147479706573284d656d6265724461746104244163636f756e7449640100000c01446578706972655f6f6e5f73657373696f6e10013053657373696f6e496e64657800015c6d7573745f726f746174655f6b6579735f6265666f726510013053657373696f6e496e6465780001246f776e65725f6b65790001244163636f756e744964000041030c6070616c6c65745f617574686f726974795f6d656d626572731870616c6c6574144572726f720404540001283c416c7265616479496e636f6d696e6700000440416c726561647920696e636f6d696e6734416c72656164794f6e6c696e6500010438416c7265616479206f6e6c696e653c416c72656164794f7574676f696e6700020440416c7265616479206f7574676f696e67404d656d62657249644e6f74466f756e640003044c4e6f7420666f756e64206f776e6572206b6579384d656d6265724e6f74466f756e64000404404d656d626572206e6f7420666f756e64504e6f744f6e6c696e654e6f72496e636f6d696e67000504704e656974686572206f6e6c696e65206e6f72207363686564756c6564204e6f744f776e6572000604244e6f74206f776e6572244e6f744d656d626572000704284e6f74206d656d6265725853657373696f6e4b6579734e6f7450726f76696465640008046453657373696f6e206b657973206e6f742070726f766964656448546f6f4d616e79417574686f72697469657300090450546f6f206d616e2061417574686f72697469657304ad010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f76332f72756e74696d652f6576656e74732d616e642d6572726f7273290a0909096f6620746869732070616c6c65742e0a09090945030000024903004903084470616c6c65745f617574686f727368697038556e636c65456e7472794974656d0c2c426c6f636b4e756d62657201101048617368012018417574686f72010001083c496e636c7573696f6e486569676874040010012c426c6f636b4e756d62657200000014556e636c650800200110486173680000cc01384f7074696f6e3c417574686f723e000100004d030c4470616c6c65745f617574686f72736869701870616c6c6574144572726f7204045400011c48496e76616c6964556e636c65506172656e740000048854686520756e636c6520706172656e74206e6f7420696e2074686520636861696e2e40556e636c6573416c726561647953657400010480556e636c657320616c72656164792073657420696e2074686520626c6f636b2e34546f6f4d616e79556e636c657300020440546f6f206d616e7920756e636c65732e3047656e65736973556e636c650003045454686520756e636c652069732067656e657369732e30546f6f48696768556e636c650004047c54686520756e636c6520697320746f6f206869676820696e20636861696e2e50556e636c65416c7265616479496e636c756465640005047854686520756e636c6520697320616c726561647920696e636c756465642e204f6c64556e636c65000604b454686520756e636c652069736e277420726563656e7420656e6f75676820746f20626520696e636c756465642e04ad010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f76332f72756e74696d652f6576656e74732d616e642d6572726f7273290a0909096f6620746869732070616c6c65742e0a09090951030c2873705f7374616b696e671c6f6666656e6365384f6666656e636544657461696c7308205265706f727465720100204f6666656e64657201c0000801206f6666656e646572c001204f6666656e6465720001247265706f7274657273810201345665633c5265706f727465723e000055030000040894280059030000025d03005d030000040800f901006103000004086503280065030c1c73705f636f72651863727970746f244b65795479706549640000040038011c5b75383b20345d000069030c3870616c6c65745f73657373696f6e1870616c6c6574144572726f7204045400011430496e76616c696450726f6f6600000460496e76616c6964206f776e6572736869702070726f6f662e5c4e6f4173736f63696174656456616c696461746f7249640001049c4e6f206173736f6369617465642076616c696461746f7220494420666f72206163636f756e742e344475706c6963617465644b65790002046452656769737465726564206475706c6963617465206b65792e184e6f4b657973000304a44e6f206b65797320617265206173736f63696174656420776974682074686973206163636f756e742e244e6f4163636f756e7400040419014b65792073657474696e67206163636f756e74206973206e6f74206c6976652c20736f206974277320696d706f737369626c6520746f206173736f6369617465206b6579732e04744572726f7220666f72207468652073657373696f6e2070616c6c65742e6d03083870616c6c65745f6772616e6470612c53746f726564537461746504044e01100110104c6976650000003050656e64696e6750617573650801307363686564756c65645f61741001044e00011464656c61791001044e000100185061757365640002003450656e64696e67526573756d650801307363686564756c65645f61741001044e00011464656c61791001044e000300007103083870616c6c65745f6772616e6470614c53746f72656450656e64696e674368616e676508044e0110144c696d697400001001307363686564756c65645f61741001044e00011464656c61791001044e0001406e6578745f617574686f7269746965737503016c426f756e646564417574686f726974794c6973743c4c696d69743e000118666f726365648d0201244f7074696f6e3c4e3e0000750310346672616d655f737570706f72741c73746f72616765407765616b5f626f756e6465645f766563385765616b426f756e64656456656308045401a4045300000400a001185665633c543e000079030c3870616c6c65745f6772616e6470611870616c6c6574144572726f7204045400011c2c50617573654661696c65640000080501417474656d707420746f207369676e616c204752414e445041207061757365207768656e2074686520617574686f72697479207365742069736e2774206c697665a42865697468657220706175736564206f7220616c72656164792070656e64696e67207061757365292e30526573756d654661696c65640001081101417474656d707420746f207369676e616c204752414e44504120726573756d65207768656e2074686520617574686f72697479207365742069736e277420706175736564a028656974686572206c697665206f7220616c72656164792070656e64696e6720726573756d65292e344368616e676550656e64696e67000204e8417474656d707420746f207369676e616c204752414e445041206368616e67652077697468206f6e6520616c72656164792070656e64696e672e1c546f6f536f6f6e000304bc43616e6e6f74207369676e616c20666f72636564206368616e676520736f20736f6f6e206166746572206c6173742e60496e76616c69644b65794f776e65727368697050726f6f66000404310141206b6579206f776e6572736869702070726f6f662070726f76696465642061732070617274206f6620616e2065717569766f636174696f6e207265706f727420697320696e76616c69642e60496e76616c696445717569766f636174696f6e50726f6f660005043101416e2065717569766f636174696f6e2070726f6f662070726f76696465642061732070617274206f6620616e2065717569766f636174696f6e207265706f727420697320696e76616c69642e584475706c69636174654f6666656e63655265706f727400060415014120676976656e2065717569766f636174696f6e207265706f72742069732076616c69642062757420616c72656164792070726576696f75736c79207265706f727465642e04ad010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f76332f72756e74696d652f6576656e74732d616e642d6572726f7273290a0909096f6620746869732070616c6c65742e0a0909097d0310346672616d655f737570706f72741c73746f72616765407765616b5f626f756e6465645f766563385765616b426f756e64656456656308045401b4045300000400810301185665633c543e00008103000002b400850310346672616d655f737570706f727418747261697473106d69736334577261707065724f70617175650404540189030008003d01000000890301045400008903084070616c6c65745f696d5f6f6e6c696e6564426f756e6465644f70617175654e6574776f726b53746174650c4c506565724964456e636f64696e674c696d697400584d756c746941646472456e636f64696e674c696d697400384164647265737365734c696d6974000008011c706565725f69648d03019c5765616b426f756e6465645665633c75382c20506565724964456e636f64696e674c696d69743e00014865787465726e616c5f6164647265737365739103012d015765616b426f756e6465645665633c5765616b426f756e6465645665633c75382c204d756c746941646472456e636f64696e674c696d69743e2c204164647265737365734c696d69740a3e00008d0310346672616d655f737570706f72741c73746f72616765407765616b5f626f756e6465645f766563385765616b426f756e64656456656308045401080453000004002801185665633c543e0000910310346672616d655f737570706f72741c73746f72616765407765616b5f626f756e6465645f766563385765616b426f756e646564566563080454018d03045300000400950301185665633c543e000095030000028d03009903000004081000009d030c4070616c6c65745f696d5f6f6e6c696e651870616c6c6574144572726f7204045400010828496e76616c69644b6579000004604e6f6e206578697374656e74207075626c6963206b65792e4c4475706c696361746564486561727462656174000104544475706c696361746564206865617274626561742e04ad010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f76332f72756e74696d652f6576656e74732d616e642d6572726f7273290a0909096f6620746869732070616c6c65742e0a090909a1030c2c70616c6c65745f7375646f1870616c6c6574144572726f720404540001042c526571756972655375646f0000047c53656e646572206d75737420626520746865205375646f206163636f756e7404644572726f7220666f7220746865205375646f2070616c6c6574a503083c70616c6c65745f707265696d616765345265717565737453746174757308244163636f756e74496401001c42616c616e6365011801082c556e7265717565737465640400a90301704f7074696f6e3c284163636f756e7449642c2042616c616e6365293e00000024526571756573746564040010010c75333200010000a90304184f7074696f6e04045401ad030108104e6f6e6500000010536f6d650400ad030000010000ad0300000408001800b10310346672616d655f737570706f72741c73746f726167652c626f756e6465645f76656328426f756e64656456656308045401080453000004002801185665633c543e0000b5030c3c70616c6c65745f707265696d6167651870616c6c6574144572726f7204045400011820546f6f4c61726765000004a0507265696d61676520697320746f6f206c6172676520746f2073746f7265206f6e2d636861696e2e30416c72656164794e6f746564000104a4507265696d6167652068617320616c7265616479206265656e206e6f746564206f6e2d636861696e2e344e6f74417574686f72697a6564000204c85468652075736572206973206e6f7420617574686f72697a656420746f20706572666f726d207468697320616374696f6e2e204e6f744e6f746564000304fc54686520707265696d6167652063616e6e6f742062652072656d6f7665642073696e636520697420686173206e6f7420796574206265656e206e6f7465642e2452657175657374656400040409014120707265696d616765206d6179206e6f742062652072656d6f766564207768656e20746865726520617265206f75747374616e64696e672072657175657374732e304e6f745265717565737465640005042d0154686520707265696d61676520726571756573742063616e6e6f742062652072656d6f7665642073696e6365206e6f206f75747374616e64696e672072657175657374732065786973742e04ad010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f76332f72756e74696d652f6576656e74732d616e642d6572726f7273290a0909096f6620746869732070616c6c65742e0a090909b9030c3c70616c6c65745f6964656e74697479147479706573244964747956616c7565082c426c6f636b4e756d6265720110244163636f756e7449640100001001686e6578745f637265617461626c655f6964656e746974795f6f6e10012c426c6f636b4e756d6265720001246f776e65725f6b65790001244163636f756e74496400013072656d6f7661626c655f6f6e10012c426c6f636b4e756d626572000118737461747573bd030128496474795374617475730000bd030c3c70616c6c65745f6964656e74697479147479706573284964747953746174757300010c1c4372656174656400000040436f6e6669726d656442794f776e65720001002456616c69646174656400020000c103000002c50300c5030000040810bd0300c9030c3c70616c6c65745f6964656e746974791870616c6c6574144572726f7204045400015448496e76616c696447656e65736973486173680000046c47656e65736973206861736820646f6573206e6f74206d6174636858496e76616c69645265766f636174696f6e50726f6f660001049c5265766f636174696f6e207061796c6f6164207369676e617475726520697320696e76616c69647443726561746f724e6f74416c6c6f776564546f43726561746549647479000204a043726561746f72206e6f7420616c6c6f77656420746f20637265617465206964656e7469746965735049647479416c7265616479436f6e6669726d6564000304684964656e7469747920616c726561647920636f6e6669726d65644849647479416c726561647943726561746564000404604964656e7469747920616c726561647920637265617465645049647479416c726561647956616c696461746564000504684964656e7469747920616c72656164792076616c69646174656458496474794372656174696f6e4e6f74416c6c6f776564000604c0596f7520617265206e6f7420616c6c6f77656420746f206372656174652061206e6577206964656e74697479206e6f774449647479496e6465784e6f74466f756e64000704604964656e7469747920696e646578206e6f7420666f756e6450496474794e616d65416c72656164794578697374000804704964656e74697479206e616d6520616c7265616479206578697374733c496474794e616d65496e76616c696400090454496e76616c6964206964656e74697479206e616d655c496474794e6f74436f6e6669726d656442794f776e6572000a048c4964656e74697479206e6f7420636f6e6669726d656420627920697473206f776e657230496474794e6f74466f756e64000b04484964656e74697479206e6f7420666f756e6434496474794e6f744d656d626572000c044c4964656e74697479206e6f74206d656d62657240496474794e6f7456616c696461746564000d04584964656e74697479206e6f742076616c6964617465644c496474794e6f7459657452656e657761626c65000e04684964656e74697479206e6f74207965742072656e657761626c655c4e6f74416c6c6f776564546f436f6e6669726d49647479000f047c4e6f7420616c6c6f77656420746f20636f6e6669726d206964656e74697479604e6f74416c6c6f776564546f56616c696461746549647479001004804e6f7420616c6c6f77656420746f2076616c6964617465206964656e746974793c4e6f7453616d65496474794e616d65001104684e6f74207468652073616d65206964656e74697479206e616d65445269676874416c726561647941646465640012044c526967687420616c72656164792061646465643452696768744e6f74457869737400130450526967687420646f6573206e6f74206578697374704e6f7452657370656374496474794372656174696f6e506572696f64001404a44964656e74697479206372656174696f6e20706572696f64206973206e6f742072657370656374656404ad010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f76332f72756e74696d652f6576656e74732d616e642d6572726f7273290a0909096f6620746869732070616c6c65742e0a090909cd03083473705f6d656d62657273686970384d656d6265727368697044617461042c426c6f636b4e756d6265720110000801246578706972655f6f6e10012c426c6f636b4e756d62657200013072656e657761626c655f6f6e10012c426c6f636b4e756d6265720000d1030c4470616c6c65745f6d656d626572736869701870616c6c6574144572726f7208045400044900012c84496474794e6f74416c6c6f776564546f526571756573744d656d62657273686970000004a84964656e74697479206e6f7420616c6c6f77656420746f2072657175657374206d656d626572736869707c496474794e6f74416c6c6f776564546f52656e65774d656d62657273686970000104a04964656e74697479206e6f7420616c6c6f77656420746f2072656e6577206d656d626572736869703c496e76616c69644d6574614461746100020444496e76616c6964206d6574612064617461384964747949644e6f74466f756e64000304544964656e74697479206964206e6f7420666f756e64644d656d62657273686970416c726561647941637175697265640004046c4d656d6265727368697020616c7265616479206163717569726564684d656d62657273686970416c7265616479526571756573746564000504704d656d6265727368697020616c726561647920726571756573746564644d656d626572736869704e6f7459657452656e657761626c65000604704d656d62657273686970206e6f74207965742072656e657761626c65484d656d626572736869704e6f74466f756e64000704504d656d62657273686970206e6f7420666f756e64644f726967696e4e6f74416c6c6f776564546f557365496474790008049c4f726967696e206e6f7420616c6c6f77656420746f207573652074686973206964656e74697479644d656d62657273686970526571756573744e6f74466f756e64000904704d656d626572736869702072657175657374206e6f7420666f756e64644d656d626572736869705265766f6b6564526563656e746c79000a046c4d656d62657273686970207265766f6b656420726563656e746c7904ad010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f76332f72756e74696d652f6576656e74732d616e642d6572726f7273290a0909096f6620746869732070616c6c65742e0a090909d5030c5070616c6c65745f63657274696669636174696f6e1474797065733049647479436572744d657461042c426c6f636b4e756d6265720110000c01306973737565645f636f756e7410010c7533320001406e6578745f6973737561626c655f6f6e10012c426c6f636b4e756d62657200013872656365697665645f636f756e7410010c7533320000d9030c5070616c6c65745f63657274696669636174696f6e147479706573244365727456616c7565042c426c6f636b4e756d62657201100008013072656e657761626c655f6f6e10012c426c6f636b4e756d62657200013072656d6f7661626c655f6f6e10012c426c6f636b4e756d6265720000dd030c5070616c6c65745f63657274696669636174696f6e1870616c6c6574144572726f720804540004490001244443616e6e6f744365727469667953656c6600000484416e206964656e746974792063616e6e6f74206365727469667920697473656c6638436572744e6f74416c6c6f7765640001047043657274696669636174696f6e206e6f6e206175746f726973c3a96588496474794d7573745265636569766543657274734265666f726543616e49737375650002040501416e206964656e74697479206d75737420726563656976652063657274696669636174696f6e73206265666f72652069742063616e206973737565207468656d2e44497373756564546f6f4d616e7943657274000304150154686973206964656e746974792068617320616c72656164792069737375656420746865206d6178696d756d206e756d626572206f662063657274696669636174696f6e73384973737565724e6f74466f756e6400040440497373756572206e6f7420666f756e64544e6f74456e6f756768436572745265636569766564000504884e6f7420656e6f7567682063657274696669636174696f6e73207265636569766564504e6f745265737065637443657274506572696f64000604f454686973206964656e746974792068617320616c72656164792069737375656420612063657274696669636174696f6e20746f6f20726563656e746c79644e6f745265737065637452656e657761626c65506572696f64000704f8546869732063657274696669636174696f6e2068617320616c7265616479206265656e20697373756564206f722072656e6577656420726563656e746c794052656365697665724e6f74466f756e64000804485265636569766572206e6f7420666f756e6404ad010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f76332f72756e74696d652f6576656e74732d616e642d6572726f7273290a0909096f6620746869732070616c6c65742e0a090909e1030c4470616c6c65745f6d656d626572736869701870616c6c6574144572726f7208045400044900012c84496474794e6f74416c6c6f776564546f526571756573744d656d62657273686970000004a84964656e74697479206e6f7420616c6c6f77656420746f2072657175657374206d656d626572736869707c496474794e6f74416c6c6f776564546f52656e65774d656d62657273686970000104a04964656e74697479206e6f7420616c6c6f77656420746f2072656e6577206d656d626572736869703c496e76616c69644d6574614461746100020444496e76616c6964206d6574612064617461384964747949644e6f74466f756e64000304544964656e74697479206964206e6f7420666f756e64644d656d62657273686970416c726561647941637175697265640004046c4d656d6265727368697020616c7265616479206163717569726564684d656d62657273686970416c7265616479526571756573746564000504704d656d6265727368697020616c726561647920726571756573746564644d656d626572736869704e6f7459657452656e657761626c65000604704d656d62657273686970206e6f74207965742072656e657761626c65484d656d626572736869704e6f74466f756e64000704504d656d62657273686970206e6f7420666f756e64644f726967696e4e6f74416c6c6f776564546f557365496474790008049c4f726967696e206e6f7420616c6c6f77656420746f207573652074686973206964656e74697479644d656d62657273686970526571756573744e6f74466f756e64000904704d656d626572736869702072657175657374206e6f7420666f756e64644d656d626572736869705265766f6b6564526563656e746c79000a046c4d656d62657273686970207265766f6b656420726563656e746c7904ad010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f76332f72756e74696d652f6576656e74732d616e642d6572726f7273290a0909096f6620746869732070616c6c65742e0a090909e5030c5070616c6c65745f63657274696669636174696f6e1870616c6c6574144572726f720804540004490001244443616e6e6f744365727469667953656c6600000484416e206964656e746974792063616e6e6f74206365727469667920697473656c6638436572744e6f74416c6c6f7765640001047043657274696669636174696f6e206e6f6e206175746f726973c3a96588496474794d7573745265636569766543657274734265666f726543616e49737375650002040501416e206964656e74697479206d75737420726563656976652063657274696669636174696f6e73206265666f72652069742063616e206973737565207468656d2e44497373756564546f6f4d616e7943657274000304150154686973206964656e746974792068617320616c72656164792069737375656420746865206d6178696d756d206e756d626572206f662063657274696669636174696f6e73384973737565724e6f74466f756e6400040440497373756572206e6f7420666f756e64544e6f74456e6f756768436572745265636569766564000504884e6f7420656e6f7567682063657274696669636174696f6e73207265636569766564504e6f745265737065637443657274506572696f64000604f454686973206964656e746974792068617320616c72656164792069737375656420612063657274696669636174696f6e20746f6f20726563656e746c79644e6f745265737065637452656e657761626c65506572696f64000704f8546869732063657274696669636174696f6e2068617320616c7265616479206265656e20697373756564206f722072656e6577656420726563656e746c794052656365697665724e6f74466f756e64000804485265636569766572206e6f7420666f756e6404ad010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f76332f72756e74696d652f6576656e74732d616e642d6572726f7273290a0909096f6620746869732070616c6c65742e0a090909e90310346672616d655f737570706f72741c73746f726167652c626f756e6465645f76656328426f756e6465645665630804540120045300000400310101185665633c543e0000ed03084470616c6c65745f636f6c6c65637469766514566f74657308244163636f756e74496401002c426c6f636b4e756d626572011000140114696e64657810013450726f706f73616c496e6465780001247468726573686f6c6410012c4d656d626572436f756e7400011061796573810201385665633c4163636f756e7449643e0001106e617973810201385665633c4163636f756e7449643e00010c656e6410012c426c6f636b4e756d6265720000f1030c4470616c6c65745f636f6c6c6563746976651870616c6c6574144572726f72080454000449000128244e6f744d656d6265720000045c4163636f756e74206973206e6f742061206d656d626572444475706c696361746550726f706f73616c0001047c4475706c69636174652070726f706f73616c73206e6f7420616c6c6f7765643c50726f706f73616c4d697373696e670002044c50726f706f73616c206d7573742065786973742857726f6e67496e646578000304404d69736d61746368656420696e646578344475706c6963617465566f7465000404584475706c696361746520766f74652069676e6f72656448416c7265616479496e697469616c697a6564000504804d656d626572732061726520616c726561647920696e697469616c697a65642120546f6f4561726c79000604010154686520636c6f73652063616c6c20776173206d61646520746f6f206561726c792c206265666f72652074686520656e64206f662074686520766f74696e672e40546f6f4d616e7950726f706f73616c73000704fc54686572652063616e206f6e6c792062652061206d6178696d756d206f6620604d617850726f706f73616c7360206163746976652070726f706f73616c732e4c57726f6e6750726f706f73616c576569676874000804d054686520676976656e2077656967687420626f756e6420666f72207468652070726f706f73616c2077617320746f6f206c6f772e4c57726f6e6750726f706f73616c4c656e677468000904d054686520676976656e206c656e67746820626f756e6420666f72207468652070726f706f73616c2077617320746f6f206c6f772e04ad010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f76332f72756e74696d652f6576656e74732d616e642d6572726f7273290a0909096f6620746869732070616c6c65742e0a090909f50300000408000400f9030c4870616c6c65745f61746f6d69635f737761701870616c6c6574144572726f7204045400012030416c72656164794578697374000004505377617020616c7265616479206578697374732e30496e76616c696450726f6f6600010458537761702070726f6f6620697320696e76616c69642e3450726f6f66546f6f4c617267650002044c50726f6f6620697320746f6f206c617267652e38536f757263654d69736d6174636800030458536f7572636520646f6573206e6f74206d617463682e38416c7265616479436c61696d656400040478537761702068617320616c7265616479206265656e20636c61696d65642e204e6f744578697374000504505377617020646f6573206e6f742065786973742e4c436c61696d416374696f6e4d69736d6174636800060458436c61696d20616374696f6e206d69736d617463682e444475726174696f6e4e6f74506173736564000704e44475726174696f6e20686173206e6f74207965742070617373656420666f7220746865207377617020746f2062652063616e63656c6c65642e04ad010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f76332f72756e74696d652f6576656e74732d616e642d6572726f7273290a0909096f6620746869732070616c6c65742e0a090909fd03083c70616c6c65745f6d756c7469736967204d756c74697369670c2c426c6f636b4e756d62657201101c42616c616e63650118244163636f756e7449640100001001107768656e0d01015854696d65706f696e743c426c6f636b4e756d6265723e00011c6465706f73697418011c42616c616e63650001246465706f7369746f720001244163636f756e744964000124617070726f76616c73810201385665633c4163636f756e7449643e000001040000040cb10200180005040c3c70616c6c65745f6d756c74697369671870616c6c6574144572726f72040454000138404d696e696d756d5468726573686f6c640000047c5468726573686f6c64206d7573742062652032206f7220677265617465722e3c416c7265616479417070726f766564000104ac43616c6c20697320616c726561647920617070726f7665642062792074686973207369676e61746f72792e444e6f417070726f76616c734e65656465640002049c43616c6c20646f65736e2774206e65656420616e7920286d6f72652920617070726f76616c732e44546f6f4665775369676e61746f72696573000304a854686572652061726520746f6f20666577207369676e61746f7269657320696e20746865206c6973742e48546f6f4d616e795369676e61746f72696573000404ac54686572652061726520746f6f206d616e79207369676e61746f7269657320696e20746865206c6973742e545369676e61746f726965734f75744f664f726465720005040d01546865207369676e61746f7269657320776572652070726f7669646564206f7574206f66206f726465723b20746865792073686f756c64206265206f7264657265642e4c53656e646572496e5369676e61746f726965730006040d015468652073656e6465722077617320636f6e7461696e656420696e20746865206f74686572207369676e61746f726965733b2069742073686f756c646e27742062652e204e6f74466f756e64000704dc4d756c7469736967206f7065726174696f6e206e6f7420666f756e64207768656e20617474656d7074696e6720746f2063616e63656c2e204e6f744f776e65720008042d014f6e6c7920746865206163636f756e742074686174206f726967696e616c6c79206372656174656420746865206d756c74697369672069732061626c6520746f2063616e63656c2069742e2c4e6f54696d65706f696e740009041d014e6f2074696d65706f696e742077617320676976656e2c2079657420746865206d756c7469736967206f7065726174696f6e20697320616c726561647920756e6465727761792e3857726f6e6754696d65706f696e74000a042d014120646966666572656e742074696d65706f696e742077617320676976656e20746f20746865206d756c7469736967206f7065726174696f6e207468617420697320756e6465727761792e4c556e657870656374656454696d65706f696e74000b04f4412074696d65706f696e742077617320676976656e2c20796574206e6f206d756c7469736967206f7065726174696f6e20697320756e6465727761792e3c4d6178576569676874546f6f4c6f77000c04d0546865206d6178696d756d2077656967687420696e666f726d6174696f6e2070726f76696465642077617320746f6f206c6f772e34416c726561647953746f726564000d04a0546865206461746120746f2062652073746f72656420697320616c72656164792073746f7265642e04ad010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f76332f72756e74696d652f6576656e74732d616e642d6572726f7273290a0909096f6620746869732070616c6c65742e0a09090909040000020d04000d040c6470616c6c65745f70726f766964655f72616e646f6d6e6573731474797065731c526571756573740000080128726571756573745f696418012452657175657374496400011073616c7420011048323536000011040c6470616c6c65745f70726f766964655f72616e646f6d6e6573731870616c6c6574144572726f720404540001042446756c6c5175657565000004945468652071756575652069732066756c6c2c20706c65617379207265747279206c6174657204ad010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f76332f72756e74696d652f6576656e74732d616e642d6572726f7273290a0909096f6620746869732070616c6c65742e0a09090915040000040819041800190410346672616d655f737570706f72741c73746f726167652c626f756e6465645f76656328426f756e646564566563080454011d04045300000400210401185665633c543e00001d04083070616c6c65745f70726f78793c50726f7879446566696e6974696f6e0c244163636f756e74496401002450726f787954797065011d012c426c6f636b4e756d6265720110000c012064656c65676174650001244163636f756e74496400012870726f78795f747970651d01012450726f78795479706500011464656c617910012c426c6f636b4e756d626572000021040000021d040025040000040829041800290410346672616d655f737570706f72741c73746f726167652c626f756e6465645f76656328426f756e646564566563080454012d04045300000400310401185665633c543e00002d04083070616c6c65745f70726f787930416e6e6f756e63656d656e740c244163636f756e7449640100104861736801202c426c6f636b4e756d6265720110000c01107265616c0001244163636f756e74496400012463616c6c5f686173682001104861736800011868656967687410012c426c6f636b4e756d626572000031040000022d040035040c3070616c6c65745f70726f78791870616c6c6574144572726f720404540001201c546f6f4d616e79000004210154686572652061726520746f6f206d616e792070726f786965732072656769737465726564206f7220746f6f206d616e7920616e6e6f756e63656d656e74732070656e64696e672e204e6f74466f756e640001047450726f787920726567697374726174696f6e206e6f7420666f756e642e204e6f7450726f7879000204cc53656e646572206973206e6f7420612070726f7879206f6620746865206163636f756e7420746f2062652070726f786965642e2c556e70726f787961626c650003042101412063616c6c20776869636820697320696e636f6d70617469626c652077697468207468652070726f7879207479706527732066696c7465722077617320617474656d707465642e244475706c69636174650004046c4163636f756e7420697320616c726561647920612070726f78792e304e6f5065726d697373696f6e000504150143616c6c206d6179206e6f74206265206d6164652062792070726f78792062656361757365206974206d617920657363616c617465206974732070726976696c656765732e2c556e616e6e6f756e636564000604d0416e6e6f756e63656d656e742c206966206d61646520617420616c6c2c20776173206d61646520746f6f20726563656e746c792e2c4e6f53656c6650726f78790007046443616e6e6f74206164642073656c662061732070726f78792e04ad010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f76332f72756e74696d652f6576656e74732d616e642d6572726f7273290a0909096f6620746869732070616c6c65742e0a09090939040c3870616c6c65745f7574696c6974791870616c6c6574144572726f7204045400010430546f6f4d616e7943616c6c730000045c546f6f206d616e792063616c6c7320626174636865642e04ad010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f76332f72756e74696d652f6576656e74732d616e642d6572726f7273290a0909096f6620746869732070616c6c65742e0a0909093d04083c70616c6c65745f74726561737572792050726f706f73616c08244163636f756e74496401001c42616c616e636501180010012070726f706f7365720001244163636f756e74496400011476616c756518011c42616c616e636500012c62656e65666963696172790001244163636f756e744964000110626f6e6418011c42616c616e63650000410410346672616d655f737570706f72741c73746f726167652c626f756e6465645f76656328426f756e64656456656308045401100453000004008c01185665633c543e000045040c3473705f61726974686d65746963287065725f7468696e67731c5065726d696c6c0000040010010c7533320000490408346672616d655f737570706f72742050616c6c65744964000004008101011c5b75383b20385d00004d040c3c70616c6c65745f74726561737572791870616c6c6574144572726f7208045400044900010c70496e73756666696369656e7450726f706f7365727342616c616e63650000047850726f706f73657227732062616c616e636520697320746f6f206c6f772e30496e76616c6964496e646578000104904e6f2070726f706f73616c206f7220626f756e7479206174207468617420696e6465782e40546f6f4d616e79417070726f76616c7300020480546f6f206d616e7920617070726f76616c7320696e207468652071756575652e04784572726f7220666f72207468652074726561737572792070616c6c65742e5104102873705f72756e74696d651c67656e657269634c756e636865636b65645f65787472696e73696348556e636865636b656445787472696e736963101c4164647265737301d9011043616c6c019901245369676e6174757265016d021445787472610155040004002800000055040000042059045d0461046504690471047504790400590410306672616d655f73797374656d28657874656e73696f6e7354636865636b5f6e6f6e5f7a65726f5f73656e64657248436865636b4e6f6e5a65726f53656e646572040454000000005d0410306672616d655f73797374656d28657874656e73696f6e7348636865636b5f737065635f76657273696f6e40436865636b5370656356657273696f6e04045400000000610410306672616d655f73797374656d28657874656e73696f6e7340636865636b5f74785f76657273696f6e38436865636b547856657273696f6e04045400000000650410306672616d655f73797374656d28657874656e73696f6e7334636865636b5f67656e6573697330436865636b47656e6573697304045400000000690410306672616d655f73797374656d28657874656e73696f6e733c636865636b5f6d6f7274616c69747938436865636b4d6f7274616c697479040454000004006d04010c45726100006d04102873705f72756e74696d651c67656e657269630c6572610c4572610001010420496d6d6f7274616c0000001c4d6f7274616c31040008000001001c4d6f7274616c32040008000002001c4d6f7274616c33040008000003001c4d6f7274616c34040008000004001c4d6f7274616c35040008000005001c4d6f7274616c36040008000006001c4d6f7274616c37040008000007001c4d6f7274616c38040008000008001c4d6f7274616c3904000800000900204d6f7274616c313004000800000a00204d6f7274616c313104000800000b00204d6f7274616c313204000800000c00204d6f7274616c313304000800000d00204d6f7274616c313404000800000e00204d6f7274616c313504000800000f00204d6f7274616c313604000800001000204d6f7274616c313704000800001100204d6f7274616c313804000800001200204d6f7274616c313904000800001300204d6f7274616c323004000800001400204d6f7274616c323104000800001500204d6f7274616c323204000800001600204d6f7274616c323304000800001700204d6f7274616c323404000800001800204d6f7274616c323504000800001900204d6f7274616c323604000800001a00204d6f7274616c323704000800001b00204d6f7274616c323804000800001c00204d6f7274616c323904000800001d00204d6f7274616c333004000800001e00204d6f7274616c333104000800001f00204d6f7274616c333204000800002000204d6f7274616c333304000800002100204d6f7274616c333404000800002200204d6f7274616c333504000800002300204d6f7274616c333604000800002400204d6f7274616c333704000800002500204d6f7274616c333804000800002600204d6f7274616c333904000800002700204d6f7274616c343004000800002800204d6f7274616c343104000800002900204d6f7274616c343204000800002a00204d6f7274616c343304000800002b00204d6f7274616c343404000800002c00204d6f7274616c343504000800002d00204d6f7274616c343604000800002e00204d6f7274616c343704000800002f00204d6f7274616c343804000800003000204d6f7274616c343904000800003100204d6f7274616c353004000800003200204d6f7274616c353104000800003300204d6f7274616c353204000800003400204d6f7274616c353304000800003500204d6f7274616c353404000800003600204d6f7274616c353504000800003700204d6f7274616c353604000800003800204d6f7274616c353704000800003900204d6f7274616c353804000800003a00204d6f7274616c353904000800003b00204d6f7274616c363004000800003c00204d6f7274616c363104000800003d00204d6f7274616c363204000800003e00204d6f7274616c363304000800003f00204d6f7274616c363404000800004000204d6f7274616c363504000800004100204d6f7274616c363604000800004200204d6f7274616c363704000800004300204d6f7274616c363804000800004400204d6f7274616c363904000800004500204d6f7274616c373004000800004600204d6f7274616c373104000800004700204d6f7274616c373204000800004800204d6f7274616c373304000800004900204d6f7274616c373404000800004a00204d6f7274616c373504000800004b00204d6f7274616c373604000800004c00204d6f7274616c373704000800004d00204d6f7274616c373804000800004e00204d6f7274616c373904000800004f00204d6f7274616c383004000800005000204d6f7274616c383104000800005100204d6f7274616c383204000800005200204d6f7274616c383304000800005300204d6f7274616c383404000800005400204d6f7274616c383504000800005500204d6f7274616c383604000800005600204d6f7274616c383704000800005700204d6f7274616c383804000800005800204d6f7274616c383904000800005900204d6f7274616c393004000800005a00204d6f7274616c393104000800005b00204d6f7274616c393204000800005c00204d6f7274616c393304000800005d00204d6f7274616c393404000800005e00204d6f7274616c393504000800005f00204d6f7274616c393604000800006000204d6f7274616c393704000800006100204d6f7274616c393804000800006200204d6f7274616c393904000800006300244d6f7274616c31303004000800006400244d6f7274616c31303104000800006500244d6f7274616c31303204000800006600244d6f7274616c31303304000800006700244d6f7274616c31303404000800006800244d6f7274616c31303504000800006900244d6f7274616c31303604000800006a00244d6f7274616c31303704000800006b00244d6f7274616c31303804000800006c00244d6f7274616c31303904000800006d00244d6f7274616c31313004000800006e00244d6f7274616c31313104000800006f00244d6f7274616c31313204000800007000244d6f7274616c31313304000800007100244d6f7274616c31313404000800007200244d6f7274616c31313504000800007300244d6f7274616c31313604000800007400244d6f7274616c31313704000800007500244d6f7274616c31313804000800007600244d6f7274616c31313904000800007700244d6f7274616c31323004000800007800244d6f7274616c31323104000800007900244d6f7274616c31323204000800007a00244d6f7274616c31323304000800007b00244d6f7274616c31323404000800007c00244d6f7274616c31323504000800007d00244d6f7274616c31323604000800007e00244d6f7274616c31323704000800007f00244d6f7274616c31323804000800008000244d6f7274616c31323904000800008100244d6f7274616c31333004000800008200244d6f7274616c31333104000800008300244d6f7274616c31333204000800008400244d6f7274616c31333304000800008500244d6f7274616c31333404000800008600244d6f7274616c31333504000800008700244d6f7274616c31333604000800008800244d6f7274616c31333704000800008900244d6f7274616c31333804000800008a00244d6f7274616c31333904000800008b00244d6f7274616c31343004000800008c00244d6f7274616c31343104000800008d00244d6f7274616c31343204000800008e00244d6f7274616c31343304000800008f00244d6f7274616c31343404000800009000244d6f7274616c31343504000800009100244d6f7274616c31343604000800009200244d6f7274616c31343704000800009300244d6f7274616c31343804000800009400244d6f7274616c31343904000800009500244d6f7274616c31353004000800009600244d6f7274616c31353104000800009700244d6f7274616c31353204000800009800244d6f7274616c31353304000800009900244d6f7274616c31353404000800009a00244d6f7274616c31353504000800009b00244d6f7274616c31353604000800009c00244d6f7274616c31353704000800009d00244d6f7274616c31353804000800009e00244d6f7274616c31353904000800009f00244d6f7274616c3136300400080000a000244d6f7274616c3136310400080000a100244d6f7274616c3136320400080000a200244d6f7274616c3136330400080000a300244d6f7274616c3136340400080000a400244d6f7274616c3136350400080000a500244d6f7274616c3136360400080000a600244d6f7274616c3136370400080000a700244d6f7274616c3136380400080000a800244d6f7274616c3136390400080000a900244d6f7274616c3137300400080000aa00244d6f7274616c3137310400080000ab00244d6f7274616c3137320400080000ac00244d6f7274616c3137330400080000ad00244d6f7274616c3137340400080000ae00244d6f7274616c3137350400080000af00244d6f7274616c3137360400080000b000244d6f7274616c3137370400080000b100244d6f7274616c3137380400080000b200244d6f7274616c3137390400080000b300244d6f7274616c3138300400080000b400244d6f7274616c3138310400080000b500244d6f7274616c3138320400080000b600244d6f7274616c3138330400080000b700244d6f7274616c3138340400080000b800244d6f7274616c3138350400080000b900244d6f7274616c3138360400080000ba00244d6f7274616c3138370400080000bb00244d6f7274616c3138380400080000bc00244d6f7274616c3138390400080000bd00244d6f7274616c3139300400080000be00244d6f7274616c3139310400080000bf00244d6f7274616c3139320400080000c000244d6f7274616c3139330400080000c100244d6f7274616c3139340400080000c200244d6f7274616c3139350400080000c300244d6f7274616c3139360400080000c400244d6f7274616c3139370400080000c500244d6f7274616c3139380400080000c600244d6f7274616c3139390400080000c700244d6f7274616c3230300400080000c800244d6f7274616c3230310400080000c900244d6f7274616c3230320400080000ca00244d6f7274616c3230330400080000cb00244d6f7274616c3230340400080000cc00244d6f7274616c3230350400080000cd00244d6f7274616c3230360400080000ce00244d6f7274616c3230370400080000cf00244d6f7274616c3230380400080000d000244d6f7274616c3230390400080000d100244d6f7274616c3231300400080000d200244d6f7274616c3231310400080000d300244d6f7274616c3231320400080000d400244d6f7274616c3231330400080000d500244d6f7274616c3231340400080000d600244d6f7274616c3231350400080000d700244d6f7274616c3231360400080000d800244d6f7274616c3231370400080000d900244d6f7274616c3231380400080000da00244d6f7274616c3231390400080000db00244d6f7274616c3232300400080000dc00244d6f7274616c3232310400080000dd00244d6f7274616c3232320400080000de00244d6f7274616c3232330400080000df00244d6f7274616c3232340400080000e000244d6f7274616c3232350400080000e100244d6f7274616c3232360400080000e200244d6f7274616c3232370400080000e300244d6f7274616c3232380400080000e400244d6f7274616c3232390400080000e500244d6f7274616c3233300400080000e600244d6f7274616c3233310400080000e700244d6f7274616c3233320400080000e800244d6f7274616c3233330400080000e900244d6f7274616c3233340400080000ea00244d6f7274616c3233350400080000eb00244d6f7274616c3233360400080000ec00244d6f7274616c3233370400080000ed00244d6f7274616c3233380400080000ee00244d6f7274616c3233390400080000ef00244d6f7274616c3234300400080000f000244d6f7274616c3234310400080000f100244d6f7274616c3234320400080000f200244d6f7274616c3234330400080000f300244d6f7274616c3234340400080000f400244d6f7274616c3234350400080000f500244d6f7274616c3234360400080000f600244d6f7274616c3234370400080000f700244d6f7274616c3234380400080000f800244d6f7274616c3234390400080000f900244d6f7274616c3235300400080000fa00244d6f7274616c3235310400080000fb00244d6f7274616c3235320400080000fc00244d6f7274616c3235330400080000fd00244d6f7274616c3235340400080000fe00244d6f7274616c3235350400080000ff0000710410306672616d655f73797374656d28657874656e73696f6e732c636865636b5f6e6f6e636528436865636b4e6f6e6365040454000004003d010120543a3a496e6465780000750410306672616d655f73797374656d28657874656e73696f6e7330636865636b5f7765696768742c436865636b576569676874040454000000007904086870616c6c65745f7472616e73616374696f6e5f7061796d656e74604368617267655472616e73616374696f6e5061796d656e7404045400000400d101013042616c616e63654f663c543e00007d040830676465765f72756e74696d651c52756e74696d65000000008c1853797374656d011853797374656d401c4163636f756e7401010402000ca4000000000000000000000000000000000000000000000000000000000000000000000000000000000004e8205468652066756c6c206163636f756e7420696e666f726d6174696f6e20666f72206120706172746963756c6172206163636f756e742049442e3845787472696e736963436f756e74000010040004b820546f74616c2065787472696e7369637320636f756e7420666f72207468652063757272656e7420626c6f636b2e2c426c6f636b576569676874010024600000000000000000000000000000000000000000000000000488205468652063757272656e742077656967687420666f722074686520626c6f636b2e40416c6c45787472696e736963734c656e000010040004410120546f74616c206c656e6774682028696e2062797465732920666f7220616c6c2065787472696e736963732070757420746f6765746865722c20666f72207468652063757272656e7420626c6f636b2e24426c6f636b486173680101040510208000000000000000000000000000000000000000000000000000000000000000000498204d6170206f6620626c6f636b206e756d6265727320746f20626c6f636b206861736865732e3445787472696e736963446174610101040510280400043d012045787472696e73696373206461746120666f72207468652063757272656e7420626c6f636b20286d61707320616e2065787472696e736963277320696e64657820746f206974732064617461292e184e756d6265720100101000000000040901205468652063757272656e7420626c6f636b206e756d626572206265696e672070726f6365737365642e205365742062792060657865637574655f626c6f636b602e28506172656e744861736801002080000000000000000000000000000000000000000000000000000000000000000004702048617368206f66207468652070726576696f757320626c6f636b2e1844696765737401002c040004f020446967657374206f66207468652063757272656e7420626c6f636b2c20616c736f2070617274206f662074686520626c6f636b206865616465722e184576656e747301003c040010a0204576656e7473206465706f736974656420666f72207468652063757272656e7420626c6f636b2e005901204e4f54453a20546869732073746f72616765206974656d206973206578706c696369746c7920756e626f756e6465642073696e6365206974206973206e6576657220696e74656e64656420746f2062652072656164642066726f6d2077697468696e207468652072756e74696d652e284576656e74436f756e74010010100000000004b820546865206e756d626572206f66206576656e747320696e2074686520604576656e74733c543e60206c6973742e2c4576656e74546f70696373010104022035010400282501204d617070696e67206265747765656e206120746f7069632028726570726573656e74656420627920543a3a486173682920616e64206120766563746f72206f6620696e646578657394206f66206576656e747320696e2074686520603c4576656e74733c543e3e60206c6973742e00510120416c6c20746f70696320766563746f727320686176652064657465726d696e69737469632073746f72616765206c6f636174696f6e7320646570656e64696e67206f6e2074686520746f7069632e2054686973450120616c6c6f7773206c696768742d636c69656e747320746f206c6576657261676520746865206368616e67657320747269652073746f7261676520747261636b696e67206d656368616e69736d20616e64e420696e2063617365206f66206368616e67657320666574636820746865206c697374206f66206576656e7473206f6620696e7465726573742e004d01205468652076616c756520686173207468652074797065206028543a3a426c6f636b4e756d6265722c204576656e74496e646578296020626563617573652069662077652075736564206f6e6c79206a7573744d012074686520604576656e74496e64657860207468656e20696e20636173652069662074686520746f70696320686173207468652073616d6520636f6e74656e7473206f6e20746865206e65787420626c6f636b0101206e6f206e6f74696669636174696f6e2077696c6c20626520747269676765726564207468757320746865206576656e74206d69676874206265206c6f73742e484c61737452756e74696d65557067726164650000390104000455012053746f726573207468652060737065635f76657273696f6e6020616e642060737065635f6e616d6560206f66207768656e20746865206c6173742072756e74696d6520757067726164652068617070656e65642e545570677261646564546f553332526566436f756e740100ec0400044d012054727565206966207765206861766520757067726164656420736f207468617420607479706520526566436f756e74602069732060753332602e2046616c7365202864656661756c7429206966206e6f742e605570677261646564546f547269706c65526566436f756e740100ec0400085d012054727565206966207765206861766520757067726164656420736f2074686174204163636f756e74496e666f20636f6e7461696e73207468726565207479706573206f662060526566436f756e74602e2046616c736548202864656661756c7429206966206e6f742e38457865637574696f6e506861736500002d01040004882054686520657865637574696f6e207068617365206f662074686520626c6f636b2e01410101481830426c6f636b576569676874735501850100f2052a0100000000204aa9d101000000ca9a3b000000000100fe6e722e010000010098f73e5d01000001000000000000000000ca9a3b00000000010086c1dca20100000100204aa9d1010000010088526a74000000405973070000000000000004d020426c6f636b20262065787472696e7369637320776569676874733a20626173652076616c75657320616e64206c696d6974732e2c426c6f636b4c656e67746865013000003c00000050000000500004a820546865206d6178696d756d206c656e677468206f66206120626c6f636b2028696e206279746573292e38426c6f636b48617368436f756e74101060090000045501204d6178696d756d206e756d626572206f6620626c6f636b206e756d62657220746f20626c6f636b2068617368206d617070696e677320746f206b65657020286f6c64657374207072756e6564206669727374292e2044625765696768746d014080b2e60e0000000000ca9a3b000000000409012054686520776569676874206f662072756e74696d65206461746162617365206f7065726174696f6e73207468652072756e74696d652063616e20696e766f6b652e1c56657273696f6e71019d0210676465763064756e697465722d67646576010000002c010000010000002c687ad44ad37f03c201000000cbca25e39f14238702000000df6acb689907609b0300000037e397fc7c91f5e40100000040fe3ad401f8959a05000000d2bc9897eed08f1503000000f78b278be53f454c02000000ab3c0572291feb8b01000000ed99c5acb25eedf503000000bc9d89904f5b923f0100000037c8bb1350a9a2a801000000010000000484204765742074686520636861696e27732063757272656e742076657273696f6e2e28535335385072656669782101082a0014a8205468652064657369676e61746564205353383520707265666978206f66207468697320636861696e2e0039012054686973207265706c6163657320746865202273733538466f726d6174222070726f7065727479206465636c6172656420696e2074686520636861696e20737065632e20526561736f6e20697331012074686174207468652072756e74696d652073686f756c64206b6e6f772061626f7574207468652070726566697820696e206f7264657220746f206d616b6520757365206f662069742061737020616e206964656e746966696572206f662074686520636861696e2e018501001c4163636f756e74011c4163636f756e74086850656e64696e6752616e646f6d496441737369676e6d656e74730001040518000400004850656e64696e674e65774163636f756e7473000104020078040000000164000001245363686564756c657201245363686564756c657208184167656e6461010104051089010400044d01204974656d7320746f2062652065786563757465642c20696e64657865642062792074686520626c6f636b206e756d626572207468617420746865792073686f756c64206265206578656375746564206f6e2e184c6f6f6b757000010405286c0400040101204c6f6f6b75702066726f6d206964656e7469747920746f2074686520626c6f636b206e756d62657220616e6420696e646578206f6620746865207461736b2e019d01016808344d6178696d756d576569676874182000806e877401000008450120546865206d6178696d756d207765696768742074686174206d6179206265207363686564756c65642070657220626c6f636b20666f7220616e7920646973706174636861626c6573206f66206c657373a4207072696f72697479207468616e20607363686564756c653a3a484152445f444541444c494e45602e504d61785363686564756c6564506572426c6f636b101032000000081d0120546865206d6178696d756d206e756d626572206f66207363686564756c65642063616c6c7320696e2074686520717565756520666f7220612073696e676c6520626c6f636b2edc204e6f74207374726963746c7920656e666f726365642c20627574207573656420666f722077656967687420657374696d6174696f6e2e01d902021042616265011042616265402845706f6368496e64657801001820000000000000000004542043757272656e742065706f636820696e6465782e2c417574686f7269746965730100dd020400046c2043757272656e742065706f636820617574686f7269746965732e2c47656e65736973536c6f740100b90120000000000000000008f82054686520736c6f74206174207768696368207468652066697273742065706f63682061637475616c6c7920737461727465642e205468697320697320309020756e74696c2074686520666972737420626c6f636b206f662074686520636861696e2e2c43757272656e74536c6f740100b90120000000000000000004542043757272656e7420736c6f74206e756d6265722e2852616e646f6d6e65737301000480000000000000000000000000000000000000000000000000000000000000000028b8205468652065706f63682072616e646f6d6e65737320666f7220746865202a63757272656e742a2065706f63682e002c20232053656375726974790005012054686973204d555354204e4f54206265207573656420666f722067616d626c696e672c2061732069742063616e20626520696e666c75656e6365642062792061f8206d616c6963696f75732076616c696461746f7220696e207468652073686f7274207465726d2e204974204d4159206265207573656420696e206d616e7915012063727970746f677261706869632070726f746f636f6c732c20686f77657665722c20736f206c6f6e67206173206f6e652072656d656d6265727320746861742074686973150120286c696b652065766572797468696e6720656c7365206f6e2d636861696e29206974206973207075626c69632e20466f72206578616d706c652c2069742063616e206265050120757365642077686572652061206e756d626572206973206e656564656420746861742063616e6e6f742068617665206265656e2063686f73656e20627920616e0d01206164766572736172792c20666f7220707572706f7365732073756368206173207075626c69632d636f696e207a65726f2d6b6e6f776c656467652070726f6f66732e6050656e64696e6745706f6368436f6e6669674368616e67650000c10104000461012050656e64696e672065706f636820636f6e66696775726174696f6e206368616e676520746861742077696c6c206265206170706c696564207768656e20746865206e6578742065706f636820697320656e61637465642e384e65787452616e646f6d6e657373010004800000000000000000000000000000000000000000000000000000000000000000045c204e6578742065706f63682072616e646f6d6e6573732e3c4e657874417574686f7269746965730100dd0204000460204e6578742065706f636820617574686f7269746965732e305365676d656e74496e6465780100101000000000247c2052616e646f6d6e65737320756e64657220636f6e737472756374696f6e2e00f8205765206d616b6520612074726164652d6f6666206265747765656e2073746f7261676520616363657373657320616e64206c697374206c656e6774682e01012057652073746f72652074686520756e6465722d636f6e737472756374696f6e2072616e646f6d6e65737320696e207365676d656e7473206f6620757020746f942060554e4445525f434f4e535452554354494f4e5f5345474d454e545f4c454e475448602e00ec204f6e63652061207365676d656e7420726561636865732074686973206c656e6774682c20776520626567696e20746865206e657874206f6e652e090120576520726573657420616c6c207365676d656e747320616e642072657475726e20746f206030602061742074686520626567696e6e696e67206f662065766572791c2065706f63682e44556e646572436f6e737472756374696f6e0101040510e90204000415012054574f582d4e4f54453a20605365676d656e74496e6465786020697320616e20696e6372656173696e6720696e74656765722c20736f2074686973206973206f6b61792e2c496e697469616c697a65640000f10204000801012054656d706f726172792076616c75652028636c656172656420617420626c6f636b2066696e616c697a6174696f6e292077686963682069732060536f6d65601d01206966207065722d626c6f636b20696e697469616c697a6174696f6e2068617320616c7265616479206265656e2063616c6c656420666f722063757272656e7420626c6f636b2e4c417574686f7256726652616e646f6d6e6573730100f10204001015012054686973206669656c642073686f756c6420616c7761797320626520706f70756c6174656420647572696e6720626c6f636b2070726f63657373696e6720756e6c6573731901207365636f6e6461727920706c61696e20736c6f74732061726520656e61626c65642028776869636820646f6e277420636f6e7461696e206120565246206f7574707574292e0051012049742069732073657420696e20606f6e5f696e697469616c697a65602c206265666f72652069742077696c6c20636f6e7461696e207468652076616c75652066726f6d20746865206c61737420626c6f636b2e2845706f6368537461727401006c200000000000000000145d012054686520626c6f636b206e756d62657273207768656e20746865206c61737420616e642063757272656e742065706f6368206861766520737461727465642c20726573706563746976656c7920604e2d316020616e641420604e602e4901204e4f54453a20576520747261636b207468697320697320696e206f7264657220746f20616e6e6f746174652074686520626c6f636b206e756d626572207768656e206120676976656e20706f6f6c206f66590120656e74726f7079207761732066697865642028692e652e20697420776173206b6e6f776e20746f20636861696e206f6273657276657273292e2053696e63652065706f6368732061726520646566696e656420696e590120736c6f74732c207768696368206d617920626520736b69707065642c2074686520626c6f636b206e756d62657273206d6179206e6f74206c696e6520757020776974682074686520736c6f74206e756d626572732e204c6174656e657373010010100000000014d820486f77206c617465207468652063757272656e7420626c6f636b20697320636f6d706172656420746f2069747320706172656e742e001501205468697320656e74727920697320706f70756c617465642061732070617274206f6620626c6f636b20657865637574696f6e20616e6420697320636c65616e65642075701101206f6e20626c6f636b2066696e616c697a6174696f6e2e205175657279696e6720746869732073746f7261676520656e747279206f757473696465206f6620626c6f636bb020657865637574696f6e20636f6e746578742073686f756c6420616c77617973207969656c64207a65726f2e2c45706f6368436f6e6669670000f50204000861012054686520636f6e66696775726174696f6e20666f72207468652063757272656e742065706f63682e2053686f756c64206e6576657220626520604e6f6e656020617320697420697320696e697469616c697a656420696e242067656e657369732e3c4e65787445706f6368436f6e6669670000f5020400082d012054686520636f6e66696775726174696f6e20666f7220746865206e6578742065706f63682c20604e6f6e65602069662074686520636f6e6669672077696c6c206e6f74206368616e6765e82028796f752063616e2066616c6c6261636b20746f206045706f6368436f6e6669676020696e737465616420696e20746861742063617365292e01a501000c3445706f63684475726174696f6e18201e000000000000000cec2054686520616d6f756e74206f662074696d652c20696e20736c6f74732c207468617420656163682065706f63682073686f756c64206c6173742e1901204e4f54453a2043757272656e746c79206974206973206e6f7420706f737369626c6520746f206368616e6765207468652065706f6368206475726174696f6e20616674657221012074686520636861696e2068617320737461727465642e20417474656d7074696e6720746f20646f20736f2077696c6c20627269636b20626c6f636b2070726f64756374696f6e2e444578706563746564426c6f636b54696d651820701700000000000014050120546865206578706563746564206176657261676520626c6f636b2074696d6520617420776869636820424142452073686f756c64206265206372656174696e67110120626c6f636b732e2053696e636520424142452069732070726f626162696c6973746963206974206973206e6f74207472697669616c20746f20666967757265206f75740501207768617420746865206578706563746564206176657261676520626c6f636b2074696d652073686f756c64206265206261736564206f6e2074686520736c6f740901206475726174696f6e20616e642074686520736563757269747920706172616d657465722060636020287768657265206031202d20636020726570726573656e7473a0207468652070726f626162696c697479206f66206120736c6f74206265696e6720656d707479292e384d6178417574686f7269746965731010200000000488204d6178206e756d626572206f6620617574686f72697469657320616c6c6f77656401f902032454696d657374616d70012454696d657374616d70080c4e6f7701001820000000000000000004902043757272656e742074696d6520666f72207468652063757272656e7420626c6f636b2e244469645570646174650100ec040004b420446964207468652074696d657374616d7020676574207570646174656420696e207468697320626c6f636b3f01cd010004344d696e696d756d506572696f641820b80b000000000000104d0120546865206d696e696d756d20706572696f64206265747765656e20626c6f636b732e204265776172652074686174207468697320697320646966666572656e7420746f20746865202a65787065637465642a5d0120706572696f6420746861742074686520626c6f636b2070726f64756374696f6e206170706172617475732070726f76696465732e20596f75722063686f73656e20636f6e73656e7375732073797374656d2077696c6c5d012067656e6572616c6c7920776f726b2077697468207468697320746f2064657465726d696e6520612073656e7369626c6520626c6f636b2074696d652e20652e672e20466f7220417572612c2069742077696c6c206265a020646f75626c65207468697320706572696f64206f6e2064656661756c742073657474696e67732e000428506172616d65746572730128506172616d65746572730444506172616d657465727353746f726167650100fd02b1010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000052042616c616e636573012042616c616e6365731434546f74616c49737375616e636501001820000000000000000004982054686520746f74616c20756e6974732069737375656420696e207468652073797374656d2e1c4163636f756e7401010402000103800000000000000000000000000000000000000000000000000000000000000000600901205468652042616c616e6365732070616c6c6574206578616d706c65206f662073746f72696e67207468652062616c616e6365206f6620616e206163636f756e742e00282023204578616d706c650034206060606e6f636f6d70696c65b02020696d706c2070616c6c65745f62616c616e6365733a3a436f6e66696720666f722052756e74696d65207b19022020202074797065204163636f756e7453746f7265203d2053746f726167654d61705368696d3c53656c663a3a4163636f756e743c52756e74696d653e2c206672616d655f73797374656d3a3a50726f76696465723c52756e74696d653e2c204163636f756e7449642c2053656c663a3a4163636f756e74446174613c42616c616e63653e3e0c20207d102060606000150120596f752063616e20616c736f2073746f7265207468652062616c616e6365206f6620616e206163636f756e7420696e20746865206053797374656d602070616c6c65742e00282023204578616d706c650034206060606e6f636f6d70696c65b02020696d706c2070616c6c65745f62616c616e6365733a3a436f6e66696720666f722052756e74696d65207b7420202074797065204163636f756e7453746f7265203d2053797374656d0c20207d102060606000510120427574207468697320636f6d657320776974682074726164656f6666732c2073746f72696e67206163636f756e742062616c616e63657320696e207468652073797374656d2070616c6c65742073746f7265736d0120606672616d655f73797374656d60206461746120616c6f6e677369646520746865206163636f756e74206461746120636f6e747261727920746f2073746f72696e67206163636f756e742062616c616e63657320696e207468652901206042616c616e636573602070616c6c65742c20776869636820757365732061206053746f726167654d61706020746f2073746f72652062616c616e6365732064617461206f6e6c792e4101204e4f54453a2054686973206973206f6e6c79207573656420696e207468652063617365207468617420746869732070616c6c6574206973207573656420746f2073746f72652062616c616e6365732e144c6f636b7301010402000503040008b820416e79206c6971756964697479206c6f636b73206f6e20736f6d65206163636f756e742062616c616e6365732e2501204e4f54453a2053686f756c64206f6e6c79206265206163636573736564207768656e2073657474696e672c206368616e67696e6720616e642066726565696e672061206c6f636b2e20526573657276657301010402001503040004a4204e616d6564207265736572766573206f6e20736f6d65206163636f756e742062616c616e6365732e3853746f7261676556657273696f6e0100210304000c7c2053746f726167652076657273696f6e206f66207468652070616c6c65742e00a020546869732069732073657420746f2076322e302e3020666f72206e6577206e6574776f726b732e01d50101800c484578697374656e7469616c4465706f7369741820c80000000000000004d420546865206d696e696d756d20616d6f756e7420726571756972656420746f206b65657020616e206163636f756e74206f70656e2e204d61784c6f636b7310103200000008f420546865206d6178696d756d206e756d626572206f66206c6f636b7320746861742073686f756c64206578697374206f6e20616e206163636f756e742edc204e6f74207374726963746c7920656e666f726365642c20627574207573656420666f722077656967687420657374696d6174696f6e2e2c4d61785265736572766573101005000000040d0120546865206d6178696d756d206e756d626572206f66206e616d656420726573657276657320746861742063616e206578697374206f6e20616e206163636f756e742e01250306485472616e73616374696f6e5061796d656e7401485472616e73616374696f6e5061796d656e7408444e6578744665654d756c7469706c6965720100290340000064a7b3b6e00d0000000000000000003853746f7261676556657273696f6e0100310304000000000c485472616e73616374696f6e4279746546656518200000000000000000040d01205468652066656520746f206265207061696420666f72206d616b696e672061207472616e73616374696f6e3b20746865207065722d6279746520706f7274696f6e2e604f7065726174696f6e616c4665654d756c7469706c696572080405545901204120666565206d756c6974706c69657220666f7220604f7065726174696f6e616c602065787472696e7369637320746f20636f6d7075746520227669727475616c207469702220746f20626f6f73742074686569722c20607072696f7269747960004d0120546869732076616c7565206973206d756c7469706c656420627920746865206066696e616c5f6665656020746f206f627461696e206120227669727475616c20746970222074686174206973206c61746572f420616464656420746f20612074697020636f6d706f6e656e7420696e20726567756c617220607072696f72697479602063616c63756c6174696f6e732e4d01204974206d65616e732074686174206120604e6f726d616c60207472616e73616374696f6e2063616e2066726f6e742d72756e20612073696d696c61726c792d73697a656420604f7065726174696f6e616c6041012065787472696e736963202877697468206e6f20746970292c20627920696e636c7564696e672061207469702076616c75652067726561746572207468616e20746865207669727475616c207469702e003c20606060727573742c69676e6f726540202f2f20466f7220604e6f726d616c608c206c6574207072696f72697479203d207072696f726974795f63616c6328746970293b0054202f2f20466f7220604f7065726174696f6e616c601101206c6574207669727475616c5f746970203d2028696e636c7573696f6e5f666565202b2074697029202a204f7065726174696f6e616c4665654d756c7469706c6965723bc4206c6574207072696f72697479203d207072696f726974795f63616c6328746970202b207669727475616c5f746970293b1020606060005101204e6f746520746861742073696e636520776520757365206066696e616c5f6665656020746865206d756c7469706c696572206170706c69657320616c736f20746f2074686520726567756c61722060746970605d012073656e74207769746820746865207472616e73616374696f6e2e20536f2c206e6f74206f6e6c7920646f657320746865207472616e73616374696f6e206765742061207072696f726974792062756d702062617365646101206f6e207468652060696e636c7573696f6e5f666565602c2062757420776520616c736f20616d706c6966792074686520696d70616374206f662074697073206170706c69656420746f20604f7065726174696f6e616c6038207472616e73616374696f6e732e2c576569676874546f46656535033c040000000000000000010000000001040d012054686520706f6c796e6f6d69616c2074686174206973206170706c69656420696e206f7264657220746f20646572697665206665652066726f6d207765696768742e002040417574686f726974794d656d626572730140417574686f726974794d656d62657273202c4163636f756e7449644f6600010405100004000048417574686f726974696573436f756e7465720100101000000000004c496e636f6d696e67417574686f72697469657301008c040000444f6e6c696e65417574686f72697469657301008c0400004c4f7574676f696e67417574686f72697469657301008c0400001c4d656d6265727300010405103d030400003c4d656d626572734578706972654f6e01010405108c040000504d757374526f746174654b6579734265666f726501010405108c04000001e50101880c384d6178417574686f7269746965731010200000000488204d6178206e756d626572206f6620617574686f72697469657320616c6c6f7765642c4d61784b6579734c6966651010dc05000000484d61784f66666c696e6553657373696f6e73101060090000000141030a28417574686f72736869700128417574686f72736869700c18556e636c6573010045030400041c20556e636c657318417574686f720000000400046420417574686f72206f662063757272656e7420626c6f636b2e30446964536574556e636c65730100ec040004bc205768657468657220756e636c6573207765726520616c72656164792073657420696e207468697320626c6f636b2e01ed01000440556e636c6547656e65726174696f6e731010000000000ccc20546865206e756d626572206f6620626c6f636b73206261636b2077652073686f756c642061636365707420756e636c65732ee42054686973206d65616e7320746861742077652077696c6c206465616c207769746820756e636c652d706172656e7473207468617420617265942060556e636c6547656e65726174696f6e73202b203160206265666f726520606e6f77602e014d030b204f6666656e63657301204f6666656e6365730c1c5265706f72747300010405205103040004490120546865207072696d61727920737472756374757265207468617420686f6c647320616c6c206f6666656e6365207265636f726473206b65796564206279207265706f7274206964656e746966696572732e58436f6e63757272656e745265706f727473496e6465780101080505550331010400042901204120766563746f72206f66207265706f727473206f66207468652073616d65206b696e6420746861742068617070656e6564206174207468652073616d652074696d6520736c6f742e485265706f72747342794b696e64496e646578010104059428040018110120456e756d65726174657320616c6c207265706f727473206f662061206b696e6420616c6f6e672077697468207468652074696d6520746865792068617070656e65642e00bc20416c6c207265706f7274732061726520736f72746564206279207468652074696d65206f66206f6666656e63652e004901204e6f74652074686174207468652061637475616c2074797065206f662074686973206d617070696e6720697320605665633c75383e602c207468697320697320626563617573652076616c756573206f66690120646966666572656e7420747970657320617265206e6f7420737570706f7274656420617420746865206d6f6d656e7420736f2077652061726520646f696e6720746865206d616e75616c2073657269616c697a6174696f6e2e00019000000c28486973746f726963616c00000000000d1c53657373696f6e011c53657373696f6e1c2856616c696461746f7273010081020400047c205468652063757272656e7420736574206f662076616c696461746f72732e3043757272656e74496e646578010010100000000004782043757272656e7420696e646578206f66207468652073657373696f6e2e345175657565644368616e6765640100ec040008390120547275652069662074686520756e6465726c79696e672065636f6e6f6d6963206964656e746974696573206f7220776569676874696e6720626568696e64207468652076616c696461746f7273a420686173206368616e67656420696e20746865207175657565642076616c696461746f72207365742e285175657565644b657973010059030400083d012054686520717565756564206b65797320666f7220746865206e6578742073657373696f6e2e205768656e20746865206e6578742073657373696f6e20626567696e732c207468657365206b657973e02077696c6c206265207573656420746f2064657465726d696e65207468652076616c696461746f7227732073657373696f6e206b6579732e4844697361626c656456616c696461746f727301008c0400148020496e6469636573206f662064697361626c65642076616c696461746f72732e003d01205468652076656320697320616c77617973206b65707420736f7274656420736f20746861742077652063616e2066696e642077686574686572206120676976656e2076616c696461746f722069733d012064697361626c6564207573696e672062696e617279207365617263682e204974206765747320636c6561726564207768656e20606f6e5f73657373696f6e5f656e64696e67602072657475726e73642061206e657720736574206f66206964656e7469746965732e204e6578744b6579730001040500f9010400049c20546865206e6578742073657373696f6e206b65797320666f7220612076616c696461746f722e204b65794f776e657200010405610300040004090120546865206f776e6572206f662061206b65792e20546865206b65792069732074686520604b657954797065496460202b2074686520656e636f646564206b65792e01f5010198000169030e1c4772616e647061011c4772616e6470611814537461746501006d0304000490205374617465206f66207468652063757272656e7420617574686f72697479207365742e3450656e64696e674368616e676500007103040004c42050656e64696e67206368616e67653a20287369676e616c65642061742c207363686564756c6564206368616e6765292e284e657874466f72636564000010040004bc206e65787420626c6f636b206e756d6265722077686572652077652063616e20666f7263652061206368616e67652e1c5374616c6c656400006c0400049020607472756560206966207765206172652063757272656e746c79207374616c6c65642e3043757272656e745365744964010018200000000000000000085d0120546865206e756d626572206f66206368616e6765732028626f746820696e207465726d73206f66206b65797320616e6420756e6465726c79696e672065636f6e6f6d696320726573706f6e736962696c697469657329c420696e20746865202273657422206f66204772616e6470612076616c696461746f72732066726f6d2067656e657369732e30536574496453657373696f6e00010405181004001059012041206d617070696e672066726f6d206772616e6470612073657420494420746f2074686520696e646578206f6620746865202a6d6f737420726563656e742a2073657373696f6e20666f722077686963682069747368206d656d62657273207765726520726573706f6e7369626c652e00b82054574f582d4e4f54453a2060536574496460206973206e6f7420756e646572207573657220636f6e74726f6c2e010102019c04384d6178417574686f726974696573101020000000045c204d617820417574686f72697469657320696e207573650179030f20496d4f6e6c696e650120496d4f6e6c696e651038486561727462656174416674657201001010000000002c1d012054686520626c6f636b206e756d6265722061667465722077686963682069742773206f6b20746f2073656e64206865617274626561747320696e207468652063757272656e74242073657373696f6e2e0025012041742074686520626567696e6e696e67206f6620656163682073657373696f6e20776520736574207468697320746f20612076616c756520746861742073686f756c642066616c6c350120726f7567686c7920696e20746865206d6964646c65206f66207468652073657373696f6e206475726174696f6e2e20546865206964656120697320746f206669727374207761697420666f721901207468652076616c696461746f727320746f2070726f64756365206120626c6f636b20696e207468652063757272656e742073657373696f6e2c20736f207468617420746865a820686561727462656174206c61746572206f6e2077696c6c206e6f74206265206e65636573736172792e00390120546869732076616c75652077696c6c206f6e6c79206265207573656420617320612066616c6c6261636b206966207765206661696c20746f2067657420612070726f7065722073657373696f6e2d012070726f677265737320657374696d6174652066726f6d20604e65787453657373696f6e526f746174696f6e602c2061732074686f736520657374696d617465732073686f756c642062650101206d6f7265206163637572617465207468656e207468652076616c75652077652063616c63756c61746520666f7220604865617274626561744166746572602e104b65797301007d03040004d0205468652063757272656e7420736574206f66206b6579732074686174206d61792069737375652061206865617274626561742e4852656365697665644865617274626561747300010805056c85030400083d0120466f7220656163682073657373696f6e20696e6465782c207765206b6565702061206d617070696e67206f66206053657373696f6e496e6465786020616e64206041757468496e6465786020746fb02060577261707065724f70617175653c426f756e6465644f70617175654e6574776f726b53746174653e602e38417574686f726564426c6f636b730101080505990310100000000008150120466f7220656163682073657373696f6e20696e6465782c207765206b6565702061206d617070696e67206f66206056616c696461746f7249643c543e6020746f20746865c8206e756d626572206f6620626c6f636b7320617574686f7265642062792074686520676976656e20617574686f726974792e01350201b00440556e7369676e65645072696f726974791820ffffffffffffffff10f0204120636f6e66696775726174696f6e20666f722062617365207072696f72697479206f6620756e7369676e6564207472616e73616374696f6e732e0015012054686973206973206578706f73656420736f20746861742069742063616e2062652074756e656420666f7220706172746963756c61722072756e74696d652c207768656eb4206d756c7469706c652070616c6c6574732073656e6420756e7369676e6564207472616e73616374696f6e732e019d031048417574686f72697479446973636f76657279000000000011105375646f01105375646f040c4b6579000000040004842054686520604163636f756e74496460206f6620746865207375646f206b65792e01550201c80001a1031434557067726164654f726967696e0001590201d000001520507265696d6167650120507265696d6167650824537461747573466f720001040620a5030400049020546865207265717565737420737461747573206f66206120676976656e20686173682e2c507265696d616765466f720001040620b103040004942054686520707265696d616765732073746f72656420627920746869732070616c6c65742e015d0201d40001b503164455644163636f756e747353746f72616765014455644163636f756e747353746f72616765082855644163636f756e7473010104020078000050436f756e746572466f7255644163636f756e7473010010100000000004ac436f756e74657220666f72207468652072656c6174656420636f756e7465642073746f72616765206d6170000000001e44556e6976657273616c4469766964656e640144556e6976657273616c4469766964656e640c2443757272656e74556401001820000000000000000004482043757272656e7420554420616d6f756e74304d6f6e65746172794d61737301001820000000000000000004d50120546f74616c207175616e74697479206f66206d6f6e6579206372656174656420627920756e6976657273616c206469766964656e642028646f6573206e6f742074616b6520696e746f206163636f756e742074686520706f737369626c65206465737472756374696f6e206f66206d6f6e657929284e65787452656576616c01001010000000000454204e6578742055442072656576616c756174696f6e01610201d810545371756172654d6f6e657947726f777468526174654501108056240004ec20537175617265206f6620746865206d6f6e65792067726f7774682072617465207065722075642072656576616c756174696f6e20706572696f644055644372656174696f6e506572696f6410100a000000048c20556e6976657273616c206469766964656e64206372656174696f6e20706572696f6438556452656576616c506572696f641010c800000004f420556e6976657273616c206469766964656e642072656576616c756174696f6e20706572696f642028696e206e756d626572206f6620626c6f636b732928556e69747350657255641820e8030000000000000c150120546865206e756d626572206f6620756e69747320746f206469766964652074686520616d6f756e74732065787072657373656420696e206e756d626572206f66205544735501204578616d706c653a20496620796f75207769736820746f20657870726573732074686520554420616d6f756e747320776974682061206d6178696d756d20707265636973696f6e206f6620746865206f7264657270206f6620746865206d696c6c6955442c2063686f6f73652031303030001f0c576f74000000000028204964656e7469747901204964656e7469747918284964656e7469746965730001040510b90304000050436f756e746572466f724964656e746974696573010010100000000004ac436f756e74657220666f72207468652072656c6174656420636f756e7465642073746f72616765206d61703c4964656e74697479496e6465784f660001040000100400003c4964656e7469746965734e616d657300010400e078040000344e65787449647479496e646578010010100000000000544964656e74697469657352656d6f7661626c654f6e0101040510c10304000470204964656e7469746965732062792072656d6f76656420626c6f636b01650201dc0434436f6e6669726d506572696f6410102800000004f020506572696f6420647572696e6720776869636820746865206f776e65722063616e20636f6e6669726d20746865206e6577206964656e746974792e01c90329284d656d6265727368697001284d656d626572736869701c284d656d626572736869700001040510cd0304000050436f756e746572466f724d656d62657273686970010010100000000004ac436f756e74657220666f72207468652072656c6174656420636f756e7465642073746f72616765206d61704c4d656d62657273686970734578706972654f6e01010405108c0400004450656e64696e674d656d62657273686970000104051089020400006850656e64696e674d656d62657273686970734578706972654f6e01010405108c040000445265766f6b65644d656d62657273686970000104051078040000685265766f6b65644d656d62657273686970735072756e65644f6e00010405108c04000001850201e410404d656d62657273686970506572696f641010e8030000041901204d6178696d756d206c696665207370616e206f662061206e6f6e2d72656e657761626c65206d656d626572736869702028696e206e756d626572206f6620626c6f636b73295c50656e64696e674d656d62657273686970506572696f641010f4010000046501204d6178696d756d20706572696f642028696e206e756d626572206f6620626c6f636b73292c20776865726520616e206964656e746974792063616e2072656d61696e2070656e64696e6720737562736372697074696f6e2e3c52656e657761626c65506572696f6410103200000004bc204475726174696f6e2061667465722077686963682061206d656d626572736869702069732072656e657761626c65405265766f636174696f6e506572696f64101000000000044d01204d696e696d756d206475726174696f6e2028696e206e756d626572206f6620626c6f636b73206265747765656e2061207265766f636174696f6e20616e642061206e657720656e747279207265717565737401d1032a1043657274011043657274104c53746f7261676549647479436572744d6574610101040510d5033000000000000000000000000004802043657274696669636174696f6e73206d6574616461206279206973737565725053746f726167654365727473427949737375657200010805056cd903040008642043657274696669636174696f6e7320627920697373756572642043657274696669636174696f6e73206279206973737565725853746f7261676543657274734279526563656976657201010405108c0400046c2043657274696669636174696f6e732062792072656365697665725c53746f72616765436572747352656d6f7661626c654f6e00010405103501040004702043657274696669636174696f6e732072656d6f7661626c65206f6e01910201e8102843657274506572696f6410100f000000041901204d696e696d756d206475726174696f6e206265747765656e2074776f2063657274696669636174696f6e7320697373756564206279207468652073616d65206973737565722c4d6178427949737375657210100a00000004c8204d6178696d756d206e756d626572206f66206163746976652063657274696669636174696f6e73206279206973737565724c4365727452656e657761626c65506572696f6410103200000004c8204475726174696f6e20616674657220776869636820612063657274696669636174696f6e2069732072656e657761626c653856616c6964697479506572696f641010e803000004a0204475726174696f6e206f662076616c6964697479206f6620612063657274696669636174696f6e01dd032b30536d69746873537562576f7400000000003240536d697468734d656d626572736869700140536d697468734d656d626572736869701c284d656d626572736869700001040510cd0304000050436f756e746572466f724d656d62657273686970010010100000000004ac436f756e74657220666f72207468652072656c6174656420636f756e7465642073746f72616765206d61704c4d656d62657273686970734578706972654f6e01010405108c0400004450656e64696e674d656d62657273686970000104051099020400006850656e64696e674d656d62657273686970734578706972654f6e01010405108c040000445265766f6b65644d656d62657273686970000104051078040000685265766f6b65644d656d62657273686970735072756e65644f6e00010405108c04000001950201f010404d656d62657273686970506572696f641010e8030000041901204d6178696d756d206c696665207370616e206f662061206e6f6e2d72656e657761626c65206d656d626572736869702028696e206e756d626572206f6620626c6f636b73295c50656e64696e674d656d62657273686970506572696f641010f4010000046501204d6178696d756d20706572696f642028696e206e756d626572206f6620626c6f636b73292c20776865726520616e206964656e746974792063616e2072656d61696e2070656e64696e6720737562736372697074696f6e2e3c52656e657761626c65506572696f6410103200000004bc204475726174696f6e2061667465722077686963682061206d656d626572736869702069732072656e657761626c65405265766f636174696f6e506572696f64101000000000044d01204d696e696d756d206475726174696f6e2028696e206e756d626572206f6620626c6f636b73206265747765656e2061207265766f636174696f6e20616e642061206e657720656e747279207265717565737401e1033428536d69746873436572740128536d6974687343657274104c53746f7261676549647479436572744d6574610101040510d5033000000000000000000000000004802043657274696669636174696f6e73206d6574616461206279206973737565725053746f726167654365727473427949737375657200010805056cd903040008642043657274696669636174696f6e7320627920697373756572642043657274696669636174696f6e73206279206973737565725853746f7261676543657274734279526563656976657201010405108c0400046c2043657274696669636174696f6e732062792072656365697665725c53746f72616765436572747352656d6f7661626c654f6e00010405103501040004702043657274696669636174696f6e732072656d6f7661626c65206f6e019d0201f4102843657274506572696f6410100f000000041901204d696e696d756d206475726174696f6e206265747765656e2074776f2063657274696669636174696f6e7320697373756564206279207468652073616d65206973737565722c4d6178427949737375657210100800000004c8204d6178696d756d206e756d626572206f66206163746976652063657274696669636174696f6e73206279206973737565724c4365727452656e657761626c65506572696f6410103200000004c8204475726174696f6e20616674657220776869636820612063657274696669636174696f6e2069732072656e657761626c653856616c6964697479506572696f641010e803000004a0204475726174696f6e206f662076616c6964697479206f6620612063657274696669636174696f6e01e5033540536d69746873436f6c6c6563746976650140536d69746873436f6c6c656374697665182450726f706f73616c730100e903040004902054686520686173686573206f6620746865206163746976652070726f706f73616c732e2850726f706f73616c4f6600010406209901040004cc2041637475616c2070726f706f73616c20666f72206120676976656e20686173682c20696620697427732063757272656e742e18566f74696e670001040620ed03040004b420566f746573206f6e206120676976656e2070726f706f73616c2c206966206974206973206f6e676f696e672e3450726f706f73616c436f756e74010010100000000004482050726f706f73616c7320736f206661722e1c4d656d62657273010081020400043901205468652063757272656e74206d656d62657273206f662074686520636f6c6c6563746976652e20546869732069732073746f72656420736f7274656420286a7573742062792076616c7565292e145072696d65000000040004650120546865207072696d65206d656d62657220746861742068656c70732064657465726d696e65207468652064656661756c7420766f7465206265686176696f7220696e2063617365206f6620616273656e746174696f6e732e01a10201f80001f103362841746f6d696353776170012841746f6d696353776170043050656e64696e6753776170730001080502f503010104000001a50201fc042850726f6f664c696d69741010000400002854204c696d6974206f662070726f6f662073697a652e0059012041746f6d69632073776170206973206f6e6c792061746f6d6963206966206f6e6365207468652070726f6f662069732072657665616c65642c20626f746820706172746965732063616e207375626d69742074686565012070726f6f6673206f6e2d636861696e2e204966204120697320746865206f6e6520746861742067656e657261746573207468652070726f6f662c207468656e2069742072657175697265732074686174206569746865723a1101202d2041277320626c6f636b636861696e20686173207468652073616d652070726f6f66206c656e677468206c696d69742061732042277320626c6f636b636861696e2e1901202d204f722041277320626c6f636b636861696e206861732073686f727465722070726f6f66206c656e677468206c696d69742061732042277320626c6f636b636861696e2e005501204966204220736565732041206973206f6e206120626c6f636b636861696e2077697468206c61726765722070726f6f66206c656e677468206c696d69742c207468656e2069742073686f756c64206b696e646c794d012072656675736520746f20616363657074207468652061746f6d69632073776170207265717565737420696620412067656e657261746573207468652070726f6f662c20616e642061736b7320746861742042742067656e657261746573207468652070726f6f6620696e73746561642e01f9033c204d756c746973696701204d756c746973696708244d756c7469736967730001080502f503fd03040004942054686520736574206f66206f70656e206d756c7469736967206f7065726174696f6e732e1443616c6c730001040604010404000001a9020109010c2c4465706f736974426173651820640000000000000018590120546865206261736520616d6f756e74206f662063757272656e6379206e656564656420746f207265736572766520666f72206372656174696e672061206d756c746973696720657865637574696f6e206f7220746f842073746f726520612064697370617463682063616c6c20666f72206c617465722e00010120546869732069732068656c6420666f7220616e206164646974696f6e616c2073746f72616765206974656d2077686f73652076616c75652073697a652069733101206034202b2073697a656f662828426c6f636b4e756d6265722c2042616c616e63652c204163636f756e74496429296020627974657320616e642077686f7365206b65792073697a652069738020603332202b2073697a656f66284163636f756e74496429602062797465732e344465706f736974466163746f72182020000000000000000c55012054686520616d6f756e74206f662063757272656e6379206e65656465642070657220756e6974207468726573686f6c64207768656e206372656174696e672061206d756c746973696720657865637574696f6e2e00250120546869732069732068656c6420666f7220616464696e67203332206279746573206d6f726520696e746f2061207072652d6578697374696e672073746f726167652076616c75652e384d61785369676e61746f726965732101080a0004ec20546865206d6178696d756d20616d6f756e74206f66207369676e61746f7269657320616c6c6f77656420696e20746865206d756c74697369672e0105043d4450726f7669646552616e646f6d6e657373014450726f7669646552616e646f6d6e65737318384e657845706f6368486f6f6b496e0100080400004452657175657374496450726f766964657201001820000000000000000000605265717565737473526561647941744e657874426c6f636b010009040400005052657175657374735265616479417445706f6368010104051809040400002c526571756573747349647300010405187804000054436f756e746572466f725265717565737473496473010010100000000004ac436f756e74657220666f72207468652072656c6174656420636f756e7465642073746f72616765206d617001b502011101082c4d6178526571756573747310106400000004a8204d6178696d756d206e756d626572206f66206e6f74207965742066696c6c6564207265717565737473305265717565737450726963651820d007000000000000045c20546865207072696365206f66206120726571756573740111043e1450726f7879011450726f7879081c50726f7869657301010405001504240000000000000000000845012054686520736574206f66206163636f756e742070726f786965732e204d61707320746865206163636f756e74207768696368206861732064656c65676174656420746f20746865206163636f756e7473210120776869636820617265206265696e672064656c65676174656420746f2c20746f67657468657220776974682074686520616d6f756e742068656c64206f6e206465706f7369742e34416e6e6f756e63656d656e7473010104050025042400000000000000000004ac2054686520616e6e6f756e63656d656e7473206d616465206279207468652070726f787920286b6579292e01b902011901184050726f78794465706f7369744261736518206c0000000000000010110120546865206261736520616d6f756e74206f662063757272656e6379206e656564656420746f207265736572766520666f72206372656174696e6720612070726f78792e00010120546869732069732068656c6420666f7220616e206164646974696f6e616c2073746f72616765206974656d2077686f73652076616c75652073697a652069732501206073697a656f662842616c616e6365296020627974657320616e642077686f7365206b65792073697a65206973206073697a656f66284163636f756e74496429602062797465732e4850726f78794465706f736974466163746f721820210000000000000014bc2054686520616d6f756e74206f662063757272656e6379206e6565646564207065722070726f78792061646465642e00350120546869732069732068656c6420666f7220616464696e6720333220627974657320706c757320616e20696e7374616e6365206f66206050726f78795479706560206d6f726520696e746f20616101207072652d6578697374696e672073746f726167652076616c75652e20546875732c207768656e20636f6e6669677572696e67206050726f78794465706f736974466163746f7260206f6e652073686f756c642074616b65f420696e746f206163636f756e7420603332202b2070726f78795f747970652e656e636f646528292e6c656e282960206279746573206f6620646174612e284d617850726f7869657310102000000004f020546865206d6178696d756d20616d6f756e74206f662070726f7869657320616c6c6f77656420666f7220612073696e676c65206163636f756e742e284d617850656e64696e6710102000000004450120546865206d6178696d756d20616d6f756e74206f662074696d652d64656c6179656420616e6e6f756e63656d656e747320746861742061726520616c6c6f77656420746f2062652070656e64696e672e5c416e6e6f756e63656d656e744465706f7369744261736518206c0000000000000010310120546865206261736520616d6f756e74206f662063757272656e6379206e656564656420746f207265736572766520666f72206372656174696e6720616e20616e6e6f756e63656d656e742e00490120546869732069732068656c64207768656e2061206e65772073746f72616765206974656d20686f6c64696e672061206042616c616e636560206973206372656174656420287479706963616c6c7920313620206279746573292e64416e6e6f756e63656d656e744465706f736974466163746f721820420000000000000010d42054686520616d6f756e74206f662063757272656e6379206e65656465642070657220616e6e6f756e63656d656e74206d6164652e00590120546869732069732068656c6420666f7220616464696e6720616e20604163636f756e744964602c2060486173686020616e642060426c6f636b4e756d6265726020287479706963616c6c79203638206279746573298c20696e746f2061207072652d6578697374696e672073746f726167652076616c75652e0135043f1c5574696c6974790001c102012501044c626174636865645f63616c6c735f6c696d69741010aa2a000004a820546865206c696d6974206f6e20746865206e756d626572206f6620626174636865642063616c6c732e01390440205472656173757279012054726561737572790c3450726f706f73616c436f756e74010010100000000004a4204e756d626572206f662070726f706f73616c7320746861742068617665206265656e206d6164652e2450726f706f73616c7300010405103d040400047c2050726f706f73616c7320746861742068617665206265656e206d6164652e24417070726f76616c7301004104040004f82050726f706f73616c20696e646963657320746861742068617665206265656e20617070726f76656420627574206e6f742079657420617761726465642e01d5020129011c3050726f706f73616c426f6e6445041010270000085501204672616374696f6e206f6620612070726f706f73616c27732076616c756520746861742073686f756c6420626520626f6e64656420696e206f7264657220746f20706c616365207468652070726f706f73616c2e110120416e2061636365707465642070726f706f73616c2067657473207468657365206261636b2e20412072656a65637465642070726f706f73616c20646f6573206e6f742e4c50726f706f73616c426f6e644d696e696d756d18201027000000000000044901204d696e696d756d20616d6f756e74206f662066756e647320746861742073686f756c6420626520706c6163656420696e2061206465706f73697420666f72206d616b696e6720612070726f706f73616c2e4c50726f706f73616c426f6e644d6178696d756d61010400044901204d6178696d756d20616d6f756e74206f662066756e647320746861742073686f756c6420626520706c6163656420696e2061206465706f73697420666f72206d616b696e6720612070726f706f73616c2e2c5370656e64506572696f64101040380000048820506572696f64206265747765656e2073756363657373697665207370656e64732e104275726e450410000000000411012050657263656e74616765206f662073706172652066756e64732028696620616e7929207468617420617265206275726e7420706572207370656e6420706572696f642e2050616c6c6574496449042070792f74727372790419012054686520747265617375727927732070616c6c65742069642c207573656420666f72206465726976696e672069747320736f7665726569676e206163636f756e742049442e304d6178417070726f76616c7310106400000004150120546865206d6178696d756d206e756d626572206f6620617070726f76616c7320746861742063616e207761697420696e20746865207370656e64696e672071756575652e014d04415104042048436865636b4e6f6e5a65726f53656e64657259047840436865636b5370656356657273696f6e5d041038436865636b547856657273696f6e61041030436865636b47656e6573697365042038436865636b4d6f7274616c69747969042028436865636b4e6f6e63657104782c436865636b576569676874750478604368617267655472616e73616374696f6e5061796d656e747904787d04","id":"1"} diff --git a/src/interfaces/types.ts b/src/interfaces/types.ts new file mode 100644 index 0000000..dfecb1f --- /dev/null +++ b/src/interfaces/types.ts @@ -0,0 +1,3 @@ +// Auto-generated via `yarn polkadot-types-from-defs`, do not edit +/* eslint-disable */ + diff --git a/src/manifest.json b/src/manifest.json new file mode 100644 index 0000000..0eb4d87 --- /dev/null +++ b/src/manifest.json @@ -0,0 +1,47 @@ +{ + "short_name": "Cesium", + "name": "Cesium", + "manifest_version": 1, + "version": "2.0.0-rc1", + "default_locale": "fr", + "description": "Cesium Wallet for Ğ1 libre currency", + "icons": [ + { + "src": "img/logo_32px.png", + "sizes": "32x32", + "type": "image/png" + }, + { + "src": "img/logo_96px.png", + "sizes": "96x96", + "type": "image/png" + }, + { + "src": "img/logo_144px.png", + "sizes": "144x144", + "type": "image/png" + }, + { + "src": "img/logo.svg", + "sizes": "192x192", + "type": "image/svg" + } + ], + "background_color": "#1a237e", + "theme_color": "black", + "dir": "ltr", + "start_url": "/#/app/home", + "display": "standalone", + "protocol_handlers": [ + { + "protocol": "june", + "name": "Cesium", + "uriTemplate": "/#/app/home?uri=%s" + }, + { + "protocol": "web+june", + "name": "Cesium", + "uriTemplate": "/#/app/home?uri=%s" + } + ] +} diff --git a/src/polyfills.ts b/src/polyfills.ts index ba409f9..27f5e43 100644 --- a/src/polyfills.ts +++ b/src/polyfills.ts @@ -18,16 +18,6 @@ * BROWSER POLYFILLS */ -/** IE11 requires the following for NgClass support on SVG elements */ -// import 'classlist.js'; // Run `npm install --save classlist.js`. - -/** - * Web Animations `@angular/platform-browser/animations` - * Only required if AnimationBuilder is used within the application and using IE/Edge or Safari. - * Standard animation support in Angular DOES NOT require any polyfills (as of Angular 6.0). - */ -// import 'web-animations-js'; // Run `npm install --save web-animations-js`. - /** * By default, zone.js will patch all possible macroTask and DomEvents * user can disable parts of macroTask/DomEvents patch by setting following flags @@ -63,3 +53,13 @@ import 'zone.js/dist/zone'; // Included with Angular CLI. /*************************************************************************************************** * APPLICATION IMPORTS */ +import '@polkadot/api-augment' +(window as any).global = window; + +// Force moment-timezone to be loaded, otherwise moment().tz() will failed +import { Moment } from 'moment'; +import * as momentImported from 'moment'; +const moment = momentImported; +import * as momentTZImported from 'moment-timezone'; +const tz = momentTZImported; +export { moment, tz, Moment }; diff --git a/src/test.ts b/src/test.ts index 50193eb..fa95211 100644 --- a/src/test.ts +++ b/src/test.ts @@ -17,7 +17,9 @@ declare const require: { // First, initialize the Angular testing environment. getTestBed().initTestEnvironment( BrowserDynamicTestingModule, - platformBrowserDynamicTesting() + platformBrowserDynamicTesting(), { + teardown: { destroyAfterEach: false } +} ); // Then we find all the tests. const context = require.context('./', true, /\.spec\.ts$/); diff --git a/tsconfig.json b/tsconfig.json index 8d379f5..502d3da 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -17,13 +17,20 @@ "paths" : { // Project sources "@app/*": ["src/app/*"], + "@environments/*": ["src/environments/*"], // Force using the RxJS project's version "rxjs": ["node_modules/rxjs"], "rxjs/*": ["node_modules/rxjs/*"], - // Local deps - "@duniter/core-types/*": ["/mnt/data/git/duniter/lc-core-substrate/types-bundle/src/*"], + // Local deps // Package name + "@duniter/core-types/*": ["src/*"], + + // here we replace the @polkadot/api augmentation with our own, generated from chain + "@polkadot/api/augment": ["src/interfaces/augment-api.ts"], + // replace the augmented types with our own, as generated from definitions + "@polkadot/types/augment": ["src/interfaces/augment-types.ts"], + "@polkadot/types": ["./node_modules/@polkadot/types"], // Node JS lib "crypto": ["node_modules/crypto-browserify"], @@ -31,7 +38,7 @@ "assert": ["node_modules/assert"], "http": ["node_modules/stream-http"], "https": ["node_modules/https-browserify"], - "os": ["node_modules/os-browserify"], + "os": ["node_modules/os-browserify"] } }, -- GitLab