From 077b60fc87a0ce955de4e0e1e42a7a2a1fc1d160 Mon Sep 17 00:00:00 2001 From: nikolay Date: Wed, 31 May 2023 15:57:54 +0400 Subject: [PATCH 01/41] =?UTF-8?q?dev=20#14384=20=D0=9F=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=BA=D0=B0=20=D0=BE=D1=88=D0=B8=D0=B1=D0=BE=D0=BA=20=D0=BE?= =?UTF-8?q?=D1=82=D0=BE=D0=B1=D1=80=D0=B0=D0=B6=D0=B5=D0=BD=D0=B8=D1=8F=20?= =?UTF-8?q?WPA=20=D0=9A=D0=BE=D1=84=D0=B5=D0=9B=D0=B0=D0=B9=D0=BA:=20upgra?= =?UTF-8?q?de=20angular=20to=2015?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- angular/.browserslistrc | 16 - angular/angular.json | 2 +- angular/package-lock.json | 10946 +++++++++------- angular/package.json | 32 +- .../src/app/directives/directives.module.ts | 5 +- .../update-outline-gap.directive.ts | 17 - .../first-option/first-option.module.ts | 6 +- .../pages/login/login.component.ts | 2 +- angular/src/styles.scss | 153 +- angular/src/test.ts | 12 - angular/tsconfig.json | 3 +- 11 files changed, 6345 insertions(+), 4849 deletions(-) delete mode 100644 angular/.browserslistrc delete mode 100644 angular/src/app/directives/update-outline-gap.directive.ts diff --git a/angular/.browserslistrc b/angular/.browserslistrc deleted file mode 100644 index 4f9ac26..0000000 --- a/angular/.browserslistrc +++ /dev/null @@ -1,16 +0,0 @@ -# This file is used by the build system to adjust CSS and JS output to support the specified browsers below. -# For additional information regarding the format and rule options, please see: -# https://github.com/browserslist/browserslist#queries - -# For the full list of supported browsers by the Angular framework, please see: -# https://angular.io/guide/browser-support - -# You can see what browsers were selected by your queries by running: -# npx browserslist - -last 1 Chrome version -last 1 Firefox version -last 2 Edge major versions -last 2 Safari major versions -last 2 iOS major versions -Firefox ESR diff --git a/angular/angular.json b/angular/angular.json index e1b1cc8..9e55c42 100644 --- a/angular/angular.json +++ b/angular/angular.json @@ -35,7 +35,7 @@ "src/sw-custom.js" ], "styles": [ - "./node_modules/@angular/material/prebuilt-themes/purple-green.css", + "./node_modules/@angular/material/prebuilt-themes/indigo-pink.css", "node_modules/primeng/resources/themes/bootstrap4-light-blue/theme.css", "node_modules/primeicons/primeicons.css", "node_modules/primeng/resources/primeng.min.css", diff --git a/angular/package-lock.json b/angular/package-lock.json index aa03593..66dd295 100644 --- a/angular/package-lock.json +++ b/angular/package-lock.json @@ -8,18 +8,18 @@ "name": "coffee-like-test", "version": "0.0.2", "dependencies": { - "@angular/animations": "^14.0.0", - "@angular/cdk": "^14.2.1", - "@angular/common": "^14.0.0", - "@angular/compiler": "^14.0.0", - "@angular/core": "^14.0.0", + "@angular/animations": "^15.2.9", + "@angular/cdk": "^15.2.9", + "@angular/common": "^15.2.9", + "@angular/compiler": "^15.2.9", + "@angular/core": "^15.2.9", "@angular/fire": "^7.4.1", - "@angular/forms": "^14.0.0", - "@angular/material": "^14.2.1", - "@angular/platform-browser": "^14.0.0", - "@angular/platform-browser-dynamic": "^14.0.0", - "@angular/router": "^14.0.0", - "@angular/service-worker": "^14.0.0", + "@angular/forms": "^15.2.9", + "@angular/material": "^15.2.9", + "@angular/platform-browser": "^15.2.9", + "@angular/platform-browser-dynamic": "^15.2.9", + "@angular/router": "^15.2.9", + "@angular/service-worker": "^15.2.9", "@fortawesome/angular-fontawesome": "^0.11.1", "@fortawesome/fontawesome-svg-core": "^6.2.0", "@fortawesome/free-brands-svg-icons": "^6.2.0", @@ -42,9 +42,9 @@ "zone.js": "~0.11.4" }, "devDependencies": { - "@angular-devkit/build-angular": "^14.0.6", - "@angular/cli": "~14.0.6", - "@angular/compiler-cli": "^14.0.0", + "@angular-devkit/build-angular": "^15.2.8", + "@angular/cli": "~15.2.8", + "@angular/compiler-cli": "^15.2.9", "@types/google-libphonenumber": "^7.4.23", "@types/jasmine": "~4.0.0", "jasmine-core": "~4.1.0", @@ -53,7 +53,7 @@ "karma-coverage": "~2.2.0", "karma-jasmine": "~5.0.0", "karma-jasmine-html-reporter": "~1.7.0", - "typescript": "~4.7.2" + "typescript": "4.8" } }, "node_modules/@ampproject/remapping": { @@ -70,16 +70,16 @@ } }, "node_modules/@angular-devkit/architect": { - "version": "0.1401.3", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1401.3.tgz", - "integrity": "sha512-DQvKfl8Q9c02jpGqZX1nOL4mAnRBU6BSqPlhi1q17ZrB8sQpYtDBb8Epn2DDq48l7SQVFnRg6Zgje9L1LObURg==", + "version": "0.1502.8", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1502.8.tgz", + "integrity": "sha512-rTltw2ABHrcKc8EGimALvXmrDTP5hlNbEy6nYolJoXEI9EwHgriWrVLVPs3OEF+/ed47dbJi9EGOXUOgzgpB5A==", "dev": true, "dependencies": { - "@angular-devkit/core": "14.1.3", + "@angular-devkit/core": "15.2.8", "rxjs": "6.6.7" }, "engines": { - "node": "^14.15.0 || >=16.10.0", + "node": "^14.20.0 || ^16.13.0 || >=18.10.0", "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", "yarn": ">= 1.13.0" } @@ -103,96 +103,98 @@ "dev": true }, "node_modules/@angular-devkit/build-angular": { - "version": "14.1.3", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-14.1.3.tgz", - "integrity": "sha512-LZCGd68LCVOwgcGC9DVfjc+wmsTbQmrTMIjWPMXkqufmicEFptR7ocr2dBFJRiVPwqRj+/J+A98cck0GYRC5fw==", + "version": "15.2.8", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-15.2.8.tgz", + "integrity": "sha512-TGDnXhhOG6h6TOrWWzfnkha7wYBOXi7iJc1o1w1VKCayE3T6TZZdF847aK66vL9KG7AKYVdGhWEGw2WBHUBUpg==", "dev": true, "dependencies": { "@ampproject/remapping": "2.2.0", - "@angular-devkit/architect": "0.1401.3", - "@angular-devkit/build-webpack": "0.1401.3", - "@angular-devkit/core": "14.1.3", - "@babel/core": "7.18.6", - "@babel/generator": "7.18.7", + "@angular-devkit/architect": "0.1502.8", + "@angular-devkit/build-webpack": "0.1502.8", + "@angular-devkit/core": "15.2.8", + "@babel/core": "7.20.12", + "@babel/generator": "7.20.14", "@babel/helper-annotate-as-pure": "7.18.6", - "@babel/plugin-proposal-async-generator-functions": "7.18.6", - "@babel/plugin-transform-async-to-generator": "7.18.6", - "@babel/plugin-transform-runtime": "7.18.6", - "@babel/preset-env": "7.18.6", - "@babel/runtime": "7.18.6", - "@babel/template": "7.18.6", + "@babel/helper-split-export-declaration": "7.18.6", + "@babel/plugin-proposal-async-generator-functions": "7.20.7", + "@babel/plugin-transform-async-to-generator": "7.20.7", + "@babel/plugin-transform-runtime": "7.19.6", + "@babel/preset-env": "7.20.2", + "@babel/runtime": "7.20.13", + "@babel/template": "7.20.7", "@discoveryjs/json-ext": "0.5.7", - "@ngtools/webpack": "14.1.3", + "@ngtools/webpack": "15.2.8", "ansi-colors": "4.1.3", - "babel-loader": "8.2.5", + "autoprefixer": "10.4.13", + "babel-loader": "9.1.2", "babel-plugin-istanbul": "6.1.1", - "browserslist": "^4.9.1", - "cacache": "16.1.1", + "browserslist": "4.21.5", + "cacache": "17.0.4", + "chokidar": "3.5.3", "copy-webpack-plugin": "11.0.0", "critters": "0.0.16", - "css-loader": "6.7.1", - "esbuild-wasm": "0.14.49", - "glob": "8.0.3", + "css-loader": "6.7.3", + "esbuild-wasm": "0.17.8", + "glob": "8.1.0", "https-proxy-agent": "5.0.1", "inquirer": "8.2.4", - "jsonc-parser": "3.1.0", + "jsonc-parser": "3.2.0", "karma-source-map-support": "1.4.0", "less": "4.1.3", - "less-loader": "11.0.0", + "less-loader": "11.1.0", "license-webpack-plugin": "4.0.2", - "loader-utils": "3.2.0", - "mini-css-extract-plugin": "2.6.1", - "minimatch": "5.1.0", - "open": "8.4.0", + "loader-utils": "3.2.1", + "magic-string": "0.29.0", + "mini-css-extract-plugin": "2.7.2", + "open": "8.4.1", "ora": "5.4.1", - "parse5-html-rewriting-stream": "6.0.1", + "parse5-html-rewriting-stream": "7.0.0", "piscina": "3.2.0", - "postcss": "8.4.14", - "postcss-import": "14.1.0", - "postcss-loader": "7.0.1", - "postcss-preset-env": "7.7.2", - "regenerator-runtime": "0.13.9", + "postcss": "8.4.21", + "postcss-loader": "7.0.2", "resolve-url-loader": "5.0.0", "rxjs": "6.6.7", - "sass": "1.53.0", - "sass-loader": "13.0.2", - "semver": "7.3.7", - "source-map-loader": "4.0.0", + "sass": "1.58.1", + "sass-loader": "13.2.0", + "semver": "7.3.8", + "source-map-loader": "4.0.1", "source-map-support": "0.5.21", - "stylus": "0.58.1", - "stylus-loader": "7.0.0", - "terser": "5.14.2", + "terser": "5.16.3", "text-table": "0.2.0", "tree-kill": "1.2.2", - "tslib": "2.4.0", - "webpack": "5.73.0", - "webpack-dev-middleware": "5.3.3", - "webpack-dev-server": "4.9.3", + "tslib": "2.5.0", + "webpack": "5.76.1", + "webpack-dev-middleware": "6.0.1", + "webpack-dev-server": "4.11.1", "webpack-merge": "5.8.0", "webpack-subresource-integrity": "5.1.0" }, "engines": { - "node": "^14.15.0 || >=16.10.0", + "node": "^14.20.0 || ^16.13.0 || >=18.10.0", "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", "yarn": ">= 1.13.0" }, "optionalDependencies": { - "esbuild": "0.14.49" + "esbuild": "0.17.8" }, "peerDependencies": { - "@angular/compiler-cli": "^14.0.0", - "@angular/localize": "^14.0.0", - "@angular/service-worker": "^14.0.0", + "@angular/compiler-cli": "^15.0.0", + "@angular/localize": "^15.0.0", + "@angular/platform-server": "^15.0.0", + "@angular/service-worker": "^15.0.0", "karma": "^6.3.0", - "ng-packagr": "^14.0.0", + "ng-packagr": "^15.0.0", "protractor": "^7.0.0", "tailwindcss": "^2.0.0 || ^3.0.0", - "typescript": ">=4.6.2 <4.8" + "typescript": ">=4.8.2 <5.0" }, "peerDependenciesMeta": { "@angular/localize": { "optional": true }, + "@angular/platform-server": { + "optional": true + }, "@angular/service-worker": { "optional": true }, @@ -210,6 +212,69 @@ } } }, + "node_modules/@angular-devkit/build-angular/node_modules/@babel/core": { + "version": "7.20.12", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.20.12.tgz", + "integrity": "sha512-XsMfHovsUYHFMdrIHkZphTN/2Hzzi78R08NuHfDBehym2VsPDL6Zn/JAD/JQdnRvbSsbQc4mVaU1m6JgtTEElg==", + "dev": true, + "dependencies": { + "@ampproject/remapping": "^2.1.0", + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.20.7", + "@babel/helper-compilation-targets": "^7.20.7", + "@babel/helper-module-transforms": "^7.20.11", + "@babel/helpers": "^7.20.7", + "@babel/parser": "^7.20.7", + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.20.12", + "@babel/types": "^7.20.7", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.2", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "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/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/magic-string": { + "version": "0.29.0", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.29.0.tgz", + "integrity": "sha512-WcfidHrDjMY+eLjlU+8OvwREqHwpgCeKVBUpQ3OhYYuvfaYCUgcbuBzappNzZvg/v8onU3oQj+BYpkOJe9Iw4Q==", + "dev": true, + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.4.13" + }, + "engines": { + "node": ">=12" + } + }, "node_modules/@angular-devkit/build-angular/node_modules/rxjs": { "version": "6.6.7", "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", @@ -228,17 +293,32 @@ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", "dev": true }, - "node_modules/@angular-devkit/build-webpack": { - "version": "0.1401.3", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1401.3.tgz", - "integrity": "sha512-CCKinKF1JNy/cDE5Psn1N4Tl18k9eecDXJUhL4uix3DUHpP3qsVRta8sVJrmE4a3z8DYN6MCw6M38GRzOZiXCQ==", + "node_modules/@angular-devkit/build-angular/node_modules/semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", "dev": true, "dependencies": { - "@angular-devkit/architect": "0.1401.3", + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@angular-devkit/build-webpack": { + "version": "0.1502.8", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1502.8.tgz", + "integrity": "sha512-jWtNv+S03FFLDe/C8SPCcRvkz3bSb2R+919IT086Q9axIPQ1VowOEwzt2k3qXPSSrC7GSYuASM+X92dB47NTQQ==", + "dev": true, + "dependencies": { + "@angular-devkit/architect": "0.1502.8", "rxjs": "6.6.7" }, "engines": { - "node": "^14.15.0 || >=16.10.0", + "node": "^14.20.0 || ^16.13.0 || >=18.10.0", "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", "yarn": ">= 1.13.0" }, @@ -266,19 +346,19 @@ "dev": true }, "node_modules/@angular-devkit/core": { - "version": "14.1.3", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-14.1.3.tgz", - "integrity": "sha512-YBxhRl7hKgirjcKeurfejVrIgmw31GcfKKCyQiIudoLCYjonnSMdDEx2y8BNMANvxe5YmuZsIYJtgVlqp3mMDg==", + "version": "15.2.8", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-15.2.8.tgz", + "integrity": "sha512-Lo4XrbDMtXarKnMrFgWLmQdSX+3QPNAg4otG8cmp/U4jJyjV4dAYKEAsb1sCNGUSM4h4v09EQU/5ugVjDU29lQ==", "dev": true, "dependencies": { - "ajv": "8.11.0", + "ajv": "8.12.0", "ajv-formats": "2.1.1", - "jsonc-parser": "3.1.0", + "jsonc-parser": "3.2.0", "rxjs": "6.6.7", "source-map": "0.7.4" }, "engines": { - "node": "^14.15.0 || >=16.10.0", + "node": "^14.20.0 || ^16.13.0 || >=18.10.0", "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", "yarn": ">= 1.13.0" }, @@ -291,6 +371,22 @@ } } }, + "node_modules/@angular-devkit/core/node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, "node_modules/@angular-devkit/core/node_modules/rxjs": { "version": "6.6.7", "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", @@ -381,132 +477,150 @@ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" }, "node_modules/@angular/animations": { - "version": "14.1.3", - "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-14.1.3.tgz", - "integrity": "sha512-AmnrsRWJxlIQPnnef3MCo9N7bbFmEWvyyDPB8z4UOYDqBwRBHnDn5g1rrVQzLJH7I1O2DLcm/EhWYJrfagQ2aQ==", + "version": "15.2.9", + "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-15.2.9.tgz", + "integrity": "sha512-GQujLhI0cQFcl4Q8y0oSYKSRnW23GIeSL+Arl4eFufziJ9hGAAQNuesaNs/7i+9UlTHDMkPH3kd5ScXuYYz6wg==", "dependencies": { "tslib": "^2.3.0" }, "engines": { - "node": "^14.15.0 || >=16.10.0" + "node": "^14.20.0 || ^16.13.0 || >=18.10.0" }, "peerDependencies": { - "@angular/core": "14.1.3" + "@angular/core": "15.2.9" } }, "node_modules/@angular/cdk": { - "version": "14.2.1", - "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-14.2.1.tgz", - "integrity": "sha512-saLFOZeyYQ6ELvPYqePsC8yXzDYjrCXGKGLtwAG/1mUlXcVTC0V1c3SabU4JR7Z+Zo1tOmzkWxuUkrw7uvaJHA==", + "version": "15.2.9", + "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-15.2.9.tgz", + "integrity": "sha512-koaM07N1AIQ5oHU27l0/FoQSSoYAwlAYwVZ4Di3bYrJsTBNCN2Xsby7wI8gZxdepMnV4Fe9si382BDBov+oO4Q==", "dependencies": { "tslib": "^2.3.0" }, "optionalDependencies": { - "parse5": "^5.0.0" + "parse5": "^7.1.2" }, "peerDependencies": { - "@angular/common": "^14.0.0 || ^15.0.0", - "@angular/core": "^14.0.0 || ^15.0.0", + "@angular/common": "^15.0.0 || ^16.0.0", + "@angular/core": "^15.0.0 || ^16.0.0", "rxjs": "^6.5.3 || ^7.4.0" } }, + "node_modules/@angular/cdk/node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "optional": true, + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, "node_modules/@angular/cdk/node_modules/parse5": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz", - "integrity": "sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==", - "optional": true + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", + "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", + "optional": true, + "dependencies": { + "entities": "^4.4.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } }, "node_modules/@angular/cli": { - "version": "14.0.7", - "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-14.0.7.tgz", - "integrity": "sha512-tABt1EDwBHm0ngsutdkXXWgPgHzapGLC7rSPHXStMc24ngViFZpXGzBCpompjHvXNt6bjklmJmuRvjS6+ktBZA==", + "version": "15.2.8", + "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-15.2.8.tgz", + "integrity": "sha512-3VlTfm6DUZfFHBY43vQSAaqmFTxy3VtRd/iDBCHcEPhHwYLWBvNwReJuJfNja8O105QQ6DBiYVBExEBtPmjQ4w==", "dev": true, "dependencies": { - "@angular-devkit/architect": "0.1400.7", - "@angular-devkit/core": "14.0.7", - "@angular-devkit/schematics": "14.0.7", - "@schematics/angular": "14.0.7", + "@angular-devkit/architect": "0.1502.8", + "@angular-devkit/core": "15.2.8", + "@angular-devkit/schematics": "15.2.8", + "@schematics/angular": "15.2.8", "@yarnpkg/lockfile": "1.1.0", - "ansi-colors": "4.1.1", - "debug": "4.3.4", - "ini": "3.0.0", + "ansi-colors": "4.1.3", + "ini": "3.0.1", "inquirer": "8.2.4", - "jsonc-parser": "3.0.0", - "npm-package-arg": "9.0.2", - "npm-pick-manifest": "7.0.1", - "open": "8.4.0", + "jsonc-parser": "3.2.0", + "npm-package-arg": "10.1.0", + "npm-pick-manifest": "8.0.1", + "open": "8.4.1", "ora": "5.4.1", - "pacote": "13.3.0", - "resolve": "1.22.0", - "semver": "7.3.7", + "pacote": "15.1.0", + "resolve": "1.22.1", + "semver": "7.3.8", "symbol-observable": "4.0.0", - "uuid": "8.3.2", - "yargs": "17.4.1" + "yargs": "17.6.2" }, "bin": { "ng": "bin/ng.js" }, "engines": { - "node": "^14.15.0 || >=16.10.0", + "node": "^14.20.0 || ^16.13.0 || >=18.10.0", "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", "yarn": ">= 1.13.0" } }, - "node_modules/@angular/cli/node_modules/@angular-devkit/architect": { - "version": "0.1400.7", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1400.7.tgz", - "integrity": "sha512-8dv/Ql86dHajsHYjjr5jvpiV7uXWbt7Mz4K/rGiOi+zzDNKPcZcuCejulWhOySDcCPjT/an47Qcwr+awL4Wr4g==", + "node_modules/@angular/cli/node_modules/@angular-devkit/schematics": { + "version": "15.2.8", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-15.2.8.tgz", + "integrity": "sha512-w6EUGC96kVsH9f8sEzajzbONMawezyVBiSo+JYp5r25rQArAz/a+KZntbuETWHQ0rQOEsKmUNKxwmr11BaptSQ==", "dev": true, "dependencies": { - "@angular-devkit/core": "14.0.7", + "@angular-devkit/core": "15.2.8", + "jsonc-parser": "3.2.0", + "magic-string": "0.29.0", + "ora": "5.4.1", "rxjs": "6.6.7" }, "engines": { - "node": "^14.15.0 || >=16.10.0", + "node": "^14.20.0 || ^16.13.0 || >=18.10.0", "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", "yarn": ">= 1.13.0" } }, - "node_modules/@angular/cli/node_modules/@angular-devkit/core": { - "version": "14.0.7", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-14.0.7.tgz", - "integrity": "sha512-XBqK2OMVKkV1Ltkh4aBsoHoDJQlins5a6qa/ZMjW4reYx90qLERs8ZfeWlRUWhvn2/ohx4aPq77jwSR5avp/Cw==", + "node_modules/@angular/cli/node_modules/@schematics/angular": { + "version": "15.2.8", + "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-15.2.8.tgz", + "integrity": "sha512-F49IEzCFxQlpaMIgTO/wF1l/CLQKif7VaiDdyiTKOeT22IMmyd61FUmWDyZYfCBqMlvBmvDGx64HaHWes1HYCg==", "dev": true, "dependencies": { - "ajv": "8.11.0", - "ajv-formats": "2.1.1", - "jsonc-parser": "3.0.0", - "rxjs": "6.6.7", - "source-map": "0.7.3" + "@angular-devkit/core": "15.2.8", + "@angular-devkit/schematics": "15.2.8", + "jsonc-parser": "3.2.0" }, "engines": { - "node": "^14.15.0 || >=16.10.0", + "node": "^14.20.0 || ^16.13.0 || >=18.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/cli/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==", + "node_modules/@angular/cli/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": ">=6" + "node": ">=10" } }, - "node_modules/@angular/cli/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/@angular/cli/node_modules/magic-string": { + "version": "0.29.0", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.29.0.tgz", + "integrity": "sha512-WcfidHrDjMY+eLjlU+8OvwREqHwpgCeKVBUpQ3OhYYuvfaYCUgcbuBzappNzZvg/v8onU3oQj+BYpkOJe9Iw4Q==", + "dev": true, + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.4.13" + }, + "engines": { + "node": ">=12" + } }, "node_modules/@angular/cli/node_modules/rxjs": { "version": "6.6.7", @@ -520,13 +634,19 @@ "npm": ">=2.0.0" } }, - "node_modules/@angular/cli/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/@angular/cli/node_modules/semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, "engines": { - "node": ">= 8" + "node": ">=10" } }, "node_modules/@angular/cli/node_modules/tslib": { @@ -536,32 +656,32 @@ "dev": true }, "node_modules/@angular/common": { - "version": "14.1.3", - "resolved": "https://registry.npmjs.org/@angular/common/-/common-14.1.3.tgz", - "integrity": "sha512-t5zidNLcQrgrShBFFsEhvJ6yKw5jwv/Td/AQrknQzrAz3kVBH4dOZGC5jolasFipy/P1DNoG2K+igPCGeskc4w==", + "version": "15.2.9", + "resolved": "https://registry.npmjs.org/@angular/common/-/common-15.2.9.tgz", + "integrity": "sha512-LM9/UHG2dRrOzlu2KovrFwWIziFMjRxHzSP3Igw6Symw/wIl0kXGq8Fn6RpFP78zmLqnv+IQOoRiby9MCXsI4g==", "dependencies": { "tslib": "^2.3.0" }, "engines": { - "node": "^14.15.0 || >=16.10.0" + "node": "^14.20.0 || ^16.13.0 || >=18.10.0" }, "peerDependencies": { - "@angular/core": "14.1.3", + "@angular/core": "15.2.9", "rxjs": "^6.5.3 || ^7.4.0" } }, "node_modules/@angular/compiler": { - "version": "14.1.3", - "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-14.1.3.tgz", - "integrity": "sha512-QtBHzhGzym8CwGrZLFYsciaLq/F4lxUxNOBDQdrc5Pd/qYiaJ50rrWfmXpqrFR6CC0E0bgzIj0Uxdf+D/VRmWQ==", + "version": "15.2.9", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-15.2.9.tgz", + "integrity": "sha512-MoKugbjk+E0wRBj12uvIyDLELlVLonnqjA2+XiF+7FxALIeyds3/qQeEoMmYIqAbN3NnTT5pV92RxWwG4tHFwA==", "dependencies": { "tslib": "^2.3.0" }, "engines": { - "node": "^14.15.0 || >=16.10.0" + "node": "^14.20.0 || ^16.13.0 || >=18.10.0" }, "peerDependencies": { - "@angular/core": "14.1.3" + "@angular/core": "15.2.9" }, "peerDependenciesMeta": { "@angular/core": { @@ -570,19 +690,19 @@ } }, "node_modules/@angular/compiler-cli": { - "version": "14.1.3", - "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-14.1.3.tgz", - "integrity": "sha512-GJqUfIKuM7bYeR699ceRSa6LT90vEi2q+s+YIwRrlXSFto7xNCmn5bJsYV6XmslvPPTqiLR5w9K8MNC9qYBbxw==", + "version": "15.2.9", + "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-15.2.9.tgz", + "integrity": "sha512-zsbI8G2xHOeYWI0hjFzrI//ZhZV9il/uQW5dAimfwJp06KZDeXZ3PdwY9JQslf6F+saLwOObxy6QMrIVvfjy9w==", "dev": true, "dependencies": { - "@babel/core": "^7.17.2", + "@babel/core": "7.19.3", + "@jridgewell/sourcemap-codec": "^1.4.14", "chokidar": "^3.0.0", "convert-source-map": "^1.5.1", "dependency-graph": "^0.11.0", - "magic-string": "^0.26.0", + "magic-string": "^0.27.0", "reflect-metadata": "^0.1.2", "semver": "^7.0.0", - "sourcemap-codec": "^1.4.8", "tslib": "^2.3.0", "yargs": "^17.2.1" }, @@ -592,26 +712,38 @@ "ngcc": "bundles/ngcc/main-ngcc.js" }, "engines": { - "node": "^14.15.0 || >=16.10.0" + "node": "^14.20.0 || ^16.13.0 || >=18.10.0" }, "peerDependencies": { - "@angular/compiler": "14.1.3", - "typescript": ">=4.6.2 <4.8" + "@angular/compiler": "15.2.9", + "typescript": ">=4.8.2 <5.0" + } + }, + "node_modules/@angular/compiler-cli/node_modules/magic-string": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.27.0.tgz", + "integrity": "sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==", + "dev": true, + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.4.13" + }, + "engines": { + "node": ">=12" } }, "node_modules/@angular/core": { - "version": "14.1.3", - "resolved": "https://registry.npmjs.org/@angular/core/-/core-14.1.3.tgz", - "integrity": "sha512-V3OJD4cShjLzyJAWQ1ogSW0WhKJwti5zsoT1SQ2RoA5UScBPzZN/F/0n/4IupHeaIC+NfaLX916xKTGWA8G8SQ==", + "version": "15.2.9", + "resolved": "https://registry.npmjs.org/@angular/core/-/core-15.2.9.tgz", + "integrity": "sha512-w46Z1yUXCQfKV7XfnamOoLA2VD0MVUUYVrUjO73mHSskDXSXxfZAEHO9kfUS71Cj35PvhP3mbkqWscpea2WeYg==", "dependencies": { "tslib": "^2.3.0" }, "engines": { - "node": "^14.15.0 || >=16.10.0" + "node": "^14.20.0 || ^16.13.0 || >=18.10.0" }, "peerDependencies": { "rxjs": "^6.5.3 || ^7.4.0", - "zone.js": "~0.11.4" + "zone.js": "~0.11.4 || ~0.12.0 || ~0.13.0" } }, "node_modules/@angular/fire": { @@ -652,53 +784,100 @@ } }, "node_modules/@angular/forms": { - "version": "14.1.3", - "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-14.1.3.tgz", - "integrity": "sha512-gCN3my9KRp6BLlBGh4uw8NukUPKCl+quroMO2lkvsodF0MA42uhKHO+EImrpLxNMK7lfENIERwthb4mh4G4cFQ==", + "version": "15.2.9", + "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-15.2.9.tgz", + "integrity": "sha512-sk0pC2EFi2Ohg5J0q0NYptbT+2WOkoiERSMYA39ncDvlSZBWsNlxpkbGUSck7NIxjK2QfcVN1ldGbHlZTFvtqg==", "dependencies": { "tslib": "^2.3.0" }, "engines": { - "node": "^14.15.0 || >=16.10.0" + "node": "^14.20.0 || ^16.13.0 || >=18.10.0" }, "peerDependencies": { - "@angular/common": "14.1.3", - "@angular/core": "14.1.3", - "@angular/platform-browser": "14.1.3", + "@angular/common": "15.2.9", + "@angular/core": "15.2.9", + "@angular/platform-browser": "15.2.9", "rxjs": "^6.5.3 || ^7.4.0" } }, "node_modules/@angular/material": { - "version": "14.2.1", - "resolved": "https://registry.npmjs.org/@angular/material/-/material-14.2.1.tgz", - "integrity": "sha512-e7DkKJTuqrSpKPhxahrqkZt6AeU5ld5/aSeCamq2dcdqfZ8otmgiajzN0cXZGwSCT2Lth6c+QV3yn8ufTJQpTw==", + "version": "15.2.9", + "resolved": "https://registry.npmjs.org/@angular/material/-/material-15.2.9.tgz", + "integrity": "sha512-emuFF/7+91Jq+6kVCl3FiVoFLtAZoh+woFQWNuK8nhx0HmD4ckLFI8d9a6ERYR3zRuKhq5deSRE2kYsfpjrrsQ==", "dependencies": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/auto-init": "15.0.0-canary.684e33d25.0", + "@material/banner": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/button": "15.0.0-canary.684e33d25.0", + "@material/card": "15.0.0-canary.684e33d25.0", + "@material/checkbox": "15.0.0-canary.684e33d25.0", + "@material/chips": "15.0.0-canary.684e33d25.0", + "@material/circular-progress": "15.0.0-canary.684e33d25.0", + "@material/data-table": "15.0.0-canary.684e33d25.0", + "@material/density": "15.0.0-canary.684e33d25.0", + "@material/dialog": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/drawer": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/fab": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/floating-label": "15.0.0-canary.684e33d25.0", + "@material/form-field": "15.0.0-canary.684e33d25.0", + "@material/icon-button": "15.0.0-canary.684e33d25.0", + "@material/image-list": "15.0.0-canary.684e33d25.0", + "@material/layout-grid": "15.0.0-canary.684e33d25.0", + "@material/line-ripple": "15.0.0-canary.684e33d25.0", + "@material/linear-progress": "15.0.0-canary.684e33d25.0", + "@material/list": "15.0.0-canary.684e33d25.0", + "@material/menu": "15.0.0-canary.684e33d25.0", + "@material/menu-surface": "15.0.0-canary.684e33d25.0", + "@material/notched-outline": "15.0.0-canary.684e33d25.0", + "@material/radio": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/segmented-button": "15.0.0-canary.684e33d25.0", + "@material/select": "15.0.0-canary.684e33d25.0", + "@material/shape": "15.0.0-canary.684e33d25.0", + "@material/slider": "15.0.0-canary.684e33d25.0", + "@material/snackbar": "15.0.0-canary.684e33d25.0", + "@material/switch": "15.0.0-canary.684e33d25.0", + "@material/tab": "15.0.0-canary.684e33d25.0", + "@material/tab-bar": "15.0.0-canary.684e33d25.0", + "@material/tab-indicator": "15.0.0-canary.684e33d25.0", + "@material/tab-scroller": "15.0.0-canary.684e33d25.0", + "@material/textfield": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/tooltip": "15.0.0-canary.684e33d25.0", + "@material/top-app-bar": "15.0.0-canary.684e33d25.0", + "@material/touch-target": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", "tslib": "^2.3.0" }, "peerDependencies": { - "@angular/animations": "^14.0.0 || ^15.0.0", - "@angular/cdk": "14.2.1", - "@angular/common": "^14.0.0 || ^15.0.0", - "@angular/core": "^14.0.0 || ^15.0.0", - "@angular/forms": "^14.0.0 || ^15.0.0", - "@angular/platform-browser": "^14.0.0 || ^15.0.0", + "@angular/animations": "^15.0.0 || ^16.0.0", + "@angular/cdk": "15.2.9", + "@angular/common": "^15.0.0 || ^16.0.0", + "@angular/core": "^15.0.0 || ^16.0.0", + "@angular/forms": "^15.0.0 || ^16.0.0", + "@angular/platform-browser": "^15.0.0 || ^16.0.0", "rxjs": "^6.5.3 || ^7.4.0" } }, "node_modules/@angular/platform-browser": { - "version": "14.1.3", - "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-14.1.3.tgz", - "integrity": "sha512-baEHBj2pCrz5XR9KCb2FaAChWsRrxl9yapDZFNpApucN/OlQpBDVA9UDDvaYeD3PsI8nVL3B6danKUloamd+pw==", + "version": "15.2.9", + "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-15.2.9.tgz", + "integrity": "sha512-ufCHeSX+U6d43YOMkn3igwfqtlozoCXADcbyfUEG8m2y9XASobqmCKvdSk/zfl62oyiA8msntWBJVBE2l4xKXg==", "dependencies": { "tslib": "^2.3.0" }, "engines": { - "node": "^14.15.0 || >=16.10.0" + "node": "^14.20.0 || ^16.13.0 || >=18.10.0" }, "peerDependencies": { - "@angular/animations": "14.1.3", - "@angular/common": "14.1.3", - "@angular/core": "14.1.3" + "@angular/animations": "15.2.9", + "@angular/common": "15.2.9", + "@angular/core": "15.2.9" }, "peerDependenciesMeta": { "@angular/animations": { @@ -707,43 +886,43 @@ } }, "node_modules/@angular/platform-browser-dynamic": { - "version": "14.1.3", - "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-14.1.3.tgz", - "integrity": "sha512-WOWMgXUe8dEXt33jCP8/d8O5NQJKyr+4Dq2sjJ7y1ouCOjJsc9Ybi3y5uMyDCwb6SausGWLJ6w7DweMDWMlsYA==", + "version": "15.2.9", + "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-15.2.9.tgz", + "integrity": "sha512-ZIYDM6MShblb8OyV1m4+18lJJ2LCeICmeg2uSbpFYptYBSOClrTiYOOFVDJvn7HLvNzljLs16XPrgyaYVqNpcw==", "dependencies": { "tslib": "^2.3.0" }, "engines": { - "node": "^14.15.0 || >=16.10.0" + "node": "^14.20.0 || ^16.13.0 || >=18.10.0" }, "peerDependencies": { - "@angular/common": "14.1.3", - "@angular/compiler": "14.1.3", - "@angular/core": "14.1.3", - "@angular/platform-browser": "14.1.3" + "@angular/common": "15.2.9", + "@angular/compiler": "15.2.9", + "@angular/core": "15.2.9", + "@angular/platform-browser": "15.2.9" } }, "node_modules/@angular/router": { - "version": "14.1.3", - "resolved": "https://registry.npmjs.org/@angular/router/-/router-14.1.3.tgz", - "integrity": "sha512-LjWQBaeaGkgFy814booGmQV2eELDynzACGAZUwrpWmdHKo9p9GCi9dYttYXspNDmxoipXAzYvVPSABlMfhuQ+g==", + "version": "15.2.9", + "resolved": "https://registry.npmjs.org/@angular/router/-/router-15.2.9.tgz", + "integrity": "sha512-UCbh5DLSDhybv0xKYT7kGQMfOVdyhHIHOZz5EYVebbhste6S+W1LE57vTHq7QtxJsyKBa/WSkaUkCLXD6ntCAg==", "dependencies": { "tslib": "^2.3.0" }, "engines": { - "node": "^14.15.0 || >=16.10.0" + "node": "^14.20.0 || ^16.13.0 || >=18.10.0" }, "peerDependencies": { - "@angular/common": "14.1.3", - "@angular/core": "14.1.3", - "@angular/platform-browser": "14.1.3", + "@angular/common": "15.2.9", + "@angular/core": "15.2.9", + "@angular/platform-browser": "15.2.9", "rxjs": "^6.5.3 || ^7.4.0" } }, "node_modules/@angular/service-worker": { - "version": "14.1.3", - "resolved": "https://registry.npmjs.org/@angular/service-worker/-/service-worker-14.1.3.tgz", - "integrity": "sha512-Ut0pZcWxRhpb9L+RKZperuzSoPvIzLtTrnuYqx2SonRpzBJvINI4jQ2jC7Atpc/gML/uaNZCeylwTtuRJaeOjQ==", + "version": "15.2.9", + "resolved": "https://registry.npmjs.org/@angular/service-worker/-/service-worker-15.2.9.tgz", + "integrity": "sha512-qM/lcrjaxIfpKj174mMWedtGfLNgLl5m7p9mPNODFjqp5lQj3fTTS643ix5Pr0onwbvbNbXu4g67/WXJqap0eA==", "dependencies": { "tslib": "^2.3.0" }, @@ -751,11 +930,11 @@ "ngsw-config": "ngsw-config.js" }, "engines": { - "node": "^14.15.0 || >=16.10.0" + "node": "^14.20.0 || ^16.13.0 || >=18.10.0" }, "peerDependencies": { - "@angular/common": "14.1.3", - "@angular/core": "14.1.3" + "@angular/common": "15.2.9", + "@angular/core": "15.2.9" } }, "node_modules/@assemblyscript/loader": { @@ -765,9 +944,9 @@ "dev": true }, "node_modules/@babel/code-frame": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", - "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.21.4.tgz", + "integrity": "sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g==", "dev": true, "dependencies": { "@babel/highlight": "^7.18.6" @@ -777,30 +956,30 @@ } }, "node_modules/@babel/compat-data": { - "version": "7.18.8", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.18.8.tgz", - "integrity": "sha512-HSmX4WZPPK3FUxYp7g2T6EyO8j96HlZJlxmKPSh6KAcqwyDrfx7hKjXpAW/0FhFfTJsR0Yt4lAjLI2coMptIHQ==", + "version": "7.22.3", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.3.tgz", + "integrity": "sha512-aNtko9OPOwVESUFp3MZfD8Uzxl7JzSeJpd7npIoxCasU37PFbAQRpKglkaKwlHOyeJdrREpo8TW8ldrkYWwvIQ==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/core": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.18.6.tgz", - "integrity": "sha512-cQbWBpxcbbs/IUredIPkHiAGULLV8iwgNRMFzvbhEXISp4f3rUUXE5+TIw6KwUWUR3DwyI6gmBRnmAtYaWehwQ==", + "version": "7.19.3", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.19.3.tgz", + "integrity": "sha512-WneDJxdsjEvyKtXKsaBGbDeiyOjR5vYq4HcShxnIbG0qixpoHjI3MqeZM9NDvsojNCEBItQE4juOo/bU6e72gQ==", "dev": true, "dependencies": { "@ampproject/remapping": "^2.1.0", "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.18.6", - "@babel/helper-compilation-targets": "^7.18.6", - "@babel/helper-module-transforms": "^7.18.6", - "@babel/helpers": "^7.18.6", - "@babel/parser": "^7.18.6", - "@babel/template": "^7.18.6", - "@babel/traverse": "^7.18.6", - "@babel/types": "^7.18.6", + "@babel/generator": "^7.19.3", + "@babel/helper-compilation-targets": "^7.19.3", + "@babel/helper-module-transforms": "^7.19.0", + "@babel/helpers": "^7.19.0", + "@babel/parser": "^7.19.3", + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.19.3", + "@babel/types": "^7.19.3", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -825,12 +1004,12 @@ } }, "node_modules/@babel/generator": { - "version": "7.18.7", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.18.7.tgz", - "integrity": "sha512-shck+7VLlY72a2w9c3zYWuE1pwOKEiQHV7GTUbSnhyl5eu3i04t30tBY82ZRWrDfo3gkakCFtevExnxbkf2a3A==", + "version": "7.20.14", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.20.14.tgz", + "integrity": "sha512-AEmuXHdcD3A52HHXxaTmYlb8q/xMEhoRP67B3T4Oq7lbmSoqroMZzjnGj3+i1io3pdnF8iBYVu4Ilj+c4hBxYg==", "dev": true, "dependencies": { - "@babel/types": "^7.18.7", + "@babel/types": "^7.20.7", "@jridgewell/gen-mapping": "^0.3.2", "jsesc": "^2.5.1" }, @@ -865,27 +1044,27 @@ } }, "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.9.tgz", - "integrity": "sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw==", + "version": "7.22.3", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.3.tgz", + "integrity": "sha512-ahEoxgqNoYXm0k22TvOke48i1PkavGu0qGCmcq9ugi6gnmvKNaMjKBSrZTnWUi1CFEeNAUiVba0Wtzm03aSkJg==", "dev": true, "dependencies": { - "@babel/helper-explode-assignable-expression": "^7.18.6", - "@babel/types": "^7.18.9" + "@babel/types": "^7.22.3" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.18.9.tgz", - "integrity": "sha512-tzLCyVmqUiFlcFoAPLA/gL9TeYrF61VLNtb+hvkuVaB5SUjW7jcfrglBIX1vUIoT7CLP3bBlIMeyEsIl2eFQNg==", + "version": "7.22.1", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.1.tgz", + "integrity": "sha512-Rqx13UM3yVB5q0D/KwQ8+SPfX/+Rnsy1Lw1k/UwOC4KC6qrzIQoY3lYnBu5EHKBlEHHcj0M0W8ltPSkD8rqfsQ==", "dev": true, "dependencies": { - "@babel/compat-data": "^7.18.8", - "@babel/helper-validator-option": "^7.18.6", - "browserslist": "^4.20.2", + "@babel/compat-data": "^7.22.0", + "@babel/helper-validator-option": "^7.21.0", + "browserslist": "^4.21.3", + "lru-cache": "^5.1.1", "semver": "^6.3.0" }, "engines": { @@ -905,18 +1084,20 @@ } }, "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.18.9.tgz", - "integrity": "sha512-WvypNAYaVh23QcjpMR24CwZY2Nz6hqdOcFdPbNpV56hL5H6KiFheO7Xm1aPdlLQ7d5emYZX7VZwPp9x3z+2opw==", + "version": "7.22.1", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.1.tgz", + "integrity": "sha512-SowrZ9BWzYFgzUMwUmowbPSGu6CXL5MSuuCkG3bejahSpSymioPmuLdhPxNOc9MjuNGjy7M/HaXvJ8G82Lywlw==", "dev": true, "dependencies": { "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.18.9", - "@babel/helper-member-expression-to-functions": "^7.18.9", + "@babel/helper-environment-visitor": "^7.22.1", + "@babel/helper-function-name": "^7.21.0", + "@babel/helper-member-expression-to-functions": "^7.22.0", "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/helper-replace-supers": "^7.18.9", - "@babel/helper-split-export-declaration": "^7.18.6" + "@babel/helper-replace-supers": "^7.22.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", + "@babel/helper-split-export-declaration": "^7.18.6", + "semver": "^6.3.0" }, "engines": { "node": ">=6.9.0" @@ -925,14 +1106,24 @@ "@babel/core": "^7.0.0" } }, + "node_modules/@babel/helper-create-class-features-plugin/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-regexp-features-plugin": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.18.6.tgz", - "integrity": "sha512-7LcpH1wnQLGrI+4v+nPp+zUvIkF9x0ddv1Hkdue10tg3gmRnLy97DXh4STiOf1qeIInyD69Qv5kKSZzKD8B/7A==", + "version": "7.22.1", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.1.tgz", + "integrity": "sha512-WWjdnfR3LPIe+0EY8td7WmjhytxXtjKAEpnAxun/hkNiyOaPlvGK+NZaBFIdi9ndYV3Gav7BpFvtUwnaJlwi1w==", "dev": true, "dependencies": { "@babel/helper-annotate-as-pure": "^7.18.6", - "regexpu-core": "^5.1.0" + "regexpu-core": "^5.3.1", + "semver": "^6.3.0" }, "engines": { "node": ">=6.9.0" @@ -941,10 +1132,19 @@ "@babel/core": "^7.0.0" } }, + "node_modules/@babel/helper-create-regexp-features-plugin/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-define-polyfill-provider": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.2.tgz", - "integrity": "sha512-r9QJJ+uDWrd+94BSPcP6/de67ygLtvVy6cK4luE6MOuDsZIdoaPBnfSpbO/+LTifjPckbKXRuI9BB/Z2/y3iTg==", + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz", + "integrity": "sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==", "dev": true, "dependencies": { "@babel/helper-compilation-targets": "^7.17.7", @@ -968,34 +1168,22 @@ } }, "node_modules/@babel/helper-environment-visitor": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", - "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==", + "version": "7.22.1", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.1.tgz", + "integrity": "sha512-Z2tgopurB/kTbidvzeBrc2To3PUP/9i5MUe+fU6QJCQDyPwSH2oRapkLw3KGECDYSjhQZCNxEvNvZlLw8JjGwA==", "dev": true, "engines": { "node": ">=6.9.0" } }, - "node_modules/@babel/helper-explode-assignable-expression": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz", - "integrity": "sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==", - "dev": true, - "dependencies": { - "@babel/types": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/helper-function-name": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.18.9.tgz", - "integrity": "sha512-fJgWlZt7nxGksJS9a0XdSaI4XvpExnNIgRP+rVefWh5U7BL8pPuir6SJUmFKRfjWQ51OtWSzwOxhaH/EBWWc0A==", + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz", + "integrity": "sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==", "dev": true, "dependencies": { - "@babel/template": "^7.18.6", - "@babel/types": "^7.18.9" + "@babel/template": "^7.20.7", + "@babel/types": "^7.21.0" }, "engines": { "node": ">=6.9.0" @@ -1014,43 +1202,57 @@ } }, "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.18.9.tgz", - "integrity": "sha512-RxifAh2ZoVU67PyKIO4AMi1wTenGfMR/O/ae0CCRqwgBAt5v7xjdtRw7UoSbsreKrQn5t7r89eruK/9JjYHuDg==", + "version": "7.22.3", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.22.3.tgz", + "integrity": "sha512-Gl7sK04b/2WOb6OPVeNy9eFKeD3L6++CzL3ykPOWqTn08xgYYK0wz4TUh2feIImDXxcVW3/9WQ1NMKY66/jfZA==", "dev": true, "dependencies": { - "@babel/types": "^7.18.9" + "@babel/types": "^7.22.3" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-imports": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", - "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.21.4.tgz", + "integrity": "sha512-orajc5T2PsRYUN3ZryCEFeMDYwyw09c/pZeaQEZPH0MpKzSvn3e0uXsDBu3k03VI+9DBiRo+l22BfKTpKwa/Wg==", "dev": true, "dependencies": { - "@babel/types": "^7.18.6" + "@babel/types": "^7.21.4" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.18.9.tgz", - "integrity": "sha512-KYNqY0ICwfv19b31XzvmI/mfcylOzbLtowkw+mfvGPAQ3kfCnMLYbED3YecL5tPd8nAYFQFAd6JHp2LxZk/J1g==", + "version": "7.22.1", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.22.1.tgz", + "integrity": "sha512-dxAe9E7ySDGbQdCVOY/4+UcD8M9ZFqZcZhSPsPacvCG4M+9lwtDDQfI2EoaSvmf7W/8yCBkGU0m7Pvt1ru3UZw==", "dev": true, "dependencies": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-simple-access": "^7.18.6", + "@babel/helper-environment-visitor": "^7.22.1", + "@babel/helper-module-imports": "^7.21.4", + "@babel/helper-simple-access": "^7.21.5", "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/helper-validator-identifier": "^7.18.6", - "@babel/template": "^7.18.6", - "@babel/traverse": "^7.18.9", - "@babel/types": "^7.18.9" + "@babel/helper-validator-identifier": "^7.19.1", + "@babel/template": "^7.21.9", + "@babel/traverse": "^7.22.1", + "@babel/types": "^7.22.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms/node_modules/@babel/template": { + "version": "7.21.9", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.21.9.tgz", + "integrity": "sha512-MK0X5k8NKOuWRamiEfc3KEJiHMTkGZNUjzMipqCGDDc6ijRl/B7RGSKVGncu4Ro/HdyzzY6cmoXuKI2Gffk7vQ==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.21.4", + "@babel/parser": "^7.21.9", + "@babel/types": "^7.21.5" }, "engines": { "node": ">=6.9.0" @@ -1069,9 +1271,9 @@ } }, "node_modules/@babel/helper-plugin-utils": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.18.9.tgz", - "integrity": "sha512-aBXPT3bmtLryXaoJLyYPXPlSD4p1ld9aYeR+sJNOZjJJGiOpb+fKfh3NkcCu7J54nUJwCERPBExCCpyCOHnu/w==", + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.21.5.tgz", + "integrity": "sha512-0WDaIlXKOX/3KfBK/dwP1oQGiPh6rjMkT7HIRv7i5RR2VUMwrx5ZL0dwBkKx7+SW1zwNdgjHd34IMk5ZjTeHVg==", "dev": true, "engines": { "node": ">=6.9.0" @@ -1096,40 +1298,55 @@ } }, "node_modules/@babel/helper-replace-supers": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.18.9.tgz", - "integrity": "sha512-dNsWibVI4lNT6HiuOIBr1oyxo40HvIVmbwPUm3XZ7wMh4k2WxrxTqZwSqw/eEmXDS9np0ey5M2bz9tBmO9c+YQ==", + "version": "7.22.1", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.1.tgz", + "integrity": "sha512-ut4qrkE4AuSfrwHSps51ekR1ZY/ygrP1tp0WFm8oVq6nzc/hvfV/22JylndIbsf2U2M9LOMwiSddr6y+78j+OQ==", "dev": true, "dependencies": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-member-expression-to-functions": "^7.18.9", + "@babel/helper-environment-visitor": "^7.22.1", + "@babel/helper-member-expression-to-functions": "^7.22.0", "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/traverse": "^7.18.9", - "@babel/types": "^7.18.9" + "@babel/template": "^7.21.9", + "@babel/traverse": "^7.22.1", + "@babel/types": "^7.22.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-replace-supers/node_modules/@babel/template": { + "version": "7.21.9", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.21.9.tgz", + "integrity": "sha512-MK0X5k8NKOuWRamiEfc3KEJiHMTkGZNUjzMipqCGDDc6ijRl/B7RGSKVGncu4Ro/HdyzzY6cmoXuKI2Gffk7vQ==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.21.4", + "@babel/parser": "^7.21.9", + "@babel/types": "^7.21.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-simple-access": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.18.6.tgz", - "integrity": "sha512-iNpIgTgyAvDQpDj76POqg+YEt8fPxx3yaNBg3S30dxNKm2SWfYhD0TGrK/Eu9wHpUW63VQU894TsTg+GLbUa1g==", + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.21.5.tgz", + "integrity": "sha512-ENPDAMC1wAjR0uaCUwliBdiSl1KBJAVnMTzXqi64c2MG8MPR6ii4qf7bSXDqSFbr4W6W028/rf5ivoHop5/mkg==", "dev": true, "dependencies": { - "@babel/types": "^7.18.6" + "@babel/types": "^7.21.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.18.9.tgz", - "integrity": "sha512-imytd2gHi3cJPsybLRbmFrF7u5BIEuI2cNheyKi3/iOBC63kNn3q8Crn2xVuESli0aM4KYsyEqKyS7lFL8YVtw==", + "version": "7.20.0", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.20.0.tgz", + "integrity": "sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg==", "dev": true, "dependencies": { - "@babel/types": "^7.18.9" + "@babel/types": "^7.20.0" }, "engines": { "node": ">=6.9.0" @@ -1148,70 +1365,70 @@ } }, "node_modules/@babel/helper-string-parser": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.18.10.tgz", - "integrity": "sha512-XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw==", + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.21.5.tgz", + "integrity": "sha512-5pTUx3hAJaZIdW99sJ6ZUUgWq/Y+Hja7TowEnLNMm1VivRgZQL3vpBY3qUACVsvw+yQU6+YgfBVmcbLaZtrA1w==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz", - "integrity": "sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g==", + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", + "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-option": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz", - "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==", + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.21.0.tgz", + "integrity": "sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-wrap-function": { - "version": "7.18.11", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.18.11.tgz", - "integrity": "sha512-oBUlbv+rjZLh2Ks9SKi4aL7eKaAXBWleHzU89mP0G6BMUlRxSckk9tSIkgDGydhgFxHuGSlBQZfnaD47oBEB7w==", + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.20.5.tgz", + "integrity": "sha512-bYMxIWK5mh+TgXGVqAtnu5Yn1un+v8DDZtqyzKRLUzrh70Eal2O3aZ7aPYiMADO4uKlkzOiRiZ6GX5q3qxvW9Q==", "dev": true, "dependencies": { - "@babel/helper-function-name": "^7.18.9", + "@babel/helper-function-name": "^7.19.0", "@babel/template": "^7.18.10", - "@babel/traverse": "^7.18.11", - "@babel/types": "^7.18.10" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-wrap-function/node_modules/@babel/template": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.10.tgz", - "integrity": "sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.18.6", - "@babel/parser": "^7.18.10", - "@babel/types": "^7.18.10" + "@babel/traverse": "^7.20.5", + "@babel/types": "^7.20.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helpers": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.18.9.tgz", - "integrity": "sha512-Jf5a+rbrLoR4eNdUmnFu8cN5eNJT6qdTdOg5IHIzq87WwyRw9PwguLFOWYgktN/60IP4fgDUawJvs7PjQIzELQ==", + "version": "7.22.3", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.22.3.tgz", + "integrity": "sha512-jBJ7jWblbgr7r6wYZHMdIqKc73ycaTcCaWRq4/2LpuPHcx7xMlZvpGQkOYc9HeSjn6rcx15CPlgVcBtZ4WZJ2w==", "dev": true, "dependencies": { - "@babel/template": "^7.18.6", - "@babel/traverse": "^7.18.9", - "@babel/types": "^7.18.9" + "@babel/template": "^7.21.9", + "@babel/traverse": "^7.22.1", + "@babel/types": "^7.22.3" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers/node_modules/@babel/template": { + "version": "7.21.9", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.21.9.tgz", + "integrity": "sha512-MK0X5k8NKOuWRamiEfc3KEJiHMTkGZNUjzMipqCGDDc6ijRl/B7RGSKVGncu4Ro/HdyzzY6cmoXuKI2Gffk7vQ==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.21.4", + "@babel/parser": "^7.21.9", + "@babel/types": "^7.21.5" }, "engines": { "node": ">=6.9.0" @@ -1232,9 +1449,9 @@ } }, "node_modules/@babel/parser": { - "version": "7.18.11", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.18.11.tgz", - "integrity": "sha512-9JKn5vN+hDt0Hdqn1PiJ2guflwP+B6Ga8qbDuoF0PzzVhrzsKIJo8yGqVk6CmMHiMei9w1C1Bp9IMJSIK+HPIQ==", + "version": "7.22.4", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.4.tgz", + "integrity": "sha512-VLLsx06XkEYqBtE5YGPwfSGwfrjnyPP5oiGty3S8pQLFDFLaS8VwWSIxkTXpcvr5zeYLE6+MBNl2npl/YnfofA==", "dev": true, "bin": { "parser": "bin/babel-parser.js" @@ -1259,14 +1476,14 @@ } }, "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.18.9.tgz", - "integrity": "sha512-AHrP9jadvH7qlOj6PINbgSuphjQUAK7AOT7DPjBo9EHoLhQTnnK5u45e1Hd4DbSQEO9nqPWtQ89r+XEOWFScKg==", + "version": "7.22.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.22.3.tgz", + "integrity": "sha512-6r4yRwEnorYByILoDRnEqxtojYKuiIv9FojW2E8GUKo9eWBwbKcd9IiZOZpdyXc64RmyGGyPu3/uAcrz/dq2kQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9", - "@babel/plugin-proposal-optional-chaining": "^7.18.9" + "@babel/helper-plugin-utils": "^7.21.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", + "@babel/plugin-transform-optional-chaining": "^7.22.3" }, "engines": { "node": ">=6.9.0" @@ -1276,14 +1493,14 @@ } }, "node_modules/@babel/plugin-proposal-async-generator-functions": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.18.6.tgz", - "integrity": "sha512-WAz4R9bvozx4qwf74M+sfqPMKfSqwM0phxPTR6iJIi8robgzXwkEgmeJG1gEKhm6sDqT/U9aV3lfcqybIpev8w==", + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.7.tgz", + "integrity": "sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA==", "dev": true, "dependencies": { - "@babel/helper-environment-visitor": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-remap-async-to-generator": "^7.18.6", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-remap-async-to-generator": "^7.18.9", "@babel/plugin-syntax-async-generators": "^7.8.4" }, "engines": { @@ -1310,13 +1527,13 @@ } }, "node_modules/@babel/plugin-proposal-class-static-block": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.18.6.tgz", - "integrity": "sha512-+I3oIiNxrCpup3Gi8n5IGMwj0gOCAjcJUSQEcotNnCCPMEnixawOQ+KeJPlgfjzx+FKQ1QSyZOWe7wmoJp7vhw==", + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.21.0.tgz", + "integrity": "sha512-XP5G9MWNUskFuP30IfFSEFB0Z6HzLIUcjYM4bYOPHXl7eiJ9HFv8tWj6TXTN5QODiEhDZAeI4hLok2iHFFV4hw==", "dev": true, "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", + "@babel/helper-create-class-features-plugin": "^7.21.0", + "@babel/helper-plugin-utils": "^7.20.2", "@babel/plugin-syntax-class-static-block": "^7.14.5" }, "engines": { @@ -1375,12 +1592,12 @@ } }, "node_modules/@babel/plugin-proposal-logical-assignment-operators": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.18.9.tgz", - "integrity": "sha512-128YbMpjCrP35IOExw2Fq+x55LMP42DzhOhX2aNNIdI9avSWl2PI0yuBWarr3RYpZBSPtabfadkH2yeRiMD61Q==", + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.20.7.tgz", + "integrity": "sha512-y7C7cZgpMIjWlKE5T7eJwp+tnRYM89HmRvWM5EQuB5BoHEONjmQ8lSNmBUwOyy/GFRsohJED51YBF79hE1djug==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9", + "@babel/helper-plugin-utils": "^7.20.2", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" }, "engines": { @@ -1423,16 +1640,16 @@ } }, "node_modules/@babel/plugin-proposal-object-rest-spread": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.18.9.tgz", - "integrity": "sha512-kDDHQ5rflIeY5xl69CEqGEZ0KY369ehsCIEbTGb4siHG5BE9sga/T0r0OUwyZNLMmZE79E1kbsqAjwFCW4ds6Q==", + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.7.tgz", + "integrity": "sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==", "dev": true, "dependencies": { - "@babel/compat-data": "^7.18.8", - "@babel/helper-compilation-targets": "^7.18.9", - "@babel/helper-plugin-utils": "^7.18.9", + "@babel/compat-data": "^7.20.5", + "@babel/helper-compilation-targets": "^7.20.7", + "@babel/helper-plugin-utils": "^7.20.2", "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.18.8" + "@babel/plugin-transform-parameters": "^7.20.7" }, "engines": { "node": ">=6.9.0" @@ -1458,13 +1675,13 @@ } }, "node_modules/@babel/plugin-proposal-optional-chaining": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.18.9.tgz", - "integrity": "sha512-v5nwt4IqBXihxGsW2QmCWMDS3B3bzGIk/EQVZz2ei7f3NJl8NzAJVvUmpDW5q1CRNY+Beb/k58UAH1Km1N411w==", + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.21.0.tgz", + "integrity": "sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", "@babel/plugin-syntax-optional-chaining": "^7.8.3" }, "engines": { @@ -1491,14 +1708,14 @@ } }, "node_modules/@babel/plugin-proposal-private-property-in-object": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.18.6.tgz", - "integrity": "sha512-9Rysx7FOctvT5ouj5JODjAFAkgGoudQuLPamZb0v1TGLpapdNaftzifU8NTWQm0IRjqoYypdrSmyWgkocDQ8Dw==", + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0.tgz", + "integrity": "sha512-ha4zfehbJjc5MmXBlHec1igel5TJXXLDDRbuJ4+XT2TJcyD9/V1919BA8gMvsdHcNMBy4WBUBiRb3nw/EQUtBw==", "dev": true, "dependencies": { "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", + "@babel/helper-create-class-features-plugin": "^7.21.0", + "@babel/helper-plugin-utils": "^7.20.2", "@babel/plugin-syntax-private-property-in-object": "^7.14.5" }, "engines": { @@ -1588,12 +1805,12 @@ } }, "node_modules/@babel/plugin-syntax-import-assertions": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.18.6.tgz", - "integrity": "sha512-/DU3RXad9+bZwrgWJQKbr39gYbJpLJHezqEzRzi/BHRlJ9zsQb4CK2CA/5apllXNomwA1qHwzvHl+AdEmC5krQ==", + "version": "7.20.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.20.0.tgz", + "integrity": "sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.19.0" }, "engines": { "node": ">=6.9.0" @@ -1717,12 +1934,12 @@ } }, "node_modules/@babel/plugin-transform-arrow-functions": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.18.6.tgz", - "integrity": "sha512-9S9X9RUefzrsHZmKMbDXxweEH+YlE8JJEuat9FdvW9Qh1cw7W64jELCtWNkPBPX5En45uy28KGvA/AySqUh8CQ==", + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.21.5.tgz", + "integrity": "sha512-wb1mhwGOCaXHDTcsRYMKF9e5bbMgqwxtqa2Y1ifH96dXJPwbuLX9qHy3clhrxVqgMz7nyNXs8VkxdH8UBcjKqA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.21.5" }, "engines": { "node": ">=6.9.0" @@ -1732,14 +1949,14 @@ } }, "node_modules/@babel/plugin-transform-async-to-generator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.18.6.tgz", - "integrity": "sha512-ARE5wZLKnTgPW7/1ftQmSi1CmkqqHo2DNmtztFhvgtOWSDfq0Cq9/9L+KnZNYSNrydBekhW3rwShduf59RoXag==", + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.20.7.tgz", + "integrity": "sha512-Uo5gwHPT9vgnSXQxqGtpdufUiWp96gk7yiP4Mp5bm1QMkEmLXBO7PAGYbKoJ6DhAwiNkcHFBol/x5zZZkL/t0Q==", "dev": true, "dependencies": { "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-remap-async-to-generator": "^7.18.6" + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-remap-async-to-generator": "^7.18.9" }, "engines": { "node": ">=6.9.0" @@ -1764,12 +1981,12 @@ } }, "node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.18.9.tgz", - "integrity": "sha512-5sDIJRV1KtQVEbt/EIBwGy4T01uYIo4KRB3VUqzkhrAIOGx7AoctL9+Ux88btY0zXdDyPJ9mW+bg+v+XEkGmtw==", + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.21.0.tgz", + "integrity": "sha512-Mdrbunoh9SxwFZapeHVrwFmri16+oYotcZysSzhNIVDwIAb1UV+kvnxULSYq9J3/q5MDG+4X6w8QVgD1zhBXNQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9" + "@babel/helper-plugin-utils": "^7.20.2" }, "engines": { "node": ">=6.9.0" @@ -1779,17 +1996,18 @@ } }, "node_modules/@babel/plugin-transform-classes": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.18.9.tgz", - "integrity": "sha512-EkRQxsxoytpTlKJmSPYrsOMjCILacAjtSVkd4gChEe2kXjFCun3yohhW5I7plXJhCemM0gKsaGMcO8tinvCA5g==", + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.21.0.tgz", + "integrity": "sha512-RZhbYTCEUAe6ntPehC4hlslPWosNHDox+vAs4On/mCLRLfoDVHf6hVEd7kuxr1RnHwJmxFfUM3cZiZRmPxJPXQ==", "dev": true, "dependencies": { "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-compilation-targets": "^7.20.7", "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.18.9", + "@babel/helper-function-name": "^7.21.0", "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/helper-replace-supers": "^7.18.9", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-replace-supers": "^7.20.7", "@babel/helper-split-export-declaration": "^7.18.6", "globals": "^11.1.0" }, @@ -1801,12 +2019,13 @@ } }, "node_modules/@babel/plugin-transform-computed-properties": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.18.9.tgz", - "integrity": "sha512-+i0ZU1bCDymKakLxn5srGHrsAPRELC2WIbzwjLhHW9SIE1cPYkLCL0NlnXMZaM1vhfgA2+M7hySk42VBvrkBRw==", + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.21.5.tgz", + "integrity": "sha512-TR653Ki3pAwxBxUe8srfF3e4Pe3FTA46uaNHYyQwIoM4oWKSoOZiDNyHJ0oIoDIUPSRQbQG7jzgVBX3FPVne1Q==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9" + "@babel/helper-plugin-utils": "^7.21.5", + "@babel/template": "^7.20.7" }, "engines": { "node": ">=6.9.0" @@ -1816,12 +2035,12 @@ } }, "node_modules/@babel/plugin-transform-destructuring": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.18.9.tgz", - "integrity": "sha512-p5VCYNddPLkZTq4XymQIaIfZNJwT9YsjkPOhkVEqt6QIpQFZVM9IltqqYpOEkJoN1DPznmxUDyZ5CTZs/ZCuHA==", + "version": "7.21.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.21.3.tgz", + "integrity": "sha512-bp6hwMFzuiE4HqYEyoGJ/V2LeIWn+hLVKc4pnj++E5XQptwhtcGmSayM029d/j2X1bPKGTlsyPwAubuU22KhMA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9" + "@babel/helper-plugin-utils": "^7.20.2" }, "engines": { "node": ">=6.9.0" @@ -1878,12 +2097,12 @@ } }, "node_modules/@babel/plugin-transform-for-of": { - "version": "7.18.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.8.tgz", - "integrity": "sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ==", + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.21.5.tgz", + "integrity": "sha512-nYWpjKW/7j/I/mZkGVgHJXh4bA1sfdFnJoOXwJuj4m3Q2EraO/8ZyrkCau9P5tbHQk01RMSt6KYLCsW7730SXQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.21.5" }, "engines": { "node": ">=6.9.0" @@ -1940,14 +2159,13 @@ } }, "node_modules/@babel/plugin-transform-modules-amd": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.18.6.tgz", - "integrity": "sha512-Pra5aXsmTsOnjM3IajS8rTaLCy++nGM4v3YR4esk5PCsyg9z8NA5oQLwxzMUtDBd8F+UmVza3VxoAaWCbzH1rg==", + "version": "7.20.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.20.11.tgz", + "integrity": "sha512-NuzCt5IIYOW0O30UvqktzHYR2ud5bOWbY0yaxWZ6G+aFzOMJvrs5YHNikrbdaT15+KNO31nPOy5Fim3ku6Zb5g==", "dev": true, "dependencies": { - "@babel/helper-module-transforms": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", - "babel-plugin-dynamic-import-node": "^2.3.3" + "@babel/helper-module-transforms": "^7.20.11", + "@babel/helper-plugin-utils": "^7.20.2" }, "engines": { "node": ">=6.9.0" @@ -1957,15 +2175,14 @@ } }, "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.18.6.tgz", - "integrity": "sha512-Qfv2ZOWikpvmedXQJDSbxNqy7Xr/j2Y8/KfijM0iJyKkBTmWuvCA1yeH1yDM7NJhBW/2aXxeucLj6i80/LAJ/Q==", + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.21.5.tgz", + "integrity": "sha512-OVryBEgKUbtqMoB7eG2rs6UFexJi6Zj6FDXx+esBLPTCxCNxAY9o+8Di7IsUGJ+AVhp5ncK0fxWUBd0/1gPhrQ==", "dev": true, "dependencies": { - "@babel/helper-module-transforms": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-simple-access": "^7.18.6", - "babel-plugin-dynamic-import-node": "^2.3.3" + "@babel/helper-module-transforms": "^7.21.5", + "@babel/helper-plugin-utils": "^7.21.5", + "@babel/helper-simple-access": "^7.21.5" }, "engines": { "node": ">=6.9.0" @@ -1975,16 +2192,15 @@ } }, "node_modules/@babel/plugin-transform-modules-systemjs": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.18.9.tgz", - "integrity": "sha512-zY/VSIbbqtoRoJKo2cDTewL364jSlZGvn0LKOf9ntbfxOvjfmyrdtEEOAdswOswhZEb8UH3jDkCKHd1sPgsS0A==", + "version": "7.22.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.22.3.tgz", + "integrity": "sha512-V21W3bKLxO3ZjcBJZ8biSvo5gQ85uIXW2vJfh7JSWf/4SLUSr1tOoHX3ruN4+Oqa2m+BKfsxTR1I+PsvkIWvNw==", "dev": true, "dependencies": { "@babel/helper-hoist-variables": "^7.18.6", - "@babel/helper-module-transforms": "^7.18.9", - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/helper-validator-identifier": "^7.18.6", - "babel-plugin-dynamic-import-node": "^2.3.3" + "@babel/helper-module-transforms": "^7.22.1", + "@babel/helper-plugin-utils": "^7.21.5", + "@babel/helper-validator-identifier": "^7.19.1" }, "engines": { "node": ">=6.9.0" @@ -2010,13 +2226,13 @@ } }, "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.18.6.tgz", - "integrity": "sha512-UmEOGF8XgaIqD74bC8g7iV3RYj8lMf0Bw7NJzvnS9qQhM4mg+1WHKotUIdjxgD2RGrgFLZZPCFPFj3P/kVDYhg==", + "version": "7.22.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.3.tgz", + "integrity": "sha512-c6HrD/LpUdNNJsISQZpds3TXvfYIAbo+efE9aWmY/PmSRD0agrJ9cPMt4BmArwUQ7ZymEWTFjTyp+yReLJZh0Q==", "dev": true, "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-create-regexp-features-plugin": "^7.22.1", + "@babel/helper-plugin-utils": "^7.21.5" }, "engines": { "node": ">=6.9.0" @@ -2026,12 +2242,12 @@ } }, "node_modules/@babel/plugin-transform-new-target": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz", - "integrity": "sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==", + "version": "7.22.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.22.3.tgz", + "integrity": "sha512-5RuJdSo89wKdkRTqtM9RVVJzHum9c2s0te9rB7vZC1zKKxcioWIy+xcu4OoIAjyFZhb/bp5KkunuLin1q7Ct+w==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.21.5" }, "engines": { "node": ">=6.9.0" @@ -2056,13 +2272,30 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-parameters": { - "version": "7.18.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.18.8.tgz", - "integrity": "sha512-ivfbE3X2Ss+Fj8nnXvKJS6sjRG4gzwPMsP+taZC+ZzEGjAYlvENixmt1sZ5Ca6tWls+BlKSGKPJ6OOXvXCbkFg==", + "node_modules/@babel/plugin-transform-optional-chaining": { + "version": "7.22.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.22.3.tgz", + "integrity": "sha512-63v3/UFFxhPKT8j8u1jTTGVyITxl7/7AfOqK8C5gz1rHURPUGe3y5mvIf68eYKGoBNahtJnTxBKug4BQOnzeJg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.21.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-parameters": { + "version": "7.22.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.22.3.tgz", + "integrity": "sha512-x7QHQJHPuD9VmfpzboyGJ5aHEr9r7DsAsdxdhJiTB3J3j8dyl+NFZ+rX5Q2RWFDCs61c06qBfS4ys2QYn8UkMw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.21.5" }, "engines": { "node": ">=6.9.0" @@ -2087,13 +2320,13 @@ } }, "node_modules/@babel/plugin-transform-regenerator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.18.6.tgz", - "integrity": "sha512-poqRI2+qiSdeldcz4wTSTXBRryoq3Gc70ye7m7UD5Ww0nE29IXqMl6r7Nd15WBgRd74vloEMlShtH6CKxVzfmQ==", + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.21.5.tgz", + "integrity": "sha512-ZoYBKDb6LyMi5yCsByQ5jmXsHAQDDYeexT1Szvlmui+lADvfSecr5Dxd/PkrTC3pAD182Fcju1VQkB4oCp9M+w==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "regenerator-transform": "^0.15.0" + "@babel/helper-plugin-utils": "^7.21.5", + "regenerator-transform": "^0.15.1" }, "engines": { "node": ">=6.9.0" @@ -2118,16 +2351,16 @@ } }, "node_modules/@babel/plugin-transform-runtime": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.18.6.tgz", - "integrity": "sha512-8uRHk9ZmRSnWqUgyae249EJZ94b0yAGLBIqzZzl+0iEdbno55Pmlt/32JZsHwXD9k/uZj18Aqqk35wBX4CBTXA==", + "version": "7.19.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.19.6.tgz", + "integrity": "sha512-PRH37lz4JU156lYFW1p8OxE5i7d6Sl/zV58ooyr+q1J1lnQPyg5tIiXlIwNVhJaY4W3TmOtdc8jqdXQcB1v5Yw==", "dev": true, "dependencies": { "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", - "babel-plugin-polyfill-corejs2": "^0.3.1", - "babel-plugin-polyfill-corejs3": "^0.5.2", - "babel-plugin-polyfill-regenerator": "^0.3.1", + "@babel/helper-plugin-utils": "^7.19.0", + "babel-plugin-polyfill-corejs2": "^0.3.3", + "babel-plugin-polyfill-corejs3": "^0.6.0", + "babel-plugin-polyfill-regenerator": "^0.4.1", "semver": "^6.3.0" }, "engines": { @@ -2162,13 +2395,13 @@ } }, "node_modules/@babel/plugin-transform-spread": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.18.9.tgz", - "integrity": "sha512-39Q814wyoOPtIB/qGopNIL9xDChOE1pNU0ZY5dO0owhiVt/5kFm4li+/bBtwc7QotG0u5EPzqhZdjMtmqBqyQA==", + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.20.7.tgz", + "integrity": "sha512-ewBbHQ+1U/VnH1fxltbJqDeWBU1oNLG8Dj11uIv3xVf7nrQu0bPGe5Rf716r7K5Qz+SqtAOVswoVunoiBtGhxw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9" + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0" }, "engines": { "node": ">=6.9.0" @@ -2223,12 +2456,12 @@ } }, "node_modules/@babel/plugin-transform-unicode-escapes": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz", - "integrity": "sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==", + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.21.5.tgz", + "integrity": "sha512-LYm/gTOwZqsYohlvFUe/8Tujz75LqqVC2w+2qPHLR+WyWHGCZPN1KBpJCJn+4Bk4gOkQy/IXKIge6az5MqwlOg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9" + "@babel/helper-plugin-utils": "^7.21.5" }, "engines": { "node": ">=6.9.0" @@ -2254,29 +2487,29 @@ } }, "node_modules/@babel/preset-env": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.18.6.tgz", - "integrity": "sha512-WrthhuIIYKrEFAwttYzgRNQ5hULGmwTj+D6l7Zdfsv5M7IWV/OZbUfbeL++Qrzx1nVJwWROIFhCHRYQV4xbPNw==", + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.20.2.tgz", + "integrity": "sha512-1G0efQEWR1EHkKvKHqbG+IN/QdgwfByUpM5V5QroDzGV2t3S/WXNQd693cHiHTlCFMpr9B6FkPFXDA2lQcKoDg==", "dev": true, "dependencies": { - "@babel/compat-data": "^7.18.6", - "@babel/helper-compilation-targets": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", + "@babel/compat-data": "^7.20.1", + "@babel/helper-compilation-targets": "^7.20.0", + "@babel/helper-plugin-utils": "^7.20.2", "@babel/helper-validator-option": "^7.18.6", "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.18.6", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.18.6", - "@babel/plugin-proposal-async-generator-functions": "^7.18.6", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.18.9", + "@babel/plugin-proposal-async-generator-functions": "^7.20.1", "@babel/plugin-proposal-class-properties": "^7.18.6", "@babel/plugin-proposal-class-static-block": "^7.18.6", "@babel/plugin-proposal-dynamic-import": "^7.18.6", - "@babel/plugin-proposal-export-namespace-from": "^7.18.6", + "@babel/plugin-proposal-export-namespace-from": "^7.18.9", "@babel/plugin-proposal-json-strings": "^7.18.6", - "@babel/plugin-proposal-logical-assignment-operators": "^7.18.6", + "@babel/plugin-proposal-logical-assignment-operators": "^7.18.9", "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6", "@babel/plugin-proposal-numeric-separator": "^7.18.6", - "@babel/plugin-proposal-object-rest-spread": "^7.18.6", + "@babel/plugin-proposal-object-rest-spread": "^7.20.2", "@babel/plugin-proposal-optional-catch-binding": "^7.18.6", - "@babel/plugin-proposal-optional-chaining": "^7.18.6", + "@babel/plugin-proposal-optional-chaining": "^7.18.9", "@babel/plugin-proposal-private-methods": "^7.18.6", "@babel/plugin-proposal-private-property-in-object": "^7.18.6", "@babel/plugin-proposal-unicode-property-regex": "^7.18.6", @@ -2285,7 +2518,7 @@ "@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-import-assertions": "^7.18.6", + "@babel/plugin-syntax-import-assertions": "^7.20.0", "@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", @@ -2298,41 +2531,41 @@ "@babel/plugin-transform-arrow-functions": "^7.18.6", "@babel/plugin-transform-async-to-generator": "^7.18.6", "@babel/plugin-transform-block-scoped-functions": "^7.18.6", - "@babel/plugin-transform-block-scoping": "^7.18.6", - "@babel/plugin-transform-classes": "^7.18.6", - "@babel/plugin-transform-computed-properties": "^7.18.6", - "@babel/plugin-transform-destructuring": "^7.18.6", + "@babel/plugin-transform-block-scoping": "^7.20.2", + "@babel/plugin-transform-classes": "^7.20.2", + "@babel/plugin-transform-computed-properties": "^7.18.9", + "@babel/plugin-transform-destructuring": "^7.20.2", "@babel/plugin-transform-dotall-regex": "^7.18.6", - "@babel/plugin-transform-duplicate-keys": "^7.18.6", + "@babel/plugin-transform-duplicate-keys": "^7.18.9", "@babel/plugin-transform-exponentiation-operator": "^7.18.6", - "@babel/plugin-transform-for-of": "^7.18.6", - "@babel/plugin-transform-function-name": "^7.18.6", - "@babel/plugin-transform-literals": "^7.18.6", + "@babel/plugin-transform-for-of": "^7.18.8", + "@babel/plugin-transform-function-name": "^7.18.9", + "@babel/plugin-transform-literals": "^7.18.9", "@babel/plugin-transform-member-expression-literals": "^7.18.6", - "@babel/plugin-transform-modules-amd": "^7.18.6", - "@babel/plugin-transform-modules-commonjs": "^7.18.6", - "@babel/plugin-transform-modules-systemjs": "^7.18.6", + "@babel/plugin-transform-modules-amd": "^7.19.6", + "@babel/plugin-transform-modules-commonjs": "^7.19.6", + "@babel/plugin-transform-modules-systemjs": "^7.19.6", "@babel/plugin-transform-modules-umd": "^7.18.6", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.18.6", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.19.1", "@babel/plugin-transform-new-target": "^7.18.6", "@babel/plugin-transform-object-super": "^7.18.6", - "@babel/plugin-transform-parameters": "^7.18.6", + "@babel/plugin-transform-parameters": "^7.20.1", "@babel/plugin-transform-property-literals": "^7.18.6", "@babel/plugin-transform-regenerator": "^7.18.6", "@babel/plugin-transform-reserved-words": "^7.18.6", "@babel/plugin-transform-shorthand-properties": "^7.18.6", - "@babel/plugin-transform-spread": "^7.18.6", + "@babel/plugin-transform-spread": "^7.19.0", "@babel/plugin-transform-sticky-regex": "^7.18.6", - "@babel/plugin-transform-template-literals": "^7.18.6", - "@babel/plugin-transform-typeof-symbol": "^7.18.6", - "@babel/plugin-transform-unicode-escapes": "^7.18.6", + "@babel/plugin-transform-template-literals": "^7.18.9", + "@babel/plugin-transform-typeof-symbol": "^7.18.9", + "@babel/plugin-transform-unicode-escapes": "^7.18.10", "@babel/plugin-transform-unicode-regex": "^7.18.6", "@babel/preset-modules": "^0.1.5", - "@babel/types": "^7.18.6", - "babel-plugin-polyfill-corejs2": "^0.3.1", - "babel-plugin-polyfill-corejs3": "^0.5.2", - "babel-plugin-polyfill-regenerator": "^0.3.1", - "core-js-compat": "^3.22.1", + "@babel/types": "^7.20.2", + "babel-plugin-polyfill-corejs2": "^0.3.3", + "babel-plugin-polyfill-corejs3": "^0.6.0", + "babel-plugin-polyfill-regenerator": "^0.4.1", + "core-js-compat": "^3.25.1", "semver": "^6.3.0" }, "engines": { @@ -2367,46 +2600,52 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/@babel/regjsgen": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz", + "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==", + "dev": true + }, "node_modules/@babel/runtime": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.18.6.tgz", - "integrity": "sha512-t9wi7/AW6XtKahAe20Yw0/mMljKq0B1r2fPdvaAdV/KPDZewFXdaaa6K7lxmZBZ8FBNpCiAT6iHPmd6QO9bKfQ==", + "version": "7.20.13", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.20.13.tgz", + "integrity": "sha512-gt3PKXs0DBoL9xCvOIIZ2NEqAGZqHjAnmVbfQtB620V0uReIQutpel14KcneZuer7UioY8ALKZ7iocavvzTNFA==", "dev": true, "dependencies": { - "regenerator-runtime": "^0.13.4" + "regenerator-runtime": "^0.13.11" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/template": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.6.tgz", - "integrity": "sha512-JoDWzPe+wgBsTTgdnIma3iHNFC7YVJoPssVBDjiHfNlyt4YcunDtcDOUmfVDfCK5MfdsaIoX9PkijPhjH3nYUw==", + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz", + "integrity": "sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==", "dev": true, "dependencies": { "@babel/code-frame": "^7.18.6", - "@babel/parser": "^7.18.6", - "@babel/types": "^7.18.6" + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.18.11", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.18.11.tgz", - "integrity": "sha512-TG9PiM2R/cWCAy6BPJKeHzNbu4lPzOSZpeMfeNErskGpTJx6trEvFaVCbDvpcxwy49BKWmEPwiW8mrysNiDvIQ==", + "version": "7.22.4", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.22.4.tgz", + "integrity": "sha512-Tn1pDsjIcI+JcLKq1AVlZEr4226gpuAQTsLMorsYg9tuS/kG7nuwwJ4AB8jfQuEgb/COBwR/DqJxmoiYFu5/rQ==", "dev": true, "dependencies": { - "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.18.10", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.18.9", + "@babel/code-frame": "^7.21.4", + "@babel/generator": "^7.22.3", + "@babel/helper-environment-visitor": "^7.22.1", + "@babel/helper-function-name": "^7.21.0", "@babel/helper-hoist-variables": "^7.18.6", "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/parser": "^7.18.11", - "@babel/types": "^7.18.10", + "@babel/parser": "^7.22.4", + "@babel/types": "^7.22.4", "debug": "^4.1.0", "globals": "^11.1.0" }, @@ -2415,13 +2654,14 @@ } }, "node_modules/@babel/traverse/node_modules/@babel/generator": { - "version": "7.18.12", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.18.12.tgz", - "integrity": "sha512-dfQ8ebCN98SvyL7IxNMCUtZQSq5R7kxgN+r8qYTGDmmSion1hX2C0zq2yo1bsCDhXixokv1SAWTZUMYbO/V5zg==", + "version": "7.22.3", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.22.3.tgz", + "integrity": "sha512-C17MW4wlk//ES/CJDL51kPNwl+qiBQyN7b9SKyVp11BLGFeSPoVaHrv+MNt8jwQFhQWowW88z1eeBx3pFz9v8A==", "dev": true, "dependencies": { - "@babel/types": "^7.18.10", + "@babel/types": "^7.22.3", "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", "jsesc": "^2.5.1" }, "engines": { @@ -2429,9 +2669,9 @@ } }, "node_modules/@babel/traverse/node_modules/@jridgewell/gen-mapping": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", - "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", "dev": true, "dependencies": { "@jridgewell/set-array": "^1.0.1", @@ -2443,13 +2683,13 @@ } }, "node_modules/@babel/types": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.18.10.tgz", - "integrity": "sha512-MJvnbEiiNkpjo+LknnmRrqbY1GPUUggjv+wQVjetM/AONoupqRALB7I6jGqNUAZsKcRIEu2J6FRFvsczljjsaQ==", + "version": "7.22.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.4.tgz", + "integrity": "sha512-Tx9x3UBHTTsMSW85WB2kphxYQVvrZ/t1FxD88IpSgIjiUJlCm9z+xWIDwyo1vffTwSqteqyznB8ZE9vYYk16zA==", "dev": true, "dependencies": { - "@babel/helper-string-parser": "^7.18.10", - "@babel/helper-validator-identifier": "^7.18.6", + "@babel/helper-string-parser": "^7.21.5", + "@babel/helper-validator-identifier": "^7.19.1", "to-fast-properties": "^2.0.0" }, "engines": { @@ -2464,249 +2704,6 @@ "node": ">=0.1.90" } }, - "node_modules/@csstools/postcss-cascade-layers": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-1.0.5.tgz", - "integrity": "sha512-Id/9wBT7FkgFzdEpiEWrsVd4ltDxN0rI0QS0SChbeQiSuux3z21SJCRLu6h2cvCEUmaRi+VD0mHFj+GJD4GFnw==", - "dev": true, - "dependencies": { - "@csstools/selector-specificity": "^2.0.2", - "postcss-selector-parser": "^6.0.10" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" - } - }, - "node_modules/@csstools/postcss-color-function": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-color-function/-/postcss-color-function-1.1.1.tgz", - "integrity": "sha512-Bc0f62WmHdtRDjf5f3e2STwRAl89N2CLb+9iAwzrv4L2hncrbDwnQD9PCq0gtAt7pOI2leIV08HIBUd4jxD8cw==", - "dev": true, - "dependencies": { - "@csstools/postcss-progressive-custom-properties": "^1.1.0", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" - } - }, - "node_modules/@csstools/postcss-font-format-keywords": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-font-format-keywords/-/postcss-font-format-keywords-1.0.1.tgz", - "integrity": "sha512-ZgrlzuUAjXIOc2JueK0X5sZDjCtgimVp/O5CEqTcs5ShWBa6smhWYbS0x5cVc/+rycTDbjjzoP0KTDnUneZGOg==", - "dev": true, - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" - } - }, - "node_modules/@csstools/postcss-hwb-function": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@csstools/postcss-hwb-function/-/postcss-hwb-function-1.0.2.tgz", - "integrity": "sha512-YHdEru4o3Rsbjmu6vHy4UKOXZD+Rn2zmkAmLRfPet6+Jz4Ojw8cbWxe1n42VaXQhD3CQUXXTooIy8OkVbUcL+w==", - "dev": true, - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" - } - }, - "node_modules/@csstools/postcss-ic-unit": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-ic-unit/-/postcss-ic-unit-1.0.1.tgz", - "integrity": "sha512-Ot1rcwRAaRHNKC9tAqoqNZhjdYBzKk1POgWfhN4uCOE47ebGcLRqXjKkApVDpjifL6u2/55ekkpnFcp+s/OZUw==", - "dev": true, - "dependencies": { - "@csstools/postcss-progressive-custom-properties": "^1.1.0", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" - } - }, - "node_modules/@csstools/postcss-is-pseudo-class": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-2.0.7.tgz", - "integrity": "sha512-7JPeVVZHd+jxYdULl87lvjgvWldYu+Bc62s9vD/ED6/QTGjy0jy0US/f6BG53sVMTBJ1lzKZFpYmofBN9eaRiA==", - "dev": true, - "dependencies": { - "@csstools/selector-specificity": "^2.0.0", - "postcss-selector-parser": "^6.0.10" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" - } - }, - "node_modules/@csstools/postcss-normalize-display-values": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-normalize-display-values/-/postcss-normalize-display-values-1.0.1.tgz", - "integrity": "sha512-jcOanIbv55OFKQ3sYeFD/T0Ti7AMXc9nM1hZWu8m/2722gOTxFg7xYu4RDLJLeZmPUVQlGzo4jhzvTUq3x4ZUw==", - "dev": true, - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" - } - }, - "node_modules/@csstools/postcss-oklab-function": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-oklab-function/-/postcss-oklab-function-1.1.1.tgz", - "integrity": "sha512-nJpJgsdA3dA9y5pgyb/UfEzE7W5Ka7u0CX0/HIMVBNWzWemdcTH3XwANECU6anWv/ao4vVNLTMxhiPNZsTK6iA==", - "dev": true, - "dependencies": { - "@csstools/postcss-progressive-custom-properties": "^1.1.0", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" - } - }, - "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": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "peerDependencies": { - "postcss": "^8.3" - } - }, - "node_modules/@csstools/postcss-stepped-value-functions": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-stepped-value-functions/-/postcss-stepped-value-functions-1.0.1.tgz", - "integrity": "sha512-dz0LNoo3ijpTOQqEJLY8nyaapl6umbmDcgj4AD0lgVQ572b2eqA1iGZYTTWhrcrHztWDDRAX2DGYyw2VBjvCvQ==", - "dev": true, - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" - } - }, - "node_modules/@csstools/postcss-trigonometric-functions": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@csstools/postcss-trigonometric-functions/-/postcss-trigonometric-functions-1.0.2.tgz", - "integrity": "sha512-woKaLO///4bb+zZC2s80l+7cm07M7268MsyG3M0ActXXEFi6SuhvriQYcb58iiKGbjwwIU7n45iRLEHypB47Og==", - "dev": true, - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" - } - }, - "node_modules/@csstools/postcss-unset-value": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@csstools/postcss-unset-value/-/postcss-unset-value-1.0.2.tgz", - "integrity": "sha512-c8J4roPBILnelAsdLr4XOAR/GsTm0GJi4XpcfvoWk3U6KiTCqiFYc63KhRMQQX35jYMp4Ao8Ij9+IZRgMfJp1g==", - "dev": true, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" - } - }, - "node_modules/@csstools/selector-specificity": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-2.0.2.tgz", - "integrity": "sha512-IkpVW/ehM1hWKln4fCA3NzJU8KwD+kIOvPZA4cqxoJHtE21CCzjyp+Kxbu0i5I4tBNOlXPL9mjwnWlL0VEG4Fg==", - "dev": true, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2", - "postcss-selector-parser": "^6.0.10" - } - }, "node_modules/@dabh/diagnostics": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/@dabh/diagnostics/-/diagnostics-2.0.3.tgz", @@ -2726,6 +2723,358 @@ "node": ">=10.0.0" } }, + "node_modules/@esbuild/android-arm": { + "version": "0.17.8", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.17.8.tgz", + "integrity": "sha512-0/rb91GYKhrtbeglJXOhAv9RuYimgI8h623TplY2X+vA4EXnk3Zj1fXZreJ0J3OJJu1bwmb0W7g+2cT/d8/l/w==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.17.8", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.17.8.tgz", + "integrity": "sha512-oa/N5j6v1svZQs7EIRPqR8f+Bf8g6HBDjD/xHC02radE/NjKHK7oQmtmLxPs1iVwYyvE+Kolo6lbpfEQ9xnhxQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.17.8", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.17.8.tgz", + "integrity": "sha512-bTliMLqD7pTOoPg4zZkXqCDuzIUguEWLpeqkNfC41ODBHwoUgZ2w5JBeYimv4oP6TDVocoYmEhZrCLQTrH89bg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.17.8", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.17.8.tgz", + "integrity": "sha512-ghAbV3ia2zybEefXRRm7+lx8J/rnupZT0gp9CaGy/3iolEXkJ6LYRq4IpQVI9zR97ID80KJVoUlo3LSeA/sMAg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.17.8", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.17.8.tgz", + "integrity": "sha512-n5WOpyvZ9TIdv2V1K3/iIkkJeKmUpKaCTdun9buhGRWfH//osmUjlv4Z5mmWdPWind/VGcVxTHtLfLCOohsOXw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.17.8", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.8.tgz", + "integrity": "sha512-a/SATTaOhPIPFWvHZDoZYgxaZRVHn0/LX1fHLGfZ6C13JqFUZ3K6SMD6/HCtwOQ8HnsNaEeokdiDSFLuizqv5A==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.17.8", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.17.8.tgz", + "integrity": "sha512-xpFJb08dfXr5+rZc4E+ooZmayBW6R3q59daCpKZ/cDU96/kvDM+vkYzNeTJCGd8rtO6fHWMq5Rcv/1cY6p6/0Q==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.17.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.17.8.tgz", + "integrity": "sha512-6Ij8gfuGszcEwZpi5jQIJCVIACLS8Tz2chnEBfYjlmMzVsfqBP1iGmHQPp7JSnZg5xxK9tjCc+pJ2WtAmPRFVA==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.17.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.17.8.tgz", + "integrity": "sha512-v3iwDQuDljLTxpsqQDl3fl/yihjPAyOguxuloON9kFHYwopeJEf1BkDXODzYyXEI19gisEsQlG1bM65YqKSIww==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.17.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.17.8.tgz", + "integrity": "sha512-8svILYKhE5XetuFk/B6raFYIyIqydQi+GngEXJgdPdI7OMKUbSd7uzR02wSY4kb53xBrClLkhH4Xs8P61Q2BaA==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.17.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.17.8.tgz", + "integrity": "sha512-B6FyMeRJeV0NpyEOYlm5qtQfxbdlgmiGdD+QsipzKfFky0K5HW5Td6dyK3L3ypu1eY4kOmo7wW0o94SBqlqBSA==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.17.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.17.8.tgz", + "integrity": "sha512-CCb67RKahNobjm/eeEqeD/oJfJlrWyw29fgiyB6vcgyq97YAf3gCOuP6qMShYSPXgnlZe/i4a8WFHBw6N8bYAA==", + "cpu": [ + "mips64el" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.17.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.17.8.tgz", + "integrity": "sha512-bytLJOi55y55+mGSdgwZ5qBm0K9WOCh0rx+vavVPx+gqLLhxtSFU0XbeYy/dsAAD6xECGEv4IQeFILaSS2auXw==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.17.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.17.8.tgz", + "integrity": "sha512-2YpRyQJmKVBEHSBLa8kBAtbhucaclb6ex4wchfY0Tj3Kg39kpjeJ9vhRU7x4mUpq8ISLXRXH1L0dBYjAeqzZAw==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.17.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.17.8.tgz", + "integrity": "sha512-QgbNY/V3IFXvNf11SS6exkpVcX0LJcob+0RWCgV9OiDAmVElnxciHIisoSix9uzYzScPmS6dJFbZULdSAEkQVw==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.17.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.17.8.tgz", + "integrity": "sha512-mM/9S0SbAFDBc4OPoyP6SEOo5324LpUxdpeIUUSrSTOfhHU9hEfqRngmKgqILqwx/0DVJBzeNW7HmLEWp9vcOA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.17.8", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.17.8.tgz", + "integrity": "sha512-eKUYcWaWTaYr9zbj8GertdVtlt1DTS1gNBWov+iQfWuWyuu59YN6gSEJvFzC5ESJ4kMcKR0uqWThKUn5o8We6Q==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.17.8", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.17.8.tgz", + "integrity": "sha512-Vc9J4dXOboDyMXKD0eCeW0SIeEzr8K9oTHJU+Ci1mZc5njPfhKAqkRt3B/fUNU7dP+mRyralPu8QUkiaQn7iIg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.17.8", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.17.8.tgz", + "integrity": "sha512-0xvOTNuPXI7ft1LYUgiaXtpCEjp90RuBBYovdd2lqAFxje4sEucurg30M1WIm03+3jxByd3mfo+VUmPtRSVuOw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.17.8", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.17.8.tgz", + "integrity": "sha512-G0JQwUI5WdEFEnYNKzklxtBheCPkuDdu1YrtRrjuQv30WsYbkkoixKxLLv8qhJmNI+ATEWquZe/N0d0rpr55Mg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.17.8", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.17.8.tgz", + "integrity": "sha512-Fqy63515xl20OHGFykjJsMnoIWS+38fqfg88ClvPXyDbLtgXal2DTlhb1TfTX34qWi3u4I7Cq563QcHpqgLx8w==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.17.8", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.17.8.tgz", + "integrity": "sha512-1iuezdyDNngPnz8rLRDO2C/ZZ/emJLb72OsZeqQ6gL6Avko/XCXZw+NuxBSNhBAP13Hie418V7VMt9et1FMvpg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, "node_modules/@firebase/analytics": { "version": "0.8.0", "resolved": "https://registry.npmjs.org/@firebase/analytics/-/analytics-0.8.0.tgz", @@ -3400,6 +3749,102 @@ "node": ">=10" } }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "dev": true, + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@isaacs/cliui/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": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true + }, + "node_modules/@isaacs/cliui/node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@isaacs/cliui/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, "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", @@ -3482,12 +3927,12 @@ "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==" }, "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.15", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.15.tgz", - "integrity": "sha512-oWZNOULl+UbhsgB51uuZzglikfIKSUBO/M9W2OfEjn7cmqoAiCgmv9lyACTUacZwBz0ITnJ2NqjU8Tx0DHL88g==", + "version": "0.3.18", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz", + "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==", "dependencies": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" + "@jridgewell/resolve-uri": "3.1.0", + "@jridgewell/sourcemap-codec": "1.4.14" } }, "node_modules/@leichtgewicht/ip-codec": { @@ -3496,19 +3941,770 @@ "integrity": "sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==", "dev": true }, + "node_modules/@material/animation": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/animation/-/animation-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-5osi1z4JQIXcklPALbH/zTfOm2pDzHt9Fxm7ZyURy250xIZj6QjULRzPTnzOhC2ropfix9ra2Cfggbf0dcRbEQ==", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/@material/auto-init": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/auto-init/-/auto-init-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-OigQTmrVzkcGvxNjOaIe5oItTFPgrO9xLewvharDI6m6yvO1z7OBnkcW+sFN6ggLNYNxd0O1u9v64vMsmeDABQ==", + "dependencies": { + "@material/base": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/banner": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/banner/-/banner-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-PqtGp3KWzdu58rWv/DIvSfe38m5YKOBbAAbBinSvgadBb/da+IE1t5F7YPNKE1T5lJsQBGVUYx6QBIeXm+aI/A==", + "dependencies": { + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/button": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/shape": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/tokens": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/base": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/base/-/base-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-oOaqb/SfjWwTKsdJUZmeh/Qrs41nIJI0N+zELsxnvbGjSIN1ZMAKYZFPMahqvC68OJ6+5CvJM8PoTNs5l+B8IQ==", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/@material/button": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/button/-/button-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-Nkekk4edeX+ObVOa7UlwavaHdmckPV5wU4SAJf3iA3R61cmz+KsgAgpzfcwv5WfNhIlc2nLu8QYEecpHdo9d/w==", + "dependencies": { + "@material/density": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/focus-ring": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/shape": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/tokens": "15.0.0-canary.684e33d25.0", + "@material/touch-target": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/card": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/card/-/card-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-xhyB7XX5KkEiCEqwSPkl58ZGYL6xFdnY62zimyBXJRG/Eaa0Swj3kW20hVCpt4f7c9Zmp8Se27rg8vnKmhvO3g==", + "dependencies": { + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/shape": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/tokens": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/checkbox": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/checkbox/-/checkbox-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-NFpM3TS924PmVsk2KQLNU95OYCf8ZwYgzeqfnAexU0bEfjUJXINBun2Go0AaeOUMjuvWUe+byjrXgv8SFYbMUA==", + "dependencies": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/density": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/focus-ring": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/touch-target": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/chips": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/chips/-/chips-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-z4ajQ4NnsAQ/Si9tZ4xmxzjj2Qb+vW++4QjCjjjwAGIZbCe0xglAnMh2t66XLJUxt7RoKZuZVEO7ZqcFZpvJFQ==", + "dependencies": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/checkbox": "15.0.0-canary.684e33d25.0", + "@material/density": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/focus-ring": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/shape": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/tokens": "15.0.0-canary.684e33d25.0", + "@material/touch-target": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", + "safevalues": "^0.3.4", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/circular-progress": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/circular-progress/-/circular-progress-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-G6qD0nGNtEUwWnAMJuA9INYFpZoKtx7KFjBaPF4Ol2YLHtmShALNAYyn54TMAK8AZ2IpW08PXjGS7Ye88vrdEQ==", + "dependencies": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/progress-indicator": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/data-table": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/data-table/-/data-table-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-+wDw1DDDFfAsKAMzs84f/5GCjux39zjNfW8tL4wFbkWNwewmQrG9zaQMJhBpVOtLCrM8Gj6SOgOANqgqoCjvGg==", + "dependencies": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/checkbox": "15.0.0-canary.684e33d25.0", + "@material/density": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/icon-button": "15.0.0-canary.684e33d25.0", + "@material/linear-progress": "15.0.0-canary.684e33d25.0", + "@material/list": "15.0.0-canary.684e33d25.0", + "@material/menu": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/select": "15.0.0-canary.684e33d25.0", + "@material/shape": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/tokens": "15.0.0-canary.684e33d25.0", + "@material/touch-target": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/density": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/density/-/density-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-661yEVRMGrlq6S6WuSbPRO+ZwpdUOg2glCc7y96doM6itSLOa3UEAldjOLfsYZVB74GnKCiuDp//QmfoRyYTfA==", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/@material/dialog": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/dialog/-/dialog-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-szn0dHnfeQTSOC6SSRSGAzX6Tnx+4NnSMUwNkXm+3bwjds8ZVK26+DXwLrP5f3ID5F1K5sFsRf2INo5/TNTHyQ==", + "dependencies": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/button": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/icon-button": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/shape": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/tokens": "15.0.0-canary.684e33d25.0", + "@material/touch-target": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/dom": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/dom/-/dom-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-7pEJLYov+tGgfuD8mZxoVU6rWtPI8ppjTAhz+F27Hz9FG0JETMWTKpDPBXLnKvX7vhIxL83GvZ9geNHCe8Hfog==", + "dependencies": { + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/drawer": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/drawer/-/drawer-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-/KMckLf1PYU/H3PXnS4e0aFl03qG3JlSv4LGgX6juJufcONqGTl/m63EMO/L/eUy6H1CRrXmVDjik/jzHLyDhg==", + "dependencies": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/list": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/shape": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/elevation": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/elevation/-/elevation-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-WDF8SsRtq3rXUbVVbd9K4DUijIPH0bUFSOreVYxudpuxAfTlDS5+aeS1EK9UIBFYLuba4u5wVT2tDv6e1RTfrQ==", + "dependencies": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/fab": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/fab/-/fab-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-KCu87rWOKEAe9vZcAm6K8XazYSWPNjMG+OhrbPjHW6bCO7as1YCgtmkBkhff7csY/rFmcVpIy884xtUfLmSudQ==", + "dependencies": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/focus-ring": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/shape": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/tokens": "15.0.0-canary.684e33d25.0", + "@material/touch-target": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/feature-targeting": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/feature-targeting/-/feature-targeting-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-HyH1erNTSjS63sigNSUMaCd0nJhTNdDFeC+myrxwtDaQm+uYJ8troCNtQM3g6mx0XATNtX5aTOoPmrM6yVVi1A==", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/@material/floating-label": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/floating-label/-/floating-label-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-f7TPp6bKpGvV3sYYiZHSGlrixXKkXXITW3Esp7KB9jRq42c0H82novmdwvY0eTef4ootmA2JEysr78KQfHBUPg==", + "dependencies": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/focus-ring": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/focus-ring/-/focus-ring-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-ikw2RVUfgzXChpWIzPH1VzRvTjYb5ZKj4H+CZf7jqPUXMstFOZg90Bp7ARLZHqYiyNMuUq3zUTHozS6iHorSqg==", + "dependencies": { + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0" + } + }, + "node_modules/@material/form-field": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/form-field/-/form-field-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-vpF9N/uq5no/7+8GAbEH0868FhOuBgxAWRr1Sfb+jthKfBr8OS/wPU/AHzZHdHdAm7PQynbeOXfDsX2dI//PDA==", + "dependencies": { + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/icon-button": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/icon-button/-/icon-button-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-wMI+XGzmIN/o2ePBKg2hLyx7H4pXCRAyyIKMQS1FMp1UKa2tYmiHVX/V8skhKwCqxg3i6Ls/LxMjfPxTR18WvQ==", + "dependencies": { + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/density": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/focus-ring": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/touch-target": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/image-list": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/image-list/-/image-list-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-Ol+uaHYBe5R/cgzlfh5ONnMVX0wO6fV74JMUcQCQlxP6lXau/edARo4tkRc7A7UJUkU3VRv0EpEjLoCRNUPGaA==", + "dependencies": { + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/shape": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/layout-grid": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/layout-grid/-/layout-grid-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-ALXE1mqFNb/RB2lVRQ3/r1Aufw2mFZnOjRE+boYDVepmAG/xWyPCyaGoavELJF5l4GAb0tXi8wA/8HeGbLOpuA==", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/@material/line-ripple": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/line-ripple/-/line-ripple-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-7hRx8C/e9i0P6pgQpNOMfTwSS2r1fwEvBL72QDVGLtLuoKKwsjjgP6Z0Jat/GeHJe87u9LQvGBoD4upt+of/HA==", + "dependencies": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/linear-progress": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/linear-progress/-/linear-progress-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-iJclt7mKmcMk6pqD7ocXKfCWZhqBoODp7N593jYlxVpTJuEz2wiVAjZUDn/YGj/Uz3CRH+2YFfOiLr9pwWjhDg==", + "dependencies": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/progress-indicator": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/list": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/list/-/list-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-rQ+FCSdzmwTcT00IYE0uRV3CS4oGSccKFl9hkcF+aHFW61L7ORh/SCGUDPrEfQFrFkMn5f8qroVJjpUAMXBz4g==", + "dependencies": { + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/density": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/shape": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/tokens": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/menu": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/menu/-/menu-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-r7wzDLSGSI9629/mfpvsMzkVxpmV75kcD3IrW0Pcu6/Bv/1xi0EvjcUXzNJJoQlwN4Zj35Ymz/PCjZkIDIz68Q==", + "dependencies": { + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/list": "15.0.0-canary.684e33d25.0", + "@material/menu-surface": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/shape": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/tokens": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/menu-surface": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/menu-surface/-/menu-surface-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-RVO5GAYcfWPaKwxsF/NhUAmrYXQCQBKvRQW0TIlbmAJz6lcFeTs6YZqF3u1C7qrL3ZQGz+sur/7ywj6QU0oMow==", + "dependencies": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/shape": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/notched-outline": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/notched-outline/-/notched-outline-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-9YHcBkvJLPVYzkHcWoTpBZAFrEd+j1hjhGxLhh0LuNrZe8VroUkZD1TTnUAPHRG3os6EqEWWaKb0RN+aPIF2yQ==", + "dependencies": { + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/floating-label": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/shape": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/progress-indicator": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/progress-indicator/-/progress-indicator-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-c0icji4faeNWUoqGENGC7Hav0Puxh0RwXIDVizffaUxKIGbajpIp5+4Zop73fK/xFLGMB/npg7TbP+aCGjQ3fw==", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/@material/radio": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/radio/-/radio-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-U3Eh8sNUA8trDla1Bq8Bo02foxYvtoewaKeF8A8tAju81XZ4jRiftfOsOWZDZEHCVbbCB2QwvutvFlnay5n+Aw==", + "dependencies": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/density": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/focus-ring": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/touch-target": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/ripple": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/ripple/-/ripple-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-RyePu7SjIm/OuyyEieZ/gxiPYkNZOZHeid72WRcN9ofdlljj2pifcdPvcfZA+v/DMS33xo5GjG2L/Qj6ClWrKw==", + "dependencies": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/rtl": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/rtl/-/rtl-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-NqdJl8Ayupp1Th+vCNCpVQHbUFOuF7TCte9LD1norTIBUF/QizIxWby2W5uUEiPbnh5j9PmE1CJtfLwKun3pcw==", + "dependencies": { + "@material/theme": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/segmented-button": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/segmented-button/-/segmented-button-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-bEGgg8vgXNLyukyV8HRjFMuQ6t6nm5LQ4Pgm22um61Yc8qyi0BOqV41OR4SVdUrUqZxh1aVD+p+4NN03+LfQXw==", + "dependencies": { + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/touch-target": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/select": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/select/-/select-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-kf178/2TeEinTv0mgmSBcmmExQ2h7a7dtR1E3WuqQgisJ/R6+zVLMkC2CnfIyzxYX2vkuUTG0ue3Reh/6XiqSg==", + "dependencies": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/density": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/floating-label": "15.0.0-canary.684e33d25.0", + "@material/line-ripple": "15.0.0-canary.684e33d25.0", + "@material/list": "15.0.0-canary.684e33d25.0", + "@material/menu": "15.0.0-canary.684e33d25.0", + "@material/menu-surface": "15.0.0-canary.684e33d25.0", + "@material/notched-outline": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/shape": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/tokens": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/shape": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/shape/-/shape-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-aEelpaTFmpnCji3TUGP9bVCS/bRVjUmLTHBPZtuu1gOrUVVtJ6kYOg73dZNJF+XOoNL2yOX/LRcKwsop29tptA==", + "dependencies": { + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/slider": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/slider/-/slider-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-WVyK+2pSNSZmj07M2K/a3TADoQ9FBCndfNC/vE7/wGIg4dddJJK5KvQ+yruf9R2cSzTL/S1sZ5WpyyeM8E9HTw==", + "dependencies": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/tokens": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/snackbar": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/snackbar/-/snackbar-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-itO+DCkOannZzR1/cCHcqAm7ifhuFvXmDItNoA8qLEcAyJDJJRkhpwj3XQ01yuo9gBFcSctp7Txt7e+Hncm/Jg==", + "dependencies": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/button": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/icon-button": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/shape": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/tokens": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/switch": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/switch/-/switch-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-Jxi0gl92yvvZZsAPxvVHzXx2ga+T/djMow98jvEczmpUorWnAhgiCr9CsSSRoosahWyRB8NLZOxUQrACxvffjw==", + "dependencies": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/density": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/focus-ring": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/shape": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/tokens": "15.0.0-canary.684e33d25.0", + "safevalues": "^0.3.4", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/tab": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/tab/-/tab-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-WQL3wj9syHNcfe8KbgGGUcA34M8C/xZ+n0Fkkh8Kk6puVwaU+xqUNihsxPY6YzKpmh4PZ4oJaBdiN8zvFT1zqQ==", + "dependencies": { + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/focus-ring": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/tab-indicator": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/tokens": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/tab-bar": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/tab-bar/-/tab-bar-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-SW/cMaDsIGGkM1ag3A7GJRlmr8eXmObWsvitQJzh6Azr5zzZtSI+GQygkMesAEE1gbpqOVN8d40rh3H7VVIAcA==", + "dependencies": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/density": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/tab": "15.0.0-canary.684e33d25.0", + "@material/tab-indicator": "15.0.0-canary.684e33d25.0", + "@material/tab-scroller": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/tokens": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/tab-indicator": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/tab-indicator/-/tab-indicator-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-kKICqSPqOlaf0lzaFFCmuOqPXJC+cK48Qmsc+m5o6fJhkmuZRCYpIwB2JeP+uZSOq/bTH+SrPtCtnVlgWg6ksA==", + "dependencies": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/tab-scroller": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/tab-scroller/-/tab-scroller-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-H6EU/TSiK/M2DyyORX5GEtXD9rKYxTMHC2VxsNWARPMFJGzgeW2ugYkFv+rKI1/c0bs0CJ4e+qFnOlBsQXZvyQ==", + "dependencies": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/tab": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/textfield": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/textfield/-/textfield-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-OvgpDXjvpyJTtAWskO69IDybFvDNzr9w2PN/Fk7yFm+uNVupaWz1Ew8lZ4gGslaTNSVmh2XcsvmzxcLINSiiNg==", + "dependencies": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/density": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/floating-label": "15.0.0-canary.684e33d25.0", + "@material/line-ripple": "15.0.0-canary.684e33d25.0", + "@material/notched-outline": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/shape": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/tokens": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/theme": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/theme/-/theme-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-AZxaXXAvRKzAi20RlMxzt2U5UmkCWyv7DMWEBXsxtG5Tk54mi1HsbVUp3fxDPTlmL7Pq8p1/DESg/o7TgRCVlw==", + "dependencies": { + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/tokens": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/tokens/-/tokens-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-wVwbQOTCXDPKYPdHQHLr026y36MMFelID1CmbfRk6mSol4O8yE9U0fXcShfRDW8Qo5E3X31w9c2A6T3neJY7wQ==", + "dependencies": { + "@material/elevation": "15.0.0-canary.684e33d25.0" + } + }, + "node_modules/@material/tooltip": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/tooltip/-/tooltip-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-dtm26QjxyQdinc8btgz6yys07b7bUW4FZgNF2EBPeGrICrPg7jf+JEvDziz5g8VMaTBQLOQRSCGy0MKuRlOjLw==", + "dependencies": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/button": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/shape": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/tokens": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", + "safevalues": "^0.3.4", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/top-app-bar": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/top-app-bar/-/top-app-bar-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-1M+oupUxflfW7u81P1XlxoLZB8bLzwtpKofIfDNRbEsiKhlLTERJR3Yak3BGE9xakNMysAaBHlkb5MrN5bNPFw==", + "dependencies": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/shape": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/touch-target": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/touch-target/-/touch-target-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-zdE69Slg8+T7sTn1OwqZ6H7WBYac9mxJ/JlJqfTqthzIjZRcCxBSYymQJcDHjsrPnUojOtr9U4Tpm5YZ96TEkQ==", + "dependencies": { + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/typography": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/typography/-/typography-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-aVnvgMwcfNa/K4wujzpKDIxjGl2hbkEL+m+OKDSQqWYjKcP9QrbzCXJruJBqxrBoPRHLbqo47k5f9uT8raSgjw==", + "dependencies": { + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, "node_modules/@ngtools/webpack": { - "version": "14.1.3", - "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-14.1.3.tgz", - "integrity": "sha512-tP2aiWKezhOVcR/PhVHcxKohO4ShKrhD42wgbJPbcqHeenOv1Hf5nW1nyUviqeF8QbVmPdBPF/ZOB8hIq5o6sw==", + "version": "15.2.8", + "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-15.2.8.tgz", + "integrity": "sha512-BJexeT4FxMtToVBGa3wdl6rrkYXgilP0kkSH4Qzu4MPlLPbeBSr4XQalQriewlpC2uzG0r2SJfrAe2eDhtSykA==", "dev": true, "engines": { - "node": "^14.15.0 || >=16.10.0", + "node": "^14.20.0 || ^16.13.0 || >=18.10.0", "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", "yarn": ">= 1.13.0" }, "peerDependencies": { - "@angular/compiler-cli": "^14.0.0", - "typescript": ">=4.6.2 <4.8", + "@angular/compiler-cli": "^15.0.0", + "typescript": ">=4.8.2 <5.0", "webpack": "^5.54.0" } }, @@ -3548,73 +4744,81 @@ } }, "node_modules/@npmcli/fs": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-2.1.2.tgz", - "integrity": "sha512-yOJKRvohFOaLqipNtwYB9WugyZKhC/DZC4VYPmpaCzDBrA8YpK3qHZ8/HGscMnE4GqbkLNuVcCnxkeQEdGt6LQ==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-3.1.0.tgz", + "integrity": "sha512-7kZUAaLscfgbwBQRbvdMYaZOWyMEcPTH/tJjnyAWJ/dvvs9Ef+CERx/qJb9GExJpl1qipaDGn7KqHnFGGixd0w==", "dev": true, "dependencies": { - "@gar/promisify": "^1.1.3", "semver": "^7.3.5" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/@npmcli/git": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-3.0.2.tgz", - "integrity": "sha512-CAcd08y3DWBJqJDpfuVL0uijlq5oaXaOJEKHKc4wqrjd00gkvTZB+nFuLn+doOOKddaQS9JfqtNoFCO2LCvA3w==", + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-4.0.4.tgz", + "integrity": "sha512-5yZghx+u5M47LghaybLCkdSyFzV/w4OuH12d96HO389Ik9CDsLaDZJVynSGGVJOLn6gy/k7Dz5XYcplM3uxXRg==", "dev": true, "dependencies": { - "@npmcli/promise-spawn": "^3.0.0", + "@npmcli/promise-spawn": "^6.0.0", "lru-cache": "^7.4.4", - "mkdirp": "^1.0.4", - "npm-pick-manifest": "^7.0.0", - "proc-log": "^2.0.0", + "npm-pick-manifest": "^8.0.0", + "proc-log": "^3.0.0", "promise-inflight": "^1.0.1", "promise-retry": "^2.0.1", "semver": "^7.3.5", - "which": "^2.0.2" + "which": "^3.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/git/node_modules/lru-cache": { + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", + "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", + "dev": true, + "engines": { + "node": ">=12" } }, "node_modules/@npmcli/git/node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/which/-/which-3.0.1.tgz", + "integrity": "sha512-XA1b62dzQzLfaEOSQFTCOd5KFf/1VSzZo7/7TUjnya6u0vGGKzU96UQBZTAThCb2j4/xjBAyii1OhRLJEivHvg==", "dev": true, "dependencies": { "isexe": "^2.0.0" }, "bin": { - "node-which": "bin/node-which" + "node-which": "bin/which.js" }, "engines": { - "node": ">= 8" + "node": "^14.17.0 || ^16.13.0 || >=18.0.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==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@npmcli/installed-package-contents/-/installed-package-contents-2.0.2.tgz", + "integrity": "sha512-xACzLPhnfD51GKvTOOuNX2/V4G4mz9/1I2MfDoye9kBM3RYe5g2YbscsaGoTlaWqkxeiapBWyseULVKpSVHtKQ==", "dev": true, "dependencies": { - "npm-bundled": "^1.1.1", - "npm-normalize-package-bin": "^1.0.1" + "npm-bundled": "^3.0.0", + "npm-normalize-package-bin": "^3.0.0" }, "bin": { - "installed-package-contents": "index.js" + "installed-package-contents": "lib/index.js" }, "engines": { - "node": ">= 10" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/@npmcli/move-file": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-2.0.1.tgz", "integrity": "sha512-mJd2Z5TjYWq/ttPLLGqArdtnC74J6bOzg4rMDnN+p1xTacZ2yPRCk2y0oSWQtygLR9YVQXgOcONrwtnk3JupxQ==", + "deprecated": "This functionality has been moved to @npmcli/fs", "dev": true, "dependencies": { "mkdirp": "^1.0.4", @@ -3625,39 +4829,80 @@ } }, "node_modules/@npmcli/node-gyp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-2.0.0.tgz", - "integrity": "sha512-doNI35wIe3bBaEgrlPfdJPaCpUR89pJWep4Hq3aRdh6gKazIVWfs0jHttvSSoq47ZXgC7h73kDsUl8AoIQUB+A==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-3.0.0.tgz", + "integrity": "sha512-gp8pRXC2oOxu0DUE1/M3bYtb1b3/DbJ5aM113+XJBgfXdussRAsX0YOrOhdd8WvnAR6auDBvJomGAkLKA5ydxA==", "dev": true, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/@npmcli/promise-spawn": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-3.0.0.tgz", - "integrity": "sha512-s9SgS+p3a9Eohe68cSI3fi+hpcZUmXq5P7w0kMlAsWVtR7XbK3ptkZqKT2cK1zLDObJ3sR+8P59sJE0w/KTL1g==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-6.0.2.tgz", + "integrity": "sha512-gGq0NJkIGSwdbUt4yhdF8ZrmkGKVz9vAdVzpOfnom+V8PLSmSOVhZwbNvZZS1EYcJN5hzzKBxmmVVAInM6HQLg==", "dev": true, "dependencies": { - "infer-owner": "^1.0.4" + "which": "^3.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/promise-spawn/node_modules/which": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/which/-/which-3.0.1.tgz", + "integrity": "sha512-XA1b62dzQzLfaEOSQFTCOd5KFf/1VSzZo7/7TUjnya6u0vGGKzU96UQBZTAThCb2j4/xjBAyii1OhRLJEivHvg==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/which.js" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/@npmcli/run-script": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-3.0.3.tgz", - "integrity": "sha512-ZXL6qgC5NjwfZJ2nET+ZSLEz/PJgJ/5CU90C2S66dZY4Jw73DasS4ZCXuy/KHWYP0imjJ4VtA+Gebb5BxxKp9Q==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-6.0.2.tgz", + "integrity": "sha512-NCcr1uQo1k5U+SYlnIrbAh3cxy+OQT1VtqiAbxdymSlptbzBb62AjH2xXgjNCoP073hoa1CfCAcwoZ8k96C4nA==", "dev": true, "dependencies": { - "@npmcli/node-gyp": "^2.0.0", - "@npmcli/promise-spawn": "^3.0.0", - "node-gyp": "^8.4.1", - "read-package-json-fast": "^2.0.3" + "@npmcli/node-gyp": "^3.0.0", + "@npmcli/promise-spawn": "^6.0.0", + "node-gyp": "^9.0.0", + "read-package-json-fast": "^3.0.0", + "which": "^3.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/run-script/node_modules/which": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/which/-/which-3.0.1.tgz", + "integrity": "sha512-XA1b62dzQzLfaEOSQFTCOd5KFf/1VSzZo7/7TUjnya6u0vGGKzU96UQBZTAThCb2j4/xjBAyii1OhRLJEivHvg==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/which.js" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "dev": true, + "optional": true, + "engines": { + "node": ">=14" } }, "node_modules/@protobufjs/aspromise": { @@ -3783,13 +5028,59 @@ "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" }, - "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==", + "node_modules/@sigstore/protobuf-specs": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@sigstore/protobuf-specs/-/protobuf-specs-0.1.0.tgz", + "integrity": "sha512-a31EnjuIDSX8IXBUib3cYLDRlPMU36AWX4xS8ysLaNu4ZzUesDiPt83pgrW2X1YLMe5L2HbDyaKK5BrL4cNKaQ==", "dev": true, "engines": { - "node": ">= 6" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "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": ">= 10" + } + }, + "node_modules/@tufjs/canonical-json": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@tufjs/canonical-json/-/canonical-json-1.0.0.tgz", + "integrity": "sha512-QTnf++uxunWvG2z3UFNzAoQPHxnSXOwtaI3iJ+AohhV+5vONuArPjJE7aPXPVXfXJsqrVbZBu9b81AJoSd09IQ==", + "dev": true, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/@tufjs/models": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@tufjs/models/-/models-1.0.4.tgz", + "integrity": "sha512-qaGV9ltJP0EO25YfFUPhxRVK0evXFIAGicsVXuRim4Ed9cjPxYhNnNJ49SFmbeLgtxpslIkX317IgpfcHPVj/A==", + "dev": true, + "dependencies": { + "@tufjs/canonical-json": "1.0.0", + "minimatch": "^9.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/@tufjs/models/node_modules/minimatch": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.1.tgz", + "integrity": "sha512-0jWhJpD/MdhPXwPuiRkCbfYfSKp2qnn2eOc279qI7f+osl/l+prKSrvhg157zSYvx/1nmgn2NqdT6k2Z7zSH9w==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, "node_modules/@types/body-parser": { @@ -3827,9 +5118,9 @@ } }, "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==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.0.tgz", + "integrity": "sha512-4x5FkPpLipqwthjPsF7ZRbOv3uoLUFkTA9G9v583qi4pACvq0uTELrB8OLUzPWUI4IJIyvM85vzkV1nyiI2Lig==", "dev": true, "dependencies": { "@types/express-serve-static-core": "*", @@ -3872,26 +5163,27 @@ "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==" }, "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==", + "version": "4.17.17", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.17.tgz", + "integrity": "sha512-Q4FmmuLGBG58btUnfS1c1r/NQdlp3DMfGDGig8WhfpA2YRUtEkxAjkZb0yvplJGYdF1fsQ81iMDcH24sSCNC/Q==", "dev": true, "dependencies": { "@types/body-parser": "*", - "@types/express-serve-static-core": "^4.17.18", + "@types/express-serve-static-core": "^4.17.33", "@types/qs": "*", "@types/serve-static": "*" } }, "node_modules/@types/express-serve-static-core": { - "version": "4.17.30", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.30.tgz", - "integrity": "sha512-gstzbTWro2/nFed1WXtf+TtrpwxH7Ggs4RLYTLbeVgIkUQOI3WG/JKjgeOU1zXDvezllupjrf8OPIdvTbIaVOQ==", + "version": "4.17.35", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.35.tgz", + "integrity": "sha512-wALWQwrgiB2AWTT91CB62b6Yt0sNHpznUXeZEcnPU3DRdlDIz74x8Qg1UUYKSVFi+va5vKOLYRBI1bRKiLLKIg==", "dev": true, "dependencies": { "@types/node": "*", "@types/qs": "*", - "@types/range-parser": "*" + "@types/range-parser": "*", + "@types/send": "*" } }, "node_modules/@types/google-libphonenumber": { @@ -3901,9 +5193,9 @@ "dev": true }, "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==", + "version": "1.17.11", + "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.11.tgz", + "integrity": "sha512-HC8G7c1WmaF2ekqpnFq626xd3Zz0uvaqFmBJNRZCGEZCXkvSdJoNFn/8Ygbd9fKNQj8UzLdCETaI0UWPAjK7IA==", "dev": true, "dependencies": { "@types/node": "*" @@ -3926,9 +5218,9 @@ "integrity": "sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA==" }, "node_modules/@types/mime": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/mime/-/mime-3.0.1.tgz", - "integrity": "sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA==", + "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/moment-timezone": { @@ -3969,6 +5261,16 @@ "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==", "dev": true }, + "node_modules/@types/send": { + "version": "0.17.1", + "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.1.tgz", + "integrity": "sha512-Cwo8LE/0rnvX7kIIa3QHCkcuF21c05Ayb0ZfxPiv0W8VRiZiNW/WuRupHKpqqGVGf7SUA44QSOUKaEd9lIrd/Q==", + "dev": true, + "dependencies": { + "@types/mime": "^1", + "@types/node": "*" + } + }, "node_modules/@types/serve-index": { "version": "1.9.1", "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.1.tgz", @@ -3979,9 +5281,9 @@ } }, "node_modules/@types/serve-static": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.0.tgz", - "integrity": "sha512-z5xyF6uh8CbjAu9760KDKsH2FcDxZ2tFCsA4HIMWE6IkiYMXfVoa+4f9KX+FN0ZLsaMw1WNG2ETLA6N+/YA+cg==", + "version": "1.15.1", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.1.tgz", + "integrity": "sha512-NUo5XNiAdULrJENtJXZZ3fHtfMolzZwczzBbnAeBbqBwG+LaG6YaJtuwzwGSQZ2wsCrxjEhNNjAkKigy3n8teQ==", "dev": true, "dependencies": { "@types/mime": "*", @@ -4003,9 +5305,9 @@ "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==" }, "node_modules/@types/ws": { - "version": "8.5.3", - "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.3.tgz", - "integrity": "sha512-6YOoWjruKj1uLf3INHH7D3qTXwFfEsg1kf3c0uDdSBJwfa/llkwIjrAGV7j7mVgGNbzTQ3HiHKKDXl6bJPD97w==", + "version": "8.5.4", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.4.tgz", + "integrity": "sha512-zdQDHKUgcX/zBc4GrwsE/7dVdAD8JR4EuiAXiiUhhfyIJXXb2+PrGshFyeXWQPMmmZ2XxgaqclgpIC7eTXc1mg==", "dev": true, "dependencies": { "@types/node": "*" @@ -4242,28 +5544,19 @@ } }, "node_modules/agentkeepalive": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.2.1.tgz", - "integrity": "sha512-Zn4cw2NEqd+9fiSVWMscnjyQ1a8Yfoc5oBajLeo5w+YBHgDUcEBY2hS4YpTz6iN5f/2zQiktcuM6tS8x1p9dpA==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.3.0.tgz", + "integrity": "sha512-7Epl1Blf4Sy37j4v9f9FjICCh4+KAQOyXgHEwlyBiAQLbhKdq/i2QQU3amQalS/wPhdPzDXPL5DMR5bkn+YeWg==", "dev": true, "dependencies": { "debug": "^4.1.0", - "depd": "^1.1.2", + "depd": "^2.0.0", "humanize-ms": "^1.2.1" }, "engines": { "node": ">= 8.0.0" } }, - "node_modules/agentkeepalive/node_modules/depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, "node_modules/aggregate-error": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", @@ -4593,22 +5886,10 @@ "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==" }, - "node_modules/atob": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", - "dev": true, - "bin": { - "atob": "bin/atob.js" - }, - "engines": { - "node": ">= 4.5.0" - } - }, "node_modules/autoprefixer": { - "version": "10.4.8", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.8.tgz", - "integrity": "sha512-75Jr6Q/XpTqEf6D2ltS5uMewJIx5irCU1oBYJrWjFenq/m12WRRrz6g15L1EIoYvPLXTbEry7rDOwrcYNj77xw==", + "version": "10.4.13", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.13.tgz", + "integrity": "sha512-49vKpMqcZYsJjwotvt4+h/BCjJVnhGwcLpDt5xkcaOG3eLrG/HUYLagrihYsQ+qrIBgIzX1Rw7a6L8I/ZA1Atg==", "dev": true, "funding": [ { @@ -4621,8 +5902,8 @@ } ], "dependencies": { - "browserslist": "^4.21.3", - "caniuse-lite": "^1.0.30001373", + "browserslist": "^4.21.4", + "caniuse-lite": "^1.0.30001426", "fraction.js": "^4.2.0", "normalize-range": "^0.1.2", "picocolors": "^1.0.0", @@ -4639,45 +5920,20 @@ } }, "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==", + "version": "9.1.2", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-9.1.2.tgz", + "integrity": "sha512-mN14niXW43tddohGl8HPu5yfQq70iUThvFL/4QzESA7GcZoC0eVOhvWdQ8+3UlSjaDE9MVtsW9mxDY07W7VpVA==", "dev": true, "dependencies": { - "find-cache-dir": "^3.3.1", - "loader-utils": "^2.0.0", - "make-dir": "^3.1.0", - "schema-utils": "^2.6.5" + "find-cache-dir": "^3.3.2", + "schema-utils": "^4.0.0" }, "engines": { - "node": ">= 8.9" + "node": ">= 14.15.0" }, "peerDependencies": { - "@babel/core": "^7.0.0", - "webpack": ">=2" - } - }, - "node_modules/babel-loader/node_modules/loader-utils": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz", - "integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==", - "dev": true, - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - }, - "engines": { - "node": ">=8.9.0" - } - }, - "node_modules/babel-plugin-dynamic-import-node": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", - "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", - "dev": true, - "dependencies": { - "object.assign": "^4.1.0" + "@babel/core": "^7.12.0", + "webpack": ">=5" } }, "node_modules/babel-plugin-istanbul": { @@ -4697,13 +5953,13 @@ } }, "node_modules/babel-plugin-polyfill-corejs2": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.2.tgz", - "integrity": "sha512-LPnodUl3lS0/4wN3Rb+m+UK8s7lj2jcLRrjho4gLw+OJs+I4bvGXshINesY5xx/apM+biTnQ9reDI8yj+0M5+Q==", + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz", + "integrity": "sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==", "dev": true, "dependencies": { "@babel/compat-data": "^7.17.7", - "@babel/helper-define-polyfill-provider": "^0.3.2", + "@babel/helper-define-polyfill-provider": "^0.3.3", "semver": "^6.1.1" }, "peerDependencies": { @@ -4720,25 +5976,25 @@ } }, "node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.3.tgz", - "integrity": "sha512-zKsXDh0XjnrUEW0mxIHLfjBfnXSMr5Q/goMe/fxpQnLm07mcOZiIZHBNWCMx60HmdvjxfXcalac0tfFg0wqxyw==", + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz", + "integrity": "sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==", "dev": true, "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.3.2", - "core-js-compat": "^3.21.0" + "@babel/helper-define-polyfill-provider": "^0.3.3", + "core-js-compat": "^3.25.1" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.3.1.tgz", - "integrity": "sha512-Y2B06tvgHYt1x0yz17jGkGeeMr5FeKUu+ASJ+N6nB5lQ8Dapfg42i0OVrf8PNGJ3zKL4A23snMi1IRwrqqND7A==", + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz", + "integrity": "sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==", "dev": true, "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.3.1" + "@babel/helper-define-polyfill-provider": "^0.3.3" }, "peerDependencies": { "@babel/core": "^7.0.0-0" @@ -4816,9 +6072,9 @@ } }, "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==", + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", + "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", "dev": true, "dependencies": { "bytes": "3.1.2", @@ -4829,7 +6085,7 @@ "http-errors": "2.0.0", "iconv-lite": "0.4.24", "on-finished": "2.4.1", - "qs": "6.10.3", + "qs": "6.11.0", "raw-body": "2.5.1", "type-is": "~1.6.18", "unpipe": "1.0.0" @@ -4855,9 +6111,9 @@ "dev": true }, "node_modules/bonjour-service": { - "version": "1.0.13", - "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.0.13.tgz", - "integrity": "sha512-LWKRU/7EqDUC9CTAQtuZl5HzBALoCYwtLhffW3et7vZMwv3bWLpJf8bRYlMD5OCcDpTfnPgNCV4yo9ZIaJGMiA==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.1.1.tgz", + "integrity": "sha512-Z/5lQRMOG9k7W+FkeGTNjh7htqn/2LMnfOvBZ8pynNZCM9MwkQkI3zeI4oz09uWdcgmgHugVvBqxGg4VQJ5PCg==", "dev": true, "dependencies": { "array-flatten": "^2.1.2", @@ -4894,9 +6150,9 @@ } }, "node_modules/browserslist": { - "version": "4.21.3", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.3.tgz", - "integrity": "sha512-898rgRXLAyRkM1GryrrBHGkqA5hlpkV5MhtZwg9QXeiyLUYs2k00Un05aX5l2/yJIOObYKOpS2JNo8nJDE7fWQ==", + "version": "4.21.5", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz", + "integrity": "sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==", "funding": [ { "type": "opencollective", @@ -4908,10 +6164,10 @@ } ], "dependencies": { - "caniuse-lite": "^1.0.30001370", - "electron-to-chromium": "^1.4.202", - "node-releases": "^2.0.6", - "update-browserslist-db": "^1.0.5" + "caniuse-lite": "^1.0.30001449", + "electron-to-chromium": "^1.4.284", + "node-releases": "^2.0.8", + "update-browserslist-db": "^1.0.10" }, "bin": { "browserslist": "cli.js" @@ -4967,32 +6223,36 @@ } }, "node_modules/cacache": { - "version": "16.1.1", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-16.1.1.tgz", - "integrity": "sha512-VDKN+LHyCQXaaYZ7rA/qtkURU+/yYhviUdvqEv2LT6QPZU8jpyzEkEVAcKlKLt5dJ5BRp11ym8lo3NKLluEPLg==", + "version": "17.0.4", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-17.0.4.tgz", + "integrity": "sha512-Z/nL3gU+zTUjz5pCA5vVjYM8pmaw2kxM7JEiE0fv3w77Wj+sFbi70CrBruUWH0uNcEdvLDixFpgA2JM4F4DBjA==", "dev": true, "dependencies": { - "@npmcli/fs": "^2.1.0", - "@npmcli/move-file": "^2.0.0", - "chownr": "^2.0.0", - "fs-minipass": "^2.1.0", + "@npmcli/fs": "^3.1.0", + "fs-minipass": "^3.0.0", "glob": "^8.0.1", - "infer-owner": "^1.0.4", "lru-cache": "^7.7.1", - "minipass": "^3.1.6", + "minipass": "^4.0.0", "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", + "ssri": "^10.0.0", "tar": "^6.1.11", - "unique-filename": "^1.1.1" + "unique-filename": "^3.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/cacache/node_modules/lru-cache": { + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", + "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", + "dev": true, + "engines": { + "node": ">=12" } }, "node_modules/call-bind": { @@ -5026,9 +6286,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001378", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001378.tgz", - "integrity": "sha512-JVQnfoO7FK7WvU4ZkBRbPjaot4+YqxogSDosHv0Hv5mWpUESmN+UubMU6L/hGz8QlQ2aY5U0vR6MOs6j/CXpNA==", + "version": "1.0.30001492", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001492.tgz", + "integrity": "sha512-2efF8SAZwgAX1FJr87KWhvuJxnGJKOnctQa8xLOskAXNXq8oiuqgl6u1kk3fFpsp3GgvzlRjiK1sl63hNtFADw==", "funding": [ { "type": "opencollective", @@ -5037,6 +6297,10 @@ { "type": "tidelift", "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" } ] }, @@ -5215,9 +6479,9 @@ } }, "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==", + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", "dev": true }, "node_modules/colorspace": { @@ -5463,25 +6727,6 @@ "node": ">=10.13.0" } }, - "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/core-js": { "version": "2.6.12", "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", @@ -5490,28 +6735,18 @@ "hasInstallScript": true }, "node_modules/core-js-compat": { - "version": "3.24.1", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.24.1.tgz", - "integrity": "sha512-XhdNAGeRnTpp8xbD+sR/HFDK9CbeeeqXT6TuofXh3urqEevzkWmLRgrVoykodsw8okqo2pu1BOmuCKrHx63zdw==", + "version": "3.30.2", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.30.2.tgz", + "integrity": "sha512-nriW1nuJjUgvkEjIot1Spwakz52V9YkYHZAQG6A1eCgC8AA1p0zngrQEP9R0+V6hji5XilWKG1Bd0YRppmGimA==", "dev": true, "dependencies": { - "browserslist": "^4.21.3", - "semver": "7.0.0" + "browserslist": "^4.21.5" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/core-js" } }, - "node_modules/core-js-compat/node_modules/semver": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", - "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, "node_modules/core-util-is": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", @@ -5531,9 +6766,9 @@ } }, "node_modules/cosmiconfig": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz", - "integrity": "sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", + "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", "dev": true, "dependencies": { "@types/parse-json": "^4.0.0", @@ -5659,67 +6894,20 @@ "node": ">= 8" } }, - "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/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": { - "postcss-selector-parser": "^6.0.9" - }, - "bin": { - "css-blank-pseudo": "dist/cli.cjs" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "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": { - "postcss-selector-parser": "^6.0.9" - }, - "bin": { - "css-has-pseudo": "dist/cli.cjs" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, "node_modules/css-loader": { - "version": "6.7.1", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.7.1.tgz", - "integrity": "sha512-yB5CNFa14MbPJcomwNh3wLThtkZgcNyI2bNMRt8iE5Z8Vwl7f8vQXFAzn2HDOJvtDq2NTZBUGMSUNNyrv3/+cw==", + "version": "6.7.3", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.7.3.tgz", + "integrity": "sha512-qhOH1KlBMnZP8FzRO6YCH9UHXQhVMcEGLyNdb7Hv2cpcmJbW0YrddO+tG1ab5nT41KpHIYGsbeHqxB9xPu1pKQ==", "dev": true, "dependencies": { "icss-utils": "^5.1.0", - "postcss": "^8.4.7", + "postcss": "^8.4.19", "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.2.0", - "semver": "^7.3.5" + "semver": "^7.3.8" }, "engines": { "node": ">= 12.13.0" @@ -5732,21 +6920,6 @@ "webpack": "^5.0.0" } }, - "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, - "bin": { - "css-prefers-color-scheme": "dist/cli.cjs" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, "node_modules/css-select": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", @@ -5775,25 +6948,6 @@ "url": "https://github.com/sponsors/fb55" } }, - "node_modules/css/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/cssdb": { - "version": "6.6.3", - "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-6.6.3.tgz", - "integrity": "sha512-7GDvDSmE+20+WcSMhP17Q1EVWUrLlbxxpMDqG731n8P99JhnQZHR9YvtjPvEHfjFUjvQJvdpKCjlKOX+xe4UVA==", - "dev": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - }, "node_modules/cssesc": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", @@ -5846,15 +7000,6 @@ "node": ">=0.10.0" } }, - "node_modules/decode-uri-component": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha512-hjf+xovcEn31w/EUYdTXQh/8smFL/dzYjohQGEIgjyNavaJfBY2p5F527Bo1VPATxv0VYTUC2bOcXvqFwk78Og==", - "dev": true, - "engines": { - "node": ">=0.10" - } - }, "node_modules/default-gateway": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", @@ -5883,22 +7028,6 @@ "node": ">=8" } }, - "node_modules/define-properties": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", - "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", - "dev": true, - "dependencies": { - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/delegates": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", @@ -5969,9 +7098,9 @@ "dev": true }, "node_modules/dns-packet": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.4.0.tgz", - "integrity": "sha512-EgqGeaBB8hLiHLZtp/IbaDQTL8pZ0+IvwzSHA6d7VyMDM+B9hgddEMa9xjK5oYnw0ci0JQ6g2XCD7/f6cafU6g==", + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.0.tgz", + "integrity": "sha512-rza3UH1LwdHh9qyPXp8lkwpjSNk/AMD3dPytUoRoqnypDUhY0xvbdmVhWOfxO68frEfV9BU8V12Ez7ZsHGZpCQ==", "dev": true, "dependencies": { "@leichtgewicht/ip-codec": "^2.0.1" @@ -6047,6 +7176,12 @@ "url": "https://github.com/fb55/domutils?sponsor=1" } }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true + }, "node_modules/ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", @@ -6054,9 +7189,9 @@ "dev": true }, "node_modules/electron-to-chromium": { - "version": "1.4.224", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.224.tgz", - "integrity": "sha512-dOujC5Yzj0nOVE23iD5HKqrRSDj2SD7RazpZS/b/WX85MtO6/LzKDF4TlYZTBteB+7fvSg5JpWh0sN7fImNF8w==" + "version": "1.4.414", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.414.tgz", + "integrity": "sha512-RRuCvP6ekngVh2SAJaOKT/hxqc9JAsK+Pe0hP5tGQIfonU2Zy9gMGdJ+mBdyl/vNucMG6gkXYtuM4H/1giws5w==" }, "node_modules/emoji-regex": { "version": "8.0.0", @@ -6211,9 +7346,9 @@ "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==" }, "node_modules/esbuild": { - "version": "0.14.49", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.14.49.tgz", - "integrity": "sha512-/TlVHhOaq7Yz8N1OJrjqM3Auzo5wjvHFLk+T8pIue+fhnhIMpfAzsG6PLVMbFveVxqD2WOp3QHei+52IMUNmCw==", + "version": "0.17.8", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.17.8.tgz", + "integrity": "sha512-g24ybC3fWhZddZK6R3uD2iF/RIPnRpwJAqLov6ouX3hMbY4+tKolP0VMF3zuIYCaXun+yHwS5IPQ91N2BT191g==", "dev": true, "hasInstallScript": true, "optional": true, @@ -6224,304 +7359,34 @@ "node": ">=12" }, "optionalDependencies": { - "esbuild-android-64": "0.14.49", - "esbuild-android-arm64": "0.14.49", - "esbuild-darwin-64": "0.14.49", - "esbuild-darwin-arm64": "0.14.49", - "esbuild-freebsd-64": "0.14.49", - "esbuild-freebsd-arm64": "0.14.49", - "esbuild-linux-32": "0.14.49", - "esbuild-linux-64": "0.14.49", - "esbuild-linux-arm": "0.14.49", - "esbuild-linux-arm64": "0.14.49", - "esbuild-linux-mips64le": "0.14.49", - "esbuild-linux-ppc64le": "0.14.49", - "esbuild-linux-riscv64": "0.14.49", - "esbuild-linux-s390x": "0.14.49", - "esbuild-netbsd-64": "0.14.49", - "esbuild-openbsd-64": "0.14.49", - "esbuild-sunos-64": "0.14.49", - "esbuild-windows-32": "0.14.49", - "esbuild-windows-64": "0.14.49", - "esbuild-windows-arm64": "0.14.49" - } - }, - "node_modules/esbuild-android-64": { - "version": "0.14.49", - "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.14.49.tgz", - "integrity": "sha512-vYsdOTD+yi+kquhBiFWl3tyxnj2qZJsl4tAqwhT90ktUdnyTizgle7TjNx6Ar1bN7wcwWqZ9QInfdk2WVagSww==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-android-arm64": { - "version": "0.14.49", - "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.14.49.tgz", - "integrity": "sha512-g2HGr/hjOXCgSsvQZ1nK4nW/ei8JUx04Li74qub9qWrStlysaVmadRyTVuW32FGIpLQyc5sUjjZopj49eGGM2g==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-darwin-64": { - "version": "0.14.49", - "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.14.49.tgz", - "integrity": "sha512-3rvqnBCtX9ywso5fCHixt2GBCUsogNp9DjGmvbBohh31Ces34BVzFltMSxJpacNki96+WIcX5s/vum+ckXiLYg==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-darwin-arm64": { - "version": "0.14.49", - "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.49.tgz", - "integrity": "sha512-XMaqDxO846srnGlUSJnwbijV29MTKUATmOLyQSfswbK/2X5Uv28M9tTLUJcKKxzoo9lnkYPsx2o8EJcTYwCs/A==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-freebsd-64": { - "version": "0.14.49", - "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.49.tgz", - "integrity": "sha512-NJ5Q6AjV879mOHFri+5lZLTp5XsO2hQ+KSJYLbfY9DgCu8s6/Zl2prWXVANYTeCDLlrIlNNYw8y34xqyLDKOmQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-freebsd-arm64": { - "version": "0.14.49", - "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.49.tgz", - "integrity": "sha512-lFLtgXnAc3eXYqj5koPlBZvEbBSOSUbWO3gyY/0+4lBdRqELyz4bAuamHvmvHW5swJYL7kngzIZw6kdu25KGOA==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-linux-32": { - "version": "0.14.49", - "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.14.49.tgz", - "integrity": "sha512-zTTH4gr2Kb8u4QcOpTDVn7Z8q7QEIvFl/+vHrI3cF6XOJS7iEI1FWslTo3uofB2+mn6sIJEQD9PrNZKoAAMDiA==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-linux-64": { - "version": "0.14.49", - "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.14.49.tgz", - "integrity": "sha512-hYmzRIDzFfLrB5c1SknkxzM8LdEUOusp6M2TnuQZJLRtxTgyPnZZVtyMeCLki0wKgYPXkFsAVhi8vzo2mBNeTg==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-linux-arm": { - "version": "0.14.49", - "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.14.49.tgz", - "integrity": "sha512-iE3e+ZVv1Qz1Sy0gifIsarJMQ89Rpm9mtLSRtG3AH0FPgAzQ5Z5oU6vYzhc/3gSPi2UxdCOfRhw2onXuFw/0lg==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-linux-arm64": { - "version": "0.14.49", - "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.49.tgz", - "integrity": "sha512-KLQ+WpeuY+7bxukxLz5VgkAAVQxUv67Ft4DmHIPIW+2w3ObBPQhqNoeQUHxopoW/aiOn3m99NSmSV+bs4BSsdA==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-linux-mips64le": { - "version": "0.14.49", - "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.49.tgz", - "integrity": "sha512-n+rGODfm8RSum5pFIqFQVQpYBw+AztL8s6o9kfx7tjfK0yIGF6tm5HlG6aRjodiiKkH2xAiIM+U4xtQVZYU4rA==", - "cpu": [ - "mips64el" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-linux-ppc64le": { - "version": "0.14.49", - "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.49.tgz", - "integrity": "sha512-WP9zR4HX6iCBmMFH+XHHng2LmdoIeUmBpL4aL2TR8ruzXyT4dWrJ5BSbT8iNo6THN8lod6GOmYDLq/dgZLalGw==", - "cpu": [ - "ppc64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-linux-riscv64": { - "version": "0.14.49", - "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.49.tgz", - "integrity": "sha512-h66ORBz+Dg+1KgLvzTVQEA1LX4XBd1SK0Fgbhhw4akpG/YkN8pS6OzYI/7SGENiN6ao5hETRDSkVcvU9NRtkMQ==", - "cpu": [ - "riscv64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-linux-s390x": { - "version": "0.14.49", - "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.49.tgz", - "integrity": "sha512-DhrUoFVWD+XmKO1y7e4kNCqQHPs6twz6VV6Uezl/XHYGzM60rBewBF5jlZjG0nCk5W/Xy6y1xWeopkrhFFM0sQ==", - "cpu": [ - "s390x" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-netbsd-64": { - "version": "0.14.49", - "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.49.tgz", - "integrity": "sha512-BXaUwFOfCy2T+hABtiPUIpWjAeWK9P8O41gR4Pg73hpzoygVGnj0nI3YK4SJhe52ELgtdgWP/ckIkbn2XaTxjQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-openbsd-64": { - "version": "0.14.49", - "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.49.tgz", - "integrity": "sha512-lP06UQeLDGmVPw9Rg437Btu6J9/BmyhdoefnQ4gDEJTtJvKtQaUcOQrhjTq455ouZN4EHFH1h28WOJVANK41kA==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-sunos-64": { - "version": "0.14.49", - "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.14.49.tgz", - "integrity": "sha512-4c8Zowp+V3zIWje329BeLbGh6XI9c/rqARNaj5yPHdC61pHI9UNdDxT3rePPJeWcEZVKjkiAS6AP6kiITp7FSw==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "sunos" - ], - "engines": { - "node": ">=12" + "@esbuild/android-arm": "0.17.8", + "@esbuild/android-arm64": "0.17.8", + "@esbuild/android-x64": "0.17.8", + "@esbuild/darwin-arm64": "0.17.8", + "@esbuild/darwin-x64": "0.17.8", + "@esbuild/freebsd-arm64": "0.17.8", + "@esbuild/freebsd-x64": "0.17.8", + "@esbuild/linux-arm": "0.17.8", + "@esbuild/linux-arm64": "0.17.8", + "@esbuild/linux-ia32": "0.17.8", + "@esbuild/linux-loong64": "0.17.8", + "@esbuild/linux-mips64el": "0.17.8", + "@esbuild/linux-ppc64": "0.17.8", + "@esbuild/linux-riscv64": "0.17.8", + "@esbuild/linux-s390x": "0.17.8", + "@esbuild/linux-x64": "0.17.8", + "@esbuild/netbsd-x64": "0.17.8", + "@esbuild/openbsd-x64": "0.17.8", + "@esbuild/sunos-x64": "0.17.8", + "@esbuild/win32-arm64": "0.17.8", + "@esbuild/win32-ia32": "0.17.8", + "@esbuild/win32-x64": "0.17.8" } }, "node_modules/esbuild-wasm": { - "version": "0.14.49", - "resolved": "https://registry.npmjs.org/esbuild-wasm/-/esbuild-wasm-0.14.49.tgz", - "integrity": "sha512-5ddzZv8M3WI1fWZ5rEfK5cSA9swlWJcceKgqjKLLERC7FnlNW50kF7hxhpkyC0Z/4w7Xeyt3yUJ9QWNMDXLk2Q==", + "version": "0.17.8", + "resolved": "https://registry.npmjs.org/esbuild-wasm/-/esbuild-wasm-0.17.8.tgz", + "integrity": "sha512-zCmpxv95E0FuCmvdw1K836UHnj4EdiQnFfjTby35y3LAjRPtXMj3sbHDRHjbD8Mqg5lTwq3knacr/1qIFU51CQ==", "dev": true, "bin": { "esbuild": "bin/esbuild" @@ -6530,54 +7395,6 @@ "node": ">=12" } }, - "node_modules/esbuild-windows-32": { - "version": "0.14.49", - "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.14.49.tgz", - "integrity": "sha512-q7Rb+J9yHTeKr9QTPDYkqfkEj8/kcKz9lOabDuvEXpXuIcosWCJgo5Z7h/L4r7rbtTH4a8U2FGKb6s1eeOHmJA==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-windows-64": { - "version": "0.14.49", - "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.14.49.tgz", - "integrity": "sha512-+Cme7Ongv0UIUTniPqfTX6mJ8Deo7VXw9xN0yJEN1lQMHDppTNmKwAM3oGbD/Vqff+07K2gN0WfNkMohmG+dVw==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-windows-arm64": { - "version": "0.14.49", - "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.49.tgz", - "integrity": "sha512-v+HYNAXzuANrCbbLFJ5nmO3m5y2PGZWLe3uloAkLt87aXiO2mZr3BTmacZdjwNkNEHuH3bNtN8cak+mzVjVPfA==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, "node_modules/escalade": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", @@ -6714,14 +7531,14 @@ } }, "node_modules/express": { - "version": "4.18.1", - "resolved": "https://registry.npmjs.org/express/-/express-4.18.1.tgz", - "integrity": "sha512-zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q==", + "version": "4.18.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", + "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", "dev": true, "dependencies": { "accepts": "~1.3.8", "array-flatten": "1.1.1", - "body-parser": "1.20.0", + "body-parser": "1.20.1", "content-disposition": "0.5.4", "content-type": "~1.0.4", "cookie": "0.5.0", @@ -6740,7 +7557,7 @@ "parseurl": "~1.3.3", "path-to-regexp": "0.1.7", "proxy-addr": "~2.0.7", - "qs": "6.10.3", + "qs": "6.11.0", "range-parser": "~1.2.1", "safe-buffer": "5.2.1", "send": "0.18.0", @@ -7143,6 +7960,34 @@ } } }, + "node_modules/foreground-child": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", + "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/foreground-child/node_modules/signal-exit": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.0.2.tgz", + "integrity": "sha512-MY2/qGx4enyjprQnFaZsHib3Yadh3IXyV2C321GY0pjGfVBu4un0uDJkwgdxqO+Rdx8JMT8IfJIRwbYVz3Ob3Q==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/forwarded": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", @@ -7188,15 +8033,24 @@ } }, "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==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-3.0.2.tgz", + "integrity": "sha512-2GAfyfoaCDRrM6jaOS3UsBts8yJ55VioXdWcOL7dK9zdAuKT71+WBA4ifnNYqVjYv+4SsPxjK0JT4yIIn4cA/g==", "dev": true, "dependencies": { - "minipass": "^3.0.0" + "minipass": "^5.0.0" }, "engines": { - "node": ">= 8" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/fs-minipass/node_modules/minipass": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", + "dev": true, + "engines": { + "node": ">=8" } }, "node_modules/fs-monkey": { @@ -7275,13 +8129,14 @@ } }, "node_modules/get-intrinsic": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.2.tgz", - "integrity": "sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", + "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", "dev": true, "dependencies": { "function-bind": "^1.1.1", "has": "^1.0.3", + "has-proto": "^1.0.1", "has-symbols": "^1.0.3" }, "funding": { @@ -7310,9 +8165,9 @@ } }, "node_modules/glob": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-8.0.3.tgz", - "integrity": "sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", + "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", "dev": true, "dependencies": { "fs.realpath": "^1.0.0", @@ -7413,13 +8268,13 @@ "node": ">=4" } }, - "node_modules/has-property-descriptors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", - "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "node_modules/has-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", + "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", "dev": true, - "dependencies": { - "get-intrinsic": "^1.1.1" + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -7461,15 +8316,24 @@ "dev": true }, "node_modules/hosted-git-info": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-5.1.0.tgz", - "integrity": "sha512-Ek+QmMEqZF8XrbFdwoDjSbm7rT23pCgEMOJmz6GPk/s4yH//RQfNPArhIxbguNxROq/+5lNBwCDHMhA903Kx1Q==", + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-6.1.1.tgz", + "integrity": "sha512-r0EI+HBMcXadMrugk0GCQ+6BQV39PiWAZVfq7oIckeGiN7sjRGyQxPdft3nQekFTCQbYxLBH+/axZMeH8UX6+w==", "dev": true, "dependencies": { "lru-cache": "^7.5.1" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/hosted-git-info/node_modules/lru-cache": { + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", + "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", + "dev": true, + "engines": { + "node": ">=12" } }, "node_modules/hpack.js": { @@ -7485,9 +8349,9 @@ } }, "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==", + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "dev": true, "dependencies": { "core-util-is": "~1.0.0", @@ -7521,9 +8385,9 @@ "dev": true }, "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==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", + "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==", "dev": true }, "node_modules/http-deceiver": { @@ -7577,12 +8441,12 @@ } }, "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==", + "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": "1", + "@tootallnate/once": "2", "agent-base": "6", "debug": "4" }, @@ -7702,15 +8566,30 @@ } }, "node_modules/ignore-walk": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-5.0.1.tgz", - "integrity": "sha512-yemi4pMf51WKT7khInJqAvsIGzoqYXblnsz0ql8tM+yi1EKYTY1evX4NAbJrLL/Aanr2HyZeluqU+Oi7MGHokw==", + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-6.0.3.tgz", + "integrity": "sha512-C7FfFoTA+bI10qfeydT8aZbvr91vAEU+2W5BZUlzPec47oNb07SsOfwYrtxuvOYdUApPP/Qlh4DtAO51Ekk2QA==", "dev": true, "dependencies": { - "minimatch": "^5.0.1" + "minimatch": "^9.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/ignore-walk/node_modules/minimatch": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.1.tgz", + "integrity": "sha512-0jWhJpD/MdhPXwPuiRkCbfYfSKp2qnn2eOc279qI7f+osl/l+prKSrvhg157zSYvx/1nmgn2NqdT6k2Z7zSH9w==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, "node_modules/image-size": { @@ -7732,9 +8611,9 @@ "integrity": "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==" }, "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==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.0.tgz", + "integrity": "sha512-0AOCmOip+xgJwEVTQj1EfiDDOkPmuyllDuTuEX+DDXUgapLAsBIfkg3sxCYyCEA8mQqZrrxPUGjcOQ2JS3WLkg==", "dev": true }, "node_modules/import-fresh": { @@ -7801,9 +8680,9 @@ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, "node_modules/ini": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ini/-/ini-3.0.0.tgz", - "integrity": "sha512-TxYQaeNW/N8ymDvwAxPyRbhMBtnEwuvaTYpOQkFx1nSeusgezHniEc/l35Vo4iCq/mMiTJbpD7oYxN98hFlfmw==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ini/-/ini-3.0.1.tgz", + "integrity": "sha512-it4HyVAUTKBc6m8e1iXWvXSTdndF7HbdN713+kvLrymxTaU4AUBWrJ4vEooP+V7fexnVD3LKcBshjGGPefSMUQ==", "dev": true, "engines": { "node": "^12.13.0 || ^14.15.0 || >=16.0.0" @@ -8003,9 +8882,9 @@ "dev": true }, "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==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.1.0.tgz", + "integrity": "sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ==", "dev": true, "engines": { "node": ">= 10" @@ -8030,9 +8909,9 @@ } }, "node_modules/is-core-module": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.10.0.tgz", - "integrity": "sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg==", + "version": "2.12.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.1.tgz", + "integrity": "sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==", "dev": true, "dependencies": { "has": "^1.0.3" @@ -8307,6 +9186,24 @@ "node": ">=8" } }, + "node_modules/jackspeak": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.2.1.tgz", + "integrity": "sha512-MXbxovZ/Pm42f6cDIDkl3xpwv1AGwObKwfmjs2nQePiy85tP3fatofl3FC1aBsOtP/6fq5SbtgHwWcMsLP+bDw==", + "dev": true, + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, "node_modules/jasmine-core": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-4.1.1.tgz", @@ -8450,9 +9347,9 @@ "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" }, "node_modules/json5": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", - "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==", + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", "bin": { "json5": "lib/cli.js" }, @@ -8461,9 +9358,9 @@ } }, "node_modules/jsonc-parser": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.1.0.tgz", - "integrity": "sha512-DRf0QjnNeCUds3xTjKlQQ3DpJD51GvDjJfnxUVWg6PZTo2otSm+slzNAxU/35hF8/oJIKoG9slq30JYOsF2azg==" + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", + "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==" }, "node_modules/jsonfile": { "version": "4.0.0", @@ -8748,9 +9645,9 @@ } }, "node_modules/klona": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.5.tgz", - "integrity": "sha512-pJiBpiXMbt7dkzXe8Ghj/u4FfXOOa98fPW+bihOJ4SjnoijweJrNThJfd3ifXpXhREjpoF2mZVH1GfS9LV3kHQ==", + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.6.tgz", + "integrity": "sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==", "dev": true, "engines": { "node": ">= 8" @@ -8788,9 +9685,9 @@ } }, "node_modules/less-loader": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/less-loader/-/less-loader-11.0.0.tgz", - "integrity": "sha512-9+LOWWjuoectIEx3zrfN83NAGxSUB5pWEabbbidVQVgZhN+wN68pOvuyirVlH1IK4VT1f3TmlyvAnCXh8O5KEw==", + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/less-loader/-/less-loader-11.1.0.tgz", + "integrity": "sha512-C+uDBV7kS7W5fJlUjq5mPBeBVhYpTIm5gB09APT9o3n/ILeaXVsiSFTbZpTJCJwQ/Crczfn3DmfQFwxYusWFug==", "dev": true, "dependencies": { "klona": "^2.0.4" @@ -8834,16 +9731,6 @@ "node": ">=4" } }, - "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, - "optional": true, - "engines": { - "node": ">=6" - } - }, "node_modules/less/node_modules/semver": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", @@ -8909,9 +9796,9 @@ } }, "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==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.2.1.tgz", + "integrity": "sha512-ZvFw1KWS3GVyYBYb7qkmRM/WwL2TQQBxgCK62rlvm4WpVQ23Nb4tYjApUlfjrEGvOs7KHEsmyUn75OHZrJMWPw==", "dev": true, "engines": { "node": ">= 12.13.0" @@ -9057,14 +9944,20 @@ "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" }, "node_modules/lru-cache": { - "version": "7.14.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.14.0.tgz", - "integrity": "sha512-EIRtP1GrSJny0dqb50QXRUNBxHJhcpxHC++M5tD7RYbvLLn5KVWKsbyswSSqDuU15UFi3bgTQIY8nhDMeF6aDQ==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", "dev": true, - "engines": { - "node": ">=12" + "dependencies": { + "yallist": "^3.0.2" } }, + "node_modules/lru-cache/node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + }, "node_modules/magic-string": { "version": "0.26.1", "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.26.1.tgz", @@ -9101,148 +9994,141 @@ } }, "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==", + "version": "10.2.1", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-10.2.1.tgz", + "integrity": "sha512-NgOPbRiaQM10DYXvN3/hhGVI2M5MtITFryzBGxHM5p4wnFxsVCbxkrBrDsk+EZ5OB4jEOT7AjDxtdF+KVEFT7w==", "dev": true, "dependencies": { - "agentkeepalive": "^4.1.3", - "cacache": "^15.2.0", + "agentkeepalive": "^4.2.1", + "cacache": "^16.1.0", "http-cache-semantics": "^4.1.0", - "http-proxy-agent": "^4.0.1", + "http-proxy-agent": "^5.0.0", "https-proxy-agent": "^5.0.0", "is-lambda": "^1.0.1", - "lru-cache": "^6.0.0", - "minipass": "^3.1.3", + "lru-cache": "^7.7.1", + "minipass": "^3.1.6", "minipass-collect": "^1.0.2", - "minipass-fetch": "^1.3.2", + "minipass-fetch": "^2.0.3", "minipass-flush": "^1.0.5", "minipass-pipeline": "^1.2.4", - "negotiator": "^0.6.2", + "negotiator": "^0.6.3", "promise-retry": "^2.0.1", - "socks-proxy-agent": "^6.0.0", - "ssri": "^8.0.0" + "socks-proxy-agent": "^7.0.0", + "ssri": "^9.0.0" }, "engines": { - "node": ">= 10" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, "node_modules/make-fetch-happen/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==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-2.1.2.tgz", + "integrity": "sha512-yOJKRvohFOaLqipNtwYB9WugyZKhC/DZC4VYPmpaCzDBrA8YpK3qHZ8/HGscMnE4GqbkLNuVcCnxkeQEdGt6LQ==", "dev": true, "dependencies": { - "@gar/promisify": "^1.0.1", + "@gar/promisify": "^1.1.3", "semver": "^7.3.5" - } - }, - "node_modules/make-fetch-happen/node_modules/@npmcli/move-file": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.1.2.tgz", - "integrity": "sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==", - "dev": true, - "dependencies": { - "mkdirp": "^1.0.4", - "rimraf": "^3.0.2" }, "engines": { - "node": ">=10" - } - }, - "node_modules/make-fetch-happen/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, "node_modules/make-fetch-happen/node_modules/cacache": { - "version": "15.3.0", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.3.0.tgz", - "integrity": "sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==", + "version": "16.1.3", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-16.1.3.tgz", + "integrity": "sha512-/+Emcj9DAXxX4cwlLmRI9c166RuL3w30zp4R7Joiv2cQTtTtA+jeuCAjH3ZlGnYS3tKENSrKhAzVVP9GVyzeYQ==", "dev": true, "dependencies": { - "@npmcli/fs": "^1.0.0", - "@npmcli/move-file": "^1.0.1", + "@npmcli/fs": "^2.1.0", + "@npmcli/move-file": "^2.0.0", "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "glob": "^7.1.4", + "fs-minipass": "^2.1.0", + "glob": "^8.0.1", "infer-owner": "^1.0.4", - "lru-cache": "^6.0.0", - "minipass": "^3.1.1", + "lru-cache": "^7.7.1", + "minipass": "^3.1.6", "minipass-collect": "^1.0.2", "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.2", - "mkdirp": "^1.0.3", + "minipass-pipeline": "^1.2.4", + "mkdirp": "^1.0.4", "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" + "ssri": "^9.0.0", + "tar": "^6.1.11", + "unique-filename": "^2.0.0" }, "engines": { - "node": ">= 10" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/make-fetch-happen/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "node_modules/make-fetch-happen/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": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "minipass": "^3.0.0" }, "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">= 8" } }, "node_modules/make-fetch-happen/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==", + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", + "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/make-fetch-happen/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", "dev": true, "dependencies": { "yallist": "^4.0.0" }, "engines": { - "node": ">=10" - } - }, - "node_modules/make-fetch-happen/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" + "node": ">=8" } }, "node_modules/make-fetch-happen/node_modules/ssri": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz", - "integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-9.0.1.tgz", + "integrity": "sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q==", "dev": true, "dependencies": { "minipass": "^3.1.1" }, "engines": { - "node": ">= 8" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/make-fetch-happen/node_modules/unique-filename": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-2.0.1.tgz", + "integrity": "sha512-ODWHtkkdx3IAR+veKxFV+VBkUMcN+FaqzUUd7IZzt+0zhDZFPFxhlqwPF3YQvMHx1TD0tdgYl+kuPnJ8E6ql7A==", + "dev": true, + "dependencies": { + "unique-slug": "^3.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/make-fetch-happen/node_modules/unique-slug": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-3.0.0.tgz", + "integrity": "sha512-8EyMynh679x/0gqE9fT9oilG+qEt+ibFyqjuVTsZn1+CMxH+XLlpvr2UZx4nVcCwTpx81nICr2JQFkM+HPLq4w==", + "dev": true, + "dependencies": { + "imurmurhash": "^0.1.4" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, "node_modules/media-typer": { @@ -9255,9 +10141,9 @@ } }, "node_modules/memfs": { - "version": "3.4.7", - "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.4.7.tgz", - "integrity": "sha512-ygaiUSNalBX85388uskeCyhSAoOSgzBbtVCr9jA2RROssFL9Q19/ZXFqS+2Th2sr1ewNIWgFdLzLC3Yl1Zv+lw==", + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.5.1.tgz", + "integrity": "sha512-UWbFJKvj5k+nETdteFndTpYxdeTMox/ULeqX5k/dpaQJCCFmj5EeKv3dBcyO2xmkRAx2vppRu5dVG7SOtsGOzA==", "dev": true, "dependencies": { "fs-monkey": "^1.0.3" @@ -9348,9 +10234,9 @@ } }, "node_modules/mini-css-extract-plugin": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.6.1.tgz", - "integrity": "sha512-wd+SD57/K6DiV7jIR34P+s3uckTRuQvx0tKPcvjFlrEylk6P4mQ2KSWk1hblj1Kxaqok7LogKOieygXqBczNlg==", + "version": "2.7.2", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.7.2.tgz", + "integrity": "sha512-EdlUizq13o0Pd+uCp+WO/JpkLvHRVGt97RqfeGhXqAcorYo1ypJSpkV+WDT0vY/kmh/p7wRdJNJtuyK540PXDw==", "dev": true, "dependencies": { "schema-utils": "^4.0.0" @@ -9366,25 +10252,6 @@ "webpack": "^5.0.0" } }, - "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": { - "@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/minimalistic-assert": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", @@ -9392,9 +10259,9 @@ "dev": true }, "node_modules/minimatch": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz", - "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==", + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", "dev": true, "dependencies": { "brace-expansion": "^2.0.1" @@ -9410,13 +10277,10 @@ "dev": true }, "node_modules/minipass": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.4.tgz", - "integrity": "sha512-I9WPbWHCGu8W+6k1ZiGpPu0GkoKBeorkfKNuAFBNS1HNFJvke82sxvI5bzcCNpWPorkOO5QQ+zomzzwRxejXiw==", + "version": "4.2.8", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-4.2.8.tgz", + "integrity": "sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ==", "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, "engines": { "node": ">=8" } @@ -9433,21 +10297,45 @@ "node": ">= 8" } }, - "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==", + "node_modules/minipass-collect/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", "dev": true, "dependencies": { - "minipass": "^3.1.0", - "minipass-sized": "^1.0.3", - "minizlib": "^2.0.0" + "yallist": "^4.0.0" }, "engines": { "node": ">=8" + } + }, + "node_modules/minipass-fetch": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-2.1.2.tgz", + "integrity": "sha512-LT49Zi2/WMROHYoqGgdlQIZh8mLPZmOrN2NdJjMXxYe4nkN6FUyuPuOAOedNJDrx0IRGg9+4guZewtp8hE6TxA==", + "dev": true, + "dependencies": { + "minipass": "^3.1.6", + "minipass-sized": "^1.0.3", + "minizlib": "^2.1.2" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" }, "optionalDependencies": { - "encoding": "^0.1.12" + "encoding": "^0.1.13" + } + }, + "node_modules/minipass-fetch/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, "node_modules/minipass-flush": { @@ -9462,6 +10350,18 @@ "node": ">= 8" } }, + "node_modules/minipass-flush/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/minipass-json-stream": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/minipass-json-stream/-/minipass-json-stream-1.0.1.tgz", @@ -9472,6 +10372,18 @@ "minipass": "^3.0.0" } }, + "node_modules/minipass-json-stream/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/minipass-pipeline": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", @@ -9484,6 +10396,18 @@ "node": ">=8" } }, + "node_modules/minipass-pipeline/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/minipass-sized": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz", @@ -9496,6 +10420,18 @@ "node": ">=8" } }, + "node_modules/minipass-sized/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/minizlib": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", @@ -9509,6 +10445,18 @@ "node": ">= 8" } }, + "node_modules/minizlib/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/mkdirp": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", @@ -9576,9 +10524,9 @@ } }, "node_modules/needle": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/needle/-/needle-3.1.0.tgz", - "integrity": "sha512-gCE9weDhjVGCRqS8dwDR/D3GTAeyXLXuqp7I8EzH6DllZGXSUyxuqqLh+YX9rMAWaaTFyVAg6rHGL25dqvczKw==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/needle/-/needle-3.2.0.tgz", + "integrity": "sha512-oUvzXnyLiVyVGoianLijF9O/RecZUf7TkBfimjGrLM4eQhXyeJwM6GeAWccwfQ9aa4gMCZKqhAOuLaMIcQxajQ==", "dev": true, "optional": true, "dependencies": { @@ -9724,16 +10672,16 @@ } }, "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==", + "version": "9.3.1", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-9.3.1.tgz", + "integrity": "sha512-4Q16ZCqq3g8awk6UplT7AuxQ35XN4R/yf/+wSAwcBUAjg7l58RTactWaP8fIDTi0FzI7YcVLujwExakZlfWkXg==", "dev": true, "dependencies": { "env-paths": "^2.2.0", "glob": "^7.1.4", "graceful-fs": "^4.2.6", - "make-fetch-happen": "^9.1.0", - "nopt": "^5.0.0", + "make-fetch-happen": "^10.0.3", + "nopt": "^6.0.0", "npmlog": "^6.0.0", "rimraf": "^3.0.2", "semver": "^7.3.5", @@ -9744,7 +10692,7 @@ "node-gyp": "bin/node-gyp.js" }, "engines": { - "node": ">= 10.12.0" + "node": "^12.13 || ^14.13 || >=16" } }, "node_modules/node-gyp-build": { @@ -9817,38 +10765,38 @@ } }, "node_modules/node-releases": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz", - "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==" + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.12.tgz", + "integrity": "sha512-QzsYKWhXTWx8h1kIvqfnC++o0pEmpRQA/aenALsL2F4pqNVr7YzcdMlDij5WBnwftRbJCNJL/O7zdKaxKPHqgQ==" }, "node_modules/nopt": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", - "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-6.0.0.tgz", + "integrity": "sha512-ZwLpbTgdhuZUnZzjd7nb1ZV+4DoiC6/sfiVKok72ym/4Tlf+DFdlHYmT2JPmcNNWV6Pi3SDf1kT+A4r9RTuT9g==", "dev": true, "dependencies": { - "abbrev": "1" + "abbrev": "^1.0.0" }, "bin": { "nopt": "bin/nopt.js" }, "engines": { - "node": ">=6" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, "node_modules/normalize-package-data": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-4.0.1.tgz", - "integrity": "sha512-EBk5QKKuocMJhB3BILuKhmaPjI8vNRSpIfO9woLC6NyHVkKKdVEdAO1mrT0ZfxNR1lKwCcTkuZfmGIFdizZ8Pg==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-5.0.0.tgz", + "integrity": "sha512-h9iPVIfrVZ9wVYQnxFgtw1ugSvGEMOlyPWWtm8BMJhnwyEL/FLbYbTY3V3PpjI/BUK67n9PEWDu6eHzu1fB15Q==", "dev": true, "dependencies": { - "hosted-git-info": "^5.0.0", + "hosted-git-info": "^6.0.0", "is-core-module": "^2.8.1", "semver": "^7.3.5", "validate-npm-package-license": "^3.0.4" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/normalize-path": { @@ -9870,178 +10818,159 @@ } }, "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==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-3.0.0.tgz", + "integrity": "sha512-Vq0eyEQy+elFpzsKjMss9kxqb9tG3YHg4dsyWuUENuzvSUWe1TCnW/vV9FkhvBk/brEDoDiVd+M1Btosa6ImdQ==", "dev": true, "dependencies": { - "npm-normalize-package-bin": "^1.0.1" + "npm-normalize-package-bin": "^3.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/npm-install-checks": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-5.0.0.tgz", - "integrity": "sha512-65lUsMI8ztHCxFz5ckCEC44DRvEGdZX5usQFriauxHEwt7upv1FKaQEmAtU0YnOAdwuNWCmk64xYiQABNrEyLA==", + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-6.1.1.tgz", + "integrity": "sha512-dH3GmQL4vsPtld59cOn8uY0iOqRmqKvV+DLGwNXV/Q7MDgD2QfOADWd/mFXcIE5LVhYYGjA3baz6W9JneqnuCw==", "dev": true, "dependencies": { "semver": "^7.1.1" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "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 + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-3.0.1.tgz", + "integrity": "sha512-dMxCf+zZ+3zeQZXKxmyuCKlIDPGuv8EF940xbkC4kQVDTtqoh6rJFO+JTKSA6/Rwi0getWmtuy4Itup0AMcaDQ==", + "dev": true, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } }, "node_modules/npm-package-arg": { - "version": "9.0.2", - "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-9.0.2.tgz", - "integrity": "sha512-v/miORuX8cndiOheW8p2moNuPJ7QhcFh9WGlTorruG8hXSA23vMTEp5hTCmDxic0nD8KHhj/NQgFuySD3GYY3g==", + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-10.1.0.tgz", + "integrity": "sha512-uFyyCEmgBfZTtrKk/5xDfHp6+MdrqGotX/VoOyEEl3mBwiEE5FlBaePanazJSVMPT7vKepcjYBY2ztg9A3yPIA==", "dev": true, "dependencies": { - "hosted-git-info": "^5.0.0", + "hosted-git-info": "^6.0.0", + "proc-log": "^3.0.0", "semver": "^7.3.5", - "validate-npm-package-name": "^4.0.0" + "validate-npm-package-name": "^5.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/npm-packlist": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-5.1.1.tgz", - "integrity": "sha512-UfpSvQ5YKwctmodvPPkK6Fwk603aoVsf8AEbmVKAEECrfvL8SSe1A2YIwrJ6xmTHAITKPwwZsWo7WwEbNk0kxw==", + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-7.0.4.tgz", + "integrity": "sha512-d6RGEuRrNS5/N84iglPivjaJPxhDbZmlbTwTDX2IbcRHG5bZCdtysYMhwiPvcF4GisXHGn7xsxv+GQ7T/02M5Q==", "dev": true, "dependencies": { - "glob": "^8.0.1", - "ignore-walk": "^5.0.1", - "npm-bundled": "^1.1.2", - "npm-normalize-package-bin": "^1.0.1" - }, - "bin": { - "npm-packlist": "bin/index.js" + "ignore-walk": "^6.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/npm-pick-manifest": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-7.0.1.tgz", - "integrity": "sha512-IA8+tuv8KujbsbLQvselW2XQgmXWS47t3CB0ZrzsRZ82DbDfkcFunOaPm4X7qNuhMfq+FmV7hQT4iFVpHqV7mg==", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-8.0.1.tgz", + "integrity": "sha512-mRtvlBjTsJvfCCdmPtiu2bdlx8d/KXtF7yNXNWe7G0Z36qWA9Ny5zXsI2PfBZEv7SXgoxTmNaTzGSbbzDZChoA==", "dev": true, "dependencies": { - "npm-install-checks": "^5.0.0", - "npm-normalize-package-bin": "^1.0.1", - "npm-package-arg": "^9.0.0", + "npm-install-checks": "^6.0.0", + "npm-normalize-package-bin": "^3.0.0", + "npm-package-arg": "^10.0.0", "semver": "^7.3.5" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/npm-registry-fetch": { - "version": "13.3.1", - "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-13.3.1.tgz", - "integrity": "sha512-eukJPi++DKRTjSBRcDZSDDsGqRK3ehbxfFUcgaRd0Yp6kRwOwh2WVn0r+8rMB4nnuzvAk6rQVzl6K5CkYOmnvw==", + "version": "14.0.5", + "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-14.0.5.tgz", + "integrity": "sha512-kIDMIo4aBm6xg7jOttupWZamsZRkAqMqwqqbVXnUqstY5+tapvv6bkH/qMR76jdgV+YljEUCyWx3hRYMrJiAgA==", "dev": true, "dependencies": { - "make-fetch-happen": "^10.0.6", - "minipass": "^3.1.6", - "minipass-fetch": "^2.0.3", + "make-fetch-happen": "^11.0.0", + "minipass": "^5.0.0", + "minipass-fetch": "^3.0.0", "minipass-json-stream": "^1.0.1", "minizlib": "^2.1.2", - "npm-package-arg": "^9.0.1", - "proc-log": "^2.0.0" + "npm-package-arg": "^10.0.0", + "proc-log": "^3.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "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==", + "node_modules/npm-registry-fetch/node_modules/lru-cache": { + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", + "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", "dev": true, "engines": { - "node": ">= 10" - } - }, - "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": ">= 6" + "node": ">=12" } }, "node_modules/npm-registry-fetch/node_modules/make-fetch-happen": { - "version": "10.2.1", - "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-10.2.1.tgz", - "integrity": "sha512-NgOPbRiaQM10DYXvN3/hhGVI2M5MtITFryzBGxHM5p4wnFxsVCbxkrBrDsk+EZ5OB4jEOT7AjDxtdF+KVEFT7w==", + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-11.1.1.tgz", + "integrity": "sha512-rLWS7GCSTcEujjVBs2YqG7Y4643u8ucvCJeSRqiLYhesrDuzeuFIk37xREzAsfQaqzl8b9rNCE4m6J8tvX4Q8w==", "dev": true, "dependencies": { "agentkeepalive": "^4.2.1", - "cacache": "^16.1.0", - "http-cache-semantics": "^4.1.0", + "cacache": "^17.0.0", + "http-cache-semantics": "^4.1.1", "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": "^5.0.0", + "minipass-fetch": "^3.0.0", "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" + "ssri": "^10.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm-registry-fetch/node_modules/minipass": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", + "dev": true, + "engines": { + "node": ">=8" } }, "node_modules/npm-registry-fetch/node_modules/minipass-fetch": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-2.1.1.tgz", - "integrity": "sha512-/kgtXVGS10PTFET6dAbOBWQtgH+iDiI4NhRqAftojRlsOJhk0y45sVVxqCaRQC+AMFH7JkHiWpuKJKQ+mojKiA==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-3.0.3.tgz", + "integrity": "sha512-n5ITsTkDqYkYJZjcRWzZt9qnZKCT7nKCosJhHoj7S7zD+BP4jVbWs+odsniw5TA3E0sLomhTKOKjF86wf11PuQ==", "dev": true, "dependencies": { - "minipass": "^3.1.6", + "minipass": "^5.0.0", "minipass-sized": "^1.0.3", "minizlib": "^2.1.2" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" }, "optionalDependencies": { "encoding": "^0.1.13" } }, - "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": { - "agent-base": "^6.0.2", - "debug": "^4.3.3", - "socks": "^2.6.2" - }, - "engines": { - "node": ">= 10" - } - }, "node_modules/npm-run-path": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", @@ -10091,41 +11020,14 @@ } }, "node_modules/object-inspect": { - "version": "1.12.2", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", - "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==", + "version": "1.12.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", + "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", "dev": true, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "dev": true, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.assign": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", - "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "has-symbols": "^1.0.3", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/obuf": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", @@ -10184,9 +11086,9 @@ } }, "node_modules/open": { - "version": "8.4.0", - "resolved": "https://registry.npmjs.org/open/-/open-8.4.0.tgz", - "integrity": "sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==", + "version": "8.4.1", + "resolved": "https://registry.npmjs.org/open/-/open-8.4.1.tgz", + "integrity": "sha512-/4b7qZNhv6Uhd7jjnREh1NjnPxlTq+XNWPG88Ydkj5AILcA5m3ajvcg57pB24EQjKv0dK62XnDqk9c/hkIG5Kg==", "dependencies": { "define-lazy-prop": "^2.0.0", "is-docker": "^2.1.1", @@ -10364,38 +11266,35 @@ } }, "node_modules/pacote": { - "version": "13.3.0", - "resolved": "https://registry.npmjs.org/pacote/-/pacote-13.3.0.tgz", - "integrity": "sha512-auhJAUlfC2TALo6I0s1vFoPvVFgWGx+uz/PnIojTTgkGwlK3Np8sGJ0ghfFhiuzJXTZoTycMLk8uLskdntPbDw==", + "version": "15.1.0", + "resolved": "https://registry.npmjs.org/pacote/-/pacote-15.1.0.tgz", + "integrity": "sha512-FFcjtIl+BQNfeliSm7MZz5cpdohvUV1yjGnqgVM4UnVF7JslRY0ImXAygdaCDV0jjUADEWu4y5xsDV8brtrTLg==", "dev": true, "dependencies": { - "@npmcli/git": "^3.0.0", - "@npmcli/installed-package-contents": "^1.0.7", - "@npmcli/promise-spawn": "^3.0.0", - "@npmcli/run-script": "^3.0.1", - "cacache": "^16.0.0", - "chownr": "^2.0.0", - "fs-minipass": "^2.1.0", - "infer-owner": "^1.0.4", - "minipass": "^3.1.6", - "mkdirp": "^1.0.4", - "npm-package-arg": "^9.0.0", - "npm-packlist": "^5.0.0", - "npm-pick-manifest": "^7.0.0", - "npm-registry-fetch": "^13.0.1", - "proc-log": "^2.0.0", + "@npmcli/git": "^4.0.0", + "@npmcli/installed-package-contents": "^2.0.1", + "@npmcli/promise-spawn": "^6.0.1", + "@npmcli/run-script": "^6.0.0", + "cacache": "^17.0.0", + "fs-minipass": "^3.0.0", + "minipass": "^4.0.0", + "npm-package-arg": "^10.0.0", + "npm-packlist": "^7.0.0", + "npm-pick-manifest": "^8.0.0", + "npm-registry-fetch": "^14.0.0", + "proc-log": "^3.0.0", "promise-retry": "^2.0.1", - "read-package-json": "^5.0.0", - "read-package-json-fast": "^2.0.3", - "rimraf": "^3.0.2", - "ssri": "^9.0.0", + "read-package-json": "^6.0.0", + "read-package-json-fast": "^3.0.0", + "sigstore": "^1.0.0", + "ssri": "^10.0.0", "tar": "^6.1.11" }, "bin": { "pacote": "lib/bin.js" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/pako": { @@ -10449,13 +11348,41 @@ "dev": true }, "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==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/parse5-html-rewriting-stream/-/parse5-html-rewriting-stream-7.0.0.tgz", + "integrity": "sha512-mazCyGWkmCRWDI15Zp+UiCqMp/0dgEmkZRvhlsqqKYr4SsVm/TvnSpD9fCvqCA2zoWJcfRym846ejWBBHRiYEg==", "dev": true, "dependencies": { - "parse5": "^6.0.1", - "parse5-sax-parser": "^6.0.1" + "entities": "^4.3.0", + "parse5": "^7.0.0", + "parse5-sax-parser": "^7.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/parse5-html-rewriting-stream/node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "dev": true, + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/parse5-html-rewriting-stream/node_modules/parse5": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", + "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", + "dev": true, + "dependencies": { + "entities": "^4.4.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" } }, "node_modules/parse5-htmlparser2-tree-adapter": { @@ -10468,12 +11395,39 @@ } }, "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==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/parse5-sax-parser/-/parse5-sax-parser-7.0.0.tgz", + "integrity": "sha512-5A+v2SNsq8T6/mG3ahcz8ZtQ0OUFTatxPbeidoMB7tkJSGDY3tdfl4MHovtLQHkEn5CGxijNWRQHhRQ6IRpXKg==", "dev": true, "dependencies": { - "parse5": "^6.0.1" + "parse5": "^7.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/parse5-sax-parser/node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "dev": true, + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/parse5-sax-parser/node_modules/parse5": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", + "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", + "dev": true, + "dependencies": { + "entities": "^4.4.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" } }, "node_modules/parseurl": { @@ -10516,6 +11470,40 @@ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", "dev": true }, + "node_modules/path-scurry": { + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.9.2.tgz", + "integrity": "sha512-qSDLy2aGFPm8i4rsbHd4MNyTcrzHFsLQykrtbuGRknZZCBBVXSv2tSCDN2Cg6Rt/GFRw8GoW9y9Ecw5rIPG1sg==", + "dev": true, + "dependencies": { + "lru-cache": "^9.1.1", + "minipass": "^5.0.0 || ^6.0.2" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/path-scurry/node_modules/lru-cache": { + "version": "9.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-9.1.1.tgz", + "integrity": "sha512-65/Jky17UwSb0BuB9V+MyDpsOtXKmYwzhyl+cOa9XUiI4uV2Ouy/2voFP3+al0BjZbJgMBD8FojMpAf+Z+qn4A==", + "dev": true, + "engines": { + "node": "14 || >=16.14" + } + }, + "node_modules/path-scurry/node_modules/minipass": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-6.0.2.tgz", + "integrity": "sha512-MzWSV5nYVT7mVyWCwn2o7JH13w2TBRmmSqSRCKzTw+lmft9X4z+3wjvs06Tzijo5z4W/kahUCDpRXTF+ZrmF/w==", + "dev": true, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, "node_modules/path-to-regexp": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", @@ -10549,12 +11537,13 @@ } }, "node_modules/pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", "dev": true, + "optional": true, "engines": { - "node": ">=0.10.0" + "node": ">=6" } }, "node_modules/piscina": { @@ -10592,9 +11581,9 @@ } }, "node_modules/postcss": { - "version": "8.4.14", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.14.tgz", - "integrity": "sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==", + "version": "8.4.21", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.21.tgz", + "integrity": "sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==", "dev": true, "funding": [ { @@ -10615,337 +11604,15 @@ "node": "^10 || ^12 || >=14" } }, - "node_modules/postcss-attribute-case-insensitive": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-5.0.2.tgz", - "integrity": "sha512-XIidXV8fDr0kKt28vqki84fRK8VW8eTuIa4PChv2MqKuT6C9UjmSKzen6KaWhWEoYvwxFCa7n/tC1SZ3tyq4SQ==", - "dev": true, - "dependencies": { - "postcss-selector-parser": "^6.0.10" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" - } - }, - "node_modules/postcss-clamp": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/postcss-clamp/-/postcss-clamp-4.1.0.tgz", - "integrity": "sha512-ry4b1Llo/9zz+PKC+030KUnPITTJAHeOwjfAyyB60eT0AorGLdzp52s31OsPRHRf8NchkgFoG2y6fCfn1IV1Ow==", - "dev": true, - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": ">=7.6.0" - }, - "peerDependencies": { - "postcss": "^8.4.6" - } - }, - "node_modules/postcss-color-functional-notation": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-4.2.4.tgz", - "integrity": "sha512-2yrTAUZUab9s6CpxkxC4rVgFEVaR6/2Pipvi6qcgvnYiVqZcbDHEoBDhrXzyb7Efh2CCfHQNtcqWcIruDTIUeg==", - "dev": true, - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" - } - }, - "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": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "node_modules/postcss-color-rebeccapurple": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-7.1.1.tgz", - "integrity": "sha512-pGxkuVEInwLHgkNxUc4sdg4g3py7zUeCQ9sMfwyHAT+Ezk8a4OaaVZ8lIY5+oNqA/BXXgLyXv0+5wHP68R79hg==", - "dev": true, - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" - } - }, - "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": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.3" - } - }, - "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-value-parser": "^4.2.0" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "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": { - "postcss-selector-parser": "^6.0.4" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.3" - } - }, - "node_modules/postcss-dir-pseudo-class": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-6.0.5.tgz", - "integrity": "sha512-eqn4m70P031PF7ZQIvSgy9RSJ5uI2171O/OO/zcRNYpJbvaeKFUlar1aJ7rmgiQtbm0FSPsRewjpdS0Oew7MPA==", - "dev": true, - "dependencies": { - "postcss-selector-parser": "^6.0.10" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" - } - }, - "node_modules/postcss-double-position-gradients": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-3.1.2.tgz", - "integrity": "sha512-GX+FuE/uBR6eskOK+4vkXgT6pDkexLokPaz/AbJna9s5Kzp/yl488pKPjhy0obB475ovfT1Wv8ho7U/cHNaRgQ==", - "dev": true, - "dependencies": { - "@csstools/postcss-progressive-custom-properties": "^1.1.0", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" - } - }, - "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-value-parser": "^4.2.0" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "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": { - "postcss-selector-parser": "^6.0.9" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "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": "^12 || ^14 || >=16" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "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, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/postcss-gap-properties": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-3.0.5.tgz", - "integrity": "sha512-IuE6gKSdoUNcvkGIqdtjtcMtZIFyXZhmFd5RUlg97iVEvp1BZKV5ngsAjCjrVy+14uhGBQl9tzmi1Qwq4kqVOg==", - "dev": true, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" - } - }, - "node_modules/postcss-image-set-function": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/postcss-image-set-function/-/postcss-image-set-function-4.0.7.tgz", - "integrity": "sha512-9T2r9rsvYzm5ndsBE8WgtrMlIT7VbtTfE7b3BQnudUqnBcBo7L758oc+o+pdj/dUV0l5wjwSdjeOH2DZtfv8qw==", - "dev": true, - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" - } - }, - "node_modules/postcss-import": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-14.1.0.tgz", - "integrity": "sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==", - "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" - } - }, - "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, - "peerDependencies": { - "postcss": "^8.0.0" - } - }, - "node_modules/postcss-lab-function": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-4.2.1.tgz", - "integrity": "sha512-xuXll4isR03CrQsmxyz92LJB2xX9n+pZJ5jE9JgcnmsCammLyKdlzrBin+25dy6wIjfhJpKBAN80gsTlCgRk2w==", - "dev": true, - "dependencies": { - "@csstools/postcss-progressive-custom-properties": "^1.1.0", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" - } - }, "node_modules/postcss-loader": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-7.0.1.tgz", - "integrity": "sha512-VRviFEyYlLjctSM93gAZtcJJ/iSkPZ79zWbN/1fSH+NisBByEiVLqpdVDrPLVSi8DX0oJo12kL/GppTBdKVXiQ==", + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-7.0.2.tgz", + "integrity": "sha512-fUJzV/QH7NXUAqV8dWJ9Lg4aTkDCezpTS5HgJ2DvqznexTbSTxgi/dTECvTZ15BwKTtk8G/bqI/QTu2HPd3ZCg==", "dev": true, "dependencies": { "cosmiconfig": "^7.0.0", "klona": "^2.0.5", - "semver": "^7.3.7" + "semver": "^7.3.8" }, "engines": { "node": ">= 14.15.0" @@ -10959,30 +11626,6 @@ "webpack": "^5.0.0" } }, - "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": "^12 || ^14 || >=16" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "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, - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "postcss": "^8.1.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", @@ -10996,9 +11639,9 @@ } }, "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==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.3.tgz", + "integrity": "sha512-2/u2zraspoACtrbFRnTijMiQtb4GW4BvatjaG/bCjYQo8kLTdevCUlwuBHx2sCnSyrI3x3qj4ZK1j5LQBgzmwA==", "dev": true, "dependencies": { "icss-utils": "^5.0.0", @@ -11042,208 +11685,10 @@ "postcss": "^8.1.0" } }, - "node_modules/postcss-nesting": { - "version": "10.1.10", - "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-10.1.10.tgz", - "integrity": "sha512-lqd7LXCq0gWc0wKXtoKDru5wEUNjm3OryLVNRZ8OnW8km6fSNUuFrjEhU3nklxXE2jvd4qrox566acgh+xQt8w==", - "dev": true, - "dependencies": { - "@csstools/selector-specificity": "^2.0.0", - "postcss-selector-parser": "^6.0.10" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" - } - }, - "node_modules/postcss-opacity-percentage": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/postcss-opacity-percentage/-/postcss-opacity-percentage-1.1.2.tgz", - "integrity": "sha512-lyUfF7miG+yewZ8EAk9XUBIlrHyUE6fijnesuz+Mj5zrIHIEw6KcIZSOk/elVMqzLvREmXB83Zi/5QpNRYd47w==", - "dev": true, - "funding": [ - { - "type": "kofi", - "url": "https://ko-fi.com/mrcgrtz" - }, - { - "type": "liberapay", - "url": "https://liberapay.com/mrcgrtz" - } - ], - "engines": { - "node": "^12 || ^14 || >=16" - } - }, - "node_modules/postcss-overflow-shorthand": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/postcss-overflow-shorthand/-/postcss-overflow-shorthand-3.0.4.tgz", - "integrity": "sha512-otYl/ylHK8Y9bcBnPLo3foYFLL6a6Ak+3EQBPOTR7luMYCOsiVTUk1iLvNf6tVPNGXcoL9Hoz37kpfriRIFb4A==", - "dev": true, - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" - } - }, - "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, - "peerDependencies": { - "postcss": "^8" - } - }, - "node_modules/postcss-place": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/postcss-place/-/postcss-place-7.0.5.tgz", - "integrity": "sha512-wR8igaZROA6Z4pv0d+bvVrvGY4GVHihBCBQieXFY3kuSuMyOmEnnfFzHl/tQuqHZkfkIVBEbDvYcFfHmpSet9g==", - "dev": true, - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" - } - }, - "node_modules/postcss-preset-env": { - "version": "7.7.2", - "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-7.7.2.tgz", - "integrity": "sha512-1q0ih7EDsZmCb/FMDRvosna7Gsbdx8CvYO5hYT120hcp2ZAuOHpSzibujZ4JpIUcAC02PG6b+eftxqjTFh5BNA==", - "dev": true, - "dependencies": { - "@csstools/postcss-cascade-layers": "^1.0.4", - "@csstools/postcss-color-function": "^1.1.0", - "@csstools/postcss-font-format-keywords": "^1.0.0", - "@csstools/postcss-hwb-function": "^1.0.1", - "@csstools/postcss-ic-unit": "^1.0.0", - "@csstools/postcss-is-pseudo-class": "^2.0.6", - "@csstools/postcss-normalize-display-values": "^1.0.0", - "@csstools/postcss-oklab-function": "^1.1.0", - "@csstools/postcss-progressive-custom-properties": "^1.3.0", - "@csstools/postcss-stepped-value-functions": "^1.0.0", - "@csstools/postcss-trigonometric-functions": "^1.0.1", - "@csstools/postcss-unset-value": "^1.0.1", - "autoprefixer": "^10.4.7", - "browserslist": "^4.21.0", - "css-blank-pseudo": "^3.0.3", - "css-has-pseudo": "^3.0.4", - "css-prefers-color-scheme": "^6.0.3", - "cssdb": "^6.6.3", - "postcss-attribute-case-insensitive": "^5.0.1", - "postcss-clamp": "^4.1.0", - "postcss-color-functional-notation": "^4.2.3", - "postcss-color-hex-alpha": "^8.0.4", - "postcss-color-rebeccapurple": "^7.1.0", - "postcss-custom-media": "^8.0.2", - "postcss-custom-properties": "^12.1.8", - "postcss-custom-selectors": "^6.0.3", - "postcss-dir-pseudo-class": "^6.0.4", - "postcss-double-position-gradients": "^3.1.1", - "postcss-env-function": "^4.0.6", - "postcss-focus-visible": "^6.0.4", - "postcss-focus-within": "^5.0.4", - "postcss-font-variant": "^5.0.0", - "postcss-gap-properties": "^3.0.3", - "postcss-image-set-function": "^4.0.6", - "postcss-initial": "^4.0.1", - "postcss-lab-function": "^4.2.0", - "postcss-logical": "^5.0.4", - "postcss-media-minmax": "^5.0.0", - "postcss-nesting": "^10.1.9", - "postcss-opacity-percentage": "^1.1.2", - "postcss-overflow-shorthand": "^3.0.3", - "postcss-page-break": "^3.0.4", - "postcss-place": "^7.0.4", - "postcss-pseudo-class-any-link": "^7.1.5", - "postcss-replace-overflow-wrap": "^4.0.0", - "postcss-selector-not": "^6.0.0", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" - } - }, - "node_modules/postcss-pseudo-class-any-link": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-7.1.6.tgz", - "integrity": "sha512-9sCtZkO6f/5ML9WcTLcIyV1yz9D1rf0tWc+ulKcvV30s0iZKS/ONyETvoWsr6vnrmW+X+KmuK3gV/w5EWnT37w==", - "dev": true, - "dependencies": { - "postcss-selector-parser": "^6.0.10" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" - } - }, - "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, - "peerDependencies": { - "postcss": "^8.0.3" - } - }, - "node_modules/postcss-selector-not": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/postcss-selector-not/-/postcss-selector-not-6.0.1.tgz", - "integrity": "sha512-1i9affjAe9xu/y9uqWH+tD4r6/hDaXJruk8xn2x1vzxC2U3J3LKO3zJW4CyxlNhA56pADJ/djpEwpH1RClI2rQ==", - "dev": true, - "dependencies": { - "postcss-selector-parser": "^6.0.10" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" - } - }, "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==", + "version": "6.0.13", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz", + "integrity": "sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==", "dev": true, "dependencies": { "cssesc": "^3.0.0", @@ -11293,12 +11738,12 @@ } }, "node_modules/proc-log": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-2.0.1.tgz", - "integrity": "sha512-Kcmo2FhfDTXdcbfDH76N7uBYHINxc/8GW7UAVuVP9I+Va3uHSerrnKV6dLooga/gh7GlgzuCCr/eoldnL1muGw==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-3.0.0.tgz", + "integrity": "sha512-++Vn7NS4Xf9NacaU9Xq3URUuqZETPsf8L4j5/ckhaRYsfPeRyzGw+iDjFhV/Jr3uNmTvvddEJFWh5R1gRgUH8A==", "dev": true, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/process-nextick-args": { @@ -11505,9 +11950,9 @@ } }, "node_modules/qs": { - "version": "6.10.3", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz", - "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==", + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", "dev": true, "dependencies": { "side-channel": "^1.0.4" @@ -11571,41 +12016,96 @@ "node": ">= 0.8" } }, - "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": { - "pify": "^2.3.0" - } - }, "node_modules/read-package-json": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-5.0.1.tgz", - "integrity": "sha512-MALHuNgYWdGW3gKzuNMuYtcSSZbGQm94fAp16xt8VsYTLBjUSc55bLMKe6gzpWue0Tfi6CBgwCSdDAqutGDhMg==", + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-6.0.3.tgz", + "integrity": "sha512-4QbpReW4kxFgeBQ0vPAqh2y8sXEB3D4t3jsXbJKIhBiF80KT6XRo45reqwtftju5J6ru1ax06A2Gb/wM1qCOEQ==", "dev": true, "dependencies": { - "glob": "^8.0.1", - "json-parse-even-better-errors": "^2.3.1", - "normalize-package-data": "^4.0.0", - "npm-normalize-package-bin": "^1.0.1" + "glob": "^10.2.2", + "json-parse-even-better-errors": "^3.0.0", + "normalize-package-data": "^5.0.0", + "npm-normalize-package-bin": "^3.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "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==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-3.0.2.tgz", + "integrity": "sha512-0J+Msgym3vrLOUB3hzQCuZHII0xkNGCtz/HJH9xZshwv9DbDwkw1KaE3gx/e2J5rpEY5rtOy6cyhKOPrkP7FZw==", "dev": true, "dependencies": { - "json-parse-even-better-errors": "^2.3.0", - "npm-normalize-package-bin": "^1.0.1" + "json-parse-even-better-errors": "^3.0.0", + "npm-normalize-package-bin": "^3.0.0" }, "engines": { - "node": ">=10" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/read-package-json-fast/node_modules/json-parse-even-better-errors": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.0.tgz", + "integrity": "sha512-iZbGHafX/59r39gPwVPRBGw0QQKnA7tte5pSMrhWOW7swGsVvVTjmfyAV9pNqk8YGT7tRCdxRu8uzcgZwoDooA==", + "dev": true, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/read-package-json/node_modules/glob": { + "version": "10.2.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.2.6.tgz", + "integrity": "sha512-U/rnDpXJGF414QQQZv5uVsabTVxMSwzS5CH0p3DRCIV6ownl4f7PzGnkGmvlum2wB+9RlJWJZ6ACU1INnBqiPA==", + "dev": true, + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^2.0.3", + "minimatch": "^9.0.1", + "minipass": "^5.0.0 || ^6.0.2", + "path-scurry": "^1.7.0" + }, + "bin": { + "glob": "dist/cjs/src/bin.js" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/read-package-json/node_modules/json-parse-even-better-errors": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.0.tgz", + "integrity": "sha512-iZbGHafX/59r39gPwVPRBGw0QQKnA7tte5pSMrhWOW7swGsVvVTjmfyAV9pNqk8YGT7tRCdxRu8uzcgZwoDooA==", + "dev": true, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/read-package-json/node_modules/minimatch": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.1.tgz", + "integrity": "sha512-0jWhJpD/MdhPXwPuiRkCbfYfSKp2qnn2eOc279qI7f+osl/l+prKSrvhg157zSYvx/1nmgn2NqdT6k2Z7zSH9w==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/read-package-json/node_modules/minipass": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-6.0.2.tgz", + "integrity": "sha512-MzWSV5nYVT7mVyWCwn2o7JH13w2TBRmmSqSRCKzTw+lmft9X4z+3wjvs06Tzijo5z4W/kahUCDpRXTF+ZrmF/w==", + "dev": true, + "engines": { + "node": ">=16 || 14 >=14.17" } }, "node_modules/readable-stream": { @@ -11646,9 +12146,9 @@ "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==", + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz", + "integrity": "sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==", "dev": true, "dependencies": { "regenerate": "^1.4.2" @@ -11658,15 +12158,15 @@ } }, "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==", + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==", "dev": true }, "node_modules/regenerator-transform": { - "version": "0.15.0", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.0.tgz", - "integrity": "sha512-LsrGtPmbYg19bcPHwdtmXwbW+TqNvtY4riE3P83foeHRroMbH6/2ddFBfab3t7kbzc7v7p4wbkIecHImqt0QNg==", + "version": "0.15.1", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.1.tgz", + "integrity": "sha512-knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg==", "dev": true, "dependencies": { "@babel/runtime": "^7.8.4" @@ -11679,32 +12179,26 @@ "dev": true }, "node_modules/regexpu-core": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.1.0.tgz", - "integrity": "sha512-bb6hk+xWd2PEOkj5It46A16zFMs2mv86Iwpdu94la4S3sJ7C973h2dHpYKwIBGaWSO7cIRJ+UX0IeMaWcO4qwA==", + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz", + "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==", "dev": true, "dependencies": { + "@babel/regjsgen": "^0.8.0", "regenerate": "^1.4.2", - "regenerate-unicode-properties": "^10.0.1", - "regjsgen": "^0.6.0", - "regjsparser": "^0.8.2", + "regenerate-unicode-properties": "^10.1.0", + "regjsparser": "^0.9.1", "unicode-match-property-ecmascript": "^2.0.0", - "unicode-match-property-value-ecmascript": "^2.0.0" + "unicode-match-property-value-ecmascript": "^2.1.0" }, "engines": { "node": ">=4" } }, - "node_modules/regjsgen": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.6.0.tgz", - "integrity": "sha512-ozE883Uigtqj3bx7OhL1KNbCzGyW2NQZPl6Hs09WTvCuZD5sTI4JY58bkbQWa/Y9hxIsvJ3M8Nbf7j54IqeZbA==", - "dev": true - }, "node_modules/regjsparser": { - "version": "0.8.4", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.8.4.tgz", - "integrity": "sha512-J3LABycON/VNEu3abOviqGHuB/LOtOQj8SKmfP9anY5GfAVw/SPjwzSjxGjbZXIxbGfqTHtJw58C2Li/WkStmA==", + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", + "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", "dev": true, "dependencies": { "jsesc": "~0.5.0" @@ -11750,12 +12244,12 @@ "dev": true }, "node_modules/resolve": { - "version": "1.22.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz", - "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==", + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", + "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", "dev": true, "dependencies": { - "is-core-module": "^2.8.1", + "is-core-module": "^2.9.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, @@ -11978,10 +12472,15 @@ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, + "node_modules/safevalues": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/safevalues/-/safevalues-0.3.4.tgz", + "integrity": "sha512-LRneZZRXNgjzwG4bDQdOTSbze3fHm1EAKN/8bePxnlEZiBmkYEDggaHbuvHI9/hoqHbGfsEA7tWS9GhYHZBBsw==" + }, "node_modules/sass": { - "version": "1.53.0", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.53.0.tgz", - "integrity": "sha512-zb/oMirbKhUgRQ0/GFz8TSAwRq2IlR29vOUJZOx0l8sV+CkHUfHa4u5nqrG+1VceZp7Jfj59SVW9ogdhTvJDcQ==", + "version": "1.58.1", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.58.1.tgz", + "integrity": "sha512-bnINi6nPXbP1XNRaranMFEBZWUfdW/AF16Ql5+ypRxfTvCRTTKrLsMIakyDcayUt2t/RZotmL4kgJwNH5xO+bg==", "dev": true, "dependencies": { "chokidar": ">=3.0.0 <4.0.0", @@ -11996,9 +12495,9 @@ } }, "node_modules/sass-loader": { - "version": "13.0.2", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-13.0.2.tgz", - "integrity": "sha512-BbiqbVmbfJaWVeOOAu2o7DhYWtcNmTfvroVgFXa6k2hHheMxNAeDHLNoDy/Q5aoaVlz0LH+MbMktKwm9vN/j8Q==", + "version": "13.2.0", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-13.2.0.tgz", + "integrity": "sha512-JWEp48djQA4nbZxmgC02/Wh0eroSUutulROUusYJO9P9zltRbNN80JCBHqRGzjd4cmZCa/r88xgfkjGD0TXsHg==", "dev": true, "dependencies": { "klona": "^2.0.4", @@ -12013,7 +12512,7 @@ }, "peerDependencies": { "fibers": ">= 3.1.0", - "node-sass": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0", + "node-sass": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0", "sass": "^1.3.0", "sass-embedded": "*", "webpack": "^5.0.0" @@ -12037,57 +12536,28 @@ "version": "1.2.4", "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", - "dev": true + "dev": true, + "optional": 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==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.1.tgz", + "integrity": "sha512-lELhBAAly9NowEsX0yZBlw9ahZG+sK/1RJ21EpzdYHKEs13Vku3LJ+MIPhh4sMs0oCCeufZQEQbMekiA4vuVIQ==", "dev": true, "dependencies": { - "@types/json-schema": "^7.0.5", - "ajv": "^6.12.4", - "ajv-keywords": "^3.5.2" + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" }, "engines": { - "node": ">= 8.9.0" + "node": ">= 12.13.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/webpack" } }, - "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, - "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/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, - "peerDependencies": { - "ajv": "^6.9.1" - } - }, - "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", @@ -12119,9 +12589,9 @@ } }, "node_modules/selfsigned": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.0.1.tgz", - "integrity": "sha512-LmME957M1zOsUhG+67rAjKfiWFox3SBxE/yymatMZsAx+oMrJ0YQ8AToOnyCm7xbeg2ep37IHLxdu0o2MavQOQ==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.1.1.tgz", + "integrity": "sha512-GSL3aowiF7wa/WtSFwnUrludWFoNhftq8bUkH9pkzjpN2XSPOAYEgg6e0sS9s0rZwgJzJiQRPU18A6clnoW5wQ==", "dev": true, "dependencies": { "node-forge": "^1" @@ -12131,9 +12601,9 @@ } }, "node_modules/semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "version": "7.5.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.1.tgz", + "integrity": "sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==", "dependencies": { "lru-cache": "^6.0.0" }, @@ -12381,6 +12851,84 @@ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" }, + "node_modules/sigstore": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/sigstore/-/sigstore-1.5.2.tgz", + "integrity": "sha512-X95v6xAAooVpn7PaB94TDmFeSO5SBfCtB1R23fvzr36WTfjtkiiyOeei979nbTjc8nzh6FSLeltQZuODsm1EjQ==", + "dev": true, + "dependencies": { + "@sigstore/protobuf-specs": "^0.1.0", + "make-fetch-happen": "^11.0.1", + "tuf-js": "^1.1.3" + }, + "bin": { + "sigstore": "bin/sigstore.js" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/sigstore/node_modules/lru-cache": { + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", + "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/sigstore/node_modules/make-fetch-happen": { + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-11.1.1.tgz", + "integrity": "sha512-rLWS7GCSTcEujjVBs2YqG7Y4643u8ucvCJeSRqiLYhesrDuzeuFIk37xREzAsfQaqzl8b9rNCE4m6J8tvX4Q8w==", + "dev": true, + "dependencies": { + "agentkeepalive": "^4.2.1", + "cacache": "^17.0.0", + "http-cache-semantics": "^4.1.1", + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.0", + "is-lambda": "^1.0.1", + "lru-cache": "^7.7.1", + "minipass": "^5.0.0", + "minipass-fetch": "^3.0.0", + "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": "^10.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/sigstore/node_modules/minipass": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/sigstore/node_modules/minipass-fetch": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-3.0.3.tgz", + "integrity": "sha512-n5ITsTkDqYkYJZjcRWzZt9qnZKCT7nKCosJhHoj7S7zD+BP4jVbWs+odsniw5TA3E0sLomhTKOKjF86wf11PuQ==", + "dev": true, + "dependencies": { + "minipass": "^5.0.0", + "minipass-sized": "^1.0.3", + "minizlib": "^2.1.2" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + }, + "optionalDependencies": { + "encoding": "^0.1.13" + } + }, "node_modules/simple-swizzle": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", @@ -12465,9 +13013,9 @@ } }, "node_modules/socks": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/socks/-/socks-2.7.0.tgz", - "integrity": "sha512-scnOe9y4VuiNUULJN72GrM26BNOjVsfPXI+j+98PkyEfsIXroa5ofyjT+FzGvn/xHs73U2JtoBYAVx9Hl4quSA==", + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.7.1.tgz", + "integrity": "sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==", "dev": true, "dependencies": { "ip": "^2.0.0", @@ -12479,9 +13027,9 @@ } }, "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==", + "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": { "agent-base": "^6.0.2", @@ -12511,9 +13059,9 @@ } }, "node_modules/source-map-loader": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-4.0.0.tgz", - "integrity": "sha512-i3KVgM3+QPAHNbGavK+VBq03YoJl24m9JWNbLgsjTj8aJzXG9M61bantBTNBt7CNwY2FYf+RJRYJ3pzalKjIrw==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-4.0.1.tgz", + "integrity": "sha512-oqXpzDIByKONVY8g1NUPOTQhe0UTU5bWUl32GSkqK2LjJj0HmwTMVKxcUip0RgAYhY1mqgOxjbQM48a0mmeNfA==", "dev": true, "dependencies": { "abab": "^2.0.6", @@ -12543,17 +13091,6 @@ "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==", - "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", @@ -12577,9 +13114,9 @@ "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==" }, "node_modules/spdx-correct": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", - "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", + "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", "dev": true, "dependencies": { "spdx-expression-parse": "^3.0.0", @@ -12603,9 +13140,9 @@ } }, "node_modules/spdx-license-ids": { - "version": "3.0.11", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz", - "integrity": "sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==", + "version": "3.0.13", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.13.tgz", + "integrity": "sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w==", "dev": true }, "node_modules/spdy": { @@ -12645,15 +13182,24 @@ "dev": true }, "node_modules/ssri": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-9.0.1.tgz", - "integrity": "sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q==", + "version": "10.0.4", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-10.0.4.tgz", + "integrity": "sha512-12+IR2CB2C28MMAw0Ncqwj5QbTcs0nGIhgJzYWzDkb21vWmfNI83KS4f3Ci6GI98WreIfG7o9UXp3C0qbpA8nQ==", "dev": true, "dependencies": { - "minipass": "^3.1.1" + "minipass": "^5.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/ssri/node_modules/minipass": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", + "dev": true, + "engines": { + "node": ">=8" } }, "node_modules/stack-trace": { @@ -12727,6 +13273,21 @@ "node": ">=8" } }, + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/strip-ansi": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", @@ -12738,6 +13299,19 @@ "node": ">=8" } }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/strip-final-newline": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", @@ -12747,89 +13321,6 @@ "node": ">=6" } }, - "node_modules/stylus": { - "version": "0.58.1", - "resolved": "https://registry.npmjs.org/stylus/-/stylus-0.58.1.tgz", - "integrity": "sha512-AYiCHm5ogczdCPMfe9aeQa4NklB2gcf4D/IhzYPddJjTgPc+k4D/EVE0yfQbZD43MHP3lPy+8NZ9fcFxkrgs/w==", - "dev": true, - "dependencies": { - "css": "^3.0.0", - "debug": "^4.3.2", - "glob": "^7.1.6", - "sax": "~1.2.4", - "source-map": "^0.7.3" - }, - "bin": { - "stylus": "bin/stylus" - }, - "engines": { - "node": "*" - } - }, - "node_modules/stylus-loader": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/stylus-loader/-/stylus-loader-7.0.0.tgz", - "integrity": "sha512-WTbtLrNfOfLgzTaR9Lj/BPhQroKk/LC1hfTXSUbrxmxgfUo3Y3LpmKRVA2R1XbjvTAvOfaian9vOyfv1z99E+A==", - "dev": true, - "dependencies": { - "fast-glob": "^3.2.11", - "klona": "^2.0.5", - "normalize-path": "^3.0.0" - }, - "engines": { - "node": ">= 14.15.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "stylus": ">=0.52.4", - "webpack": "^5.0.0" - } - }, - "node_modules/stylus/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/stylus/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/stylus/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, "node_modules/supports-color": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", @@ -12872,26 +13363,59 @@ } }, "node_modules/tar": { - "version": "6.1.11", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz", - "integrity": "sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==", + "version": "6.1.15", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.15.tgz", + "integrity": "sha512-/zKt9UyngnxIT/EAGYuxaMYgOIJiP81ab9ZfkILq4oNLPFX50qyYmu7jRj9qeXoxmJHjGlbH0+cm2uy1WCs10A==", "dev": true, "dependencies": { "chownr": "^2.0.0", "fs-minipass": "^2.0.0", - "minipass": "^3.0.0", + "minipass": "^5.0.0", "minizlib": "^2.1.1", "mkdirp": "^1.0.3", "yallist": "^4.0.0" }, "engines": { - "node": ">= 10" + "node": ">=10" + } + }, + "node_modules/tar/node_modules/fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "dev": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/tar/node_modules/fs-minipass/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/tar/node_modules/minipass": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", + "dev": true, + "engines": { + "node": ">=8" } }, "node_modules/terser": { - "version": "5.14.2", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.14.2.tgz", - "integrity": "sha512-oL0rGeM/WFQCUd0y2QrWxYnq7tfSuKBiqTjRPWrRgB46WD/kiwHwF8T23z78H6Q6kGCuuHcPB+KULHRdxvVGQA==", + "version": "5.16.3", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.16.3.tgz", + "integrity": "sha512-v8wWLaS/xt3nE9dgKEWhNUFP6q4kngO5B8eYFUuebsu7Dw/UNAnpUod6UHo04jSSkv8TzKHjZDSd7EXdDQAl8Q==", "dependencies": { "@jridgewell/source-map": "^0.3.2", "acorn": "^8.5.0", @@ -13122,9 +13646,84 @@ "integrity": "sha512-XrHUvV5HpdLmIj4uVMxHggLbFSZYIn7HEWsqePZcI50pco+MPqJ50wMGY794X7AOOhxOBAjbkqfAbEe/QMp2Lw==" }, "node_modules/tslib": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", - "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + }, + "node_modules/tuf-js": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/tuf-js/-/tuf-js-1.1.6.tgz", + "integrity": "sha512-CXwFVIsXGbVY4vFiWF7TJKWmlKJAT8TWkH4RmiohJRcDJInix++F0dznDmoVbtJNzZ8yLprKUG4YrDIhv3nBMg==", + "dev": true, + "dependencies": { + "@tufjs/models": "1.0.4", + "debug": "^4.3.4", + "make-fetch-happen": "^11.1.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/tuf-js/node_modules/lru-cache": { + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", + "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/tuf-js/node_modules/make-fetch-happen": { + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-11.1.1.tgz", + "integrity": "sha512-rLWS7GCSTcEujjVBs2YqG7Y4643u8ucvCJeSRqiLYhesrDuzeuFIk37xREzAsfQaqzl8b9rNCE4m6J8tvX4Q8w==", + "dev": true, + "dependencies": { + "agentkeepalive": "^4.2.1", + "cacache": "^17.0.0", + "http-cache-semantics": "^4.1.1", + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.0", + "is-lambda": "^1.0.1", + "lru-cache": "^7.7.1", + "minipass": "^5.0.0", + "minipass-fetch": "^3.0.0", + "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": "^10.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/tuf-js/node_modules/minipass": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/tuf-js/node_modules/minipass-fetch": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-3.0.3.tgz", + "integrity": "sha512-n5ITsTkDqYkYJZjcRWzZt9qnZKCT7nKCosJhHoj7S7zD+BP4jVbWs+odsniw5TA3E0sLomhTKOKjF86wf11PuQ==", + "dev": true, + "dependencies": { + "minipass": "^5.0.0", + "minipass-sized": "^1.0.3", + "minizlib": "^2.1.2" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + }, + "optionalDependencies": { + "encoding": "^0.1.13" + } }, "node_modules/type-fest": { "version": "0.21.3", @@ -13157,9 +13756,9 @@ "dev": true }, "node_modules/typescript": { - "version": "4.7.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.7.4.tgz", - "integrity": "sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==", + "version": "4.8.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.8.4.tgz", + "integrity": "sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ==", "dev": true, "bin": { "tsc": "bin/tsc", @@ -13211,39 +13810,45 @@ } }, "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==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", + "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==", "dev": true, "engines": { "node": ">=4" } }, "node_modules/unicode-property-aliases-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz", - "integrity": "sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", + "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", "dev": true, "engines": { "node": ">=4" } }, "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==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-3.0.0.tgz", + "integrity": "sha512-afXhuC55wkAmZ0P18QsVE6kp8JaxrEokN2HGIoIVv2ijHQd419H0+6EigAFcIzXeMIkcIkNBpB3L/DXB3cTS/g==", "dev": true, "dependencies": { - "unique-slug": "^2.0.0" + "unique-slug": "^4.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.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==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-4.0.0.tgz", + "integrity": "sha512-WrcA6AyEfqDX5bWige/4NQfPZMtASNVxdmWR76WESYQVAACSgWcR6e9i0mofqqBxYFtL4oAxPIptY73/0YE1DQ==", "dev": true, "dependencies": { "imurmurhash": "^0.1.4" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/universalify": { @@ -13264,9 +13869,9 @@ } }, "node_modules/update-browserslist-db": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.5.tgz", - "integrity": "sha512-dteFFpCyvuDdr9S/ff1ISkKt/9YZxKjI9WlRR99c180GaztJtRa/fn18FdxGVKVsnPY7/a/FDN68mcvUmP4U7Q==", + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", + "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", "funding": [ { "type": "opencollective", @@ -13275,6 +13880,10 @@ { "type": "tidelift", "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" } ], "dependencies": { @@ -13282,7 +13891,7 @@ "picocolors": "^1.0.0" }, "bin": { - "browserslist-lint": "cli.js" + "update-browserslist-db": "cli.js" }, "peerDependencies": { "browserslist": ">= 4.21.0" @@ -13329,15 +13938,15 @@ } }, "node_modules/validate-npm-package-name": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-4.0.0.tgz", - "integrity": "sha512-mzR0L8ZDktZjpX4OB46KT+56MAhl4EIazWP/+G/HPGuvfdaqg4YsCdtOm6U9+LOFyYDoh4dpnpxZRB9MQQns5Q==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-5.0.0.tgz", + "integrity": "sha512-YuKoXDAhBYxY7SfOKxHBDoSyENFeW5VvIIQp2TGQuit8gpK6MnWaQelBKxso72DoxTZfZdcP3W90LqpSkgPzLQ==", "dev": true, "dependencies": { "builtins": "^5.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/vary": { @@ -13393,20 +14002,20 @@ "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" }, "node_modules/webpack": { - "version": "5.73.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.73.0.tgz", - "integrity": "sha512-svjudQRPPa0YiOYa2lM/Gacw0r6PvxptHj4FuEKQ2kX05ZLkjbVc5MnPs6its5j7IZljnIqSVo/OsY2X0IpHGA==", + "version": "5.76.1", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.76.1.tgz", + "integrity": "sha512-4+YIK4Abzv8172/SGqObnUjaIHjLEuUasz9EwQj/9xmPPkYJy2Mh03Q/lJfSD3YLzbxy5FeTq5Uw0323Oh6SJQ==", "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": "^8.7.1", "acorn-import-assertions": "^1.7.6", "browserslist": "^4.14.5", "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.9.3", + "enhanced-resolve": "^5.10.0", "es-module-lexer": "^0.9.0", "eslint-scope": "5.1.1", "events": "^3.2.0", @@ -13419,7 +14028,7 @@ "schema-utils": "^3.1.0", "tapable": "^2.1.1", "terser-webpack-plugin": "^5.1.3", - "watchpack": "^2.3.1", + "watchpack": "^2.4.0", "webpack-sources": "^3.2.3" }, "bin": { @@ -13439,51 +14048,32 @@ } }, "node_modules/webpack-dev-middleware": { - "version": "5.3.3", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz", - "integrity": "sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-6.0.1.tgz", + "integrity": "sha512-PZPZ6jFinmqVPJZbisfggDiC+2EeGZ1ZByyMP5sOFJcPPWSexalISz+cvm+j+oYPT7FIJyxT76esjnw9DhE5sw==", "dev": true, "dependencies": { "colorette": "^2.0.10", - "memfs": "^3.4.3", + "memfs": "^3.4.12", "mime-types": "^2.1.31", "range-parser": "^1.2.1", "schema-utils": "^4.0.0" }, "engines": { - "node": ">= 12.13.0" + "node": ">= 14.15.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/webpack" }, "peerDependencies": { - "webpack": "^4.0.0 || ^5.0.0" - } - }, - "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": { - "@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" + "webpack": "^5.0.0" } }, "node_modules/webpack-dev-server": { - "version": "4.9.3", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.9.3.tgz", - "integrity": "sha512-3qp/eoboZG5/6QgiZ3llN8TUzkSpYg1Ko9khWX1h40MIEUNS2mDoIa8aXsPfskER+GbTvs/IJZ1QTBBhhuetSw==", + "version": "4.11.1", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.11.1.tgz", + "integrity": "sha512-lILVz9tAUy1zGFwieuaQtYiadImb5M3d+H+L1zDYalYoDl0cksAB1UNyuE5MMWJrG6zR1tXkCP2fitl7yoUJiw==", "dev": true, "dependencies": { "@types/bonjour": "^3.5.9", @@ -13509,7 +14099,7 @@ "p-retry": "^4.5.0", "rimraf": "^3.0.2", "schema-utils": "^4.0.0", - "selfsigned": "^2.0.1", + "selfsigned": "^2.1.1", "serve-index": "^1.9.1", "sockjs": "^0.3.24", "spdy": "^4.0.2", @@ -13535,16 +14125,17 @@ } } }, - "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==", + "node_modules/webpack-dev-server/node_modules/webpack-dev-middleware": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz", + "integrity": "sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==", "dev": true, "dependencies": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.8.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.0.0" + "colorette": "^2.0.10", + "memfs": "^3.4.3", + "mime-types": "^2.1.31", + "range-parser": "^1.2.1", + "schema-utils": "^4.0.0" }, "engines": { "node": ">= 12.13.0" @@ -13552,19 +14143,22 @@ "funding": { "type": "opencollective", "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" } }, "node_modules/webpack-dev-server/node_modules/ws": { - "version": "8.8.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.8.1.tgz", - "integrity": "sha512-bGy2JzvzkPowEJV++hF07hAD6niYSr0JzBNo/J29WsB57A2r7Wlc1UFcTR9IzrPvuNVO4B8LGqF8qcpsVOhJCA==", + "version": "8.13.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.13.0.tgz", + "integrity": "sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==", "dev": true, "engines": { "node": ">=10.0.0" }, "peerDependencies": { "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" + "utf-8-validate": ">=5.0.2" }, "peerDependenciesMeta": { "bufferutil": { @@ -13773,6 +14367,57 @@ "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, + "node_modules/wrap-ansi-cjs": { + "name": "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-cjs/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-cjs/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-cjs/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/wrap-ansi/node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -13851,18 +14496,18 @@ } }, "node_modules/yargs": { - "version": "17.4.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.4.1.tgz", - "integrity": "sha512-WSZD9jgobAg3ZKuCQZSa3g9QOJeCCqLoLAykiWgmXnDo9EPnn4RPf5qVTtzgOx66o6/oqhcA5tHtJXpG8pMt3g==", + "version": "17.6.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.6.2.tgz", + "integrity": "sha512-1/9UrdHjDZc0eOU0HxOHoS78C69UD3JRMvzlJ7S79S2nTaWRA/whGCTV8o9e/N/1Va9YIV7Q4sOxD8VV4pCWOw==", "dev": true, "dependencies": { - "cliui": "^7.0.2", + "cliui": "^8.0.1", "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": "^21.1.1" }, "engines": { "node": ">=12" @@ -13877,6 +14522,20 @@ "node": ">=12" } }, + "node_modules/yargs/node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, "node_modules/zone.js": { "version": "0.11.8", "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.11.8.tgz", @@ -13898,12 +14557,12 @@ } }, "@angular-devkit/architect": { - "version": "0.1401.3", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1401.3.tgz", - "integrity": "sha512-DQvKfl8Q9c02jpGqZX1nOL4mAnRBU6BSqPlhi1q17ZrB8sQpYtDBb8Epn2DDq48l7SQVFnRg6Zgje9L1LObURg==", + "version": "0.1502.8", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1502.8.tgz", + "integrity": "sha512-rTltw2ABHrcKc8EGimALvXmrDTP5hlNbEy6nYolJoXEI9EwHgriWrVLVPs3OEF+/ed47dbJi9EGOXUOgzgpB5A==", "dev": true, "requires": { - "@angular-devkit/core": "14.1.3", + "@angular-devkit/core": "15.2.8", "rxjs": "6.6.7" }, "dependencies": { @@ -13925,76 +14584,123 @@ } }, "@angular-devkit/build-angular": { - "version": "14.1.3", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-14.1.3.tgz", - "integrity": "sha512-LZCGd68LCVOwgcGC9DVfjc+wmsTbQmrTMIjWPMXkqufmicEFptR7ocr2dBFJRiVPwqRj+/J+A98cck0GYRC5fw==", + "version": "15.2.8", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-15.2.8.tgz", + "integrity": "sha512-TGDnXhhOG6h6TOrWWzfnkha7wYBOXi7iJc1o1w1VKCayE3T6TZZdF847aK66vL9KG7AKYVdGhWEGw2WBHUBUpg==", "dev": true, "requires": { "@ampproject/remapping": "2.2.0", - "@angular-devkit/architect": "0.1401.3", - "@angular-devkit/build-webpack": "0.1401.3", - "@angular-devkit/core": "14.1.3", - "@babel/core": "7.18.6", - "@babel/generator": "7.18.7", + "@angular-devkit/architect": "0.1502.8", + "@angular-devkit/build-webpack": "0.1502.8", + "@angular-devkit/core": "15.2.8", + "@babel/core": "7.20.12", + "@babel/generator": "7.20.14", "@babel/helper-annotate-as-pure": "7.18.6", - "@babel/plugin-proposal-async-generator-functions": "7.18.6", - "@babel/plugin-transform-async-to-generator": "7.18.6", - "@babel/plugin-transform-runtime": "7.18.6", - "@babel/preset-env": "7.18.6", - "@babel/runtime": "7.18.6", - "@babel/template": "7.18.6", + "@babel/helper-split-export-declaration": "7.18.6", + "@babel/plugin-proposal-async-generator-functions": "7.20.7", + "@babel/plugin-transform-async-to-generator": "7.20.7", + "@babel/plugin-transform-runtime": "7.19.6", + "@babel/preset-env": "7.20.2", + "@babel/runtime": "7.20.13", + "@babel/template": "7.20.7", "@discoveryjs/json-ext": "0.5.7", - "@ngtools/webpack": "14.1.3", + "@ngtools/webpack": "15.2.8", "ansi-colors": "4.1.3", - "babel-loader": "8.2.5", + "autoprefixer": "10.4.13", + "babel-loader": "9.1.2", "babel-plugin-istanbul": "6.1.1", - "browserslist": "^4.9.1", - "cacache": "16.1.1", + "browserslist": "4.21.5", + "cacache": "17.0.4", + "chokidar": "3.5.3", "copy-webpack-plugin": "11.0.0", "critters": "0.0.16", - "css-loader": "6.7.1", - "esbuild": "0.14.49", - "esbuild-wasm": "0.14.49", - "glob": "8.0.3", + "css-loader": "6.7.3", + "esbuild": "0.17.8", + "esbuild-wasm": "0.17.8", + "glob": "8.1.0", "https-proxy-agent": "5.0.1", "inquirer": "8.2.4", - "jsonc-parser": "3.1.0", + "jsonc-parser": "3.2.0", "karma-source-map-support": "1.4.0", "less": "4.1.3", - "less-loader": "11.0.0", + "less-loader": "11.1.0", "license-webpack-plugin": "4.0.2", - "loader-utils": "3.2.0", - "mini-css-extract-plugin": "2.6.1", - "minimatch": "5.1.0", - "open": "8.4.0", + "loader-utils": "3.2.1", + "magic-string": "0.29.0", + "mini-css-extract-plugin": "2.7.2", + "open": "8.4.1", "ora": "5.4.1", - "parse5-html-rewriting-stream": "6.0.1", + "parse5-html-rewriting-stream": "7.0.0", "piscina": "3.2.0", - "postcss": "8.4.14", - "postcss-import": "14.1.0", - "postcss-loader": "7.0.1", - "postcss-preset-env": "7.7.2", - "regenerator-runtime": "0.13.9", + "postcss": "8.4.21", + "postcss-loader": "7.0.2", "resolve-url-loader": "5.0.0", "rxjs": "6.6.7", - "sass": "1.53.0", - "sass-loader": "13.0.2", - "semver": "7.3.7", - "source-map-loader": "4.0.0", + "sass": "1.58.1", + "sass-loader": "13.2.0", + "semver": "7.3.8", + "source-map-loader": "4.0.1", "source-map-support": "0.5.21", - "stylus": "0.58.1", - "stylus-loader": "7.0.0", - "terser": "5.14.2", + "terser": "5.16.3", "text-table": "0.2.0", "tree-kill": "1.2.2", - "tslib": "2.4.0", - "webpack": "5.73.0", - "webpack-dev-middleware": "5.3.3", - "webpack-dev-server": "4.9.3", + "tslib": "2.5.0", + "webpack": "5.76.1", + "webpack-dev-middleware": "6.0.1", + "webpack-dev-server": "4.11.1", "webpack-merge": "5.8.0", "webpack-subresource-integrity": "5.1.0" }, "dependencies": { + "@babel/core": { + "version": "7.20.12", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.20.12.tgz", + "integrity": "sha512-XsMfHovsUYHFMdrIHkZphTN/2Hzzi78R08NuHfDBehym2VsPDL6Zn/JAD/JQdnRvbSsbQc4mVaU1m6JgtTEElg==", + "dev": true, + "requires": { + "@ampproject/remapping": "^2.1.0", + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.20.7", + "@babel/helper-compilation-targets": "^7.20.7", + "@babel/helper-module-transforms": "^7.20.11", + "@babel/helpers": "^7.20.7", + "@babel/parser": "^7.20.7", + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.20.12", + "@babel/types": "^7.20.7", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.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 + } + } + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "magic-string": { + "version": "0.29.0", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.29.0.tgz", + "integrity": "sha512-WcfidHrDjMY+eLjlU+8OvwREqHwpgCeKVBUpQ3OhYYuvfaYCUgcbuBzappNzZvg/v8onU3oQj+BYpkOJe9Iw4Q==", + "dev": true, + "requires": { + "@jridgewell/sourcemap-codec": "^1.4.13" + } + }, "rxjs": { "version": "6.6.7", "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", @@ -14011,16 +14717,25 @@ "dev": true } } + }, + "semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } } } }, "@angular-devkit/build-webpack": { - "version": "0.1401.3", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1401.3.tgz", - "integrity": "sha512-CCKinKF1JNy/cDE5Psn1N4Tl18k9eecDXJUhL4uix3DUHpP3qsVRta8sVJrmE4a3z8DYN6MCw6M38GRzOZiXCQ==", + "version": "0.1502.8", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1502.8.tgz", + "integrity": "sha512-jWtNv+S03FFLDe/C8SPCcRvkz3bSb2R+919IT086Q9axIPQ1VowOEwzt2k3qXPSSrC7GSYuASM+X92dB47NTQQ==", "dev": true, "requires": { - "@angular-devkit/architect": "0.1401.3", + "@angular-devkit/architect": "0.1502.8", "rxjs": "6.6.7" }, "dependencies": { @@ -14042,18 +14757,30 @@ } }, "@angular-devkit/core": { - "version": "14.1.3", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-14.1.3.tgz", - "integrity": "sha512-YBxhRl7hKgirjcKeurfejVrIgmw31GcfKKCyQiIudoLCYjonnSMdDEx2y8BNMANvxe5YmuZsIYJtgVlqp3mMDg==", + "version": "15.2.8", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-15.2.8.tgz", + "integrity": "sha512-Lo4XrbDMtXarKnMrFgWLmQdSX+3QPNAg4otG8cmp/U4jJyjV4dAYKEAsb1sCNGUSM4h4v09EQU/5ugVjDU29lQ==", "dev": true, "requires": { - "ajv": "8.11.0", + "ajv": "8.12.0", "ajv-formats": "2.1.1", - "jsonc-parser": "3.1.0", + "jsonc-parser": "3.2.0", "rxjs": "6.6.7", "source-map": "0.7.4" }, "dependencies": { + "ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "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" + } + }, "rxjs": { "version": "6.6.7", "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", @@ -14121,92 +14848,106 @@ } }, "@angular/animations": { - "version": "14.1.3", - "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-14.1.3.tgz", - "integrity": "sha512-AmnrsRWJxlIQPnnef3MCo9N7bbFmEWvyyDPB8z4UOYDqBwRBHnDn5g1rrVQzLJH7I1O2DLcm/EhWYJrfagQ2aQ==", + "version": "15.2.9", + "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-15.2.9.tgz", + "integrity": "sha512-GQujLhI0cQFcl4Q8y0oSYKSRnW23GIeSL+Arl4eFufziJ9hGAAQNuesaNs/7i+9UlTHDMkPH3kd5ScXuYYz6wg==", "requires": { "tslib": "^2.3.0" } }, "@angular/cdk": { - "version": "14.2.1", - "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-14.2.1.tgz", - "integrity": "sha512-saLFOZeyYQ6ELvPYqePsC8yXzDYjrCXGKGLtwAG/1mUlXcVTC0V1c3SabU4JR7Z+Zo1tOmzkWxuUkrw7uvaJHA==", + "version": "15.2.9", + "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-15.2.9.tgz", + "integrity": "sha512-koaM07N1AIQ5oHU27l0/FoQSSoYAwlAYwVZ4Di3bYrJsTBNCN2Xsby7wI8gZxdepMnV4Fe9si382BDBov+oO4Q==", "requires": { - "parse5": "^5.0.0", + "parse5": "^7.1.2", "tslib": "^2.3.0" }, "dependencies": { - "parse5": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz", - "integrity": "sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==", + "entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", "optional": true + }, + "parse5": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", + "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", + "optional": true, + "requires": { + "entities": "^4.4.0" + } } } }, "@angular/cli": { - "version": "14.0.7", - "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-14.0.7.tgz", - "integrity": "sha512-tABt1EDwBHm0ngsutdkXXWgPgHzapGLC7rSPHXStMc24ngViFZpXGzBCpompjHvXNt6bjklmJmuRvjS6+ktBZA==", + "version": "15.2.8", + "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-15.2.8.tgz", + "integrity": "sha512-3VlTfm6DUZfFHBY43vQSAaqmFTxy3VtRd/iDBCHcEPhHwYLWBvNwReJuJfNja8O105QQ6DBiYVBExEBtPmjQ4w==", "dev": true, "requires": { - "@angular-devkit/architect": "0.1400.7", - "@angular-devkit/core": "14.0.7", - "@angular-devkit/schematics": "14.0.7", - "@schematics/angular": "14.0.7", + "@angular-devkit/architect": "0.1502.8", + "@angular-devkit/core": "15.2.8", + "@angular-devkit/schematics": "15.2.8", + "@schematics/angular": "15.2.8", "@yarnpkg/lockfile": "1.1.0", - "ansi-colors": "4.1.1", - "debug": "4.3.4", - "ini": "3.0.0", + "ansi-colors": "4.1.3", + "ini": "3.0.1", "inquirer": "8.2.4", - "jsonc-parser": "3.0.0", - "npm-package-arg": "9.0.2", - "npm-pick-manifest": "7.0.1", - "open": "8.4.0", + "jsonc-parser": "3.2.0", + "npm-package-arg": "10.1.0", + "npm-pick-manifest": "8.0.1", + "open": "8.4.1", "ora": "5.4.1", - "pacote": "13.3.0", - "resolve": "1.22.0", - "semver": "7.3.7", + "pacote": "15.1.0", + "resolve": "1.22.1", + "semver": "7.3.8", "symbol-observable": "4.0.0", - "uuid": "8.3.2", - "yargs": "17.4.1" + "yargs": "17.6.2" }, "dependencies": { - "@angular-devkit/architect": { - "version": "0.1400.7", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1400.7.tgz", - "integrity": "sha512-8dv/Ql86dHajsHYjjr5jvpiV7uXWbt7Mz4K/rGiOi+zzDNKPcZcuCejulWhOySDcCPjT/an47Qcwr+awL4Wr4g==", + "@angular-devkit/schematics": { + "version": "15.2.8", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-15.2.8.tgz", + "integrity": "sha512-w6EUGC96kVsH9f8sEzajzbONMawezyVBiSo+JYp5r25rQArAz/a+KZntbuETWHQ0rQOEsKmUNKxwmr11BaptSQ==", "dev": true, "requires": { - "@angular-devkit/core": "14.0.7", + "@angular-devkit/core": "15.2.8", + "jsonc-parser": "3.2.0", + "magic-string": "0.29.0", + "ora": "5.4.1", "rxjs": "6.6.7" } }, - "@angular-devkit/core": { - "version": "14.0.7", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-14.0.7.tgz", - "integrity": "sha512-XBqK2OMVKkV1Ltkh4aBsoHoDJQlins5a6qa/ZMjW4reYx90qLERs8ZfeWlRUWhvn2/ohx4aPq77jwSR5avp/Cw==", + "@schematics/angular": { + "version": "15.2.8", + "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-15.2.8.tgz", + "integrity": "sha512-F49IEzCFxQlpaMIgTO/wF1l/CLQKif7VaiDdyiTKOeT22IMmyd61FUmWDyZYfCBqMlvBmvDGx64HaHWes1HYCg==", "dev": true, "requires": { - "ajv": "8.11.0", - "ajv-formats": "2.1.1", - "jsonc-parser": "3.0.0", - "rxjs": "6.6.7", - "source-map": "0.7.3" + "@angular-devkit/core": "15.2.8", + "@angular-devkit/schematics": "15.2.8", + "jsonc-parser": "3.2.0" } }, - "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 + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } }, - "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 + "magic-string": { + "version": "0.29.0", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.29.0.tgz", + "integrity": "sha512-WcfidHrDjMY+eLjlU+8OvwREqHwpgCeKVBUpQ3OhYYuvfaYCUgcbuBzappNzZvg/v8onU3oQj+BYpkOJe9Iw4Q==", + "dev": true, + "requires": { + "@jridgewell/sourcemap-codec": "^1.4.13" + } }, "rxjs": { "version": "6.6.7", @@ -14217,11 +14958,14 @@ "tslib": "^1.9.0" } }, - "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 + "semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } }, "tslib": { "version": "1.14.1", @@ -14232,43 +14976,54 @@ } }, "@angular/common": { - "version": "14.1.3", - "resolved": "https://registry.npmjs.org/@angular/common/-/common-14.1.3.tgz", - "integrity": "sha512-t5zidNLcQrgrShBFFsEhvJ6yKw5jwv/Td/AQrknQzrAz3kVBH4dOZGC5jolasFipy/P1DNoG2K+igPCGeskc4w==", + "version": "15.2.9", + "resolved": "https://registry.npmjs.org/@angular/common/-/common-15.2.9.tgz", + "integrity": "sha512-LM9/UHG2dRrOzlu2KovrFwWIziFMjRxHzSP3Igw6Symw/wIl0kXGq8Fn6RpFP78zmLqnv+IQOoRiby9MCXsI4g==", "requires": { "tslib": "^2.3.0" } }, "@angular/compiler": { - "version": "14.1.3", - "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-14.1.3.tgz", - "integrity": "sha512-QtBHzhGzym8CwGrZLFYsciaLq/F4lxUxNOBDQdrc5Pd/qYiaJ50rrWfmXpqrFR6CC0E0bgzIj0Uxdf+D/VRmWQ==", + "version": "15.2.9", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-15.2.9.tgz", + "integrity": "sha512-MoKugbjk+E0wRBj12uvIyDLELlVLonnqjA2+XiF+7FxALIeyds3/qQeEoMmYIqAbN3NnTT5pV92RxWwG4tHFwA==", "requires": { "tslib": "^2.3.0" } }, "@angular/compiler-cli": { - "version": "14.1.3", - "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-14.1.3.tgz", - "integrity": "sha512-GJqUfIKuM7bYeR699ceRSa6LT90vEi2q+s+YIwRrlXSFto7xNCmn5bJsYV6XmslvPPTqiLR5w9K8MNC9qYBbxw==", + "version": "15.2.9", + "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-15.2.9.tgz", + "integrity": "sha512-zsbI8G2xHOeYWI0hjFzrI//ZhZV9il/uQW5dAimfwJp06KZDeXZ3PdwY9JQslf6F+saLwOObxy6QMrIVvfjy9w==", "dev": true, "requires": { - "@babel/core": "^7.17.2", + "@babel/core": "7.19.3", + "@jridgewell/sourcemap-codec": "^1.4.14", "chokidar": "^3.0.0", "convert-source-map": "^1.5.1", "dependency-graph": "^0.11.0", - "magic-string": "^0.26.0", + "magic-string": "^0.27.0", "reflect-metadata": "^0.1.2", "semver": "^7.0.0", - "sourcemap-codec": "^1.4.8", "tslib": "^2.3.0", "yargs": "^17.2.1" + }, + "dependencies": { + "magic-string": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.27.0.tgz", + "integrity": "sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==", + "dev": true, + "requires": { + "@jridgewell/sourcemap-codec": "^1.4.13" + } + } } }, "@angular/core": { - "version": "14.1.3", - "resolved": "https://registry.npmjs.org/@angular/core/-/core-14.1.3.tgz", - "integrity": "sha512-V3OJD4cShjLzyJAWQ1ogSW0WhKJwti5zsoT1SQ2RoA5UScBPzZN/F/0n/4IupHeaIC+NfaLX916xKTGWA8G8SQ==", + "version": "15.2.9", + "resolved": "https://registry.npmjs.org/@angular/core/-/core-15.2.9.tgz", + "integrity": "sha512-w46Z1yUXCQfKV7XfnamOoLA2VD0MVUUYVrUjO73mHSskDXSXxfZAEHO9kfUS71Cj35PvhP3mbkqWscpea2WeYg==", "requires": { "tslib": "^2.3.0" } @@ -14298,49 +15053,96 @@ } }, "@angular/forms": { - "version": "14.1.3", - "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-14.1.3.tgz", - "integrity": "sha512-gCN3my9KRp6BLlBGh4uw8NukUPKCl+quroMO2lkvsodF0MA42uhKHO+EImrpLxNMK7lfENIERwthb4mh4G4cFQ==", + "version": "15.2.9", + "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-15.2.9.tgz", + "integrity": "sha512-sk0pC2EFi2Ohg5J0q0NYptbT+2WOkoiERSMYA39ncDvlSZBWsNlxpkbGUSck7NIxjK2QfcVN1ldGbHlZTFvtqg==", "requires": { "tslib": "^2.3.0" } }, "@angular/material": { - "version": "14.2.1", - "resolved": "https://registry.npmjs.org/@angular/material/-/material-14.2.1.tgz", - "integrity": "sha512-e7DkKJTuqrSpKPhxahrqkZt6AeU5ld5/aSeCamq2dcdqfZ8otmgiajzN0cXZGwSCT2Lth6c+QV3yn8ufTJQpTw==", + "version": "15.2.9", + "resolved": "https://registry.npmjs.org/@angular/material/-/material-15.2.9.tgz", + "integrity": "sha512-emuFF/7+91Jq+6kVCl3FiVoFLtAZoh+woFQWNuK8nhx0HmD4ckLFI8d9a6ERYR3zRuKhq5deSRE2kYsfpjrrsQ==", "requires": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/auto-init": "15.0.0-canary.684e33d25.0", + "@material/banner": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/button": "15.0.0-canary.684e33d25.0", + "@material/card": "15.0.0-canary.684e33d25.0", + "@material/checkbox": "15.0.0-canary.684e33d25.0", + "@material/chips": "15.0.0-canary.684e33d25.0", + "@material/circular-progress": "15.0.0-canary.684e33d25.0", + "@material/data-table": "15.0.0-canary.684e33d25.0", + "@material/density": "15.0.0-canary.684e33d25.0", + "@material/dialog": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/drawer": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/fab": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/floating-label": "15.0.0-canary.684e33d25.0", + "@material/form-field": "15.0.0-canary.684e33d25.0", + "@material/icon-button": "15.0.0-canary.684e33d25.0", + "@material/image-list": "15.0.0-canary.684e33d25.0", + "@material/layout-grid": "15.0.0-canary.684e33d25.0", + "@material/line-ripple": "15.0.0-canary.684e33d25.0", + "@material/linear-progress": "15.0.0-canary.684e33d25.0", + "@material/list": "15.0.0-canary.684e33d25.0", + "@material/menu": "15.0.0-canary.684e33d25.0", + "@material/menu-surface": "15.0.0-canary.684e33d25.0", + "@material/notched-outline": "15.0.0-canary.684e33d25.0", + "@material/radio": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/segmented-button": "15.0.0-canary.684e33d25.0", + "@material/select": "15.0.0-canary.684e33d25.0", + "@material/shape": "15.0.0-canary.684e33d25.0", + "@material/slider": "15.0.0-canary.684e33d25.0", + "@material/snackbar": "15.0.0-canary.684e33d25.0", + "@material/switch": "15.0.0-canary.684e33d25.0", + "@material/tab": "15.0.0-canary.684e33d25.0", + "@material/tab-bar": "15.0.0-canary.684e33d25.0", + "@material/tab-indicator": "15.0.0-canary.684e33d25.0", + "@material/tab-scroller": "15.0.0-canary.684e33d25.0", + "@material/textfield": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/tooltip": "15.0.0-canary.684e33d25.0", + "@material/top-app-bar": "15.0.0-canary.684e33d25.0", + "@material/touch-target": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", "tslib": "^2.3.0" } }, "@angular/platform-browser": { - "version": "14.1.3", - "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-14.1.3.tgz", - "integrity": "sha512-baEHBj2pCrz5XR9KCb2FaAChWsRrxl9yapDZFNpApucN/OlQpBDVA9UDDvaYeD3PsI8nVL3B6danKUloamd+pw==", + "version": "15.2.9", + "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-15.2.9.tgz", + "integrity": "sha512-ufCHeSX+U6d43YOMkn3igwfqtlozoCXADcbyfUEG8m2y9XASobqmCKvdSk/zfl62oyiA8msntWBJVBE2l4xKXg==", "requires": { "tslib": "^2.3.0" } }, "@angular/platform-browser-dynamic": { - "version": "14.1.3", - "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-14.1.3.tgz", - "integrity": "sha512-WOWMgXUe8dEXt33jCP8/d8O5NQJKyr+4Dq2sjJ7y1ouCOjJsc9Ybi3y5uMyDCwb6SausGWLJ6w7DweMDWMlsYA==", + "version": "15.2.9", + "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-15.2.9.tgz", + "integrity": "sha512-ZIYDM6MShblb8OyV1m4+18lJJ2LCeICmeg2uSbpFYptYBSOClrTiYOOFVDJvn7HLvNzljLs16XPrgyaYVqNpcw==", "requires": { "tslib": "^2.3.0" } }, "@angular/router": { - "version": "14.1.3", - "resolved": "https://registry.npmjs.org/@angular/router/-/router-14.1.3.tgz", - "integrity": "sha512-LjWQBaeaGkgFy814booGmQV2eELDynzACGAZUwrpWmdHKo9p9GCi9dYttYXspNDmxoipXAzYvVPSABlMfhuQ+g==", + "version": "15.2.9", + "resolved": "https://registry.npmjs.org/@angular/router/-/router-15.2.9.tgz", + "integrity": "sha512-UCbh5DLSDhybv0xKYT7kGQMfOVdyhHIHOZz5EYVebbhste6S+W1LE57vTHq7QtxJsyKBa/WSkaUkCLXD6ntCAg==", "requires": { "tslib": "^2.3.0" } }, "@angular/service-worker": { - "version": "14.1.3", - "resolved": "https://registry.npmjs.org/@angular/service-worker/-/service-worker-14.1.3.tgz", - "integrity": "sha512-Ut0pZcWxRhpb9L+RKZperuzSoPvIzLtTrnuYqx2SonRpzBJvINI4jQ2jC7Atpc/gML/uaNZCeylwTtuRJaeOjQ==", + "version": "15.2.9", + "resolved": "https://registry.npmjs.org/@angular/service-worker/-/service-worker-15.2.9.tgz", + "integrity": "sha512-qM/lcrjaxIfpKj174mMWedtGfLNgLl5m7p9mPNODFjqp5lQj3fTTS643ix5Pr0onwbvbNbXu4g67/WXJqap0eA==", "requires": { "tslib": "^2.3.0" } @@ -14352,36 +15154,36 @@ "dev": true }, "@babel/code-frame": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", - "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.21.4.tgz", + "integrity": "sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g==", "dev": true, "requires": { "@babel/highlight": "^7.18.6" } }, "@babel/compat-data": { - "version": "7.18.8", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.18.8.tgz", - "integrity": "sha512-HSmX4WZPPK3FUxYp7g2T6EyO8j96HlZJlxmKPSh6KAcqwyDrfx7hKjXpAW/0FhFfTJsR0Yt4lAjLI2coMptIHQ==", + "version": "7.22.3", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.3.tgz", + "integrity": "sha512-aNtko9OPOwVESUFp3MZfD8Uzxl7JzSeJpd7npIoxCasU37PFbAQRpKglkaKwlHOyeJdrREpo8TW8ldrkYWwvIQ==", "dev": true }, "@babel/core": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.18.6.tgz", - "integrity": "sha512-cQbWBpxcbbs/IUredIPkHiAGULLV8iwgNRMFzvbhEXISp4f3rUUXE5+TIw6KwUWUR3DwyI6gmBRnmAtYaWehwQ==", + "version": "7.19.3", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.19.3.tgz", + "integrity": "sha512-WneDJxdsjEvyKtXKsaBGbDeiyOjR5vYq4HcShxnIbG0qixpoHjI3MqeZM9NDvsojNCEBItQE4juOo/bU6e72gQ==", "dev": true, "requires": { "@ampproject/remapping": "^2.1.0", "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.18.6", - "@babel/helper-compilation-targets": "^7.18.6", - "@babel/helper-module-transforms": "^7.18.6", - "@babel/helpers": "^7.18.6", - "@babel/parser": "^7.18.6", - "@babel/template": "^7.18.6", - "@babel/traverse": "^7.18.6", - "@babel/types": "^7.18.6", + "@babel/generator": "^7.19.3", + "@babel/helper-compilation-targets": "^7.19.3", + "@babel/helper-module-transforms": "^7.19.0", + "@babel/helpers": "^7.19.0", + "@babel/parser": "^7.19.3", + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.19.3", + "@babel/types": "^7.19.3", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -14398,12 +15200,12 @@ } }, "@babel/generator": { - "version": "7.18.7", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.18.7.tgz", - "integrity": "sha512-shck+7VLlY72a2w9c3zYWuE1pwOKEiQHV7GTUbSnhyl5eu3i04t30tBY82ZRWrDfo3gkakCFtevExnxbkf2a3A==", + "version": "7.20.14", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.20.14.tgz", + "integrity": "sha512-AEmuXHdcD3A52HHXxaTmYlb8q/xMEhoRP67B3T4Oq7lbmSoqroMZzjnGj3+i1io3pdnF8iBYVu4Ilj+c4hBxYg==", "dev": true, "requires": { - "@babel/types": "^7.18.7", + "@babel/types": "^7.20.7", "@jridgewell/gen-mapping": "^0.3.2", "jsesc": "^2.5.1" }, @@ -14431,24 +15233,24 @@ } }, "@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.9.tgz", - "integrity": "sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw==", + "version": "7.22.3", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.3.tgz", + "integrity": "sha512-ahEoxgqNoYXm0k22TvOke48i1PkavGu0qGCmcq9ugi6gnmvKNaMjKBSrZTnWUi1CFEeNAUiVba0Wtzm03aSkJg==", "dev": true, "requires": { - "@babel/helper-explode-assignable-expression": "^7.18.6", - "@babel/types": "^7.18.9" + "@babel/types": "^7.22.3" } }, "@babel/helper-compilation-targets": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.18.9.tgz", - "integrity": "sha512-tzLCyVmqUiFlcFoAPLA/gL9TeYrF61VLNtb+hvkuVaB5SUjW7jcfrglBIX1vUIoT7CLP3bBlIMeyEsIl2eFQNg==", + "version": "7.22.1", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.1.tgz", + "integrity": "sha512-Rqx13UM3yVB5q0D/KwQ8+SPfX/+Rnsy1Lw1k/UwOC4KC6qrzIQoY3lYnBu5EHKBlEHHcj0M0W8ltPSkD8rqfsQ==", "dev": true, "requires": { - "@babel/compat-data": "^7.18.8", - "@babel/helper-validator-option": "^7.18.6", - "browserslist": "^4.20.2", + "@babel/compat-data": "^7.22.0", + "@babel/helper-validator-option": "^7.21.0", + "browserslist": "^4.21.3", + "lru-cache": "^5.1.1", "semver": "^6.3.0" }, "dependencies": { @@ -14461,34 +15263,53 @@ } }, "@babel/helper-create-class-features-plugin": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.18.9.tgz", - "integrity": "sha512-WvypNAYaVh23QcjpMR24CwZY2Nz6hqdOcFdPbNpV56hL5H6KiFheO7Xm1aPdlLQ7d5emYZX7VZwPp9x3z+2opw==", + "version": "7.22.1", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.1.tgz", + "integrity": "sha512-SowrZ9BWzYFgzUMwUmowbPSGu6CXL5MSuuCkG3bejahSpSymioPmuLdhPxNOc9MjuNGjy7M/HaXvJ8G82Lywlw==", "dev": true, "requires": { "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.18.9", - "@babel/helper-member-expression-to-functions": "^7.18.9", + "@babel/helper-environment-visitor": "^7.22.1", + "@babel/helper-function-name": "^7.21.0", + "@babel/helper-member-expression-to-functions": "^7.22.0", "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/helper-replace-supers": "^7.18.9", - "@babel/helper-split-export-declaration": "^7.18.6" + "@babel/helper-replace-supers": "^7.22.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", + "@babel/helper-split-export-declaration": "^7.18.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-regexp-features-plugin": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.18.6.tgz", - "integrity": "sha512-7LcpH1wnQLGrI+4v+nPp+zUvIkF9x0ddv1Hkdue10tg3gmRnLy97DXh4STiOf1qeIInyD69Qv5kKSZzKD8B/7A==", + "version": "7.22.1", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.1.tgz", + "integrity": "sha512-WWjdnfR3LPIe+0EY8td7WmjhytxXtjKAEpnAxun/hkNiyOaPlvGK+NZaBFIdi9ndYV3Gav7BpFvtUwnaJlwi1w==", "dev": true, "requires": { "@babel/helper-annotate-as-pure": "^7.18.6", - "regexpu-core": "^5.1.0" + "regexpu-core": "^5.3.1", + "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-define-polyfill-provider": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.2.tgz", - "integrity": "sha512-r9QJJ+uDWrd+94BSPcP6/de67ygLtvVy6cK4luE6MOuDsZIdoaPBnfSpbO/+LTifjPckbKXRuI9BB/Z2/y3iTg==", + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz", + "integrity": "sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==", "dev": true, "requires": { "@babel/helper-compilation-targets": "^7.17.7", @@ -14508,28 +15329,19 @@ } }, "@babel/helper-environment-visitor": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", - "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==", + "version": "7.22.1", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.1.tgz", + "integrity": "sha512-Z2tgopurB/kTbidvzeBrc2To3PUP/9i5MUe+fU6QJCQDyPwSH2oRapkLw3KGECDYSjhQZCNxEvNvZlLw8JjGwA==", "dev": true }, - "@babel/helper-explode-assignable-expression": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz", - "integrity": "sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==", - "dev": true, - "requires": { - "@babel/types": "^7.18.6" - } - }, "@babel/helper-function-name": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.18.9.tgz", - "integrity": "sha512-fJgWlZt7nxGksJS9a0XdSaI4XvpExnNIgRP+rVefWh5U7BL8pPuir6SJUmFKRfjWQ51OtWSzwOxhaH/EBWWc0A==", + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz", + "integrity": "sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==", "dev": true, "requires": { - "@babel/template": "^7.18.6", - "@babel/types": "^7.18.9" + "@babel/template": "^7.20.7", + "@babel/types": "^7.21.0" } }, "@babel/helper-hoist-variables": { @@ -14542,37 +15354,50 @@ } }, "@babel/helper-member-expression-to-functions": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.18.9.tgz", - "integrity": "sha512-RxifAh2ZoVU67PyKIO4AMi1wTenGfMR/O/ae0CCRqwgBAt5v7xjdtRw7UoSbsreKrQn5t7r89eruK/9JjYHuDg==", + "version": "7.22.3", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.22.3.tgz", + "integrity": "sha512-Gl7sK04b/2WOb6OPVeNy9eFKeD3L6++CzL3ykPOWqTn08xgYYK0wz4TUh2feIImDXxcVW3/9WQ1NMKY66/jfZA==", "dev": true, "requires": { - "@babel/types": "^7.18.9" + "@babel/types": "^7.22.3" } }, "@babel/helper-module-imports": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", - "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.21.4.tgz", + "integrity": "sha512-orajc5T2PsRYUN3ZryCEFeMDYwyw09c/pZeaQEZPH0MpKzSvn3e0uXsDBu3k03VI+9DBiRo+l22BfKTpKwa/Wg==", "dev": true, "requires": { - "@babel/types": "^7.18.6" + "@babel/types": "^7.21.4" } }, "@babel/helper-module-transforms": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.18.9.tgz", - "integrity": "sha512-KYNqY0ICwfv19b31XzvmI/mfcylOzbLtowkw+mfvGPAQ3kfCnMLYbED3YecL5tPd8nAYFQFAd6JHp2LxZk/J1g==", + "version": "7.22.1", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.22.1.tgz", + "integrity": "sha512-dxAe9E7ySDGbQdCVOY/4+UcD8M9ZFqZcZhSPsPacvCG4M+9lwtDDQfI2EoaSvmf7W/8yCBkGU0m7Pvt1ru3UZw==", "dev": true, "requires": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-simple-access": "^7.18.6", + "@babel/helper-environment-visitor": "^7.22.1", + "@babel/helper-module-imports": "^7.21.4", + "@babel/helper-simple-access": "^7.21.5", "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/helper-validator-identifier": "^7.18.6", - "@babel/template": "^7.18.6", - "@babel/traverse": "^7.18.9", - "@babel/types": "^7.18.9" + "@babel/helper-validator-identifier": "^7.19.1", + "@babel/template": "^7.21.9", + "@babel/traverse": "^7.22.1", + "@babel/types": "^7.22.0" + }, + "dependencies": { + "@babel/template": { + "version": "7.21.9", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.21.9.tgz", + "integrity": "sha512-MK0X5k8NKOuWRamiEfc3KEJiHMTkGZNUjzMipqCGDDc6ijRl/B7RGSKVGncu4Ro/HdyzzY6cmoXuKI2Gffk7vQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.21.4", + "@babel/parser": "^7.21.9", + "@babel/types": "^7.21.5" + } + } } }, "@babel/helper-optimise-call-expression": { @@ -14585,9 +15410,9 @@ } }, "@babel/helper-plugin-utils": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.18.9.tgz", - "integrity": "sha512-aBXPT3bmtLryXaoJLyYPXPlSD4p1ld9aYeR+sJNOZjJJGiOpb+fKfh3NkcCu7J54nUJwCERPBExCCpyCOHnu/w==", + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.21.5.tgz", + "integrity": "sha512-0WDaIlXKOX/3KfBK/dwP1oQGiPh6rjMkT7HIRv7i5RR2VUMwrx5ZL0dwBkKx7+SW1zwNdgjHd34IMk5ZjTeHVg==", "dev": true }, "@babel/helper-remap-async-to-generator": { @@ -14603,34 +15428,48 @@ } }, "@babel/helper-replace-supers": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.18.9.tgz", - "integrity": "sha512-dNsWibVI4lNT6HiuOIBr1oyxo40HvIVmbwPUm3XZ7wMh4k2WxrxTqZwSqw/eEmXDS9np0ey5M2bz9tBmO9c+YQ==", + "version": "7.22.1", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.1.tgz", + "integrity": "sha512-ut4qrkE4AuSfrwHSps51ekR1ZY/ygrP1tp0WFm8oVq6nzc/hvfV/22JylndIbsf2U2M9LOMwiSddr6y+78j+OQ==", "dev": true, "requires": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-member-expression-to-functions": "^7.18.9", + "@babel/helper-environment-visitor": "^7.22.1", + "@babel/helper-member-expression-to-functions": "^7.22.0", "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/traverse": "^7.18.9", - "@babel/types": "^7.18.9" + "@babel/template": "^7.21.9", + "@babel/traverse": "^7.22.1", + "@babel/types": "^7.22.0" + }, + "dependencies": { + "@babel/template": { + "version": "7.21.9", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.21.9.tgz", + "integrity": "sha512-MK0X5k8NKOuWRamiEfc3KEJiHMTkGZNUjzMipqCGDDc6ijRl/B7RGSKVGncu4Ro/HdyzzY6cmoXuKI2Gffk7vQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.21.4", + "@babel/parser": "^7.21.9", + "@babel/types": "^7.21.5" + } + } } }, "@babel/helper-simple-access": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.18.6.tgz", - "integrity": "sha512-iNpIgTgyAvDQpDj76POqg+YEt8fPxx3yaNBg3S30dxNKm2SWfYhD0TGrK/Eu9wHpUW63VQU894TsTg+GLbUa1g==", + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.21.5.tgz", + "integrity": "sha512-ENPDAMC1wAjR0uaCUwliBdiSl1KBJAVnMTzXqi64c2MG8MPR6ii4qf7bSXDqSFbr4W6W028/rf5ivoHop5/mkg==", "dev": true, "requires": { - "@babel/types": "^7.18.6" + "@babel/types": "^7.21.5" } }, "@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.18.9.tgz", - "integrity": "sha512-imytd2gHi3cJPsybLRbmFrF7u5BIEuI2cNheyKi3/iOBC63kNn3q8Crn2xVuESli0aM4KYsyEqKyS7lFL8YVtw==", + "version": "7.20.0", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.20.0.tgz", + "integrity": "sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg==", "dev": true, "requires": { - "@babel/types": "^7.18.9" + "@babel/types": "^7.20.0" } }, "@babel/helper-split-export-declaration": { @@ -14643,57 +15482,57 @@ } }, "@babel/helper-string-parser": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.18.10.tgz", - "integrity": "sha512-XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw==", + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.21.5.tgz", + "integrity": "sha512-5pTUx3hAJaZIdW99sJ6ZUUgWq/Y+Hja7TowEnLNMm1VivRgZQL3vpBY3qUACVsvw+yQU6+YgfBVmcbLaZtrA1w==", "dev": true }, "@babel/helper-validator-identifier": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz", - "integrity": "sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g==", + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", + "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", "dev": true }, "@babel/helper-validator-option": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz", - "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==", + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.21.0.tgz", + "integrity": "sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==", "dev": true }, "@babel/helper-wrap-function": { - "version": "7.18.11", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.18.11.tgz", - "integrity": "sha512-oBUlbv+rjZLh2Ks9SKi4aL7eKaAXBWleHzU89mP0G6BMUlRxSckk9tSIkgDGydhgFxHuGSlBQZfnaD47oBEB7w==", + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.20.5.tgz", + "integrity": "sha512-bYMxIWK5mh+TgXGVqAtnu5Yn1un+v8DDZtqyzKRLUzrh70Eal2O3aZ7aPYiMADO4uKlkzOiRiZ6GX5q3qxvW9Q==", "dev": true, "requires": { - "@babel/helper-function-name": "^7.18.9", + "@babel/helper-function-name": "^7.19.0", "@babel/template": "^7.18.10", - "@babel/traverse": "^7.18.11", - "@babel/types": "^7.18.10" - }, - "dependencies": { - "@babel/template": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.10.tgz", - "integrity": "sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.18.6", - "@babel/parser": "^7.18.10", - "@babel/types": "^7.18.10" - } - } + "@babel/traverse": "^7.20.5", + "@babel/types": "^7.20.5" } }, "@babel/helpers": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.18.9.tgz", - "integrity": "sha512-Jf5a+rbrLoR4eNdUmnFu8cN5eNJT6qdTdOg5IHIzq87WwyRw9PwguLFOWYgktN/60IP4fgDUawJvs7PjQIzELQ==", + "version": "7.22.3", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.22.3.tgz", + "integrity": "sha512-jBJ7jWblbgr7r6wYZHMdIqKc73ycaTcCaWRq4/2LpuPHcx7xMlZvpGQkOYc9HeSjn6rcx15CPlgVcBtZ4WZJ2w==", "dev": true, "requires": { - "@babel/template": "^7.18.6", - "@babel/traverse": "^7.18.9", - "@babel/types": "^7.18.9" + "@babel/template": "^7.21.9", + "@babel/traverse": "^7.22.1", + "@babel/types": "^7.22.3" + }, + "dependencies": { + "@babel/template": { + "version": "7.21.9", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.21.9.tgz", + "integrity": "sha512-MK0X5k8NKOuWRamiEfc3KEJiHMTkGZNUjzMipqCGDDc6ijRl/B7RGSKVGncu4Ro/HdyzzY6cmoXuKI2Gffk7vQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.21.4", + "@babel/parser": "^7.21.9", + "@babel/types": "^7.21.5" + } + } } }, "@babel/highlight": { @@ -14708,9 +15547,9 @@ } }, "@babel/parser": { - "version": "7.18.11", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.18.11.tgz", - "integrity": "sha512-9JKn5vN+hDt0Hdqn1PiJ2guflwP+B6Ga8qbDuoF0PzzVhrzsKIJo8yGqVk6CmMHiMei9w1C1Bp9IMJSIK+HPIQ==", + "version": "7.22.4", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.4.tgz", + "integrity": "sha512-VLLsx06XkEYqBtE5YGPwfSGwfrjnyPP5oiGty3S8pQLFDFLaS8VwWSIxkTXpcvr5zeYLE6+MBNl2npl/YnfofA==", "dev": true }, "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { @@ -14723,25 +15562,25 @@ } }, "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.18.9.tgz", - "integrity": "sha512-AHrP9jadvH7qlOj6PINbgSuphjQUAK7AOT7DPjBo9EHoLhQTnnK5u45e1Hd4DbSQEO9nqPWtQ89r+XEOWFScKg==", + "version": "7.22.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.22.3.tgz", + "integrity": "sha512-6r4yRwEnorYByILoDRnEqxtojYKuiIv9FojW2E8GUKo9eWBwbKcd9IiZOZpdyXc64RmyGGyPu3/uAcrz/dq2kQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9", - "@babel/plugin-proposal-optional-chaining": "^7.18.9" + "@babel/helper-plugin-utils": "^7.21.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", + "@babel/plugin-transform-optional-chaining": "^7.22.3" } }, "@babel/plugin-proposal-async-generator-functions": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.18.6.tgz", - "integrity": "sha512-WAz4R9bvozx4qwf74M+sfqPMKfSqwM0phxPTR6iJIi8robgzXwkEgmeJG1gEKhm6sDqT/U9aV3lfcqybIpev8w==", + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.7.tgz", + "integrity": "sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA==", "dev": true, "requires": { - "@babel/helper-environment-visitor": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-remap-async-to-generator": "^7.18.6", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-remap-async-to-generator": "^7.18.9", "@babel/plugin-syntax-async-generators": "^7.8.4" } }, @@ -14756,13 +15595,13 @@ } }, "@babel/plugin-proposal-class-static-block": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.18.6.tgz", - "integrity": "sha512-+I3oIiNxrCpup3Gi8n5IGMwj0gOCAjcJUSQEcotNnCCPMEnixawOQ+KeJPlgfjzx+FKQ1QSyZOWe7wmoJp7vhw==", + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.21.0.tgz", + "integrity": "sha512-XP5G9MWNUskFuP30IfFSEFB0Z6HzLIUcjYM4bYOPHXl7eiJ9HFv8tWj6TXTN5QODiEhDZAeI4hLok2iHFFV4hw==", "dev": true, "requires": { - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", + "@babel/helper-create-class-features-plugin": "^7.21.0", + "@babel/helper-plugin-utils": "^7.20.2", "@babel/plugin-syntax-class-static-block": "^7.14.5" } }, @@ -14797,12 +15636,12 @@ } }, "@babel/plugin-proposal-logical-assignment-operators": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.18.9.tgz", - "integrity": "sha512-128YbMpjCrP35IOExw2Fq+x55LMP42DzhOhX2aNNIdI9avSWl2PI0yuBWarr3RYpZBSPtabfadkH2yeRiMD61Q==", + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.20.7.tgz", + "integrity": "sha512-y7C7cZgpMIjWlKE5T7eJwp+tnRYM89HmRvWM5EQuB5BoHEONjmQ8lSNmBUwOyy/GFRsohJED51YBF79hE1djug==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.18.9", + "@babel/helper-plugin-utils": "^7.20.2", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" } }, @@ -14827,16 +15666,16 @@ } }, "@babel/plugin-proposal-object-rest-spread": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.18.9.tgz", - "integrity": "sha512-kDDHQ5rflIeY5xl69CEqGEZ0KY369ehsCIEbTGb4siHG5BE9sga/T0r0OUwyZNLMmZE79E1kbsqAjwFCW4ds6Q==", + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.7.tgz", + "integrity": "sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==", "dev": true, "requires": { - "@babel/compat-data": "^7.18.8", - "@babel/helper-compilation-targets": "^7.18.9", - "@babel/helper-plugin-utils": "^7.18.9", + "@babel/compat-data": "^7.20.5", + "@babel/helper-compilation-targets": "^7.20.7", + "@babel/helper-plugin-utils": "^7.20.2", "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.18.8" + "@babel/plugin-transform-parameters": "^7.20.7" } }, "@babel/plugin-proposal-optional-catch-binding": { @@ -14850,13 +15689,13 @@ } }, "@babel/plugin-proposal-optional-chaining": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.18.9.tgz", - "integrity": "sha512-v5nwt4IqBXihxGsW2QmCWMDS3B3bzGIk/EQVZz2ei7f3NJl8NzAJVvUmpDW5q1CRNY+Beb/k58UAH1Km1N411w==", + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.21.0.tgz", + "integrity": "sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", "@babel/plugin-syntax-optional-chaining": "^7.8.3" } }, @@ -14871,14 +15710,14 @@ } }, "@babel/plugin-proposal-private-property-in-object": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.18.6.tgz", - "integrity": "sha512-9Rysx7FOctvT5ouj5JODjAFAkgGoudQuLPamZb0v1TGLpapdNaftzifU8NTWQm0IRjqoYypdrSmyWgkocDQ8Dw==", + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0.tgz", + "integrity": "sha512-ha4zfehbJjc5MmXBlHec1igel5TJXXLDDRbuJ4+XT2TJcyD9/V1919BA8gMvsdHcNMBy4WBUBiRb3nw/EQUtBw==", "dev": true, "requires": { "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", + "@babel/helper-create-class-features-plugin": "^7.21.0", + "@babel/helper-plugin-utils": "^7.20.2", "@babel/plugin-syntax-private-property-in-object": "^7.14.5" } }, @@ -14938,12 +15777,12 @@ } }, "@babel/plugin-syntax-import-assertions": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.18.6.tgz", - "integrity": "sha512-/DU3RXad9+bZwrgWJQKbr39gYbJpLJHezqEzRzi/BHRlJ9zsQb4CK2CA/5apllXNomwA1qHwzvHl+AdEmC5krQ==", + "version": "7.20.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.20.0.tgz", + "integrity": "sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.19.0" } }, "@babel/plugin-syntax-json-strings": { @@ -15028,23 +15867,23 @@ } }, "@babel/plugin-transform-arrow-functions": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.18.6.tgz", - "integrity": "sha512-9S9X9RUefzrsHZmKMbDXxweEH+YlE8JJEuat9FdvW9Qh1cw7W64jELCtWNkPBPX5En45uy28KGvA/AySqUh8CQ==", + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.21.5.tgz", + "integrity": "sha512-wb1mhwGOCaXHDTcsRYMKF9e5bbMgqwxtqa2Y1ifH96dXJPwbuLX9qHy3clhrxVqgMz7nyNXs8VkxdH8UBcjKqA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.21.5" } }, "@babel/plugin-transform-async-to-generator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.18.6.tgz", - "integrity": "sha512-ARE5wZLKnTgPW7/1ftQmSi1CmkqqHo2DNmtztFhvgtOWSDfq0Cq9/9L+KnZNYSNrydBekhW3rwShduf59RoXag==", + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.20.7.tgz", + "integrity": "sha512-Uo5gwHPT9vgnSXQxqGtpdufUiWp96gk7yiP4Mp5bm1QMkEmLXBO7PAGYbKoJ6DhAwiNkcHFBol/x5zZZkL/t0Q==", "dev": true, "requires": { "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-remap-async-to-generator": "^7.18.6" + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-remap-async-to-generator": "^7.18.9" } }, "@babel/plugin-transform-block-scoped-functions": { @@ -15057,46 +15896,48 @@ } }, "@babel/plugin-transform-block-scoping": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.18.9.tgz", - "integrity": "sha512-5sDIJRV1KtQVEbt/EIBwGy4T01uYIo4KRB3VUqzkhrAIOGx7AoctL9+Ux88btY0zXdDyPJ9mW+bg+v+XEkGmtw==", + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.21.0.tgz", + "integrity": "sha512-Mdrbunoh9SxwFZapeHVrwFmri16+oYotcZysSzhNIVDwIAb1UV+kvnxULSYq9J3/q5MDG+4X6w8QVgD1zhBXNQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.18.9" + "@babel/helper-plugin-utils": "^7.20.2" } }, "@babel/plugin-transform-classes": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.18.9.tgz", - "integrity": "sha512-EkRQxsxoytpTlKJmSPYrsOMjCILacAjtSVkd4gChEe2kXjFCun3yohhW5I7plXJhCemM0gKsaGMcO8tinvCA5g==", + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.21.0.tgz", + "integrity": "sha512-RZhbYTCEUAe6ntPehC4hlslPWosNHDox+vAs4On/mCLRLfoDVHf6hVEd7kuxr1RnHwJmxFfUM3cZiZRmPxJPXQ==", "dev": true, "requires": { "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-compilation-targets": "^7.20.7", "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.18.9", + "@babel/helper-function-name": "^7.21.0", "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/helper-replace-supers": "^7.18.9", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-replace-supers": "^7.20.7", "@babel/helper-split-export-declaration": "^7.18.6", "globals": "^11.1.0" } }, "@babel/plugin-transform-computed-properties": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.18.9.tgz", - "integrity": "sha512-+i0ZU1bCDymKakLxn5srGHrsAPRELC2WIbzwjLhHW9SIE1cPYkLCL0NlnXMZaM1vhfgA2+M7hySk42VBvrkBRw==", + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.21.5.tgz", + "integrity": "sha512-TR653Ki3pAwxBxUe8srfF3e4Pe3FTA46uaNHYyQwIoM4oWKSoOZiDNyHJ0oIoDIUPSRQbQG7jzgVBX3FPVne1Q==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.18.9" + "@babel/helper-plugin-utils": "^7.21.5", + "@babel/template": "^7.20.7" } }, "@babel/plugin-transform-destructuring": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.18.9.tgz", - "integrity": "sha512-p5VCYNddPLkZTq4XymQIaIfZNJwT9YsjkPOhkVEqt6QIpQFZVM9IltqqYpOEkJoN1DPznmxUDyZ5CTZs/ZCuHA==", + "version": "7.21.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.21.3.tgz", + "integrity": "sha512-bp6hwMFzuiE4HqYEyoGJ/V2LeIWn+hLVKc4pnj++E5XQptwhtcGmSayM029d/j2X1bPKGTlsyPwAubuU22KhMA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.18.9" + "@babel/helper-plugin-utils": "^7.20.2" } }, "@babel/plugin-transform-dotall-regex": { @@ -15129,12 +15970,12 @@ } }, "@babel/plugin-transform-for-of": { - "version": "7.18.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.8.tgz", - "integrity": "sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ==", + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.21.5.tgz", + "integrity": "sha512-nYWpjKW/7j/I/mZkGVgHJXh4bA1sfdFnJoOXwJuj4m3Q2EraO/8ZyrkCau9P5tbHQk01RMSt6KYLCsW7730SXQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.21.5" } }, "@babel/plugin-transform-function-name": { @@ -15167,39 +16008,36 @@ } }, "@babel/plugin-transform-modules-amd": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.18.6.tgz", - "integrity": "sha512-Pra5aXsmTsOnjM3IajS8rTaLCy++nGM4v3YR4esk5PCsyg9z8NA5oQLwxzMUtDBd8F+UmVza3VxoAaWCbzH1rg==", + "version": "7.20.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.20.11.tgz", + "integrity": "sha512-NuzCt5IIYOW0O30UvqktzHYR2ud5bOWbY0yaxWZ6G+aFzOMJvrs5YHNikrbdaT15+KNO31nPOy5Fim3ku6Zb5g==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", - "babel-plugin-dynamic-import-node": "^2.3.3" + "@babel/helper-module-transforms": "^7.20.11", + "@babel/helper-plugin-utils": "^7.20.2" } }, "@babel/plugin-transform-modules-commonjs": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.18.6.tgz", - "integrity": "sha512-Qfv2ZOWikpvmedXQJDSbxNqy7Xr/j2Y8/KfijM0iJyKkBTmWuvCA1yeH1yDM7NJhBW/2aXxeucLj6i80/LAJ/Q==", + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.21.5.tgz", + "integrity": "sha512-OVryBEgKUbtqMoB7eG2rs6UFexJi6Zj6FDXx+esBLPTCxCNxAY9o+8Di7IsUGJ+AVhp5ncK0fxWUBd0/1gPhrQ==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-simple-access": "^7.18.6", - "babel-plugin-dynamic-import-node": "^2.3.3" + "@babel/helper-module-transforms": "^7.21.5", + "@babel/helper-plugin-utils": "^7.21.5", + "@babel/helper-simple-access": "^7.21.5" } }, "@babel/plugin-transform-modules-systemjs": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.18.9.tgz", - "integrity": "sha512-zY/VSIbbqtoRoJKo2cDTewL364jSlZGvn0LKOf9ntbfxOvjfmyrdtEEOAdswOswhZEb8UH3jDkCKHd1sPgsS0A==", + "version": "7.22.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.22.3.tgz", + "integrity": "sha512-V21W3bKLxO3ZjcBJZ8biSvo5gQ85uIXW2vJfh7JSWf/4SLUSr1tOoHX3ruN4+Oqa2m+BKfsxTR1I+PsvkIWvNw==", "dev": true, "requires": { "@babel/helper-hoist-variables": "^7.18.6", - "@babel/helper-module-transforms": "^7.18.9", - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/helper-validator-identifier": "^7.18.6", - "babel-plugin-dynamic-import-node": "^2.3.3" + "@babel/helper-module-transforms": "^7.22.1", + "@babel/helper-plugin-utils": "^7.21.5", + "@babel/helper-validator-identifier": "^7.19.1" } }, "@babel/plugin-transform-modules-umd": { @@ -15213,22 +16051,22 @@ } }, "@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.18.6.tgz", - "integrity": "sha512-UmEOGF8XgaIqD74bC8g7iV3RYj8lMf0Bw7NJzvnS9qQhM4mg+1WHKotUIdjxgD2RGrgFLZZPCFPFj3P/kVDYhg==", + "version": "7.22.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.3.tgz", + "integrity": "sha512-c6HrD/LpUdNNJsISQZpds3TXvfYIAbo+efE9aWmY/PmSRD0agrJ9cPMt4BmArwUQ7ZymEWTFjTyp+yReLJZh0Q==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-create-regexp-features-plugin": "^7.22.1", + "@babel/helper-plugin-utils": "^7.21.5" } }, "@babel/plugin-transform-new-target": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz", - "integrity": "sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==", + "version": "7.22.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.22.3.tgz", + "integrity": "sha512-5RuJdSo89wKdkRTqtM9RVVJzHum9c2s0te9rB7vZC1zKKxcioWIy+xcu4OoIAjyFZhb/bp5KkunuLin1q7Ct+w==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.21.5" } }, "@babel/plugin-transform-object-super": { @@ -15241,13 +16079,24 @@ "@babel/helper-replace-supers": "^7.18.6" } }, - "@babel/plugin-transform-parameters": { - "version": "7.18.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.18.8.tgz", - "integrity": "sha512-ivfbE3X2Ss+Fj8nnXvKJS6sjRG4gzwPMsP+taZC+ZzEGjAYlvENixmt1sZ5Ca6tWls+BlKSGKPJ6OOXvXCbkFg==", + "@babel/plugin-transform-optional-chaining": { + "version": "7.22.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.22.3.tgz", + "integrity": "sha512-63v3/UFFxhPKT8j8u1jTTGVyITxl7/7AfOqK8C5gz1rHURPUGe3y5mvIf68eYKGoBNahtJnTxBKug4BQOnzeJg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.21.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + } + }, + "@babel/plugin-transform-parameters": { + "version": "7.22.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.22.3.tgz", + "integrity": "sha512-x7QHQJHPuD9VmfpzboyGJ5aHEr9r7DsAsdxdhJiTB3J3j8dyl+NFZ+rX5Q2RWFDCs61c06qBfS4ys2QYn8UkMw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.21.5" } }, "@babel/plugin-transform-property-literals": { @@ -15260,13 +16109,13 @@ } }, "@babel/plugin-transform-regenerator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.18.6.tgz", - "integrity": "sha512-poqRI2+qiSdeldcz4wTSTXBRryoq3Gc70ye7m7UD5Ww0nE29IXqMl6r7Nd15WBgRd74vloEMlShtH6CKxVzfmQ==", + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.21.5.tgz", + "integrity": "sha512-ZoYBKDb6LyMi5yCsByQ5jmXsHAQDDYeexT1Szvlmui+lADvfSecr5Dxd/PkrTC3pAD182Fcju1VQkB4oCp9M+w==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "regenerator-transform": "^0.15.0" + "@babel/helper-plugin-utils": "^7.21.5", + "regenerator-transform": "^0.15.1" } }, "@babel/plugin-transform-reserved-words": { @@ -15279,16 +16128,16 @@ } }, "@babel/plugin-transform-runtime": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.18.6.tgz", - "integrity": "sha512-8uRHk9ZmRSnWqUgyae249EJZ94b0yAGLBIqzZzl+0iEdbno55Pmlt/32JZsHwXD9k/uZj18Aqqk35wBX4CBTXA==", + "version": "7.19.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.19.6.tgz", + "integrity": "sha512-PRH37lz4JU156lYFW1p8OxE5i7d6Sl/zV58ooyr+q1J1lnQPyg5tIiXlIwNVhJaY4W3TmOtdc8jqdXQcB1v5Yw==", "dev": true, "requires": { "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", - "babel-plugin-polyfill-corejs2": "^0.3.1", - "babel-plugin-polyfill-corejs3": "^0.5.2", - "babel-plugin-polyfill-regenerator": "^0.3.1", + "@babel/helper-plugin-utils": "^7.19.0", + "babel-plugin-polyfill-corejs2": "^0.3.3", + "babel-plugin-polyfill-corejs3": "^0.6.0", + "babel-plugin-polyfill-regenerator": "^0.4.1", "semver": "^6.3.0" }, "dependencies": { @@ -15310,13 +16159,13 @@ } }, "@babel/plugin-transform-spread": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.18.9.tgz", - "integrity": "sha512-39Q814wyoOPtIB/qGopNIL9xDChOE1pNU0ZY5dO0owhiVt/5kFm4li+/bBtwc7QotG0u5EPzqhZdjMtmqBqyQA==", + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.20.7.tgz", + "integrity": "sha512-ewBbHQ+1U/VnH1fxltbJqDeWBU1oNLG8Dj11uIv3xVf7nrQu0bPGe5Rf716r7K5Qz+SqtAOVswoVunoiBtGhxw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9" + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0" } }, "@babel/plugin-transform-sticky-regex": { @@ -15347,12 +16196,12 @@ } }, "@babel/plugin-transform-unicode-escapes": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz", - "integrity": "sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==", + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.21.5.tgz", + "integrity": "sha512-LYm/gTOwZqsYohlvFUe/8Tujz75LqqVC2w+2qPHLR+WyWHGCZPN1KBpJCJn+4Bk4gOkQy/IXKIge6az5MqwlOg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.18.9" + "@babel/helper-plugin-utils": "^7.21.5" } }, "@babel/plugin-transform-unicode-regex": { @@ -15366,29 +16215,29 @@ } }, "@babel/preset-env": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.18.6.tgz", - "integrity": "sha512-WrthhuIIYKrEFAwttYzgRNQ5hULGmwTj+D6l7Zdfsv5M7IWV/OZbUfbeL++Qrzx1nVJwWROIFhCHRYQV4xbPNw==", + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.20.2.tgz", + "integrity": "sha512-1G0efQEWR1EHkKvKHqbG+IN/QdgwfByUpM5V5QroDzGV2t3S/WXNQd693cHiHTlCFMpr9B6FkPFXDA2lQcKoDg==", "dev": true, "requires": { - "@babel/compat-data": "^7.18.6", - "@babel/helper-compilation-targets": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", + "@babel/compat-data": "^7.20.1", + "@babel/helper-compilation-targets": "^7.20.0", + "@babel/helper-plugin-utils": "^7.20.2", "@babel/helper-validator-option": "^7.18.6", "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.18.6", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.18.6", - "@babel/plugin-proposal-async-generator-functions": "^7.18.6", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.18.9", + "@babel/plugin-proposal-async-generator-functions": "^7.20.1", "@babel/plugin-proposal-class-properties": "^7.18.6", "@babel/plugin-proposal-class-static-block": "^7.18.6", "@babel/plugin-proposal-dynamic-import": "^7.18.6", - "@babel/plugin-proposal-export-namespace-from": "^7.18.6", + "@babel/plugin-proposal-export-namespace-from": "^7.18.9", "@babel/plugin-proposal-json-strings": "^7.18.6", - "@babel/plugin-proposal-logical-assignment-operators": "^7.18.6", + "@babel/plugin-proposal-logical-assignment-operators": "^7.18.9", "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6", "@babel/plugin-proposal-numeric-separator": "^7.18.6", - "@babel/plugin-proposal-object-rest-spread": "^7.18.6", + "@babel/plugin-proposal-object-rest-spread": "^7.20.2", "@babel/plugin-proposal-optional-catch-binding": "^7.18.6", - "@babel/plugin-proposal-optional-chaining": "^7.18.6", + "@babel/plugin-proposal-optional-chaining": "^7.18.9", "@babel/plugin-proposal-private-methods": "^7.18.6", "@babel/plugin-proposal-private-property-in-object": "^7.18.6", "@babel/plugin-proposal-unicode-property-regex": "^7.18.6", @@ -15397,7 +16246,7 @@ "@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-import-assertions": "^7.18.6", + "@babel/plugin-syntax-import-assertions": "^7.20.0", "@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", @@ -15410,41 +16259,41 @@ "@babel/plugin-transform-arrow-functions": "^7.18.6", "@babel/plugin-transform-async-to-generator": "^7.18.6", "@babel/plugin-transform-block-scoped-functions": "^7.18.6", - "@babel/plugin-transform-block-scoping": "^7.18.6", - "@babel/plugin-transform-classes": "^7.18.6", - "@babel/plugin-transform-computed-properties": "^7.18.6", - "@babel/plugin-transform-destructuring": "^7.18.6", + "@babel/plugin-transform-block-scoping": "^7.20.2", + "@babel/plugin-transform-classes": "^7.20.2", + "@babel/plugin-transform-computed-properties": "^7.18.9", + "@babel/plugin-transform-destructuring": "^7.20.2", "@babel/plugin-transform-dotall-regex": "^7.18.6", - "@babel/plugin-transform-duplicate-keys": "^7.18.6", + "@babel/plugin-transform-duplicate-keys": "^7.18.9", "@babel/plugin-transform-exponentiation-operator": "^7.18.6", - "@babel/plugin-transform-for-of": "^7.18.6", - "@babel/plugin-transform-function-name": "^7.18.6", - "@babel/plugin-transform-literals": "^7.18.6", + "@babel/plugin-transform-for-of": "^7.18.8", + "@babel/plugin-transform-function-name": "^7.18.9", + "@babel/plugin-transform-literals": "^7.18.9", "@babel/plugin-transform-member-expression-literals": "^7.18.6", - "@babel/plugin-transform-modules-amd": "^7.18.6", - "@babel/plugin-transform-modules-commonjs": "^7.18.6", - "@babel/plugin-transform-modules-systemjs": "^7.18.6", + "@babel/plugin-transform-modules-amd": "^7.19.6", + "@babel/plugin-transform-modules-commonjs": "^7.19.6", + "@babel/plugin-transform-modules-systemjs": "^7.19.6", "@babel/plugin-transform-modules-umd": "^7.18.6", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.18.6", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.19.1", "@babel/plugin-transform-new-target": "^7.18.6", "@babel/plugin-transform-object-super": "^7.18.6", - "@babel/plugin-transform-parameters": "^7.18.6", + "@babel/plugin-transform-parameters": "^7.20.1", "@babel/plugin-transform-property-literals": "^7.18.6", "@babel/plugin-transform-regenerator": "^7.18.6", "@babel/plugin-transform-reserved-words": "^7.18.6", "@babel/plugin-transform-shorthand-properties": "^7.18.6", - "@babel/plugin-transform-spread": "^7.18.6", + "@babel/plugin-transform-spread": "^7.19.0", "@babel/plugin-transform-sticky-regex": "^7.18.6", - "@babel/plugin-transform-template-literals": "^7.18.6", - "@babel/plugin-transform-typeof-symbol": "^7.18.6", - "@babel/plugin-transform-unicode-escapes": "^7.18.6", + "@babel/plugin-transform-template-literals": "^7.18.9", + "@babel/plugin-transform-typeof-symbol": "^7.18.9", + "@babel/plugin-transform-unicode-escapes": "^7.18.10", "@babel/plugin-transform-unicode-regex": "^7.18.6", "@babel/preset-modules": "^0.1.5", - "@babel/types": "^7.18.6", - "babel-plugin-polyfill-corejs2": "^0.3.1", - "babel-plugin-polyfill-corejs3": "^0.5.2", - "babel-plugin-polyfill-regenerator": "^0.3.1", - "core-js-compat": "^3.22.1", + "@babel/types": "^7.20.2", + "babel-plugin-polyfill-corejs2": "^0.3.3", + "babel-plugin-polyfill-corejs3": "^0.6.0", + "babel-plugin-polyfill-regenerator": "^0.4.1", + "core-js-compat": "^3.25.1", "semver": "^6.3.0" }, "dependencies": { @@ -15469,59 +16318,66 @@ "esutils": "^2.0.2" } }, + "@babel/regjsgen": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz", + "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==", + "dev": true + }, "@babel/runtime": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.18.6.tgz", - "integrity": "sha512-t9wi7/AW6XtKahAe20Yw0/mMljKq0B1r2fPdvaAdV/KPDZewFXdaaa6K7lxmZBZ8FBNpCiAT6iHPmd6QO9bKfQ==", + "version": "7.20.13", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.20.13.tgz", + "integrity": "sha512-gt3PKXs0DBoL9xCvOIIZ2NEqAGZqHjAnmVbfQtB620V0uReIQutpel14KcneZuer7UioY8ALKZ7iocavvzTNFA==", "dev": true, "requires": { - "regenerator-runtime": "^0.13.4" + "regenerator-runtime": "^0.13.11" } }, "@babel/template": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.6.tgz", - "integrity": "sha512-JoDWzPe+wgBsTTgdnIma3iHNFC7YVJoPssVBDjiHfNlyt4YcunDtcDOUmfVDfCK5MfdsaIoX9PkijPhjH3nYUw==", + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz", + "integrity": "sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==", "dev": true, "requires": { "@babel/code-frame": "^7.18.6", - "@babel/parser": "^7.18.6", - "@babel/types": "^7.18.6" + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7" } }, "@babel/traverse": { - "version": "7.18.11", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.18.11.tgz", - "integrity": "sha512-TG9PiM2R/cWCAy6BPJKeHzNbu4lPzOSZpeMfeNErskGpTJx6trEvFaVCbDvpcxwy49BKWmEPwiW8mrysNiDvIQ==", + "version": "7.22.4", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.22.4.tgz", + "integrity": "sha512-Tn1pDsjIcI+JcLKq1AVlZEr4226gpuAQTsLMorsYg9tuS/kG7nuwwJ4AB8jfQuEgb/COBwR/DqJxmoiYFu5/rQ==", "dev": true, "requires": { - "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.18.10", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.18.9", + "@babel/code-frame": "^7.21.4", + "@babel/generator": "^7.22.3", + "@babel/helper-environment-visitor": "^7.22.1", + "@babel/helper-function-name": "^7.21.0", "@babel/helper-hoist-variables": "^7.18.6", "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/parser": "^7.18.11", - "@babel/types": "^7.18.10", + "@babel/parser": "^7.22.4", + "@babel/types": "^7.22.4", "debug": "^4.1.0", "globals": "^11.1.0" }, "dependencies": { "@babel/generator": { - "version": "7.18.12", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.18.12.tgz", - "integrity": "sha512-dfQ8ebCN98SvyL7IxNMCUtZQSq5R7kxgN+r8qYTGDmmSion1hX2C0zq2yo1bsCDhXixokv1SAWTZUMYbO/V5zg==", + "version": "7.22.3", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.22.3.tgz", + "integrity": "sha512-C17MW4wlk//ES/CJDL51kPNwl+qiBQyN7b9SKyVp11BLGFeSPoVaHrv+MNt8jwQFhQWowW88z1eeBx3pFz9v8A==", "dev": true, "requires": { - "@babel/types": "^7.18.10", + "@babel/types": "^7.22.3", "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", "jsesc": "^2.5.1" } }, "@jridgewell/gen-mapping": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", - "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", "dev": true, "requires": { "@jridgewell/set-array": "^1.0.1", @@ -15532,13 +16388,13 @@ } }, "@babel/types": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.18.10.tgz", - "integrity": "sha512-MJvnbEiiNkpjo+LknnmRrqbY1GPUUggjv+wQVjetM/AONoupqRALB7I6jGqNUAZsKcRIEu2J6FRFvsczljjsaQ==", + "version": "7.22.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.4.tgz", + "integrity": "sha512-Tx9x3UBHTTsMSW85WB2kphxYQVvrZ/t1FxD88IpSgIjiUJlCm9z+xWIDwyo1vffTwSqteqyznB8ZE9vYYk16zA==", "dev": true, "requires": { - "@babel/helper-string-parser": "^7.18.10", - "@babel/helper-validator-identifier": "^7.18.6", + "@babel/helper-string-parser": "^7.21.5", + "@babel/helper-validator-identifier": "^7.19.1", "to-fast-properties": "^2.0.0" } }, @@ -15547,124 +16403,6 @@ "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==" }, - "@csstools/postcss-cascade-layers": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-1.0.5.tgz", - "integrity": "sha512-Id/9wBT7FkgFzdEpiEWrsVd4ltDxN0rI0QS0SChbeQiSuux3z21SJCRLu6h2cvCEUmaRi+VD0mHFj+GJD4GFnw==", - "dev": true, - "requires": { - "@csstools/selector-specificity": "^2.0.2", - "postcss-selector-parser": "^6.0.10" - } - }, - "@csstools/postcss-color-function": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-color-function/-/postcss-color-function-1.1.1.tgz", - "integrity": "sha512-Bc0f62WmHdtRDjf5f3e2STwRAl89N2CLb+9iAwzrv4L2hncrbDwnQD9PCq0gtAt7pOI2leIV08HIBUd4jxD8cw==", - "dev": true, - "requires": { - "@csstools/postcss-progressive-custom-properties": "^1.1.0", - "postcss-value-parser": "^4.2.0" - } - }, - "@csstools/postcss-font-format-keywords": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-font-format-keywords/-/postcss-font-format-keywords-1.0.1.tgz", - "integrity": "sha512-ZgrlzuUAjXIOc2JueK0X5sZDjCtgimVp/O5CEqTcs5ShWBa6smhWYbS0x5cVc/+rycTDbjjzoP0KTDnUneZGOg==", - "dev": true, - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "@csstools/postcss-hwb-function": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@csstools/postcss-hwb-function/-/postcss-hwb-function-1.0.2.tgz", - "integrity": "sha512-YHdEru4o3Rsbjmu6vHy4UKOXZD+Rn2zmkAmLRfPet6+Jz4Ojw8cbWxe1n42VaXQhD3CQUXXTooIy8OkVbUcL+w==", - "dev": true, - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "@csstools/postcss-ic-unit": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-ic-unit/-/postcss-ic-unit-1.0.1.tgz", - "integrity": "sha512-Ot1rcwRAaRHNKC9tAqoqNZhjdYBzKk1POgWfhN4uCOE47ebGcLRqXjKkApVDpjifL6u2/55ekkpnFcp+s/OZUw==", - "dev": true, - "requires": { - "@csstools/postcss-progressive-custom-properties": "^1.1.0", - "postcss-value-parser": "^4.2.0" - } - }, - "@csstools/postcss-is-pseudo-class": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-2.0.7.tgz", - "integrity": "sha512-7JPeVVZHd+jxYdULl87lvjgvWldYu+Bc62s9vD/ED6/QTGjy0jy0US/f6BG53sVMTBJ1lzKZFpYmofBN9eaRiA==", - "dev": true, - "requires": { - "@csstools/selector-specificity": "^2.0.0", - "postcss-selector-parser": "^6.0.10" - } - }, - "@csstools/postcss-normalize-display-values": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-normalize-display-values/-/postcss-normalize-display-values-1.0.1.tgz", - "integrity": "sha512-jcOanIbv55OFKQ3sYeFD/T0Ti7AMXc9nM1hZWu8m/2722gOTxFg7xYu4RDLJLeZmPUVQlGzo4jhzvTUq3x4ZUw==", - "dev": true, - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "@csstools/postcss-oklab-function": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-oklab-function/-/postcss-oklab-function-1.1.1.tgz", - "integrity": "sha512-nJpJgsdA3dA9y5pgyb/UfEzE7W5Ka7u0CX0/HIMVBNWzWemdcTH3XwANECU6anWv/ao4vVNLTMxhiPNZsTK6iA==", - "dev": true, - "requires": { - "@csstools/postcss-progressive-custom-properties": "^1.1.0", - "postcss-value-parser": "^4.2.0" - } - }, - "@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, - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "@csstools/postcss-stepped-value-functions": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-stepped-value-functions/-/postcss-stepped-value-functions-1.0.1.tgz", - "integrity": "sha512-dz0LNoo3ijpTOQqEJLY8nyaapl6umbmDcgj4AD0lgVQ572b2eqA1iGZYTTWhrcrHztWDDRAX2DGYyw2VBjvCvQ==", - "dev": true, - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "@csstools/postcss-trigonometric-functions": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@csstools/postcss-trigonometric-functions/-/postcss-trigonometric-functions-1.0.2.tgz", - "integrity": "sha512-woKaLO///4bb+zZC2s80l+7cm07M7268MsyG3M0ActXXEFi6SuhvriQYcb58iiKGbjwwIU7n45iRLEHypB47Og==", - "dev": true, - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "@csstools/postcss-unset-value": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@csstools/postcss-unset-value/-/postcss-unset-value-1.0.2.tgz", - "integrity": "sha512-c8J4roPBILnelAsdLr4XOAR/GsTm0GJi4XpcfvoWk3U6KiTCqiFYc63KhRMQQX35jYMp4Ao8Ij9+IZRgMfJp1g==", - "dev": true, - "requires": {} - }, - "@csstools/selector-specificity": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-2.0.2.tgz", - "integrity": "sha512-IkpVW/ehM1hWKln4fCA3NzJU8KwD+kIOvPZA4cqxoJHtE21CCzjyp+Kxbu0i5I4tBNOlXPL9mjwnWlL0VEG4Fg==", - "dev": true, - "requires": {} - }, "@dabh/diagnostics": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/@dabh/diagnostics/-/diagnostics-2.0.3.tgz", @@ -15681,6 +16419,160 @@ "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", "dev": true }, + "@esbuild/android-arm": { + "version": "0.17.8", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.17.8.tgz", + "integrity": "sha512-0/rb91GYKhrtbeglJXOhAv9RuYimgI8h623TplY2X+vA4EXnk3Zj1fXZreJ0J3OJJu1bwmb0W7g+2cT/d8/l/w==", + "dev": true, + "optional": true + }, + "@esbuild/android-arm64": { + "version": "0.17.8", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.17.8.tgz", + "integrity": "sha512-oa/N5j6v1svZQs7EIRPqR8f+Bf8g6HBDjD/xHC02radE/NjKHK7oQmtmLxPs1iVwYyvE+Kolo6lbpfEQ9xnhxQ==", + "dev": true, + "optional": true + }, + "@esbuild/android-x64": { + "version": "0.17.8", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.17.8.tgz", + "integrity": "sha512-bTliMLqD7pTOoPg4zZkXqCDuzIUguEWLpeqkNfC41ODBHwoUgZ2w5JBeYimv4oP6TDVocoYmEhZrCLQTrH89bg==", + "dev": true, + "optional": true + }, + "@esbuild/darwin-arm64": { + "version": "0.17.8", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.17.8.tgz", + "integrity": "sha512-ghAbV3ia2zybEefXRRm7+lx8J/rnupZT0gp9CaGy/3iolEXkJ6LYRq4IpQVI9zR97ID80KJVoUlo3LSeA/sMAg==", + "dev": true, + "optional": true + }, + "@esbuild/darwin-x64": { + "version": "0.17.8", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.17.8.tgz", + "integrity": "sha512-n5WOpyvZ9TIdv2V1K3/iIkkJeKmUpKaCTdun9buhGRWfH//osmUjlv4Z5mmWdPWind/VGcVxTHtLfLCOohsOXw==", + "dev": true, + "optional": true + }, + "@esbuild/freebsd-arm64": { + "version": "0.17.8", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.8.tgz", + "integrity": "sha512-a/SATTaOhPIPFWvHZDoZYgxaZRVHn0/LX1fHLGfZ6C13JqFUZ3K6SMD6/HCtwOQ8HnsNaEeokdiDSFLuizqv5A==", + "dev": true, + "optional": true + }, + "@esbuild/freebsd-x64": { + "version": "0.17.8", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.17.8.tgz", + "integrity": "sha512-xpFJb08dfXr5+rZc4E+ooZmayBW6R3q59daCpKZ/cDU96/kvDM+vkYzNeTJCGd8rtO6fHWMq5Rcv/1cY6p6/0Q==", + "dev": true, + "optional": true + }, + "@esbuild/linux-arm": { + "version": "0.17.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.17.8.tgz", + "integrity": "sha512-6Ij8gfuGszcEwZpi5jQIJCVIACLS8Tz2chnEBfYjlmMzVsfqBP1iGmHQPp7JSnZg5xxK9tjCc+pJ2WtAmPRFVA==", + "dev": true, + "optional": true + }, + "@esbuild/linux-arm64": { + "version": "0.17.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.17.8.tgz", + "integrity": "sha512-v3iwDQuDljLTxpsqQDl3fl/yihjPAyOguxuloON9kFHYwopeJEf1BkDXODzYyXEI19gisEsQlG1bM65YqKSIww==", + "dev": true, + "optional": true + }, + "@esbuild/linux-ia32": { + "version": "0.17.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.17.8.tgz", + "integrity": "sha512-8svILYKhE5XetuFk/B6raFYIyIqydQi+GngEXJgdPdI7OMKUbSd7uzR02wSY4kb53xBrClLkhH4Xs8P61Q2BaA==", + "dev": true, + "optional": true + }, + "@esbuild/linux-loong64": { + "version": "0.17.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.17.8.tgz", + "integrity": "sha512-B6FyMeRJeV0NpyEOYlm5qtQfxbdlgmiGdD+QsipzKfFky0K5HW5Td6dyK3L3ypu1eY4kOmo7wW0o94SBqlqBSA==", + "dev": true, + "optional": true + }, + "@esbuild/linux-mips64el": { + "version": "0.17.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.17.8.tgz", + "integrity": "sha512-CCb67RKahNobjm/eeEqeD/oJfJlrWyw29fgiyB6vcgyq97YAf3gCOuP6qMShYSPXgnlZe/i4a8WFHBw6N8bYAA==", + "dev": true, + "optional": true + }, + "@esbuild/linux-ppc64": { + "version": "0.17.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.17.8.tgz", + "integrity": "sha512-bytLJOi55y55+mGSdgwZ5qBm0K9WOCh0rx+vavVPx+gqLLhxtSFU0XbeYy/dsAAD6xECGEv4IQeFILaSS2auXw==", + "dev": true, + "optional": true + }, + "@esbuild/linux-riscv64": { + "version": "0.17.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.17.8.tgz", + "integrity": "sha512-2YpRyQJmKVBEHSBLa8kBAtbhucaclb6ex4wchfY0Tj3Kg39kpjeJ9vhRU7x4mUpq8ISLXRXH1L0dBYjAeqzZAw==", + "dev": true, + "optional": true + }, + "@esbuild/linux-s390x": { + "version": "0.17.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.17.8.tgz", + "integrity": "sha512-QgbNY/V3IFXvNf11SS6exkpVcX0LJcob+0RWCgV9OiDAmVElnxciHIisoSix9uzYzScPmS6dJFbZULdSAEkQVw==", + "dev": true, + "optional": true + }, + "@esbuild/linux-x64": { + "version": "0.17.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.17.8.tgz", + "integrity": "sha512-mM/9S0SbAFDBc4OPoyP6SEOo5324LpUxdpeIUUSrSTOfhHU9hEfqRngmKgqILqwx/0DVJBzeNW7HmLEWp9vcOA==", + "dev": true, + "optional": true + }, + "@esbuild/netbsd-x64": { + "version": "0.17.8", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.17.8.tgz", + "integrity": "sha512-eKUYcWaWTaYr9zbj8GertdVtlt1DTS1gNBWov+iQfWuWyuu59YN6gSEJvFzC5ESJ4kMcKR0uqWThKUn5o8We6Q==", + "dev": true, + "optional": true + }, + "@esbuild/openbsd-x64": { + "version": "0.17.8", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.17.8.tgz", + "integrity": "sha512-Vc9J4dXOboDyMXKD0eCeW0SIeEzr8K9oTHJU+Ci1mZc5njPfhKAqkRt3B/fUNU7dP+mRyralPu8QUkiaQn7iIg==", + "dev": true, + "optional": true + }, + "@esbuild/sunos-x64": { + "version": "0.17.8", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.17.8.tgz", + "integrity": "sha512-0xvOTNuPXI7ft1LYUgiaXtpCEjp90RuBBYovdd2lqAFxje4sEucurg30M1WIm03+3jxByd3mfo+VUmPtRSVuOw==", + "dev": true, + "optional": true + }, + "@esbuild/win32-arm64": { + "version": "0.17.8", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.17.8.tgz", + "integrity": "sha512-G0JQwUI5WdEFEnYNKzklxtBheCPkuDdu1YrtRrjuQv30WsYbkkoixKxLLv8qhJmNI+ATEWquZe/N0d0rpr55Mg==", + "dev": true, + "optional": true + }, + "@esbuild/win32-ia32": { + "version": "0.17.8", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.17.8.tgz", + "integrity": "sha512-Fqy63515xl20OHGFykjJsMnoIWS+38fqfg88ClvPXyDbLtgXal2DTlhb1TfTX34qWi3u4I7Cq563QcHpqgLx8w==", + "dev": true, + "optional": true + }, + "@esbuild/win32-x64": { + "version": "0.17.8", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.17.8.tgz", + "integrity": "sha512-1iuezdyDNngPnz8rLRDO2C/ZZ/emJLb72OsZeqQ6gL6Avko/XCXZw+NuxBSNhBAP13Hie418V7VMt9et1FMvpg==", + "dev": true, + "optional": true + }, "@firebase/analytics": { "version": "0.8.0", "resolved": "https://registry.npmjs.org/@firebase/analytics/-/analytics-0.8.0.tgz", @@ -16233,6 +17125,71 @@ } } }, + "@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "dev": true, + "requires": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "dependencies": { + "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 + }, + "ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true + }, + "emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true + }, + "string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "requires": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + } + }, + "strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "requires": { + "ansi-regex": "^6.0.1" + } + }, + "wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dev": true, + "requires": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + } + } + } + }, "@istanbuljs/load-nyc-config": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", @@ -16299,12 +17256,12 @@ "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==" }, "@jridgewell/trace-mapping": { - "version": "0.3.15", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.15.tgz", - "integrity": "sha512-oWZNOULl+UbhsgB51uuZzglikfIKSUBO/M9W2OfEjn7cmqoAiCgmv9lyACTUacZwBz0ITnJ2NqjU8Tx0DHL88g==", + "version": "0.3.18", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz", + "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==", "requires": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" + "@jridgewell/resolve-uri": "3.1.0", + "@jridgewell/sourcemap-codec": "1.4.14" } }, "@leichtgewicht/ip-codec": { @@ -16313,10 +17270,761 @@ "integrity": "sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==", "dev": true }, + "@material/animation": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/animation/-/animation-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-5osi1z4JQIXcklPALbH/zTfOm2pDzHt9Fxm7ZyURy250xIZj6QjULRzPTnzOhC2ropfix9ra2Cfggbf0dcRbEQ==", + "requires": { + "tslib": "^2.1.0" + } + }, + "@material/auto-init": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/auto-init/-/auto-init-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-OigQTmrVzkcGvxNjOaIe5oItTFPgrO9xLewvharDI6m6yvO1z7OBnkcW+sFN6ggLNYNxd0O1u9v64vMsmeDABQ==", + "requires": { + "@material/base": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "@material/banner": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/banner/-/banner-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-PqtGp3KWzdu58rWv/DIvSfe38m5YKOBbAAbBinSvgadBb/da+IE1t5F7YPNKE1T5lJsQBGVUYx6QBIeXm+aI/A==", + "requires": { + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/button": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/shape": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/tokens": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "@material/base": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/base/-/base-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-oOaqb/SfjWwTKsdJUZmeh/Qrs41nIJI0N+zELsxnvbGjSIN1ZMAKYZFPMahqvC68OJ6+5CvJM8PoTNs5l+B8IQ==", + "requires": { + "tslib": "^2.1.0" + } + }, + "@material/button": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/button/-/button-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-Nkekk4edeX+ObVOa7UlwavaHdmckPV5wU4SAJf3iA3R61cmz+KsgAgpzfcwv5WfNhIlc2nLu8QYEecpHdo9d/w==", + "requires": { + "@material/density": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/focus-ring": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/shape": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/tokens": "15.0.0-canary.684e33d25.0", + "@material/touch-target": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "@material/card": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/card/-/card-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-xhyB7XX5KkEiCEqwSPkl58ZGYL6xFdnY62zimyBXJRG/Eaa0Swj3kW20hVCpt4f7c9Zmp8Se27rg8vnKmhvO3g==", + "requires": { + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/shape": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/tokens": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "@material/checkbox": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/checkbox/-/checkbox-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-NFpM3TS924PmVsk2KQLNU95OYCf8ZwYgzeqfnAexU0bEfjUJXINBun2Go0AaeOUMjuvWUe+byjrXgv8SFYbMUA==", + "requires": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/density": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/focus-ring": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/touch-target": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "@material/chips": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/chips/-/chips-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-z4ajQ4NnsAQ/Si9tZ4xmxzjj2Qb+vW++4QjCjjjwAGIZbCe0xglAnMh2t66XLJUxt7RoKZuZVEO7ZqcFZpvJFQ==", + "requires": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/checkbox": "15.0.0-canary.684e33d25.0", + "@material/density": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/focus-ring": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/shape": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/tokens": "15.0.0-canary.684e33d25.0", + "@material/touch-target": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", + "safevalues": "^0.3.4", + "tslib": "^2.1.0" + } + }, + "@material/circular-progress": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/circular-progress/-/circular-progress-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-G6qD0nGNtEUwWnAMJuA9INYFpZoKtx7KFjBaPF4Ol2YLHtmShALNAYyn54TMAK8AZ2IpW08PXjGS7Ye88vrdEQ==", + "requires": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/progress-indicator": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "@material/data-table": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/data-table/-/data-table-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-+wDw1DDDFfAsKAMzs84f/5GCjux39zjNfW8tL4wFbkWNwewmQrG9zaQMJhBpVOtLCrM8Gj6SOgOANqgqoCjvGg==", + "requires": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/checkbox": "15.0.0-canary.684e33d25.0", + "@material/density": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/icon-button": "15.0.0-canary.684e33d25.0", + "@material/linear-progress": "15.0.0-canary.684e33d25.0", + "@material/list": "15.0.0-canary.684e33d25.0", + "@material/menu": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/select": "15.0.0-canary.684e33d25.0", + "@material/shape": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/tokens": "15.0.0-canary.684e33d25.0", + "@material/touch-target": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "@material/density": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/density/-/density-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-661yEVRMGrlq6S6WuSbPRO+ZwpdUOg2glCc7y96doM6itSLOa3UEAldjOLfsYZVB74GnKCiuDp//QmfoRyYTfA==", + "requires": { + "tslib": "^2.1.0" + } + }, + "@material/dialog": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/dialog/-/dialog-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-szn0dHnfeQTSOC6SSRSGAzX6Tnx+4NnSMUwNkXm+3bwjds8ZVK26+DXwLrP5f3ID5F1K5sFsRf2INo5/TNTHyQ==", + "requires": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/button": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/icon-button": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/shape": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/tokens": "15.0.0-canary.684e33d25.0", + "@material/touch-target": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "@material/dom": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/dom/-/dom-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-7pEJLYov+tGgfuD8mZxoVU6rWtPI8ppjTAhz+F27Hz9FG0JETMWTKpDPBXLnKvX7vhIxL83GvZ9geNHCe8Hfog==", + "requires": { + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "@material/drawer": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/drawer/-/drawer-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-/KMckLf1PYU/H3PXnS4e0aFl03qG3JlSv4LGgX6juJufcONqGTl/m63EMO/L/eUy6H1CRrXmVDjik/jzHLyDhg==", + "requires": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/list": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/shape": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "@material/elevation": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/elevation/-/elevation-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-WDF8SsRtq3rXUbVVbd9K4DUijIPH0bUFSOreVYxudpuxAfTlDS5+aeS1EK9UIBFYLuba4u5wVT2tDv6e1RTfrQ==", + "requires": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "@material/fab": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/fab/-/fab-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-KCu87rWOKEAe9vZcAm6K8XazYSWPNjMG+OhrbPjHW6bCO7as1YCgtmkBkhff7csY/rFmcVpIy884xtUfLmSudQ==", + "requires": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/focus-ring": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/shape": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/tokens": "15.0.0-canary.684e33d25.0", + "@material/touch-target": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "@material/feature-targeting": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/feature-targeting/-/feature-targeting-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-HyH1erNTSjS63sigNSUMaCd0nJhTNdDFeC+myrxwtDaQm+uYJ8troCNtQM3g6mx0XATNtX5aTOoPmrM6yVVi1A==", + "requires": { + "tslib": "^2.1.0" + } + }, + "@material/floating-label": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/floating-label/-/floating-label-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-f7TPp6bKpGvV3sYYiZHSGlrixXKkXXITW3Esp7KB9jRq42c0H82novmdwvY0eTef4ootmA2JEysr78KQfHBUPg==", + "requires": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "@material/focus-ring": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/focus-ring/-/focus-ring-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-ikw2RVUfgzXChpWIzPH1VzRvTjYb5ZKj4H+CZf7jqPUXMstFOZg90Bp7ARLZHqYiyNMuUq3zUTHozS6iHorSqg==", + "requires": { + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0" + } + }, + "@material/form-field": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/form-field/-/form-field-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-vpF9N/uq5no/7+8GAbEH0868FhOuBgxAWRr1Sfb+jthKfBr8OS/wPU/AHzZHdHdAm7PQynbeOXfDsX2dI//PDA==", + "requires": { + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "@material/icon-button": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/icon-button/-/icon-button-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-wMI+XGzmIN/o2ePBKg2hLyx7H4pXCRAyyIKMQS1FMp1UKa2tYmiHVX/V8skhKwCqxg3i6Ls/LxMjfPxTR18WvQ==", + "requires": { + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/density": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/focus-ring": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/touch-target": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "@material/image-list": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/image-list/-/image-list-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-Ol+uaHYBe5R/cgzlfh5ONnMVX0wO6fV74JMUcQCQlxP6lXau/edARo4tkRc7A7UJUkU3VRv0EpEjLoCRNUPGaA==", + "requires": { + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/shape": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "@material/layout-grid": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/layout-grid/-/layout-grid-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-ALXE1mqFNb/RB2lVRQ3/r1Aufw2mFZnOjRE+boYDVepmAG/xWyPCyaGoavELJF5l4GAb0tXi8wA/8HeGbLOpuA==", + "requires": { + "tslib": "^2.1.0" + } + }, + "@material/line-ripple": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/line-ripple/-/line-ripple-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-7hRx8C/e9i0P6pgQpNOMfTwSS2r1fwEvBL72QDVGLtLuoKKwsjjgP6Z0Jat/GeHJe87u9LQvGBoD4upt+of/HA==", + "requires": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "@material/linear-progress": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/linear-progress/-/linear-progress-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-iJclt7mKmcMk6pqD7ocXKfCWZhqBoODp7N593jYlxVpTJuEz2wiVAjZUDn/YGj/Uz3CRH+2YFfOiLr9pwWjhDg==", + "requires": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/progress-indicator": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "@material/list": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/list/-/list-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-rQ+FCSdzmwTcT00IYE0uRV3CS4oGSccKFl9hkcF+aHFW61L7ORh/SCGUDPrEfQFrFkMn5f8qroVJjpUAMXBz4g==", + "requires": { + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/density": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/shape": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/tokens": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "@material/menu": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/menu/-/menu-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-r7wzDLSGSI9629/mfpvsMzkVxpmV75kcD3IrW0Pcu6/Bv/1xi0EvjcUXzNJJoQlwN4Zj35Ymz/PCjZkIDIz68Q==", + "requires": { + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/list": "15.0.0-canary.684e33d25.0", + "@material/menu-surface": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/shape": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/tokens": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "@material/menu-surface": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/menu-surface/-/menu-surface-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-RVO5GAYcfWPaKwxsF/NhUAmrYXQCQBKvRQW0TIlbmAJz6lcFeTs6YZqF3u1C7qrL3ZQGz+sur/7ywj6QU0oMow==", + "requires": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/shape": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "@material/notched-outline": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/notched-outline/-/notched-outline-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-9YHcBkvJLPVYzkHcWoTpBZAFrEd+j1hjhGxLhh0LuNrZe8VroUkZD1TTnUAPHRG3os6EqEWWaKb0RN+aPIF2yQ==", + "requires": { + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/floating-label": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/shape": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "@material/progress-indicator": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/progress-indicator/-/progress-indicator-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-c0icji4faeNWUoqGENGC7Hav0Puxh0RwXIDVizffaUxKIGbajpIp5+4Zop73fK/xFLGMB/npg7TbP+aCGjQ3fw==", + "requires": { + "tslib": "^2.1.0" + } + }, + "@material/radio": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/radio/-/radio-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-U3Eh8sNUA8trDla1Bq8Bo02foxYvtoewaKeF8A8tAju81XZ4jRiftfOsOWZDZEHCVbbCB2QwvutvFlnay5n+Aw==", + "requires": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/density": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/focus-ring": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/touch-target": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "@material/ripple": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/ripple/-/ripple-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-RyePu7SjIm/OuyyEieZ/gxiPYkNZOZHeid72WRcN9ofdlljj2pifcdPvcfZA+v/DMS33xo5GjG2L/Qj6ClWrKw==", + "requires": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "@material/rtl": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/rtl/-/rtl-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-NqdJl8Ayupp1Th+vCNCpVQHbUFOuF7TCte9LD1norTIBUF/QizIxWby2W5uUEiPbnh5j9PmE1CJtfLwKun3pcw==", + "requires": { + "@material/theme": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "@material/segmented-button": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/segmented-button/-/segmented-button-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-bEGgg8vgXNLyukyV8HRjFMuQ6t6nm5LQ4Pgm22um61Yc8qyi0BOqV41OR4SVdUrUqZxh1aVD+p+4NN03+LfQXw==", + "requires": { + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/touch-target": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "@material/select": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/select/-/select-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-kf178/2TeEinTv0mgmSBcmmExQ2h7a7dtR1E3WuqQgisJ/R6+zVLMkC2CnfIyzxYX2vkuUTG0ue3Reh/6XiqSg==", + "requires": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/density": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/floating-label": "15.0.0-canary.684e33d25.0", + "@material/line-ripple": "15.0.0-canary.684e33d25.0", + "@material/list": "15.0.0-canary.684e33d25.0", + "@material/menu": "15.0.0-canary.684e33d25.0", + "@material/menu-surface": "15.0.0-canary.684e33d25.0", + "@material/notched-outline": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/shape": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/tokens": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "@material/shape": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/shape/-/shape-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-aEelpaTFmpnCji3TUGP9bVCS/bRVjUmLTHBPZtuu1gOrUVVtJ6kYOg73dZNJF+XOoNL2yOX/LRcKwsop29tptA==", + "requires": { + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "@material/slider": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/slider/-/slider-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-WVyK+2pSNSZmj07M2K/a3TADoQ9FBCndfNC/vE7/wGIg4dddJJK5KvQ+yruf9R2cSzTL/S1sZ5WpyyeM8E9HTw==", + "requires": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/tokens": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "@material/snackbar": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/snackbar/-/snackbar-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-itO+DCkOannZzR1/cCHcqAm7ifhuFvXmDItNoA8qLEcAyJDJJRkhpwj3XQ01yuo9gBFcSctp7Txt7e+Hncm/Jg==", + "requires": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/button": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/icon-button": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/shape": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/tokens": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "@material/switch": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/switch/-/switch-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-Jxi0gl92yvvZZsAPxvVHzXx2ga+T/djMow98jvEczmpUorWnAhgiCr9CsSSRoosahWyRB8NLZOxUQrACxvffjw==", + "requires": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/density": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/focus-ring": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/shape": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/tokens": "15.0.0-canary.684e33d25.0", + "safevalues": "^0.3.4", + "tslib": "^2.1.0" + } + }, + "@material/tab": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/tab/-/tab-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-WQL3wj9syHNcfe8KbgGGUcA34M8C/xZ+n0Fkkh8Kk6puVwaU+xqUNihsxPY6YzKpmh4PZ4oJaBdiN8zvFT1zqQ==", + "requires": { + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/focus-ring": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/tab-indicator": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/tokens": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "@material/tab-bar": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/tab-bar/-/tab-bar-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-SW/cMaDsIGGkM1ag3A7GJRlmr8eXmObWsvitQJzh6Azr5zzZtSI+GQygkMesAEE1gbpqOVN8d40rh3H7VVIAcA==", + "requires": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/density": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/tab": "15.0.0-canary.684e33d25.0", + "@material/tab-indicator": "15.0.0-canary.684e33d25.0", + "@material/tab-scroller": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/tokens": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "@material/tab-indicator": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/tab-indicator/-/tab-indicator-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-kKICqSPqOlaf0lzaFFCmuOqPXJC+cK48Qmsc+m5o6fJhkmuZRCYpIwB2JeP+uZSOq/bTH+SrPtCtnVlgWg6ksA==", + "requires": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "@material/tab-scroller": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/tab-scroller/-/tab-scroller-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-H6EU/TSiK/M2DyyORX5GEtXD9rKYxTMHC2VxsNWARPMFJGzgeW2ugYkFv+rKI1/c0bs0CJ4e+qFnOlBsQXZvyQ==", + "requires": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/tab": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "@material/textfield": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/textfield/-/textfield-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-OvgpDXjvpyJTtAWskO69IDybFvDNzr9w2PN/Fk7yFm+uNVupaWz1Ew8lZ4gGslaTNSVmh2XcsvmzxcLINSiiNg==", + "requires": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/density": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/floating-label": "15.0.0-canary.684e33d25.0", + "@material/line-ripple": "15.0.0-canary.684e33d25.0", + "@material/notched-outline": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/shape": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/tokens": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "@material/theme": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/theme/-/theme-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-AZxaXXAvRKzAi20RlMxzt2U5UmkCWyv7DMWEBXsxtG5Tk54mi1HsbVUp3fxDPTlmL7Pq8p1/DESg/o7TgRCVlw==", + "requires": { + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "@material/tokens": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/tokens/-/tokens-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-wVwbQOTCXDPKYPdHQHLr026y36MMFelID1CmbfRk6mSol4O8yE9U0fXcShfRDW8Qo5E3X31w9c2A6T3neJY7wQ==", + "requires": { + "@material/elevation": "15.0.0-canary.684e33d25.0" + } + }, + "@material/tooltip": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/tooltip/-/tooltip-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-dtm26QjxyQdinc8btgz6yys07b7bUW4FZgNF2EBPeGrICrPg7jf+JEvDziz5g8VMaTBQLOQRSCGy0MKuRlOjLw==", + "requires": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/button": "15.0.0-canary.684e33d25.0", + "@material/dom": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/shape": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/tokens": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", + "safevalues": "^0.3.4", + "tslib": "^2.1.0" + } + }, + "@material/top-app-bar": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/top-app-bar/-/top-app-bar-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-1M+oupUxflfW7u81P1XlxoLZB8bLzwtpKofIfDNRbEsiKhlLTERJR3Yak3BGE9xakNMysAaBHlkb5MrN5bNPFw==", + "requires": { + "@material/animation": "15.0.0-canary.684e33d25.0", + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/elevation": "15.0.0-canary.684e33d25.0", + "@material/ripple": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/shape": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "@material/typography": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "@material/touch-target": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/touch-target/-/touch-target-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-zdE69Slg8+T7sTn1OwqZ6H7WBYac9mxJ/JlJqfTqthzIjZRcCxBSYymQJcDHjsrPnUojOtr9U4Tpm5YZ96TEkQ==", + "requires": { + "@material/base": "15.0.0-canary.684e33d25.0", + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/rtl": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, + "@material/typography": { + "version": "15.0.0-canary.684e33d25.0", + "resolved": "https://registry.npmjs.org/@material/typography/-/typography-15.0.0-canary.684e33d25.0.tgz", + "integrity": "sha512-aVnvgMwcfNa/K4wujzpKDIxjGl2hbkEL+m+OKDSQqWYjKcP9QrbzCXJruJBqxrBoPRHLbqo47k5f9uT8raSgjw==", + "requires": { + "@material/feature-targeting": "15.0.0-canary.684e33d25.0", + "@material/theme": "15.0.0-canary.684e33d25.0", + "tslib": "^2.1.0" + } + }, "@ngtools/webpack": { - "version": "14.1.3", - "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-14.1.3.tgz", - "integrity": "sha512-tP2aiWKezhOVcR/PhVHcxKohO4ShKrhD42wgbJPbcqHeenOv1Hf5nW1nyUviqeF8QbVmPdBPF/ZOB8hIq5o6sw==", + "version": "15.2.8", + "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-15.2.8.tgz", + "integrity": "sha512-BJexeT4FxMtToVBGa3wdl6rrkYXgilP0kkSH4Qzu4MPlLPbeBSr4XQalQriewlpC2uzG0r2SJfrAe2eDhtSykA==", "dev": true, "requires": {} }, @@ -16347,36 +18055,40 @@ } }, "@npmcli/fs": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-2.1.2.tgz", - "integrity": "sha512-yOJKRvohFOaLqipNtwYB9WugyZKhC/DZC4VYPmpaCzDBrA8YpK3qHZ8/HGscMnE4GqbkLNuVcCnxkeQEdGt6LQ==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-3.1.0.tgz", + "integrity": "sha512-7kZUAaLscfgbwBQRbvdMYaZOWyMEcPTH/tJjnyAWJ/dvvs9Ef+CERx/qJb9GExJpl1qipaDGn7KqHnFGGixd0w==", "dev": true, "requires": { - "@gar/promisify": "^1.1.3", "semver": "^7.3.5" } }, "@npmcli/git": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-3.0.2.tgz", - "integrity": "sha512-CAcd08y3DWBJqJDpfuVL0uijlq5oaXaOJEKHKc4wqrjd00gkvTZB+nFuLn+doOOKddaQS9JfqtNoFCO2LCvA3w==", + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-4.0.4.tgz", + "integrity": "sha512-5yZghx+u5M47LghaybLCkdSyFzV/w4OuH12d96HO389Ik9CDsLaDZJVynSGGVJOLn6gy/k7Dz5XYcplM3uxXRg==", "dev": true, "requires": { - "@npmcli/promise-spawn": "^3.0.0", + "@npmcli/promise-spawn": "^6.0.0", "lru-cache": "^7.4.4", - "mkdirp": "^1.0.4", - "npm-pick-manifest": "^7.0.0", - "proc-log": "^2.0.0", + "npm-pick-manifest": "^8.0.0", + "proc-log": "^3.0.0", "promise-inflight": "^1.0.1", "promise-retry": "^2.0.1", "semver": "^7.3.5", - "which": "^2.0.2" + "which": "^3.0.0" }, "dependencies": { + "lru-cache": { + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", + "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", + "dev": true + }, "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/which/-/which-3.0.1.tgz", + "integrity": "sha512-XA1b62dzQzLfaEOSQFTCOd5KFf/1VSzZo7/7TUjnya6u0vGGKzU96UQBZTAThCb2j4/xjBAyii1OhRLJEivHvg==", "dev": true, "requires": { "isexe": "^2.0.0" @@ -16385,13 +18097,13 @@ } }, "@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==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@npmcli/installed-package-contents/-/installed-package-contents-2.0.2.tgz", + "integrity": "sha512-xACzLPhnfD51GKvTOOuNX2/V4G4mz9/1I2MfDoye9kBM3RYe5g2YbscsaGoTlaWqkxeiapBWyseULVKpSVHtKQ==", "dev": true, "requires": { - "npm-bundled": "^1.1.1", - "npm-normalize-package-bin": "^1.0.1" + "npm-bundled": "^3.0.0", + "npm-normalize-package-bin": "^3.0.0" } }, "@npmcli/move-file": { @@ -16405,32 +18117,62 @@ } }, "@npmcli/node-gyp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-2.0.0.tgz", - "integrity": "sha512-doNI35wIe3bBaEgrlPfdJPaCpUR89pJWep4Hq3aRdh6gKazIVWfs0jHttvSSoq47ZXgC7h73kDsUl8AoIQUB+A==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-3.0.0.tgz", + "integrity": "sha512-gp8pRXC2oOxu0DUE1/M3bYtb1b3/DbJ5aM113+XJBgfXdussRAsX0YOrOhdd8WvnAR6auDBvJomGAkLKA5ydxA==", "dev": true }, "@npmcli/promise-spawn": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-3.0.0.tgz", - "integrity": "sha512-s9SgS+p3a9Eohe68cSI3fi+hpcZUmXq5P7w0kMlAsWVtR7XbK3ptkZqKT2cK1zLDObJ3sR+8P59sJE0w/KTL1g==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-6.0.2.tgz", + "integrity": "sha512-gGq0NJkIGSwdbUt4yhdF8ZrmkGKVz9vAdVzpOfnom+V8PLSmSOVhZwbNvZZS1EYcJN5hzzKBxmmVVAInM6HQLg==", "dev": true, "requires": { - "infer-owner": "^1.0.4" + "which": "^3.0.0" + }, + "dependencies": { + "which": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/which/-/which-3.0.1.tgz", + "integrity": "sha512-XA1b62dzQzLfaEOSQFTCOd5KFf/1VSzZo7/7TUjnya6u0vGGKzU96UQBZTAThCb2j4/xjBAyii1OhRLJEivHvg==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } } }, "@npmcli/run-script": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-3.0.3.tgz", - "integrity": "sha512-ZXL6qgC5NjwfZJ2nET+ZSLEz/PJgJ/5CU90C2S66dZY4Jw73DasS4ZCXuy/KHWYP0imjJ4VtA+Gebb5BxxKp9Q==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-6.0.2.tgz", + "integrity": "sha512-NCcr1uQo1k5U+SYlnIrbAh3cxy+OQT1VtqiAbxdymSlptbzBb62AjH2xXgjNCoP073hoa1CfCAcwoZ8k96C4nA==", "dev": true, "requires": { - "@npmcli/node-gyp": "^2.0.0", - "@npmcli/promise-spawn": "^3.0.0", - "node-gyp": "^8.4.1", - "read-package-json-fast": "^2.0.3" + "@npmcli/node-gyp": "^3.0.0", + "@npmcli/promise-spawn": "^6.0.0", + "node-gyp": "^9.0.0", + "read-package-json-fast": "^3.0.0", + "which": "^3.0.0" + }, + "dependencies": { + "which": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/which/-/which-3.0.1.tgz", + "integrity": "sha512-XA1b62dzQzLfaEOSQFTCOd5KFf/1VSzZo7/7TUjnya6u0vGGKzU96UQBZTAThCb2j4/xjBAyii1OhRLJEivHvg==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } } }, + "@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "dev": true, + "optional": true + }, "@protobufjs/aspromise": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", @@ -16532,12 +18274,45 @@ } } }, - "@tootallnate/once": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", - "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", + "@sigstore/protobuf-specs": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@sigstore/protobuf-specs/-/protobuf-specs-0.1.0.tgz", + "integrity": "sha512-a31EnjuIDSX8IXBUib3cYLDRlPMU36AWX4xS8ysLaNu4ZzUesDiPt83pgrW2X1YLMe5L2HbDyaKK5BrL4cNKaQ==", "dev": true }, + "@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 + }, + "@tufjs/canonical-json": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@tufjs/canonical-json/-/canonical-json-1.0.0.tgz", + "integrity": "sha512-QTnf++uxunWvG2z3UFNzAoQPHxnSXOwtaI3iJ+AohhV+5vONuArPjJE7aPXPVXfXJsqrVbZBu9b81AJoSd09IQ==", + "dev": true + }, + "@tufjs/models": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@tufjs/models/-/models-1.0.4.tgz", + "integrity": "sha512-qaGV9ltJP0EO25YfFUPhxRVK0evXFIAGicsVXuRim4Ed9cjPxYhNnNJ49SFmbeLgtxpslIkX317IgpfcHPVj/A==", + "dev": true, + "requires": { + "@tufjs/canonical-json": "1.0.0", + "minimatch": "^9.0.0" + }, + "dependencies": { + "minimatch": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.1.tgz", + "integrity": "sha512-0jWhJpD/MdhPXwPuiRkCbfYfSKp2qnn2eOc279qI7f+osl/l+prKSrvhg157zSYvx/1nmgn2NqdT6k2Z7zSH9w==", + "dev": true, + "requires": { + "brace-expansion": "^2.0.1" + } + } + } + }, "@types/body-parser": { "version": "1.19.2", "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz", @@ -16573,9 +18348,9 @@ } }, "@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==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.0.tgz", + "integrity": "sha512-4x5FkPpLipqwthjPsF7ZRbOv3uoLUFkTA9G9v583qi4pACvq0uTELrB8OLUzPWUI4IJIyvM85vzkV1nyiI2Lig==", "dev": true, "requires": { "@types/express-serve-static-core": "*", @@ -16618,26 +18393,27 @@ "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==" }, "@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==", + "version": "4.17.17", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.17.tgz", + "integrity": "sha512-Q4FmmuLGBG58btUnfS1c1r/NQdlp3DMfGDGig8WhfpA2YRUtEkxAjkZb0yvplJGYdF1fsQ81iMDcH24sSCNC/Q==", "dev": true, "requires": { "@types/body-parser": "*", - "@types/express-serve-static-core": "^4.17.18", + "@types/express-serve-static-core": "^4.17.33", "@types/qs": "*", "@types/serve-static": "*" } }, "@types/express-serve-static-core": { - "version": "4.17.30", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.30.tgz", - "integrity": "sha512-gstzbTWro2/nFed1WXtf+TtrpwxH7Ggs4RLYTLbeVgIkUQOI3WG/JKjgeOU1zXDvezllupjrf8OPIdvTbIaVOQ==", + "version": "4.17.35", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.35.tgz", + "integrity": "sha512-wALWQwrgiB2AWTT91CB62b6Yt0sNHpznUXeZEcnPU3DRdlDIz74x8Qg1UUYKSVFi+va5vKOLYRBI1bRKiLLKIg==", "dev": true, "requires": { "@types/node": "*", "@types/qs": "*", - "@types/range-parser": "*" + "@types/range-parser": "*", + "@types/send": "*" } }, "@types/google-libphonenumber": { @@ -16647,9 +18423,9 @@ "dev": true }, "@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==", + "version": "1.17.11", + "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.11.tgz", + "integrity": "sha512-HC8G7c1WmaF2ekqpnFq626xd3Zz0uvaqFmBJNRZCGEZCXkvSdJoNFn/8Ygbd9fKNQj8UzLdCETaI0UWPAjK7IA==", "dev": true, "requires": { "@types/node": "*" @@ -16672,9 +18448,9 @@ "integrity": "sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA==" }, "@types/mime": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/mime/-/mime-3.0.1.tgz", - "integrity": "sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA==", + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz", + "integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==", "dev": true }, "@types/moment-timezone": { @@ -16714,6 +18490,16 @@ "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==", "dev": true }, + "@types/send": { + "version": "0.17.1", + "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.1.tgz", + "integrity": "sha512-Cwo8LE/0rnvX7kIIa3QHCkcuF21c05Ayb0ZfxPiv0W8VRiZiNW/WuRupHKpqqGVGf7SUA44QSOUKaEd9lIrd/Q==", + "dev": true, + "requires": { + "@types/mime": "^1", + "@types/node": "*" + } + }, "@types/serve-index": { "version": "1.9.1", "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.1.tgz", @@ -16724,9 +18510,9 @@ } }, "@types/serve-static": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.0.tgz", - "integrity": "sha512-z5xyF6uh8CbjAu9760KDKsH2FcDxZ2tFCsA4HIMWE6IkiYMXfVoa+4f9KX+FN0ZLsaMw1WNG2ETLA6N+/YA+cg==", + "version": "1.15.1", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.1.tgz", + "integrity": "sha512-NUo5XNiAdULrJENtJXZZ3fHtfMolzZwczzBbnAeBbqBwG+LaG6YaJtuwzwGSQZ2wsCrxjEhNNjAkKigy3n8teQ==", "dev": true, "requires": { "@types/mime": "*", @@ -16748,9 +18534,9 @@ "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==" }, "@types/ws": { - "version": "8.5.3", - "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.3.tgz", - "integrity": "sha512-6YOoWjruKj1uLf3INHH7D3qTXwFfEsg1kf3c0uDdSBJwfa/llkwIjrAGV7j7mVgGNbzTQ3HiHKKDXl6bJPD97w==", + "version": "8.5.4", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.4.tgz", + "integrity": "sha512-zdQDHKUgcX/zBc4GrwsE/7dVdAD8JR4EuiAXiiUhhfyIJXXb2+PrGshFyeXWQPMmmZ2XxgaqclgpIC7eTXc1mg==", "dev": true, "requires": { "@types/node": "*" @@ -16969,22 +18755,14 @@ } }, "agentkeepalive": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.2.1.tgz", - "integrity": "sha512-Zn4cw2NEqd+9fiSVWMscnjyQ1a8Yfoc5oBajLeo5w+YBHgDUcEBY2hS4YpTz6iN5f/2zQiktcuM6tS8x1p9dpA==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.3.0.tgz", + "integrity": "sha512-7Epl1Blf4Sy37j4v9f9FjICCh4+KAQOyXgHEwlyBiAQLbhKdq/i2QQU3amQalS/wPhdPzDXPL5DMR5bkn+YeWg==", "dev": true, "requires": { "debug": "^4.1.0", - "depd": "^1.1.2", + "depd": "^2.0.0", "humanize-ms": "^1.2.1" - }, - "dependencies": { - "depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", - "dev": true - } } }, "aggregate-error": { @@ -17224,20 +19002,14 @@ "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==" }, - "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.8", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.8.tgz", - "integrity": "sha512-75Jr6Q/XpTqEf6D2ltS5uMewJIx5irCU1oBYJrWjFenq/m12WRRrz6g15L1EIoYvPLXTbEry7rDOwrcYNj77xw==", + "version": "10.4.13", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.13.tgz", + "integrity": "sha512-49vKpMqcZYsJjwotvt4+h/BCjJVnhGwcLpDt5xkcaOG3eLrG/HUYLagrihYsQ+qrIBgIzX1Rw7a6L8I/ZA1Atg==", "dev": true, "requires": { - "browserslist": "^4.21.3", - "caniuse-lite": "^1.0.30001373", + "browserslist": "^4.21.4", + "caniuse-lite": "^1.0.30001426", "fraction.js": "^4.2.0", "normalize-range": "^0.1.2", "picocolors": "^1.0.0", @@ -17245,37 +19017,13 @@ } }, "babel-loader": { - "version": "8.2.5", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.5.tgz", - "integrity": "sha512-OSiFfH89LrEMiWd4pLNqGz4CwJDtbs2ZVc+iGu2HrkRfPxId9F2anQj38IxWpmRfsUY0aBZYi1EFcd3mhtRMLQ==", + "version": "9.1.2", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-9.1.2.tgz", + "integrity": "sha512-mN14niXW43tddohGl8HPu5yfQq70iUThvFL/4QzESA7GcZoC0eVOhvWdQ8+3UlSjaDE9MVtsW9mxDY07W7VpVA==", "dev": true, "requires": { - "find-cache-dir": "^3.3.1", - "loader-utils": "^2.0.0", - "make-dir": "^3.1.0", - "schema-utils": "^2.6.5" - }, - "dependencies": { - "loader-utils": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz", - "integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - } - } - } - }, - "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" + "find-cache-dir": "^3.3.2", + "schema-utils": "^4.0.0" } }, "babel-plugin-istanbul": { @@ -17292,13 +19040,13 @@ } }, "babel-plugin-polyfill-corejs2": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.2.tgz", - "integrity": "sha512-LPnodUl3lS0/4wN3Rb+m+UK8s7lj2jcLRrjho4gLw+OJs+I4bvGXshINesY5xx/apM+biTnQ9reDI8yj+0M5+Q==", + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz", + "integrity": "sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==", "dev": true, "requires": { "@babel/compat-data": "^7.17.7", - "@babel/helper-define-polyfill-provider": "^0.3.2", + "@babel/helper-define-polyfill-provider": "^0.3.3", "semver": "^6.1.1" }, "dependencies": { @@ -17311,22 +19059,22 @@ } }, "babel-plugin-polyfill-corejs3": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.3.tgz", - "integrity": "sha512-zKsXDh0XjnrUEW0mxIHLfjBfnXSMr5Q/goMe/fxpQnLm07mcOZiIZHBNWCMx60HmdvjxfXcalac0tfFg0wqxyw==", + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz", + "integrity": "sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==", "dev": true, "requires": { - "@babel/helper-define-polyfill-provider": "^0.3.2", - "core-js-compat": "^3.21.0" + "@babel/helper-define-polyfill-provider": "^0.3.3", + "core-js-compat": "^3.25.1" } }, "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==", + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz", + "integrity": "sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==", "dev": true, "requires": { - "@babel/helper-define-polyfill-provider": "^0.3.1" + "@babel/helper-define-polyfill-provider": "^0.3.3" } }, "balanced-match": { @@ -17378,9 +19126,9 @@ } }, "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==", + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", + "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", "dev": true, "requires": { "bytes": "3.1.2", @@ -17391,7 +19139,7 @@ "http-errors": "2.0.0", "iconv-lite": "0.4.24", "on-finished": "2.4.1", - "qs": "6.10.3", + "qs": "6.11.0", "raw-body": "2.5.1", "type-is": "~1.6.18", "unpipe": "1.0.0" @@ -17415,9 +19163,9 @@ } }, "bonjour-service": { - "version": "1.0.13", - "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.0.13.tgz", - "integrity": "sha512-LWKRU/7EqDUC9CTAQtuZl5HzBALoCYwtLhffW3et7vZMwv3bWLpJf8bRYlMD5OCcDpTfnPgNCV4yo9ZIaJGMiA==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.1.1.tgz", + "integrity": "sha512-Z/5lQRMOG9k7W+FkeGTNjh7htqn/2LMnfOvBZ8pynNZCM9MwkQkI3zeI4oz09uWdcgmgHugVvBqxGg4VQJ5PCg==", "dev": true, "requires": { "array-flatten": "^2.1.2", @@ -17451,14 +19199,14 @@ } }, "browserslist": { - "version": "4.21.3", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.3.tgz", - "integrity": "sha512-898rgRXLAyRkM1GryrrBHGkqA5hlpkV5MhtZwg9QXeiyLUYs2k00Un05aX5l2/yJIOObYKOpS2JNo8nJDE7fWQ==", + "version": "4.21.5", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz", + "integrity": "sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==", "requires": { - "caniuse-lite": "^1.0.30001370", - "electron-to-chromium": "^1.4.202", - "node-releases": "^2.0.6", - "update-browserslist-db": "^1.0.5" + "caniuse-lite": "^1.0.30001449", + "electron-to-chromium": "^1.4.284", + "node-releases": "^2.0.8", + "update-browserslist-db": "^1.0.10" } }, "buffer": { @@ -17491,29 +19239,32 @@ "dev": true }, "cacache": { - "version": "16.1.1", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-16.1.1.tgz", - "integrity": "sha512-VDKN+LHyCQXaaYZ7rA/qtkURU+/yYhviUdvqEv2LT6QPZU8jpyzEkEVAcKlKLt5dJ5BRp11ym8lo3NKLluEPLg==", + "version": "17.0.4", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-17.0.4.tgz", + "integrity": "sha512-Z/nL3gU+zTUjz5pCA5vVjYM8pmaw2kxM7JEiE0fv3w77Wj+sFbi70CrBruUWH0uNcEdvLDixFpgA2JM4F4DBjA==", "dev": true, "requires": { - "@npmcli/fs": "^2.1.0", - "@npmcli/move-file": "^2.0.0", - "chownr": "^2.0.0", - "fs-minipass": "^2.1.0", + "@npmcli/fs": "^3.1.0", + "fs-minipass": "^3.0.0", "glob": "^8.0.1", - "infer-owner": "^1.0.4", "lru-cache": "^7.7.1", - "minipass": "^3.1.6", + "minipass": "^4.0.0", "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", + "ssri": "^10.0.0", "tar": "^6.1.11", - "unique-filename": "^1.1.1" + "unique-filename": "^3.0.0" + }, + "dependencies": { + "lru-cache": { + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", + "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", + "dev": true + } } }, "call-bind": { @@ -17538,9 +19289,9 @@ "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" }, "caniuse-lite": { - "version": "1.0.30001378", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001378.tgz", - "integrity": "sha512-JVQnfoO7FK7WvU4ZkBRbPjaot4+YqxogSDosHv0Hv5mWpUESmN+UubMU6L/hGz8QlQ2aY5U0vR6MOs6j/CXpNA==" + "version": "1.0.30001492", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001492.tgz", + "integrity": "sha512-2efF8SAZwgAX1FJr87KWhvuJxnGJKOnctQa8xLOskAXNXq8oiuqgl6u1kk3fFpsp3GgvzlRjiK1sl63hNtFADw==" }, "chalk": { "version": "2.4.2", @@ -17673,9 +19424,9 @@ "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==", + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", "dev": true }, "colorspace": { @@ -17872,18 +19623,6 @@ "requires": { "is-glob": "^4.0.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" - } } } }, @@ -17893,21 +19632,12 @@ "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==" }, "core-js-compat": { - "version": "3.24.1", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.24.1.tgz", - "integrity": "sha512-XhdNAGeRnTpp8xbD+sR/HFDK9CbeeeqXT6TuofXh3urqEevzkWmLRgrVoykodsw8okqo2pu1BOmuCKrHx63zdw==", + "version": "3.30.2", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.30.2.tgz", + "integrity": "sha512-nriW1nuJjUgvkEjIot1Spwakz52V9YkYHZAQG6A1eCgC8AA1p0zngrQEP9R0+V6hji5XilWKG1Bd0YRppmGimA==", "dev": true, "requires": { - "browserslist": "^4.21.3", - "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 - } + "browserslist": "^4.21.5" } }, "core-util-is": { @@ -17926,9 +19656,9 @@ } }, "cosmiconfig": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz", - "integrity": "sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", + "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", "dev": true, "requires": { "@types/parse-json": "^4.0.0", @@ -18025,66 +19755,22 @@ } } }, - "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": { - "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 - } - } - }, - "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": { - "postcss-selector-parser": "^6.0.9" - } - }, - "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": { - "postcss-selector-parser": "^6.0.9" - } - }, "css-loader": { - "version": "6.7.1", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.7.1.tgz", - "integrity": "sha512-yB5CNFa14MbPJcomwNh3wLThtkZgcNyI2bNMRt8iE5Z8Vwl7f8vQXFAzn2HDOJvtDq2NTZBUGMSUNNyrv3/+cw==", + "version": "6.7.3", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.7.3.tgz", + "integrity": "sha512-qhOH1KlBMnZP8FzRO6YCH9UHXQhVMcEGLyNdb7Hv2cpcmJbW0YrddO+tG1ab5nT41KpHIYGsbeHqxB9xPu1pKQ==", "dev": true, "requires": { "icss-utils": "^5.1.0", - "postcss": "^8.4.7", + "postcss": "^8.4.19", "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.2.0", - "semver": "^7.3.5" + "semver": "^7.3.8" } }, - "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": {} - }, "css-select": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", @@ -18104,12 +19790,6 @@ "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", "dev": true }, - "cssdb": { - "version": "6.6.3", - "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-6.6.3.tgz", - "integrity": "sha512-7GDvDSmE+20+WcSMhP17Q1EVWUrLlbxxpMDqG731n8P99JhnQZHR9YvtjPvEHfjFUjvQJvdpKCjlKOX+xe4UVA==", - "dev": true - }, "cssesc": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", @@ -18142,12 +19822,6 @@ "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==" }, - "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 - }, "default-gateway": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", @@ -18170,16 +19844,6 @@ "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==" }, - "define-properties": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", - "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", - "dev": true, - "requires": { - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - } - }, "delegates": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", @@ -18237,9 +19901,9 @@ "dev": true }, "dns-packet": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.4.0.tgz", - "integrity": "sha512-EgqGeaBB8hLiHLZtp/IbaDQTL8pZ0+IvwzSHA6d7VyMDM+B9hgddEMa9xjK5oYnw0ci0JQ6g2XCD7/f6cafU6g==", + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.0.tgz", + "integrity": "sha512-rza3UH1LwdHh9qyPXp8lkwpjSNk/AMD3dPytUoRoqnypDUhY0xvbdmVhWOfxO68frEfV9BU8V12Ez7ZsHGZpCQ==", "dev": true, "requires": { "@leichtgewicht/ip-codec": "^2.0.1" @@ -18294,6 +19958,12 @@ "domhandler": "^4.2.0" } }, + "eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true + }, "ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", @@ -18301,9 +19971,9 @@ "dev": true }, "electron-to-chromium": { - "version": "1.4.224", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.224.tgz", - "integrity": "sha512-dOujC5Yzj0nOVE23iD5HKqrRSDj2SD7RazpZS/b/WX85MtO6/LzKDF4TlYZTBteB+7fvSg5JpWh0sN7fImNF8w==" + "version": "1.4.414", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.414.tgz", + "integrity": "sha512-RRuCvP6ekngVh2SAJaOKT/hxqc9JAsK+Pe0hP5tGQIfonU2Zy9gMGdJ+mBdyl/vNucMG6gkXYtuM4H/1giws5w==" }, "emoji-regex": { "version": "8.0.0", @@ -18433,180 +20103,42 @@ "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==" }, "esbuild": { - "version": "0.14.49", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.14.49.tgz", - "integrity": "sha512-/TlVHhOaq7Yz8N1OJrjqM3Auzo5wjvHFLk+T8pIue+fhnhIMpfAzsG6PLVMbFveVxqD2WOp3QHei+52IMUNmCw==", + "version": "0.17.8", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.17.8.tgz", + "integrity": "sha512-g24ybC3fWhZddZK6R3uD2iF/RIPnRpwJAqLov6ouX3hMbY4+tKolP0VMF3zuIYCaXun+yHwS5IPQ91N2BT191g==", "dev": true, "optional": true, "requires": { - "esbuild-android-64": "0.14.49", - "esbuild-android-arm64": "0.14.49", - "esbuild-darwin-64": "0.14.49", - "esbuild-darwin-arm64": "0.14.49", - "esbuild-freebsd-64": "0.14.49", - "esbuild-freebsd-arm64": "0.14.49", - "esbuild-linux-32": "0.14.49", - "esbuild-linux-64": "0.14.49", - "esbuild-linux-arm": "0.14.49", - "esbuild-linux-arm64": "0.14.49", - "esbuild-linux-mips64le": "0.14.49", - "esbuild-linux-ppc64le": "0.14.49", - "esbuild-linux-riscv64": "0.14.49", - "esbuild-linux-s390x": "0.14.49", - "esbuild-netbsd-64": "0.14.49", - "esbuild-openbsd-64": "0.14.49", - "esbuild-sunos-64": "0.14.49", - "esbuild-windows-32": "0.14.49", - "esbuild-windows-64": "0.14.49", - "esbuild-windows-arm64": "0.14.49" + "@esbuild/android-arm": "0.17.8", + "@esbuild/android-arm64": "0.17.8", + "@esbuild/android-x64": "0.17.8", + "@esbuild/darwin-arm64": "0.17.8", + "@esbuild/darwin-x64": "0.17.8", + "@esbuild/freebsd-arm64": "0.17.8", + "@esbuild/freebsd-x64": "0.17.8", + "@esbuild/linux-arm": "0.17.8", + "@esbuild/linux-arm64": "0.17.8", + "@esbuild/linux-ia32": "0.17.8", + "@esbuild/linux-loong64": "0.17.8", + "@esbuild/linux-mips64el": "0.17.8", + "@esbuild/linux-ppc64": "0.17.8", + "@esbuild/linux-riscv64": "0.17.8", + "@esbuild/linux-s390x": "0.17.8", + "@esbuild/linux-x64": "0.17.8", + "@esbuild/netbsd-x64": "0.17.8", + "@esbuild/openbsd-x64": "0.17.8", + "@esbuild/sunos-x64": "0.17.8", + "@esbuild/win32-arm64": "0.17.8", + "@esbuild/win32-ia32": "0.17.8", + "@esbuild/win32-x64": "0.17.8" } }, - "esbuild-android-64": { - "version": "0.14.49", - "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.14.49.tgz", - "integrity": "sha512-vYsdOTD+yi+kquhBiFWl3tyxnj2qZJsl4tAqwhT90ktUdnyTizgle7TjNx6Ar1bN7wcwWqZ9QInfdk2WVagSww==", - "dev": true, - "optional": true - }, - "esbuild-android-arm64": { - "version": "0.14.49", - "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.14.49.tgz", - "integrity": "sha512-g2HGr/hjOXCgSsvQZ1nK4nW/ei8JUx04Li74qub9qWrStlysaVmadRyTVuW32FGIpLQyc5sUjjZopj49eGGM2g==", - "dev": true, - "optional": true - }, - "esbuild-darwin-64": { - "version": "0.14.49", - "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.14.49.tgz", - "integrity": "sha512-3rvqnBCtX9ywso5fCHixt2GBCUsogNp9DjGmvbBohh31Ces34BVzFltMSxJpacNki96+WIcX5s/vum+ckXiLYg==", - "dev": true, - "optional": true - }, - "esbuild-darwin-arm64": { - "version": "0.14.49", - "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.49.tgz", - "integrity": "sha512-XMaqDxO846srnGlUSJnwbijV29MTKUATmOLyQSfswbK/2X5Uv28M9tTLUJcKKxzoo9lnkYPsx2o8EJcTYwCs/A==", - "dev": true, - "optional": true - }, - "esbuild-freebsd-64": { - "version": "0.14.49", - "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.49.tgz", - "integrity": "sha512-NJ5Q6AjV879mOHFri+5lZLTp5XsO2hQ+KSJYLbfY9DgCu8s6/Zl2prWXVANYTeCDLlrIlNNYw8y34xqyLDKOmQ==", - "dev": true, - "optional": true - }, - "esbuild-freebsd-arm64": { - "version": "0.14.49", - "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.49.tgz", - "integrity": "sha512-lFLtgXnAc3eXYqj5koPlBZvEbBSOSUbWO3gyY/0+4lBdRqELyz4bAuamHvmvHW5swJYL7kngzIZw6kdu25KGOA==", - "dev": true, - "optional": true - }, - "esbuild-linux-32": { - "version": "0.14.49", - "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.14.49.tgz", - "integrity": "sha512-zTTH4gr2Kb8u4QcOpTDVn7Z8q7QEIvFl/+vHrI3cF6XOJS7iEI1FWslTo3uofB2+mn6sIJEQD9PrNZKoAAMDiA==", - "dev": true, - "optional": true - }, - "esbuild-linux-64": { - "version": "0.14.49", - "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.14.49.tgz", - "integrity": "sha512-hYmzRIDzFfLrB5c1SknkxzM8LdEUOusp6M2TnuQZJLRtxTgyPnZZVtyMeCLki0wKgYPXkFsAVhi8vzo2mBNeTg==", - "dev": true, - "optional": true - }, - "esbuild-linux-arm": { - "version": "0.14.49", - "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.14.49.tgz", - "integrity": "sha512-iE3e+ZVv1Qz1Sy0gifIsarJMQ89Rpm9mtLSRtG3AH0FPgAzQ5Z5oU6vYzhc/3gSPi2UxdCOfRhw2onXuFw/0lg==", - "dev": true, - "optional": true - }, - "esbuild-linux-arm64": { - "version": "0.14.49", - "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.49.tgz", - "integrity": "sha512-KLQ+WpeuY+7bxukxLz5VgkAAVQxUv67Ft4DmHIPIW+2w3ObBPQhqNoeQUHxopoW/aiOn3m99NSmSV+bs4BSsdA==", - "dev": true, - "optional": true - }, - "esbuild-linux-mips64le": { - "version": "0.14.49", - "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.49.tgz", - "integrity": "sha512-n+rGODfm8RSum5pFIqFQVQpYBw+AztL8s6o9kfx7tjfK0yIGF6tm5HlG6aRjodiiKkH2xAiIM+U4xtQVZYU4rA==", - "dev": true, - "optional": true - }, - "esbuild-linux-ppc64le": { - "version": "0.14.49", - "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.49.tgz", - "integrity": "sha512-WP9zR4HX6iCBmMFH+XHHng2LmdoIeUmBpL4aL2TR8ruzXyT4dWrJ5BSbT8iNo6THN8lod6GOmYDLq/dgZLalGw==", - "dev": true, - "optional": true - }, - "esbuild-linux-riscv64": { - "version": "0.14.49", - "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.49.tgz", - "integrity": "sha512-h66ORBz+Dg+1KgLvzTVQEA1LX4XBd1SK0Fgbhhw4akpG/YkN8pS6OzYI/7SGENiN6ao5hETRDSkVcvU9NRtkMQ==", - "dev": true, - "optional": true - }, - "esbuild-linux-s390x": { - "version": "0.14.49", - "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.49.tgz", - "integrity": "sha512-DhrUoFVWD+XmKO1y7e4kNCqQHPs6twz6VV6Uezl/XHYGzM60rBewBF5jlZjG0nCk5W/Xy6y1xWeopkrhFFM0sQ==", - "dev": true, - "optional": true - }, - "esbuild-netbsd-64": { - "version": "0.14.49", - "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.49.tgz", - "integrity": "sha512-BXaUwFOfCy2T+hABtiPUIpWjAeWK9P8O41gR4Pg73hpzoygVGnj0nI3YK4SJhe52ELgtdgWP/ckIkbn2XaTxjQ==", - "dev": true, - "optional": true - }, - "esbuild-openbsd-64": { - "version": "0.14.49", - "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.49.tgz", - "integrity": "sha512-lP06UQeLDGmVPw9Rg437Btu6J9/BmyhdoefnQ4gDEJTtJvKtQaUcOQrhjTq455ouZN4EHFH1h28WOJVANK41kA==", - "dev": true, - "optional": true - }, - "esbuild-sunos-64": { - "version": "0.14.49", - "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.14.49.tgz", - "integrity": "sha512-4c8Zowp+V3zIWje329BeLbGh6XI9c/rqARNaj5yPHdC61pHI9UNdDxT3rePPJeWcEZVKjkiAS6AP6kiITp7FSw==", - "dev": true, - "optional": true - }, "esbuild-wasm": { - "version": "0.14.49", - "resolved": "https://registry.npmjs.org/esbuild-wasm/-/esbuild-wasm-0.14.49.tgz", - "integrity": "sha512-5ddzZv8M3WI1fWZ5rEfK5cSA9swlWJcceKgqjKLLERC7FnlNW50kF7hxhpkyC0Z/4w7Xeyt3yUJ9QWNMDXLk2Q==", + "version": "0.17.8", + "resolved": "https://registry.npmjs.org/esbuild-wasm/-/esbuild-wasm-0.17.8.tgz", + "integrity": "sha512-zCmpxv95E0FuCmvdw1K836UHnj4EdiQnFfjTby35y3LAjRPtXMj3sbHDRHjbD8Mqg5lTwq3knacr/1qIFU51CQ==", "dev": true }, - "esbuild-windows-32": { - "version": "0.14.49", - "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.14.49.tgz", - "integrity": "sha512-q7Rb+J9yHTeKr9QTPDYkqfkEj8/kcKz9lOabDuvEXpXuIcosWCJgo5Z7h/L4r7rbtTH4a8U2FGKb6s1eeOHmJA==", - "dev": true, - "optional": true - }, - "esbuild-windows-64": { - "version": "0.14.49", - "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.14.49.tgz", - "integrity": "sha512-+Cme7Ongv0UIUTniPqfTX6mJ8Deo7VXw9xN0yJEN1lQMHDppTNmKwAM3oGbD/Vqff+07K2gN0WfNkMohmG+dVw==", - "dev": true, - "optional": true - }, - "esbuild-windows-arm64": { - "version": "0.14.49", - "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.49.tgz", - "integrity": "sha512-v+HYNAXzuANrCbbLFJ5nmO3m5y2PGZWLe3uloAkLt87aXiO2mZr3BTmacZdjwNkNEHuH3bNtN8cak+mzVjVPfA==", - "dev": true, - "optional": true - }, "escalade": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", @@ -18705,14 +20237,14 @@ } }, "express": { - "version": "4.18.1", - "resolved": "https://registry.npmjs.org/express/-/express-4.18.1.tgz", - "integrity": "sha512-zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q==", + "version": "4.18.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", + "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", "dev": true, "requires": { "accepts": "~1.3.8", "array-flatten": "1.1.1", - "body-parser": "1.20.0", + "body-parser": "1.20.1", "content-disposition": "0.5.4", "content-type": "~1.0.4", "cookie": "0.5.0", @@ -18731,7 +20263,7 @@ "parseurl": "~1.3.3", "path-to-regexp": "0.1.7", "proxy-addr": "~2.0.7", - "qs": "6.10.3", + "qs": "6.11.0", "range-parser": "~1.2.1", "safe-buffer": "5.2.1", "send": "0.18.0", @@ -19041,6 +20573,24 @@ "integrity": "sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==", "dev": true }, + "foreground-child": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", + "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + }, + "dependencies": { + "signal-exit": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.0.2.tgz", + "integrity": "sha512-MY2/qGx4enyjprQnFaZsHib3Yadh3IXyV2C321GY0pjGfVBu4un0uDJkwgdxqO+Rdx8JMT8IfJIRwbYVz3Ob3Q==", + "dev": true + } + } + }, "forwarded": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", @@ -19070,12 +20620,20 @@ } }, "fs-minipass": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", - "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-3.0.2.tgz", + "integrity": "sha512-2GAfyfoaCDRrM6jaOS3UsBts8yJ55VioXdWcOL7dK9zdAuKT71+WBA4ifnNYqVjYv+4SsPxjK0JT4yIIn4cA/g==", "dev": true, "requires": { - "minipass": "^3.0.0" + "minipass": "^5.0.0" + }, + "dependencies": { + "minipass": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", + "dev": true + } } }, "fs-monkey": { @@ -19135,13 +20693,14 @@ "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" }, "get-intrinsic": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.2.tgz", - "integrity": "sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", + "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", "dev": true, "requires": { "function-bind": "^1.1.1", "has": "^1.0.3", + "has-proto": "^1.0.1", "has-symbols": "^1.0.3" } }, @@ -19158,9 +20717,9 @@ "dev": true }, "glob": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-8.0.3.tgz", - "integrity": "sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", + "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", "dev": true, "requires": { "fs.realpath": "^1.0.0", @@ -19234,14 +20793,11 @@ "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", "dev": true }, - "has-property-descriptors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", - "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", - "dev": true, - "requires": { - "get-intrinsic": "^1.1.1" - } + "has-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", + "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", + "dev": true }, "has-symbols": { "version": "1.0.3", @@ -19273,12 +20829,20 @@ "dev": true }, "hosted-git-info": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-5.1.0.tgz", - "integrity": "sha512-Ek+QmMEqZF8XrbFdwoDjSbm7rT23pCgEMOJmz6GPk/s4yH//RQfNPArhIxbguNxROq/+5lNBwCDHMhA903Kx1Q==", + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-6.1.1.tgz", + "integrity": "sha512-r0EI+HBMcXadMrugk0GCQ+6BQV39PiWAZVfq7oIckeGiN7sjRGyQxPdft3nQekFTCQbYxLBH+/axZMeH8UX6+w==", "dev": true, "requires": { "lru-cache": "^7.5.1" + }, + "dependencies": { + "lru-cache": { + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", + "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", + "dev": true + } } }, "hpack.js": { @@ -19294,9 +20858,9 @@ }, "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==", + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "dev": true, "requires": { "core-util-is": "~1.0.0", @@ -19332,9 +20896,9 @@ "dev": true }, "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==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", + "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==", "dev": true }, "http-deceiver": { @@ -19381,12 +20945,12 @@ } }, "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==", + "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, "requires": { - "@tootallnate/once": "1", + "@tootallnate/once": "2", "agent-base": "6", "debug": "4" } @@ -19461,12 +21025,23 @@ "dev": true }, "ignore-walk": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-5.0.1.tgz", - "integrity": "sha512-yemi4pMf51WKT7khInJqAvsIGzoqYXblnsz0ql8tM+yi1EKYTY1evX4NAbJrLL/Aanr2HyZeluqU+Oi7MGHokw==", + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-6.0.3.tgz", + "integrity": "sha512-C7FfFoTA+bI10qfeydT8aZbvr91vAEU+2W5BZUlzPec47oNb07SsOfwYrtxuvOYdUApPP/Qlh4DtAO51Ekk2QA==", "dev": true, "requires": { - "minimatch": "^5.0.1" + "minimatch": "^9.0.0" + }, + "dependencies": { + "minimatch": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.1.tgz", + "integrity": "sha512-0jWhJpD/MdhPXwPuiRkCbfYfSKp2qnn2eOc279qI7f+osl/l+prKSrvhg157zSYvx/1nmgn2NqdT6k2Z7zSH9w==", + "dev": true, + "requires": { + "brace-expansion": "^2.0.1" + } + } } }, "image-size": { @@ -19482,9 +21057,9 @@ "integrity": "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==" }, "immutable": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.1.0.tgz", - "integrity": "sha512-oNkuqVTA8jqG1Q6c+UglTOD1xhC1BtjKI7XkCXRkZHrN5m18/XsnUp8Q89GkQO/z+0WjonSvl0FLhDYftp46nQ==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.0.tgz", + "integrity": "sha512-0AOCmOip+xgJwEVTQj1EfiDDOkPmuyllDuTuEX+DDXUgapLAsBIfkg3sxCYyCEA8mQqZrrxPUGjcOQ2JS3WLkg==", "dev": true }, "import-fresh": { @@ -19538,9 +21113,9 @@ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, "ini": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ini/-/ini-3.0.0.tgz", - "integrity": "sha512-TxYQaeNW/N8ymDvwAxPyRbhMBtnEwuvaTYpOQkFx1nSeusgezHniEc/l35Vo4iCq/mMiTJbpD7oYxN98hFlfmw==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ini/-/ini-3.0.1.tgz", + "integrity": "sha512-it4HyVAUTKBc6m8e1iXWvXSTdndF7HbdN713+kvLrymxTaU4AUBWrJ4vEooP+V7fexnVD3LKcBshjGGPefSMUQ==", "dev": true }, "inquirer": { @@ -19687,9 +21262,9 @@ "dev": true }, "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==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.1.0.tgz", + "integrity": "sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ==", "dev": true }, "is-arrayish": { @@ -19708,9 +21283,9 @@ } }, "is-core-module": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.10.0.tgz", - "integrity": "sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg==", + "version": "2.12.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.1.tgz", + "integrity": "sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==", "dev": true, "requires": { "has": "^1.0.3" @@ -19904,6 +21479,16 @@ "istanbul-lib-report": "^3.0.0" } }, + "jackspeak": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.2.1.tgz", + "integrity": "sha512-MXbxovZ/Pm42f6cDIDkl3xpwv1AGwObKwfmjs2nQePiy85tP3fatofl3FC1aBsOtP/6fq5SbtgHwWcMsLP+bDw==", + "dev": true, + "requires": { + "@isaacs/cliui": "^8.0.2", + "@pkgjs/parseargs": "^0.11.0" + } + }, "jasmine-core": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-4.1.1.tgz", @@ -19973,14 +21558,14 @@ "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" }, "json5": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", - "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==" + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==" }, "jsonc-parser": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.1.0.tgz", - "integrity": "sha512-DRf0QjnNeCUds3xTjKlQQ3DpJD51GvDjJfnxUVWg6PZTo2otSm+slzNAxU/35hF8/oJIKoG9slq30JYOsF2azg==" + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", + "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==" }, "jsonfile": { "version": "4.0.0", @@ -20219,9 +21804,9 @@ "dev": true }, "klona": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.5.tgz", - "integrity": "sha512-pJiBpiXMbt7dkzXe8Ghj/u4FfXOOa98fPW+bihOJ4SjnoijweJrNThJfd3ifXpXhREjpoF2mZVH1GfS9LV3kHQ==", + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.6.tgz", + "integrity": "sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==", "dev": true }, "kuler": { @@ -20265,13 +21850,6 @@ "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", @@ -20289,9 +21867,9 @@ } }, "less-loader": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/less-loader/-/less-loader-11.0.0.tgz", - "integrity": "sha512-9+LOWWjuoectIEx3zrfN83NAGxSUB5pWEabbbidVQVgZhN+wN68pOvuyirVlH1IK4VT1f3TmlyvAnCXh8O5KEw==", + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/less-loader/-/less-loader-11.1.0.tgz", + "integrity": "sha512-C+uDBV7kS7W5fJlUjq5mPBeBVhYpTIm5gB09APT9o3n/ILeaXVsiSFTbZpTJCJwQ/Crczfn3DmfQFwxYusWFug==", "dev": true, "requires": { "klona": "^2.0.4" @@ -20331,9 +21909,9 @@ "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==" }, "loader-utils": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.2.0.tgz", - "integrity": "sha512-HVl9ZqccQihZ7JM85dco1MvO9G+ONvxoGa9rkhzFsneGLKSUg1gJf9bWzhRhcvm2qChhWpebQhP44qxjKIUCaQ==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.2.1.tgz", + "integrity": "sha512-ZvFw1KWS3GVyYBYb7qkmRM/WwL2TQQBxgCK62rlvm4WpVQ23Nb4tYjApUlfjrEGvOs7KHEsmyUn75OHZrJMWPw==", "dev": true }, "locate-path": { @@ -20445,10 +22023,21 @@ "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" }, "lru-cache": { - "version": "7.14.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.14.0.tgz", - "integrity": "sha512-EIRtP1GrSJny0dqb50QXRUNBxHJhcpxHC++M5tD7RYbvLLn5KVWKsbyswSSqDuU15UFi3bgTQIY8nhDMeF6aDQ==", - "dev": true + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "requires": { + "yallist": "^3.0.2" + }, + "dependencies": { + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + } + } }, "magic-string": { "version": "0.26.1", @@ -20476,125 +22065,115 @@ } }, "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==", + "version": "10.2.1", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-10.2.1.tgz", + "integrity": "sha512-NgOPbRiaQM10DYXvN3/hhGVI2M5MtITFryzBGxHM5p4wnFxsVCbxkrBrDsk+EZ5OB4jEOT7AjDxtdF+KVEFT7w==", "dev": true, "requires": { - "agentkeepalive": "^4.1.3", - "cacache": "^15.2.0", + "agentkeepalive": "^4.2.1", + "cacache": "^16.1.0", "http-cache-semantics": "^4.1.0", - "http-proxy-agent": "^4.0.1", + "http-proxy-agent": "^5.0.0", "https-proxy-agent": "^5.0.0", "is-lambda": "^1.0.1", - "lru-cache": "^6.0.0", - "minipass": "^3.1.3", + "lru-cache": "^7.7.1", + "minipass": "^3.1.6", "minipass-collect": "^1.0.2", - "minipass-fetch": "^1.3.2", + "minipass-fetch": "^2.0.3", "minipass-flush": "^1.0.5", "minipass-pipeline": "^1.2.4", - "negotiator": "^0.6.2", + "negotiator": "^0.6.3", "promise-retry": "^2.0.1", - "socks-proxy-agent": "^6.0.0", - "ssri": "^8.0.0" + "socks-proxy-agent": "^7.0.0", + "ssri": "^9.0.0" }, "dependencies": { "@npmcli/fs": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-1.1.1.tgz", - "integrity": "sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-2.1.2.tgz", + "integrity": "sha512-yOJKRvohFOaLqipNtwYB9WugyZKhC/DZC4VYPmpaCzDBrA8YpK3qHZ8/HGscMnE4GqbkLNuVcCnxkeQEdGt6LQ==", "dev": true, "requires": { - "@gar/promisify": "^1.0.1", + "@gar/promisify": "^1.1.3", "semver": "^7.3.5" } }, - "@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" - } - }, - "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" - } - }, "cacache": { - "version": "15.3.0", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.3.0.tgz", - "integrity": "sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==", + "version": "16.1.3", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-16.1.3.tgz", + "integrity": "sha512-/+Emcj9DAXxX4cwlLmRI9c166RuL3w30zp4R7Joiv2cQTtTtA+jeuCAjH3ZlGnYS3tKENSrKhAzVVP9GVyzeYQ==", "dev": true, "requires": { - "@npmcli/fs": "^1.0.0", - "@npmcli/move-file": "^1.0.1", + "@npmcli/fs": "^2.1.0", + "@npmcli/move-file": "^2.0.0", "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "glob": "^7.1.4", + "fs-minipass": "^2.1.0", + "glob": "^8.0.1", "infer-owner": "^1.0.4", - "lru-cache": "^6.0.0", - "minipass": "^3.1.1", + "lru-cache": "^7.7.1", + "minipass": "^3.1.6", "minipass-collect": "^1.0.2", "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.2", - "mkdirp": "^1.0.3", + "minipass-pipeline": "^1.2.4", + "mkdirp": "^1.0.4", "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" + "ssri": "^9.0.0", + "tar": "^6.1.11", + "unique-filename": "^2.0.0" } }, - "glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "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": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "minipass": "^3.0.0" } }, "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==", + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", + "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", + "dev": true + }, + "minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", "dev": true, "requires": { "yallist": "^4.0.0" } }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, "ssri": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz", - "integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-9.0.1.tgz", + "integrity": "sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q==", "dev": true, "requires": { "minipass": "^3.1.1" } + }, + "unique-filename": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-2.0.1.tgz", + "integrity": "sha512-ODWHtkkdx3IAR+veKxFV+VBkUMcN+FaqzUUd7IZzt+0zhDZFPFxhlqwPF3YQvMHx1TD0tdgYl+kuPnJ8E6ql7A==", + "dev": true, + "requires": { + "unique-slug": "^3.0.0" + } + }, + "unique-slug": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-3.0.0.tgz", + "integrity": "sha512-8EyMynh679x/0gqE9fT9oilG+qEt+ibFyqjuVTsZn1+CMxH+XLlpvr2UZx4nVcCwTpx81nICr2JQFkM+HPLq4w==", + "dev": true, + "requires": { + "imurmurhash": "^0.1.4" + } } } }, @@ -20605,9 +22184,9 @@ "dev": true }, "memfs": { - "version": "3.4.7", - "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.4.7.tgz", - "integrity": "sha512-ygaiUSNalBX85388uskeCyhSAoOSgzBbtVCr9jA2RROssFL9Q19/ZXFqS+2Th2sr1ewNIWgFdLzLC3Yl1Zv+lw==", + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.5.1.tgz", + "integrity": "sha512-UWbFJKvj5k+nETdteFndTpYxdeTMox/ULeqX5k/dpaQJCCFmj5EeKv3dBcyO2xmkRAx2vppRu5dVG7SOtsGOzA==", "dev": true, "requires": { "fs-monkey": "^1.0.3" @@ -20671,26 +22250,12 @@ "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" }, "mini-css-extract-plugin": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.6.1.tgz", - "integrity": "sha512-wd+SD57/K6DiV7jIR34P+s3uckTRuQvx0tKPcvjFlrEylk6P4mQ2KSWk1hblj1Kxaqok7LogKOieygXqBczNlg==", + "version": "2.7.2", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.7.2.tgz", + "integrity": "sha512-EdlUizq13o0Pd+uCp+WO/JpkLvHRVGt97RqfeGhXqAcorYo1ypJSpkV+WDT0vY/kmh/p7wRdJNJtuyK540PXDw==", "dev": true, "requires": { "schema-utils": "^4.0.0" - }, - "dependencies": { - "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" - } - } } }, "minimalistic-assert": { @@ -20700,9 +22265,9 @@ "dev": true }, "minimatch": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz", - "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==", + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", "dev": true, "requires": { "brace-expansion": "^2.0.1" @@ -20715,13 +22280,10 @@ "dev": true }, "minipass": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.4.tgz", - "integrity": "sha512-I9WPbWHCGu8W+6k1ZiGpPu0GkoKBeorkfKNuAFBNS1HNFJvke82sxvI5bzcCNpWPorkOO5QQ+zomzzwRxejXiw==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } + "version": "4.2.8", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-4.2.8.tgz", + "integrity": "sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ==", + "dev": true }, "minipass-collect": { "version": "1.0.2", @@ -20730,18 +22292,40 @@ "dev": true, "requires": { "minipass": "^3.0.0" + }, + "dependencies": { + "minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + } } }, "minipass-fetch": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-1.4.1.tgz", - "integrity": "sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-2.1.2.tgz", + "integrity": "sha512-LT49Zi2/WMROHYoqGgdlQIZh8mLPZmOrN2NdJjMXxYe4nkN6FUyuPuOAOedNJDrx0IRGg9+4guZewtp8hE6TxA==", "dev": true, "requires": { - "encoding": "^0.1.12", - "minipass": "^3.1.0", + "encoding": "^0.1.13", + "minipass": "^3.1.6", "minipass-sized": "^1.0.3", - "minizlib": "^2.0.0" + "minizlib": "^2.1.2" + }, + "dependencies": { + "minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + } } }, "minipass-flush": { @@ -20751,6 +22335,17 @@ "dev": true, "requires": { "minipass": "^3.0.0" + }, + "dependencies": { + "minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + } } }, "minipass-json-stream": { @@ -20761,6 +22356,17 @@ "requires": { "jsonparse": "^1.3.1", "minipass": "^3.0.0" + }, + "dependencies": { + "minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + } } }, "minipass-pipeline": { @@ -20770,6 +22376,17 @@ "dev": true, "requires": { "minipass": "^3.0.0" + }, + "dependencies": { + "minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + } } }, "minipass-sized": { @@ -20779,6 +22396,17 @@ "dev": true, "requires": { "minipass": "^3.0.0" + }, + "dependencies": { + "minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + } } }, "minizlib": { @@ -20789,6 +22417,17 @@ "requires": { "minipass": "^3.0.0", "yallist": "^4.0.0" + }, + "dependencies": { + "minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + } } }, "mkdirp": { @@ -20837,9 +22476,9 @@ "dev": true }, "needle": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/needle/-/needle-3.1.0.tgz", - "integrity": "sha512-gCE9weDhjVGCRqS8dwDR/D3GTAeyXLXuqp7I8EzH6DllZGXSUyxuqqLh+YX9rMAWaaTFyVAg6rHGL25dqvczKw==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/needle/-/needle-3.2.0.tgz", + "integrity": "sha512-oUvzXnyLiVyVGoianLijF9O/RecZUf7TkBfimjGrLM4eQhXyeJwM6GeAWccwfQ9aa4gMCZKqhAOuLaMIcQxajQ==", "dev": true, "optional": true, "requires": { @@ -20939,16 +22578,16 @@ "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==", + "version": "9.3.1", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-9.3.1.tgz", + "integrity": "sha512-4Q16ZCqq3g8awk6UplT7AuxQ35XN4R/yf/+wSAwcBUAjg7l58RTactWaP8fIDTi0FzI7YcVLujwExakZlfWkXg==", "dev": true, "requires": { "env-paths": "^2.2.0", "glob": "^7.1.4", "graceful-fs": "^4.2.6", - "make-fetch-happen": "^9.1.0", - "nopt": "^5.0.0", + "make-fetch-happen": "^10.0.3", + "nopt": "^6.0.0", "npmlog": "^6.0.0", "rimraf": "^3.0.2", "semver": "^7.3.5", @@ -21008,26 +22647,26 @@ "optional": true }, "node-releases": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz", - "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==" + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.12.tgz", + "integrity": "sha512-QzsYKWhXTWx8h1kIvqfnC++o0pEmpRQA/aenALsL2F4pqNVr7YzcdMlDij5WBnwftRbJCNJL/O7zdKaxKPHqgQ==" }, "nopt": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", - "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-6.0.0.tgz", + "integrity": "sha512-ZwLpbTgdhuZUnZzjd7nb1ZV+4DoiC6/sfiVKok72ym/4Tlf+DFdlHYmT2JPmcNNWV6Pi3SDf1kT+A4r9RTuT9g==", "dev": true, "requires": { - "abbrev": "1" + "abbrev": "^1.0.0" } }, "normalize-package-data": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-4.0.1.tgz", - "integrity": "sha512-EBk5QKKuocMJhB3BILuKhmaPjI8vNRSpIfO9woLC6NyHVkKKdVEdAO1mrT0ZfxNR1lKwCcTkuZfmGIFdizZ8Pg==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-5.0.0.tgz", + "integrity": "sha512-h9iPVIfrVZ9wVYQnxFgtw1ugSvGEMOlyPWWtm8BMJhnwyEL/FLbYbTY3V3PpjI/BUK67n9PEWDu6eHzu1fB15Q==", "dev": true, "requires": { - "hosted-git-info": "^5.0.0", + "hosted-git-info": "^6.0.0", "is-core-module": "^2.8.1", "semver": "^7.3.5", "validate-npm-package-license": "^3.0.4" @@ -21046,142 +22685,123 @@ "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==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-3.0.0.tgz", + "integrity": "sha512-Vq0eyEQy+elFpzsKjMss9kxqb9tG3YHg4dsyWuUENuzvSUWe1TCnW/vV9FkhvBk/brEDoDiVd+M1Btosa6ImdQ==", "dev": true, "requires": { - "npm-normalize-package-bin": "^1.0.1" + "npm-normalize-package-bin": "^3.0.0" } }, "npm-install-checks": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-5.0.0.tgz", - "integrity": "sha512-65lUsMI8ztHCxFz5ckCEC44DRvEGdZX5usQFriauxHEwt7upv1FKaQEmAtU0YnOAdwuNWCmk64xYiQABNrEyLA==", + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-6.1.1.tgz", + "integrity": "sha512-dH3GmQL4vsPtld59cOn8uY0iOqRmqKvV+DLGwNXV/Q7MDgD2QfOADWd/mFXcIE5LVhYYGjA3baz6W9JneqnuCw==", "dev": true, "requires": { "semver": "^7.1.1" } }, "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==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-3.0.1.tgz", + "integrity": "sha512-dMxCf+zZ+3zeQZXKxmyuCKlIDPGuv8EF940xbkC4kQVDTtqoh6rJFO+JTKSA6/Rwi0getWmtuy4Itup0AMcaDQ==", "dev": true }, "npm-package-arg": { - "version": "9.0.2", - "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-9.0.2.tgz", - "integrity": "sha512-v/miORuX8cndiOheW8p2moNuPJ7QhcFh9WGlTorruG8hXSA23vMTEp5hTCmDxic0nD8KHhj/NQgFuySD3GYY3g==", + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-10.1.0.tgz", + "integrity": "sha512-uFyyCEmgBfZTtrKk/5xDfHp6+MdrqGotX/VoOyEEl3mBwiEE5FlBaePanazJSVMPT7vKepcjYBY2ztg9A3yPIA==", "dev": true, "requires": { - "hosted-git-info": "^5.0.0", + "hosted-git-info": "^6.0.0", + "proc-log": "^3.0.0", "semver": "^7.3.5", - "validate-npm-package-name": "^4.0.0" + "validate-npm-package-name": "^5.0.0" } }, "npm-packlist": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-5.1.1.tgz", - "integrity": "sha512-UfpSvQ5YKwctmodvPPkK6Fwk603aoVsf8AEbmVKAEECrfvL8SSe1A2YIwrJ6xmTHAITKPwwZsWo7WwEbNk0kxw==", + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-7.0.4.tgz", + "integrity": "sha512-d6RGEuRrNS5/N84iglPivjaJPxhDbZmlbTwTDX2IbcRHG5bZCdtysYMhwiPvcF4GisXHGn7xsxv+GQ7T/02M5Q==", "dev": true, "requires": { - "glob": "^8.0.1", - "ignore-walk": "^5.0.1", - "npm-bundled": "^1.1.2", - "npm-normalize-package-bin": "^1.0.1" + "ignore-walk": "^6.0.0" } }, "npm-pick-manifest": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-7.0.1.tgz", - "integrity": "sha512-IA8+tuv8KujbsbLQvselW2XQgmXWS47t3CB0ZrzsRZ82DbDfkcFunOaPm4X7qNuhMfq+FmV7hQT4iFVpHqV7mg==", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-8.0.1.tgz", + "integrity": "sha512-mRtvlBjTsJvfCCdmPtiu2bdlx8d/KXtF7yNXNWe7G0Z36qWA9Ny5zXsI2PfBZEv7SXgoxTmNaTzGSbbzDZChoA==", "dev": true, "requires": { - "npm-install-checks": "^5.0.0", - "npm-normalize-package-bin": "^1.0.1", - "npm-package-arg": "^9.0.0", + "npm-install-checks": "^6.0.0", + "npm-normalize-package-bin": "^3.0.0", + "npm-package-arg": "^10.0.0", "semver": "^7.3.5" } }, "npm-registry-fetch": { - "version": "13.3.1", - "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-13.3.1.tgz", - "integrity": "sha512-eukJPi++DKRTjSBRcDZSDDsGqRK3ehbxfFUcgaRd0Yp6kRwOwh2WVn0r+8rMB4nnuzvAk6rQVzl6K5CkYOmnvw==", + "version": "14.0.5", + "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-14.0.5.tgz", + "integrity": "sha512-kIDMIo4aBm6xg7jOttupWZamsZRkAqMqwqqbVXnUqstY5+tapvv6bkH/qMR76jdgV+YljEUCyWx3hRYMrJiAgA==", "dev": true, "requires": { - "make-fetch-happen": "^10.0.6", - "minipass": "^3.1.6", - "minipass-fetch": "^2.0.3", + "make-fetch-happen": "^11.0.0", + "minipass": "^5.0.0", + "minipass-fetch": "^3.0.0", "minipass-json-stream": "^1.0.1", "minizlib": "^2.1.2", - "npm-package-arg": "^9.0.1", - "proc-log": "^2.0.0" + "npm-package-arg": "^10.0.0", + "proc-log": "^3.0.0" }, "dependencies": { - "@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==", + "lru-cache": { + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", + "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", "dev": true }, - "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, - "requires": { - "@tootallnate/once": "2", - "agent-base": "6", - "debug": "4" - } - }, "make-fetch-happen": { - "version": "10.2.1", - "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-10.2.1.tgz", - "integrity": "sha512-NgOPbRiaQM10DYXvN3/hhGVI2M5MtITFryzBGxHM5p4wnFxsVCbxkrBrDsk+EZ5OB4jEOT7AjDxtdF+KVEFT7w==", + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-11.1.1.tgz", + "integrity": "sha512-rLWS7GCSTcEujjVBs2YqG7Y4643u8ucvCJeSRqiLYhesrDuzeuFIk37xREzAsfQaqzl8b9rNCE4m6J8tvX4Q8w==", "dev": true, "requires": { "agentkeepalive": "^4.2.1", - "cacache": "^16.1.0", - "http-cache-semantics": "^4.1.0", + "cacache": "^17.0.0", + "http-cache-semantics": "^4.1.1", "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": "^5.0.0", + "minipass-fetch": "^3.0.0", "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" + "ssri": "^10.0.0" } }, + "minipass": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", + "dev": true + }, "minipass-fetch": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-2.1.1.tgz", - "integrity": "sha512-/kgtXVGS10PTFET6dAbOBWQtgH+iDiI4NhRqAftojRlsOJhk0y45sVVxqCaRQC+AMFH7JkHiWpuKJKQ+mojKiA==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-3.0.3.tgz", + "integrity": "sha512-n5ITsTkDqYkYJZjcRWzZt9qnZKCT7nKCosJhHoj7S7zD+BP4jVbWs+odsniw5TA3E0sLomhTKOKjF86wf11PuQ==", "dev": true, "requires": { "encoding": "^0.1.13", - "minipass": "^3.1.6", + "minipass": "^5.0.0", "minipass-sized": "^1.0.3", "minizlib": "^2.1.2" } - }, - "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": { - "agent-base": "^6.0.2", - "debug": "^4.3.3", - "socks": "^2.6.2" - } } } }, @@ -21222,29 +22842,11 @@ "dev": true }, "object-inspect": { - "version": "1.12.2", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", - "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==", + "version": "1.12.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", + "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", "dev": true }, - "object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "dev": true - }, - "object.assign": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", - "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "has-symbols": "^1.0.3", - "object-keys": "^1.1.1" - } - }, "obuf": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", @@ -21291,9 +22893,9 @@ } }, "open": { - "version": "8.4.0", - "resolved": "https://registry.npmjs.org/open/-/open-8.4.0.tgz", - "integrity": "sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==", + "version": "8.4.1", + "resolved": "https://registry.npmjs.org/open/-/open-8.4.1.tgz", + "integrity": "sha512-/4b7qZNhv6Uhd7jjnREh1NjnPxlTq+XNWPG88Ydkj5AILcA5m3ajvcg57pB24EQjKv0dK62XnDqk9c/hkIG5Kg==", "requires": { "define-lazy-prop": "^2.0.0", "is-docker": "^2.1.1", @@ -21415,31 +23017,28 @@ "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" }, "pacote": { - "version": "13.3.0", - "resolved": "https://registry.npmjs.org/pacote/-/pacote-13.3.0.tgz", - "integrity": "sha512-auhJAUlfC2TALo6I0s1vFoPvVFgWGx+uz/PnIojTTgkGwlK3Np8sGJ0ghfFhiuzJXTZoTycMLk8uLskdntPbDw==", + "version": "15.1.0", + "resolved": "https://registry.npmjs.org/pacote/-/pacote-15.1.0.tgz", + "integrity": "sha512-FFcjtIl+BQNfeliSm7MZz5cpdohvUV1yjGnqgVM4UnVF7JslRY0ImXAygdaCDV0jjUADEWu4y5xsDV8brtrTLg==", "dev": true, "requires": { - "@npmcli/git": "^3.0.0", - "@npmcli/installed-package-contents": "^1.0.7", - "@npmcli/promise-spawn": "^3.0.0", - "@npmcli/run-script": "^3.0.1", - "cacache": "^16.0.0", - "chownr": "^2.0.0", - "fs-minipass": "^2.1.0", - "infer-owner": "^1.0.4", - "minipass": "^3.1.6", - "mkdirp": "^1.0.4", - "npm-package-arg": "^9.0.0", - "npm-packlist": "^5.0.0", - "npm-pick-manifest": "^7.0.0", - "npm-registry-fetch": "^13.0.1", - "proc-log": "^2.0.0", + "@npmcli/git": "^4.0.0", + "@npmcli/installed-package-contents": "^2.0.1", + "@npmcli/promise-spawn": "^6.0.1", + "@npmcli/run-script": "^6.0.0", + "cacache": "^17.0.0", + "fs-minipass": "^3.0.0", + "minipass": "^4.0.0", + "npm-package-arg": "^10.0.0", + "npm-packlist": "^7.0.0", + "npm-pick-manifest": "^8.0.0", + "npm-registry-fetch": "^14.0.0", + "proc-log": "^3.0.0", "promise-retry": "^2.0.1", - "read-package-json": "^5.0.0", - "read-package-json-fast": "^2.0.3", - "rimraf": "^3.0.2", - "ssri": "^9.0.0", + "read-package-json": "^6.0.0", + "read-package-json-fast": "^3.0.0", + "sigstore": "^1.0.0", + "ssri": "^10.0.0", "tar": "^6.1.11" } }, @@ -21482,13 +23081,31 @@ "dev": true }, "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==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/parse5-html-rewriting-stream/-/parse5-html-rewriting-stream-7.0.0.tgz", + "integrity": "sha512-mazCyGWkmCRWDI15Zp+UiCqMp/0dgEmkZRvhlsqqKYr4SsVm/TvnSpD9fCvqCA2zoWJcfRym846ejWBBHRiYEg==", "dev": true, "requires": { - "parse5": "^6.0.1", - "parse5-sax-parser": "^6.0.1" + "entities": "^4.3.0", + "parse5": "^7.0.0", + "parse5-sax-parser": "^7.0.0" + }, + "dependencies": { + "entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "dev": true + }, + "parse5": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", + "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", + "dev": true, + "requires": { + "entities": "^4.4.0" + } + } } }, "parse5-htmlparser2-tree-adapter": { @@ -21501,12 +23118,29 @@ } }, "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==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/parse5-sax-parser/-/parse5-sax-parser-7.0.0.tgz", + "integrity": "sha512-5A+v2SNsq8T6/mG3ahcz8ZtQ0OUFTatxPbeidoMB7tkJSGDY3tdfl4MHovtLQHkEn5CGxijNWRQHhRQ6IRpXKg==", "dev": true, "requires": { - "parse5": "^6.0.1" + "parse5": "^7.0.0" + }, + "dependencies": { + "entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "dev": true + }, + "parse5": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", + "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", + "dev": true, + "requires": { + "entities": "^4.4.0" + } + } } }, "parseurl": { @@ -21537,6 +23171,30 @@ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", "dev": true }, + "path-scurry": { + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.9.2.tgz", + "integrity": "sha512-qSDLy2aGFPm8i4rsbHd4MNyTcrzHFsLQykrtbuGRknZZCBBVXSv2tSCDN2Cg6Rt/GFRw8GoW9y9Ecw5rIPG1sg==", + "dev": true, + "requires": { + "lru-cache": "^9.1.1", + "minipass": "^5.0.0 || ^6.0.2" + }, + "dependencies": { + "lru-cache": { + "version": "9.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-9.1.1.tgz", + "integrity": "sha512-65/Jky17UwSb0BuB9V+MyDpsOtXKmYwzhyl+cOa9XUiI4uV2Ouy/2voFP3+al0BjZbJgMBD8FojMpAf+Z+qn4A==", + "dev": true + }, + "minipass": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-6.0.2.tgz", + "integrity": "sha512-MzWSV5nYVT7mVyWCwn2o7JH13w2TBRmmSqSRCKzTw+lmft9X4z+3wjvs06Tzijo5z4W/kahUCDpRXTF+ZrmF/w==", + "dev": true + } + } + }, "path-to-regexp": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", @@ -21561,10 +23219,11 @@ "devOptional": true }, "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", - "dev": true + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true, + "optional": true }, "piscina": { "version": "3.2.0", @@ -21593,9 +23252,9 @@ "integrity": "sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw==" }, "postcss": { - "version": "8.4.14", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.14.tgz", - "integrity": "sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==", + "version": "8.4.21", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.21.tgz", + "integrity": "sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==", "dev": true, "requires": { "nanoid": "^3.3.4", @@ -21603,200 +23262,17 @@ "source-map-js": "^1.0.2" } }, - "postcss-attribute-case-insensitive": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-5.0.2.tgz", - "integrity": "sha512-XIidXV8fDr0kKt28vqki84fRK8VW8eTuIa4PChv2MqKuT6C9UjmSKzen6KaWhWEoYvwxFCa7n/tC1SZ3tyq4SQ==", - "dev": true, - "requires": { - "postcss-selector-parser": "^6.0.10" - } - }, - "postcss-clamp": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/postcss-clamp/-/postcss-clamp-4.1.0.tgz", - "integrity": "sha512-ry4b1Llo/9zz+PKC+030KUnPITTJAHeOwjfAyyB60eT0AorGLdzp52s31OsPRHRf8NchkgFoG2y6fCfn1IV1Ow==", - "dev": true, - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-color-functional-notation": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-4.2.4.tgz", - "integrity": "sha512-2yrTAUZUab9s6CpxkxC4rVgFEVaR6/2Pipvi6qcgvnYiVqZcbDHEoBDhrXzyb7Efh2CCfHQNtcqWcIruDTIUeg==", - "dev": true, - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "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.2.0" - } - }, - "postcss-color-rebeccapurple": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-7.1.1.tgz", - "integrity": "sha512-pGxkuVEInwLHgkNxUc4sdg4g3py7zUeCQ9sMfwyHAT+Ezk8a4OaaVZ8lIY5+oNqA/BXXgLyXv0+5wHP68R79hg==", - "dev": true, - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "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.2.0" - } - }, - "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": { - "postcss-value-parser": "^4.2.0" - } - }, - "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": { - "postcss-selector-parser": "^6.0.4" - } - }, - "postcss-dir-pseudo-class": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-6.0.5.tgz", - "integrity": "sha512-eqn4m70P031PF7ZQIvSgy9RSJ5uI2171O/OO/zcRNYpJbvaeKFUlar1aJ7rmgiQtbm0FSPsRewjpdS0Oew7MPA==", - "dev": true, - "requires": { - "postcss-selector-parser": "^6.0.10" - } - }, - "postcss-double-position-gradients": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-3.1.2.tgz", - "integrity": "sha512-GX+FuE/uBR6eskOK+4vkXgT6pDkexLokPaz/AbJna9s5Kzp/yl488pKPjhy0obB475ovfT1Wv8ho7U/cHNaRgQ==", - "dev": true, - "requires": { - "@csstools/postcss-progressive-custom-properties": "^1.1.0", - "postcss-value-parser": "^4.2.0" - } - }, - "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": { - "postcss-value-parser": "^4.2.0" - } - }, - "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-selector-parser": "^6.0.9" - } - }, - "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-selector-parser": "^6.0.9" - } - }, - "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.5", - "resolved": "https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-3.0.5.tgz", - "integrity": "sha512-IuE6gKSdoUNcvkGIqdtjtcMtZIFyXZhmFd5RUlg97iVEvp1BZKV5ngsAjCjrVy+14uhGBQl9tzmi1Qwq4kqVOg==", - "dev": true, - "requires": {} - }, - "postcss-image-set-function": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/postcss-image-set-function/-/postcss-image-set-function-4.0.7.tgz", - "integrity": "sha512-9T2r9rsvYzm5ndsBE8WgtrMlIT7VbtTfE7b3BQnudUqnBcBo7L758oc+o+pdj/dUV0l5wjwSdjeOH2DZtfv8qw==", - "dev": true, - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-import": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-14.1.0.tgz", - "integrity": "sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==", - "dev": true, - "requires": { - "postcss-value-parser": "^4.0.0", - "read-cache": "^1.0.0", - "resolve": "^1.1.7" - } - }, - "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.1", - "resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-4.2.1.tgz", - "integrity": "sha512-xuXll4isR03CrQsmxyz92LJB2xX9n+pZJ5jE9JgcnmsCammLyKdlzrBin+25dy6wIjfhJpKBAN80gsTlCgRk2w==", - "dev": true, - "requires": { - "@csstools/postcss-progressive-custom-properties": "^1.1.0", - "postcss-value-parser": "^4.2.0" - } - }, "postcss-loader": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-7.0.1.tgz", - "integrity": "sha512-VRviFEyYlLjctSM93gAZtcJJ/iSkPZ79zWbN/1fSH+NisBByEiVLqpdVDrPLVSi8DX0oJo12kL/GppTBdKVXiQ==", + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-7.0.2.tgz", + "integrity": "sha512-fUJzV/QH7NXUAqV8dWJ9Lg4aTkDCezpTS5HgJ2DvqznexTbSTxgi/dTECvTZ15BwKTtk8G/bqI/QTu2HPd3ZCg==", "dev": true, "requires": { "cosmiconfig": "^7.0.0", "klona": "^2.0.5", - "semver": "^7.3.7" + "semver": "^7.3.8" } }, - "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", @@ -21805,9 +23281,9 @@ "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==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.3.tgz", + "integrity": "sha512-2/u2zraspoACtrbFRnTijMiQtb4GW4BvatjaG/bCjYQo8kLTdevCUlwuBHx2sCnSyrI3x3qj4ZK1j5LQBgzmwA==", "dev": true, "requires": { "icss-utils": "^5.0.0", @@ -21833,131 +23309,10 @@ "icss-utils": "^5.0.0" } }, - "postcss-nesting": { - "version": "10.1.10", - "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-10.1.10.tgz", - "integrity": "sha512-lqd7LXCq0gWc0wKXtoKDru5wEUNjm3OryLVNRZ8OnW8km6fSNUuFrjEhU3nklxXE2jvd4qrox566acgh+xQt8w==", - "dev": true, - "requires": { - "@csstools/selector-specificity": "^2.0.0", - "postcss-selector-parser": "^6.0.10" - } - }, - "postcss-opacity-percentage": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/postcss-opacity-percentage/-/postcss-opacity-percentage-1.1.2.tgz", - "integrity": "sha512-lyUfF7miG+yewZ8EAk9XUBIlrHyUE6fijnesuz+Mj5zrIHIEw6KcIZSOk/elVMqzLvREmXB83Zi/5QpNRYd47w==", - "dev": true - }, - "postcss-overflow-shorthand": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/postcss-overflow-shorthand/-/postcss-overflow-shorthand-3.0.4.tgz", - "integrity": "sha512-otYl/ylHK8Y9bcBnPLo3foYFLL6a6Ak+3EQBPOTR7luMYCOsiVTUk1iLvNf6tVPNGXcoL9Hoz37kpfriRIFb4A==", - "dev": true, - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "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.5", - "resolved": "https://registry.npmjs.org/postcss-place/-/postcss-place-7.0.5.tgz", - "integrity": "sha512-wR8igaZROA6Z4pv0d+bvVrvGY4GVHihBCBQieXFY3kuSuMyOmEnnfFzHl/tQuqHZkfkIVBEbDvYcFfHmpSet9g==", - "dev": true, - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-preset-env": { - "version": "7.7.2", - "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-7.7.2.tgz", - "integrity": "sha512-1q0ih7EDsZmCb/FMDRvosna7Gsbdx8CvYO5hYT120hcp2ZAuOHpSzibujZ4JpIUcAC02PG6b+eftxqjTFh5BNA==", - "dev": true, - "requires": { - "@csstools/postcss-cascade-layers": "^1.0.4", - "@csstools/postcss-color-function": "^1.1.0", - "@csstools/postcss-font-format-keywords": "^1.0.0", - "@csstools/postcss-hwb-function": "^1.0.1", - "@csstools/postcss-ic-unit": "^1.0.0", - "@csstools/postcss-is-pseudo-class": "^2.0.6", - "@csstools/postcss-normalize-display-values": "^1.0.0", - "@csstools/postcss-oklab-function": "^1.1.0", - "@csstools/postcss-progressive-custom-properties": "^1.3.0", - "@csstools/postcss-stepped-value-functions": "^1.0.0", - "@csstools/postcss-trigonometric-functions": "^1.0.1", - "@csstools/postcss-unset-value": "^1.0.1", - "autoprefixer": "^10.4.7", - "browserslist": "^4.21.0", - "css-blank-pseudo": "^3.0.3", - "css-has-pseudo": "^3.0.4", - "css-prefers-color-scheme": "^6.0.3", - "cssdb": "^6.6.3", - "postcss-attribute-case-insensitive": "^5.0.1", - "postcss-clamp": "^4.1.0", - "postcss-color-functional-notation": "^4.2.3", - "postcss-color-hex-alpha": "^8.0.4", - "postcss-color-rebeccapurple": "^7.1.0", - "postcss-custom-media": "^8.0.2", - "postcss-custom-properties": "^12.1.8", - "postcss-custom-selectors": "^6.0.3", - "postcss-dir-pseudo-class": "^6.0.4", - "postcss-double-position-gradients": "^3.1.1", - "postcss-env-function": "^4.0.6", - "postcss-focus-visible": "^6.0.4", - "postcss-focus-within": "^5.0.4", - "postcss-font-variant": "^5.0.0", - "postcss-gap-properties": "^3.0.3", - "postcss-image-set-function": "^4.0.6", - "postcss-initial": "^4.0.1", - "postcss-lab-function": "^4.2.0", - "postcss-logical": "^5.0.4", - "postcss-media-minmax": "^5.0.0", - "postcss-nesting": "^10.1.9", - "postcss-opacity-percentage": "^1.1.2", - "postcss-overflow-shorthand": "^3.0.3", - "postcss-page-break": "^3.0.4", - "postcss-place": "^7.0.4", - "postcss-pseudo-class-any-link": "^7.1.5", - "postcss-replace-overflow-wrap": "^4.0.0", - "postcss-selector-not": "^6.0.0", - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-pseudo-class-any-link": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-7.1.6.tgz", - "integrity": "sha512-9sCtZkO6f/5ML9WcTLcIyV1yz9D1rf0tWc+ulKcvV30s0iZKS/ONyETvoWsr6vnrmW+X+KmuK3gV/w5EWnT37w==", - "dev": true, - "requires": { - "postcss-selector-parser": "^6.0.10" - } - }, - "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": "6.0.1", - "resolved": "https://registry.npmjs.org/postcss-selector-not/-/postcss-selector-not-6.0.1.tgz", - "integrity": "sha512-1i9affjAe9xu/y9uqWH+tD4r6/hDaXJruk8xn2x1vzxC2U3J3LKO3zJW4CyxlNhA56pADJ/djpEwpH1RClI2rQ==", - "dev": true, - "requires": { - "postcss-selector-parser": "^6.0.10" - } - }, "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==", + "version": "6.0.13", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz", + "integrity": "sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==", "dev": true, "requires": { "cssesc": "^3.0.0", @@ -21990,9 +23345,9 @@ } }, "proc-log": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-2.0.1.tgz", - "integrity": "sha512-Kcmo2FhfDTXdcbfDH76N7uBYHINxc/8GW7UAVuVP9I+Va3uHSerrnKV6dLooga/gh7GlgzuCCr/eoldnL1muGw==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-3.0.0.tgz", + "integrity": "sha512-++Vn7NS4Xf9NacaU9Xq3URUuqZETPsf8L4j5/ckhaRYsfPeRyzGw+iDjFhV/Jr3uNmTvvddEJFWh5R1gRgUH8A==", "dev": true }, "process-nextick-args": { @@ -22159,9 +23514,9 @@ } }, "qs": { - "version": "6.10.3", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz", - "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==", + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", "dev": true, "requires": { "side-channel": "^1.0.4" @@ -22199,35 +23554,70 @@ "unpipe": "1.0.0" } }, - "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, - "requires": { - "pify": "^2.3.0" - } - }, "read-package-json": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-5.0.1.tgz", - "integrity": "sha512-MALHuNgYWdGW3gKzuNMuYtcSSZbGQm94fAp16xt8VsYTLBjUSc55bLMKe6gzpWue0Tfi6CBgwCSdDAqutGDhMg==", + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-6.0.3.tgz", + "integrity": "sha512-4QbpReW4kxFgeBQ0vPAqh2y8sXEB3D4t3jsXbJKIhBiF80KT6XRo45reqwtftju5J6ru1ax06A2Gb/wM1qCOEQ==", "dev": true, "requires": { - "glob": "^8.0.1", - "json-parse-even-better-errors": "^2.3.1", - "normalize-package-data": "^4.0.0", - "npm-normalize-package-bin": "^1.0.1" + "glob": "^10.2.2", + "json-parse-even-better-errors": "^3.0.0", + "normalize-package-data": "^5.0.0", + "npm-normalize-package-bin": "^3.0.0" + }, + "dependencies": { + "glob": { + "version": "10.2.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.2.6.tgz", + "integrity": "sha512-U/rnDpXJGF414QQQZv5uVsabTVxMSwzS5CH0p3DRCIV6ownl4f7PzGnkGmvlum2wB+9RlJWJZ6ACU1INnBqiPA==", + "dev": true, + "requires": { + "foreground-child": "^3.1.0", + "jackspeak": "^2.0.3", + "minimatch": "^9.0.1", + "minipass": "^5.0.0 || ^6.0.2", + "path-scurry": "^1.7.0" + } + }, + "json-parse-even-better-errors": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.0.tgz", + "integrity": "sha512-iZbGHafX/59r39gPwVPRBGw0QQKnA7tte5pSMrhWOW7swGsVvVTjmfyAV9pNqk8YGT7tRCdxRu8uzcgZwoDooA==", + "dev": true + }, + "minimatch": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.1.tgz", + "integrity": "sha512-0jWhJpD/MdhPXwPuiRkCbfYfSKp2qnn2eOc279qI7f+osl/l+prKSrvhg157zSYvx/1nmgn2NqdT6k2Z7zSH9w==", + "dev": true, + "requires": { + "brace-expansion": "^2.0.1" + } + }, + "minipass": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-6.0.2.tgz", + "integrity": "sha512-MzWSV5nYVT7mVyWCwn2o7JH13w2TBRmmSqSRCKzTw+lmft9X4z+3wjvs06Tzijo5z4W/kahUCDpRXTF+ZrmF/w==", + "dev": true + } } }, "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==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-3.0.2.tgz", + "integrity": "sha512-0J+Msgym3vrLOUB3hzQCuZHII0xkNGCtz/HJH9xZshwv9DbDwkw1KaE3gx/e2J5rpEY5rtOy6cyhKOPrkP7FZw==", "dev": true, "requires": { - "json-parse-even-better-errors": "^2.3.0", - "npm-normalize-package-bin": "^1.0.1" + "json-parse-even-better-errors": "^3.0.0", + "npm-normalize-package-bin": "^3.0.0" + }, + "dependencies": { + "json-parse-even-better-errors": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.0.tgz", + "integrity": "sha512-iZbGHafX/59r39gPwVPRBGw0QQKnA7tte5pSMrhWOW7swGsVvVTjmfyAV9pNqk8YGT7tRCdxRu8uzcgZwoDooA==", + "dev": true + } } }, "readable-stream": { @@ -22262,24 +23652,24 @@ "dev": true }, "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==", + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz", + "integrity": "sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==", "dev": true, "requires": { "regenerate": "^1.4.2" } }, "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==", + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==", "dev": true }, "regenerator-transform": { - "version": "0.15.0", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.0.tgz", - "integrity": "sha512-LsrGtPmbYg19bcPHwdtmXwbW+TqNvtY4riE3P83foeHRroMbH6/2ddFBfab3t7kbzc7v7p4wbkIecHImqt0QNg==", + "version": "0.15.1", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.1.tgz", + "integrity": "sha512-knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg==", "dev": true, "requires": { "@babel/runtime": "^7.8.4" @@ -22292,29 +23682,23 @@ "dev": true }, "regexpu-core": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.1.0.tgz", - "integrity": "sha512-bb6hk+xWd2PEOkj5It46A16zFMs2mv86Iwpdu94la4S3sJ7C973h2dHpYKwIBGaWSO7cIRJ+UX0IeMaWcO4qwA==", + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz", + "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==", "dev": true, "requires": { + "@babel/regjsgen": "^0.8.0", "regenerate": "^1.4.2", - "regenerate-unicode-properties": "^10.0.1", - "regjsgen": "^0.6.0", - "regjsparser": "^0.8.2", + "regenerate-unicode-properties": "^10.1.0", + "regjsparser": "^0.9.1", "unicode-match-property-ecmascript": "^2.0.0", - "unicode-match-property-value-ecmascript": "^2.0.0" + "unicode-match-property-value-ecmascript": "^2.1.0" } }, - "regjsgen": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.6.0.tgz", - "integrity": "sha512-ozE883Uigtqj3bx7OhL1KNbCzGyW2NQZPl6Hs09WTvCuZD5sTI4JY58bkbQWa/Y9hxIsvJ3M8Nbf7j54IqeZbA==", - "dev": true - }, "regjsparser": { - "version": "0.8.4", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.8.4.tgz", - "integrity": "sha512-J3LABycON/VNEu3abOviqGHuB/LOtOQj8SKmfP9anY5GfAVw/SPjwzSjxGjbZXIxbGfqTHtJw58C2Li/WkStmA==", + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", + "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", "dev": true, "requires": { "jsesc": "~0.5.0" @@ -22350,12 +23734,12 @@ "dev": true }, "resolve": { - "version": "1.22.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz", - "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==", + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", + "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", "dev": true, "requires": { - "is-core-module": "^2.8.1", + "is-core-module": "^2.9.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" } @@ -22517,10 +23901,15 @@ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, + "safevalues": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/safevalues/-/safevalues-0.3.4.tgz", + "integrity": "sha512-LRneZZRXNgjzwG4bDQdOTSbze3fHm1EAKN/8bePxnlEZiBmkYEDggaHbuvHI9/hoqHbGfsEA7tWS9GhYHZBBsw==" + }, "sass": { - "version": "1.53.0", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.53.0.tgz", - "integrity": "sha512-zb/oMirbKhUgRQ0/GFz8TSAwRq2IlR29vOUJZOx0l8sV+CkHUfHa4u5nqrG+1VceZp7Jfj59SVW9ogdhTvJDcQ==", + "version": "1.58.1", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.58.1.tgz", + "integrity": "sha512-bnINi6nPXbP1XNRaranMFEBZWUfdW/AF16Ql5+ypRxfTvCRTTKrLsMIakyDcayUt2t/RZotmL4kgJwNH5xO+bg==", "dev": true, "requires": { "chokidar": ">=3.0.0 <4.0.0", @@ -22529,9 +23918,9 @@ } }, "sass-loader": { - "version": "13.0.2", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-13.0.2.tgz", - "integrity": "sha512-BbiqbVmbfJaWVeOOAu2o7DhYWtcNmTfvroVgFXa6k2hHheMxNAeDHLNoDy/Q5aoaVlz0LH+MbMktKwm9vN/j8Q==", + "version": "13.2.0", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-13.2.0.tgz", + "integrity": "sha512-JWEp48djQA4nbZxmgC02/Wh0eroSUutulROUusYJO9P9zltRbNN80JCBHqRGzjd4cmZCa/r88xgfkjGD0TXsHg==", "dev": true, "requires": { "klona": "^2.0.4", @@ -22542,44 +23931,19 @@ "version": "1.2.4", "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", - "dev": true + "dev": true, + "optional": true }, "schema-utils": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", - "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.1.tgz", + "integrity": "sha512-lELhBAAly9NowEsX0yZBlw9ahZG+sK/1RJ21EpzdYHKEs13Vku3LJ+MIPhh4sMs0oCCeufZQEQbMekiA4vuVIQ==", "dev": true, "requires": { - "@types/json-schema": "^7.0.5", - "ajv": "^6.12.4", - "ajv-keywords": "^3.5.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": {} - }, - "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 - } + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" } }, "select-hose": { @@ -22609,18 +23973,18 @@ } }, "selfsigned": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.0.1.tgz", - "integrity": "sha512-LmME957M1zOsUhG+67rAjKfiWFox3SBxE/yymatMZsAx+oMrJ0YQ8AToOnyCm7xbeg2ep37IHLxdu0o2MavQOQ==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.1.1.tgz", + "integrity": "sha512-GSL3aowiF7wa/WtSFwnUrludWFoNhftq8bUkH9pkzjpN2XSPOAYEgg6e0sS9s0rZwgJzJiQRPU18A6clnoW5wQ==", "dev": true, "requires": { "node-forge": "^1" } }, "semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "version": "7.5.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.1.tgz", + "integrity": "sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==", "requires": { "lru-cache": "^6.0.0" }, @@ -22831,6 +24195,66 @@ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" }, + "sigstore": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/sigstore/-/sigstore-1.5.2.tgz", + "integrity": "sha512-X95v6xAAooVpn7PaB94TDmFeSO5SBfCtB1R23fvzr36WTfjtkiiyOeei979nbTjc8nzh6FSLeltQZuODsm1EjQ==", + "dev": true, + "requires": { + "@sigstore/protobuf-specs": "^0.1.0", + "make-fetch-happen": "^11.0.1", + "tuf-js": "^1.1.3" + }, + "dependencies": { + "lru-cache": { + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", + "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", + "dev": true + }, + "make-fetch-happen": { + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-11.1.1.tgz", + "integrity": "sha512-rLWS7GCSTcEujjVBs2YqG7Y4643u8ucvCJeSRqiLYhesrDuzeuFIk37xREzAsfQaqzl8b9rNCE4m6J8tvX4Q8w==", + "dev": true, + "requires": { + "agentkeepalive": "^4.2.1", + "cacache": "^17.0.0", + "http-cache-semantics": "^4.1.1", + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.0", + "is-lambda": "^1.0.1", + "lru-cache": "^7.7.1", + "minipass": "^5.0.0", + "minipass-fetch": "^3.0.0", + "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": "^10.0.0" + } + }, + "minipass": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", + "dev": true + }, + "minipass-fetch": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-3.0.3.tgz", + "integrity": "sha512-n5ITsTkDqYkYJZjcRWzZt9qnZKCT7nKCosJhHoj7S7zD+BP4jVbWs+odsniw5TA3E0sLomhTKOKjF86wf11PuQ==", + "dev": true, + "requires": { + "encoding": "^0.1.13", + "minipass": "^5.0.0", + "minipass-sized": "^1.0.3", + "minizlib": "^2.1.2" + } + } + } + }, "simple-swizzle": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", @@ -22901,9 +24325,9 @@ } }, "socks": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/socks/-/socks-2.7.0.tgz", - "integrity": "sha512-scnOe9y4VuiNUULJN72GrM26BNOjVsfPXI+j+98PkyEfsIXroa5ofyjT+FzGvn/xHs73U2JtoBYAVx9Hl4quSA==", + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.7.1.tgz", + "integrity": "sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==", "dev": true, "requires": { "ip": "^2.0.0", @@ -22911,9 +24335,9 @@ } }, "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==", + "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": { "agent-base": "^6.0.2", @@ -22934,9 +24358,9 @@ "dev": true }, "source-map-loader": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-4.0.0.tgz", - "integrity": "sha512-i3KVgM3+QPAHNbGavK+VBq03YoJl24m9JWNbLgsjTj8aJzXG9M61bantBTNBt7CNwY2FYf+RJRYJ3pzalKjIrw==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-4.0.1.tgz", + "integrity": "sha512-oqXpzDIByKONVY8g1NUPOTQhe0UTU5bWUl32GSkqK2LjJj0HmwTMVKxcUip0RgAYhY1mqgOxjbQM48a0mmeNfA==", "dev": true, "requires": { "abab": "^2.0.6", @@ -22955,16 +24379,6 @@ } } }, - "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, - "requires": { - "atob": "^2.1.2", - "decode-uri-component": "^0.2.0" - } - }, "source-map-support": { "version": "0.5.21", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", @@ -22987,9 +24401,9 @@ "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==" }, "spdx-correct": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", - "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", + "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", "dev": true, "requires": { "spdx-expression-parse": "^3.0.0", @@ -23013,9 +24427,9 @@ } }, "spdx-license-ids": { - "version": "3.0.11", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz", - "integrity": "sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==", + "version": "3.0.13", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.13.tgz", + "integrity": "sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w==", "dev": true }, "spdy": { @@ -23052,12 +24466,20 @@ "dev": true }, "ssri": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-9.0.1.tgz", - "integrity": "sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q==", + "version": "10.0.4", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-10.0.4.tgz", + "integrity": "sha512-12+IR2CB2C28MMAw0Ncqwj5QbTcs0nGIhgJzYWzDkb21vWmfNI83KS4f3Ci6GI98WreIfG7o9UXp3C0qbpA8nQ==", "dev": true, "requires": { - "minipass": "^3.1.1" + "minipass": "^5.0.0" + }, + "dependencies": { + "minipass": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", + "dev": true + } } }, "stack-trace": { @@ -23107,6 +24529,17 @@ "strip-ansi": "^6.0.1" } }, + "string-width-cjs": { + "version": "npm:string-width@4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, "strip-ansi": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", @@ -23115,71 +24548,21 @@ "ansi-regex": "^5.0.1" } }, + "strip-ansi-cjs": { + "version": "npm:strip-ansi@6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + }, "strip-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 }, - "stylus": { - "version": "0.58.1", - "resolved": "https://registry.npmjs.org/stylus/-/stylus-0.58.1.tgz", - "integrity": "sha512-AYiCHm5ogczdCPMfe9aeQa4NklB2gcf4D/IhzYPddJjTgPc+k4D/EVE0yfQbZD43MHP3lPy+8NZ9fcFxkrgs/w==", - "dev": true, - "requires": { - "css": "^3.0.0", - "debug": "^4.3.2", - "glob": "^7.1.6", - "sax": "~1.2.4", - "source-map": "^0.7.3" - }, - "dependencies": { - "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" - } - }, - "glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - } - } - }, - "stylus-loader": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/stylus-loader/-/stylus-loader-7.0.0.tgz", - "integrity": "sha512-WTbtLrNfOfLgzTaR9Lj/BPhQroKk/LC1hfTXSUbrxmxgfUo3Y3LpmKRVA2R1XbjvTAvOfaian9vOyfv1z99E+A==", - "dev": true, - "requires": { - "fast-glob": "^3.2.11", - "klona": "^2.0.5", - "normalize-path": "^3.0.0" - } - }, "supports-color": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", @@ -23207,23 +24590,51 @@ "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==" }, "tar": { - "version": "6.1.11", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz", - "integrity": "sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==", + "version": "6.1.15", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.15.tgz", + "integrity": "sha512-/zKt9UyngnxIT/EAGYuxaMYgOIJiP81ab9ZfkILq4oNLPFX50qyYmu7jRj9qeXoxmJHjGlbH0+cm2uy1WCs10A==", "dev": true, "requires": { "chownr": "^2.0.0", "fs-minipass": "^2.0.0", - "minipass": "^3.0.0", + "minipass": "^5.0.0", "minizlib": "^2.1.1", "mkdirp": "^1.0.3", "yallist": "^4.0.0" + }, + "dependencies": { + "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" + }, + "dependencies": { + "minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + } + } + }, + "minipass": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", + "dev": true + } } }, "terser": { - "version": "5.14.2", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.14.2.tgz", - "integrity": "sha512-oL0rGeM/WFQCUd0y2QrWxYnq7tfSuKBiqTjRPWrRgB46WD/kiwHwF8T23z78H6Q6kGCuuHcPB+KULHRdxvVGQA==", + "version": "5.16.3", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.16.3.tgz", + "integrity": "sha512-v8wWLaS/xt3nE9dgKEWhNUFP6q4kngO5B8eYFUuebsu7Dw/UNAnpUod6UHo04jSSkv8TzKHjZDSd7EXdDQAl8Q==", "requires": { "@jridgewell/source-map": "^0.3.2", "acorn": "^8.5.0", @@ -23391,9 +24802,69 @@ "integrity": "sha512-XrHUvV5HpdLmIj4uVMxHggLbFSZYIn7HEWsqePZcI50pco+MPqJ50wMGY794X7AOOhxOBAjbkqfAbEe/QMp2Lw==" }, "tslib": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", - "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + }, + "tuf-js": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/tuf-js/-/tuf-js-1.1.6.tgz", + "integrity": "sha512-CXwFVIsXGbVY4vFiWF7TJKWmlKJAT8TWkH4RmiohJRcDJInix++F0dznDmoVbtJNzZ8yLprKUG4YrDIhv3nBMg==", + "dev": true, + "requires": { + "@tufjs/models": "1.0.4", + "debug": "^4.3.4", + "make-fetch-happen": "^11.1.0" + }, + "dependencies": { + "lru-cache": { + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", + "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", + "dev": true + }, + "make-fetch-happen": { + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-11.1.1.tgz", + "integrity": "sha512-rLWS7GCSTcEujjVBs2YqG7Y4643u8ucvCJeSRqiLYhesrDuzeuFIk37xREzAsfQaqzl8b9rNCE4m6J8tvX4Q8w==", + "dev": true, + "requires": { + "agentkeepalive": "^4.2.1", + "cacache": "^17.0.0", + "http-cache-semantics": "^4.1.1", + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.0", + "is-lambda": "^1.0.1", + "lru-cache": "^7.7.1", + "minipass": "^5.0.0", + "minipass-fetch": "^3.0.0", + "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": "^10.0.0" + } + }, + "minipass": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", + "dev": true + }, + "minipass-fetch": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-3.0.3.tgz", + "integrity": "sha512-n5ITsTkDqYkYJZjcRWzZt9qnZKCT7nKCosJhHoj7S7zD+BP4jVbWs+odsniw5TA3E0sLomhTKOKjF86wf11PuQ==", + "dev": true, + "requires": { + "encoding": "^0.1.13", + "minipass": "^5.0.0", + "minipass-sized": "^1.0.3", + "minizlib": "^2.1.2" + } + } + } }, "type-fest": { "version": "0.21.3", @@ -23417,9 +24888,9 @@ "dev": true }, "typescript": { - "version": "4.7.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.7.4.tgz", - "integrity": "sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==", + "version": "4.8.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.8.4.tgz", + "integrity": "sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ==", "dev": true }, "ua-parser-js": { @@ -23445,30 +24916,30 @@ } }, "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==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", + "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==", "dev": true }, "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==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", + "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", "dev": true }, "unique-filename": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", - "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-3.0.0.tgz", + "integrity": "sha512-afXhuC55wkAmZ0P18QsVE6kp8JaxrEokN2HGIoIVv2ijHQd419H0+6EigAFcIzXeMIkcIkNBpB3L/DXB3cTS/g==", "dev": true, "requires": { - "unique-slug": "^2.0.0" + "unique-slug": "^4.0.0" } }, "unique-slug": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", - "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-4.0.0.tgz", + "integrity": "sha512-WrcA6AyEfqDX5bWige/4NQfPZMtASNVxdmWR76WESYQVAACSgWcR6e9i0mofqqBxYFtL4oAxPIptY73/0YE1DQ==", "dev": true, "requires": { "imurmurhash": "^0.1.4" @@ -23486,9 +24957,9 @@ "dev": true }, "update-browserslist-db": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.5.tgz", - "integrity": "sha512-dteFFpCyvuDdr9S/ff1ISkKt/9YZxKjI9WlRR99c180GaztJtRa/fn18FdxGVKVsnPY7/a/FDN68mcvUmP4U7Q==", + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", + "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", "requires": { "escalade": "^3.1.1", "picocolors": "^1.0.0" @@ -23529,9 +25000,9 @@ } }, "validate-npm-package-name": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-4.0.0.tgz", - "integrity": "sha512-mzR0L8ZDktZjpX4OB46KT+56MAhl4EIazWP/+G/HPGuvfdaqg4YsCdtOm6U9+LOFyYDoh4dpnpxZRB9MQQns5Q==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-5.0.0.tgz", + "integrity": "sha512-YuKoXDAhBYxY7SfOKxHBDoSyENFeW5VvIIQp2TGQuit8gpK6MnWaQelBKxso72DoxTZfZdcP3W90LqpSkgPzLQ==", "dev": true, "requires": { "builtins": "^5.0.0" @@ -23581,20 +25052,20 @@ "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" }, "webpack": { - "version": "5.73.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.73.0.tgz", - "integrity": "sha512-svjudQRPPa0YiOYa2lM/Gacw0r6PvxptHj4FuEKQ2kX05ZLkjbVc5MnPs6its5j7IZljnIqSVo/OsY2X0IpHGA==", + "version": "5.76.1", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.76.1.tgz", + "integrity": "sha512-4+YIK4Abzv8172/SGqObnUjaIHjLEuUasz9EwQj/9xmPPkYJy2Mh03Q/lJfSD3YLzbxy5FeTq5Uw0323Oh6SJQ==", "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": "^8.7.1", "acorn-import-assertions": "^1.7.6", "browserslist": "^4.14.5", "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.9.3", + "enhanced-resolve": "^5.10.0", "es-module-lexer": "^0.9.0", "eslint-scope": "5.1.1", "events": "^3.2.0", @@ -23607,7 +25078,7 @@ "schema-utils": "^3.1.0", "tapable": "^2.1.1", "terser-webpack-plugin": "^5.1.3", - "watchpack": "^2.3.1", + "watchpack": "^2.4.0", "webpack-sources": "^3.2.3" }, "dependencies": { @@ -23646,36 +25117,22 @@ } }, "webpack-dev-middleware": { - "version": "5.3.3", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz", - "integrity": "sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-6.0.1.tgz", + "integrity": "sha512-PZPZ6jFinmqVPJZbisfggDiC+2EeGZ1ZByyMP5sOFJcPPWSexalISz+cvm+j+oYPT7FIJyxT76esjnw9DhE5sw==", "dev": true, "requires": { "colorette": "^2.0.10", - "memfs": "^3.4.3", + "memfs": "^3.4.12", "mime-types": "^2.1.31", "range-parser": "^1.2.1", "schema-utils": "^4.0.0" - }, - "dependencies": { - "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" - } - } } }, "webpack-dev-server": { - "version": "4.9.3", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.9.3.tgz", - "integrity": "sha512-3qp/eoboZG5/6QgiZ3llN8TUzkSpYg1Ko9khWX1h40MIEUNS2mDoIa8aXsPfskER+GbTvs/IJZ1QTBBhhuetSw==", + "version": "4.11.1", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.11.1.tgz", + "integrity": "sha512-lILVz9tAUy1zGFwieuaQtYiadImb5M3d+H+L1zDYalYoDl0cksAB1UNyuE5MMWJrG6zR1tXkCP2fitl7yoUJiw==", "dev": true, "requires": { "@types/bonjour": "^3.5.9", @@ -23701,7 +25158,7 @@ "p-retry": "^4.5.0", "rimraf": "^3.0.2", "schema-utils": "^4.0.0", - "selfsigned": "^2.0.1", + "selfsigned": "^2.1.1", "serve-index": "^1.9.1", "sockjs": "^0.3.24", "spdy": "^4.0.2", @@ -23709,22 +25166,23 @@ "ws": "^8.4.2" }, "dependencies": { - "schema-utils": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", - "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", + "webpack-dev-middleware": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz", + "integrity": "sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==", "dev": true, "requires": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.8.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.0.0" + "colorette": "^2.0.10", + "memfs": "^3.4.3", + "mime-types": "^2.1.31", + "range-parser": "^1.2.1", + "schema-utils": "^4.0.0" } }, "ws": { - "version": "8.8.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.8.1.tgz", - "integrity": "sha512-bGy2JzvzkPowEJV++hF07hAD6niYSr0JzBNo/J29WsB57A2r7Wlc1UFcTR9IzrPvuNVO4B8LGqF8qcpsVOhJCA==", + "version": "8.13.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.13.0.tgz", + "integrity": "sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==", "dev": true, "requires": {} } @@ -23867,6 +25325,43 @@ } } }, + "wrap-ansi-cjs": { + "version": "npm:wrap-ansi@7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "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" + } + }, + "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 + } + } + }, "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", @@ -23895,18 +25390,31 @@ "dev": true }, "yargs": { - "version": "17.4.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.4.1.tgz", - "integrity": "sha512-WSZD9jgobAg3ZKuCQZSa3g9QOJeCCqLoLAykiWgmXnDo9EPnn4RPf5qVTtzgOx66o6/oqhcA5tHtJXpG8pMt3g==", + "version": "17.6.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.6.2.tgz", + "integrity": "sha512-1/9UrdHjDZc0eOU0HxOHoS78C69UD3JRMvzlJ7S79S2nTaWRA/whGCTV8o9e/N/1Va9YIV7Q4sOxD8VV4pCWOw==", "dev": true, "requires": { - "cliui": "^7.0.2", + "cliui": "^8.0.1", "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": "^21.1.1" + }, + "dependencies": { + "cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + } + } } }, "yargs-parser": { diff --git a/angular/package.json b/angular/package.json index ee2d394..329aa02 100644 --- a/angular/package.json +++ b/angular/package.json @@ -10,18 +10,18 @@ }, "private": true, "dependencies": { - "@angular/animations": "^14.0.0", - "@angular/cdk": "^14.2.1", - "@angular/common": "^14.0.0", - "@angular/compiler": "^14.0.0", - "@angular/core": "^14.0.0", + "@angular/animations": "^15.2.9", + "@angular/cdk": "^15.2.9", + "@angular/common": "^15.2.9", + "@angular/compiler": "^15.2.9", + "@angular/core": "^15.2.9", "@angular/fire": "^7.4.1", - "@angular/forms": "^14.0.0", - "@angular/material": "^14.2.1", - "@angular/platform-browser": "^14.0.0", - "@angular/platform-browser-dynamic": "^14.0.0", - "@angular/router": "^14.0.0", - "@angular/service-worker": "^14.0.0", + "@angular/forms": "^15.2.9", + "@angular/material": "^15.2.9", + "@angular/platform-browser": "^15.2.9", + "@angular/platform-browser-dynamic": "^15.2.9", + "@angular/router": "^15.2.9", + "@angular/service-worker": "^15.2.9", "@fortawesome/angular-fontawesome": "^0.11.1", "@fortawesome/fontawesome-svg-core": "^6.2.0", "@fortawesome/free-brands-svg-icons": "^6.2.0", @@ -44,9 +44,9 @@ "zone.js": "~0.11.4" }, "devDependencies": { - "@angular-devkit/build-angular": "^14.0.6", - "@angular/cli": "~14.0.6", - "@angular/compiler-cli": "^14.0.0", + "@angular-devkit/build-angular": "^15.2.8", + "@angular/cli": "~15.2.8", + "@angular/compiler-cli": "^15.2.9", "@types/google-libphonenumber": "^7.4.23", "@types/jasmine": "~4.0.0", "jasmine-core": "~4.1.0", @@ -55,6 +55,6 @@ "karma-coverage": "~2.2.0", "karma-jasmine": "~5.0.0", "karma-jasmine-html-reporter": "~1.7.0", - "typescript": "~4.7.2" + "typescript": "4.8" } -} +} \ No newline at end of file diff --git a/angular/src/app/directives/directives.module.ts b/angular/src/app/directives/directives.module.ts index 832c7dd..28b7064 100644 --- a/angular/src/app/directives/directives.module.ts +++ b/angular/src/app/directives/directives.module.ts @@ -2,13 +2,12 @@ import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; import { FocusNextInputDirective } from './focus-next-input.directive'; import { DownloadAppDirective } from './download-app.directive'; -import { UpdateOutlineGapDirective } from './update-outline-gap.directive'; @NgModule({ imports: [ CommonModule ], - declarations: [FocusNextInputDirective, DownloadAppDirective, UpdateOutlineGapDirective], - exports: [FocusNextInputDirective, DownloadAppDirective, UpdateOutlineGapDirective] + declarations: [FocusNextInputDirective, DownloadAppDirective], + exports: [FocusNextInputDirective, DownloadAppDirective] }) export class DirectivesModule { } diff --git a/angular/src/app/directives/update-outline-gap.directive.ts b/angular/src/app/directives/update-outline-gap.directive.ts deleted file mode 100644 index cd44156..0000000 --- a/angular/src/app/directives/update-outline-gap.directive.ts +++ /dev/null @@ -1,17 +0,0 @@ -import { AfterViewInit, Directive } from '@angular/core'; -import { MatFormField } from '@angular/material/form-field'; - -// TODO: this is temporary workaround, upgrade angular to 15+, where input labels fork fine -@Directive({ - selector: 'mat-form-field[appearance=outline]', -}) -export class UpdateOutlineGapDirective implements AfterViewInit { - constructor(private formField: MatFormField) { - } - - ngAfterViewInit() { - document.fonts.ready.then(() => { - this.formField.updateOutlineGap(); - }); - } -} diff --git a/angular/src/app/presentation-options/first-option/first-option.module.ts b/angular/src/app/presentation-options/first-option/first-option.module.ts index 290573b..dd3d022 100644 --- a/angular/src/app/presentation-options/first-option/first-option.module.ts +++ b/angular/src/app/presentation-options/first-option/first-option.module.ts @@ -9,14 +9,14 @@ import { MatIconModule } from '@angular/material/icon'; import { GuestCardComponent } from './pages/guest-card/guest-card.component'; import { QrCodeModule } from 'ng-qrcode'; import { AccordionComponent } from './components/accordion/accordion.component'; -import { MatProgressSpinnerModule } from '@angular/material/progress-spinner'; +import { MatLegacyProgressSpinnerModule as MatProgressSpinnerModule } from '@angular/material/legacy-progress-spinner'; import { LastOrderComponent } from './components/last-order/last-order.component'; import { InviteFriendsComponent } from './components/invite-friends/invite-friends.component'; import { LoginComponent } from './pages/login/login.component'; import { FormsModule, ReactiveFormsModule } from '@angular/forms'; -import { MatFormFieldModule } from '@angular/material/form-field'; +import { MatLegacyFormFieldModule as MatFormFieldModule } from '@angular/material/legacy-form-field'; import { NgxMatIntlTelInputComponent } from 'ngx-mat-intl-tel-input'; -import { MatInputModule } from '@angular/material/input'; +import { MatLegacyInputModule as MatInputModule } from '@angular/material/legacy-input'; import { DirectivesModule } from 'src/app/directives/directives.module'; diff --git a/angular/src/app/presentation-options/first-option/pages/login/login.component.ts b/angular/src/app/presentation-options/first-option/pages/login/login.component.ts index 0a60904..de6d19e 100644 --- a/angular/src/app/presentation-options/first-option/pages/login/login.component.ts +++ b/angular/src/app/presentation-options/first-option/pages/login/login.component.ts @@ -6,7 +6,7 @@ import { OnInit } from '@angular/core'; import { FormControl, FormGroup, Validators } from '@angular/forms'; -import { MatSnackBar } from '@angular/material/snack-bar'; +import { MatLegacySnackBar as MatSnackBar } from '@angular/material/legacy-snack-bar'; import { Router } from '@angular/router'; import { MessageService } from 'primeng/api'; import { CookiesService } from 'src/app/services/cookies.service'; diff --git a/angular/src/styles.scss b/angular/src/styles.scss index a5e5ead..09990c5 100644 --- a/angular/src/styles.scss +++ b/angular/src/styles.scss @@ -1,5 +1,89 @@ +@use '@angular/material' as mat; + +@include mat.core(); + +$primary: ( + 50 : #f0e4ec, + 100 : #d9bcd0, + 200 : #bf90b0, + 300 : #a56390, + 400 : #924179, + 500 : #7f2061, + 600 : #771c59, + 700 : #6c184f, + 800 : #621345, + 900 : #4f0b33, + A100 : #ff85c7, + A200 : #ff52b0, + A400 : #ff1f99, + A700 : #ff068d, + contrast: ( + 50 : #000000, + 100 : #000000, + 200 : #000000, + 300 : #ffffff, + 400 : #ffffff, + 500 : #ffffff, + 600 : #ffffff, + 700 : #ffffff, + 800 : #ffffff, + 900 : #ffffff, + A100 : #000000, + A200 : #000000, + A400 : #ffffff, + A700 : #ffffff, + ) +); + +$accent: ( + 50 : #ffffff, + 100 : #ffffff, + 200 : #ffffff, + 300 : #ffffff, + 400 : #ffffff, + 500 : #ffffff, + 600 : #ffffff, + 700 : #ffffff, + 800 : #ffffff, + 900 : #ffffff, + A100 : #ffffff, + A200 : #ffffff, + A400 : #ffffff, + A700 : #ffffff, + contrast: ( + 50 : #000000, + 100 : #000000, + 200 : #000000, + 300 : #000000, + 400 : #000000, + 500 : #000000, + 600 : #000000, + 700 : #000000, + 800 : #000000, + 900 : #000000, + A100 : #000000, + A200 : #000000, + A400 : #000000, + A700 : #000000, + ) +); + +$primary-palette: mat.define-palette($primary); +$accent-palette: mat.define-palette($accent); + +$theme: mat.define-light-theme(( + color: ( + primary: $primary-palette, + accent: $accent-palette, + ), + typography: mat.define-typography-config(), + density: 0, +)); + +@include mat.all-component-themes($theme); + // Сброс стилей -html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:middle} +html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;} article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block} html{height:100%;} body{line-height:1} @@ -41,69 +125,19 @@ body { --button-text-color_disabled: #cccccc; } +.mdc-button__label { + color: var(--button-text-color) !important; +} + +.mat-mdc-outlined-button:not(:disabled) { + border-color: var(--button-text-color) !important; +} + hr { width: 100%; border-top: 1px solid #BDBDBD; } -.mat-bottom-sheet-container { - box-shadow: 0px 8px 10px -5px rgba(255, 255, 255, 0.2), 0px 16px 24px 2px rgba(255, 255, 255, 0.14), 0px 6px 30px 5px rgba(255, 255, 255, 0.12); - background: var(--background-color); - color: var(--text-color); -} - - -.mat-form-field-appearance-outline .mat-form-field-outline { - color: var(--button-color_disabled) !important; -} - -.mat-form-field-appearance-outline .mat-form-field-outline { - color: var(--button-color) !important; -} - -.mat-form-field-wrapper { - padding: 0; -} - -.mat-progress-spinner circle, .mat-spinner circle { - stroke: var(--button-color); -} - -.mat-form-field-outline-start, .mat-form-field-outline-end { - border-radius: 0 !important; -} -.mat-form-field-outline-start { - border-left: none !important; -} -.mat-form-field-outline-end { - border-right: none !important; -} - -.mat-focused .mat-form-field-outline > div { - border-color: var(--button-color); -} - -.mat-form-field-label { - color: var(--text-color_1) !important; -} - -.mat-focused .mat-form-field-label { - color: var(--text-color) !important; -} - -.mat-form-field-invalid .mat-form-field-outline > div { - border-color: red; -} - -.country-list-button { - color: var(--text-color) !important; -} - -.mat-menu-panel { - background: var(--background-color); - border-radius: 0; -} - .country-selector { opacity: 1 !important; display: none !important; @@ -117,7 +151,6 @@ hr { color: var(--text-color); } - qr-code canvas { transition: all 0.3s ease 0s; } diff --git a/angular/src/test.ts b/angular/src/test.ts index c04c876..51bb020 100644 --- a/angular/src/test.ts +++ b/angular/src/test.ts @@ -7,20 +7,8 @@ import { platformBrowserDynamicTesting } from '@angular/platform-browser-dynamic/testing'; -declare const require: { - context(path: string, deep?: boolean, filter?: RegExp): { - (id: string): T; - keys(): string[]; - }; -}; - // First, initialize the Angular testing environment. getTestBed().initTestEnvironment( BrowserDynamicTestingModule, platformBrowserDynamicTesting(), ); - -// Then we find all the tests. -const context = require.context('./', true, /\.spec\.ts$/); -// And load the modules. -context.keys().forEach(context); diff --git a/angular/tsconfig.json b/angular/tsconfig.json index 5b6384b..169aa7f 100644 --- a/angular/tsconfig.json +++ b/angular/tsconfig.json @@ -16,7 +16,7 @@ "experimentalDecorators": true, "moduleResolution": "node", "importHelpers": true, - "target": "es2020", + "target": "ES2022", "module": "es2020", "lib": [ "es2020", @@ -24,6 +24,7 @@ ], "resolveJsonModule": true, "allowSyntheticDefaultImports": true, + "useDefineForClassFields": false }, "angularCompilerOptions": { "enableI18nLegacyMessageIdFormat": false, From 5c3e4a0368504d259ceca81093a5d002c3122448 Mon Sep 17 00:00:00 2001 From: nikolay Date: Wed, 31 May 2023 16:07:16 +0400 Subject: [PATCH 02/41] =?UTF-8?q?dev=20#14384=20=D0=9F=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=BA=D0=B0=20=D0=BE=D1=88=D0=B8=D0=B1=D0=BE=D0=BA=20=D0=BE?= =?UTF-8?q?=D1=82=D0=BE=D0=B1=D1=80=D0=B0=D0=B6=D0=B5=D0=BD=D0=B8=D1=8F=20?= =?UTF-8?q?WPA=20=D0=9A=D0=BE=D1=84=D0=B5=D0=9B=D0=B0=D0=B9=D0=BA:=20fix?= =?UTF-8?q?=20dependencies?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- angular/package-lock.json | 511 ++++++++++++++++++++------------------ angular/package.json | 10 +- 2 files changed, 271 insertions(+), 250 deletions(-) diff --git a/angular/package-lock.json b/angular/package-lock.json index 66dd295..7c8a269 100644 --- a/angular/package-lock.json +++ b/angular/package-lock.json @@ -13,14 +13,14 @@ "@angular/common": "^15.2.9", "@angular/compiler": "^15.2.9", "@angular/core": "^15.2.9", - "@angular/fire": "^7.4.1", + "@angular/fire": "^7.5.0", "@angular/forms": "^15.2.9", "@angular/material": "^15.2.9", "@angular/platform-browser": "^15.2.9", "@angular/platform-browser-dynamic": "^15.2.9", "@angular/router": "^15.2.9", "@angular/service-worker": "^15.2.9", - "@fortawesome/angular-fontawesome": "^0.11.1", + "@fortawesome/angular-fontawesome": "^0.12.1", "@fortawesome/fontawesome-svg-core": "^6.2.0", "@fortawesome/free-brands-svg-icons": "^6.2.0", "@fortawesome/free-solid-svg-icons": "^6.2.0", @@ -31,11 +31,11 @@ "google-libphonenumber": "^3.2.30", "jsbarcode": "^3.11.5", "libphonenumber-js": "^1.10.28", - "ng-qrcode": "^7.0.0", + "ng-qrcode": "^8.0.1", "ngx-mat-intl-tel-input": "^5.0.0", "ngx-sharebuttons": "^11.0.0", "primeicons": "^5.0.0", - "primeng": "^14.0.1", + "primeng": "^15.4.1", "rxjs": "~7.5.0", "tslib": "^2.3.0", "uuid": "^8.3.2", @@ -747,13 +747,12 @@ } }, "node_modules/@angular/fire": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/@angular/fire/-/fire-7.4.1.tgz", - "integrity": "sha512-wKSiK1g9cJRi1EVvs5a0vtCHPQQNKFIZS4F/smXUA123lDFrvn09PcETt3rVzfVWb3Hcu5Jf4DDlFIVJHUZjNg==", + "version": "7.6.1", + "resolved": "https://registry.npmjs.org/@angular/fire/-/fire-7.6.1.tgz", + "integrity": "sha512-ThNdY6gHprBRkuBDRt9zrYd/Ybl01NWb52GaKCQDmJZhklxelyRskhFhYWeZ0WRD5yhA0WBbRBbpDdfAnMEqgA==", "dependencies": { - "@angular-devkit/schematics": "^12.0.0 || ^13.0.0 || ^14.0.0", - "@schematics/angular": "^12.0.0 || ^13.0.0 || ^14.0.0", - "file-loader": "^6.2.0", + "@angular-devkit/schematics": "^12.0.0 || ^13.0.0 || ^14.0.0 || ^15.0.0 || ^16.0.0", + "@schematics/angular": "^12.0.0 || ^13.0.0 || ^14.0.0 || ^15.0.0 || ^16.0.0", "firebase": "^9.8.0", "fs-extra": "^8.0.1", "fuzzy": "^0.1.3", @@ -770,11 +769,11 @@ "winston": "^3.0.0" }, "peerDependencies": { - "@angular/common": "^12.0.0 || ^13.0.0 || ^14.0.0", - "@angular/core": "^12.0.0 || ^13.0.0 || ^14.0.0", - "@angular/platform-browser": "^12.0.0 || ^13.0.0 || ^14.0.0", - "@angular/platform-browser-dynamic": "^12.0.0 || ^13.0.0 || ^14.0.0", - "firebase-tools": "^9.9.0 || ^10.0.0 || ^11.0.0", + "@angular/common": "^12.0.0 || ^13.0.0 || ^14.0.0 || ^15.0.0 || ^16.0.0", + "@angular/core": "^12.0.0 || ^13.0.0 || ^14.0.0 || ^15.0.0 || ^16.0.0", + "@angular/platform-browser": "^12.0.0 || ^13.0.0 || ^14.0.0 || ^15.0.0 || ^16.0.0", + "@angular/platform-browser-dynamic": "^12.0.0 || ^13.0.0 || ^14.0.0 || ^15.0.0 || ^16.0.0", + "firebase-tools": "^9.9.0 || ^10.0.0 || ^11.0.0 || ^12.0.0", "rxjs": "~6.6.0 || ^7.0.0" }, "peerDependenciesMeta": { @@ -3560,14 +3559,14 @@ "integrity": "sha512-zThUKcqIU6utWzM93uEvhlh8qj8A5LMPFJPvk/ODb+8GSSif19xM2Lw1M2ijyBy8+6skSkQBbavPzOU5Oh/8tQ==" }, "node_modules/@fortawesome/angular-fontawesome": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/@fortawesome/angular-fontawesome/-/angular-fontawesome-0.11.1.tgz", - "integrity": "sha512-Ngzm5MVxk76ZhYpPTNOI/mpYNz9bzwfBXC5L9mktLgOONjBuYBPVt+bH8lny8hNtDk0ppZzXsMN6CO7hckdfnw==", + "version": "0.12.1", + "resolved": "https://registry.npmjs.org/@fortawesome/angular-fontawesome/-/angular-fontawesome-0.12.1.tgz", + "integrity": "sha512-vGGUfmWhsCtC+wUhnLXPeWBod33XKMFERwvD21LTbVBOCwUDUfwcS9nqfTmrULcpFl/bn20REZH/1vSreWd3ZA==", "dependencies": { - "tslib": "^2.4.0" + "tslib": "^2.4.1" }, "peerDependencies": { - "@angular/core": "^14.0.0", + "@angular/core": "^15.0.0", "@fortawesome/fontawesome-svg-core": "~1.2.27 || ~1.3.0-beta2 || ^6.1.0" } }, @@ -3887,6 +3886,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "dev": true, "engines": { "node": ">=6.0.0" } @@ -3895,6 +3895,7 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "dev": true, "engines": { "node": ">=6.0.0" } @@ -3903,6 +3904,7 @@ "version": "0.3.2", "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz", "integrity": "sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==", + "dev": true, "dependencies": { "@jridgewell/gen-mapping": "^0.3.0", "@jridgewell/trace-mapping": "^0.3.9" @@ -3912,6 +3914,7 @@ "version": "0.3.2", "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "dev": true, "dependencies": { "@jridgewell/set-array": "^1.0.1", "@jridgewell/sourcemap-codec": "^1.4.10", @@ -3924,12 +3927,14 @@ "node_modules/@jridgewell/sourcemap-codec": { "version": "1.4.14", "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", - "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==" + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", + "dev": true }, "node_modules/@jridgewell/trace-mapping": { "version": "0.3.18", "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz", "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==", + "dev": true, "dependencies": { "@jridgewell/resolve-uri": "3.1.0", "@jridgewell/sourcemap-codec": "1.4.14" @@ -5143,6 +5148,7 @@ "version": "8.4.5", "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.5.tgz", "integrity": "sha512-dhsC09y1gpJWnK+Ff4SGvCuSnk9DaU0BJZSzOwa6GVSg65XtTugLBITDAAzRU5duGBoXBHpdR/9jHGxJjNflJQ==", + "dev": true, "dependencies": { "@types/estree": "*", "@types/json-schema": "*" @@ -5152,6 +5158,7 @@ "version": "3.7.4", "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz", "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==", + "dev": true, "dependencies": { "@types/eslint": "*", "@types/estree": "*" @@ -5160,7 +5167,8 @@ "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==" + "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==", + "dev": true }, "node_modules/@types/express": { "version": "4.17.17", @@ -5210,7 +5218,8 @@ "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==" + "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", + "dev": true }, "node_modules/@types/long": { "version": "4.0.2", @@ -5317,6 +5326,7 @@ "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": { "@webassemblyjs/helper-numbers": "1.11.1", "@webassemblyjs/helper-wasm-bytecode": "1.11.1" @@ -5325,22 +5335,26 @@ "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==" + "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==", + "dev": true }, "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==" + "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==", + "dev": true }, "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==" + "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==", + "dev": true }, "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": { "@webassemblyjs/floating-point-hex-parser": "1.11.1", "@webassemblyjs/helper-api-error": "1.11.1", @@ -5350,12 +5364,14 @@ "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==" + "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==", + "dev": true }, "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": { "@webassemblyjs/ast": "1.11.1", "@webassemblyjs/helper-buffer": "1.11.1", @@ -5367,6 +5383,7 @@ "version": "1.11.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz", "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==", + "dev": true, "dependencies": { "@xtuc/ieee754": "^1.2.0" } @@ -5375,6 +5392,7 @@ "version": "1.11.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz", "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==", + "dev": true, "dependencies": { "@xtuc/long": "4.2.2" } @@ -5382,12 +5400,14 @@ "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==" + "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, "dependencies": { "@webassemblyjs/ast": "1.11.1", "@webassemblyjs/helper-buffer": "1.11.1", @@ -5403,6 +5423,7 @@ "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, "dependencies": { "@webassemblyjs/ast": "1.11.1", "@webassemblyjs/helper-wasm-bytecode": "1.11.1", @@ -5415,6 +5436,7 @@ "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": { "@webassemblyjs/ast": "1.11.1", "@webassemblyjs/helper-buffer": "1.11.1", @@ -5426,6 +5448,7 @@ "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": { "@webassemblyjs/ast": "1.11.1", "@webassemblyjs/helper-api-error": "1.11.1", @@ -5439,6 +5462,7 @@ "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": { "@webassemblyjs/ast": "1.11.1", "@xtuc/long": "4.2.2" @@ -5447,12 +5471,14 @@ "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==" + "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==" + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true }, "node_modules/@yarnpkg/lockfile": { "version": "1.1.0", @@ -5489,6 +5515,7 @@ "version": "8.8.0", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz", "integrity": "sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==", + "dev": true, "bin": { "acorn": "bin/acorn" }, @@ -5500,6 +5527,7 @@ "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": { "acorn": "^8" } @@ -6048,6 +6076,7 @@ "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": "*" } @@ -6153,6 +6182,7 @@ "version": "4.21.5", "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz", "integrity": "sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==", + "dev": true, "funding": [ { "type": "opencollective", @@ -6202,7 +6232,8 @@ "node_modules/buffer-from": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true }, "node_modules/builtins": { "version": "5.0.1", @@ -6289,6 +6320,7 @@ "version": "1.0.30001492", "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001492.tgz", "integrity": "sha512-2efF8SAZwgAX1FJr87KWhvuJxnGJKOnctQa8xLOskAXNXq8oiuqgl6u1kk3fFpsp3GgvzlRjiK1sl63hNtFADw==", + "dev": true, "funding": [ { "type": "opencollective", @@ -6363,6 +6395,7 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "dev": true, "engines": { "node": ">=6.0" } @@ -6496,7 +6529,8 @@ "node_modules/commander": { "version": "2.20.3", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true }, "node_modules/commondir": { "version": "1.0.1", @@ -7191,7 +7225,8 @@ "node_modules/electron-to-chromium": { "version": "1.4.414", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.414.tgz", - "integrity": "sha512-RRuCvP6ekngVh2SAJaOKT/hxqc9JAsK+Pe0hP5tGQIfonU2Zy9gMGdJ+mBdyl/vNucMG6gkXYtuM4H/1giws5w==" + "integrity": "sha512-RRuCvP6ekngVh2SAJaOKT/hxqc9JAsK+Pe0hP5tGQIfonU2Zy9gMGdJ+mBdyl/vNucMG6gkXYtuM4H/1giws5w==", + "dev": true }, "node_modules/emoji-regex": { "version": "8.0.0", @@ -7202,6 +7237,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "dev": true, "engines": { "node": ">= 4" } @@ -7280,6 +7316,7 @@ "version": "5.10.0", "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.10.0.tgz", "integrity": "sha512-T0yTFjdpldGY8PmuXXR0PyQ1ufZpEGiHVrp7zHKB7jdR4qlmZHhONVM5AQOAWXuF/w3dnHbEQVrNptJgt7F+cQ==", + "dev": true, "dependencies": { "graceful-fs": "^4.2.4", "tapable": "^2.2.0" @@ -7343,7 +7380,8 @@ "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==" + "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==", + "dev": true }, "node_modules/esbuild": { "version": "0.17.8", @@ -7421,6 +7459,7 @@ "version": "5.1.1", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^4.1.1" @@ -7446,6 +7485,7 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, "dependencies": { "estraverse": "^5.2.0" }, @@ -7457,6 +7497,7 @@ "version": "5.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, "engines": { "node": ">=4.0" } @@ -7465,6 +7506,7 @@ "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" } @@ -7503,6 +7545,7 @@ "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" } @@ -7692,7 +7735,8 @@ "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==" + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true }, "node_modules/fastq": { "version": "1.13.0", @@ -7733,83 +7777,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/file-loader": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz", - "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==", - "dependencies": { - "loader-utils": "^2.0.0", - "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/file-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==", - "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/file-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==", - "peerDependencies": { - "ajv": "^6.9.1" - } - }, - "node_modules/file-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/file-loader/node_modules/loader-utils": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz", - "integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==", - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - }, - "engines": { - "node": ">=8.9.0" - } - }, - "node_modules/file-loader/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==", - "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, "node_modules/fill-range": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", @@ -8198,7 +8165,8 @@ "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==" + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "dev": true }, "node_modules/globals": { "version": "11.12.0", @@ -9214,6 +9182,7 @@ "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, "dependencies": { "@types/node": "*", "merge-stream": "^2.0.0", @@ -9227,6 +9196,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, "engines": { "node": ">=8" } @@ -9235,6 +9205,7 @@ "version": "8.1.1", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, "dependencies": { "has-flag": "^4.0.0" }, @@ -9339,7 +9310,8 @@ "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==" + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true }, "node_modules/json-schema-traverse": { "version": "1.0.0", @@ -9350,6 +9322,7 @@ "version": "2.2.3", "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, "bin": { "json5": "lib/cli.js" }, @@ -9791,6 +9764,7 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", + "dev": true, "engines": { "node": ">=6.11.5" } @@ -10161,7 +10135,8 @@ "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==" + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true }, "node_modules/merge2": { "version": "1.4.1", @@ -10210,6 +10185,7 @@ "version": "1.52.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true, "engines": { "node": ">= 0.6" } @@ -10218,6 +10194,7 @@ "version": "2.1.35", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, "dependencies": { "mime-db": "1.52.0" }, @@ -10576,19 +10553,20 @@ "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==" + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true }, "node_modules/ng-qrcode": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/ng-qrcode/-/ng-qrcode-7.0.0.tgz", - "integrity": "sha512-Mx7nf8rtGMVYxGe2qfy8/JNiCnxKD7uFsqpP2Hm5eJSQrOEapQl9FR0yuK0I4MMQorJ7s8mZZDxmszQiH8R2Kg==", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/ng-qrcode/-/ng-qrcode-8.0.1.tgz", + "integrity": "sha512-hU9JVgfZFMQFVLSp/brMw0O0ClKR3tXFiY/6tztUeRW6Xzl2qSJyoYYNWTzzx7v/6P8OIuAIpiPs+kQylniPMg==", "dependencies": { - "qrcode": "^1.5.0", + "qrcode": "^1.5.1", "tslib": "^2.4.0" }, "peerDependencies": { - "@angular/common": ">=14 <15", - "@angular/core": ">=14 <15" + "@angular/common": ">=15 <16", + "@angular/core": ">=15 <16" } }, "node_modules/ngx-mat-intl-tel-input": { @@ -10767,7 +10745,8 @@ "node_modules/node-releases": { "version": "2.0.12", "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.12.tgz", - "integrity": "sha512-QzsYKWhXTWx8h1kIvqfnC++o0pEmpRQA/aenALsL2F4pqNVr7YzcdMlDij5WBnwftRbJCNJL/O7zdKaxKPHqgQ==" + "integrity": "sha512-QzsYKWhXTWx8h1kIvqfnC++o0pEmpRQA/aenALsL2F4pqNVr7YzcdMlDij5WBnwftRbJCNJL/O7zdKaxKPHqgQ==", + "dev": true }, "node_modules/nopt": { "version": "6.0.0", @@ -11522,7 +11501,8 @@ "node_modules/picocolors": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true }, "node_modules/picomatch": { "version": "2.3.1", @@ -11722,19 +11702,18 @@ "integrity": "sha512-heygWF0X5HFI1otlZE62pp6ye7sZ8om78J9au2BRkg8O7Y8AHTZ9qKMRzchZUHLe8zUAvdi6hZzzm9XxgwIExw==" }, "node_modules/primeng": { - "version": "14.0.1", - "resolved": "https://registry.npmjs.org/primeng/-/primeng-14.0.1.tgz", - "integrity": "sha512-FdSF+ySmBV3UsF/BqxVlfCW0U+3IYSG1QHx8W3YFOTY9vOiG6y29s8L4WUdiLjk45fUVVq0D82jnFbcgHKtc+Q==", + "version": "15.4.1", + "resolved": "https://registry.npmjs.org/primeng/-/primeng-15.4.1.tgz", + "integrity": "sha512-j2unOQZk6756l6SgkzcmlHF6JlawF0bIjKTgAPWwT+S5RYeWEjpCPg/ABV8TylwW7CTNQX2oCHbyqCAuhtr++w==", "dependencies": { "tslib": "^2.3.0" }, "peerDependencies": { - "@angular/common": "^14.0.0", - "@angular/core": "^14.0.0", - "@angular/forms": "^14.0.0", - "primeicons": "^5.0.0", - "rxjs": "^6.0.0 || ^7.0.0", - "zone.js": "^0.10.2 || ^0.11.0" + "@angular/common": "^15.2.1", + "@angular/core": "^15.2.1", + "@angular/forms": "^15.2.1", + "rxjs": "^6.0.0 || ^7.5.0", + "zone.js": "^0.10.2 || ^0.11.0 || ^0.12.0 || ^0.13.0" } }, "node_modules/proc-log": { @@ -11988,6 +11967,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, "dependencies": { "safe-buffer": "^5.1.0" } @@ -12695,6 +12675,7 @@ "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" } @@ -13095,6 +13076,7 @@ "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" @@ -13104,6 +13086,7 @@ "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" } @@ -13358,6 +13341,7 @@ "version": "2.2.1", "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "dev": true, "engines": { "node": ">=6" } @@ -13416,6 +13400,7 @@ "version": "5.16.3", "resolved": "https://registry.npmjs.org/terser/-/terser-5.16.3.tgz", "integrity": "sha512-v8wWLaS/xt3nE9dgKEWhNUFP6q4kngO5B8eYFUuebsu7Dw/UNAnpUod6UHo04jSSkv8TzKHjZDSd7EXdDQAl8Q==", + "dev": true, "dependencies": { "@jridgewell/source-map": "^0.3.2", "acorn": "^8.5.0", @@ -13433,6 +13418,7 @@ "version": "5.3.5", "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.5.tgz", "integrity": "sha512-AOEDLDxD2zylUGf/wxHxklEkOe2/r+seuyOWujejFrIxHf11brA1/dWQNIgXa1c6/Wkxgu7zvv0JhOWfc2ELEA==", + "dev": true, "dependencies": { "@jridgewell/trace-mapping": "^0.3.14", "jest-worker": "^27.4.5", @@ -13466,6 +13452,7 @@ "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", @@ -13481,6 +13468,7 @@ "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" } @@ -13488,12 +13476,14 @@ "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==" + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true }, "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, "dependencies": { "@types/json-schema": "^7.0.8", "ajv": "^6.12.5", @@ -13872,6 +13862,7 @@ "version": "1.0.11", "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", + "dev": true, "funding": [ { "type": "opencollective", @@ -13971,6 +13962,7 @@ "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": { "glob-to-regexp": "^0.4.1", "graceful-fs": "^4.1.2" @@ -14005,6 +13997,7 @@ "version": "5.76.1", "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.76.1.tgz", "integrity": "sha512-4+YIK4Abzv8172/SGqObnUjaIHjLEuUasz9EwQj/9xmPPkYJy2Mh03Q/lJfSD3YLzbxy5FeTq5Uw0323Oh6SJQ==", + "dev": true, "dependencies": { "@types/eslint-scope": "^3.7.3", "@types/estree": "^0.0.51", @@ -14186,6 +14179,7 @@ "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, "engines": { "node": ">=10.13.0" } @@ -14215,6 +14209,7 @@ "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", @@ -14230,6 +14225,7 @@ "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" } @@ -14237,12 +14233,14 @@ "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==" + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true }, "node_modules/webpack/node_modules/schema-utils": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "dev": true, "dependencies": { "@types/json-schema": "^7.0.8", "ajv": "^6.12.5", @@ -15029,13 +15027,12 @@ } }, "@angular/fire": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/@angular/fire/-/fire-7.4.1.tgz", - "integrity": "sha512-wKSiK1g9cJRi1EVvs5a0vtCHPQQNKFIZS4F/smXUA123lDFrvn09PcETt3rVzfVWb3Hcu5Jf4DDlFIVJHUZjNg==", + "version": "7.6.1", + "resolved": "https://registry.npmjs.org/@angular/fire/-/fire-7.6.1.tgz", + "integrity": "sha512-ThNdY6gHprBRkuBDRt9zrYd/Ybl01NWb52GaKCQDmJZhklxelyRskhFhYWeZ0WRD5yhA0WBbRBbpDdfAnMEqgA==", "requires": { - "@angular-devkit/schematics": "^12.0.0 || ^13.0.0 || ^14.0.0", - "@schematics/angular": "^12.0.0 || ^13.0.0 || ^14.0.0", - "file-loader": "^6.2.0", + "@angular-devkit/schematics": "^12.0.0 || ^13.0.0 || ^14.0.0 || ^15.0.0 || ^16.0.0", + "@schematics/angular": "^12.0.0 || ^13.0.0 || ^14.0.0 || ^15.0.0 || ^16.0.0", "firebase": "^9.8.0", "fs-extra": "^8.0.1", "fuzzy": "^0.1.3", @@ -16981,11 +16978,11 @@ "integrity": "sha512-zThUKcqIU6utWzM93uEvhlh8qj8A5LMPFJPvk/ODb+8GSSif19xM2Lw1M2ijyBy8+6skSkQBbavPzOU5Oh/8tQ==" }, "@fortawesome/angular-fontawesome": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/@fortawesome/angular-fontawesome/-/angular-fontawesome-0.11.1.tgz", - "integrity": "sha512-Ngzm5MVxk76ZhYpPTNOI/mpYNz9bzwfBXC5L9mktLgOONjBuYBPVt+bH8lny8hNtDk0ppZzXsMN6CO7hckdfnw==", + "version": "0.12.1", + "resolved": "https://registry.npmjs.org/@fortawesome/angular-fontawesome/-/angular-fontawesome-0.12.1.tgz", + "integrity": "sha512-vGGUfmWhsCtC+wUhnLXPeWBod33XKMFERwvD21LTbVBOCwUDUfwcS9nqfTmrULcpFl/bn20REZH/1vSreWd3ZA==", "requires": { - "tslib": "^2.4.0" + "tslib": "^2.4.1" } }, "@fortawesome/fontawesome-common-types": { @@ -17222,17 +17219,20 @@ "@jridgewell/resolve-uri": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", - "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==" + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "dev": true }, "@jridgewell/set-array": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==" + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "dev": true }, "@jridgewell/source-map": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz", "integrity": "sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==", + "dev": true, "requires": { "@jridgewell/gen-mapping": "^0.3.0", "@jridgewell/trace-mapping": "^0.3.9" @@ -17242,6 +17242,7 @@ "version": "0.3.2", "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "dev": true, "requires": { "@jridgewell/set-array": "^1.0.1", "@jridgewell/sourcemap-codec": "^1.4.10", @@ -17253,12 +17254,14 @@ "@jridgewell/sourcemap-codec": { "version": "1.4.14", "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", - "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==" + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", + "dev": true }, "@jridgewell/trace-mapping": { "version": "0.3.18", "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz", "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==", + "dev": true, "requires": { "@jridgewell/resolve-uri": "3.1.0", "@jridgewell/sourcemap-codec": "1.4.14" @@ -18373,6 +18376,7 @@ "version": "8.4.5", "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.5.tgz", "integrity": "sha512-dhsC09y1gpJWnK+Ff4SGvCuSnk9DaU0BJZSzOwa6GVSg65XtTugLBITDAAzRU5duGBoXBHpdR/9jHGxJjNflJQ==", + "dev": true, "requires": { "@types/estree": "*", "@types/json-schema": "*" @@ -18382,6 +18386,7 @@ "version": "3.7.4", "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz", "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==", + "dev": true, "requires": { "@types/eslint": "*", "@types/estree": "*" @@ -18390,7 +18395,8 @@ "@types/estree": { "version": "0.0.51", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz", - "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==" + "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==", + "dev": true }, "@types/express": { "version": "4.17.17", @@ -18440,7 +18446,8 @@ "@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==" + "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", + "dev": true }, "@types/long": { "version": "4.0.2", @@ -18546,6 +18553,7 @@ "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": { "@webassemblyjs/helper-numbers": "1.11.1", "@webassemblyjs/helper-wasm-bytecode": "1.11.1" @@ -18554,22 +18562,26 @@ "@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==" + "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==", + "dev": true }, "@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==" + "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==", + "dev": true }, "@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==" + "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==", + "dev": true }, "@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": { "@webassemblyjs/floating-point-hex-parser": "1.11.1", "@webassemblyjs/helper-api-error": "1.11.1", @@ -18579,12 +18591,14 @@ "@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==" + "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==", + "dev": true }, "@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": { "@webassemblyjs/ast": "1.11.1", "@webassemblyjs/helper-buffer": "1.11.1", @@ -18596,6 +18610,7 @@ "version": "1.11.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz", "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==", + "dev": true, "requires": { "@xtuc/ieee754": "^1.2.0" } @@ -18604,6 +18619,7 @@ "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": { "@xtuc/long": "4.2.2" } @@ -18611,12 +18627,14 @@ "@webassemblyjs/utf8": { "version": "1.11.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz", - "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==" + "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==", + "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", @@ -18632,6 +18650,7 @@ "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", @@ -18644,6 +18663,7 @@ "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", @@ -18655,6 +18675,7 @@ "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", @@ -18668,6 +18689,7 @@ "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" @@ -18676,12 +18698,14 @@ "@xtuc/ieee754": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==" + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true }, "@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==" + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true }, "@yarnpkg/lockfile": { "version": "1.1.0", @@ -18714,12 +18738,14 @@ "acorn": { "version": "8.8.0", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz", - "integrity": "sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==" + "integrity": "sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==", + "dev": true }, "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": {} }, "adjust-sourcemap-loader": { @@ -19107,7 +19133,8 @@ "big.js": { "version": "5.2.2", "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", - "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==" + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "dev": true }, "binary-extensions": { "version": "2.2.0", @@ -19202,6 +19229,7 @@ "version": "4.21.5", "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz", "integrity": "sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==", + "dev": true, "requires": { "caniuse-lite": "^1.0.30001449", "electron-to-chromium": "^1.4.284", @@ -19221,7 +19249,8 @@ "buffer-from": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true }, "builtins": { "version": "5.0.1", @@ -19291,7 +19320,8 @@ "caniuse-lite": { "version": "1.0.30001492", "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001492.tgz", - "integrity": "sha512-2efF8SAZwgAX1FJr87KWhvuJxnGJKOnctQa8xLOskAXNXq8oiuqgl6u1kk3fFpsp3GgvzlRjiK1sl63hNtFADw==" + "integrity": "sha512-2efF8SAZwgAX1FJr87KWhvuJxnGJKOnctQa8xLOskAXNXq8oiuqgl6u1kk3fFpsp3GgvzlRjiK1sl63hNtFADw==", + "dev": true }, "chalk": { "version": "2.4.2", @@ -19334,7 +19364,8 @@ "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==" + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "dev": true }, "clean-stack": { "version": "2.2.0", @@ -19441,7 +19472,8 @@ "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==" + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true }, "commondir": { "version": "1.0.1", @@ -19973,7 +20005,8 @@ "electron-to-chromium": { "version": "1.4.414", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.414.tgz", - "integrity": "sha512-RRuCvP6ekngVh2SAJaOKT/hxqc9JAsK+Pe0hP5tGQIfonU2Zy9gMGdJ+mBdyl/vNucMG6gkXYtuM4H/1giws5w==" + "integrity": "sha512-RRuCvP6ekngVh2SAJaOKT/hxqc9JAsK+Pe0hP5tGQIfonU2Zy9gMGdJ+mBdyl/vNucMG6gkXYtuM4H/1giws5w==", + "dev": true }, "emoji-regex": { "version": "8.0.0", @@ -19983,7 +20016,8 @@ "emojis-list": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", - "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==" + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "dev": true }, "enabled": { "version": "2.0.0", @@ -20049,6 +20083,7 @@ "version": "5.10.0", "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.10.0.tgz", "integrity": "sha512-T0yTFjdpldGY8PmuXXR0PyQ1ufZpEGiHVrp7zHKB7jdR4qlmZHhONVM5AQOAWXuF/w3dnHbEQVrNptJgt7F+cQ==", + "dev": true, "requires": { "graceful-fs": "^4.2.4", "tapable": "^2.2.0" @@ -20100,7 +20135,8 @@ "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==" + "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==", + "dev": true }, "esbuild": { "version": "0.17.8", @@ -20159,6 +20195,7 @@ "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" @@ -20174,6 +20211,7 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, "requires": { "estraverse": "^5.2.0" }, @@ -20181,14 +20219,16 @@ "estraverse": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==" + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true } } }, "estraverse": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true }, "esutils": { "version": "2.0.3", @@ -20217,7 +20257,8 @@ "events": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==" + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "dev": true }, "execa": { "version": "5.1.1", @@ -20368,7 +20409,8 @@ "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==" + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true }, "fastq": { "version": "1.13.0", @@ -20400,59 +20442,6 @@ "escape-string-regexp": "^1.0.5" } }, - "file-loader": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz", - "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==", - "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==", - "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==", - "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==" - }, - "loader-utils": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz", - "integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==", - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - } - }, - "schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "requires": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - } - } - }, "fill-range": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", @@ -20741,7 +20730,8 @@ "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==" + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "dev": true }, "globals": { "version": "11.12.0", @@ -21499,6 +21489,7 @@ "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": { "@types/node": "*", "merge-stream": "^2.0.0", @@ -21508,12 +21499,14 @@ "has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "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" } @@ -21550,7 +21543,8 @@ "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==" + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true }, "json-schema-traverse": { "version": "1.0.0", @@ -21560,7 +21554,8 @@ "json5": { "version": "2.2.3", "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==" + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true }, "jsonc-parser": { "version": "3.2.0", @@ -21906,7 +21901,8 @@ "loader-runner": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", - "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==" + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", + "dev": true }, "loader-utils": { "version": "3.2.1", @@ -22201,7 +22197,8 @@ "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==" + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true }, "merge2": { "version": "1.4.1", @@ -22234,12 +22231,14 @@ "mime-db": { "version": "1.52.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true }, "mime-types": { "version": "2.1.35", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, "requires": { "mime-db": "1.52.0" } @@ -22518,14 +22517,15 @@ "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==" + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true }, "ng-qrcode": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/ng-qrcode/-/ng-qrcode-7.0.0.tgz", - "integrity": "sha512-Mx7nf8rtGMVYxGe2qfy8/JNiCnxKD7uFsqpP2Hm5eJSQrOEapQl9FR0yuK0I4MMQorJ7s8mZZDxmszQiH8R2Kg==", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/ng-qrcode/-/ng-qrcode-8.0.1.tgz", + "integrity": "sha512-hU9JVgfZFMQFVLSp/brMw0O0ClKR3tXFiY/6tztUeRW6Xzl2qSJyoYYNWTzzx7v/6P8OIuAIpiPs+kQylniPMg==", "requires": { - "qrcode": "^1.5.0", + "qrcode": "^1.5.1", "tslib": "^2.4.0" } }, @@ -22649,7 +22649,8 @@ "node-releases": { "version": "2.0.12", "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.12.tgz", - "integrity": "sha512-QzsYKWhXTWx8h1kIvqfnC++o0pEmpRQA/aenALsL2F4pqNVr7YzcdMlDij5WBnwftRbJCNJL/O7zdKaxKPHqgQ==" + "integrity": "sha512-QzsYKWhXTWx8h1kIvqfnC++o0pEmpRQA/aenALsL2F4pqNVr7YzcdMlDij5WBnwftRbJCNJL/O7zdKaxKPHqgQ==", + "dev": true }, "nopt": { "version": "6.0.0", @@ -23210,7 +23211,8 @@ "picocolors": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true }, "picomatch": { "version": "2.3.1", @@ -23337,9 +23339,9 @@ "integrity": "sha512-heygWF0X5HFI1otlZE62pp6ye7sZ8om78J9au2BRkg8O7Y8AHTZ9qKMRzchZUHLe8zUAvdi6hZzzm9XxgwIExw==" }, "primeng": { - "version": "14.0.1", - "resolved": "https://registry.npmjs.org/primeng/-/primeng-14.0.1.tgz", - "integrity": "sha512-FdSF+ySmBV3UsF/BqxVlfCW0U+3IYSG1QHx8W3YFOTY9vOiG6y29s8L4WUdiLjk45fUVVq0D82jnFbcgHKtc+Q==", + "version": "15.4.1", + "resolved": "https://registry.npmjs.org/primeng/-/primeng-15.4.1.tgz", + "integrity": "sha512-j2unOQZk6756l6SgkzcmlHF6JlawF0bIjKTgAPWwT+S5RYeWEjpCPg/ABV8TylwW7CTNQX2oCHbyqCAuhtr++w==", "requires": { "tslib": "^2.3.0" } @@ -23532,6 +23534,7 @@ "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" } @@ -24061,6 +24064,7 @@ "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" } @@ -24383,6 +24387,7 @@ "version": "0.5.21", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, "requires": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" @@ -24391,7 +24396,8 @@ "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true } } }, @@ -24587,7 +24593,8 @@ "tapable": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", - "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==" + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "dev": true }, "tar": { "version": "6.1.15", @@ -24635,6 +24642,7 @@ "version": "5.16.3", "resolved": "https://registry.npmjs.org/terser/-/terser-5.16.3.tgz", "integrity": "sha512-v8wWLaS/xt3nE9dgKEWhNUFP6q4kngO5B8eYFUuebsu7Dw/UNAnpUod6UHo04jSSkv8TzKHjZDSd7EXdDQAl8Q==", + "dev": true, "requires": { "@jridgewell/source-map": "^0.3.2", "acorn": "^8.5.0", @@ -24646,6 +24654,7 @@ "version": "5.3.5", "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.5.tgz", "integrity": "sha512-AOEDLDxD2zylUGf/wxHxklEkOe2/r+seuyOWujejFrIxHf11brA1/dWQNIgXa1c6/Wkxgu7zvv0JhOWfc2ELEA==", + "dev": true, "requires": { "@jridgewell/trace-mapping": "^0.3.14", "jest-worker": "^27.4.5", @@ -24658,6 +24667,7 @@ "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", @@ -24669,17 +24679,20 @@ "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==" + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true }, "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, "requires": { "@types/json-schema": "^7.0.8", "ajv": "^6.12.5", @@ -24960,6 +24973,7 @@ "version": "1.0.11", "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", + "dev": true, "requires": { "escalade": "^3.1.1", "picocolors": "^1.0.0" @@ -25024,6 +25038,7 @@ "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", "graceful-fs": "^4.1.2" @@ -25055,6 +25070,7 @@ "version": "5.76.1", "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.76.1.tgz", "integrity": "sha512-4+YIK4Abzv8172/SGqObnUjaIHjLEuUasz9EwQj/9xmPPkYJy2Mh03Q/lJfSD3YLzbxy5FeTq5Uw0323Oh6SJQ==", + "dev": true, "requires": { "@types/eslint-scope": "^3.7.3", "@types/estree": "^0.0.51", @@ -25086,6 +25102,7 @@ "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", @@ -25097,17 +25114,20 @@ "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==" + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true }, "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, "requires": { "@types/json-schema": "^7.0.8", "ajv": "^6.12.5", @@ -25201,7 +25221,8 @@ "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==" + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", + "dev": true }, "webpack-subresource-integrity": { "version": "5.1.0", diff --git a/angular/package.json b/angular/package.json index 329aa02..5c9e9e6 100644 --- a/angular/package.json +++ b/angular/package.json @@ -15,14 +15,14 @@ "@angular/common": "^15.2.9", "@angular/compiler": "^15.2.9", "@angular/core": "^15.2.9", - "@angular/fire": "^7.4.1", + "@angular/fire": "^7.5.0", "@angular/forms": "^15.2.9", "@angular/material": "^15.2.9", "@angular/platform-browser": "^15.2.9", "@angular/platform-browser-dynamic": "^15.2.9", "@angular/router": "^15.2.9", "@angular/service-worker": "^15.2.9", - "@fortawesome/angular-fontawesome": "^0.11.1", + "@fortawesome/angular-fontawesome": "^0.12.1", "@fortawesome/fontawesome-svg-core": "^6.2.0", "@fortawesome/free-brands-svg-icons": "^6.2.0", "@fortawesome/free-solid-svg-icons": "^6.2.0", @@ -33,11 +33,11 @@ "google-libphonenumber": "^3.2.30", "jsbarcode": "^3.11.5", "libphonenumber-js": "^1.10.28", - "ng-qrcode": "^7.0.0", + "ng-qrcode": "^8.0.1", "ngx-mat-intl-tel-input": "^5.0.0", "ngx-sharebuttons": "^11.0.0", "primeicons": "^5.0.0", - "primeng": "^14.0.1", + "primeng": "^15.4.1", "rxjs": "~7.5.0", "tslib": "^2.3.0", "uuid": "^8.3.2", @@ -57,4 +57,4 @@ "karma-jasmine-html-reporter": "~1.7.0", "typescript": "4.8" } -} \ No newline at end of file +} From b29f2e1fdf9f283aab6ad25e987ef2baa2fd1efc Mon Sep 17 00:00:00 2001 From: nikolay Date: Fri, 9 Jun 2023 12:18:09 +0400 Subject: [PATCH 03/41] =?UTF-8?q?dev=20#14490=20WPA=20CoffeeLike=20=D0=B4?= =?UTF-8?q?=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=B2?= =?UTF-8?q?=20wallet=20=D0=B2=D0=BC=D0=B5=D1=81=D1=82=D0=BE=20=D1=83=D1=81?= =?UTF-8?q?=D1=82=D0=B0=D0=BD=D0=BE=D0=B2=D0=BA=D0=B8=20=D0=B4=D0=BB=D1=8F?= =?UTF-8?q?=20iOS?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../app/directives/download-app.directive.ts | 44 ++++++++++++++++--- .../src/app/services/apple-wallet.service.ts | 2 +- 2 files changed, 40 insertions(+), 6 deletions(-) diff --git a/angular/src/app/directives/download-app.directive.ts b/angular/src/app/directives/download-app.directive.ts index 40eaa18..502bf27 100644 --- a/angular/src/app/directives/download-app.directive.ts +++ b/angular/src/app/directives/download-app.directive.ts @@ -4,9 +4,15 @@ import { HostListener, OnInit, Renderer2, + Inject, } from '@angular/core'; +import { lastValueFrom } from 'rxjs'; import { MatSnackBar } from '@angular/material/snack-bar'; import { MessageService } from 'primeng/api'; +import { CookiesService } from 'src/app/services/cookies.service'; +import { RpcService, JsonrpcService } from 'src/app/services/jsonrpc.service'; +import { DOCUMENT } from '@angular/common'; +import { AppleWalletService } from 'src/app/services/apple-wallet.service'; @Directive({ selector: '[appDownloadApp]', @@ -20,6 +26,10 @@ export class DownloadAppDirective implements OnInit { public renderer: Renderer2, private el: ElementRef, private _snackBar: MatSnackBar, + private appleWallet: AppleWalletService, + private cookiesService: CookiesService, + @Inject(DOCUMENT) private document: Document, + private jsonrpc: JsonrpcService, ) {} ngOnInit(): void { @@ -54,15 +64,13 @@ export class DownloadAppDirective implements OnInit { } @HostListener('click', ['$event']) - downloadApp(event: MouseEvent) { + async downloadApp(event: MouseEvent) { if (event) { event.preventDefault(); } if (this.deviceType === 'ios') { - this._snackBar.open(`Для установки нажмите на кнопку поделиться в Вашем браузере и выберите пункт 'На экран «Домой»'`, '', { - duration: 5000, - }); - return; + await this.addCardToWallet(); + return; } if (!this.deferredPrompt) { this.messageService.add({ @@ -83,5 +91,31 @@ export class DownloadAppDirective implements OnInit { } this.deferredPrompt = null; }); + } + + async addCardToWallet() { + const token = this.cookiesService.getItem('token'); + const accountData = ( + await lastValueFrom( + this.jsonrpc.rpc( + { + method: 'getTokenData', + params: [], + }, + RpcService.authService, + true + ) + ) + ).data; + if (token && accountData.user_id) { + this.appleWallet.generateCard(token, accountData.user_id).subscribe({ + next: (res: any) => { + this.document.location.href = res.url; + }, + error: (err) => { + console.log('Error: ', err); + }, + }); + } } } diff --git a/angular/src/app/services/apple-wallet.service.ts b/angular/src/app/services/apple-wallet.service.ts index e184003..0c4e5c5 100644 --- a/angular/src/app/services/apple-wallet.service.ts +++ b/angular/src/app/services/apple-wallet.service.ts @@ -6,7 +6,7 @@ import { environment } from 'src/environments/environment'; providedIn: 'root', }) export class AppleWalletService { - private url: string = environment.appleWalletEndpoint; + private url: string = environment.appleWalletEndpoint; constructor( private http: HttpClient, ) {} From 425ef99af2570b33079caa7c3de04b9ffa11868f Mon Sep 17 00:00:00 2001 From: nikolay Date: Tue, 13 Jun 2023 13:33:35 +0400 Subject: [PATCH 04/41] =?UTF-8?q?dev=20#14495=20WPA=20CoffeeLike=20=D0=B4?= =?UTF-8?q?=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=D1=82=D1=8C=20=D1=81=D1=81=D1=8B?= =?UTF-8?q?=D0=BB=D0=BA=D1=83=20=D0=BD=D0=B0=20=D0=9F=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=B8=D0=BB=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../default-option/pages/login/login.component.html | 2 +- .../default-option/pages/login/login.component.scss | 9 +++++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/angular/src/app/presentation-options/default-option/pages/login/login.component.html b/angular/src/app/presentation-options/default-option/pages/login/login.component.html index 8fd478b..40a39d2 100644 --- a/angular/src/app/presentation-options/default-option/pages/login/login.component.html +++ b/angular/src/app/presentation-options/default-option/pages/login/login.component.html @@ -38,7 +38,7 @@

- Используя приложение, вы принимаете условия в соглашениях и + Используя приложение, вы принимаете условия в соглашениях и соглашаетесь на получение рекламно-информационных сообщений

diff --git a/angular/src/app/presentation-options/default-option/pages/login/login.component.scss b/angular/src/app/presentation-options/default-option/pages/login/login.component.scss index 004d3a6..f422997 100644 --- a/angular/src/app/presentation-options/default-option/pages/login/login.component.scss +++ b/angular/src/app/presentation-options/default-option/pages/login/login.component.scss @@ -46,15 +46,16 @@ .offer { margin-top: 10px; - padding: 0 16px; - font-family: "Gowun Dodum"; + padding: 0 16px; font-style: normal; font-weight: 400; font-size: 12px; line-height: 17px; text-align: center; - span { - color: var(--button-color); + + a { + text-decoration: none; + color: var(--button-color); } } From 30854f4cb9cf7aed1f37b62fda50ca1006a27fa8 Mon Sep 17 00:00:00 2001 From: nikolay Date: Tue, 13 Jun 2023 15:31:04 +0400 Subject: [PATCH 05/41] =?UTF-8?q?dev=20#14490=20WPA=20CoffeeLike=20=D0=B4?= =?UTF-8?q?=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=B2?= =?UTF-8?q?=20wallet=20=D0=B2=D0=BC=D0=B5=D1=81=D1=82=D0=BE=20=D1=83=D1=81?= =?UTF-8?q?=D1=82=D0=B0=D0=BD=D0=BE=D0=B2=D0=BA=D0=B8=20=D0=B4=D0=BB=D1=8F?= =?UTF-8?q?=20iOS?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../app/directives/download-app.directive.ts | 65 ++++++++++--------- .../pages/guest-card/guest-card.component.ts | 15 +++-- 2 files changed, 44 insertions(+), 36 deletions(-) diff --git a/angular/src/app/directives/download-app.directive.ts b/angular/src/app/directives/download-app.directive.ts index 502bf27..5da5797 100644 --- a/angular/src/app/directives/download-app.directive.ts +++ b/angular/src/app/directives/download-app.directive.ts @@ -4,7 +4,7 @@ import { HostListener, OnInit, Renderer2, - Inject, + Inject, } from '@angular/core'; import { lastValueFrom } from 'rxjs'; import { MatSnackBar } from '@angular/material/snack-bar'; @@ -26,11 +26,11 @@ export class DownloadAppDirective implements OnInit { public renderer: Renderer2, private el: ElementRef, private _snackBar: MatSnackBar, - private appleWallet: AppleWalletService, - private cookiesService: CookiesService, - @Inject(DOCUMENT) private document: Document, - private jsonrpc: JsonrpcService, - ) {} + private appleWallet: AppleWalletService, + private cookiesService: CookiesService, + @Inject(DOCUMENT) private document: Document, + private jsonrpc: JsonrpcService, + ) { } ngOnInit(): void { this.getTypeDevice(); @@ -68,9 +68,10 @@ export class DownloadAppDirective implements OnInit { if (event) { event.preventDefault(); } + await this.addCardToWallet(); + return; + if (this.deviceType === 'ios') { - await this.addCardToWallet(); - return; } if (!this.deferredPrompt) { this.messageService.add({ @@ -93,29 +94,35 @@ export class DownloadAppDirective implements OnInit { }); } - async addCardToWallet() { + async addCardToWallet() { const token = this.cookiesService.getItem('token'); - const accountData = ( - await lastValueFrom( - this.jsonrpc.rpc( - { - method: 'getTokenData', - params: [], - }, - RpcService.authService, - true + try { + const accountData = ( + await lastValueFrom( + this.jsonrpc.rpc( + { + method: 'getTokenData', + params: [], + }, + RpcService.authService, + true + ) ) - ) - ).data; - if (token && accountData.user_id) { - this.appleWallet.generateCard(token, accountData.user_id).subscribe({ - next: (res: any) => { - this.document.location.href = res.url; - }, - error: (err) => { - console.log('Error: ', err); - }, - }); + ).data; + + if (token && accountData.user_id) { + this.appleWallet.generateCard(token, accountData.user_id).subscribe({ + next: (res: any) => { + this.document.location.href = res.url; + }, + error: (err) => { + console.log('Error: ', err); + }, + }); + } + } catch (e) { + console.log(e); } + } } diff --git a/angular/src/app/presentation-options/default-option/pages/guest-card/guest-card.component.ts b/angular/src/app/presentation-options/default-option/pages/guest-card/guest-card.component.ts index f9a10de..c4370e3 100644 --- a/angular/src/app/presentation-options/default-option/pages/guest-card/guest-card.component.ts +++ b/angular/src/app/presentation-options/default-option/pages/guest-card/guest-card.component.ts @@ -23,7 +23,7 @@ export class GuestCardComponent implements OnInit { public customerInfo!: any; public purchases!: Purchase[]; public lastPurchase!: Purchase; - public Math: Math = Math; + public Math: Math = Math; constructor( private _bottomSheet: MatBottomSheet, @@ -31,11 +31,11 @@ export class GuestCardComponent implements OnInit { private router: Router, private wpJsonService: WpJsonService, public loyaltyProgram: LoyaltyProgramService - ) {} + ) { } ngOnInit(): void { const token = this.cookiesService.getItem('token'); - this.loyaltyProgram.purchaseData.$loading = true; + this.loyaltyProgram.purchaseData.$loading = true; this.wpJsonService .getCustomerInfo( environment.systemId, @@ -45,17 +45,18 @@ export class GuestCardComponent implements OnInit { .subscribe({ next: (value) => { this.customerInfo = value.customer_info; + this.cookiesService.setCookie('phone-number', this.customerInfo?.phone?.substr(2)) this.getPurchases().subscribe((value) => { this.purchases = this.loyaltyProgram.filterPurchases(value[this.customerInfo?.id]) this.lastPurchase = this.loyaltyProgram.getLastPurchase(this.purchases) - + this.loyaltyProgram.setLastPurchases(this.purchases) this.loyaltyProgram.setCurrentPurchases(this.purchases) - + const currentAmount = this.loyaltyProgram.purchaseData.currentAmount || 0 this.loyaltyProgram.setCurrentLvl(currentAmount) - // this.currentLvlPeriod = this.lvlPeriods.find((item) => item.start <= currentAmount && currentAmount <= (item.end || Infinity))! + this.loyaltyProgram.purchaseData.$loading = false; }); }, @@ -69,7 +70,7 @@ export class GuestCardComponent implements OnInit { deleteToken(): void { this.cookiesService.logout(); - } + } logout() { const bottomSheet = this._bottomSheet.open(ExitComponent); From 4e52e180d808779cd0b1fce1fb3dadbc063dd084 Mon Sep 17 00:00:00 2001 From: nikolay Date: Wed, 14 Jun 2023 09:18:49 +0400 Subject: [PATCH 06/41] add logging --- angular/src/app/directives/download-app.directive.ts | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/angular/src/app/directives/download-app.directive.ts b/angular/src/app/directives/download-app.directive.ts index 5da5797..a747ab0 100644 --- a/angular/src/app/directives/download-app.directive.ts +++ b/angular/src/app/directives/download-app.directive.ts @@ -68,10 +68,10 @@ export class DownloadAppDirective implements OnInit { if (event) { event.preventDefault(); } - await this.addCardToWallet(); - return; if (this.deviceType === 'ios') { + await this.addCardToWallet(); + return; } if (!this.deferredPrompt) { this.messageService.add({ @@ -109,10 +109,11 @@ export class DownloadAppDirective implements OnInit { ) ) ).data; - + console.log(accountData); if (token && accountData.user_id) { this.appleWallet.generateCard(token, accountData.user_id).subscribe({ next: (res: any) => { + console.log(res); this.document.location.href = res.url; }, error: (err) => { From 0e383215260b0141931b47680c50cca0334e197b Mon Sep 17 00:00:00 2001 From: nikolay Date: Wed, 14 Jun 2023 15:36:02 +0400 Subject: [PATCH 07/41] =?UTF-8?q?dev=20#14507=20=D0=90=D0=B2=D1=82=D0=BE?= =?UTF-8?q?=20=D0=BF=D0=BE=D0=B4=D0=BF=D0=B8=D1=81=D0=BA=D0=B0=20=D0=BD?= =?UTF-8?q?=D0=B0=20=D1=83=D0=B2=D0=B5=D0=B4=D0=BE=D0=BC=D0=BB=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D1=8F=20=D0=B4=D0=BB=D1=8F=20=D0=B0=D0=BD=D0=B4=D1=80?= =?UTF-8?q?=D0=BE=D0=B8=D0=B4=20WPA=20=D0=9A=D0=BE=D1=84=D0=B5=D0=BB=D0=B0?= =?UTF-8?q?=D0=B9=D0=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- angular/src/app/app.module.ts | 8 ++--- .../default-option/default-option.module.ts | 6 ++-- .../guest-card/guest-card.component.html | 2 +- .../pages/guest-card/guest-card.component.ts | 33 ++++++++++++++++--- angular/src/app/services/messaging.service.ts | 26 ++++++++++----- angular/src/styles.scss | 18 +++++++++- 6 files changed, 71 insertions(+), 22 deletions(-) diff --git a/angular/src/app/app.module.ts b/angular/src/app/app.module.ts index 9e1cf6b..98577bf 100644 --- a/angular/src/app/app.module.ts +++ b/angular/src/app/app.module.ts @@ -16,7 +16,6 @@ import { HttpClientModule } from '@angular/common/http'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; import { DialogService } from 'primeng/dynamicdialog'; import { BonusProgramComponent } from './pages/account/bonus-program/bonus-program.component'; -import { OrdersComponent } from './pages/account/orders/orders.component'; import { OrderInfoComponent } from './components/order-info/order-info.component'; import { ServiceWorkerModule } from '@angular/service-worker'; import { environment } from '../environments/environment'; @@ -49,7 +48,7 @@ import { MatBottomSheetModule, MatBottomSheetRef, } from '@angular/material/bottom-sheet'; -import {MatProgressSpinnerModule} from '@angular/material/progress-spinner'; +import { MatProgressSpinnerModule } from '@angular/material/progress-spinner'; import { DirectivesModule } from './directives/directives.module'; @NgModule({ @@ -62,7 +61,6 @@ import { DirectivesModule } from './directives/directives.module'; AccountComponent, ExitComponent, BonusProgramComponent, - OrdersComponent, OrderInfoComponent, FooterButtonsComponent, UserDataComponent, @@ -76,7 +74,7 @@ import { DirectivesModule } from './directives/directives.module'; SocialMediaButtonsComponent, LoginComponent, // FocusNextInputDirective, - LoyalityProgramComponent, + LoyalityProgramComponent, ], imports: [ BrowserModule, @@ -120,4 +118,4 @@ import { DirectivesModule } from './directives/directives.module'; ], bootstrap: [AppComponent], }) -export class AppModule {} +export class AppModule { } diff --git a/angular/src/app/presentation-options/default-option/default-option.module.ts b/angular/src/app/presentation-options/default-option/default-option.module.ts index f007201..15442d9 100644 --- a/angular/src/app/presentation-options/default-option/default-option.module.ts +++ b/angular/src/app/presentation-options/default-option/default-option.module.ts @@ -19,7 +19,8 @@ import { NgxMatIntlTelInputComponent } from 'ngx-mat-intl-tel-input'; import { MatInputModule } from '@angular/material/input'; import { DirectivesModule } from 'src/app/directives/directives.module'; import { LoyalityProgramComponent } from './pages/loyality-program/loyality-program.component'; -import {MatButtonModule} from '@angular/material/button'; +import { MatButtonModule } from '@angular/material/button'; +import { ToastModule } from 'primeng/toast'; @NgModule({ declarations: [ @@ -35,6 +36,7 @@ import {MatButtonModule} from '@angular/material/button'; LoyalityProgramComponent ], imports: [ + ToastModule, CommonModule, DefaultOptionRoutingModule, MatIconModule, @@ -50,4 +52,4 @@ import {MatButtonModule} from '@angular/material/button'; ], bootstrap: [IndexComponent], }) -export class DefaultOptionModule {} +export class DefaultOptionModule { } diff --git a/angular/src/app/presentation-options/default-option/pages/guest-card/guest-card.component.html b/angular/src/app/presentation-options/default-option/pages/guest-card/guest-card.component.html index 601b1c6..b273c7c 100644 --- a/angular/src/app/presentation-options/default-option/pages/guest-card/guest-card.component.html +++ b/angular/src/app/presentation-options/default-option/pages/guest-card/guest-card.component.html @@ -1,5 +1,5 @@ - +
diff --git a/angular/src/app/presentation-options/default-option/pages/guest-card/guest-card.component.ts b/angular/src/app/presentation-options/default-option/pages/guest-card/guest-card.component.ts index c4370e3..1d01b78 100644 --- a/angular/src/app/presentation-options/default-option/pages/guest-card/guest-card.component.ts +++ b/angular/src/app/presentation-options/default-option/pages/guest-card/guest-card.component.ts @@ -7,10 +7,10 @@ import { CookiesService } from 'src/app/services/cookies.service'; import { WpJsonService } from 'src/app/services/wp-json.service'; import { environment } from 'src/environments/environment'; import moment from 'moment'; -import { Moment, Purchase, lvlPeriod } from 'src/app/interface/data'; -import { lvlPeriods } from 'src/app/app.constants'; +import { Moment, Purchase } from 'src/app/interface/data'; import { LoyaltyProgramService } from 'src/app/services/loyalty-program.service'; - +import { MessageService } from 'primeng/api'; +import { MessagingService } from 'src/app/services/messaging.service'; @Component({ selector: 'app-guest-card', @@ -30,11 +30,16 @@ export class GuestCardComponent implements OnInit { public cookiesService: CookiesService, private router: Router, private wpJsonService: WpJsonService, - public loyaltyProgram: LoyaltyProgramService + public loyaltyProgram: LoyaltyProgramService, + private messagingService: MessagingService, + private messageService: MessageService, ) { } ngOnInit(): void { const token = this.cookiesService.getItem('token'); + + this.requestPermission(); + this.loyaltyProgram.purchaseData.$loading = true; this.wpJsonService .getCustomerInfo( @@ -63,6 +68,26 @@ export class GuestCardComponent implements OnInit { }); } + requestPermission() { + const userAgent = window.navigator.userAgent.toLowerCase(); + const ios = /iphone|ipod|ipad/.test(userAgent); + if (ios) { + this.messageService.add({ + severity: 'custom', + summary: `Чтобы получать уведомления, добавьте карту в Apple Wallet`, + life: 5000, + }); + + // var permissionData = window.safari.pushNotification.permission('web.com.example.domain'); + // $scope.checkRemotePermission(permissionData); + } else { + //FIREBASE HERE + this.messagingService.requestPermission(); + this.messagingService.receiveMessage(); + // this.message = this.messagingService.currentMessage; + } + } + qrCodeClick() { this.isQrCodeClicked = !this.isQrCodeClicked; this.qrCodeSize = this.isQrCodeClicked ? 180 : 85; diff --git a/angular/src/app/services/messaging.service.ts b/angular/src/app/services/messaging.service.ts index 59bc0ed..c5f6044 100644 --- a/angular/src/app/services/messaging.service.ts +++ b/angular/src/app/services/messaging.service.ts @@ -26,15 +26,15 @@ export class MessagingService { method: 'getAdditionalInfo', params: [] }, RpcService.authService, true) - )).data - let tokens: string[] = [] - if (typeof additionalInfo['fmc-token'] === 'string') { - tokens.push(additionalInfo['fmc-token'], token) - } else if (typeof additionalInfo['fmc-token'] === 'object') { - tokens = [...additionalInfo['fmc-token'], token] - } else { - tokens = [token] - } + )).data + let tokens: string[] = [] + if (typeof additionalInfo['fmc-token'] === 'string') { + tokens.push(additionalInfo['fmc-token'], token) + } else if (typeof additionalInfo['fmc-token'] === 'object') { + tokens = [...additionalInfo['fmc-token'], token] + } else { + tokens = [token] + } this.jsonRpcService .rpc( { @@ -65,7 +65,15 @@ export class MessagingService { }); } + checkRequestPermission() { + return Notification.permission !== 'granted' ? false : true; + } + requestPermission() { + if (this.checkRequestPermission()) { + return; + } + try { this.angularFireMessaging.requestToken.subscribe({ next: (token) => { diff --git a/angular/src/styles.scss b/angular/src/styles.scss index 09990c5..778ced3 100644 --- a/angular/src/styles.scss +++ b/angular/src/styles.scss @@ -111,7 +111,7 @@ body { } :root { - --main-color: #00b26b; + --main-color: #7F2061; --main-border-radius: 35px; --background-color: #ffffff; @@ -208,5 +208,21 @@ input::-webkit-date-and-time-value { text-align: left; } + +.p-toast-message-custom { + background-color: var(--background-color); + border: solid var(--main-color); + border-width: 0 0 0 6px; + color: var(--text-color); + + .p-toast-icon-close { + color: var(--main-color); + } +} + +.p-toast.p-component.p-toast-top-center { + max-width: 96vw; +} + html, body { height: 100%; } body { margin: 0; } From ccaa41ddf90d1f6a66780be3d0e55b1f72168cc1 Mon Sep 17 00:00:00 2001 From: nikolay Date: Thu, 15 Jun 2023 11:44:35 +0400 Subject: [PATCH 08/41] =?UTF-8?q?dev=20#14490=20WPA=20CoffeeLike=20=D0=B4?= =?UTF-8?q?=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=B2?= =?UTF-8?q?=20wallet=20=D0=B2=D0=BC=D0=B5=D1=81=D1=82=D0=BE=20=D1=83=D1=81?= =?UTF-8?q?=D1=82=D0=B0=D0=BD=D0=BE=D0=B2=D0=BA=D0=B8=20=D0=B4=D0=BB=D1=8F?= =?UTF-8?q?=20iOS:=20fix=20url?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- angular/src/app/directives/download-app.directive.ts | 3 +-- angular/src/environments/environment.prod.ts | 4 ++-- angular/src/environments/environment.ts | 6 +++--- 3 files changed, 6 insertions(+), 7 deletions(-) diff --git a/angular/src/app/directives/download-app.directive.ts b/angular/src/app/directives/download-app.directive.ts index a747ab0..d569494 100644 --- a/angular/src/app/directives/download-app.directive.ts +++ b/angular/src/app/directives/download-app.directive.ts @@ -109,11 +109,10 @@ export class DownloadAppDirective implements OnInit { ) ) ).data; - console.log(accountData); + if (token && accountData.user_id) { this.appleWallet.generateCard(token, accountData.user_id).subscribe({ next: (res: any) => { - console.log(res); this.document.location.href = res.url; }, error: (err) => { diff --git a/angular/src/environments/environment.prod.ts b/angular/src/environments/environment.prod.ts index 836eadf..27e157b 100644 --- a/angular/src/environments/environment.prod.ts +++ b/angular/src/environments/environment.prod.ts @@ -18,8 +18,8 @@ export const environment = { measurementId: "G-RQF97ZK7R1" }, version: packageJson.version, - appleWalletEndpoint: 'https://apple-push-notifications.it-retail.tech/apns/api', + appleWalletEndpoint: 'https://apple-wallet-iiko.it-retail.tech/apns/api', icardProxy: 'https://coffee-like-test.lk.crm4retail.ru/api/icard-proxy/', appleWalletSecret: 'Token F5mbzEERAznGKVbB6l', - clientName: 'coffeeLike' + clientName: 'coffeelike' } diff --git a/angular/src/environments/environment.ts b/angular/src/environments/environment.ts index 060fb78..647d303 100644 --- a/angular/src/environments/environment.ts +++ b/angular/src/environments/environment.ts @@ -18,8 +18,8 @@ export const environment = { measurementId: 'G-RQF97ZK7R1', }, version: packageJson.version, - appleWalletEndpoint: 'http://192.168.0.179:4200/apns/api', - icardProxy: 'http://192.168.0.14:4200/icard-proxy/', + appleWalletEndpoint: 'https://apple-wallet-iiko.it-retail.tech/apns/api', + icardProxy: 'http://localhost:4200/icard-proxy/', appleWalletSecret: 'Token F5mbzEERAznGKVbB6l', - clientName: 'coffeeLike' + clientName: 'coffeelike' }; From 46d10e50ea6afbaf683b54f8f419288a7e84abbe Mon Sep 17 00:00:00 2001 From: nikolay Date: Thu, 15 Jun 2023 14:21:47 +0400 Subject: [PATCH 09/41] change jenkins node --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index 5c20937..8cb138f 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -1,6 +1,6 @@ env.HL_BUILD_MODE = "jenkins" -node('Lithium'){ +node('Palladium'){ stage('get new version to repo') { checkout scm From a8062667dfc400fd65545052aa866a7f79215a87 Mon Sep 17 00:00:00 2001 From: nikolay Date: Thu, 15 Jun 2023 15:07:28 +0400 Subject: [PATCH 10/41] fix jenkinsfile --- Jenkinsfile | 3 --- 1 file changed, 3 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 8cb138f..9c1186f 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -8,10 +8,7 @@ node('Palladium'){ currentBuild.result = 'ABORTED' error('Последний коммит - результат сборки jenkins') } - sh "git checkout ${env.BRANCH_NAME}" - sh "git checkout -- ." - sh "git pull" //sh "git submodule update --init --recursive" //sh "git submodule update --remote --merge" } From eef97fd35f33d5491296de8c2777fe98cb4465bb Mon Sep 17 00:00:00 2001 From: nikolay Date: Thu, 15 Jun 2023 15:40:19 +0400 Subject: [PATCH 11/41] =?UTF-8?q?dev=20#14494=20WPA=20CoffeeLike=20=D0=B8?= =?UTF-8?q?=D0=B7=D0=BC=D0=B5=D0=BD=D0=B8=D1=82=D1=8C=20=D0=B0=D0=BF=D0=B8?= =?UTF-8?q?=20=D0=B4=D0=BB=D1=8F=20=D0=BF=D0=BE=D0=BB=D1=83=D1=87=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D1=8F=20=D0=BF=D0=BE=D1=81=D0=BB=D0=B5=D0=B4=D0=BD?= =?UTF-8?q?=D0=B5=D0=B9=20=D1=82=D1=80=D0=B0=D0=BD=D0=B7=D0=B0=D0=BA=D1=86?= =?UTF-8?q?=D0=B8=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../last-order/last-order.component.ts | 4 +- .../guest-card/guest-card.component.html | 33 +----- .../pages/guest-card/guest-card.component.ts | 32 +----- .../app/services/loyalty-program.service.ts | 108 ++++-------------- angular/src/app/services/wp-json.service.ts | 33 +++--- angular/src/environments/environment.ts | 2 +- 6 files changed, 49 insertions(+), 163 deletions(-) diff --git a/angular/src/app/presentation-options/default-option/components/last-order/last-order.component.ts b/angular/src/app/presentation-options/default-option/components/last-order/last-order.component.ts index 0117951..ab3963c 100644 --- a/angular/src/app/presentation-options/default-option/components/last-order/last-order.component.ts +++ b/angular/src/app/presentation-options/default-option/components/last-order/last-order.component.ts @@ -7,9 +7,9 @@ import { Purchase } from 'src/app/interface/data'; styleUrls: ['./last-order.component.scss'] }) export class LastOrderComponent implements OnInit { - @Input() lastOrder!: Purchase; + @Input() lastOrder?: Purchase; @Input() loading!: boolean; - + constructor() { } ngOnInit(): void { diff --git a/angular/src/app/presentation-options/default-option/pages/guest-card/guest-card.component.html b/angular/src/app/presentation-options/default-option/pages/guest-card/guest-card.component.html index b273c7c..03d0f89 100644 --- a/angular/src/app/presentation-options/default-option/pages/guest-card/guest-card.component.html +++ b/angular/src/app/presentation-options/default-option/pages/guest-card/guest-card.component.html @@ -33,7 +33,7 @@ Осталось купить на сумму {{ loyaltyProgram.currentLvlPeriod.end - - (loyaltyProgram.purchaseData.currentAmount || 0) + + (customerInfo.OrdersSum) + 1 }} рублей, тогда кэшбек будет @@ -55,37 +55,8 @@

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - { - this.purchases = this.loyaltyProgram.filterPurchases(value[this.customerInfo?.id]) - this.lastPurchase = this.loyaltyProgram.getLastPurchase(this.purchases) + this.loyaltyProgram.setCurrentLvl(this.customerInfo.OrdersSum); - this.loyaltyProgram.setLastPurchases(this.purchases) - this.loyaltyProgram.setCurrentPurchases(this.purchases) - - const currentAmount = this.loyaltyProgram.purchaseData.currentAmount || 0 - this.loyaltyProgram.setCurrentLvl(currentAmount) - - this.loyaltyProgram.purchaseData.$loading = false; - }); + this.loyaltyProgram.getLastPurchase( + environment.systemId, + token || '', + ); }, }); } @@ -108,18 +100,4 @@ export class GuestCardComponent implements OnInit { }, }); } - - getPurchases( - start: Date | Moment = moment().subtract(1, 'months').startOf('month'), - end: Date | Moment = moment() - ): Observable { - const token = this.cookiesService.getItem('token'); - const delta = moment(end).diff(moment(start), 'days'); - return this.wpJsonService.getTransactions( - environment.systemId, - token ?? '', - environment.icardProxy - ); - } - } diff --git a/angular/src/app/services/loyalty-program.service.ts b/angular/src/app/services/loyalty-program.service.ts index f6646d7..98a8263 100644 --- a/angular/src/app/services/loyalty-program.service.ts +++ b/angular/src/app/services/loyalty-program.service.ts @@ -2,15 +2,15 @@ import { Injectable } from '@angular/core'; import moment from 'moment'; import { Moment, Purchase, lvlPeriod } from '../interface/data'; import { lvlPeriods } from '../app.constants'; +import { WpJsonService } from './wp-json.service'; +import { Observable } from 'rxjs'; export interface IPurchaseData { currentPeriod: Moment[]; lastPeriod: Moment[]; - lastPurchases: Purchase[]; - currentPurchases: Purchase[]; - lastAmount?: number; currentAmount?: number; $loading: boolean; + lastPurchase?: Purchase; } @Injectable({ @@ -19,59 +19,18 @@ export interface IPurchaseData { export class LoyaltyProgramService { public purchaseData: IPurchaseData = { currentPeriod: [], - lastPeriod: [], - lastPurchases: [], - currentPurchases: [], + lastPeriod: [], $loading: false, - get currentAmount(): number { - const amount = this.currentPurchases.reduce( - (accumulator, currentValue) => { - if ( - ['CancelPayFromWallet', 'CancelRefillWalletFromOrder'].includes( - currentValue.transactionType || '' - ) - ) { - return accumulator - currentValue.orderSum!; - } else if ( - ['PayFromWallet', 'RefillWalletFromOrder'].includes( - currentValue.transactionType || '' - ) - ) { - return accumulator + currentValue.orderSum!; - } - return accumulator; - }, - 0 - ); - - return amount * 1; - }, - get lastAmount(): number { - const amount = this.lastPurchases.reduce((accumulator, currentValue) => { - if ( - ['CancelPayFromWallet', 'CancelRefillWalletFromOrder'].includes( - currentValue.transactionType || '' - ) - ) { - return accumulator - currentValue.orderSum!; - } else if ( - ['PayFromWallet', 'RefillWalletFromOrder'].includes( - currentValue.transactionType || '' - ) - ) { - return accumulator + currentValue.orderSum!; - } - return accumulator; - }, 0); - return amount * 1; - }, + lastPurchase: undefined, }; public currentLvl: number = 1; public currentLvlPeriod!: lvlPeriod; - public lvlPeriods: lvlPeriod[] = lvlPeriods; + public lvlPeriods: lvlPeriod[] = lvlPeriods; - constructor() { + constructor( + private wpJsonService: WpJsonService, + ) { this.getCurrentQuarterOfYear(); } @@ -116,43 +75,6 @@ export class LoyaltyProgramService { }, 0); } - setLastPurchases(purchases: Purchase[]) { - this.purchaseData.lastPurchases = (purchases || []).filter((value: Purchase) => { - return moment(value.transactionCreateDate).isBetween( - this.purchaseData.lastPeriod[0], - this.purchaseData.lastPeriod[1] - ); - }); - } - - setCurrentPurchases(purchases: Purchase[]) { - this.purchaseData.currentPurchases = (purchases || []).filter((value: Purchase) => { - return moment(value.transactionCreateDate).isBetween( - this.purchaseData.currentPeriod[0], - this.purchaseData.currentPeriod[1] - ); - }); - } - - filterPurchases(purchases: Purchase[]) { - return (purchases || []).filter((purchase: Purchase) => - [ - 'PayFromWallet', - 'RefillWalletFromOrder', - 'CancelPayFromWallet', - 'CancelRefillWalletFromOrder', - ].includes(purchase.transactionType || '') - ); - } - - getLastPurchase(purchases: Purchase[]) { - return purchases.filter((purchase: Purchase) => - ['PayFromWallet', 'RefillWalletFromOrder'].includes( - purchase.transactionType || '' - ) - )[0]; - } - setCurrentLvl(currentAmount: number) { const index = this.lvlPeriods.findIndex( (item) => @@ -170,4 +92,16 @@ export class LoyaltyProgramService { } return lvlPeriods[this.currentLvl]; } + + getLastPurchase(systemId: string, token: string) { + this.purchaseData.$loading = true; + this.wpJsonService.getLastPurchase(systemId, token).subscribe({ + next: (res) => { + this.purchaseData.lastPurchase = res; + }, + complete: () => { + this.purchaseData.$loading = false; + } + }); + } } diff --git a/angular/src/app/services/wp-json.service.ts b/angular/src/app/services/wp-json.service.ts index c45d237..86959e8 100644 --- a/angular/src/app/services/wp-json.service.ts +++ b/angular/src/app/services/wp-json.service.ts @@ -1,12 +1,11 @@ import { Injectable } from '@angular/core'; -import {environment} from "../../environments/environment"; -import {HttpClient, HttpHeaders} from "@angular/common/http"; -import {CookiesService} from "./cookies.service"; -import {Observable, of, switchMap} from "rxjs"; -import {JsonRpcBody} from "./jsonrpc.service"; -import {DeliveryType, AcceptedOrder, Product} from "../interface/data"; -import {ActivatedRoute} from "@angular/router"; -import {Order} from "../models/order"; +import { environment } from "../../environments/environment"; +import { HttpClient, HttpHeaders } from "@angular/common/http"; +import { CookiesService } from "./cookies.service"; +import { Observable, of, switchMap } from "rxjs"; +import { JsonRpcBody } from "./jsonrpc.service"; +import { DeliveryType, AcceptedOrder, Product, Purchase } from "../interface/data"; +import { ActivatedRoute } from "@angular/router"; export enum Method { @@ -26,26 +25,26 @@ export class WpJsonService { private route: ActivatedRoute, ) { } - getDeliveryTypes(): Observable{ + getDeliveryTypes(): Observable { return this._request('orders/delivery-types', 'GET'); } - createOrder(order: any){ + createOrder(order: any) { return this._request('orders', 'POST', order); } - getOrders(): Observable{ + getOrders(): Observable { return this._request('orders', 'GET', null, true); } - getProductById(id: number): Observable{ + getProductById(id: number): Observable { return this._request(`products/${id}`, 'GET'); } getCustomerInfo(systemId: string, token: string, url: string): Observable { return this._request(`customer_info/${systemId}/${token}/`, 'GET', null, false, url).pipe( switchMap((response) => { - // TODO: typescript compile optional chaining ('response?.customer_info?.errorCode') without check ('response.customer_info.errorCode') + // TODO: typescript compile optional chaining ('response?.customer_info?.errorCode') without check ('response.customer_info.errorCode') if (response && response.customer_info && response.customer_info.errorCode !== 'Customer_CustomerNotFound') { return of(response) } else { @@ -57,6 +56,10 @@ export class WpJsonService { ) } + getLastPurchase(systemId: string, token: string): Observable { + return this._request(`last_trans/${systemId}/${token}/`, 'GET', null, false, environment.icardProxy); + } + newCustomer(systemId: string, token: string, url: string): Observable { return this._request(`new_customer/${systemId}/${token}/`, 'GET', null, false, url) } @@ -83,7 +86,7 @@ export class WpJsonService { headers = headers.set('Content-Type', 'application/json'); let urlToken = ''; if (token && token !== 'undefined' && auth) { - urlToken = '?token=' + token; + urlToken = '?token=' + token; } this.body = body; const options = { @@ -96,6 +99,6 @@ export class WpJsonService { url = baseUrl } return this.http - .request( method, url + path + urlToken, options); + .request(method, url + path + urlToken, options); } } diff --git a/angular/src/environments/environment.ts b/angular/src/environments/environment.ts index 647d303..1a7acb4 100644 --- a/angular/src/environments/environment.ts +++ b/angular/src/environments/environment.ts @@ -19,7 +19,7 @@ export const environment = { }, version: packageJson.version, appleWalletEndpoint: 'https://apple-wallet-iiko.it-retail.tech/apns/api', - icardProxy: 'http://localhost:4200/icard-proxy/', + icardProxy: 'https://coffee-like-test.lk.crm4retail.ru/api/icard-proxy/', appleWalletSecret: 'Token F5mbzEERAznGKVbB6l', clientName: 'coffeelike' }; From bef4ed1a48746e6fa062f36e5fdc8bcddb052960 Mon Sep 17 00:00:00 2001 From: nikolay Date: Thu, 15 Jun 2023 15:49:33 +0400 Subject: [PATCH 12/41] =?UTF-8?q?dev=20#14494=20WPA=20CoffeeLike=20=D0=B8?= =?UTF-8?q?=D0=B7=D0=BC=D0=B5=D0=BD=D0=B8=D1=82=D1=8C=20=D0=B0=D0=BF=D0=B8?= =?UTF-8?q?=20=D0=B4=D0=BB=D1=8F=20=D0=BF=D0=BE=D0=BB=D1=83=D1=87=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D1=8F=20=D0=BF=D0=BE=D1=81=D0=BB=D0=B5=D0=B4=D0=BD?= =?UTF-8?q?=D0=B5=D0=B9=20=D1=82=D1=80=D0=B0=D0=BD=D0=B7=D0=B0=D0=BA=D1=86?= =?UTF-8?q?=D0=B8=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../default-option/pages/guest-card/guest-card.component.ts | 1 + angular/src/app/services/loyalty-program.service.ts | 4 ++-- angular/src/app/services/wp-json.service.ts | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/angular/src/app/presentation-options/default-option/pages/guest-card/guest-card.component.ts b/angular/src/app/presentation-options/default-option/pages/guest-card/guest-card.component.ts index ede5375..a70a80f 100644 --- a/angular/src/app/presentation-options/default-option/pages/guest-card/guest-card.component.ts +++ b/angular/src/app/presentation-options/default-option/pages/guest-card/guest-card.component.ts @@ -55,6 +55,7 @@ export class GuestCardComponent implements OnInit { this.loyaltyProgram.getLastPurchase( environment.systemId, token || '', + this.customerInfo.id ); }, }); diff --git a/angular/src/app/services/loyalty-program.service.ts b/angular/src/app/services/loyalty-program.service.ts index 98a8263..5781650 100644 --- a/angular/src/app/services/loyalty-program.service.ts +++ b/angular/src/app/services/loyalty-program.service.ts @@ -93,11 +93,11 @@ export class LoyaltyProgramService { return lvlPeriods[this.currentLvl]; } - getLastPurchase(systemId: string, token: string) { + getLastPurchase(systemId: string, token: string, customerId: string) { this.purchaseData.$loading = true; this.wpJsonService.getLastPurchase(systemId, token).subscribe({ next: (res) => { - this.purchaseData.lastPurchase = res; + this.purchaseData.lastPurchase = res[customerId][0]; }, complete: () => { this.purchaseData.$loading = false; diff --git a/angular/src/app/services/wp-json.service.ts b/angular/src/app/services/wp-json.service.ts index 86959e8..09e2f10 100644 --- a/angular/src/app/services/wp-json.service.ts +++ b/angular/src/app/services/wp-json.service.ts @@ -56,7 +56,7 @@ export class WpJsonService { ) } - getLastPurchase(systemId: string, token: string): Observable { + getLastPurchase(systemId: string, token: string): Observable { return this._request(`last_trans/${systemId}/${token}/`, 'GET', null, false, environment.icardProxy); } From 1a6345431d327648417b97c27d3fae719944074e Mon Sep 17 00:00:00 2001 From: nikolay Date: Thu, 15 Jun 2023 16:48:33 +0400 Subject: [PATCH 13/41] change firebase config --- angular/src/environments/environment.prod.ts | 15 +++++++-------- angular/src/environments/environment.ts | 13 ++++++------- 2 files changed, 13 insertions(+), 15 deletions(-) diff --git a/angular/src/environments/environment.prod.ts b/angular/src/environments/environment.prod.ts index 27e157b..7bd0e70 100644 --- a/angular/src/environments/environment.prod.ts +++ b/angular/src/environments/environment.prod.ts @@ -9,14 +9,13 @@ export const environment = { systemId: 'tsQ2cu59Xz9qgGTm3z', defaultUrl: 'https://coffee-like-test.lk.crm4retail.ru', firebase: { - apiKey: "AIzaSyCnKvln5itnrBj62POCPHxshAN_Vmd0zds", - authDomain: "fashionlogicanotification.firebaseapp.com", - projectId: "fashionlogicanotification", - storageBucket: "fashionlogicanotification.appspot.com", - messagingSenderId: "99855572145", - appId: "1:99855572145:web:7548c189d61b3bcc92d690", - measurementId: "G-RQF97ZK7R1" - }, + apiKey: "AIzaSyDTb_xuMz2vDx8xGs34AJiltraKVlwmrtY", + authDomain: "coffee-like-77bfe.firebaseapp.com", + projectId: "coffee-like-77bfe", + storageBucket: "coffee-like-77bfe.appspot.com", + messagingSenderId: "1094726277369", + appId: "1:1094726277369:web:8af560662da7700e7a2a28" + }, version: packageJson.version, appleWalletEndpoint: 'https://apple-wallet-iiko.it-retail.tech/apns/api', icardProxy: 'https://coffee-like-test.lk.crm4retail.ru/api/icard-proxy/', diff --git a/angular/src/environments/environment.ts b/angular/src/environments/environment.ts index 1a7acb4..d859ede 100644 --- a/angular/src/environments/environment.ts +++ b/angular/src/environments/environment.ts @@ -9,13 +9,12 @@ export const environment = { systemId: 'tsQ2cu59Xz9qgGTm3z', defaultUrl: 'http://192.168.0.179:4200', firebase: { - apiKey: 'AIzaSyCnKvln5itnrBj62POCPHxshAN_Vmd0zds', - authDomain: 'fashionlogicanotification.firebaseapp.com', - projectId: 'fashionlogicanotification', - storageBucket: 'fashionlogicanotification.appspot.com', - messagingSenderId: '99855572145', - appId: '1:99855572145:web:7548c189d61b3bcc92d690', - measurementId: 'G-RQF97ZK7R1', + apiKey: "AIzaSyDTb_xuMz2vDx8xGs34AJiltraKVlwmrtY", + authDomain: "coffee-like-77bfe.firebaseapp.com", + projectId: "coffee-like-77bfe", + storageBucket: "coffee-like-77bfe.appspot.com", + messagingSenderId: "1094726277369", + appId: "1:1094726277369:web:8af560662da7700e7a2a28" }, version: packageJson.version, appleWalletEndpoint: 'https://apple-wallet-iiko.it-retail.tech/apns/api', From 0ca219c7fa9e87cb513fce5e68b768070be4b1a0 Mon Sep 17 00:00:00 2001 From: nikolay Date: Thu, 15 Jun 2023 17:09:03 +0400 Subject: [PATCH 14/41] =?UTF-8?q?dev=20#14525=20=D0=97=D0=B0=D0=BC=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D1=82=D1=8C=20=D1=82=D0=B5=D0=BA=D1=81=D1=82=20WPA?= =?UTF-8?q?=20CoffeeLike?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../default-option/pages/login/login.component.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/angular/src/app/presentation-options/default-option/pages/login/login.component.html b/angular/src/app/presentation-options/default-option/pages/login/login.component.html index 40a39d2..ea44cf8 100644 --- a/angular/src/app/presentation-options/default-option/pages/login/login.component.html +++ b/angular/src/app/presentation-options/default-option/pages/login/login.component.html @@ -38,8 +38,8 @@

- Используя приложение, вы принимаете условия в соглашениях и - соглашаетесь на получение рекламно-информационных сообщений + Используя приложение, вы принимаете условия + и соглашаетесь на получение рекламно-информационных сообщений

From d66f72dc2ed3a6b5c00b7df57164fc30ef38b231 Mon Sep 17 00:00:00 2001 From: nikolay Date: Mon, 19 Jun 2023 10:04:45 +0400 Subject: [PATCH 15/41] =?UTF-8?q?dev=20#14537=20=D0=94=D0=BE=D0=B1=D0=B0?= =?UTF-8?q?=D0=B2=D0=B8=D1=82=D1=8C=20=D0=BA=D0=BD=D0=BE=D0=BF=D0=BA=D1=83?= =?UTF-8?q?=20=D0=BF=D0=BE=D0=B4=D0=BF=D0=B8=D1=81=D0=BA=D0=B8=20=D0=BD?= =?UTF-8?q?=D0=B0=20=D1=83=D0=B2=D0=B5=D0=B4=D0=BE=D0=BC=D0=BB=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D1=8F=20CL?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/navbar/navbar.component.html | 12 +++++++++++- .../components/navbar/navbar.component.scss | 14 +++++++++++++- .../components/navbar/navbar.component.ts | 4 +++- .../pages/guest-card/guest-card.component.ts | 1 - angular/src/app/services/messaging.service.ts | 1 + 5 files changed, 28 insertions(+), 4 deletions(-) diff --git a/angular/src/app/presentation-options/default-option/components/navbar/navbar.component.html b/angular/src/app/presentation-options/default-option/components/navbar/navbar.component.html index c3ba5c6..005236d 100644 --- a/angular/src/app/presentation-options/default-option/components/navbar/navbar.component.html +++ b/angular/src/app/presentation-options/default-option/components/navbar/navbar.component.html @@ -2,5 +2,15 @@

{{title}}

- +
+ + +
diff --git a/angular/src/app/presentation-options/default-option/components/navbar/navbar.component.scss b/angular/src/app/presentation-options/default-option/components/navbar/navbar.component.scss index 0d6cf27..39c7475 100644 --- a/angular/src/app/presentation-options/default-option/components/navbar/navbar.component.scss +++ b/angular/src/app/presentation-options/default-option/components/navbar/navbar.component.scss @@ -1,5 +1,12 @@ :host { - width: 100%; + width: 100%; + + .notification { + img { + width: 28px; + height: 28px; + } + } } .container { @@ -31,4 +38,9 @@ line-height: 22px; margin: 0; } + .wrapper { + display: flex; + align-items: center; + gap: 10px; + } } diff --git a/angular/src/app/presentation-options/default-option/components/navbar/navbar.component.ts b/angular/src/app/presentation-options/default-option/components/navbar/navbar.component.ts index f0300d0..3c698d4 100644 --- a/angular/src/app/presentation-options/default-option/components/navbar/navbar.component.ts +++ b/angular/src/app/presentation-options/default-option/components/navbar/navbar.component.ts @@ -1,4 +1,5 @@ import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core'; +import { MessagingService } from 'src/app/services/messaging.service'; @Component({ selector: 'app-navbar[title]', @@ -9,7 +10,7 @@ export class NavbarComponent implements OnInit { @Input() title: string = 'Название не задано' @Output() backEvent = new EventEmitter(); - constructor() { } + constructor(public messagingService: MessagingService) { } ngOnInit(): void { } @@ -18,4 +19,5 @@ export class NavbarComponent implements OnInit { this.backEvent.emit(null) } + } diff --git a/angular/src/app/presentation-options/default-option/pages/guest-card/guest-card.component.ts b/angular/src/app/presentation-options/default-option/pages/guest-card/guest-card.component.ts index a70a80f..38fb195 100644 --- a/angular/src/app/presentation-options/default-option/pages/guest-card/guest-card.component.ts +++ b/angular/src/app/presentation-options/default-option/pages/guest-card/guest-card.component.ts @@ -76,7 +76,6 @@ export class GuestCardComponent implements OnInit { } else { //FIREBASE HERE this.messagingService.requestPermission(); - this.messagingService.receiveMessage(); // this.message = this.messagingService.currentMessage; } } diff --git a/angular/src/app/services/messaging.service.ts b/angular/src/app/services/messaging.service.ts index c5f6044..be242a6 100644 --- a/angular/src/app/services/messaging.service.ts +++ b/angular/src/app/services/messaging.service.ts @@ -78,6 +78,7 @@ export class MessagingService { this.angularFireMessaging.requestToken.subscribe({ next: (token) => { this.updateToken(token); + this.receiveMessage(); }, error: (e) => console.error(e), }); From 7b5200d9f85dbf8343f5c2839e7397514031056b Mon Sep 17 00:00:00 2001 From: nikolay Date: Tue, 20 Jun 2023 10:12:32 +0400 Subject: [PATCH 16/41] auto fill sms --- angular/package-lock.json | 11 ++++++ angular/package.json | 1 + .../pages/login/login.component.html | 4 +-- .../pages/login/login.component.ts | 34 ++++++++++++++++++- 4 files changed, 47 insertions(+), 3 deletions(-) diff --git a/angular/package-lock.json b/angular/package-lock.json index 7c8a269..f868366 100644 --- a/angular/package-lock.json +++ b/angular/package-lock.json @@ -25,6 +25,7 @@ "@fortawesome/free-brands-svg-icons": "^6.2.0", "@fortawesome/free-solid-svg-icons": "^6.2.0", "@types/uuid": "^8.3.4", + "@types/web": "^0.0.99", "angular-moment-timezone": "^1.7.1", "barcode-2-svg": "^0.3.3", "firebase": "^9.9.3", @@ -5313,6 +5314,11 @@ "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz", "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==" }, + "node_modules/@types/web": { + "version": "0.0.99", + "resolved": "https://registry.npmjs.org/@types/web/-/web-0.0.99.tgz", + "integrity": "sha512-xMz3tOvtkZzc7RpQrDNiLe5sfMmP+fz8bOxHIZ/U8qXyvzDX4L4Ss1HCjor/O9DSelba+1iXK1VM7lruX28hiQ==" + }, "node_modules/@types/ws": { "version": "8.5.4", "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.4.tgz", @@ -18540,6 +18546,11 @@ "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz", "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==" }, + "@types/web": { + "version": "0.0.99", + "resolved": "https://registry.npmjs.org/@types/web/-/web-0.0.99.tgz", + "integrity": "sha512-xMz3tOvtkZzc7RpQrDNiLe5sfMmP+fz8bOxHIZ/U8qXyvzDX4L4Ss1HCjor/O9DSelba+1iXK1VM7lruX28hiQ==" + }, "@types/ws": { "version": "8.5.4", "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.4.tgz", diff --git a/angular/package.json b/angular/package.json index 5c9e9e6..fb1a7a9 100644 --- a/angular/package.json +++ b/angular/package.json @@ -27,6 +27,7 @@ "@fortawesome/free-brands-svg-icons": "^6.2.0", "@fortawesome/free-solid-svg-icons": "^6.2.0", "@types/uuid": "^8.3.4", + "@types/web": "^0.0.99", "angular-moment-timezone": "^1.7.1", "barcode-2-svg": "^0.3.3", "firebase": "^9.9.3", diff --git a/angular/src/app/presentation-options/default-option/pages/login/login.component.html b/angular/src/app/presentation-options/default-option/pages/login/login.component.html index ea44cf8..e8c39bf 100644 --- a/angular/src/app/presentation-options/default-option/pages/login/login.component.html +++ b/angular/src/app/presentation-options/default-option/pages/login/login.component.html @@ -45,9 +45,9 @@ -

Введите код из SMS

+

Введите код из SMS

-
+
@@ -66,7 +65,6 @@ type="tel" placeholder="•" #field1 - [appFocusNextInput]="inputFocusEmitter" formControlName="code1" maxlength="1" /> @@ -77,7 +75,6 @@ type="tel" placeholder="•" #field2 - [appFocusNextInput]="inputFocusEmitter" formControlName="code2" maxlength="1" /> @@ -88,7 +85,6 @@ type="tel" placeholder="•" #field3 - [appFocusNextInput]="inputFocusEmitter" formControlName="code3" maxlength="1" /> diff --git a/angular/src/app/presentation-options/default-option/pages/login/login.component.ts b/angular/src/app/presentation-options/default-option/pages/login/login.component.ts index 9957811..0895123 100644 --- a/angular/src/app/presentation-options/default-option/pages/login/login.component.ts +++ b/angular/src/app/presentation-options/default-option/pages/login/login.component.ts @@ -1,9 +1,11 @@ import { AfterViewInit, Component, + ElementRef, EventEmitter, HostListener, OnInit, + ViewChild, } from '@angular/core'; import { FormControl, FormGroup, Validators } from '@angular/forms'; import { MatSnackBar } from '@angular/material/snack-bar'; @@ -39,17 +41,17 @@ export class LoginComponent implements OnInit, AfterViewInit { private messageService: MessageService, private _snackBar: MatSnackBar, private jsonRpcService: JsonrpcService - ) {} + ) { } - ngOnInit(): void {} + ngOnInit(): void { } ngAfterViewInit() { - setTimeout(() => { - this.inputFocusEmitter.emit(`#${this.inputIds[0]}`); - }, 1000); } - - public inputFocusEmitter = new EventEmitter(); + + @ViewChild('field', { static: false }) field!: ElementRef; + @ViewChild('field1', { static: false }) field1!: ElementRef; + @ViewChild('field2', { static: false }) field2!: ElementRef; + @ViewChild('field3', { static: false }) field3!: ElementRef; @HostListener('window:keydown', ['$event']) HandlKeyEvents(event: any) { @@ -63,23 +65,48 @@ export class LoginComponent implements OnInit, AfterViewInit { event.target.value = ''; const prevInputIndex = this.inputIds.indexOf(elementId) - 1; if (prevInputIndex >= 0) { - this.inputFocusEmitter.emit(`#${this.inputIds[prevInputIndex]}`); + // this.inputFocusEmitter.emit(`#${this.inputIds[prevInputIndex]}`); + this.focusFieldByIndex(prevInputIndex); } break; default: - elementId = event.target.id; + elementId = event.target.id; const index = this.inputIds.indexOf(elementId); const nextInputIndex = index + 1; - event.target.value = event.key; - + event.target.value = key; + if (nextInputIndex > 0 && nextInputIndex <= this.inputIds.length) { - this.inputFocusEmitter.emit(`#${this.inputIds[nextInputIndex]}`); + // this.inputFocusEmitter.emit(`#${this.inputIds[nextInputIndex]}`); + this.focusFieldByIndex(nextInputIndex); } + if (nextInputIndex == this.inputIds.length) { + this.field3!.nativeElement.blur(); + } + break; } } + focusFieldByIndex(i: number) { + setTimeout(() => { + switch (i) { + case 0: + this.field.nativeElement.focus(); + break; + case 1: + this.field1.nativeElement.focus(); + break; + case 2: + this.field2.nativeElement.focus(); + break; + case 3: + this.field3.nativeElement.focus(); + break; + } + }, 0); + } + submitNumber() { const data = this.phoneForm.value; this.isShowNumber = false; @@ -123,7 +150,7 @@ export class LoginComponent implements OnInit, AfterViewInit { }, }); setTimeout(() => { - this.inputFocusEmitter.emit(`#${this.inputIds[0]}`); + this.field.nativeElement.focus(); }, 0); } @@ -164,7 +191,7 @@ export class LoginComponent implements OnInit, AfterViewInit { }, error: (err) => { console.error(err); - + } }) // this.phoneConfirmed.emit(null); From 798ec5e21a1a79fdc9b711a340102b371f91e87b Mon Sep 17 00:00:00 2001 From: nikolay Date: Wed, 21 Jun 2023 10:27:05 +0400 Subject: [PATCH 19/41] =?UTF-8?q?dev=20#14384=20=D0=9F=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=BA=D0=B0=20=D0=BE=D1=88=D0=B8=D0=B1=D0=BE=D0=BA=20=D0=BE?= =?UTF-8?q?=D1=82=D0=BE=D0=B1=D1=80=D0=B0=D0=B6=D0=B5=D0=BD=D0=B8=D1=8F=20?= =?UTF-8?q?WPA=20=D0=9A=D0=BE=D1=84=D0=B5=D0=9B=D0=B0=D0=B9=D0=BA:=20chang?= =?UTF-8?q?e=20keydown=20to=20input=20on=20code=20enter=20listener?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../default-option/pages/login/login.component.ts | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/angular/src/app/presentation-options/default-option/pages/login/login.component.ts b/angular/src/app/presentation-options/default-option/pages/login/login.component.ts index 0895123..22b5087 100644 --- a/angular/src/app/presentation-options/default-option/pages/login/login.component.ts +++ b/angular/src/app/presentation-options/default-option/pages/login/login.component.ts @@ -53,14 +53,14 @@ export class LoginComponent implements OnInit, AfterViewInit { @ViewChild('field2', { static: false }) field2!: ElementRef; @ViewChild('field3', { static: false }) field3!: ElementRef; - @HostListener('window:keydown', ['$event']) + @HostListener('window:input', ['$event']) HandlKeyEvents(event: any) { - if (!event.target.classList.contains('field')) return; - const key = event.key.toLocaleLowerCase(); + if (!event.target.classList.contains('field')) return; + const key = event.data let elementId = ''; switch (key) { - case 'backspace': + case null: elementId = event.target.id; event.target.value = ''; const prevInputIndex = this.inputIds.indexOf(elementId) - 1; @@ -93,15 +93,19 @@ export class LoginComponent implements OnInit, AfterViewInit { switch (i) { case 0: this.field.nativeElement.focus(); + this.field.nativeElement.click(); break; case 1: this.field1.nativeElement.focus(); + this.field1.nativeElement.click(); break; case 2: this.field2.nativeElement.focus(); + this.field2.nativeElement.click(); break; case 3: this.field3.nativeElement.focus(); + this.field3.nativeElement.click(); break; } }, 0); @@ -155,7 +159,7 @@ export class LoginComponent implements OnInit, AfterViewInit { } submitCode() { - const data = this.codeForm.value; + const data = this.codeForm.value; this.jsonrpc .rpc( { From 50ae2b601e30b69aea8bd3251a34c5542103185c Mon Sep 17 00:00:00 2001 From: nikolay Date: Wed, 21 Jun 2023 11:41:50 +0400 Subject: [PATCH 20/41] =?UTF-8?q?dev=20#14384=20=D0=9F=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=BA=D0=B0=20=D0=BE=D1=88=D0=B8=D0=B1=D0=BE=D0=BA=20=D0=BE?= =?UTF-8?q?=D1=82=D0=BE=D0=B1=D1=80=D0=B0=D0=B6=D0=B5=D0=BD=D0=B8=D1=8F=20?= =?UTF-8?q?WPA=20=D0=9A=D0=BE=D1=84=D0=B5=D0=9B=D0=B0=D0=B9=D0=BA:=20fix?= =?UTF-8?q?=20install=20button?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- angular/src/app/directives/download-app.directive.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/angular/src/app/directives/download-app.directive.ts b/angular/src/app/directives/download-app.directive.ts index d569494..fd31670 100644 --- a/angular/src/app/directives/download-app.directive.ts +++ b/angular/src/app/directives/download-app.directive.ts @@ -37,6 +37,9 @@ export class DownloadAppDirective implements OnInit { if (this.deviceType === 'ios') { this.el.nativeElement.style.display = 'block'; } + if (window.matchMedia('(display-mode: standalone)').matches) { + this.el.nativeElement.style.display = 'none'; + } } @HostListener('window:beforeinstallprompt', ['$event']) @@ -53,7 +56,7 @@ export class DownloadAppDirective implements OnInit { // Prevent Chrome 67 and earlier from automatically showing the prompt e.preventDefault(); // Stash the event so it can be triggered later. - this.deferredPrompt = e; + this.deferredPrompt = e; this.el.nativeElement.style.display = 'none'; } From 0ae4e31cfda7ba74bac6cd483b8b3c9c89f86129 Mon Sep 17 00:00:00 2001 From: nikolay Date: Thu, 22 Jun 2023 11:09:52 +0400 Subject: [PATCH 21/41] =?UTF-8?q?dev=20#14562=20=D0=94=D0=BE=D0=B1=D0=B0?= =?UTF-8?q?=D0=B2=D0=B8=D1=82=D1=8C=20=D0=BC=D0=B5=D0=BD=D1=8E=20=D0=B4?= =?UTF-8?q?=D0=BB=D1=8F=20iOS=20WPA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../app/directives/download-app.directive.ts | 75 +----- .../navbar/menu_item.component.html | 3 + .../navbar/menu_item.component.scss | 20 ++ .../components/navbar/menu_item.component.ts | 18 ++ .../components/navbar/navbar.component.html | 39 ++- .../components/navbar/navbar.component.scss | 26 ++ .../components/navbar/navbar.component.ts | 60 ++++- .../default-option/default-option.module.ts | 5 +- .../src/app/services/apple-wallet.service.ts | 46 +++- angular/src/app/utils.ts | 10 + angular/src/assets/apple_wallet.svg | 232 ++++++++++++++++++ angular/src/index.html | 2 +- angular/src/styles.scss | 2 + 13 files changed, 467 insertions(+), 71 deletions(-) create mode 100644 angular/src/app/presentation-options/default-option/components/navbar/menu_item.component.html create mode 100644 angular/src/app/presentation-options/default-option/components/navbar/menu_item.component.scss create mode 100644 angular/src/app/presentation-options/default-option/components/navbar/menu_item.component.ts create mode 100644 angular/src/app/utils.ts create mode 100644 angular/src/assets/apple_wallet.svg diff --git a/angular/src/app/directives/download-app.directive.ts b/angular/src/app/directives/download-app.directive.ts index fd31670..a97740a 100644 --- a/angular/src/app/directives/download-app.directive.ts +++ b/angular/src/app/directives/download-app.directive.ts @@ -6,13 +6,12 @@ import { Renderer2, Inject, } from '@angular/core'; -import { lastValueFrom } from 'rxjs'; -import { MatSnackBar } from '@angular/material/snack-bar'; + import { MessageService } from 'primeng/api'; import { CookiesService } from 'src/app/services/cookies.service'; -import { RpcService, JsonrpcService } from 'src/app/services/jsonrpc.service'; -import { DOCUMENT } from '@angular/common'; + import { AppleWalletService } from 'src/app/services/apple-wallet.service'; +import { getTypeDevice } from 'src/app/utils'; @Directive({ selector: '[appDownloadApp]', @@ -25,21 +24,16 @@ export class DownloadAppDirective implements OnInit { private messageService: MessageService, public renderer: Renderer2, private el: ElementRef, - private _snackBar: MatSnackBar, - private appleWallet: AppleWalletService, - private cookiesService: CookiesService, - @Inject(DOCUMENT) private document: Document, - private jsonrpc: JsonrpcService, ) { } ngOnInit(): void { - this.getTypeDevice(); + getTypeDevice(); if (this.deviceType === 'ios') { this.el.nativeElement.style.display = 'block'; } - if (window.matchMedia('(display-mode: standalone)').matches) { - this.el.nativeElement.style.display = 'none'; - } + if (window.matchMedia('(display-mode: standalone)').matches) { + this.el.nativeElement.style.display = 'none'; + } } @HostListener('window:beforeinstallprompt', ['$event']) @@ -56,76 +50,29 @@ export class DownloadAppDirective implements OnInit { // Prevent Chrome 67 and earlier from automatically showing the prompt e.preventDefault(); // Stash the event so it can be triggered later. - this.deferredPrompt = e; + this.deferredPrompt = e; this.el.nativeElement.style.display = 'none'; } - getTypeDevice() { - const userAgent = window.navigator.userAgent.toLowerCase(); - const ios = /iphone|ipod|ipad/.test(userAgent); - this.deviceType = ios ? 'ios' : 'android'; - } - @HostListener('click', ['$event']) async downloadApp(event: MouseEvent) { - if (event) { - event.preventDefault(); - } - - if (this.deviceType === 'ios') { - await this.addCardToWallet(); - return; - } if (!this.deferredPrompt) { this.messageService.add({ severity: 'error', summary: 'Не поддерживается в Вашем браузере!', }); - this._snackBar.open('Не поддерживается в Вашем браузере!', '', { - duration: 3000, - }); return; } this.deferredPrompt.prompt(); this.deferredPrompt.userChoice.then((res: any) => { if (res.outcome === 'accepted') { - this._snackBar.open('Спасибо за установку!', '', { - duration: 3000, + this.messageService.add({ + severity: 'success', + summary: 'Спасибо за установку!', }); } this.deferredPrompt = null; }); } - async addCardToWallet() { - const token = this.cookiesService.getItem('token'); - try { - const accountData = ( - await lastValueFrom( - this.jsonrpc.rpc( - { - method: 'getTokenData', - params: [], - }, - RpcService.authService, - true - ) - ) - ).data; - - if (token && accountData.user_id) { - this.appleWallet.generateCard(token, accountData.user_id).subscribe({ - next: (res: any) => { - this.document.location.href = res.url; - }, - error: (err) => { - console.log('Error: ', err); - }, - }); - } - } catch (e) { - console.log(e); - } - - } } diff --git a/angular/src/app/presentation-options/default-option/components/navbar/menu_item.component.html b/angular/src/app/presentation-options/default-option/components/navbar/menu_item.component.html new file mode 100644 index 0000000..7443bf7 --- /dev/null +++ b/angular/src/app/presentation-options/default-option/components/navbar/menu_item.component.html @@ -0,0 +1,3 @@ + diff --git a/angular/src/app/presentation-options/default-option/components/navbar/menu_item.component.scss b/angular/src/app/presentation-options/default-option/components/navbar/menu_item.component.scss new file mode 100644 index 0000000..80f9464 --- /dev/null +++ b/angular/src/app/presentation-options/default-option/components/navbar/menu_item.component.scss @@ -0,0 +1,20 @@ +.menu-item { + display: flex; + gap: 10px; + align-items: center; + padding: 10px; + cursor: pointer; + transition: background-color 0.1s; + + &:hover { + background-color: var(--main-color_hover); + } + + .title { + color: var(--text-color); + } + + .icon { + + } +} diff --git a/angular/src/app/presentation-options/default-option/components/navbar/menu_item.component.ts b/angular/src/app/presentation-options/default-option/components/navbar/menu_item.component.ts new file mode 100644 index 0000000..e376ca0 --- /dev/null +++ b/angular/src/app/presentation-options/default-option/components/navbar/menu_item.component.ts @@ -0,0 +1,18 @@ +import { Component, Input, HostListener, } from "@angular/core"; + +@Component({ + selector: 'menu-item', + templateUrl: './menu_item.component.html', + styleUrls: ['./menu_item.component.scss'], +}) +export class MenuItemComponent { + @Input() + handler?: (e: any) => void; + + @HostListener('click', ['$event']) + onClick(e: any) { + if (this.handler) { + this.handler(e); + } + } +} diff --git a/angular/src/app/presentation-options/default-option/components/navbar/navbar.component.html b/angular/src/app/presentation-options/default-option/components/navbar/navbar.component.html index 005236d..57622b1 100644 --- a/angular/src/app/presentation-options/default-option/components/navbar/navbar.component.html +++ b/angular/src/app/presentation-options/default-option/components/navbar/navbar.component.html @@ -2,7 +2,44 @@

{{title}}

-
+
+ +
+ diff --git a/angular/src/app/presentation-options/default-option/pages/login/login.component.ts b/angular/src/app/presentation-options/default-option/pages/login/login.component.ts index 4d4b102..c1299c0 100644 --- a/angular/src/app/presentation-options/default-option/pages/login/login.component.ts +++ b/angular/src/app/presentation-options/default-option/pages/login/login.component.ts @@ -1,25 +1,20 @@ import { - AfterViewInit, Component, ElementRef, - EventEmitter, HostListener, OnInit, ViewChild, } from '@angular/core'; import { FormControl, FormGroup, Validators } from '@angular/forms'; -import { MatSnackBar } from '@angular/material/snack-bar'; import { Router } from '@angular/router'; -import { MessageService } from 'primeng/api'; -import { CookiesService } from 'src/app/services/cookies.service'; -import { JsonrpcService, RpcService } from 'src/app/services/jsonrpc.service'; +import { AuthService } from 'src/app/services/auth.service'; @Component({ selector: 'app-login', templateUrl: './login.component.html', styleUrls: ['./login.component.scss'], }) -export class LoginComponent implements OnInit, AfterViewInit { +export class LoginComponent implements OnInit { public isShowNumber: boolean = true; public phoneForm = new FormGroup({ name: new FormControl('', []), @@ -35,19 +30,12 @@ export class LoginComponent implements OnInit, AfterViewInit { timeLeft: number = 0; constructor( - private cookiesService: CookiesService, + private authService: AuthService, private router: Router, - private jsonrpc: JsonrpcService, - private messageService: MessageService, - private _snackBar: MatSnackBar, - private jsonRpcService: JsonrpcService ) { } ngOnInit(): void { } - ngAfterViewInit() { - } - @ViewChild('field', { static: false }) field!: ElementRef; @ViewChild('field1', { static: false }) field1!: ElementRef; @ViewChild('field2', { static: false }) field2!: ElementRef; @@ -112,47 +100,14 @@ export class LoginComponent implements OnInit, AfterViewInit { } submitNumber() { - const data = this.phoneForm.value; - this.isShowNumber = false; - if (this.timeLeft) { - this.messageService.add({ - severity: 'custom', - summary: `Отправить повторно можно через ${this.timeLeft}с`, - }); + if (this.phoneForm.invalid) { + this.phoneForm.markAsTouched(); + return; } - this.jsonrpc - .rpc( - { - method: 'sendVerifyByPhone', - params: [data.phone], - }, - RpcService.authService, - false - ) - .subscribe({ - next: (result) => { - if (result.code !== 0) { - this._snackBar.open('Произошла ошибка! Попробуйте позже', '', { - duration: 3000, - }); - } - if (result.code === 0) { - this.timeLeft = 60; - const interval = setInterval(() => { - if (this.timeLeft > 0) { - this.timeLeft--; - } else { - clearInterval(interval); - } - }, 1000); - } - this.isShowNumber = false; - }, - error: (error) => { - console.error('Error: ', error); - }, - }); + const data = this.phoneForm.value; + this.authService.sendVerifyByPhone(data.phone!); + this.isShowNumber = false; setTimeout(() => { this.field.nativeElement.focus(); }, 0); @@ -160,56 +115,10 @@ export class LoginComponent implements OnInit, AfterViewInit { submitCode() { const data = this.codeForm.value; - this.jsonrpc - .rpc( - { - method: 'getTokenByPhone', - params: [this.phoneForm.value.phone, Object.values(data).join('')], - }, - RpcService.authService, - false - ) - .subscribe({ - next: (result) => { - if (result.code === 0) { - this.cookiesService.setCookie('token', result?.data?.token); - this.jsonRpcService.rpc( - { - method: 'updateAdditionalInfo', - params: [ - { - first_name: this.phoneForm.value.name, - birth_day: '01.01.1999' - }, - ], - }, - RpcService.authService, - true - ).subscribe({ - next: (value) => { - this.router.navigate(['/'], { - queryParams: { - token: result?.data?.token, - }, - }); - }, - error: (err) => { - console.error(err); + const phoneData = this.phoneForm.value; - } - }) - // this.phoneConfirmed.emit(null); - } else if (result.code === 230) { - this._snackBar.open('Неверный код!', '', { - duration: 3000, - }); - // this.errorConfirmCode = true; - } - }, - error: (error) => { - console.error(error); - }, - }); + this.authService.submitCode( + Object.values(data).join(''), phoneData.phone!, phoneData.name!); } backToPhoneForm = () => { diff --git a/angular/src/app/presentation-options/default-option/pages/loyality-program/loyality-program.component.html b/angular/src/app/presentation-options/default-option/pages/loyality-program/loyality-program.component.html index c1af5eb..88bb56c 100644 --- a/angular/src/app/presentation-options/default-option/pages/loyality-program/loyality-program.component.html +++ b/angular/src/app/presentation-options/default-option/pages/loyality-program/loyality-program.component.html @@ -1,15 +1,15 @@ - +

- Ваш текущий уровень {{ loyaltyProgram.currentLvl }}, - поэтому вам начисляется {{ loyaltyProgram.currentLvlPeriod.percent }}% от суммы покупки. + Ваш текущий уровень {{ authService.userInfo?.customer_level }}, + поэтому вам начисляется {{ authService.currentLvlPeriod.percent }}% от суммы покупки.

Смена уровня произойдет в начале следующего квартала, - {{ loyaltyProgram.purchaseData.currentPeriod[1] + {{ authService.purchaseData.currentPeriod[1] .locale("ru") .format("DD.MM.YY") }}.

diff --git a/angular/src/app/presentation-options/default-option/pages/loyality-program/loyality-program.component.ts b/angular/src/app/presentation-options/default-option/pages/loyality-program/loyality-program.component.ts index da1dd10..516feba 100644 --- a/angular/src/app/presentation-options/default-option/pages/loyality-program/loyality-program.component.ts +++ b/angular/src/app/presentation-options/default-option/pages/loyality-program/loyality-program.component.ts @@ -1,18 +1,18 @@ -import { Component, OnInit } from '@angular/core'; +import { Component } from '@angular/core'; import { Location } from '@angular/common'; import { lvlPeriod } from 'src/app/interface/data'; import { lvlPeriods } from 'src/app/app.constants'; -import { LoyaltyProgramService } from 'src/app/services/loyalty-program.service'; +import { AuthService } from 'src/app/services/auth.service'; @Component({ selector: 'loyality-program', templateUrl: './loyality-program.component.html', styleUrls: ['./loyality-program.component.scss'], }) -export class LoyalityProgramComponent implements OnInit { +export class LoyalityProgramComponent { constructor( private _location: Location, - public loyaltyProgram: LoyaltyProgramService, + public authService: AuthService, ) { } public lvlPeriods: lvlPeriod[] = lvlPeriods; @@ -20,10 +20,4 @@ export class LoyalityProgramComponent implements OnInit { goBack = () => { this._location.back(); } - - ngOnInit(): void { - if (this.loyaltyProgram.currentLvlPeriod == null) { - this._location.back(); - } - } } diff --git a/angular/src/app/services/auth.service.ts b/angular/src/app/services/auth.service.ts new file mode 100644 index 0000000..6697b58 --- /dev/null +++ b/angular/src/app/services/auth.service.ts @@ -0,0 +1,258 @@ +import { Injectable } from '@angular/core'; +import { CookiesService } from './cookies.service'; +import { WpJsonService } from './wp-json.service'; +import { environment } from 'src/environments/environment'; +import { JsonrpcService, RpcService } from './jsonrpc.service'; +import { MessageService } from 'primeng/api'; +import { UserInfo, Purchase, lvlPeriod, UserInfoWalletBalance } from '../interface/data'; +import { lvlPeriods } from 'src/app/app.constants'; +import moment, { Moment } from 'moment-timezone'; +import { Router } from '@angular/router'; + +export interface IPurchaseData { + currentPeriod: Moment[]; + lastPeriod: Moment[]; + currentAmount?: number; + lastPurchase?: Purchase; +} + +@Injectable({ + providedIn: 'root', +}) +export class AuthService { + public purchaseData: IPurchaseData = { + currentPeriod: [], + lastPeriod: [], + lastPurchase: undefined, + }; + userInfo?: UserInfo; + loading: boolean = false; + error: any; + timeLeft: number = 0; + + get currentLvlPeriod(): lvlPeriod { + return lvlPeriods[this.userInfo ? this.userInfo.customer_level - 1 : 0]; + } + + constructor( + private cookiesService: CookiesService, + private wpJsonService: WpJsonService, + private jsonrpc: JsonrpcService, + private messageService: MessageService, + private router: Router, + ) { + this.getCurrentQuarterOfYear(); + } + + get token(): string | undefined { + return this.cookiesService.getItem('token'); + } + + get authorized(): boolean { + return !!this.token; + } + + getUserInfo() { + const token = this.cookiesService.getItem('token'); + + if (!token) { + return; + } + + this.loading = true; + + this.wpJsonService + .getCustomerInfo( + environment.systemId, + token, + environment.icardProxy, + ) + .subscribe({ + next: (value) => { + if (value && value.customer_info && value.customer_info.errorCode === 'Customer_CustomerNotFound') { + this.wpJsonService.newCustomer( + environment.systemId, + token, + environment.icardProxy, + ) + .subscribe({ + next: () => { + this.getUserInfo(); + } + }) + } else if (value && value.error && value.error.code > 1) { + this.messageService.add({ + severity: 'error', + summary: 'Произошла ошибка! Попробуйте позже', + }); + } else if (value && value.customer_info) { + this.userInfo = value.customer_info; + + this.cookiesService.setCookie('phone-number', this.userInfo!.phone?.slice(2)); + } + }, + error: (e) => { + this.error = e; + }, + complete: () => { + this.loading = false; + }, + }); + } + + sendVerifyByPhone(phone: string) { + if (this.timeLeft) { + this.messageService.add({ + severity: 'custom', + summary: `Отправить повторно можно через ${this.timeLeft}с`, + }); + return; + } + + this.loading = true; + this.jsonrpc + .rpc( + { + method: 'sendVerifyByPhone', + params: [phone], + }, + RpcService.authService, + false + ) + .subscribe({ + next: (result) => { + if (result.code !== 0) { + this.messageService.add({ + severity: 'error', + summary: 'Произошла ошибка! Попробуйте позже', + }); + } + if (result.code === 0) { + this.timeLeft = 60; + const interval = setInterval(() => { + if (this.timeLeft > 0) { + this.timeLeft--; + } else { + clearInterval(interval); + } + }, 1000); + } + }, + error: (error) => { + console.error('Error: ', error); + }, + complete: () => { + this.loading = false; + }, + }); + } + + submitCode(code: string, phone: string, name: string) { + this.loading = true; + this.jsonrpc + .rpc( + { + method: 'getTokenByPhone', + params: [phone, code], + }, + RpcService.authService, + false + ) + .subscribe({ + next: (result) => { + if (result.code === 0) { + this.cookiesService.setCookie('token', result?.data?.token); + this.jsonrpc.rpc( + { + method: 'updateAdditionalInfo', + params: [ + { + first_name: name, + birth_day: '01.01.1999' + }, + ], + }, + RpcService.authService, + true + ).subscribe({ + next: (value) => { + this.router.navigate(['/']); + this.getUserInfo(); + }, + error: (err) => { + console.error(err); + + }, + complete: () => { + this.loading = false; + } + }) + } else if (result.code === 230) { + this.messageService.add({ + severity: 'error', + summary: 'Неверный код!', + }); + } + }, + error: (error) => { + console.error(error); + }, + }); + } + + getCurrentQuarterOfYear() { + const quarters = [ + [ + moment().subtract(1, 'years').endOf('year').subtract(3, 'months'), + moment().startOf('year').add(10, 'days'), + ], + [ + moment().startOf('year').add(10, 'days'), + moment().startOf('year').add(3, 'months'), + ], + [ + moment().startOf('year').add(3, 'months'), + moment().startOf('year').add(6, 'months'), + ], + [ + moment().startOf('year').add(6, 'months'), + moment().startOf('year').add(9, 'months'), + ], + [ + moment().startOf('year').add(9, 'months'), + moment().startOf('year').add(12, 'months'), + ], + ]; + + for (let i = 0; i < 4; i++) { + if (moment().isBetween(quarters[i][0], quarters[i][1])) { + this.purchaseData.lastPeriod = quarters[i - 1]; + this.purchaseData.currentPeriod = quarters[i]; + } + } + } + + getNextLevel(): lvlPeriod { + if (this.userInfo?.customer_level === lvlPeriods.length) { + return lvlPeriods[lvlPeriods.length - 1]; + } + return this.userInfo && lvlPeriods[this.userInfo?.customer_level] || lvlPeriods[0]; + } + + getLastPurchase(userInfo: UserInfo) { + this.wpJsonService.getLastPurchase(environment.systemId, this.token!).subscribe({ + next: (res) => { + this.purchaseData.lastPurchase = res[userInfo.id][0]; + }, + }); + } + + getBalanceAmount(loyaltyPrograms: UserInfoWalletBalance[]) { + return (loyaltyPrograms || []).reduce((accumulator, currentValue) => { + if (currentValue.wallet.name !== 'Федеральная программа лояльности') { + return accumulator + } + return accumulator + currentValue.balance; + }, 0); + } +} diff --git a/angular/src/app/services/loyalty-program.service.ts b/angular/src/app/services/loyalty-program.service.ts deleted file mode 100644 index 5781650..0000000 --- a/angular/src/app/services/loyalty-program.service.ts +++ /dev/null @@ -1,107 +0,0 @@ -import { Injectable } from '@angular/core'; -import moment from 'moment'; -import { Moment, Purchase, lvlPeriod } from '../interface/data'; -import { lvlPeriods } from '../app.constants'; -import { WpJsonService } from './wp-json.service'; -import { Observable } from 'rxjs'; - -export interface IPurchaseData { - currentPeriod: Moment[]; - lastPeriod: Moment[]; - currentAmount?: number; - $loading: boolean; - lastPurchase?: Purchase; -} - -@Injectable({ - providedIn: 'root', -}) -export class LoyaltyProgramService { - public purchaseData: IPurchaseData = { - currentPeriod: [], - lastPeriod: [], - $loading: false, - lastPurchase: undefined, - }; - - public currentLvl: number = 1; - public currentLvlPeriod!: lvlPeriod; - public lvlPeriods: lvlPeriod[] = lvlPeriods; - - constructor( - private wpJsonService: WpJsonService, - ) { - this.getCurrentQuarterOfYear(); - } - - getCurrentQuarterOfYear() { - const quarters = [ - [ - moment().subtract(1, 'years').endOf('year').subtract(3, 'months'), - moment().startOf('year').add(10, 'days'), - ], - [ - moment().startOf('year').add(10, 'days'), - moment().startOf('year').add(3, 'months'), - ], - [ - moment().startOf('year').add(3, 'months'), - moment().startOf('year').add(6, 'months'), - ], - [ - moment().startOf('year').add(6, 'months'), - moment().startOf('year').add(9, 'months'), - ], - [ - moment().startOf('year').add(9, 'months'), - moment().startOf('year').add(12, 'months'), - ], - ]; - - for (let i = 0; i < 4; i++) { - if (moment().isBetween(quarters[i][0], quarters[i][1])) { - this.purchaseData.lastPeriod = quarters[i - 1]; - this.purchaseData.currentPeriod = quarters[i]; - } - } - } - - getBalanceAmount(loyaltyPrograms: any[]) { - return (loyaltyPrograms || []).reduce((accumulator, currentValue) => { - if (currentValue.wallet.name !== 'Федеральная программа лояльности') { - return accumulator - } - return accumulator + currentValue.balance; - }, 0); - } - - setCurrentLvl(currentAmount: number) { - const index = this.lvlPeriods.findIndex( - (item) => - item.start <= currentAmount && currentAmount <= (item.end || Infinity) - )!; - if (index != -1) { - this.currentLvlPeriod = this.lvlPeriods[index]; - this.currentLvl = index + 1; - } - } - - getNextLevel(): lvlPeriod { - if(this.currentLvl == this.lvlPeriods.length) { - return lvlPeriods[this.currentLvl - 1]; - } - return lvlPeriods[this.currentLvl]; - } - - getLastPurchase(systemId: string, token: string, customerId: string) { - this.purchaseData.$loading = true; - this.wpJsonService.getLastPurchase(systemId, token).subscribe({ - next: (res) => { - this.purchaseData.lastPurchase = res[customerId][0]; - }, - complete: () => { - this.purchaseData.$loading = false; - } - }); - } -} diff --git a/angular/src/app/services/wp-json.service.ts b/angular/src/app/services/wp-json.service.ts index 09e2f10..c05b001 100644 --- a/angular/src/app/services/wp-json.service.ts +++ b/angular/src/app/services/wp-json.service.ts @@ -4,8 +4,7 @@ import { HttpClient, HttpHeaders } from "@angular/common/http"; import { CookiesService } from "./cookies.service"; import { Observable, of, switchMap } from "rxjs"; import { JsonRpcBody } from "./jsonrpc.service"; -import { DeliveryType, AcceptedOrder, Product, Purchase } from "../interface/data"; -import { ActivatedRoute } from "@angular/router"; +import { DeliveryType, AcceptedOrder, Product } from "../interface/data"; export enum Method { @@ -22,7 +21,6 @@ export class WpJsonService { constructor( private http: HttpClient, private cookiesService: CookiesService, - private route: ActivatedRoute, ) { } getDeliveryTypes(): Observable { @@ -42,18 +40,7 @@ export class WpJsonService { } getCustomerInfo(systemId: string, token: string, url: string): Observable { - return this._request(`customer_info/${systemId}/${token}/`, 'GET', null, false, url).pipe( - switchMap((response) => { - // TODO: typescript compile optional chaining ('response?.customer_info?.errorCode') without check ('response.customer_info.errorCode') - if (response && response.customer_info && response.customer_info.errorCode !== 'Customer_CustomerNotFound') { - return of(response) - } else { - return this.newCustomer(systemId, token, url).pipe( - switchMap(() => this.getCustomerInfo(systemId, token, url)) - ) - } - }) - ) + return this._request(`customer_info/${systemId}/${token}/`, 'GET', null, false, url); } getLastPurchase(systemId: string, token: string): Observable { From 3ff34525ed27bdd46b9c0f9adc0787015cec2852 Mon Sep 17 00:00:00 2001 From: nikolay Date: Fri, 23 Jun 2023 11:06:28 +0400 Subject: [PATCH 28/41] =?UTF-8?q?dev=20#14384=20=D0=9F=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=BA=D0=B0=20=D0=BE=D1=88=D0=B8=D0=B1=D0=BE=D0=BA=20=D0=BE?= =?UTF-8?q?=D1=82=D0=BE=D0=B1=D1=80=D0=B0=D0=B6=D0=B5=D0=BD=D0=B8=D1=8F=20?= =?UTF-8?q?WPA=20=D0=9A=D0=BE=D1=84=D0=B5=D0=9B=D0=B0=D0=B9=D0=BA:=20fix?= =?UTF-8?q?=20logout=20and=20login,=20change=20ios=20header?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../last-order/last-order.component.scss | 1 - .../components/navbar/navbar.component.html | 4 ++-- .../components/navbar/navbar.component.scss | 4 +++- .../components/navbar/navbar.component.ts | 9 ++++----- .../pages/guest-card/guest-card.component.scss | 1 - .../pages/guest-card/guest-card.component.ts | 15 ++++----------- .../pages/login/.#login.component.ts | 1 + .../pages/login/login.component.html | 6 +++--- .../pages/login/login.component.ts | 5 ++--- angular/src/app/services/auth.service.ts | 15 ++++++++++----- angular/src/styles.scss | 16 ++++++++++++++++ 11 files changed, 45 insertions(+), 32 deletions(-) create mode 120000 angular/src/app/presentation-options/default-option/pages/login/.#login.component.ts diff --git a/angular/src/app/presentation-options/default-option/components/last-order/last-order.component.scss b/angular/src/app/presentation-options/default-option/components/last-order/last-order.component.scss index 6b2ec43..d63ac59 100644 --- a/angular/src/app/presentation-options/default-option/components/last-order/last-order.component.scss +++ b/angular/src/app/presentation-options/default-option/components/last-order/last-order.component.scss @@ -2,7 +2,6 @@ padding: 24px 16px 0px; & > h2 { - font-family: Montserrat; font-style: normal; font-weight: 700; font-size: 15px; diff --git a/angular/src/app/presentation-options/default-option/components/navbar/navbar.component.html b/angular/src/app/presentation-options/default-option/components/navbar/navbar.component.html index 733ee6b..3068813 100644 --- a/angular/src/app/presentation-options/default-option/components/navbar/navbar.component.html +++ b/angular/src/app/presentation-options/default-option/components/navbar/navbar.component.html @@ -1,7 +1,7 @@
-
+
-
+

{{title}}

diff --git a/angular/src/app/presentation-options/default-option/components/navbar/navbar.component.scss b/angular/src/app/presentation-options/default-option/components/navbar/navbar.component.scss index 5320bae..ecc2439 100644 --- a/angular/src/app/presentation-options/default-option/components/navbar/navbar.component.scss +++ b/angular/src/app/presentation-options/default-option/components/navbar/navbar.component.scss @@ -20,6 +20,9 @@ grid-template-columns: auto auto auto; justify-items: center; align-items: center; + .back { + width: 40px; + } .back-arrow { font-size: 16px; display: flex; @@ -32,7 +35,6 @@ visibility: hidden; } .title { - font-family: "Montserrat", sans-serif; font-weight: 700; font-size: 17px; line-height: 22px; diff --git a/angular/src/app/presentation-options/default-option/components/navbar/navbar.component.ts b/angular/src/app/presentation-options/default-option/components/navbar/navbar.component.ts index 3441fef..7e76690 100644 --- a/angular/src/app/presentation-options/default-option/components/navbar/navbar.component.ts +++ b/angular/src/app/presentation-options/default-option/components/navbar/navbar.component.ts @@ -1,11 +1,11 @@ -import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core'; +import { Component, Input, OnInit } from '@angular/core'; import { MessagingService } from 'src/app/services/messaging.service'; import { getTypeDevice, DeviceType } from 'src/app/utils'; import { AppleWalletService } from 'src/app/services/apple-wallet.service'; import { CookiesService } from 'src/app/services/cookies.service'; import { MatBottomSheet } from '@angular/material/bottom-sheet'; import { ExitComponent } from 'src/app/components/exit/exit.component'; -import { Router } from '@angular/router'; +import { AuthService } from 'src/app/services/auth.service'; @Component({ selector: 'app-navbar[title]', @@ -24,7 +24,7 @@ export class NavbarComponent implements OnInit { private appleWalletService: AppleWalletService, private cookiesService: CookiesService, private _bottomSheet: MatBottomSheet, - private router: Router, + private authService: AuthService, ) { } handler(cb: () => void): (e: any) => void { @@ -73,8 +73,7 @@ export class NavbarComponent implements OnInit { bottomSheet.afterDismissed().subscribe({ next: (val) => { if (val) { - this.deleteToken(); - this.router.navigate(['/login']); + this.authService.logout(); } }, }); diff --git a/angular/src/app/presentation-options/default-option/pages/guest-card/guest-card.component.scss b/angular/src/app/presentation-options/default-option/pages/guest-card/guest-card.component.scss index 2a24b0a..c4b9e03 100644 --- a/angular/src/app/presentation-options/default-option/pages/guest-card/guest-card.component.scss +++ b/angular/src/app/presentation-options/default-option/pages/guest-card/guest-card.component.scss @@ -104,7 +104,6 @@ h2 { font-style: normal; - font-family: Montserrat; font-weight: 700; font-size: 17px; line-height: 22px; diff --git a/angular/src/app/presentation-options/default-option/pages/guest-card/guest-card.component.ts b/angular/src/app/presentation-options/default-option/pages/guest-card/guest-card.component.ts index b2cb925..f216f42 100644 --- a/angular/src/app/presentation-options/default-option/pages/guest-card/guest-card.component.ts +++ b/angular/src/app/presentation-options/default-option/pages/guest-card/guest-card.component.ts @@ -1,11 +1,7 @@ import { Component, OnInit } from '@angular/core'; import { MatBottomSheet } from '@angular/material/bottom-sheet'; -import { Router } from '@angular/router'; -import { Observable } from 'rxjs'; import { ExitComponent } from 'src/app/components/exit/exit.component'; import { CookiesService } from 'src/app/services/cookies.service'; -import { WpJsonService } from 'src/app/services/wp-json.service'; -import { environment } from 'src/environments/environment'; import { MessageService } from 'primeng/api'; import { MessagingService } from 'src/app/services/messaging.service'; import { DeviceType, getTypeDevice } from 'src/app/utils'; @@ -25,16 +21,14 @@ export class GuestCardComponent implements OnInit { constructor( private _bottomSheet: MatBottomSheet, public cookiesService: CookiesService, - private router: Router, - private wpJsonService: WpJsonService, private messagingService: MessagingService, private messageService: MessageService, - public authService: AuthService, + public authService: AuthService, ) { } ngOnInit(): void { this.showBack = getTypeDevice() === DeviceType.android; - + this.requestPermission(); } @@ -66,13 +60,12 @@ export class GuestCardComponent implements OnInit { this.cookiesService.logout(); } - logout() { + logout = () => { const bottomSheet = this._bottomSheet.open(ExitComponent); bottomSheet.afterDismissed().subscribe({ next: (val) => { if (val) { - this.deleteToken(); - this.router.navigate(['/login']); + this.authService.logout(); } }, }); diff --git a/angular/src/app/presentation-options/default-option/pages/login/.#login.component.ts b/angular/src/app/presentation-options/default-option/pages/login/.#login.component.ts new file mode 120000 index 0000000..f3c7064 --- /dev/null +++ b/angular/src/app/presentation-options/default-option/pages/login/.#login.component.ts @@ -0,0 +1 @@ +nikolay@arch.6700:1687496762 \ No newline at end of file diff --git a/angular/src/app/presentation-options/default-option/pages/login/login.component.html b/angular/src/app/presentation-options/default-option/pages/login/login.component.html index 82192cb..68842b1 100644 --- a/angular/src/app/presentation-options/default-option/pages/login/login.component.html +++ b/angular/src/app/presentation-options/default-option/pages/login/login.component.html @@ -93,10 +93,10 @@

Не пришло SMS?
- - Отправим повторно через {{timeLeft}}с + + Отправим повторно через {{authService.timeLeft}}с - + Отправить повторно

diff --git a/angular/src/app/presentation-options/default-option/pages/login/login.component.ts b/angular/src/app/presentation-options/default-option/pages/login/login.component.ts index c1299c0..88a1f40 100644 --- a/angular/src/app/presentation-options/default-option/pages/login/login.component.ts +++ b/angular/src/app/presentation-options/default-option/pages/login/login.component.ts @@ -26,11 +26,10 @@ export class LoginComponent implements OnInit { code2: new FormControl('', [Validators.required]), code3: new FormControl('', [Validators.required]), }); - private inputIds = ['field', 'field1', 'field2', 'field3']; - timeLeft: number = 0; + private inputIds = ['field', 'field1', 'field2', 'field3']; constructor( - private authService: AuthService, + public authService: AuthService, private router: Router, ) { } diff --git a/angular/src/app/services/auth.service.ts b/angular/src/app/services/auth.service.ts index 6697b58..9949530 100644 --- a/angular/src/app/services/auth.service.ts +++ b/angular/src/app/services/auth.service.ts @@ -100,6 +100,12 @@ export class AuthService { }); } + logout() { + this.userInfo = undefined; + this.cookiesService.logout(); + this.router.navigate(['/login']); + } + sendVerifyByPhone(phone: string) { if (this.timeLeft) { this.messageService.add({ @@ -175,17 +181,13 @@ export class AuthService { RpcService.authService, true ).subscribe({ - next: (value) => { + next: () => { this.router.navigate(['/']); this.getUserInfo(); }, error: (err) => { console.error(err); - }, - complete: () => { - this.loading = false; - } }) } else if (result.code === 230) { this.messageService.add({ @@ -197,6 +199,9 @@ export class AuthService { error: (error) => { console.error(error); }, + complete: () => { + this.loading = false; + } }); } diff --git a/angular/src/styles.scss b/angular/src/styles.scss index 44c615d..f284643 100644 --- a/angular/src/styles.scss +++ b/angular/src/styles.scss @@ -135,6 +135,22 @@ body { border-color: var(--button-text-color) !important; } +.mat-h1, +.mat-headline-5, +.mat-typography .mat-h1, +.mat-typography .mat-headline-5, +.mat-typography h1 { + font-family: Montserrat; +} + +.mat-h2, +.mat-headline-6, +.mat-typography .mat-h2, +.mat-typography .mat-headline-6, +.mat-typography h2 { + font-family: Montserrat, sans-serif; +} + hr { width: 100%; border-top: 1px solid #BDBDBD; From 03771d2012650e128ee96af6d89af5c809a8aeaa Mon Sep 17 00:00:00 2001 From: nikolay Date: Fri, 23 Jun 2023 13:33:02 +0400 Subject: [PATCH 29/41] =?UTF-8?q?dev=20#14384=20=D0=9F=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=BA=D0=B0=20=D0=BE=D1=88=D0=B8=D0=B1=D0=BE=D0=BA=20=D0=BE?= =?UTF-8?q?=D1=82=D0=BE=D0=B1=D1=80=D0=B0=D0=B6=D0=B5=D0=BD=D0=B8=D1=8F=20?= =?UTF-8?q?WPA=20=D0=9A=D0=BE=D1=84=D0=B5=D0=9B=D0=B0=D0=B9=D0=BA:=20show?= =?UTF-8?q?=20info=20when=20wallet=20balance=20is=20negative?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- angular/src/app/interface/data.ts | 7 ++++++- .../pages/guest-card/guest-card.component.html | 9 +++++++-- .../pages/guest-card/guest-card.component.ts | 7 +++++++ .../default-option/pages/login/.#login.component.ts | 1 - angular/src/app/services/auth.service.ts | 2 +- 5 files changed, 21 insertions(+), 5 deletions(-) delete mode 120000 angular/src/app/presentation-options/default-option/pages/login/.#login.component.ts diff --git a/angular/src/app/interface/data.ts b/angular/src/app/interface/data.ts index 5397296..bb1a3e0 100644 --- a/angular/src/app/interface/data.ts +++ b/angular/src/app/interface/data.ts @@ -206,5 +206,10 @@ export interface UserInfo { id: string; name: string | null; phone: string; - walletBalances: UserInfoWalletBalance[]; + walletBalances: UserInfoWalletBalance[] | { error: ResponseError }; +} + +export interface ResponseError { + code: number; + msg: string; } diff --git a/angular/src/app/presentation-options/default-option/pages/guest-card/guest-card.component.html b/angular/src/app/presentation-options/default-option/pages/guest-card/guest-card.component.html index d90826c..822a01f 100644 --- a/angular/src/app/presentation-options/default-option/pages/guest-card/guest-card.component.html +++ b/angular/src/app/presentation-options/default-option/pages/guest-card/guest-card.component.html @@ -7,8 +7,13 @@

Кэшбек {{ authService.currentLvlPeriod.percent }}%

- {{ Math.floor(authService.getBalanceAmount(authService.userInfo.walletBalances)) }} - бонусов + + {{ Math.floor(authService.getBalanceAmount($any(authService.userInfo.walletBalances))) }} + бонусов + + + Ошибка! Отрицательный баланс бонусов +

diff --git a/angular/src/app/presentation-options/default-option/pages/guest-card/guest-card.component.ts b/angular/src/app/presentation-options/default-option/pages/guest-card/guest-card.component.ts index f216f42..439062a 100644 --- a/angular/src/app/presentation-options/default-option/pages/guest-card/guest-card.component.ts +++ b/angular/src/app/presentation-options/default-option/pages/guest-card/guest-card.component.ts @@ -6,6 +6,7 @@ import { MessageService } from 'primeng/api'; import { MessagingService } from 'src/app/services/messaging.service'; import { DeviceType, getTypeDevice } from 'src/app/utils'; import { AuthService } from 'src/app/services/auth.service'; +import { ResponseError } from 'src/app/interface/data'; @Component({ selector: 'app-guest-card', @@ -17,6 +18,11 @@ export class GuestCardComponent implements OnInit { private isQrCodeClicked: boolean = false; public Math: Math = Math; public showBack: boolean = false; + public negativeBalance: boolean = false; + + get isNegativeBalance(): boolean { + return !Array.isArray(this.authService.userInfo?.walletBalances); + } constructor( private _bottomSheet: MatBottomSheet, @@ -27,6 +33,7 @@ export class GuestCardComponent implements OnInit { ) { } ngOnInit(): void { + this.negativeBalance = !Array.isArray(this.authService.userInfo?.walletBalances); this.showBack = getTypeDevice() === DeviceType.android; this.requestPermission(); diff --git a/angular/src/app/presentation-options/default-option/pages/login/.#login.component.ts b/angular/src/app/presentation-options/default-option/pages/login/.#login.component.ts deleted file mode 120000 index f3c7064..0000000 --- a/angular/src/app/presentation-options/default-option/pages/login/.#login.component.ts +++ /dev/null @@ -1 +0,0 @@ -nikolay@arch.6700:1687496762 \ No newline at end of file diff --git a/angular/src/app/services/auth.service.ts b/angular/src/app/services/auth.service.ts index 9949530..29b53b7 100644 --- a/angular/src/app/services/auth.service.ts +++ b/angular/src/app/services/auth.service.ts @@ -4,7 +4,7 @@ import { WpJsonService } from './wp-json.service'; import { environment } from 'src/environments/environment'; import { JsonrpcService, RpcService } from './jsonrpc.service'; import { MessageService } from 'primeng/api'; -import { UserInfo, Purchase, lvlPeriod, UserInfoWalletBalance } from '../interface/data'; +import { UserInfo, Purchase, lvlPeriod, UserInfoWalletBalance, ResponseError } from '../interface/data'; import { lvlPeriods } from 'src/app/app.constants'; import moment, { Moment } from 'moment-timezone'; import { Router } from '@angular/router'; From 7fa882e423730f1882dd9c48d0355ff8c0641da3 Mon Sep 17 00:00:00 2001 From: nikolay Date: Fri, 23 Jun 2023 14:36:24 +0400 Subject: [PATCH 30/41] =?UTF-8?q?dev=20#14384=20=D0=9F=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=BA=D0=B0=20=D0=BE=D1=88=D0=B8=D0=B1=D0=BE=D0=BA=20=D0=BE?= =?UTF-8?q?=D1=82=D0=BE=D0=B1=D1=80=D0=B0=D0=B6=D0=B5=D0=BD=D0=B8=D1=8F=20?= =?UTF-8?q?WPA=20=D0=9A=D0=BE=D1=84=D0=B5=D0=9B=D0=B0=D0=B9=D0=BA:=20fix?= =?UTF-8?q?=20mistake?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../default-option/pages/guest-card/guest-card.component.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/angular/src/app/presentation-options/default-option/pages/guest-card/guest-card.component.html b/angular/src/app/presentation-options/default-option/pages/guest-card/guest-card.component.html index 822a01f..89ef48b 100644 --- a/angular/src/app/presentation-options/default-option/pages/guest-card/guest-card.component.html +++ b/angular/src/app/presentation-options/default-option/pages/guest-card/guest-card.component.html @@ -7,7 +7,7 @@

Кэшбек {{ authService.currentLvlPeriod.percent }}%

- + {{ Math.floor(authService.getBalanceAmount($any(authService.userInfo.walletBalances))) }} бонусов From 8ea4a41786373bdf6322731edb59cd9de8b20296 Mon Sep 17 00:00:00 2001 From: nikolay Date: Mon, 26 Jun 2023 10:24:18 +0400 Subject: [PATCH 31/41] =?UTF-8?q?dev=20#14384=20=D0=9F=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=BA=D0=B0=20=D0=BE=D1=88=D0=B8=D0=B1=D0=BE=D0=BA=20=D0=BE?= =?UTF-8?q?=D1=82=D0=BE=D0=B1=D1=80=D0=B0=D0=B6=D0=B5=D0=BD=D0=B8=D1=8F=20?= =?UTF-8?q?WPA=20=D0=9A=D0=BE=D1=84=D0=B5=D0=9B=D0=B0=D0=B9=D0=BA:=20fix?= =?UTF-8?q?=20last=20purchase?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pages/guest-card/guest-card.component.ts | 3 ++- angular/src/app/services/auth.service.ts | 16 +++++++++------- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/angular/src/app/presentation-options/default-option/pages/guest-card/guest-card.component.ts b/angular/src/app/presentation-options/default-option/pages/guest-card/guest-card.component.ts index 439062a..54983cc 100644 --- a/angular/src/app/presentation-options/default-option/pages/guest-card/guest-card.component.ts +++ b/angular/src/app/presentation-options/default-option/pages/guest-card/guest-card.component.ts @@ -6,7 +6,6 @@ import { MessageService } from 'primeng/api'; import { MessagingService } from 'src/app/services/messaging.service'; import { DeviceType, getTypeDevice } from 'src/app/utils'; import { AuthService } from 'src/app/services/auth.service'; -import { ResponseError } from 'src/app/interface/data'; @Component({ selector: 'app-guest-card', @@ -36,6 +35,8 @@ export class GuestCardComponent implements OnInit { this.negativeBalance = !Array.isArray(this.authService.userInfo?.walletBalances); this.showBack = getTypeDevice() === DeviceType.android; + this.authService.getLastPurchase(); + this.requestPermission(); } diff --git a/angular/src/app/services/auth.service.ts b/angular/src/app/services/auth.service.ts index 29b53b7..e77e0a8 100644 --- a/angular/src/app/services/auth.service.ts +++ b/angular/src/app/services/auth.service.ts @@ -87,7 +87,7 @@ export class AuthService { }); } else if (value && value.customer_info) { this.userInfo = value.customer_info; - + this.cookiesService.setCookie('phone-number', this.userInfo!.phone?.slice(2)); } }, @@ -244,12 +244,14 @@ export class AuthService { return this.userInfo && lvlPeriods[this.userInfo?.customer_level] || lvlPeriods[0]; } - getLastPurchase(userInfo: UserInfo) { - this.wpJsonService.getLastPurchase(environment.systemId, this.token!).subscribe({ - next: (res) => { - this.purchaseData.lastPurchase = res[userInfo.id][0]; - }, - }); + getLastPurchase() { + if(this.userInfo) { + this.wpJsonService.getLastPurchase(environment.systemId, this.token!).subscribe({ + next: (res) => { + this.purchaseData.lastPurchase = res[this.userInfo!.id][0]; + }, + }); + } } getBalanceAmount(loyaltyPrograms: UserInfoWalletBalance[]) { From 9e7394e84845d3a9cf2ff51c1a3fc818fab34d16 Mon Sep 17 00:00:00 2001 From: nikolay Date: Mon, 26 Jun 2023 10:40:10 +0400 Subject: [PATCH 32/41] =?UTF-8?q?dev=20#14384=20=D0=9F=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=BA=D0=B0=20=D0=BE=D1=88=D0=B8=D0=B1=D0=BE=D0=BA=20=D0=BE?= =?UTF-8?q?=D1=82=D0=BE=D0=B1=D1=80=D0=B0=D0=B6=D0=B5=D0=BD=D0=B8=D1=8F=20?= =?UTF-8?q?WPA=20=D0=9A=D0=BE=D1=84=D0=B5=D0=9B=D0=B0=D0=B9=D0=BA:=20fix?= =?UTF-8?q?=20last=20purchase?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../default-option/pages/guest-card/guest-card.component.ts | 2 -- angular/src/app/services/auth.service.ts | 4 +++- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/angular/src/app/presentation-options/default-option/pages/guest-card/guest-card.component.ts b/angular/src/app/presentation-options/default-option/pages/guest-card/guest-card.component.ts index 54983cc..07e4516 100644 --- a/angular/src/app/presentation-options/default-option/pages/guest-card/guest-card.component.ts +++ b/angular/src/app/presentation-options/default-option/pages/guest-card/guest-card.component.ts @@ -35,8 +35,6 @@ export class GuestCardComponent implements OnInit { this.negativeBalance = !Array.isArray(this.authService.userInfo?.walletBalances); this.showBack = getTypeDevice() === DeviceType.android; - this.authService.getLastPurchase(); - this.requestPermission(); } diff --git a/angular/src/app/services/auth.service.ts b/angular/src/app/services/auth.service.ts index e77e0a8..e1b434a 100644 --- a/angular/src/app/services/auth.service.ts +++ b/angular/src/app/services/auth.service.ts @@ -87,8 +87,10 @@ export class AuthService { }); } else if (value && value.customer_info) { this.userInfo = value.customer_info; - + this.cookiesService.setCookie('phone-number', this.userInfo!.phone?.slice(2)); + + this.getLastPurchase(); } }, error: (e) => { From c9bcf3fc15e42f6825a1aa04601b46101af6f0c3 Mon Sep 17 00:00:00 2001 From: nikolay Date: Tue, 27 Jun 2023 14:22:52 +0400 Subject: [PATCH 33/41] =?UTF-8?q?dev=20#14384=20=D0=9F=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=BA=D0=B0=20=D0=BE=D1=88=D0=B8=D0=B1=D0=BE=D0=BA=20=D0=BE?= =?UTF-8?q?=D1=82=D0=BE=D0=B1=D1=80=D0=B0=D0=B6=D0=B5=D0=BD=D0=B8=D1=8F=20?= =?UTF-8?q?WPA=20=D0=9A=D0=BE=D1=84=D0=B5=D0=9B=D0=B0=D0=B9=D0=BA:=20fix?= =?UTF-8?q?=20login=20form?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pages/login/login.component.html | 2 +- .../pages/login/login.component.scss | 2 ++ .../pages/login/login.component.ts | 10 +++++++++- angular/src/app/services/auth.service.ts | 16 ++++++++-------- 4 files changed, 20 insertions(+), 10 deletions(-) diff --git a/angular/src/app/presentation-options/default-option/pages/login/login.component.html b/angular/src/app/presentation-options/default-option/pages/login/login.component.html index 68842b1..58ad660 100644 --- a/angular/src/app/presentation-options/default-option/pages/login/login.component.html +++ b/angular/src/app/presentation-options/default-option/pages/login/login.component.html @@ -41,7 +41,7 @@ Используя приложение, вы принимаете условия и соглашаетесь на получение рекламно-информационных сообщений

- + diff --git a/angular/src/app/presentation-options/default-option/pages/login/login.component.scss b/angular/src/app/presentation-options/default-option/pages/login/login.component.scss index f422997..7e84dfd 100644 --- a/angular/src/app/presentation-options/default-option/pages/login/login.component.scss +++ b/angular/src/app/presentation-options/default-option/pages/login/login.component.scss @@ -5,6 +5,8 @@ align-items: center; max-width: 600px; margin: 0 auto 52px; + padding-left: 20px; + padding-right: 20px; h1 { margin-top: 20px; diff --git a/angular/src/app/presentation-options/default-option/pages/login/login.component.ts b/angular/src/app/presentation-options/default-option/pages/login/login.component.ts index 88a1f40..6e19ef2 100644 --- a/angular/src/app/presentation-options/default-option/pages/login/login.component.ts +++ b/angular/src/app/presentation-options/default-option/pages/login/login.component.ts @@ -8,6 +8,7 @@ import { import { FormControl, FormGroup, Validators } from '@angular/forms'; import { Router } from '@angular/router'; import { AuthService } from 'src/app/services/auth.service'; +import { MessageService } from 'primeng/api'; @Component({ selector: 'app-login', @@ -17,7 +18,7 @@ import { AuthService } from 'src/app/services/auth.service'; export class LoginComponent implements OnInit { public isShowNumber: boolean = true; public phoneForm = new FormGroup({ - name: new FormControl('', []), + name: new FormControl('', [Validators.required]), phone: new FormControl('', [Validators.required]), }); public codeForm = new FormGroup({ @@ -31,6 +32,7 @@ export class LoginComponent implements OnInit { constructor( public authService: AuthService, private router: Router, + private messageService: MessageService, ) { } ngOnInit(): void { } @@ -102,6 +104,12 @@ export class LoginComponent implements OnInit { if (this.phoneForm.invalid) { this.phoneForm.markAsTouched(); + this.messageService.add({ + severity: 'error', + summary: 'Введите имя и телефон', + life: 5000, + }); + return; } const data = this.phoneForm.value; diff --git a/angular/src/app/services/auth.service.ts b/angular/src/app/services/auth.service.ts index e1b434a..2b068d3 100644 --- a/angular/src/app/services/auth.service.ts +++ b/angular/src/app/services/auth.service.ts @@ -90,7 +90,7 @@ export class AuthService { this.cookiesService.setCookie('phone-number', this.userInfo!.phone?.slice(2)); - this.getLastPurchase(); + this.getLastPurchase(); } }, error: (e) => { @@ -247,13 +247,13 @@ export class AuthService { } getLastPurchase() { - if(this.userInfo) { - this.wpJsonService.getLastPurchase(environment.systemId, this.token!).subscribe({ - next: (res) => { - this.purchaseData.lastPurchase = res[this.userInfo!.id][0]; - }, - }); - } + if (this.userInfo) { + this.wpJsonService.getLastPurchase(environment.systemId, this.token!).subscribe({ + next: (res) => { + this.purchaseData.lastPurchase = res[this.userInfo!.id][0]; + }, + }); + } } getBalanceAmount(loyaltyPrograms: UserInfoWalletBalance[]) { From 142ece15de50286bd4744c962dcbbb07941819dc Mon Sep 17 00:00:00 2001 From: nikolay Date: Tue, 27 Jun 2023 15:37:52 +0400 Subject: [PATCH 34/41] =?UTF-8?q?dev=20#14384=20=D0=9F=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=BA=D0=B0=20=D0=BE=D1=88=D0=B8=D0=B1=D0=BE=D0=BA=20=D0=BE?= =?UTF-8?q?=D1=82=D0=BE=D0=B1=D1=80=D0=B0=D0=B6=D0=B5=D0=BD=D0=B8=D1=8F=20?= =?UTF-8?q?WPA=20=D0=9A=D0=BE=D1=84=D0=B5=D0=9B=D0=B0=D0=B9=D0=BA:=20add?= =?UTF-8?q?=20banner?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../last-order/last-order.component.html | 3 ++- angular/src/assets/970х250_3.png | Bin 0 -> 298207 bytes 2 files changed, 2 insertions(+), 1 deletion(-) create mode 100644 angular/src/assets/970х250_3.png diff --git a/angular/src/app/presentation-options/default-option/components/last-order/last-order.component.html b/angular/src/app/presentation-options/default-option/components/last-order/last-order.component.html index a5e4b7e..7410862 100644 --- a/angular/src/app/presentation-options/default-option/components/last-order/last-order.component.html +++ b/angular/src/app/presentation-options/default-option/components/last-order/last-order.component.html @@ -17,6 +17,7 @@

+ @@ -28,4 +29,4 @@ - \ No newline at end of file + diff --git a/angular/src/assets/970х250_3.png b/angular/src/assets/970х250_3.png new file mode 100644 index 0000000000000000000000000000000000000000..f523104966313c41294cebab74fec8c6991d37ca GIT binary patch literal 298207 zcmZ6z2{@E(*gigFi?X~~vZYd~h$MT65+zGy$u?T-yRl^(5-OqI3fU!On<4u;mQeP6 z>|@C~7~9y!nE(B#_xrxz|CqzkaXju_7 ziHP&!8Aea98}v%8>6&y)z0PAKlca5rzr&P#{VlfHFO^d8)&H{w9)5iw=p6Nc%j+N- zYKg0(bhC;GQC|fL*%S-LK7vp{h$fdZ&n5Uj!as`fPdbVb!!*yc)YybPFZktzZC;kF zs2>-$=-QO-?7dH6fx*08P1J;l?+r~+CY@zEUe&#qKAIPTbD#&7lQX2OZ+)=M$af zqPiplm-4olUZSXAFwUzlutM*cOp#sVU+M9scrr1M+WhT;784A{SHoUgvnx!|?4=knH52Qghe7Sglq=JdFe<6FF*vUnDHq1R&nZwx3d?03fd#7m##Qa6oQjQQhn*8B!M>LO zRxqMrFc%PVD(B)V@l3Vns-cTyuLDzv9Q(cW5f$((95OD;lOr&g#pE7WPQV>Fa^07f zPt3gvgl~A`al?muJCC>+VgIrW#_zW*g2x)|fB^+d`&#KqNUEBg0BPjWCh@;ZkBXr8 zS_q|A%26Wsv=4h*#DM$rS0R_>@uCKpdNY}1PWkvsF@UF~Rz5G>>~@|e)WUe2i{V}L z_;?zy{KlXOqPUB)Jy+SmO^R48WY>Z(cu5$n8B6P%+^yg>K7VVFCLeNd(*OEQt5HTO z+7}EfLd}v`sfnrCJw|nN%D|AqLM(=2Y)W}`@1p5rLjN3odjVKAF>jeVlIsN)21__; z=!k(Q*K8Y@k>@$VuojQY5mO@Mo*Epxi^#ku@E>P|;|YH9CNEqNrfxbvY^iOtNe`A) z##*IF{lPOz(E+`IT=ST;pYWDQBY`z&y@jl>s8%wcbVYjav=kICk-S*vf#beNt=jG{ z_Hw|8KTYTN)X+CHK@QQtel=fdKY(r%e1Q#HAa6-27-7r^XlD+WFR|TZumGWGCJWr^ zgf%%ig5L8exRa>?ldvy7M*clQ!}n=H9L!tfc7Kci-Y4Nq{~ew~Z`tfXvs7oR3OKqV zR^deqFcm;4wXBPRUu(R=`}lVzN-r*|l>(!I(V{dD{yjCe;Yc0%(7AH~JkjWt(@xTn z3SbIgNFIuRe$8EQqfr9zeLYB4UcCJ#h}jAw7N%GhC{`>E%*a1E#|mfe2>bw%Q~PTs z#sW@6Z`NNwW6by2=S?KAwZ&w)(*_T@($M@IOkMOl3#kbSjakKD-dRV+hOi7cV?j#M zv}M}4CxapON4#BPoV-^H4?3HUR6@b=VXo$r^Ww3DL3t>+lT%T{G!s{~{#>AjF7Wq} ztqaxt0m_g?d7>RxeLjq>$eSX|4!#Z8MFob`zFpx0-x!%<@!B}wobgJc6SSZM^5Ac= zg>D7hg^9+#!<=WT^@zvL7oM17g#E)+abV&90gRaME>bx`gg|huvkU+Fn}b2V_;se+0S^+ooIc5ZYbenHJn+-036r;^4hRkNW(SZ9#LI4jj>k& z0RhwK{LW}znL;!pRuZWWo`i?wLdc(gwH&quGW{C>x-YMXf}srF_x784IWD^)Pvan- zIqtLqK-|Sm!J}h(kJxU_0Q;wuk%at)<^W?xCt0#pd77b=9MHW`x;r>><-hA*;{k3Z zKuM{MaS#7nO|B}fB*4}XTU>MSnHnt|U6-70oV zK3MxCTNpzx03NXe#>IVH}O=V@wPOeQ8Cc`sWp?0GfuZ zKxW>+``c6A9|ljtpVAiVEbScaXWOaT1l%N3FkUffr|^CHIQ8N}Kk!YgHr%(7>8~IDH)J-ie4darLlr!H zNCSexsPBSxru*_OF9;NS$UMMMG{e>3dsyxt#MQ`>FF$^sv)u)p1Zzu%(6((m;XF)z z+*0Y*Jh*1T{b;ieAHLL3k+VGwCf3uP2ol$5A0i08D^(8+l`2%BnTel*%ckaJ<9eXL zYc-6T0Cgi)2*Sl?LsZ{D_fe|A>1)Ek+z{xsHh*C@hq!^*fD$U4m>-y4?`}Qsa~xLt zj~h|YWIg~uzYFzP>H2+gTTK*Ojai0Ovb-Aj;l|9KG|!;}T>cN-Jb(1D4&OJkcSNNB zMfw{QFuTa5Ll?>vD3&^X2(ZODXD1n75fL*5MDQxy3G)mcK&moigz*8B`H>Z&k_6&> z{rmh2ELftOP6UA+tkLJsJf{5i+nC&!+r$`JHLAU;!7Q|jga-KgoK5$xP{XWyR?fIX zOylj9xQSvCns&i0!ZH|wT#-kA=HMD&zaHk^FrIuOI_ggZ$h?QhP0slDyYj_%U=yr| zcr?zb`d=Kyi(-wWvJb0|2Jc~7YrRFv?mmTL@#RcvX&7W&nSz6M6K1=S+iI|hQ5*D` zO0b0dwkz`!#dx>n1C2TstU$lq9&pf^Z z;tXQW&$sY>-!aF>);$u8>(iR?Sjk440ISypwFQWv&(ek%jUAuYasDfO03s3? zFwbW;4ha9kRz*qNI2l&(NOjKJt3Ev|-C@ff6~zY}6{bgynn7t(Vv4oLlJ|~_f$9c$ zYdpkxvKLD?>o*tbdvpP6fhVkaHgJ4Wly^nJCeD)b19ED#z^ykIzS5)3yzH?vdl2#M z`qtzHS`-mDid4)5hyUR^6N955ym7k~rPjgu?wg*63CIUWK3~!D-yGRt*@CIZFM0ac z1PHVr0rS54`zsyVEXIDDtG}?=3^v?09{{fYSNa@p=IDX zFj&g+aM(&0a7OeY4mMAK(86O&;c8%V-xkc70T2Gbi~6=X^cq2H@mvtfp}+=l=Q{k| zN;Tq-5`;{ zh`V{e1bUp8$btDX#6$WS84Lkp-z=7~cKy!bXlhe0>Crf6=V`HTwGZ4T0Y(SjD&Kp5 zrNX*3;xFlT`E9zh7h0_(B%)Y72H|gQ0clKFU<2IT8sA!EDq`>%vfHHW<2t;iXC z^Q*={<{z3)&`srVnI51kqHxrT&qL`ok$%5J>#!-X7uY+Y*>(!R8Z5GnG;knTj}5=? z-01_Jz?Zjdz0!qtR=fp^mgcGmFeGz>t1z{xGI}&9m8K^(cT=rU0sI zu*k;$|2mV{YidZpN{=#WS6f3xC9)4~Dx25r9tsoD{$sK#KK=i@#)9m%L=dJjoF5AH zDz;MP_mBs-!S7^lfTSNdZivTg2cYxw+x`GaDqafRop{0;xZw6-;5PTN(WA%U>SmdE zK*wQ1=8`oKWHdJbyQle{y@!ioms_nt2F*El#4lz+zwkMQtJ_hPD9Dv{b=KD z!0$KM|Cy6e{bO3R*mo8@YHti;wXlsGi5fj8~qYOR;8@WE^d zfJ6s3iolJlQw;EAKVlLQxWxO?3c>LZWNX(CNfS(HIN>n472z1|!+8II=D}S8MmS*! zjI`G)hWqlD(s{eSL~EnC4-=RBaGj^@o&Zyu083JQZgmt&y%-nLd0!&QI`ImumFdtpZ7~Li@QhpV$=hP6t$%!2 zDJ>MMyzmNtKr4{4$^?y4wo2sS4KO=Qz1_b)yXA^ht32p&r7|)e0ehN`mf2-Rt!F)INR4+GmzTe;F;zN$EoUANwP3K>a3(lqA;!7;Z>mkvNTw)WS|d53>^3Z#Z@v?GBA% znCEW*o-1^i4DvPZg;J*mftg`#S3=OvxU~=Uuf=a2;syi8ZKlZ6E&?XP0z{s}^sl|E zceM744%Fqq5^i&?_}_sPje5YjU}E(lXk78606toQz!r&l1Q9U{X2AZT)&~|H2CV3V z^v?lz27U;ckjz(ip9h*0OzS%&VnAK;f0#J@2eE}}mzbe3Qb1z;T}NFA3a5{}1BR&m zb$gY^=-jbGl%{rt=>A`cA#AoD3)M*%zrn2j#pT0f?18{0(O3|sF#_D#i6#6gz_dZo zG-6lYUWOK65mW}1Hb|^HQAiKm99T}CosU|S-U_%W<0;YEy$se|G*#c zGzQwY>ZePdk5&h?4G(O9-pl&XK<4Mc@-9@GmG)zDL6>nju@_*0uO8YbFB?jB0P zQUKb0|GjY&;z~HW?})t?7q~6d|95WdGmLBE0g;>Xah3QWE?|l}^-4&xnTuRVQtwmw ziuO*?oBk=+^5(jusYfqOjP3JbyrPJ?TKJHZt%?I|f%%CEI#?S9UhZZrUks{@C|8AN zBI=Kn0b@E^XK%swN4LxG0(qAlu*>N`-;Ya+a`sCE&%e5at64w0?DP8qxl#|QoG97J zpq4RSxEZWZis(Mj`V`!kg)d@yKtR_|i{4zW!3hNS$tZ4-HhkPu-LaDLv?UGOXL6To z#Da(2v2=mcbF=L|hqa(b^{^H&aYN5vcnftowJIJURBYTl?+M7xxq*bS7)1It$_|r% zG;azJ5iikEU2TzwqS$h+Udt4@m*0dH6t7J+^tpdAuWGU1F8(BTV9fPX(Xk}v*6<36 zy~~ro1iL#o|K&JL%<6x9z;%d3BJMQkAk`lpRZ?TzLqlxfQ6jeumA!jz%XKQ?2782d5iP6r?^)~jl?bSB@7SiUCy;Zk(kjyV`q4|vmv6fhD`0{&Ocu0}7 zR%ZuyM+QO)rjGHQc{-e>L1STC@l$c>78dB2V8~h(Rgf0Xa$0P3d?#9%_X zN*0Ag1L8|iaS$mQUNL!|A&NzIS+kht#h`a8R;L!L@gCpHS2w2x$5JhdNkbvFLDRN) zjhBT8R(ZNY>5jG?r{VYv>-pH@7I!Pj|5oq)rb)H8$nuFHzXg53Ay~mUZ@j?PK9Q)< z29IDG3jr!>CZSs2ux9HpzhDUO`_}XA{e(pc`2bC{%(B*G7u4u(JicmLoi@@xaM0=J^O?u(w4%7frE?TzrxJP3VSpYlq|4iqEhQxr()qMH z(ILyzBuTwqW2KQ^TXHg$Ma|M9#7(U8_-P=CMQrg@=Nv#aD6laUAO(Z|w0!?aIoMPJ zE9sAN=>FZN3=;Kly`k04%St^1!6){*eiBu#Zu}0}^~E;st#JsRIlcH|KycC*Ce&dX zv{W#>hZ+=pyIk=k6Ag1YYYK?e$b}u2?7;MApy_nnGIS5AHUtl-eewhIiH`G(M2*H- zs0?tX0*at!%|Du+tVFpoJjTxfZW<0iY^q6CF7uId^pw8Y%_v^+g3Guht(bZ-n&k%3 zK0{h=7Jm}nPu5+GB*$f4qL4EdxFa43!(@y*6G;00Q&j}E!1Sjd#!w@R@PS4jqr>M~ zZjD_&$m7cY*`~OCO>+$S8C>Pe$xHiCv0iLwi_gA$2n(Gz*1sK$Wnoe};;f4j$o0v% zFKV6`V;HAU{U9tdn#9s2N+Hd4E%O+u0D*mjNOCVJfgEGh287-4cM38YWcWVR(ui2S zgeaByXneA-DaDo8x$u!g+g^59S^|}GFekuN+cR}!P(s3|z0aLO`h2imNFAt*bu>@I zOGkn4T;BT+dR1IFYnlM2`_Ewh=g)m95IRag8QYPGD1{Wk{8c6&C4;biqe^g$Kl>Oo?-l=5`04G`_Wov%&tnHzu)r4cIWnal7Rn@>z{WjDmQcg!b;6=y0X| zy~<)o+z@sC{u27Kf@DuWIZc=tvL-IjQiJTjr+{79nZtIo@fv+s^jNt}-g=H^4{YoV zK`9yGz(ZgbS*e;}>jK0*K#cs4rl6UMOGxZd>nJw`-`b2wb$5Gd@8=#6f`y3)!Q?Kt z)%jC^yfWw-I&2F)Z|^IT((0TaVYzRsN5RJyQ|Fg0|Ce3i5Yu46%l(&N>8~K?=}$x3 z3;BJJltKBl3K(AP=t1Lr=lrfUJQZ$6MrIk8YismN(06q8k~&#oeD@fiR5}fIG%Y-; zwz6xX|K6z}qshu^^wMeEfsAyZvsfE`R*Em#i-Gtum~s9?pl)$q>P>tgSpomcM$U`+ zDaayp1bm2x`(BTsy}atxpTe62Ei$dgz>T!@`S)h-m2@u8N>KBAO2Ntwa!-zgH*86G z&6jpo>Ht~x|LTUY=xYGv&l&&@Nz}6j5pR+898?(h0YLP3H*jCZ#vVYPT2`u=;`4W1 z#NoGzg~LTO!N<3kz4Jgbe~hlcOlS$qm%z+lKtjSqM3go%3PA*djwr_j5AOyd9<+`= zed>H0j{!wtfKBO(S2_dCl56G+{`T~tkXGuCTe{-&teLl{??y#DP#`1G=seR@inuH) z%0Wh7$!m6D&xL{)Ky&v_3vOPd)+!kh8_J=-Fu+(lwHe?WPjJ^fWCyJwLtZ&XCdZAw zF4c)IQ>Gwg&EnFCoLrVL-1pPpdKsEnT$xGPZ^K~E&+S`Z;czCW0Y7e7jyZIC)gPG9 zGcS$?_wp2e?9eKbM0$r%>@+Fb6u4)YHN-N+8R8+8N`q|SK3lmDy^qk@n6>zY@EiZo-GNK*S ziUH~IA4m<7q2V&xTX~(_PgpwHtBoR;aaNK%s|;XQlauhCdq@M@)?|J2ahX@j%IxROGZQI0l74U|q0aUg(0ArDXbvk>berdt4vX0oJW@xzvt*_Yv<#7D zFp`6?)6{wy0rbmb5O!J~V&|-sxFxZ}Sus^ZptQmrzrBdk6CDU~uDD}wpp@6R_6N>@BMfl0|MqdIG6BehX?zl zD1Y`eFf$uu=F{HCMcn#_tSSaaN~E?`9YpYmwS9V;E1 zt@`0wQMXLEOTRef(N4TnSvI3~r`a#8xT>n8c-KFb*CY}Bp?D!qz40z1dVw-n=z$Pj zABx0&L-ofm+j>e}nYn`5EK$0$Qa0)~;x4IV8?YCFW^=jTVf>&Gm#ukop^bx|BDo)z zA2)w8Z;fRJcV7{KP2)22hR1`w34R_suSzn9FoKE8bWW-=`aAVvKgh_+}R! z$8h07dI;U@1mW>T^W-_v`0-BxY9_cdy&)z0gx@#l4Gz4BcFKAL#1^1FyoQliN&SKcymd0q*BH_hsf)Iw}TvZ0)w_D;d>Q|aYhG4k(b+xtl; zdQFX;S~1c|^wP+osaHLGPF7wyy(5Wp8CLsiKU*)SK8MTFgqAEE5oY$N4iH=D<#Oz z39=L~odabAg>YK$hCpf3EMFt#_`gUkN_<_mpGjO$4`Gh=B&yzd{ov^eGOdiFdA)Kf zceN7t1DkP6e8%};l{A*YA8$3@wsDhBYXcMPaLR-yppowfA5FqDs8K=v5o~5a4^P-x zZ&&mq|6$SjeD~W<^;wQ&5WNI&X#`(~(k8FGWhJ?pN9u-xsv9NQ>#4KX=%N`1R@Mr-zn>PULCL4vc@(?h z(DLbN4_&-yhxLV9@{35rc&;!~RNhBI97hF$Bh}_E!s{5yzq_&{hiim&P*)zt%Gj1= z60=6o2s!vtlAHf#-DOaoFfwR5ingB)|CQ&;WAYN~Fb=gp<176YvUizoZIPAcElK-P+31mWc5IzO ze!z{I5+}#f70N(tkNg&^wy;w<%xZlI+eZ%Fs)fiKQrfP-*^PHl1uwZLv;q{q31Ixkug#T9m!Qv(Ez$dkQDyS7xz_i;98vx&XPzQnTUl({?e zB7YrUUq5wRu+^ixM=lPn+@{>(;UVnc^m3$*?qJ!SMZ^G-&e zTPN*{jXCXuZ9V7B`!f{&J_-u^`Jq|Ja_DaA9CC%Y-N?rtY46P(M?%tvYQa?b7#BNZZ`Kjx z%U8pAiuCPppXGvPPRG_?Ye&V7zE)kkBN7>36w!4iPb;c%)Kw;6`c`0oMo9~)_4P4K z`4=5DJLju2fln|iriO`^6IDa<;-|<5^~HAEwKe~W za?Fv>EcMs>d-iH_aZ3h@_Z7r@XtJdvLd)%Xvk&+lhIO`O=tF*NQ{GUZ*H6pLmJSG# z^A%vt9~>$uY{2UCT2_#eUgFmlZuKl`{j4CUJxTF#f4Xx&(y3)bjoC=-o9wsDoonLs z>Fwh5;`CJNZ8avAv=$HKcaSI@=Q(HxM?_l5>mc4^gqsUA*%p^%>~U1&pSLRAhfe5K zY_0`7_^PPI6c8{XVB5f}nA$j@T~ecpB@@w%M(U;~hiNmhB(zy#fU)7zr~G-Ra`tfO z&BRPZnNO~6xx4El(_$%)c*d4F4ooNi>-a4jRoG*hoA2JN%#bv~0^0P^_Cp5UgFjXi zbra<|ZKv%Q6XbLjU1r~`S(csQDA%JJ=lDV=#3s>VwzpIaH1<6rGe{ zm$|xNG#!XgtC)(S(0qKVK}Fxoe7tCT%-z@C>lZKcsgJXZSLe~lV`4>$5(`a{K`-U# zn0v@mDo2SD^!iHqCPc0zee#6UCr*Had53pNEIvM*uvSSNw_HNi8Qy-Qs z`y*#)5JtCyGA_>+KD2Z&$@HEm`Mvg%&yY6U{8s1Rkr2& zszqhLeGeFgX)GvIp~wS8Ezfu#~d$eXffAqvG=h$VR6i&3ahA$Z$lns4o2 zPQ0j{v{hxkdqkisu3y{!Oyvs2PaXMvnVzOi2>aTHoFynnYWpPTKgO6CF#O6qVBniU zl*gV@)IC-1bP=D~)tleOv%Sw^vv0YUU+S6rQWeqoj6>rl7i~}9OsiWy(0@(}@d^$;5q8YbPz zp^_J{c0=CM?u49&t6JFe)twx(@z`RfwdD=Hq`SR}+P1YblKK2NM^TRx_D#{(7%xO! z3Sk=U8M#zD5u+r%JoWtf@m7^;q<3WgO`b|_h9e)F^+cbVRmqC#k0mtMITi(!EC=4? zzMwv`0ng5N#(K236(ruMxhxv#Bw2*%B8z#v;bl1aae-VbHoFNN0kI2vGvFHg?oHZejeti%yrNa z{&STy+IroCVhO=EN^x_M(A_M3cs?LJh{=R97G_^PJ!!^+D>m3jFP!C$sG2Fg?z$*w z{4HRz)45x)5`G2j(oB=I`gd`18B7=tO%ZkJ#^J7^Y_pT6mUKV85zdks@#z>gSWDMu z*9_6dTDBZha&CPxU;Fgd$mM`j$N0b%mtTlEi)v zWHpU4KKP0qwz{erB%S_GA2ZF5bD?i9MQOY8dCu?Dlcr;PbX(T^%BJl(8lTFXrj@Oi z6~CssBUqg|8pX}`bXe_%tgP=uM`~7sA@Ynb z-qg-eE;!Fu>j>4$J~E2PbBT^A&T)4`$LY%_?pMk$vRj_E%yoZta#`E|d`;wu@w6)e zJyp&!Vn@%st~;(eaT<9gNn235y?uc1?ry5a+{N+c1qm+C2QQhP45s#D23* z&DBxhRWS|zy_A(Yg}CzBocc9lke73>kdSD%+qQ<7lB)9!%Unv>p)-Lyy_tE2p2sv{ z)|tUs=}lR~97STp_sjq;kcodkE*~p^`trBmo>_v9bR^!as6*BbllDqzuzqjpt2+UhpY0DE(G88VN8Htr{^hB2Y#pJVd{RZg-ZH z66zW3=-xGCFsiQ0)pQP9C9k;h$`@4+dPflU^~2K9nkPcl$GS#cw|$Nz_OBb=*Si=w z(l&R^NysC+mE=xX>{q?{%wlP`id(?_8+|?9fnRo+(;Cr(C;l!P-#CY_qL`aAS36}g zum>}U?(6U+;lg^JA5--=BzY>ix1|4&Wc6NioV7y|$~x>k#OUtdClN(Y>oz|9nHtW{ z`f6L<)rd@0#@ck#Lhyp%=mP_B_K7?AdYT3EjWbleG)L*=c?>LNzG7Fj3>68T2uBnC z#dYiRp||7gznomX_(J4@DR$N;w1DVSJ^M9>yn7FuA{z58<_$@%W?|-O&thZ|T8K{| zS7rr(j}BxAwjUai=MMq)O$ckrsUoKmc;N0va$gNO&Dj5!qp|v_A#i|awqZ|C zZLz{3Xre)^v@~=*@1WfD??}C8rqg#h$&WgVij+7DbMQR`@a6 z_i0`{>#@{hF^LO}w7WF={>=~1)43Bz{t=((x~$%e$R5qgWw;dkWz{^Pb@aHX18NA# z%w%)ZFJ05?fsFR!qjtr?LUvnoXv3;)(=!TOzvy53OJm&(QX5Q%#PhaP_pgS^h0@%w z7{B!H-&5OMvh1Up%W~C{+jlqy*ql*$zSXxOIdOUh7d=c4Npt0KHbnK>daHQUy!IyqwqU|GEP1kFB^TRC{v)$5M}pFe?MG1J+ z%xAvNwJ?K`q7RWwyN z>t4;yuNHR{SpVU+m@UKVc~$i7iiJI2Cpr3|%F6+#vB80Y z%AgrJ3wHe_fe;B}g`~5Md@+laI!O-O zgdI=d8V|0BFz2@s5$MYt#g1Yeye7267gaeNglVpN$)xJn@?Bghttm~dO;TYh4}^y` z>%xocEb2^^NRe>V4u56naZVePNxJy@BbuZ)o36YhN8gIg8G9B#&0+jT7AEDa3k3~A? zhr>By8arrLQ}b_*4d2;47``6#*3a=xdPeK^N0Q5SlJ6&c)huRv5=PNve){pLCjalA zo&D{`^||&~Q*3FFMM%B(D1NkH%QQxox7qA7U);CpEnlfCndZfW(vv+dV%yuHcb{I( z(|b6cnTNO};eIS{BTW_+bd*qNJG6H4-~2W6qpcrE>@Q}^1|L_=<*`L3GMVD4%7xT% zn8?2sYkn1Y#sl)6s8YHc4gZ~A9!f!v`Ft3tnmjS=U5CW}`tEFH8nqNq9JuRpkYiB3?t`%~ zX7{AeZbfi>+UQ((J|gO!nI5FqT|IbH)Q|MSM&x%U`6F$>wiL$CW9?wHPK5K9iE{98 z(-UVl*gRJ#{(4o=O_ftf@vV#_hRgCH?d8d587w}ju<07F%P75T=EGs_xgzGCJY5^= zV7qFAX=0xYXD8_#C|Yx``{oVDzaGhJiFB}q4{$B@8pW+x1XEETU(P)C?rU-{Sz^#E zZ;8&jKC=GKrxoGSu~?dSq4mcWMl)A@0_1m36{V7l`3!xW?Qvx6!^`8zk=GJ?-m(8` z)yup>GW8Mv}-JT_ugO1Y{rj$W_UHlMYB- zTzQ%O$iTdIty_M^?Qh{pd1As-&qu?j2rDUT>|yZe;UEE>4h0)MOHUD7rGA#Ff$@nP>7;%dEBDBiq+iz(elIbf7C$)%Sm8K-Thrn8KOZ&=4anYSoV zK%xg-^Wa_g`v=b^=+JT2r%An}yMIjltBbM^e2LXMV%>B9z(LPj+oxoVqm4!B9LM^Q zdb1AaHxt$0LG_Nz_rFdr8Adyr%^|p{8B4xN##iyVGaUOZtiv8Zrk8QjcP}n`(qlXm zr@wjd+_(yDz4GKQxvx4 zcG7z*ohh?Okp21iPyX!7+Uyk(dKprs`RIvp;Xi;3`{zT$rv${<^IyTaKoL)H z7PIRPc*P3F7Xh`yI8rex;5Tologa4iKrr*0*+w1T4QuJWELnc1b|bPS_DQm=a*EtahA7I?2XiU-8`w32;Ib>(rqt%mZ`uIrcb6LVZ_v?}Db)zRs&n6Jj zM`SV{UA{3Ezp}<|_VdiYCmF6SRAi7pZ_O1xo3g0)?FZ_v<9P{IAN8mAFh{Zrn@#t5 z)Fz=r7@&V*dlBAbc=c~*%iqoSyCQ6E64fKOzI_+;yHM`Ach(i)HBNgXCgkC!mvmBdHnUhp>)4dxV{@T1Ea6(>~9( zb7hlAc1Q?u1{*|C?7d^Cw)!xj{N{`Hip6Fc+Zr8s-z=KcY@)VntY zmpvH~iL;AV2_?VI81>=|_}~24Wq86i>Y>LpUGV%^s;?hQh$xS=EOFxa>bRzD_*T2o51F@UE{Yw>gHI;}gpScEb``V7Ik(^rZ|@*zB-Z^O4>#M6j7_vOn~aDyCB6`~y*=~X85v2U3|_y$ zmxz}}v+>NKt(flxTL7=zixQ`=-r>70;aL+noq7t>h5Qc+FE{@JwMYS~Mc~a=@YY0* z;!g|>*nmHI`!KIs(zWj|B>P+Di2A#Kh1(mCA)gtyj>Y2Hi8Ee{ykb=<_M#MI@#Fs2 zB$flhA={o=lDIX0g+u&S-gOSHh&B!EEf(8v4IdwfM#fAAt_H@jsvP6`ip*H7JpMX( z-SW8!$|$ZP@KeY#`?H^J*wPEccj2RJn!%H_jo2{i@^(0VlwinN2R6@(+c-aXGa>wz zb{(z2KNnkfTF$&RGTg%T5tq&|)ho#JM*2&cVw08|O9xWB66HF}Rgiw@aJH`&Dme@* zy{sNG@M^iluU!p!i#vfTvY|Q*Ua8?<7|>_^QXYnDKlM~SFt0LDpdh#h)cJew-Fh4; z`(sDV591b_o_+bag9yLw35True$n+m|xJ_A2hTcQyy1Zvl1xbL_MMQTs?l1cT%AkxQ z#PaSJuiWh)0p}WFuw#Ny-}*0;=W-v;zidF;pJ*FFa5Kv@Y-J1{xUnziku>~u97ocJ z3e<_oaBct0z}>4Q**$|cBCMn@wwS=&3|6Fi`Rd8&QIEzRpUCYZrb#I-*IVRLv!%|V z7n??(`7XjuZkP{f>76NCsNzg6U3Qgz`lc>;KzGQpt9DlT(TJab`N)zW#}|B2t{2}! zvzTd{5^kQX{x#wq%c5E?Z^!u#17VKlhMtiHzEJAtOY>GEbJ)RrnxbDp^c<;SE({(I z-X=wy33T_)>Wqn?T`_$dDVXbb^6ZV-?Lj8es^GOt7VmLctVXZ5)p^t|56s=XlL!}R z(&rkvx=8eCEWYw)4sq_WTjuuzg#Lq7?Sjxco!j@huTM)%nr~&6+o@0$U&5W}d~Evf zDE;-G-B)$N>>>p`%xYz>A?M39xzDS688fpCo)i&Rop0uu5oVA4^&6j1PkpIP+%L)D z{f`F-WS_45?w7I~+k8|ZWl=?U5nHh$b@+x7@NxrqLr05?=fl{&6a1iQ<%9eONMM_+ zjb}m^Z)C)>R`!b4*GfpyRfoQL!b}|r9l3nHkn68i2)z;lV}1=Cb!o-^$NmWWnrh$- z&zRV`ym_Sx18>)A1>VhK6X%{q>{xaohKyPC_I2MbWsGGJLq3|ne))sl>r3jaHE6mw z73CXxYlRfK)hfCqXCUyMXjpq`G+*S=-Jg5asLbPXuSj}gsmXxa(}J?^EsfI|I|46` zEUS3(_!c^pMDU|qwmIkr`AXwnc+DGeCZpre*O3oMssVWId=kYx04{o+>z1o>u+>rP z(mXkX7ZH>i(GD|&sA?D$~Lq7BZq@-vBbKE%zDrlz`fcM#z}YN(wVmIl`bpC-s4WFiJ*}v zT!ydqu;=A`p>pqW8XA?d`W=LA+}lvy*GeH0rtqq4l**){z@uYFzjg+;d-)1GbicH! zm+5_4)0}uoZuxVN<#_nofTg-x``p=(6QGCQ-5*?EVpnQ15l&7%sEe0-Yd!ICcDi6; z!+quDQnHc|UsAlZ3G`nK@Nm7A_^-%~@m-hS^;!6g<8mp|Ew%qoLIM?T=L|UCAf8y< z2~JqT#3B!U*oybMkxn2R8!GMB=3dB@-%vE#7n?fPF7r&%P*%>vYNK&{xTGnurJ#hkadRSdw3JfA%uOp`@okTG z@<6;SMP-p1i=WZCJwI#Z-#xr6FXC&KAdNipF@{>&RX}v-9pjv>?Aqm!qrap3MLWYs zC=N&r>guUC^Qjs}VtnzEV*fC|$7R6dh6$Nm^-LG;oXuTpb>kvz-hI!CeATL*=_^Eg z)el?5igJ0(P`Y0td1=R@$6zXB%2%_p(uDh?%ZR#Cm~qwGoPt@VyMu@6Kclf3@$eck zy^{@`+a5AQXRr@KYTsx|+wr8mZ#kc*w{tde+w@};+EG>5Z4I+PJx5IkbY8oI3=Y^` zWd_Qw3)Pz)M6a?o?TBgcdUst)TkZ66XX+bo9Yn5_(!W~zl(j;`qhZjoZ;b!Aa7f8( z=0nY5Y0Ve%UiBv5^~${)RL%8~_pbpja}dIDkhfn0T;+uLWs|$L-%dp-0(ue0#RfWJ z15UGh;iVPIz^2RO8#;;l0$$`q<>r3LhUDG=OBT@U`Ey7~B%o=`%vhr~&GJl%N?cCi zb7RhL`ryJGg8pZQnK>6mRND<)1JwO;bK%2NK{}tD8B5C<>>her@$U0HrK*9&H!#}9 zPu5v66i_?VTg=HMt?oT!)gBvfnHG-eVxDFSL5|=Xr`1E&%|%9~$EI2k3DL7!w20C~ zzc)`#pLGvJjFrZvm-w%w8i<(Z;QAG07SdE>S{O^W%n9p(X0qULsiKj&c$ZEKbJf z^H$VJp?md@Ye8qt7HTHb@t6F6^hy)_9BkDrsxy|TBUx!u+wH=S{(RWC#Rm7-S_4>R zfvC*0Ca=4PsA~Q%6P&P!>ie_LVqtr7#Yy1`A6(cg4~uoGzH1NqXveAv4BiMj3Q9fO zIwZ#1PP?M>(>-J@`t^T2Cyoh zMWGq{JA7GZnNn$c&_w9kh$a6=P z;F|Egd}PpKO))pvYpjvt zd5A}J=TsEyBE}LkzfV6RReXv{Z>A5Yq^7|~lk3SbXhUYjACqw|+47OVD#nL&WnRa9*f$vQ4?VU_*cT;7efI?^qn1O+W$H8?|nAfyp4+q?p^c!nbPM(PhK!82{N5{N8NcGXaIOrm!|^!!nh~qYS*a*Vv#71=6f2T$P8n{g zspJ;R%yaLoh3g?4cD(31mx3Dqm7eJqY|YT4r2*@Br8kfNKdQbn9L_cBIw86sQ4>8m z5xqpTAp}PvdWaIe1kvm0HCloo5#1<>5}l}{4H72N`(SioFnSxz7~eBF=e+OxU2|Q2 z4F7KTz1LoQt+m5ibD3|M;N^;{pX?iPB#%>?G|867E^+!Qyy!mWg>Ms!*jF)`&%)=u zAEzV#PLuf>EJwgBj*obNMqvu5b|K+mU-W%>(j$!F-+{|lFllp>Krp)hCV);Iz{gY6 zcK`+6#u&5>ZOEUp7nek3c)2_`gciXcN(S#G$~JFNG@A@H?vu5vleu9V0iRLc-Q%A- zhUkq8@9rPC>7#EclvZzy?r2M#od&&p+~^faW(@gC8aG^ImSiw*x8H=loLOU+ta{(= zZ@6`&PLEtF-MwP*dMIkd&R%~Dl$y|YSz=9|$7Xm2(yLFX5-c!;XnB2RphR&$q@$e6 z|87G6LpADmP!L$K3Dfse|2c#9t`JoxKF~L0_5`gHdlkmb~(9J=_h%?=9|eB z-bjpUVi(nEF$ zOzbzPFKIIy%{@?bXpR6EgYP3aYLq%y!TXVm?58Bo1!;b^nLkcMz}A+IBq_^?IB5Fk z%6Jz5!>y?^q67msoRSz>cN(F3y#sJ1&<_Cf$=^-GV2O6UHV7e|BJBH07h=%G-V~5= zS67>z|M-NTHf-1&efsoVC4uqc>H1^;2hibT!b4bQ;afI{Ke-H;+HG-zH&Uf*+XyI& zffyc}?T`Jw<=@kV{Xc&bc}<^`Hw<`A zt|E@w!)sG>UZ1CC6d}#Z_0T#f8StEdMH;9}Utd;dq&0MB`|RGYVCg*e*geH}y}yUw zC@|w^qk5ZZ9h(;4hMG}&oeHh3(5mYhR@4+=tJzG94CJy8LBf3I{K^mbq(8>4`fEJc zM!(8Le8TLRs$jpZ%NtJF?Kx5Q7lcGrpwsn4R?nP6cRo>G+TL6$9F@upWQ|x6GJmue zAkhfngG;dWi=wJNFw(3dqz*at+S1>}{@aJGucPuZe)U~r6GCSEgncKJqD;(C+oOLF z;^H2G|M&{qkG(*D>TF1V}#(A1+xwga5dDHmbM4XW8E5ihv$%#2)Cs{80zJl2x$mYD5#T^9BWs ztvYwf=JRH|D~@j?Uu025bdL^il+Qh@z$GhD+lF-(SUb)boVQDD!*4bxP3L!&Dv-6A zJ6(pzfm?oN_pmg$cqQF6aAKrsjLj!TUZeMX4qG3#n*h=B;gWKPqL!dkzid&Utf6Ey z4}$Lv`C1aH(Z4)lDS@9eZR5pReaZT6XyvHqZ+-fmxA5if6b*chF=_Db?BLFpxs6I{ z-hyq^j+-O%h2G}9w|jV&M|{N8 z`#FvK(bQHn^j%`BHP2+;j$M1QEN#>DB!*n|cc5-BYOdfqb!#PfTTlASPToHWs zFOq+12l(FzwoS8Ylmn36614{RQqB&gYF_1ng3AjYM>;qVerDQK=W@n9wu z^`aZQ={KM!d6%*50;@aB^=O`A^#B@+SZzzze!7nz2fI~%_7@QRm>|_EO-6Tc6J2z1 zUW7D><$F=FBAbnsj-rUBJao+UEnC7WJ%v+bzK8r9hIa`Z|=~=>=-PpDd)0!xUGy<@Rtmw&FDMMLXgKuj=YDl{)60%0p!g- z4b&WfoVsf(o4n8Z=e+U`{vh>5Bf^;et7A}_hA+X@D*b>jsO^t+8%Ur6=y-1=s=aau zmu40))FuwdAG?-^k+q6?x%lgk0*4Yg4kQRul9Pd(qg^-|Y`Teyk0x*zKRZY#-aN0(YMpJu<9ls%sM1X~CS) zDHmUQ!QJ3sn!a$N%K%uoo$S60?0RD;;2 zJZ>UN zRf+$Jqr935S7(F#(~XdU+_KZ)ig5TRPZCMDu^)Mg97t}E&27#%qGL z5zt88pxN#MRJi|qT%L-P4OH?RMc+lR!m3Z-$?!q|lf_ydG(>opVl7V+Z~_<^UP&z< zY`!mn9iIjiGaVnEEusI{Ka$Q#cnb&JLa=JZW#m3ohLOAXY$%yfzt=1JO zm5QOnJ(%uYB0&bU`-SqSmQrxDd@(rfWPb{=NK3V8(A<}BtCnb9me!T39Ig=*DrCz& zRxvIsipT_ulxe=Dcu~YBgJik04x0xjmf@@>{bgfOcS-1Hoj?xLc7=<7zg0LLY3g{) zRwja<(fR6=m?d4rHuY7ROEGrtcUMc7f!>Wd3k1L1ZKq%QrqM_k54#20G|Q;G3RiQw z-}C($q~kzHuT>$}W^7h_$%RMZla@MT;uq>*;K5Amc5)nbdjBgwk?p9u`;lSm6T88i zExlM_m_fHwRwMkP=rEHrKIYc^R2(-ECtFG2l9>lB@Nn-I1_{^{G@RNDty9C5NDcI$SKQpDs zPWcF(20^;`k$^iALTK(BMSppo=z3&9xU|5CjPP0X1AK{sR=}HilaTHstp=p+5Y&ks zavpQ#mrKDS>yI!BRT6=QRO;}u9Fwy9_&t!m8}1S0xKv>D;lU;n!Xps)hZ$V z4^#Hnn!2!h&!?H+pm_>DL{O^Pknege7^-|wAQ4p>%@gF7TEKQS=uQ<(`BHNNNnZRjvZ$ zY>=vhOd3~_M>(*}@WNS}Ce{5A{zmcBnNA%g$|vI{x)^_s9sltDl&|*ltCmMz#+7Z$@(!9t#-jBEgd`1S@+22SGBURZbX~?fT^v!w%~c zXf0Z35Jmw{Xv;t1PlE$~|Dt*r^2-HZL$GrK_bhZ%6+bUDn$;X}M)Yce!8&W%tz|v^ z`_-M?5I(CYt=B%HMwT{Kqig4ZXMO=L5ZU~~&;F37_GIW~D9Zu^G;6!m&uum*@cBf* z-z6Qcv97Mryq(w?N)orr9u~FgBEH|)Ty)(+6Rer9A?9zKwU7ej8XG0W%RI8>9vzH?IEd{iTDXAvO1OfFop*d z#E#F((y-_f^Njx2MvUD)tW}Wf>{GFy1Ia-zJf2}dKB|JU)qJ7mnJ!4{n5D#e+bfTW zbEz2NWAf?Ke&!bvkh?gW$wJjuU!m`aJXE`#w|0DY# zmo^~KQ~dxvg+R{_62eA0Mm(0#CheXrmAHhmx)xb}fU(*VMz%kNordO27A7VfQLzg= zd?D8P@gcs$x8(5D|NJm+msxZ{5+e4I>T<`aiaB<%eeX6gNy9oR6DTffIeuO(U{YEI{q$aj(fpE7Ht)sX{q>)Ts%*D5~2me8Kn zFD@)qXh){#Mf`K@;o^ytZg`7yg4P7ZkiN>Upl=9zIlXIUHowCJ*<{+#btbWdi)oE{ zk0@YPBIj44BIb^3TJke@Hu8b)NQB2WJz|AJn!}**uF^TlTmh3c{><5D?W7KAMdkAd zD^{@SgSk0vhd}w+B+3(Wzrj?+Xd|}9Rfz3A6mg9y1W~6 z)V|zwAftwY>X4FZ_y>Naprvk~cPl23`91VHz{2CY2?m12w@QrKV80IyX*xlh{c9&| zK+1j&%<=!+%&7OGWbA0R-=G8^%%k4__2ecP&b`DW+9!V#fdk~_QbD#UyCPI+GV{YPEHCbY zA5A?HXq_pg(0B+?BJ0;xmS+$!wCNQs_TkKnBI_VtJQg$MGa~!mtNQ1{OoCACiO2Pg zqCGZH&vffwe*EMD6EK^r^58eMw~cQ@<)j>A`+XK?3yJ*wuavlNaR|$Hq>vnke-RqA z39|LjG@0u@IMu!KW3Z-e36s)|HsGEgG^5kDQH7_-9_SY_n*LNzVn)2K9?m7AuEd%Q zMS3~KqV?O0Zy7e<*KC)VTiIdhebc^>@axNqTkfiyH#m89%D3S|c~o-0SK?U98Pe`) zSBY|nc_Vm73DA#n-wU^6l7J;7{=S#a42xG1X@bE& zNU3Aw%Zfzx4`>2H{Ew;My#szOG zNht@q&sb?R9;)CCratR;RGCPu2ep|>HBTO^!z(8n9Fa6Ok$GGKaZ^RmaOcY`x<9ko)UY$|43iXZj3Vd;l_>2 z>0!&C`Rt`%m+kFD2ut7;a`GEk1*Y%NoZJ$>SHtRi&?J9oQQ2J#b zpNlYiSh-(Q8Ct%Tup0TM#Dy7Q@i)Ixv~2@2|ILdF;RqtlUxvy{Z*Y23FK#^5(bGwY z8afIJMCS8m$M)NzN;(lKBu?GckLL|Hqf^c4$$mTaH3V;!tmmY{PO1#auZ{0}=(Wmc zTZGzuhc-ICzt0#z7S|quYLP3F$rZm1nopZCr%|4|( zfU&P--@5~$q22de*fkTpkJi8|#(zZ?7humN>I-@-VA3kPQALy_Gj9CN%#$dQG_ zGJfR*pTapeJ{z->X4ZIl`m?|eaT%s@De>Qdp9P7NU4>s~q_w=YULL4hs|^t%JmW2d z)Q*-XPmVu$2?GF(h2YfAfz6lYo}+{Dfq2Hh)F3s*CJI$mJ{$Jh7mv)EE_H()&pjU@ zw#n1`{Hxd|&Z=&Ykz6QNh>NflgnEEelBCdw<*e+^MF4pjIm;{9EnX>V-B_&#M zsSXFczcu3w<1&*#d2;oOF_4Qnb}>~RzHDlO`pK~<@>PA<9b{?=9?-`%fIYNtcUP;^ zKm3Vm=uJ6my)KoS&|>j^2EmoUO`@`SfV*DA{m@UL=AbFB#3+W`Hdz5lP7v3;DFvk-@5rFFFuTL)pior$(E027NTleG`#aj8)D$ z-?Uukesj`ZPD@pw^Ekk5I-`PZOs8|cVZnsfJ5W7{xl#J0>4Aqw$f!RB{3Vl%Ny^bx zpS>Ux?8mBGatQ}w7OzEOm%z79f0BTct1RT19f^pasBnWw#K*6x%_2^2&Vl~^`pU0= zwM`0BlQk)S;Ij;MV;;-$052b`%8);oQ$S4hdYrlxn?_{1cbckO%HpTu5UI!m8^C?F z3_UQK#qgMsjX8f|+g-%>9xf`N43w?j)Cn=dbzH0DcA*j3#`d;*;Ra8YixW8O92Y}` zWGQ>LlxcRyH|F)c7K*qM-{)$xMkp@rySIufcs16!8N_vaqJ6eO#-UrYW5?0;gbO-g zL-;v5njSGZe|$S*daetImowJ3*t`7NctX(T=B>&7!=;lO@q##mVnQ^pq&@`VA;c45 ze|V=5;ZUnG4hxBVvdL^9{x$WF0T1Sf5f1*Hh*@`g; z(+fLTP?$pg)p7O(bs1YI(g+9e*I}X*3TuFCCSQSMfez~Q2et+ zMAm1s`QOQk>Ib;(+^cTSXl-iQ+N5(aWFxP>?X(UONVn{RZw-gU#IE@?z0R3mp(<5* zKFtKT>b-OP7#KzUT*Yp?`&M=$KH0o(8=T4S^2G7H|NCsi;Da3FTvlfzUZlX_q4=X! z*m+=|uZ6hS@Th!ck)Nw^_j%`jYL!5W+0e|c+fFVtq4t4Dd+u_0eo`1;f+_U1+ghvL z>ZzJTtK@v5rmy7nHeq%xP~$*D|FAz>kj42CO%5hKWY`q0fWfRz&cJiOGdQ#mulRDO z_EO6~4|;c%%_b{pY`C~hPOONcB@(qPk(shd=Icn^{ zBKj3YzU3}oUE>l;koo#;Y;&ho&nVr_{4lg+evg=Nk{gO^dCb$=`&Yb@029KQE=9*j zAoh2&{7-J5bi4e?A_|D~;s74pz7JHUm-x#do!nLzHMh%H6Kn6NFy^safogWIcGcT= z*addR;XU$|$9DVIM%3-}F>T;|kcalt5SL_i<$9NJcYEP|7h}jaXVrQ#YsO)LxgfCrhZG zHh-Qv5FXFg`ZaUMDgx=kh&z7j1_D}GUM@8vvLFtY9Qx3&*RJVQ(|Rr#uy zVq$5+RzrFNmG)6b>9p13k``!&zkjWaKK@!ngHra2Ur0pwlGY9Q^Q!Im&+hM=kIa=% zT-8(|Q<8PB9G9;;6VHdP4&}DYgR!$~T28Tu!Ga-;sYZoK8Og2Y&4KzvcWsF!3Rd}k zmEjT{yw@naLDi)q;hIf$ z5KfpBcp&c^0+e8st31v5NeO+UChrpACYIP4o&C9}*!UPVOVkT#b-jgkL zF+7skJ-#eQcJG>oX?FWW?J4^^E1Ql;3+j=yofa{Ie^=ksN1z5^sUTxcueoq%d76BlSPQG%4neGrtGr( zS$S}h&$ts9{<=-sN9`(QHkOtMTvtM+)RKIk@Oqp44=M(5@hBt$@Y{8Dy)tz9Xi!d2 zmi_~n>8jlc-2FRXwl8rwa0rM>!&aPtxyt2+K<>#Bx}uCpyBHuV5+2b(qGnMjQ9^8>C*4plbXz5b z!W!lO#(LJS1^H-~)xdYf#Nw(ps#j9+iis<-L5X-kLeuK%m%8yL z7$?I?7Ufw8XL}f1>=DmgS-Xj8DH6%Tv3LKzoI#9j_JvU<6(muf`FD!BO|+62o})xV zAl{m6C`O+NVB3j`PjBhh1ByV>7ZSeoyiJ^em3*$|tT|0J_FMe*JkzcCF{ za~4K2>g>pmpE4#Fi9Jl5)C@;5$Jku;6pc)R@iVUXttK(vx#?fBP`y1KE)c^In_#t3 zAF&h@qyg4rFnIozlm8NseuxosU(4d`gZvov_;IJvMOY1OO0)ZU8g99#M2xVMF1W$5 zdptAu(^+nzbb>Oipjrh&b+)7e?K25*lRw@t8a-oUNj8021Ikrq=5@C)GpyFpq2c~C zuF~IAX$vH)6+1Y$H<^K7_)MZppzw>DBE+raT|+6nR&g@%UmMVBGO1|(9%sO2!9Mh1 z12zQcsT|MvE z+9k2efaC_o2E?q_ww4c`g}?g{nT?!P(Hih~%6X5h8+f$dLYIp2U&N^T53N-cU}$EG zWg=~QEuUb`Gu4}5%O`NA5U39n+~Oly@sB~tn#P#aYgqMi!B%AJ^2Gk-0ecl8>gHdM zg&-mD#m*TDrb;W)xY^ z*J?QveuW;+k}9GV9u3+ZV^CRgg^6x2F#G1lmh!RC5s^r8>iM_k=g9%ad%q-N7BRW! zk=I8ZgyV+1a)ylbg_Lhq?8T50-6meSg@ZB*@=>1jFd#J*46PRO4cN)ps780d5dKvz zXRiv+uzb08>vC`q#JT3O87i_&Let`dvEa{f(&Eduw0XW@MxX2h@TR*sF$^xSw=iey zOx$a$pf{Inj31AcZ7j9!mSwyslWCyerI)~H2guJUMC>|*8t67Qy3gxXKi;oRRwCIk zr?tAV0yj0Z+S+JN#qO<0ZcNQ6#vAPAspSr+nK8$|hG6da>5$TE1j-H^4-cOS5mQ7U z?gYENH~#fzZ~9&CFBZR&!hE{-H7ZZ;ldAQf<6+9DYvw{P`f8B%wI28W=grNH*jj($ zFcjR?wM>vy{rBnUGN9=AHe!Y;08R}6GfkLVg!psdyu<=85{my!OE1r{dSc$!*;;mf zOL@zk?jXKMq1go*$ki7%^&$DyVK0~*kSbjU9%5~dmDUv_*(9?@jY1&3jG~Aa&si!; zwS)~aKPR!}lv!VGI8YfmO21s;h*LrA6+60A%^JS+=3rBv*#0eMP&ozCsnbMRR}W`2 zJP*8pJ|>Pdzuf3mm^bC2V6x2gE^D21<-qho0Z85)WeJj!1!0aH?{K@0i32stn~mF>zW_~uu>-V z!{7|+RkQfFS_Vx(^{w@Zu*P6+F6Df-%Y&B09@ zwBMtqHec_ZabGa!up8Sc)*EKtC7FG0eaRutklvSToMJo1kg8n#@XNtHuPAzB6Dc0% zr?NH4CP%T~AIvWuS5|UTLQ5pg znOp}R=Pxu^=rP#2Jf|}h%r5f!1XF|loXx&_W}B%O#+5y$R^k5G13wms+ALrs;;dQZ ztjc|-VvA|lDxP+e6}2LzY!VC7@s_Vui?YcYQs4Z+vA1}A9q$$uLb4@FL72bDxtd@y@3rU+--XSuX}|ro zQgfD0TICc_zHwl%T7yb@Hj{ImJCWh@{`PLHWyHJPcQQ$>xqff0a4Em4)blgEo%xtQ zHe?P}Q1~J&?Ey2P?obI^I?HK44XFokrhZac;WGYJn_E zACn!RKL7Wrw5I9$W%X35?Pu+u&f||_n1EmD36*c-f2p2qX<%JOqR;#I&ATX5phskC zevhSD&z(PP4LQY6<6$fcQK8%KS1QGQa7u{6V;~FA`51mY9g()7H|92u?Hi27vwvcB>eqMT<@0);JQH_oB;i4W6(SIEj+Rz5En{R>`H9+I*9q1 za=5R%44Pk9hOL1!_Gfzsr*4!0aiRGMOg#BVmdiWwMLISt@Q)3$%}d3FF+#=>1~P`-Nw6(BP?@-a8kTukRJ9 zDZTDYx4U%!GQ*BPtB{cjIjnyN-vuEsU6N=u9v{WJM_CIfxSOUL{|_|Vu2{yJxNbK} zqgbXi{N67zm`G?0b;ueSF;zrjj7`IBT;Fp_J6=+*UJEMQ^k3=A^I|+A4!M%kLBh8!lT+1ehNSJ`{wAmiTHNWaM1S1C<(IN)r^r;CGWuS^&NIIGR;ft%Eifi|n4+m|1=uf3)MnUL= z-!4V>{vI+7&^(tnyUY1k^?<~IdWfM_JY*8pz)qw?-N10aRIX!<4dGa6OKrvC`+kna zlck8A?R90M{`7^=Zi}T!F6_j;cUyYLi&g%9FLx#`yCr6HH?4U(sb)YjOY9_cUg}HK zYZ>1bAD-s_>Z5un&FGe})z#Y$Rh$389m3lzM*uuUwXQ8d*%VbEjAP~$+7)Tb2|L3C z8R+#4cF)jl=OwUt#N|BWYjV?-AE1#=CpZ{}pVkZ2X5N9l$jxl~dq}@einrlYdc%j+AgS6;%b;;{fO1Gj>CgRMtYY-q4 zORE&7JU5VBsI8fJ86-EW$E|W>!Nq2sOW59}{JjW8{uRTYQjny6^0{seY8~DMb$zzv zP{F7xp6+=oY0w4_!IHzQ_q*DCuThvEm|{5kPM8it?36AM4msnGeik5a`I(OBC-S{| z1%g}fRh;GDwJm;Id72bPt&PA2s4%Dt#~1IKHkrI6qP|0)$MZOaMw|7DSy$$ zMqea_#e_YBG?@gt2nnS&;irt-7IxL-9xbyjX|=dt4ubYh$+0&&W#mP()Mk_J{YEx@)w77H@PVE;uuFOHh-dfFi`F{LAKVOhwA`nIsQ?eY&FLI{ zW0{vKEO!}pCL-@^1PVGB@-TV?)8r+jEFRSNa$gID1cjSg-C9qNBVUT~+p%8k;P>WI zH`_gsT#nY1PvyZS5s~RrX4bvAPuWRC-^1B6N7V;1%oi}-3}eztA6UV3@3Sy`$h=p0 z@m4Rtee--TtR&O3altsHZ(~3#lD{ozy4l9MDc@l8n?Z@A66IO@1ALRSa6{H<(B-~X z^M_1VTZ5(6b3+3jGBy6F!b#|y zxpMzC5)#@JIs<#!o0J5T^?KSt7vOMWm${%`G^(`PY<9WtUu!%lneabv{{@f&5j+{QzQU>8;RZ>$bq^*{o0jF z5Zz%}%gK!aDPUJvZaFU7+@51BG}He}PCbsyJKU9?Z!{sSav*-S} zLeZL$t{C)erqp&Vpk?=b70#0OTv#c)WXm{>A{jD&K3D7Yuq_*ay`2 zJ_xK*Tl&PJ`xaGJ%%WG_&AycOjb?%QVgy&)t+u>zB#G!|f`3dqJ|X)6zsCxqDDr~1 zhLy%*-(u4Fl;|9G@f$4dyb)C2xvwQ3Fz3fX-aWO}z>1q?EZ64AH0Y6%_QErV^k)oj z8LN6EjOyq(EJ8u^hJ1U&lmZ#U&xb!*jD5uHoSFNzQQ=Mxvxy!%wqu^2_bUoLY_$0H zw53kbl12?{1E6)F3(oXPlG$sj)&b%aFaA?xT&22^!en`CGo;TZ6Mx=K(AeOBB}fE~ z&HTv>ClI@Txbd`ozdU5AFVK4}VS-32dT?qC^iufcejaex2u=-{;^ja{R&`Uk0{AZ` zRoV7iy1W_yk@4c1hB3*3DJQ4!Uo=e2V~J4JuSJhrD4>?V47$szWwtl++3-ZpO`t_z%Vy5nI-}5U4i;5|F zhf6Oqvdjdpo&qCfO4;;q%tNc_CoQaII`te+ocd9V#zMg1ED$O!6OF1%bmRCu~_J?n~Mj{91eRviT1P{6g6NMA#_w z@A8NHGw8_9;HCJ#aI`OdJ~lG;ZFe`Lzcm zEjoSK`juQonL)TsS@7x|E1WTt>IB1WuRJcM0KM=Uv+Q`J0skgE=D>4I(uWj%nR`7- z4f7cUX6#dW_N8-22mf-!V64K`BNo?m4B!*Ia{LSt9j%#XJZZ|&2BNZ18rO6J6Qe?&{u6uO5y3>rF7*N|uRR5S_tn(d7BxIbxK+mO}};|Oh^ zMSCT6f)_U>`aIz_RPeFntP5SKN62zM4)~2K?HL1Vw$nE-g&Y>PXWhGgQ`}eR7ue&b zUFjdugD4EzhjY8g^V7}Y!L&>>b4{~tFG;yHg65oCT`P^|3SP(4vi`x{;;j6`8gX% z^h|DsKO0pY?^|{1USyLzbT!hpA21mA*4`wY&5i*=&_XRWy?999kZ&U-xYLg0OZYjo z6EoPX_Yiy}bfwZftS5#zU0xW2jR6g&z)AiTzWcq+NAGgi5zuetH(@@;9H$F2|5F0e zBU15f4{JArz(oxdRR1Sqsd|{u6qNjD?O2;8Y)vz}`vq7&!XSF}%KaXK2RJkUQ70Md z^>@dw$(ObIRNc`j+M6~43Y7}T&=PrxU?>nI9~m_OZrwRHMU?6+dYg`jkMknCRm49r zyr#sS*++FXy;GTd;p|F8#%H7>73CH6CZ8{MZTn5Y)Dsu9=lzgYd=1FW_Un`glEYqa zR%*a!#czemlRQrgsbbYWYV^x8T0h<)|d!4z))v`$63l7YXP@8u17@1?1L8ZOSXJG6a0 zhR`fiY3gKUse0{KEDPZxa}W7Wm*x?NaJ!XntNQV``OK;GX15~p-z*K`O%qWy>38UE z?w;d1pHsi4j#L`G{(<=Ki%WE~o^Ih|rKa{XOqlEo)|TT8kjMbU$EM61&WOOxdTh*_ z8IuD-^bxmQ45g4S>(iG1x{E%50Lo~3@kRDBt=fHRao=G>Ot>yFznZRXKpu&!&!k(6okf<8!9T{9;5$DP2LXE!?5S4EXXo~St+&48F< z$I`Pfw=ISTgz(D^<+PoSn6V{sE99NYET46fb5tR7j#=mx09&xe?O%LudPibo z7_<{*sc0@KmphIBaI`FTx(pt26Tfz&wDlo)E-Pj9c`@3$tG*smxyv&p&h5Q2WTW3r z7v(fKdF|Tr$PwJmQ@SJF{IV@SX{RThh!!8vEc$oVNfbWEBD1yE>fMZ_dY}L)7OK}GB-KW$lK?Wco-Rnb_K-=1PBZTnJ8#@y-KV0K$?wbE}YGO7x zn~nA|U_?}(1r@j^@DDjq%duR?4T^4Taf14Fe4;flS-*w~F=bP^E^Q)P?PrfhHXlMA zmddpbO1$7l>4U@HnB83dnUIK)3GEZ|rh=@N{s}kwlmEa($p3m^3k0tGS5vaD{aM`2 zxsdmd!XTj=$bz^Sznm_{;3ndEicCAhhb5Sz9aj$@+zqU!s{jU|1a#Rx7NU2V?;Dj< zpWM||8=!BLGc{iF_^Z)Ty_k2B`82~jTIdU(04*6%o{p-7=E$&u1C311@CW{AYHRK} z1rDlVTdoeKtKmgd*+Q{7VmKYRuur9nL9!Bg{a9U0s~1iIYWH-| zlv6TS=vs1LnnaS~7Oh#h5(+PaOD|?xbBBMatJt^Bz87?DNtoN$9nK#_J#_B&jTg5v zDR}`=x>AEM-0EVAAZg=y{2b-wa)?!W+T^_xD;x+Y^&8eb$!qr|c;bbG-pzw(D?8>z ztcOnQ7*dtCD#6x&#TeUe1`$T8OmHKbotxiU%`N?YXk)^X|pm4!xgPGPdz! zwH6Cs#IWz=_xgMSH9|4oLF*kqXye~mQP8K(HfRp_2#M@~AgkDk@g-aq3z5z`5#rt4 z`erZ01Qx@>MGibo1C^mVA=GEt{E?i_>qx_6xH-HdkyiHymfzfZb>2f#NJThhI=@ac z#UqK0gZD1E5ARn|7Wvm8Wyke>9_gF&hH1HwhfET=_b%;MzS3ME?eXa;*mWOvO`m@Z zQa}-cvpsy|lT%$iKKJb3$s90#v%EoAu35of^@R$Qwe7ut2)Mn^{-A27=Q%$xckAiots)+Ra$5`LbY`f>1T%pJc) zsI0@1RM9DW_qeI&O)dzOHiT}AWJM!bVD*5IMR z9yprk$A_+K;3n4J#N_RcJH5N@STp$|@1VAf;khyz_)F+=C|fb>)5fvu>@&*^_QkZN zTRL{7)pB6J^4_`GQa^LEnuV&h*-*{=$PG+V8c5?E@p7sMz7+gQ>(+c3PXLG%%;QTM%0kWP;O#%bzp!TK1Y?C{5rof z>5~DnDk!|KYUy@#^^;rVy-W16aI9_z-^KhplLO3((Pb;luD%~}vhnIX!fVn2h`>mi z7nSM#18{$^)yb{p4Mr9rOiLL9+y4@zKAw^KKccm`D*&f`i}frO{_s!}Pjv^F*(X~O z*0}zE!@os$AVbpp0>@koM9Npb2EvW0^n3>-g-DCUD>yfB8SR1H78@80E)VaEvhC^u zawMN9bHC7ip4P9jHEUnaD~+|Dw|vUO$25Z0SufLguDZMG(qryW69y?gtC4n5zR^xW z+@$1LHLXm|8)@B6#X1gsZ2>QAN=aR$iFm&GWDR42=q(|FLCpo#dKM#GK*`Wtfy}QJMMpw2=CSI1RL5iH$f2JmgF4)2F8z)y9Ig<`F_dp`?^3qBlTDNLoq{ju zvt1RXBI9ac7t_WyB>w3QK~<|{_t2CBzdkOd8S^t)Gyr=3BCD!eXnjIHU+u&A-xTs& zMnutl;k!o-VMkif?0+Rcgof$be+s&LK)!OD7i6n*;!hWi6m1*2Jexgt1A1r?+m&|W z^Tg1D^pKFaiI;%^L`Sj9uPUz?zEX;iM= z8F{B*k!q@vjx}x_U$*E%cDZR30}cY#$O*dj&^-=nHEiW!!Uijs zGL(MRGi)+nw@iau*%UXwyvzZ~yV>w^XGZ|&^P{R&6bq54n8qR|D}qVo>)rP-*B(Q2 zVpioF8?%y%R9O+E`CZvcOb19RRB;+Hdk>-kZ8R*oZz^F!j!|#cs_7^P318<(ovQ4` z3Ps6l2zU0aRq%TksY7-gO(H=W9A$|=o3tE+-Sc#=HS)PHmo2)M*NA7eMC-5jugPL0 zz?*DDEH7)mS%f8GUI~_FHU03NGP$2qCjF$_)!~6=xPp(B7dHuO3;DUnYR9wZs#5$r zd=eON%7cfJD8U1)=GcS=kG-E~Sm(^cZ)>JS-}yqd5OSP4HEl<!rR+5;+ z&>~2?Vn|m?%3^_91v`KAsd?_k0?7bE5zX^9saX}urDVJVQYfyY_Snivg+FIT-4!f` zP|iKLEzKd-(DbS%utLFJf3~;`7?oXn4#pWdt$=(g_G~=N1~vF^`YO?VH=|k56e4Bu z6q+`)bAlas7fyjScm#=EvOLbLL$*_`8}RiIqo0zl8Lwdvef2(RuF&2)C{j*~b=szy z6H8i(+vaIE;x!NjfvvapHkHhdGCE47<>O75doLHn8jH)PH(FI@FaU$l(AT?z z*m5)_^H7VM%4BFe8uS$`&^;5}K2(Zt06`K0z(#Lo*=w;4w<*+J4fPQg#JS?Cklp}? z4PbMrJ8}nBwUXNIqi$79)VSRpSQC2U;ul=Z3i_IHdaDFfv$)fM645p~0I;%sh{Lwg zk&lhbn@3h#t_vyGZOTgPCYsu&AVOP1+XZ9%i^YRZ`7PPcI88zYtzK>q`wuRtU)Yqz zZbOGO8I^CATx9>kQY!o?E9LQhb$IdrxcbKEI=g7=rm@}Fwrw>$vF)U>jW)LJG`4Nq zc4H@v8-FLS?!DjN{hU8%j5+3-bFQ`5#<2NSsAbUV*FfOB(B28<%vyt>S6%6j#~tpfBLGzXjc7w{ak?S-G1ZJ+O$(z`@j8MIs2@T zfQrrX*1E4Mw$XMD!0Q120upG*c0LT*!Pm}xrU|bbUSKc&*IvuVCuf>U9Pr&6}zjZ z`g!=-LIW2rv3EYV%s7nE&q_(K9<&M;{LgYCbr=6@s1_y^@A8Z8ZunEKk`|`XN!osr zF1rqnWxNgnesSq4Mv&1R2Zq$C`Z%04kJh^k6y9?Cgk3p#0GQ#AwnOgP70ge+ch4Uu zjdJa_Zq^!VhOIrncE}#he(^(oU7ENTR%j7;i-O+RT+g&V5>Tl1|pGuw5OS$3(48d#B+;mF;?-8_t<)3)|~ zdqo)u8>1N7McBCBaaW>TB%t+!BZ8hr^PFS;MFfUY)l&9C^JVk2p10*3<2mxO`k*yW zB@>-#SwF2>ly8IJE0lde!%Cmn-I&IjF6~LMlv@$Yj@}wAnXSW6v)#DLau77$ZK<3jk`ooLX46*%n><1CNonaB7MM5U-T&?K^Krta1oni`+Z$debs|pl1Wq`g+dz=j%z1?;n+^gfxWJQVL%t`u*nRZKSN zu%TwZE)tKc&g-J;>%*-SeK~%i@4wvxc#qN(xuNod*Q+AO>*lM z`_uO&0pR2Sur`{=If2oVFN_{~+qqMz>z&U&55Bc^`o3G83QYPg zP{X@ejSY;e_rr}5Ntd)~S$#%_y{>sqU0svV8B$bOcdfp5zF5V8>Emz9J-UP)ch(N_ zU`K;GoxUogPRgDPJmsd3JeN9UVUdz{Yx8?8&%6@z-3=S7Q733^T4}dx)Z1J=FMBUq zN=E>9eR%STU8Nht6$WLJkPrUs%ek4wa8%^ysu{J0QRQvWK1v3__*5)&5~lKK{ZvqL zIzKSF=T|2%)M-vIcmz9T6MEEq>ncCcTOyphhT*f(uJSxLBW(ar01=9}vePV#+&Z}p zH}FZcxN2>Y?S5BQS~lG-!}*PW9mUzI(X0>W=HBo{FgIO0-bfN}Qf5^mJ~1Tl-7RXz zQsj8`Y0@^aYmw!Z_`c_WcbQyp`{eoV)@f6fJE>j()m8bSFoFB!(a!~LAmDSeCpCIC zI_!xv6t?oKx6_lrgK$ynXuzqwoLt~c{-^H*f=9&aSn*2C7uYV`O#0KXOAGy$GojKR zWmzyr9QK}#U0WIhhF-LLYG3zlSAny#3h7-2K+!&mM^@ppN32fO3gpaqz>YU-eDR18})mjK|B<4!%J9ZURr~rQD zCJgoPBmkK=zY&z@{uSPpd*lL-L^~*Z&SD z$o-Z+DOY$${rU@)>|8tra$BBd|I_nID*D(b|5`wC*Z0u2gMwFC^T%n)M?`vpX0Wp` z`q=WR?lt*DX)gJ+h5lWrKh$ZHMoqFL;+yqbCw3BA#QO?*?yF;G^Tzv0l4KP4yE*_)?2j&9__@LH;V8z8r@_NTjd}<0UZq|YLgtPP z@J*6VUs}2qys&#!1Fl0muWj#6O?*($Z|Us#U7m7@mMiQT;qop~B2XaV%~{U;CY{A+ zuJOGXozSZ5m1~-Ku(OrLmah(z?C2}jtFG-}J{c3t1G(zim4eF#Q0&T`KeX_|mwj%o zI!dN>hh)vZjaVn!!mYC2T2X>n^_qP+(LP!)4e0fVvlvwQ?Q-5gUkOthxcuLdm=@B z-nMbAy(mmtbI9_1@WKxbW{Dmg(WCKxpbPDxc=z!<;I8eJOZGvsd2{<^Z@*DzsFqcG zO*zkuK$)<0EO8gb{50HWV765nrRePalxuVx(KYbLx-P{fM8#P}N2XOqKr)ov{7c?;)l6Du?~{-Cqc zsEF&mC46a<0Wzz#a{xBwGmKBm4d-SlGZ%2Z5ZCr^Bcz@H!VrPr*QV&^%lFAK);qle z*M*RCvy17=Z0B60=4rNn8POrb|0MD<4*wZ`doPu5-{Ie;8*rd19J0sq6ZT);^Y3x- zc*}pSr*+jU@X_3)Y`vGVqT4J_v--cPaw)Wqk^MQ?u%*V9D}!?E8?*NhpWZsF7d z1}w#(t9CPYbwGq0%FJFux{w3^@sCkUSMy0wzA>k@^l zPql15b7cm0r)jW-A%M-kHdHYa2$|DGtmdV3Wv)dflww zSvouyLJ4gJ9h9llQp+Sw{(DhX;?p&nEO{bG~Pqj{cSZ_r?h~|JwGX^9$v{RL+E} zI4X()@}%9`d8K+u;;X>h_<*D85YacnoSmtjPK|}=3zf?snQ4!8MQmF>&+BS1k(UCA z|6W6R92YV*O&;HTR_^$Xf$e^+y1kdicRumI^dPbDZ|v{D2jzh;JV`GBujqXT|8R0E0@=$@lw!WYqqhrepH~A z)^_43AC;>de)31-HckEcsdO2O796bCqQ_ackrPcQ(l?sHWAV!Q?UlTf1Ff9rb=P6c zrmfO3Q&ue(Nt*+2Q1OR$?yuw4u?1DJZX(?5NW?)XLE38SuaIfj#RB-Q2njIl4SKp< zw9t5+L6z!@81=xE1+__G;C0cSH}^L_%vQ~564n)7-K>4UuOE@`hen`2GS0L?Z8tlc z2W^w7n7np*;hB9;Q@4l(li+(uFV#LY+q`$Z4UIMFI-|P%vPSF>3?A$dSnFzP^7kNq zZh_XPI|qiInn|mX>#m>ba#1y^+yEEyX6U}Mfj0Z}-zt9jA=34~w%AF|#8$Brh3H38 zU7$9I;G4t{xxmzYEBQ9S7%G?*Ict1274Tm~n-Qdy7GFby0%j;L` z9d<9>;m9(M^CrGl3z@0Q+Q+(=Ggzg!im6Ve`sc{fG<}kBEny z92@u*^c-aLJb=lpYjuGMaWmLK*o~1vIFgJL(E~LHS&fY(ERo=$qUXHYv6SKZ+Qzj+ zFIk)hylbp<_ujL(X?EGLl(tc-p|Yj6_1<|7&+jr|%9&{CYIDyw{6M(n?}fNJ?Ky3? z4}w*9p=^HzSu305^C<$6I0BK#sp|N(x;b5s=QQ}fJp1J}(* z6^5k|SCXSgI>u6f%16N7&eu+3I$Y??lWn_^~oHg`S z$vBs$xN5?|eNYP)n!A6xsiFqeQxWAPrG7P%g6f$$(Nrl~v=ecnOVOG@H?l zi2bo)V}j$$-4b<@Y?a<;VZm5lt-1OnwV3TwG#4D76rH3YED0Hqigx?QShy`Bcw%>k zJit(s(O+nZLAPO5&RjT$H7^!2UFc^-Nu|BDE?c{Kww82%c&)5S2sTwQzQZ|5L3BYD z7vaMq)I>TqdjQyN?QOZSClj9_0D~K!44O&(_^vfep&VJ`u!+jZV8l#g9e03GX~~at zK%-kb#9KsEP{3O5LMOG&aPNDC`^1d25!>wa18OqSq00c#&&?u-Ei*Qiy-?4I1AdEV z%6&TnuAQxyHiAx!x7WU#KP~>^j7#r#`)F5phrUhEm+p4d1nzrKl^a~aWsOhxd!8|u zLYpqv=;tCdPK7wcHQjiR06i<@+vC`&(J}y~+D2*Ws-}^*MjWw{~MY8i6;D zZJ>Sr^SF%qN}!NI>wAACK6y*PgL7UJa$rjO%T_Cs&E8!OA1VJhvGSR-|X2D3BBd!UCV;$jjR6WuF&}fbA4mfP=!cn)e~HK zIj9Lh64tl1q&2*LaKAX-K>^F`+cl65=DiN4lJmGh2tY+V^C>%o(>X}dculvA_h}^_ zn+a`z{HXF+j8>fHug5wc4VW}-0rMvfL51Clg!-`Cb|hhCf58~%R3#?Iqv9SJVy@E` zLR}8^!C-C+bPh^dsK=MuiUf5>rIw(2czn{9XXNyI~ozMr{N}? zQ-yU6zsI+A=h%+i{aGhEX$iv`duInw3we$yYDHkaa%U69u*q7jSN?cdvEg&Is_{3j zLVoid&7TSNU5VJSv$MFq1z&U9wnDkz3|xCuqhi_wZy1+6mt&R+xjx}0adh?m&3S$w zc;%X0-5CYKPX;q$`pj!ysS58eCR>E&865lbtBL=I8s9^<(Sxa+yc6yamyX*E$@A~$ zZ2s@C_pMxWTpi{I_`;a@J*lJ8hn)dsvrSj20~o*Fho^$-xOrP``=gEaiz?H8gcK=O zwvc-W1$qJAVW9JF1R!Yv1MY#B! zML|IQDU&=*NXn)xj?PSmTB7Wm;B23hwqy(eouwA3{di|uZm;WN?OwH|iDd?PI5@ua zm-IF+1-T$hVtr!w#$)5{Em2eYJ-i0eKmETS21N(%FJ? zin1A`A=#GL#Mu=>>+7tg^+en*NmW^D-2|k6CN?b#%^kkZfWo*l`=&J8=pal;77-}_ zL}96Oz|7j3)LIn_Vw^)BfHeL|X$i!Mej+T6kZkbrfbrd*zSzn%&B~H8C)6T;nt5kH z1|(s=A8Az7T-Y!ZqwOvK8zma348UqkyD)2zll&wP)6I}6O%NViJ|1$E%edHolVciX zBkq9QCn#wGi!0I%UdsOQ0=r~OO`|CR!K|Rk@!{|xW=LH-YoMmuZ2Fhn)aH-(8h2FP zws)jSqMLDS$3F1nU%F=jH~nY2*jKyi?&s*nv-f-wzxjqccRv`;vH_Cqc>J|)`B*}I zbs~BwkL$#2)%#x0o6ife7WwMmpM3z!$$qzCmoxBS9dg6%{BMejYBoP6+;kiQ{Gpig zru(RvkrVg(5w1SRATKXXM+{>dPUjgua4wsXESWl2gt~S6O3n1%&;&XjRQ$>G!F7#i zd}wx?U(hQ;k-}!ai=8Qh+k7Dfh>0nIStceE5gRj`;Iu5r$pjqS(#BI);M&WX2kNLv zL5iTx)`s>ez`;sXWJL$;GC@oTivBVTn?ALCv@Y(Z`e}P!SWq5HM0oS?GZ7@1a=>M? zlaPVHK0uQ~B3wieOyfyDuG}G}zJdD3()GeEJz3j?&1%Gzd0;eQolx09u<;4|o>!WJ z+9dg~Mg<(3YjmIvm9y^L7NMV~!~hy`ZByt>M_rj9-2oH}i80_JUI_Ijlq^6@_T(hF zukm4j6-bcftj=snDObI4unL1wqIR;V^C;6u{{96+`_mkv{b^snnAqfnUCxRpT$P^( zC#+vQi#zcyCkO_8>3}$Fm}!UL(VCt?9FQlpB~5AT9-LmKSE6(z*v;P;SKOzhs-C$g zn}5#1hCKP1m*4hv$(iyY3`^oqhR5YRe~P3KfY*z)!t+}@reQvv@t4x3{5wgAnMJ&! z@fkB-@zzD=4t$cxHcKT^+(EC(^4)GD7=ZiP=B{Od%|>)G=a`K>_|U-nGVdCni~ZBx z6rQ$LT`z%79sJ~p!#m}#ouj|Y;v>G3#eL3EVG~PQ&rz;T^z!z<=fJwTTTW!t?t)vy z$oZ~YzJ5ph7glyTPlGKVE(hB#URXDM9>=zUr&cm=cdi$GU5{RajbiU*oQJmssh*fo zf)HnVSrg>Lw^Tf%7?Md`)0B#R|dXxP^@F3Fz1ov<4WQ$MDbfG zTk#4LOg6%@oYXDHxCuhhfj<$A)fsO1W#tcHvU2}h`%KG)yfpao{w7Qbktz6I>RUlpoiL^^eH?vHR!c#FwPSz61 zYp-4YAH`(St9Wld zU97z+bC!+uuqW4Ec0xY>Ev_s(AmPOkd%669FMFE0{HM5pUpXy9%J`yo(R%d*Ob_$2 zJpN&uNw>L+s_o0h%wU|Xr`-=V&W@mVkv?SW*YYT?iFb@-L}CWu+<8BfC1tqz+tjoqrU=}a8kK>3Ju627SiwP^n&N_63VmY4+F z=R_q{G7fR{ApcY-(U$|qfge6JX9S0wCHTDoSQX?vtXS*CvYzq49z~sMtTUzo1o{csNl4<@owwe-re~jQ*vXrgJfHTfz0!f-sj8j)=02}f= zDnapnsR-o(Mk+T>)9RvPPzS=M*QpkSDV2sQq=&$2g?KFLFJ2R<|Yt|1h);dshpnd ztPaqv)XeSMQ%Cc+!hYbhG<_Q0_?RZVmV&Ixy6+jxvn9CnN)}#efO)aZk(5?H#K;hN&=#3FC(hxq?p?mKAlzZ-7hNN z8AjY2$lLB&0# z0WX~NN$sonB`Q^sHSnr&uMnTwRZ_75#KIo)H+4!1s;}V@>YX&?pc+mIl#~wvlVuGR zo@YGY;}4SP(pS7*AEL*132=40EpC2+d)oK4r~&bTK*qB7=U;PH@ruv-yM6|^5qtRd zzryra0V4Y-KxTeGt-|%l9Uc6^6(3+g{7}LDO9Bz6y1%(`v90_*d>X%d&+FKqcb^Lo z?P^!Y2aE-qRu@@c;W|IlH5*R3$qyx*9AVQZuBIC?6Y9JezCADma)QBapUpE-}XTct{9sgQTDh zrXzV8Rs-|8%86Ff231RG$Pm83M*`NB-Ty-9J=@rrW{06%JfR_Wr9FWlHEn5vzEQ!) z%zxLq$7VG|H@F+nhppVX6-rNFF6N&lNw_Pl)na zia=w2>9X-$0s@q8>4$FaZTQ?TQX+r^>X3tPvzG(CVPmSiBDN(@?o#m-SwEc0o{i%y zX?sNBxB8-MciiE1j99$*T^nnd4lXj&!-MMf=8zzGCT_E8FdnV`?i8uWCW~gQ=&|){ z?Ku4`h?Gp|a-`ZvP*W(zX8`3nO0W>U5spy`WA<(Qh16WQBgg_=%&GR6fkoO3$|<`` zt&4NUNHI#3lz!da5(iaI;pK>DoH6Aoi+yS4Mzo>TOh4~Y6-MLzk4^je!=$B(38yjO z-F%qjEmYTU zUC3E5`2tM-k8KD1C1_D&j$64NKq3fQ!Tu(Z$)}y41^#YR=N#L2Q%~-H@k;pl7}n*V zHNHPZO|yDuwn4iYRIFOAu4&US8Ac><(ZAUGK0Qn{_Sbx&gIGp^Gh@^$4i_Yxv2`-wr1QW#GEcMgMEXe)_B^{JudQ9z1oJZ0`d5qDq zG9^q?(%}Ubw#=WYr$uv<5*bfavd8FgJl;Ub)rkrv7GWNX7Sj5}WpV?7COQb6bhXw& zxVjXfaZ1#Nv$ng+@z6A<(bj1u7F3aGXj;?H%v#;EQ>lb|?dU|3hhJr1ed0}o)y zC5XA>-l-h=y|@0~voy$*QNM3OI>Qy*@?t?PuXkG#m10pGxhgV+FF%duc4j;AE!{=q zTO3T!4@vfojR--UHN6hgzwC;L|8|6w1Kw7QJ%{}>iheulTg46U!tnerfn=WW4Ra}d zOS*jc-$CFaCWkIh)D0%Y;nwMYN#H0Aeg~}W>l@vl*CHKQAf1?b|E}tCBzT)RWND;( z(re%{!}rJA@^^eW3xm8mSV_M+*~VD^-VsJidp8aWl7_heeI_(#sF968O#2}EkU@dE zAY)v=r$`TiD+*Q=z>GYWOKg=GSP@XA6Q#j%wjb1zN%g0q&??@Mc?>fEpocV+TmZQysUAgIJ=L-Dj*vte93(o23Ohw^eWJsdlQt@;O60(#Zpkmzf$^RkRR0p? z+EfCE#d0ngPJ};H;Tfw=er$;$5K+w7w<$8EEF>bOC>15YiOMA4FBo4Xti#h7$@5lf zvHT}j4lFqLmbJOu_KFT;R>#UO=0k}snN`fsPo{m^QeN*VpKw56?Ckm z(kE+>>Jo`;rKPtH$P-O1Ys%NBhe;lsC6})Ee4s8}y>Fhndd6r+n!NpUkMfcDO050* zaJuR@eCE|VK>M4zQgHc~9%=0P5Us$EyXD9q;^WXBOWO_O>w`APU(y3e7uTC>wu5C^ z&r>y?HwYh9#d4~v^%eOgT??g=q3w8;%kkU6x>JW{49IhGlQ&wG?i;d~)xIW&el}sa zG-*co88TfBG(^4zyrCH>O6c^Shy`iYAO}wsYIXLt4?r&+`s=2&|)%^8Ua81 z2q)cQIHL)^N8KwerGj7qA)nh45ecuK(9iz#+_ba-VcNS$a9hd2cu^L#T&|PH zb6las^R(N*A=0g@2ZwpCabA}UQwmV6wRjH*|D0Vuaj>yw7j6hE~(feS9ZO;$l-c(h* zQ+Z_Z&koiX5${p~kVtco9X3O|HjxprU&q>2Kc~XAGFhe>EM);Q29w>7v>bwdJ03Mb zH-7Q3+@X{k>*xFAl98ay#YAb$&YrM~G`5-)w>Q(;e<{XpNs1+xIcI1rUk8(pV&3WC z+b?VjSm^IxC&%;5WO>V)M6P z?`y6T&G5Uu*Ro;EJa7x03%i2;N2c!M&+n1gO&bKws|UjH{% z({1_xW3`6eUJ*K<_c_Slz0c7CCe!w^96@GVAZE^7w)Y?}*Jt8ab+7_K@9%#o>_5_y zn!4(Qnrf74Z>5BQYC=N_zHrmx5m{*JNzLQ)Cob~1X%yI~3`GcZIY~FQSnRacfi#P% z+p6}W9XrOAG#OZ8S$1U$9+fM0QuHQ`|0sDzHVQs9khFLlG z+oJ7-Fg-#OkhJV(X!hxA}TtN^;f z3>k`x7{P73T6`n=15Ay@$a>Q77I7JLYo>Y$ne>p`fnrceXQji?C`(#X&~zM4GXSGV z@CKhZ>UTWa(`ws6Mt_ibD8h&G6mR1f`6}__2n)CGn?&r5D~kq=V8UFJC{SgO#8+wg z?ptlylWpu>0zi@x;PZsUsg7oQeUi)GeOI?z#Xa#k=UJ{ub;RECZ@%k<{EJu?EfBFI z2>cvPQP)H^G*i^F!uke2Zf((dWg@i*97U(^G}(|)^79V*mOQDy1F0J zL-^1wPwo37+$U|IHxGclyVA$6-ceZceoS5_(FW2!Fbs8d*E{C)Zf<#=P`SXlJn21J1P-AqfYjajkK&gltX~x=vkhNUSso>NdPBY zkcEc6kjBJokfs;oInlfOFzuv4+kR zA0e);apr@_qIm!dnuzN--G^KyYq9lRVqo???6Cjk!abI{;^3h8YP zeC7RohqRe=X{tkZp>wosz@(gOD9z^;Xo0Vi4|UYM|I`qPsylt_V!+Ws?y_FnpHd9Qq-=Eo-9aT)iou8dMGtf^vs)nNw&v>uD3)g7lJTy# zm;|b-N*4=4Nhei$?`TpQaaW0kd;^mG>N{aNcngE`x3{6RUW1}eD z7M+k|O@!PU@X|nMuSw$&%^2-alk^SLIZT>R|9H;xW;IVz1cMb4)=@^jt}m50V9SU_ zhOGiD4fV?b4jw99mCm4M1l;Rm>?0IquKPg2PuPV$ulodf2R)?=NSfEoXw4hRHB-y+ z3&}RwQ4hqceQc%@FfAhm|2JUUN`}L^!?D$17HeU?SzW3S@{A`$skbIy@4d*3A9Qln z?pd*yOv@XnS&AdlJ|Iysg3qe%{waz@`w3xCtLpB<^5C%jzIsvWwyR6y_-5iJC=yV5Y8!1#(% zaW$n#{6i`nB6;2U(Opa6*9$YqCzH7*Xr*Q`Gle7JN{Tyj>wns!)d(-h&?DzGklRI7 zv&|MJmMo@Vv?;O~o0PMPUMfs;%~Vq7bW+-g-_)S9&W!Fmf@Bp>Y`^1#jwsUh=~yWg4qFHl!ZM)NjtC6Vl02698#vQ>fr;`xg#<4 zlXc|GLF;wVGAU~L*$Iul)b2lTPfgcIKHRYdOUALIdGEu;zY3+E-BbQ|y+RR5eXys% zKYr-1V1;vT@FQ~NB{E-dOTfu88_43lAZs`Jji{S3S+_#<57b{lQj zZbJ?d|5eV%fVDn~$gICre@na`o@qzE;)oR2EBe!@gr07{63|_^S2j;on(%wEktAOs zyz!aO`5`DF5kh@D!XHF&ZiKQ=HUhqG!xhqjo;uoUl_EdiR`2L*qvC>t%xvux@t@Jh za479j2FtjVRFatR@APB=piNjUorp4FSq`oFLEn{cH{vD}pG*VgyW~D|)P^-a*-*#X zpQneFYmCMBO(v3&O-Z@NGs=vZ!SjU+BS@=SvaUn`Fs$&8DgmE4nzS|NBO+D{{Cz#UmQ${xAsHl0R{a(z63Eh}#ZE_GyhsH!Q{Tt={asBa*@}Q)V6kH_v ztK_4*><{U*i$Og(L8hPc7jo%T=7?=!sAEjAwhZ8WAFUpL-MX6W3%(@j_Ze! z<5$I3h?}Pjj9Set=nUQ^vJccD)G|L_~clh?HqNS@r+=wF)i2i*3D)IM24!B*nhcN#RmR-1b)CS zD-Gfi&Hu?<>Fhp+2m}&c;kSs3yjf zCVgAk{t7;tz}@2#BswIER9L%0ii-iF0SCSUhmZu9`2)K>GkSdCLddl$)BA|=Z{?<-vKi7D ztY2-LHvZVdWU>cDK%jM_tAHU4mugr_TG%@dyN9O|mNc)+X_x(c18ZUE5rM}u?!>TSkKOq`R6d;5yK{7MtBT2LkwctU#=Y)LqDWnQd z)vuky4M-(>HLa}F4J=ch3*ljeW`7M!bd#iw@G-?`^YhpyvDx0o&KDX=<=QjZ%4%RR zQ_c!>6g}YaT4ZJ!0^<`cIj#VKw|?^WdlkBiwaxBS{$O`Jh<`DVGke*v><=+ucbYNM zFRD`V-w>S_qC-YQ?_WiQ${+T!_b7|zLzI3fRo_j=XMo!ZTh-9T1kcAIE|2ZY0q>^$ z7`|MKO9n+QaAsig$*A}H20x`>?O_g7ZwZAAMC@t-SbY*3xdMNzysW8zqDg(; zMNRFz_k3;fipx}HK$z*Wp^T<6#d_n0Ye|4THYswJ#t%5+b~EWb6c7|nDKxd4PY!a` zDm9AzTdDw<5^Mz4jmWJ-Q8x6VM~_#hrZgx>x{Az&3_$@=^RKvfT++}sG%XV*g^wBc zWF0{;qe6hsB{~M6q9>tS+Ny2VK=L;aN%9i%oqjXrD?|;h3+-87&nh8K9|kVO6ntX( z##tRVlr*l2^2;wFaq=L5l0BfCN^fPb(6v%=P#b(-z2BWCQdi8OMK%TPg$@g0+L$xp z5k7bI^O?6K2dtRYRK|(v*AUV||7q#aQ|OD9acB7!Eq)Sz;WASUS!3xqi$%Crl5`t9 zj=l?~UrxP^T0^<1`^q9L;1PpH5#k$psC&Vn0KYmF6jCaLMSiJ-UE`J!u229TDwk~h z$!%5)f_NtUEgzX?T1T=I=E-u{F&PF+5b0!zhA>7(#ryoT57k=5xsaquxaM2izUTK# zXlpqp$s^5x$`1DMk`SrD8*AhRIAK8T9mtb7fx7Fc!JwnCO)(LL*+6!T|{zE*;7mPrwl!-&?Ic_B2}@nc-)1@(7<6mv`S$DOma+8{L44Ua_T{YL48i7noQBn zg!(fEsZ_mh->KL5wl%{W$BaQ*w}7o zw`x0>6_mm4@nJ{0;!jB>EkxvFRo0To@WMM_Jgkvj9=n_~M0R|deh#{PZZ7mxXgj)* zEhi)Slx%%qYmu(({v}m?(riDRu0b}awsh{gleBuKS!on^#>r9iW~R1;$lOB*$-YG$ zuDAbTMhioGlj{}$e&?|mWN0<)u80;)79AR5{S{Fb@$?Qb>UO9|t|`U3bOUi(m&)%J zA!>ejdNV9Ztw}ppwr{EQb1g*`rU22U>X;=hx<~)JL6h!~zrlmYmvb4{d2`gNLzj9e zSza76Sx;C4ghhKBl72YGxpAkV%HeBDQ)IyVTtlMbl-1AEq-*5(O@g>6ibw}dU{!DT#JbO=j=ZlPVav?F`Jn#R zEYsK*LRsu5NO5lG{|el{dd29-K%S8ku5(08|7Th5lnvMv|iV~ z0>eO4Y@e0E*@kG~1~&P0*uDb!du)wA>;dkbqutnzW|H(CUxHQ!0zFFwadAn7(BwyK z|A1_@4Ua;ml#QcBYElRL467yd&ebUK;Mh$ZM6kA)`_Us^B6Z1)U{#MW6&CbSd(7-S zvCF~JYNgqre;)s#a%(~uR!#PJwM;C4;n-p^ zQ(G4&;{}`vd)ogQDSg%EROA&o?$ctmy!BSH(KxIAR^64fxK3SRy?we>n#QQC1^%>A zT_VPkxZH4)8GD7XBy+rb{!P8b*VxB6@v*{~oc#r{l%=~~qc5x)QGNs{g94~qD;FdiRQ;LEAS7S0tMgO3l z!NaCmwlX9!Hwl!zrv<7k54}D-+={dMdOhBdQrT_ZQP9V<=8KB5>^-(Abxc2(v9!w= zUoKakc?+Kda-daQ0$Q8e+d;KHy&D{k`!pVasW5l;n8WJJ8LNR zlSBNpjrfiYqR5n(!u6eJK_c}C_XMjHM6A-+DQ-=aM);^B=}y$p3$CI5zW?m#k95mf z_czydtqvc>8O>n4IJd>H<;?l^Zh~3dNT>30FrLWM<}@T_#zW~e0n#IE#l8XkX^EY+ zajS>r2+kBSmK33N*5IBqQy;lim31-`YXz3ot70>s8K>?XDn}iyKL*~l3d7=LRd=%& zR$t7mgP7+|pcq+XE~;RWpGEkZF%k9se6tO4Lpz>hWhKZFnS{|$5gTY5JPN;ih<&3W zgDy-6ZxNCqF2T>Yw7%@Qdw3ox@_oOicsaxKb%Y{#`lHKk$Wu1;O7lPdrU{abL=M}T z+TY~b>HqqhAAf`4BPwCU{3mE#;e1(X;*Sddg80!OEO{C42)5e|e)yGkX$_qH9};JI zV9badsdTHxtoG&iLOqOz-Rg@=c>lvfa z8(=VhzpCKnbCC_zIy zDbifCVQLr4Uady99$}v#()-A}S0??SDCoX$sB7}40dw*gkezBF7M6Z}(=ROP>;|S| zssSr47q0*-PE4oE0aNt|l){6x~EdCZaaY zGQ5&kR*ANqO@oF_7Hb$a^&C#+hCJ;j<6pSt(DnFlLp%NyxzcuP=pc~)r)C@0{0;B* zhBBpO#XmU2+)(Ds`{QG&Be2V}TmI#*=1vOXoU`Lw$3HVj>b;e0B7>~A$U528F@dO8HqrgEm=LHz3n!>qj#YR1nX?yzKDCY5lmXJ zBh|2!N>KYXLQN|K`hLmgYOwsChQdxI>%e6^%QY0LRNv5&78j&K6mu$4q9s_8` zchs=|(%I0Vz1V`|Ux->RLcyHQ)F*?dPecGb`ev+MvBwVmk`a=WTL?>qO1D%jX*)9+ zZlNt9Icgt{U-8-Ti$bc84L1`X0h?JhxdN5-(Q?iA&D*E&9r5ZbbQZsamr2xYF{Ppb z^XY)=I+J@9WZnLAL&^}Lfzuo#v;|uEHL9Cf14#>$D7THTkIG|ZYpbzKtwB;!8rCf7 z@b$NDEJp_wIN?2Z-?z_@SRB*ahQ5ruOr^IT8a(8EX99)MNq&v-VmX ziDea)&SU`fHz*Mk6-OW;#$U9; zl#bZ9I_yMUh3NgEFf3Qw9{++NF-J!pveYc`kt#T^iIKAZE5ld6aI|-HaV20~KrE9b zv{{M)2?W5o)VgE}qgiv}Jah%?UV4}+`Lx6tf&M%ryfdKplRR*n>&OF!5nI7GqM-lM zU0tc5Ob`zN%QF|89Y|u9XmZYYpneUaA#;P%pyExa&VK!s)vwD5 zSPE)`JZPMcwl`veTSz4SfF_nf+Za@E44rVD&prn8j#XURX6APnUVVZYSc1*vx06kU zDEO^Hos~2c7`!ZE!;$;pnJ;VQ#h3!k1u;2hZ+vG72+kkJ;4=wg9XA>7i!fgxiOW{l z&uNTg3z_Wu;nQAFNy&LJ5d^u=)FvU%lV_rx0n0>}MS)p?gR8Pv4;;!GE5BhZ!p&YO z6ltxCVxy5;k)|!WQ!Myal=&qS7s^=M$mH8SrR~c1EYfqjf+W=ogLGT7j}A(X%R%{K zR0-F=+zFrYu}Ul*7c(>ZuQNXRd!sS?7(zSv-YfW=f5GLU?(eK$+x<)S;ak2HN7@t- z2aYgQKdV^U{HOnh5?A?~6QlO;5~W|R#zpbg1LHVQ@4w!1+H_g@rb%&Jt}pBW!xFje z3#D6M&e-9gEX=Qq?YC{){=HU1Yby?ZMk_2wtc))tWg{4e>dv@|L^Lz5zTu81 znS3vSJ+U?XI$#Bo!fQHg04GMN=O{)Q5%DUrFW9hIA0u#1+>cA6$}>9=eSZZTeZL$f z?g_J$JsYl1;*8Ob9Krz5pDotT0S-~1p=?(z$9t`G2cPPN*S3e5*N^v z7Adnfub!eUY%-uQWRLDWAb+a)^_ZWdQD1?wa_yn_q@ng;&d1(KvX<|bc3&FM#7^MC~zJ`BBq6b{Ca;Sex-B9#M zB2fZmsw^0NiDn2$9vUL#ujvOKNP{47(cb4b^ukn^yRflG;J7~T%PcAP`f?FT%jia^ zYgQhAOXJ^Z`@t!0}#F{{}zzp%;PRDxh=FYCC_e+TinuNbVaLLQnNyXrnskZ|Cr1d2g>QAl`^7hnB z-a^%c&hZB*>b%Y&w_F_9GI5R!ErtBu?{!F^hy3SEIVM0&VB&7UxXgoQg)t#v6fxr8gHRs(g$;_w4l7( zu#DU*c8&#ixT7z_A&=)*_W*7^{3{e3hZZB0wKI8c6%d>|gZbO&`CALKjaet)3FNs{ zq>9Vr+y9Ta?Nrq5#237(wb}{;^M3@`rcL&rPdYuuRp0DfJYx@rdyDgi%gikh)Lj?c z?Gfa}zQP5ayr&P$Jjyq1&!dhSS=`4jcrW(Lo(-GD!eBWHXgc<VQuAjDMbBP%wQqCc}ki z!$nFXMQCOSp1!4gkr7`wximM&+DlpW=#yD7Sg)+QOd2zg56L0cA_ zm;t6irvz)sby>PH*;zY!1ETN^eSUhEkNv9J2IQQTv$iq3ISL9h(nry0`!6XlzKrZN zd$6qjJ(-go4~&vg6YTXfypdIp^w)lhmPdxhLdvqk)btthx4ztRtH1XfX(4=clL#J; zg2rUs%kweI5d1!`zjytin07o2e|nexvEgD8?d2fNF4NDKfI#8D(Pi@sjJ;o_`-*#R zs{TKYAIZN$mThy#P4|C1s7DbVW1c){X@IA-cr-2t-c2sv>0Led7tFS*OXELlEv$0v z;KJ-53MX3pw*ETvo{49p0M+7{^pYdBQZX3tyjG3+3t92*=}PZQ#Qaz)67H$N7oGFC z&hiGk!w){6T{-cq=h?kc%qh_I!>ee-@)H&bF$3eXq$ljilBW{If5ABMbeq+?V8q4) z3Tnkq4b1_`>-yUIeM3WRX^RjS0pc$Op`a__7itk;&mL&zPN~O_9cSXcKcAyGFR0jZ z9gs>)K6Mjpilv*w#_JAdvBgJzi4BvLQpwwGtNkkLa-*#)8+6R*k+}xl*QFt;@Fz{M z<8_{_*eU-36oyjDMu3A1CU2zepC-EOxXjLE* zlJjAQ?-pmu^}K2<#c~1|e-+(Znyb)!RR3xP#Z*qvomVt!?32XNX&s>C0>Q1Wn2>Lv zJH&tRXHUS$FQ!Mxs+m(#rb|lm9DHdiw-2?+8vUG@?7-s0fqoAMYq;D3I8MkCYHIrq zAJNu!Q5uzkbYkdBKMSh~pZRXmWENz*Q30NyicoI25;)cUNK)4Oh-b2~(e@Xz8;wb7 zcq7R{Q&siIWZSw;kb+7;f*v>(A@Jkr{uC2$R0J$g zUd-H*wzQOgf9nE;eYgy%CLLuP7dEN+Q|aU5_kY24``z~%$H&HxU=xoo`9BY?+idWg zJM8`h@liro)!lE-A=<+MIO?I=k$LL0&+;*;AjDszN#8bk`qa}; zI+z_EY1a5}h5qh}34du;{^1QEbB4j}kk8}ljGbDQd)mWjFb9tUAOq5<+^v`7S~w({ zC~)A|k7&gH(2vNlg{`E^hsXxrlJT4ExO9oWO`{oRi!dG+2&Lt~Gb@vh)6_Qe)deKL)kYQ0`|F4it+J)VE~&Qn67O@}78&Z4Bs3?~B_pPa1KN4=!DWKcN2Q1b=SpdzAl6%S*3l+c!WY{df zk1yTOqvgkkosHA*Q!$l(u*k+2sQbbjlS4LO&6O*Q2*D*DtFkfx2iOt)gy*_X3{{0j zYRzkpk0Ml<_Q7M%Y^e7P^&{>un?hNiES>Stv(s!|6WPhf2PoE^yxhIcJvPW*P4xFv zdyNa?mii0HlSNKsC7mQCsiaAm1H#vFdn2ZuE)|T4N#dMEPXTdHgmAJ{X9_ou7~Z*cr;FQz@GU3@le|7f}s)hQPYK5 zo)iBuQ@14jT99v&hcWm`&?CuTPD+cK0pvkTEz=U^qEoem$mD~kkWf4S8aQ9u`1#eo z#p?DGxYBAS8^P`YZl4R-yU2Flndkg#M1p-aXSTj0`Eg$CQl!)h#<~Y_lI`m^XzoN5 z4Yt#-33#)wHShX*To$CiK`k#Zdo}$dd&^%EEtFDAHdqg$s@;Q+8HKR}Iy6q|S6e#~E+>No?a@vZa8ihIk%xgCl=C||1I$TJ5@UZj zy0z~`HtU3NW8fTJqUvh8E{{qLJE+qGNQ@T zT9{R{g0q!ODlxPIqYRGRw~vs*$rQd&%*-RLeTxhEzEP>zI>h?(bH8X4(O zxw@0pRsc=I1mT!^#MCKPTTSRZ0OqAwodDUy^8;W3%_~R*mLhFsYMyJq< zr(rj!@e&ta24}`fM1{tkXjYUBdXgqMZ_ZS3-OA1KCI^ePRyV&OS68|Ij+}p`SdX;2 z1p7@pzX`P^M=p$^>?>Uef-^n-7EVDsZ0|WKk3v?8IP=9DH`RHYJ>|6?^qcdI16S{U zq@ve#TL3T+ z_AfTH9CVU{THHqk^)FVmh|5;ow)&>ag}qrd(vK_sU=%QpWZC!IKRNpGBz%7X&p6wT zm&nCeNMXX$9t)3@J9&8Zj;t zP6_Wg_3_-t(+H9{xyQtR8x|Xxs;K1%sORWJu?BwXF$X^29oWbM*p+p9tk}szv(vAA z(bOq16=v4TBw>pK^eQdLofD$y-usb|>ICb(z$B9pyPlS6z4KB4{4pYPcksF9ONhf> zD4M9Eu`wA7(@m44azU$YahYJ(uuFly#_`e*^Aj#P%-$~$QE!fKTPK{3BCYE`z{>3upwChjW7bGn4)Fl#QgPW#$MUks&VHo{^#i?POu5-mL#yA}n95WPA6T;F#jTU^*vr*`|oWN)HvbH6J8bWRQ89B&~Dr$jI1v`(4m!=3lK6Y#Y$P!OH$M+f{5E% zmvX5LgD$8z_hoIVZKN@HwgKRZ^qUzD#~pGlEsQiw%Syn0RxQX_uDah#y1C7HPY6`^ zN>B#P+~N;S{LrKSG_oq|n3?h@Ep+*B2THpjnqgQ+>E}&rxcHk^^j9kWRz`>0Zx4S3 zI5s`*{q;Au8rb{_yZzW64KSMy*KaB*o=?~JAf&d+qS<~t39RArIn&ANxTy}$2Zu5U ztljs*p0&T;8`Rttw7evOIbLAmv?MF8wABGa$a~DDWer4_ExUuT^ZFuXs=6d- z#l|t&YLp!n>t&fhZuvh%7evC{Dsw7?if-SaFi#JgiwV2YZy0>5QkZKK>hrP(pGiVu zH0JPdrJNb3?T2Y^N8a~V1zNLAXbkZ0YM#3WE1jnM%#0gv#JbcSOZWLYS08C3_re+7 z$|C!Y%XD~v8i>t0*dKDk1&>J1UWcB+uVtmJ>#UVp;`WE#Zbzc5AiIA$4tSaP0M=u* zh}B(cih1|^|II3Po?D3j(V9YH;?_QfKJaNAHYijq3$&6o}TKG)be4)Qq zeG%T)NFT6AnYX(A&r$VXXW#W}Ie_H0IGt`PpLoCx9~+FV6TXfMhi)#qcQ`2ogJ)I6 z`pr5o^yB*IN+^9g@rGK}y#1gp(6m*Y6RSfa!j!cI_opEdWY``g+W6tVdA60AF`uE4 zUauuq8Z2Z4?K5p`(c({3;1+Xu8H2t`*qX+Sta@}!!RK>$={#gI=NeRE@rFnS1=%Le zlfh1vuY94!B1mxgS5Ai&a2-j1D4&zLsMWh{Jnf4tZ9@3eoy97O1LaMXS#- z_E0c>A~6wFFyZ4(N9x$E)8S;ExtxicqS<-gG?7vil^cPl)iS zmoU`lhpiI^r?Yp4+nW0gI%O9b1XQE=J`LK8D$KYFAAF`g5sm!x&V@);R~hBozmGF8 zjDFh*REvN|7t83F;Oe$=?LQV2kSaoYqCptI{BpQbN?*6*DUy3boOJqn%;2#+UZz>W zyLnyb4;WA{ofoVcbjvq0bz_e;;eb)~Q7X2eM{xYL!0wV(rP7ugADh^UmvLA3Nc2fZ zLXE4egbDUdJzqwSJ%sH0bFE;7xV%{Hi4B6KE|JTi zy^*QVu+-T(?O2OC@Mb+kLe=;Vu8y&)!6WahmAv^84u`VDy znsWf1FKV&8z=hFjxIGHXLORUktI{%If((6gGUmg~nYo_bRQxN|Jtaiw*nE3j7&IFb z&-O&|(wWK{J!mu9VkE)<|q24=18XXadOAh8t|VqWtoZG1|xB6yaek6@@_wuoi;C z!#)eTl&w_JB2y-1rgixG0Ne5WV{e+J+#qEOgY7#H8;zI=USS3!z zd{spc=uaQouAa{$V5PcEjIzFJE`hu`$Gdm@XKG`^QODJ*+;Xa8hn-8e}sg^cFN)|xs-Krya_({4QtWKNanFon?_t$~$sJF2L zjhU*i?cuFykH!J{d-;s@Vi*z;OFJ1ACggyL(=y!QN5es@W)pvOOl ze_Q?^%P#K^Hth>gjCwMR9zgtCdViz#kR0=ez`|i;$CuXsNxndC?{F*oZ&!mlzb0>q z=j8qN7-Je)zeCI0W)c3@$hdITbyT&RSh+b*-93oYo&nfz{k8u8#6OIA?SL5)5!H(4 z%Aa5rYHa%xM1A`ME{}5k%b(tbE0BxR2ITsl3n9vtAe&x%;G-!CByW;EwD~4aDNMd$ zyXTF${--zQZ9J-?>-gC9bu)`X|6AM_$}W?Vf}qZKvBA~=1NDwXB@X$^t>CI6v9i!^ z*3bsv59(GaT^uVlM0(HV)JY80Bjyi0rnv8WTDg-Hq9YN|T-c<_e4k2bz0-J-B&XKwUsSD? z(1%F!lS~k;BjD&{ZxIRR90}JiqQ=^&-@bGQrOr${pn*A)dd)dM= zpWCnEpDvVd6IbU0=Ra#)%GC$|su13G3U^vgid#!svpDqN(0){?K7Z&12k*_MbEW>J zW1TiPvHV>}xp+FBO`5s?Q~DHu)gAP=-A+-GBQb5T=TiUeo}$<#bjzIy_VX;qe5)Qu zwQkdEtCM5j2sV)F=+wF&jE?^%5)Up{>j9r%Osx0rn9e;f^H}ccEzL!j0P)AcIj2j4 z^cGlb!ASXeYMTZwp2lS@mwyN6KfzZunQu<<_SbckE$C)Q0t<4-pM5sqk|v-wIQ4mE zuRgnnU4#?#vkW9oD3Vty;SwA$l@GCzX(%`?hq=sZBYevl*p>@VMzr6B%?Eoap2U1O z_1F?I{6$m(Dm4K(BfGd5!xIb&Zmsh57=mb1?7U7B_WfETK9O&ik3c#055?U5_Tur=luC- z(Nc=MjDY~X+J`KWNfD3WJO0P7&NpPW+FJsc-GMWWV>r=$t55Eys=RIr&+L!^x-GLd z%G?qjpW-F&aSv?fqtV*R1?hIeaVa$bVzjh`SM2QcJzLD##K0B@5_or4g2KJS#$Jps zzcH0-BnKeT?oB2-%Z@ZuAawN5P)$Va8$tCTg}#|M$Z`~8S7nnAre#B3!3in*Z8Z?a z0oqBrYXDivIk;avx8|W~&K3xiR`8CYlU?XrcQ}N})|W*#Lx?=)GsRToN4Gnzra*VC z;lOmQ5b%9~>}vb|Vjb#L-%j6f+xbnXp0=*@x%pH!G*b2D6ipTt$L5OM{icM#>fml)u)MB}^Tk`@YfxX@%J z8Y3VCw*!ZY%H*Yx3 zg|c`gvs{$e13$D_!wvXW6SeXUvgB*Ixi}$-#I^o}>qP~8iwsX;FlL38R>_2$Qj61p z+M#!M16zHO*jA8 zn8e7bJ;F%Oy{wd)@F>RG3$MJIX1BylzJ!-*npcu+OXtu{wjV$oU^);B0g*G-oWwOg zIhRo%J~YJbjI40AO~J#MV^==oHU zgEatn=j0NH$lQVe##&(5=0%hGa3=MNfgf9YtIXiL7w@RRc-r_(WlPKqRx0hQT_#l? z_rC2jh7GuNis9v@f4hm(TyIVaHlg{-;+WQAqllAJMz3 z6zs0BD2BNuF%Sj1k^DiPNNApu5OuVcJJk_~NPY5N0Wz0{!HapyA}H=A*l_GU#$>~f zAC-Ql#$~mXiYZ7$@fV-38l5$^MZP35MhVu4&W)GneP%_F^T1&%EUm5tCv;8+A$%&u zS!4cWYh^tJ091TL)3HPR0zc`sNhd@}kReC?5lcxPDcZL{D56Ptn~9irh91qH{DUSL zu9z@H#b?c>AKR1g1F7-NdA4l%ag&9nG1(M6vQKfRDS__~lFjx`FG12>%xIFG=1(DWmbjk&YGsYN&dUm1f)3rJ437@zeWG~gD$g9& z`PD>4u{b&uuY*Sz$)3Oc)ppPm*yBzZZ48=Vn{H$pJ`vR8x0VdV)8jd2T#mMunRx8= zJE?T3fthqOYw6K6hDjgvrhow06xNsG7&*VT4NaYfZPzgt`Q{!)HjC=vMzZQ_i{iO$ z&qXy$4O1@l{>h<@UUkP-*d)&JH@~8pBgZDPzQ4VAdmHko^3Ig!bpI!(w`}rOvK?PB zu*jgMs{e*M-SRK2SK@6x6^&vi{JYNtek=wr#jo$NeclSjrJ(v^l-cFtT5@{=c0Igy z!>m|=6Rd2rZ3FA@dDU$V#u_&Fn$Jr8o2QM( zX2O@}sYd3_R-LtP?zS&1`fM$j`vnppurfR;6q73W8MTx*0BW)T*L57ShbIB7OtfGl z4BiZggq2?pFnn*7U`jXFpyhi4Uw#mFDTkT!*ws!*E4-W&Uu<7Y9b)keLV^TcBz@;G z&`&?ieih_=l}{={Ub>m;xuAeICEJm8`>nRz-xopiaRT2)cHu+oWmo~eES)}DS@q6rk#AQmr)Y->DE3vEkEeaTMjTJY&8p5ZX|#tRc1A zSYgB_wdClj>@e)?WDD-=IXlehinN>MFyAK9=WQk5Yx%p`&y-~sK(i+XXBvHNQNv@m8{Ov!uPKaDUQDcST%Mn%a5FdwzRBko@=tomrM~-la4h>wsbM;+p zew}&x*hz13(yjG4-s!dXHpzq=t%UKb$HkHB{{u|Zt3g{AzK)=Na*79+)_+R}ypD=u zmxp;9LeL?}Yk@cT&42woW5xReQtQ#35{lg$U9#0^DX%+HEKQeOJV!yF1iY}pru0&e zb&2sHFqy3FyxZp4a$4}*u+f3VGbXt|(ckv1^WJ6Q<+p_)x#JGAe+PIuj_r>Ej@oYc zxi}gv0P5VI+6Ajr=vLPBeRTI5PK`EN3T3T~rvyyIn0w`>fBj6*wJ$1TOdj30%} zFa*-c&@n*_elISxMaKCGb%AoIO@&@)%JBeX)td7P_qEm;>y1-ryg%l2Q zVL}MZ$Mv%q>Be8iHIW|lCym0T2uNYo1mrbZT@WUZDy;O)eCLsa`Oo_-t@2Od3BclmCEa{Qu)UDbIG-S!q^XcIVYTgUT! zZUp1WXo{n2gsd$^r#8YPhJu%^b>VKxhCN0J*U>5+2QZ{tv!Sq-s=3#v0?%ltxF=s( zY30ekR~|L)Y7t*mz&Ab$(Y6|xi1)1t8Y16 zB`;rLUqlpozE(mKpAaf=+VU1Uq}Vl9I5b1m5dM~TXr_n1>QQgPN)RDM@AJ-=(Y+nV zva&=f=dsSjsWHuTE{>R(*@S$cMcCyQy<&yE%f`SB8SE9?klTu)+}IlZzooStBw#n= zNd_b9Zd`kR|KImFX%oiZ@V3%7+eV@OFW42IzagQ8X)Qd_AN`+*t1svM@XtZlt=#d4 zUYmXR8)eLEUbl=5_bbCy|BK%#gMR&eBX#Cr4_s*TF;8U$O{e?5-k*Z$;Oc9O=y95+ zIR;-7l$)oMdEUb&aEudyMJw9Y2YqyhUa)j-YqA#dS7c^jx|DFBcl9N(y}2qP4k}Td zJ30ObO$ddtB$g0AE89E=8y1%qgS_R(;eC=Y-h|3{7FjB2%%3%(-H?0+iW6pmS`rg6 zxt8E}A#FxK-nB;`1YdE&#}n~!g(rpM58;))JMZM_*p)eD!*=|f({KsyT#NN9DS{`p z;^1y4+Ai-K^3~9_pgbNmS~d1MnnBiG>9}y>DW}v8v-4M4>%lQWA8w1{6Wz8<{rH>& zqbHf4BgwGBX~~ka9?ie&2D@O5+JQ)qb9dN&i`Yw9XNUGOqh9GA56N)%*COMc>lL8| zA)*C!DlJv`;zsL8C*CaRm@Dtme{zvdMIfa9Veq~!%fkZC3$aeEF0#CwIF0*7$d_A+ z^WDzRwo)xJ>94Mti=p*L?lX16;Edz7xpyD6@I@o3;eWHn+z$(UTa6AXNE!)A$SE`; zw1oFo@PTX{%U|L8en9M{ADBCZ!zjTz?3SArWQ!EX8?gJD{anq;4hiQjZ4uYko`QQt zz$yduY#X=I#{(+b?h@gumaJO_pAV_bubi~uyRi%5xXmw?jV52$HK12lacI5wE58eS z{1t@Ajt?Qz@{*1s^kw~}_}JsMM)B3(w2_>+PjU0eL!r4whf;X&fA%2oGF`{PCrW(@ z4AD;uxcA}1j$2-N|8=Il^*6n=*ZbK!c`$q`d+#X_^m$$NpC0#ZWS)Ngi7h1AAhO|k z5DC8U3pw$#DudteZO1v{^rm*RH!JkN3K*-OzAeE9uUimLzp?vL1lj3h_zQUvvixJR zxCQrh%cN*hA1Bve=-M*{UrR&NZ@Qi4*mb(tm^M6NHrWw3bt<6HxS?Sc$qSJMYs1 zaj>PS?S6oyITQeAox5pTQlnaz?ZE+UO3`HXI)}DsBfD;vAs`VfIXP@f9a(s4_2W_9 z7#Zgb5OwlY4=u0+vv6@&cZ{4=n`|Xbi}c6?N@G4Z^pABb3#spy6+plt&hbZ2=JZ98 zZ>+Zx+g_{2wy5fw(BAA!**wzDxHbpZY}8-PWP8JvC7c0cu+E^H$nX9DtY+0GpbYB?`b3HDcmLS z>2H4PPVJ(Jl1EN%kBwUiFVjr)=Z*-xzi>J{^J~Gqg{;}Y_%ohA zd_H>~Z7lQ&aI^Li7(8BvYrw!#Z;W^lR!62Xb(HtsO@8OQd`#TbXA*=$I)?a|b+PvH z{b0E5xE9JER@7!C3v_*f1WLhfz$G?Z&KlZI^xmBj)EbD_1;Oa#N!PA@k9>8~_74jT zB|kUTWU)Tlc`1C32zwB82}&j8SREF(20l!ITTs}$R##3=D@`x__OW800a`0tuNdB{ zqh#@VKmOsP6~NFWAjznywryrzswz!x-(CyKq3N~mNh&SgZ(#$#Oe?XyCdKG0?`2?KHM^Kf##4G0OUg zX37Mh`aQ}1+oAnmqERD~1;@y7Q|~YO2ba)u)!AUQ;l0Bvo=c?<(%Y^KM0e5k9!uzQ zy+LrSZ=>9O{Y(0ID`GSEX#g1MSzr8sjo!EwstZ6sf#n%X?RZ)%^qg_V7YzYXienX(}X~j2U@d%+x{=0V{lj z{KN_;x{4}h`@ILc_ACb2NsSAFp@az}>7vibgf>CrabZPMqbO&Z@VO!kgF~%b?8J9n4o0G5lxnU(ML#`vYev(kn@SI%U~>+=Pdn}b z-u;rHAiQip9IdtfW~ord5j=Nesr#x%rNXa8CRfxyL?_rw9vW&Pq8Qs(VF+Msf@EVZ z-QRn{{dSwJGAck%0gA`(_I#Tt+7yMdW-6-agR+-GcagUAvQg|GSJ||DA}{>)b&B}f z*Y$`^<{~vsnI<-d$f=7bTM`SO-Yz-O#$sB`{iz{wAJwibpU}=m5*owE;0YyeNpd~f zHevEqoH2fMKWc@El`=poLmoC~(o^+P-XU|RNqL^g&}@7ZuA?5!T7}!3^;;$ySk+97 zi?9G|N`=PCJTPI-S+np=xJc1`JaugrX5XucaRuADKk6c86EX^uizXQ!zIuuNg^EU7 zdu#I0OLiEkjOR(a+ROtAtSFEOzpPSjJW~q)yXJqm$hg~rW?!(>jU(=9?}%&=^2Zt< zTKDbRE`kETG5?3`CTef8VJ;m()c+hb`FmfdKUL^$5oV!|+XPPge&ewz6a0Mdf?jbE zxc!2W7TCcv7QFH=gU;o5=ml#|zw9#m!B};^vb4qiE75x0X{`MER%YjY?aR^bPop^} zr!m}_gI!JvFfy%cw^^@I^5f~5E+=VJhSPO}PrkLAOE{UAc06N;BBAsiU^?l^L$4Xh zomsF3KxgnJ1ieL!=KW_lYYgeQ1qoBtyqq8TNhEt&F7hS_4508umEZvwl~8;#&6+B@ z5U2xAbyfA)`Z^L;EEWk8#a@iqUe1o+^;Um;xa6&JrItTGTQ!|VE|V1{+gv|bojv}c zlr~0VBomgDjO4i*a9lSx!!?{W-~bQ=?w@G259dnll|n zZ0=&6EpP_*x9kWK@$jLO>wUt+_{?^-X}OQm1D`Uo0P?U~%>!ytI76BRYwv`6AMf=; zTB#G&48|`*8} zPMWq1KS3RG&4TI1&~}Q3j(lp1=%?Ku0~;lAN%=B z3G=x%X<(5aSRFuYK>kR=$)oA~fo2q|RtsHOv1-N2*JK_W;CQ;Z80o}uu zU4LpSJ2!q58aZ}OqwZ<+-^DlCl=<9pMYykTn;%UFyj{Bhr~;~!SPwq zf!wHD9;`JDPt87Lz0Bob2)2uEa0{Ic7@4JaC+z9kC*HA;S@t9Q#|PNYySgw%(3hBd zy5-mq1#MMy=0N7K1PbK4)!`#I@nPd2pjD?XA zrXZ=oV~;tki~Jcj?R5oOw+M&CS|6QU=p9WVd>ylwt4;(WTc6!>(q~91-%2jT#@p1Z zNIxYbz5#;tz|LUPbQ3P7JU%9YW%Gd|Rn>=tS<|>W2daZh0dZQL@@jK4-JlBYg$B&- zkE&4a-s2$^2FQ;GFR84g3HL|o5I+-Y=NytK*smgSjWOO?$7MvA&E$2a{r=`$po<7$ zN*8L&ROM&Rg_F|QcM@$(Hc{KEBuA^fA8PJ%mcnV&_wGyyMzchFnq$^7=T?CWL29n? zAXUkhfjocAOg<>ww_8#bc4aP(Pk$gKc436v%2!RFKeCUl&~%109;N(VG6GWxvUf|y zVPY;6dz|_6Yew&3*IT5(ax!~*CCVsF8MQ)>?J9Ky%14{=|C@I6K!g$hiaX|M{NHFC z;&}@~QvECDD&u==U|{|zvh!eU`OfG~0GM8R?|Dg(<}!Yi`HN)C&U587J}f=!R-nuL z=-l^~?AW^}a;}inq4g2V=dSqE_Jkn-{0|g@!}qYy`?-(%6TxFLN|jWVLy#scjbxiM zwVD=wndoW_fctZ>$8P+JrMs@xpJC+B0~W!)Yd){fJEdyPxB_iV=8tIRjDq2D)6!>H z5FEEqdPOmyaA4rNB3bPPFHI~$t7&QG8J<@`prJAQg*g8`2!wURa|Pw>x8Uu?h%VYY zf=V=R+d=EB^&m$kkf<}J&6QF!G$4SAUTCx1CT&Z`7D*mHoRh$6?(}QcwNb57c0Zf7 zHn=`*u7J%chE*{w!W<@SM)opI4t`j$v(ZnXhwSH(B^7>YUYF+tR4ZLxI6SEw$Y2CA z&PQsz7xi6vXa+}5ga%4tQwT-66P`|79oc)=@g9-AZ!3`!L`Qfw;C7{DIc7{}g(_xQ+5pL<|}CM{ztIfS{D-_v6eLHZd zpTO}F?{U~S6bPN7DKYa+HCHW6-o}J#_)7H!uFH4rTy+3=iRV8;HZr)@oa|s-7N%&r zWwA|ph%eC7E|%L(k)g{8%;i2*C2)Hw#B)K>`!lZpG-Z~)z)|}%n#3XnREs(KIZ|Igcb~lo*s%vE7z9%o;dUv#&q5D5t^>}Sukl+` zA=BpsY6{or%0rnDy11mr1Y!FI)G&wZPOeDW|~jV8RJ zFdy3aIvf*D%mr_s$V_0z2)^jBo{r~nnN5}kAi2JvPAVjvrZQ)gwzPo1ua@(3gT`{}QMqUrBU zD`siALatr^>mvmh%h+MpTfF`2+2rZgo?h}B;iKufy?)%!|FY+JoBWI25sc|s!BVLRJ)rUV_ zQs3|mJ1wFwe8GX0xzL<4`I(;!OneXgE9{IvQLln!n%UClRAe_#^QWX1T z42`3XY3OlE!>TZJ2i;!1g8mab!nf~>Q-x*gHCMbsxly?p%TwzQ`}E!49)t+7y}P`t zKHsz@&*+Lueo**19Ji9hP#_OWkt$MYw{fJDh9`#Go++Rgd}V#2lqDI{!#%fNZ0eHQ ztTwMuTvcu|JM@0gdSk$j+(ri4@4&4nuQt*Xm9w?z-c_ESmvId$N~Lt08O_ZNd_6LK zQ;s^V@(gF`R@`yk#l~8<+C8}FRxH&IYq8N6lr$$IGb1IK9Hl)DMQTE_TmE?H?)#we zq0Q^dSWQ9$lO&=Jv#H<2vj(i*Ax^ z`bzxmqXO&BRRf8Z%hPk_y;-?OFItH}eSN`BUGT{Kn<#zFcU0qPl5?3wo@o$e%ge`} z&iqKo=?YcFrT$+~jjG{|@}0EH$q(m$t>mvx^xtD{s(~t%+Xc{h`Mhr}1N>JAo8a{f zn13NdM&f#_fxHVl@|w1$|!Oq5vhy%;gSNc`***G~Rkex=97wWGTf z`yf`1M-q^>K~<>nF*t0Gsv=#w0tOoBuG*=d_~{66t1kOh_Jf`scYFNLo91LCSPUbb z7PR8pVrqj+94ah(YG^~*0eatEp@f_?)T;1m&gK2a`H(WokwHY3z4@8M&mgq`6ae_R zPZ%DvEuuD)cX^gomnLg~$WY#;hc&PD1&-wy&fs?bI%zInWZDUPeMxQ$KK4QP_Nx@==4Ed_>5LwVYd zB%lv_9n&=R1w-t9TX(Nd?sno4%$|AfmT4Ej#dQ{g=UuGq^wm z&`jg*3|=c&8}>5UyK%O7@Do$@*1v3n;DZy*G%r+v-rF-JNfJ6}QIMawv8q8myGl^n zXyNh|OmY6a!WlK2D!r|@huWfFEfv0~1nPV>umqlZMXk9Q*w&8^zcxteUTBZJyI8UI zwEi**jS8U~?55nwX&LDsu|(CT5V6}dV`){HMozNj46GMBi3GA+ecuQVSxTJ>4Co&T z!xIn-ZKV+8&FsBAX)Utyy73eG&Cv@d`Zs1ngFAyAW&KGXSHh3G4#N35#Yw*P}4KBHjBl%tcOx$nQrRZ`vcmS3Xsb#3$jP%(@zym=uH=YojH< z%Zu=eOOU)8q2x_Wka%ElHJL^Ap^s6l-Hm#- zoV{Q^y$yyp3_)XBRiJkCYS9MI?}TF`FZVa1WAINwl7=`xrsj3KoaOX&0ERYo6Dc1l5FRZSV00kLnQJ@_RZFSvf%*XMSs* zN09a=7S&GazkBhHX|{ONn`{;xO1P%rHA8dO&ZQ{oD?epMcDmH%}qe$!i#zJRI z4j&gLaohoP$dMj=w!o+f2=p`7s5k@48pn3~w! z$~FPLz?eZv9-W2=I9|5$bcw27Y6ZMq5LkZz?>=0PgZ<#ERF^kRW~h zSY=tyU%fp>yA6!T;gMv;V=a1F%UXzZQ|4$zyMF@Zk?AzQ0c9mZ1!M7B8>j176oyyb z_^p`on&y6ff6OrL-w#K!{-GynP=x(4G)eF@|3iVT3GKWQIq-M+C%~cAY+7-Eg(Q^s zOGPHW23Hy)z#4C3H^z)<@oWl)anSx~7=6MtvnzY@Qt7?U#P8$kghZ6yfU|`?l!o)-eJGz?C(2u>;6NkD5z@s>0Z5rTQTHJWJ%+F8u?FDt@Hc*QHI&$ zU~%VW&gaN0qVqbc9`SkA4MKs^)HoCSBIBxRDrL_-!zy;z)1kXC#b=zuvZY?w{HW=V zHCV3+)-H7a0rP&HLAJ%^xak9zVUY*pCZx5m)n$R){Ra8b^~m`CR%M;rxY<@?Gm_6Y zzJL9Y1)}B-E~>Dt5C8v&pgo>Jkv%gTS;1x*(Ub1&*KM}$x6zF52Nfqa4O9s?-$nPV z@j532JwpxNT<*MiSP?MvIfSAm`=NJouAK|w$pLwLK%Y=U^ZV- z_kHfc3wg9vd6HGbgQ*AE%niFQ@unZ@W`+|mSz@0et`5FITC7bjMP6bjl1EgfS50_+ zCTJ~U5_4T_z3_)xpAJvX{yfcL3*u>p0(RfEA({6f!mRp2<**7zcO<1ft$pMYHXA|# zCr+HeZ($Uytnx}N%vQ}9i-f@IMvB0jzKz7+GzQa?lf;1t!|k^QPpX5oT{1Qar9Z|n zc)6&;k7zFWu}q}kt4w*J>BClB0e|ysr4Gf0C^;%ZM+I`1##Q&)YzwdJnq?Q@RD!Ku znM9ex#)B??utY)mG^%Ec(T>^u;z&g+fs1PUZDq|4MN0<% zhw-1BPu)vYcu*w}B-ZPB*Bml6_{e-W(2Jmk;%9+>w6$M@{-cYvUpGnfoX&2KlD&{e(1^$7B zcKP22sXA@1NyFza;0ft}m$3-2&xS=NnyVmOy8bP0hMmnoY2isH9{=;6f zV*109_bPq$?xPHs}cc!@BRBb34bl>ns+nrqe2*H#KzhG^*^jac~IL?ry)n`?fMA!c=e=GFbh^&1iX9?B|-yjjl(L=^g)>Dv@v$-dcm#n z=PwtT!KUq@2(_snX~o2EDRNcwLh>`pGsu5ee|Xfx(ysTZhXx2_*9(F8jqb{%HOO97 z{t!@Sn4ueDYTN2k!>dB-=|mx}5QP37D9XspYmp04i5a{QJo@pxT}byPmjfqkw+DCXu~*Q-?!eWx&;)mbf-t#@8CJ7 zQvIe49$!AcuPGt6A?Q~_bBW4{v@%qMqHd+6JzzYNPPigl#9%LC=&Pyd7tTqwkj6la z;Y`@k9h^WS-v!{$lhpVzrV{q|DMJ6k;Uw>~idx<(Qz8AvF*lb{6>71(g$GqtQAaq8-OEkyOFjKs?R(dj)3>@21n zOa@k&^Ea+Wu%&`!{(ep~zW=qYar|{td#=Z+ov@h}Ie(P2Iqmj7gZ^XBSqBC;S|JVAi=DMLklwRqsnIuTQKd?zyFOdATjEJ^fCJxp0o4Z3?A@1n|J8wyyo|pL*J-{ zAsf$4m)~|R3SPwhmpDRDpoLrmoo~y|CvyMTRM;)K;C497^*eCFn!@|8Qi3+sagKFw z#E-UvD-@}0*o;*nZ?jih;j)|j-Z1gJGV24!?jM)oWJJyYF=MO`p=e>QFiPj$oZm2*YfSG*4w&I8DQ9RDi3~SL|Ab*M&%BK|~8WW?lf|W*@ zlpN-OOYxRW#NGZf!@VD;WErPGvty?-Z{VMSD_V5d3{M>VbR4$Kln+^BA9G+6UC9`k zJ^`e-)_^K-9GvGoqN$)V$mTlo-bxNtu4 zNc5-_=A40_8B>Z8Ba~$5+K+ts2U<{0Os>!@s-`Rx*AwJ-5viD?lcWe9oNoOT0h2mU ztMyLuJqZ&WK1^SmZ#Lxu9ha*P47rax8m&T>rLF9HQz7sjYF07z3~;_deldDUC7Nea z;yH`b)3e}kA4!hcNRl<^RiA%lUI^=5fbXL?0ej+rHM$n>lZ$q+08J5_PNPdS^8XuF zAsF;PGCy7|lWqpr-s6@<)$;wRR~Y5u9+J*xwIA*ex8nknB+ zwl`#*B2&x4CzJeQ{R!}mzKrvVYpv^zriX`fWv8~<Vvywh`0^&B`d zF0^ZYL=2nib#U=>f~fZ4vC*#ctxmdIaFs-rQ(%MHllWYZsx#n%$z-9+2m z)#r%i%+}`yU*mzfYBLrktCkw8l2^PP^~Js*0;lzY(^00)-X~&u7X5 znK$}?+B9UtJQ`1ZXw0LVzzMpxQ(dx@oABc;EMAu zmM?2P;bZG#lwquS3=AI1gcbK z1;frFkOGCRQQQaRYQ3j=^!pR$WWur4-%xTQBsgdjf5Rqr^nk7c<-1#x9QiDa;iZ`hZ(^W-|hUt_;%3)5VjFC6&_G8!rCtR4ye zFcwFs%R}s1uw0#cB6CWK2*s=HV&0jZHIKKh$v#$LoYI(MWpcHWRKA^pVizohWdr4C zd%Hhu8*NeaohF>tVvmtHS)Ftn<_wVHa(!Q16Vt>TKbiXzEVbfnt9x5cEY|YYIQiPU zE>Uay^7gW9xC_=h8T#D5FYEV2buwO)4t2f>ubDT2{{?jZVOHwBQ*y!UIIVeKQQm>+ zVP@wAd9iH^EA9tS1v&W@{lkr9&z{w364+FjOUkaxHMC!GeWCooZ>MxVrWbf*z?M{J z-FX*{%JpDl^FRC#Ed!fRy*E=zItG3ROukBpoVZm7i&~xhFKy*rU~%X8DG`{Ng!WVL zR^Xi-2VV2C`Sq7LUc}bqnOjhz0lb(f#G-38(tSN-WxxD$2!c91E6G~hi^B}k*38Um zwT{OU3@qX_6o0`)StFQ#T}q+={0-t_VOY>os-S;`mYIxixJ0MQ`{mB$p+&YLl=a!V zoQJf)uO6Hz=7y{M;raxKIkPh{M{ zmHFq0ux@BSLO!PA%mq{7FgM*6JY&d%2Pqja^9`L1GRP@2NAgEQ3c@IoArra>>rB9B zw1Rn+xfc2I#Iy0{>uiZf8c<_F?V)isbc?1uQ>p&P#Me1-7W}S(Z=;aU?UKlJtUdAA z^I%eDn+BM61Q*XKkTxtV{{fl0GdJ|nY4y}4(X?Ah7n`%<2QP7WYF?vwgb1_^Qz+eQ zdK}~mnwEk;GCAgf&9fs-GW{O3oXRPLp(9aq<8b+zKkoFP5nl^p`* zcfq&t0O+hH9i4aF?Y7g)1Y4&6UkTNH_fkp_u$|@M{9gp&gzm^L(z= zzIzO$AF`V6*2QyUqt<(~-A%i|yf{8^#O1wfr`WajVf1B3^+9BK-plvy2wa&NE<;mR z^Vd(tkASM}jMJdq(>rt>uHR~QHASJtz-a87gaL7T)u2Tk+z2$8Fhh!=2;VG2N`Ebq z;6i5vs-|zY+)h@OD7}9uB5|-fW7WB_F1Rm2=3n3?yvMY&(yfV-U8{s;3uATULhCb% ziVizMZud3M?nXOSFv7B8claRY*_MIeM-f zg+diOG7C0hb$_l|XEf*x^LC`QC$jlvHa65W%g$*PK|sF6L)nJhTuJ)R0D9`Cq0q*5|GzJ@3ZdR1yrOk&L$5cac&@>ca-w1VDj zP%rD?5;5HbV|U=+I*d`0ToalRhJ%BC@;Qnt!rHaKNor;Y~+^Gjc6Cv#4W(8Xb?_Gz`If$*W*);qjRe1pP!8E3xI57s}TbQT3 zM^W*ML{+RO^&F-=v;8EtIa7KT?CTNqbnnt42(0c04ypM5OP*_hwM+%$-{MKWV)zUt zh|E4$>@_hOT7YX_nK>kSSiR7*E;8J+5BBjcPx0Dcb><1W+lFoQk27?r$-b#oV?{qX zT?Xqj7X*P)cb@!sMk@jqo^?(>GF1UR2Rr1}3amA4>N?=>c%HNdh zE>TpbgzGEmS7kG%M+TFBR@6kTKiGz?0otLG$q3ha{DQ z)w`yb^6Oj+BvRF24X5OKy$ZiNe>j2OpGn?lxQI@bouvF=EBQIMhJ-@`P}(ggU)Ksy zeu1?SA)QMVyeo8&v(%^1mUL%9%_z36{UzuLmU^BLR)kKiyz{#jGTPLcHxZbLBzm8{ zz=tdFpeM5~!N8o=p~b%_?v|8o&(c@|fBH(BVKOK$Sd24& zx*mmd_6G6K^goxCe7Y2JC-jC}+)n#&lYH7EJFy%s^mr=f?sn%eC#2(dYi#2=-pqaO zZ@)cc@cIF)rqT`pDHQ41H@|ZHevLsVv}ngbB{B_57*;pLp3)FE#E_I=Q}<7p&hYGU zF`ViwY76_kg0RDqCbN$Dw9CK9^!ZmAGFA@6r|OmXfycSP0?=1lYeQfG*naZ$3XX!k zIEw`J(^P8Gx#0seuBhc5Mw+X_`N-O~e}^J68nRs@X2WZvijj1r7# z4Wq;M!0~<`IdUFiq1g}JWbQgkCZbNunS8$-vgXP~%d3HrcA5LK{Tik?F^X3Mf_}Myv+2YW&QS5+<+Q-_k z2mXp#j7&bSgqdAS-PU>*Hnzb2U=M)`Di~3z@o@W*70Xil*5d0|G)ysudFCG9=zc@h zIm=i!z^TE+2&S{%l8Z4MwVEorkC1D& zRP=p%#lzznBSW``Q}oJZWo&Yz;mFmz1!YUqrQsbu^UHq>RKQCqm~AT%JvHG-g!bMU`*jA@j{?DZS#!rjEx+1BZ1@mF$Xr!LoFI z=4&g_ss}!>^TCXJFeKeuL2=FNX>38zRoR^}SM5m1`zitDLD8_sKt4+!U#_&H_emF^D5`< zUm&3Y72ySTCmt=CdMVGdv#d6UD#Flg)vVo&uXt^64j4})WjlK|>7w0^;v;$TJuh*Z z2)el+j>X}@F*Q%~toQV$1FGJ3X6uZRsh5Xyuk&%j@gB%!EHJ&};j#Je$OWF`4X;VS zSM~oz3xEFO%A27cDCfNFcQ9XVMi|kUSkZEWvo>_XkC~vs)kDBD^N+yJN~ClijAa+< z5x;Kug#c`thC$c6|3U4#wD5A7K+7eB{dq#-SU`w<>2 z-x*Wo!CfCEM4rQ7*_nHH8IEh85JBB|w; zKlla|mk^p~?GaJLzkf>%rxXgw!WD@`qe|P;KQJXL-H^5|x|}s7$@%#iIi9~ZK6Am+ z(3n4>$#&#SEMb;HISR|_A@Xt{e8?cdd(ae?W-xq;><-#ddV2Z}(D{iy+~Y_8Mgdh& zbz-Z+HcMmbnyjsS{%=@+Xj$EDl{IHw4YnV^9iX6$mYu@U7NEZHxiOWhPcHYWY#x4T zuK=*@dO`}37UbBXL4#l_(r1p=V?-q*bb1!BV5H4zU{Uq-8s; zAe?*=m3&C*rT!Ahn9+dtYjq@C_IV{$gvR7S66-v@-zG_BHvUdTC7V5wI7%Y=k13wp zt8BPm`wTs@94No2JZ8>GW{Rw5ncR(lV9X=Krdzaan{M(|y@8V!85!CzHewpbj)RZ4R|x|?Fzq{^Q82mKPfp8f6kZX=#bRN3l`v-WZv!E^B_7cvSu^IMy7 z99}{4J-U6`Ec1JJ%6M)Axpji=T<4;{@CSec+mf=~o~M_eC;G>6rMR7ycFo3@;%f$| z?xQ6NiZ6#gotRP<1=1Waz$M3bYJ{Y?*q|q9F`1LbM zsFSdP7z{l&obvRuZ%dR_FI#2#syoSrdxLIn;t7D5|U{F z(~AnLhwyiEI^b<~QzP8V%n>>o5ML=a!Vz-aY^>5B_-sahu`|#*dy1UU#|Sk3W&{l> z4``cN%0nkKZ(Cp%-x#Yj;AaR^gOXylgs;Nm@hDrQX1?OOC_sJM)g2>$d7TSGYJXKq zwdTanp?XrTH6i%W-$iB)%O^btVFyTb8QSgJZDPTtADUDd{g5VDbfls(gJ*lD33C@R z^B}iV>>^{G{q0OMiej})_6eVsZEdnRYFsq2{?`>jeOX(gBWipLHjP##3$whN15F65 zo$NBOpuTM2Q-@hzQH7aS{`0ynNJ-^z)H??pMiv=5@$+%|T+>>0(Hp(~wxMih=q0C~ znbw0-wHhcretQvK;Hu)_TOiq$o6hI0*chShKb2j=QGxu%RSPD-ueqY_sn+Y zH~mml{<8xM@FFl_?`m>+fn#uLQX@ig#ZhR$7hUTLrZH-GvH}72Oqa6zGydB44>HDl0$^7Q_9=<4 zszt&$Hvv~+WpK?|xg!Tnu+|<%`}+(j{~Wj?doXqvB%TC&Z*V=n6UdbF5{cwW& zZ$Ycth%x!ypIB=xXOGAu&mr^IlB@i{aRiUBk+PVhhv^cpGUs{igU7bKQV$iNz;BlP zzfb*w+uioNEt6M?tXmXLo1*Y%{@hm}s`f~cLSq)-t%VO5AkOojM zYX5Wng2{SO5PAmWck36mR_eYKm?^djx(@A#4eyU1Ow>QQZOgZIB3j%$^ja7Mtb-Rr z?wDP5At$iVB%Xf7yIlnAmsteL02|;HDGHsWy+#WD-vosjMn94{xk!>5o<+75|6@%+ zgZILN-8fh0&*#RpFGaMbi6oMEv=RAaZEoKwJ|;pmho_LNy68eL^^r9r^p~c<7hE?K z28)bHMx>0u#58|$9TBBA09&YF9%=PyOmP^Ab^(t<{d0=qceAEGkljjZ3|H5*jXr2= zG3jUNFba%=<}vzbsnHV#pFKvl7r&ByMmUiUzSkWibXCB3TV&5M57Zb;K}O;!JzxEv zYRxz(pkbsV1c#5H!opBBNq|3#v2Mtc5(&xh8MVcgLq)s&FV7!SnVf=(?hm2t#&k}zQ9q7Qdh?>iAPtSh-T#ro(P`hHYcD7 zJZY3svYKMn2xHb^A4&nMhs(09PHi&o_Sg|X%nj*a6|TR^YfV%>vQDM^7brQMJqaWZ zCuG^>1eH~D{WyJ1X@{qbn3Gi0LtX}jk6`Nx5n+4^NobE4)umah1i(Hnzvlqd?A?e8Ke*-&zmp=tLPzf*4etHAr}UNLTJl=RBCqcg*Y zr}+&v%o(Hqwk8rEpG&Vv5-`;?8tdP$y`PFa-^q;xVDA))W4ov1&Hz;y+!ux28!kwj zj@QP{lf5IhP^%(+#om=RyjaqV$j#r<`kLo;M<#vpf)+&YZ0mQo3oU`Qx98$*#^g*? zP?*Q~IL~v8p92R|W_ob#E6?4!5RT*TbZG*MB~38y>FfT)+>Q)(L%;yGuBTTp(j( zl-;Q@%Ko2AR4k-3R7jHxm2NqmL7S#L^dI&6k8OGc5%%c_($Sa$e2q7=$CN_w9_U z3cCHrh{JYu(K`bXU$?;LnJDD61&3iv&#@l1q?ozB`ccr(=Xxz9Oe(y)QD}|J)CmY$ z^3@=SMSjoibWhQGgsJbQIf={yIBNS$CXne+=yz7*_=Id27lYea9NLjy!}jg$)g%Wd zx(fJd;=q1>Qd)JcHbq1K2`9)16*yh6ewox`{1#_JPB66)6n^0V9I^7Xe7W$!5 zfPH%bKX5|INhnr}G)8I#=O91P0xsR1fki7}|1;P3fLzWW)5xt*w*>rj!*)p? zdrn*iBSd6QH9K}lsIR+k_*Vuz^?uY?%e||4eBeaD|DdFFUP^49Xwd+0wsAr6e`Ij) zOgY+(ccvVH#o_w{Xal~dRL#X6EJgVaN-nhZkIh@4C3?zBkIfjizZV)>$N9JHYjA~i zfh&yaJ^AT9KtYRe$ob__))l;kfqWL?xLGH z;5Y}#YCw%epo1ktyJ>4?h7cizV&Y*$l)nq(tFNuOq0(ELRMP_N!Qx!uSC!{8d0-ueq60Q+VYWLdrl?~=;G*uZ?YpT3Ha0kh8EH&W2YItm zc0n6FP=)hmD+k+Sv>tfdYV-;#8F5+%;MSvO2m{qeEdoD;_0dtuN?6FV&ZseYW{+UQ z(K9mIe*bGa$)#s%4XC2v|B7%Y4zly#D87SDqa`A7dZ4lv=7TRnzeNbHZwpvw33 zW#BJ5fz55K+te%lh^QE8BowRh5elB)@(p&866K(I3_#7p>BuA|CICXQcM1Q z-JAD+cnm!gxs?A8EJfW2H&sa;4dDM5rh1ox%yhr|`f`t_RXyy^o47BkYtn;9BTp_p zVrsh%!P=Yxa~Yc~*dxXpPdux6tFwH~*DZ?;ejd9^9)Jfp25R#?XArdGFmrPuR&*58 zdGB;g(4uA3E;e8d4qwkWFaks9G4bD??s}tZ(XDRz5iz-V`pYn}r1Dubu=gByCPf$s zcz^VtK5TRdSZYz6CSjYq;Ow?yG*E687W@=ZE#@^=yq~T6Z5Z$!UHEqn{U9vXv&7f( zVO3l7TE@7KLkU|=-`fgF9BA2e8PLeikE%^=Hk|%ADkV&i^pqzaMfb-T`Y3p=xNK)C99&x<7Q4do1&Tkm_p}4vKRNI)uQZ<&H z_hh-rYi21(8IB6%z>GOA`ly)_*i-+?84>a1{m`#@k0(s8_+x)hXztVGp8D zRH{0I%AQkU)2nVv#tbFfy#pw=`Ke#~_C;QXR$Js+Bo9--nl-KQUY~sh*#M#Je0jQ* z2%drz{3Q*ThrZp(!chg}U4~QXPsR zK`g0Q&Z|<4!%RmcSPAl4X-<5lT4Y#PaK$9If2!^_gZSnB@^546o?BMaZ6_Qi75R^g z5wY2#aXFQc`Bli)WSVsl+?t8GH)Hom*wOHn`#J&>PIPR2^Hx7vxR74mZ0f9qs`igg zXa0)}Xh#WHa(jOG|E!?u?Xk{iZmt)MFw^t3$B*_u0MD@xo=?m#k1cWxt{ONp-}UcD z{d(Co?ZNQVmw<_N_rPL3Vko;y$F)Zv#dbm5HILn3yB0x_tXcpHvEPN6!yK1s%i3ct zPOoFe-@)mMgS*|=n0P`dFwEqW#O)XbJ$+#rw7Y8-`3+cI*YqRs>CVW^QCSwHkuD_M zkj}U?NwLD%5{Zg!goR>yIyX_ah}6y-r6e;a(Fb-?v8YCMDUKq8TD~CutiIngRt7H_ zmjp7Ipu)HVv4E!pw;Q8=);q^6oYDxa#BEFagopkpwx5bWDl<7Oqx{F|u3wM#Vx@*e za6JA{0z?&;L9r4?M@#Df`Wcw86_6$>H@oND@FQMW%J#c$WNql~H4(x-!|4o%)rpeV{*sA@ z0BtlFKu3S1>k*982w{l#!*#Qx2-3%JfL3OCXop!asiZW$3QimhPcE-d{ zQi4L?PVD~p2uotpIw%(Y{aGW~%98hFVFjbQ-F%{7_w(h2WIovdL~JsaB|k-49{-y*F<@-Cwd9$ml& z6nfmu3a{quHf!NuxPIP1Q_h?|*RS{ZzfHV-v@#+ZKN#66w(nbUd9$RmjvXDJX`7Ep z0wYz-FDDio&kid)+i352Iym@+Zq04#YJ-5-wB>b-p1I3&Co6b&uuY0~<|qmbu}6c! z(Ej^+d%NSE8?U|Oi@Nkq|Gyy^-OQ)2HMjYGtwWU-zRqx*U{4I+GD?8ZgBro(0$7MJ zekf`+Z)ErJZE@U@fRu<=33|$Ki&i=*W2Yd%g!;?)=xEKk3>o0KPs)>u<*&G6MU||v z+1w5|{5_YlvGpp1VK4;)F8~i!&Q!fr4MxvYRtl5b_LscGB;#2j-RYGV55PD*5fxa| zR}PdJr(38MmJRSlPEDBomH3^NK>P>C)H=p+7n$3g26<0&(Bj`u&7Un=O$HgtEv%tZ zk$E9_V-3r;I^fR)rZn|FJO2X09OsyjTbLV&B+jVxy>UiLO0?kWyCqwm{=G+8ER5`nQZ%3ENpf5eIRb}PhTWxcMmPXkTfB|Z@>s4}z^C*Z zz*V~gYIBBbFV_dZZ)+!WCL0ZB0->cBcR=7~v(}8s!xOWxSIG?8>*iVBVuNcgVqg+n zEZ4v4%0&+aZ&bVre)vHiB5&0AtN(n%mFRuouYYF{XY3WctP2ZPJ(9hAXI;A@U$s9C zN%5KcIF|`=qxNo7M#{)!$U#zDTPTOh__id&Z4 zc|!@-?)HW?fqBIup7EwD-NCF}*ZghIbfdbiH?*1btOoXP{RV^nLf&wktWtuHuXfL! zF*C^8CcmAs`aKld*H~cy468?1T)sQf^RIQO8cX$8y^aYnGoW|F15}}#?*w=@0RS5% z?JLhOdI{Z+%%|%y_5`|JTqvX4T{2Ja8s^c~WV=)&OwQD->~?_cT^n+7e53BI+DdCx zfScbPDR+X+YHQ@%x}Ogk8yw!`83VQ;v!4|&w_o(wJfFdvoUefGzILK_W_0BHe}mNFZ@wnfZg8t+w>3br=hqCf)o8<8q_1-4#IyTkU7(0FWUG zq@xQ=iqc2))&n(f1$DLB;q7?S{(@?njl^&)aR`gJEb$pviVz1Z{&HO>v|#P=ge&p* zq{93pae5APQ>?u5Qt2qD6$Kf;?H%6Gs*fH9{HV&%W_H3mbB$DzjnXiiC1Mt$6;x)9 zba-!?FsqYnqC2`j!Nf$BZSAmqI!M+#VC7=kETfgBbQGSJBzwwaxzD&Q2mg*SP25#l z&bXEBiXh4Fs}37Y%_RrO zr7Izmy+MEdHRN$KK7{rixQA87MZnveV{>v<`R2}R?u!Oghg zyd5Syr|ntHe5~vp-Tg+MRr}EzSJGz$B)rdaApd+1;M{2(*c4}+3v@UWWL|Q5-C)YA}KfUXj z?NSR&ZMyjv0&$1Qgw#*>6k0(FK9!+cu{&JSa<%L{ylsEuyBIbD3y&!VM{qc_qF{Cz z4Ai$Ff0~#v){o7PGTc*PHTECp9GFW-LY37XMwmi!z4`rc#SZTtE;voFuqK;)&-IkC`x z(7@vXAeghDm1vP!uG>V`7HyibP@a3}NMDR-FEwAQ6SI_{3rjd2L4_Uq|FOQ}u4AYG z;96sk;S=KMk;m4IZoP%}e~|I;)gK?X-NTBaXSoK;1GyK)lV75dx*t2 zJeGA;Ibm6*vxHI4D}AA4kpc(s;pOvGiBWzUcgY#4#LVLZ9>1^1Ud({t{?E8M481xm zC<%EA@dF&^jAMO;@4#4gae1r))CE&A^T3W~$y3+wn3N#pEtj4P;k`q^6(mzPgbm?o zFXb3{Q&Z-ksyR`YuI}kl0~wqvD68|%pet1n%u1P?^(LG_{}%`HIHR~Dkzsbt*#6I@ z?t0X@O%KvIF9tNX)H>))2U!2im`_LMfF!>XCti zJ^SN2Jb&-RN9PoMPrq*!b;QLvmLo6d_--O=9z1?6T^&C_DAb==cZPcF4gMRVS}Anv z`|1Kx+pwB1hUI$Tju`~oKOhr(9{z2zT~-B;LTes>VQf0|tpyz>^6zWC?y4?4IY`+! zQ>zXx(i>M}lCv5K&)S@9pPB#*8{5nsNPcH;EjLYLJH_PRPSXc}3U#0^WBc73ASgrL z_@jEKXHUE)5f8GbK1>mU^|>xNbw{bi!~=5%nlJ0?V2@UdFMcJM8G{TP37kA^1SDhQ z&X8mh?#Nnw8JW0-=60}b^0UrdjwnN_0fkLgD+v^#sZbw)MKIWn4_fLTn1K>26Tdvn zXYF0J54fctb!MH*Pg_k`@ncIe>-$`nziZiIEd~yqmFp!hl^!@yY|F4=G$uq_(G1H3 zpHjqWtZ;gi>xUIs8T}~AqLkmq*yMxb_>eM80&`;W%OpqIUgP^pkPX<*$b_VaEBuR| zOz7_~%%!?2HM+f`+`_K?wYj^~e!f`~|6`ZBFQmT2HzhTxh&DH5asx*lA2hoG?%sj4{Q{ zJE~!h3d-*Klrb($3xYb(G)`{a{zL6_S8_Wh1m2J4+ zDa?=e4@$S4Qh&4WmSOp3pZU19vby0N%aHFHUnjsf8#f)49#zahXj zsFILc1>@_N`)IBZWM2;id!$pS!de64Kt}@91a4Gsc}WK+Vl?kc6X>v$9H%Nmij2wd z0gSH!U*VHv3M-aoPFy*z#^1656&!b^l7Ej~mfkSa+wYdF$G~njnQyZX9WO7`V;8$J zx;{jowgu42h}-TxUyJ=PqkI(e6xeG)6mZfg@dOk+Ls6hhr`V<_L?-O`!2kQ=4k^!9 zk`yL!cSbaLP69gVID&f=XnZ&)`$9N`Jdoe1pAL?r{T=mb&vatY{Lc5~cI!vTkt=^) z`(&Y8zIynI3D{0aeA2Egzb9s}JLl_WNSFo8jmdec*HrsmrT7}Y0H;}N^hK>PpV}}J}64W6z4^Q zm1|BPgzWcP^&xEzK?04sfvv<#ixqz=J?yZETimb!`5)f^lb6)l8zA2P`C)aH2k>8m zJ#^x^d3q=6VnKoiPlaB|pf#OnO__cdVtt&lj;>u^#FLeFhlr4bqL7G*<4!l-(Wqd} zlaRhtz0QDW7{79r)hDr)_ZCrCS{6vQ8=f*Q}#D<_6(XzR~G#(=_zC?1frk7?R6N|_g!Hf7f3ixIF)R0$~KuQB51pTQyTKJ9K78-!-k%nte zA)ArDUX6$Tk?AXcerB!yPAC9Ria=^^HF_j3-QtAcWXLwE4{MezDV^yqAQR_=Plt-n zB<@25U?XF4^z+ce_zLdv1~!if%o*~PV2r#_u!~7;OlZ{J*ZtVqP+_f$ATr3A$ox+m z_pf8GLjxKFkj0TXU-w7DnAHBd(sEX@kR>-Ql(N@hqJPq_S8mEILr;WtK!|+wj{W5udoXi~KZVmy% zLn;J5DTFvL#zJ70vsu~koXQcH?i;a_00Y6LE=HbML$eviyp*4RPfIuv&7I9#yVo{#pGqCQZSZQf{%q7976B7h*;?6-cd~q! zixRqBFZ_itcKN2_Z4kBMs51s8pghQuUlfRk!A?G}HKw56#}M`X*nxC=?`b(IP<3{7GeRA>EpoKjNM7vK7V=LkG-d2v-&|PCO zOW}z}e9RKC5{oRlS`PSr%P7AdzRS*H;%4qDgyz=KOPr1vw9>k(EVu4i(SNQYPV>qC zNWJ1@pZn(;1_ z<&#=;RpV}5#57jaz+g}(fYFqi6H8nNq<_-ABk(PY>O%B5<3m!E{b|LG!cU4ln!G#= z{66&zO`)8!`yUDl(x$ojDqjpUcb!}-XX4ViRs$=1PBN}?AgBC^8}Y3-`-qR=9kw(B85m6Bsfwb=F;wBBVfIswyuY`f@F8UBwA>rQcu_4j#g6O4g z0bBm96D9BoWz%WW_l8i_tzH0UXxH;V>`ct{TH1!)GD_0mnF0Iswcf>vrW3Q5dDY(7 z0V&`l>_QBc#OE2E-L3^|272}Ah;gN|_av?3Ja*(&h}rzqvo_QlnmOFS?^w{=_fEDd zqmDGC&&#geb#*2CZGTbKefe8fU*1FDlVm{Oy8X)^w~LLf4`-bxyk&4}fRXz9V}oP< z%^PO#D|X*qX4Wg}#RwcdF9zT1<)%ZZN(sVHb9^*-=;WB@x5B8?O#1*~5^k=%{_U^$ z$}U~#&B5ersVSpZ;oYv{jL8&pOL4o=x^o@6b>#68KSmozAE8srGn;ZK&Qm8F17MgC zko6FeQqGvmCc6{%CA5eZru&y-dh0V=Sy%8{D2mHlGYC7!Z4XR1-A#V7>BXP=wwdKx z*qZdTM8>l>+Tv8yRWsre@^(PL2SIsA`YbommH#^WlTtdZ6Y`yU|4~7etS%5@z?K{V(wlBSi2%lQ7 z9_H?6xS33(Y&G4Q@>YnQ8F|V*rrz&mBrQ8py*T- zbT_u_DoFi5M1?F(gtdWUrR-1_RW>wMHlR_0b;QrI;OSLznyZ_7ZpN-6%7*-5V4GKk zo>Tb-2iIE`OKWs}HpQ{{-R7yJMAUoWbQD&`8N<^XY&>Z7tBz8Xk)0X}Bb4DTUz5;m z7&K1b)|JYR2S?x3Ce~TDr&K>%)c%EdZ>jH9+A>5SZcUG-i}?P@C63HLBM107Ci-W% zfDWiN7U-KVU-rGP37+41ZX^0i?Dcu1^ND$Gwf@eV1bu(&X+5er+i!5Tzs6c*Yw;o5 z3+|43p<{pb$r1ZX5&!7KQ}5@p%iH8Y(~3P-ot+m}%h65`^TLw*umghM*+J!|LC3We zX^C*aQDa5I(UljmK)8XAGk^!vd*cFhE;W(S^HS;Mak6zaf08|@gL-Pwc#;|5=5s;; z4$@;`!s&%mGKWUj9F5Gf&K-Nn!%x!{nKcjt*mJJ#@n>a7v0hW z8q2`Y^8%~!h=;Gd1bK0NOt0_*$?Eew3aco=II|t3AQ2cGI7PddleGv&|5F&46`V3h zgo$K=k*^s_EpZY<t&eF~tBN z^$GqvJ5YcpV@=}Fb8YYx2@Qe{t4x4mHWSe!{HpJSrtG#C-=DJM+D>%(Ysb0uvKrNx zEueq?t<%lq6tt$?dgZol)>zY(t{VrljCo)ZW8*Pz?bxdCr!;EeyJw3A&-BUfZs^+u z+_!c}MYkg6wUuA)Zzo_T{dq&BuiFe_^zh4L^n|aqUf(>pt$IFBu@!TzTzCnbSHNkU zkHaw;IG>1Y9q|UuL;7!AR-Yy7TfO?Up+fq1iMC%#p{+h(f0`hYc$;-(=x0Pq*P{^& zH4j8jD~C-eli)RaHr!5+pL&HsRrIqL{Ucc@k33sc z!D3B8G0#8`RGuAR%obRfHpb2BiV~6Pu87Bix!XJSf$_@z@^4bsZ$zRCf*LYrS)l|> z&HOkL{HSIDGWXg%4CdJ7Z^f&uFIc*HOPJR!Mqyszq9w=QsZ|bIu!Pe8G$}T;KcpL5b*3MQNmr*(8LJd5Z`R^lR#=t_|#~?JuK}8I1i~bdy zPW~Jsh5GBzY=NHdllP$vNfP@O0Ka~Jl&cAEy;yrfzh~L z-k)TOx`@#{LihGzelx4nu>HY7#*`*`)p68*CJOPJFn!+Bi@+PHB*)7@q0pm+l$1mK`Dgi#-ijOU1*^UDpaSYR$wGszVZ%ZSqAB4(UnqW@q_ zK&T#)$OB~Y4edrE&RS04A+BS7a*_}1XS!+nsBC%7^)eXPO)&6hK6|x)XsF8CA$ss5 z{})x^dSXfgJrl3^hUQNeGjG8DeK_cRx6cH8_fbwi<2gv&eU zyg^7L_bQ$~PFGGCP&n-Mh~Dd4aO1t`fuK!tTAlBjU*i|R zrH366u^36qY_ruNwaUt8gU%rwUh#3z(Si*)$7{Z2r*WQXcvx*WZJ!*N;xlRcUIwRk zsz!*vpFBz9L*Fe;?WFzr!jy28Qy;TWf2qSF^>KcsBesji=RT)iQoYL9 zVEHFM!~4Hkmweb!udE2kWzv0_$J$ndFUHzd282W~s4uB7PYLu}(O6}lq2E#YcA91mBng!a{}$13StcTPM8Fl3Q#%S*y*H{hq(a(U>!z~Q*H-&MBzvBU<@hjwJ?;!||9 zv}5I^O@Dh3orn*r$(#=jP!z!dkY=Lbl3uRUkzk3I%WGc0Gg5u488};{`--c8$z8qWNqrmPhXr=sw=)3;SCXj6o%sPqyDE=j)T}?J04S7$Q(AezV3c0_d15q; zOlVl|SPO#*Zh%AP6~A23(SpG7kUb}Bq@|^0$tQq;rHS(bWTgP^QtdKVZHeD(S7}b# z!HCXyO$;<;a_Sb3zl>rP`7nPTmd=w*P{+(h*!i+RlW{KmHfFdk!ucsjRen;q$;Jzfe(O(SI7gbR4wQJEIy?IVdhE-)`G= zGsAS{wa9kChG&n@@u?dUKGE)Tal!G<_#{+^rxb+g?xoq^xb)I?-WAl^HFSXON89*j zZ-!2yMQve#VD{C0g;7n@Y@cVXP){Z&xc4i=mNnS76sWGt`~kvI#p6(r5h8KZ=+JDb zH5L$UY44-*Y7MG#YCS&k0e)XH1haeQLWQ57%der!o-@~I|H)TKtZVX=HS)PBJf-o| zv5wxNM855yiue?zUa|sEJs~gX36i*cPFE}N@8^GpoEvJ5J){-uXgsz{WS7B^8lgh0Ympb%Q+EXEG=I*U4d2=m96Y`K!6p?W zbmX`$&?wq&@7Ibd77ngYt$rC^zIqwb@AMGUPVE+8RKDtXc*M=5+)i;jd)I$bPn*)V zo2r#`(gX&g1s+Ck74v{EFX+A?crtPCZ(>X8>9J?Ful5WJE7$|Z`s%2wBv4deXVMwh z*U|6_(r?TV?XGyLyI6ndc5ZsfRjCG<^pi)m*>Ezq3pf8(($4N|;T z!2)QsszNt$P?_O?LmOE+@DXTqqk-e#~zTEas#rNj)ji2Dk8sDYoqVTJRQX$0P&RurL zUJ?>twb^;WWYOFGT8bDV4wKEvsiZ8OsfXul@jot-u+p03cswB2`FRxp2YyBmI1|-) zKqL?6yy$RvBi7EpB`yY~s`=R%4`ZUp^(py&wLg4b0BjfjAm5!37D_sOvZTLkKE?;~ zDD4OLv;?*TJn*O5RJ;d|@<`xwzP7(@iN3yS7-=E@g9-|=CwEC-x*EtIZ~ARbHeTV# z7BTGk2J85&X)bYi=O*B2F$7Te)hG2-LIsYSAX?~r%q+b&wH@Je;*s%lbuOye5l)d+ z?TtO@cSF2e?t_0uf7${TA3Z<518U!2qG zcKm?s;Qy-z&Ej6Xa6%4{rk~TLhwL{|M^h!yx3IeZ5?uznwU2jgH1*`T1FuHTZI@H#+7UmQnQ&p@bENFC zJ@AS3o@tS%xuo%G($hO5t0XPP9sL}&nH=x?>4dH`p$N1_afuzvPxBz_b?N$`=PCwu z__4y1`;_qCYF?NQP=C(;$JaqGlWz8uz~$spFMZKP79MS^V(w0bM9#LJOIYhAgBcQP|A?xWzEF?7SDa5QjtTW5MSOD3qFs*9F9EBz zs|U1;spH;!*?qFAx2q_fI|yAlN%BsOU6C9nIUAL-Gc~eV( zDgG$x{No|XImb$CN&Tzo;B@VFVrbzsk!upwoA_YtA*PDX*1GZ|LVhIsIvd{9Qyn-O zbl(a;Ng^n~b#4XAHJF4hUYtb2PnblZRdjE&I=Bwc#O1 z1vSNj-}rk~D&{RA{25yLq(7+G}ma}!EO*>@?|lG+r*{p za5@6FN<53;+4oAP9uJW=MoV`tUUV&+^set9Sk`HEnkCWqY1mdv`z+D%Y%e!&G5_YD zlUz)-QZX6138DDeA*ln8#SFZxpfzffzVsbvFTUeeeFl?e6Z5$>SDV8_#gSS>okLlgs>P8MUN#-kyIH11Na6mGd1r#D_7eDhA} z?oUYUB}GGas8oWWtQFiZ7St%GTe5 ze@bK(>6vV#4O+@wN8_Fz(zFvPVS);Uk1gtf#=kv`5;u0*7!9NK4Fqec<+jrMx?I@8 z4h5oJjlL}U8DmQZdZM9v3WKq7kh6}dw_DCLn64WA;EkkjkJZUB$T)?&R%kcp zlTX> zXUATz*!0z{*4|g@RH6gbm!5L%o)be@D%9DYrP3svq|2p?qEx|y?l-++i{DZvEDO4I zPocyfwR7tuarM@sir35Ynwf`GLHptOH1IdQ*wqvcu}PuYgf)wI{J#@I-(KLhMK2(Z z{C_swm9iRQN49 zaNYcSs+nD1)A^wW9!7Rr;^lz)O+xoHAj{u^Z@O=e6()~AP$u7{m~^~iu!lg=?^-hN zQtD;slUeVN;>tJNP0oV!H5TSnF4G_fG64F{i*m{9r*$Z_MhDelw;4i!5Ydx!4EQDh zUm~Ooo3lwW+)#tP6l0ssTOUy$)S0 ze4!%nKhOlNfndcX?SJLhu%9;4DBEEgaRe`=-_~of`%^A{RH$>Pwl*mUgHvAWnx4d)>-?Y z$7w(a2gPBsDC$Hr0bjd_YNFp2p63d440}!g?ty#tS5CZ+>?0JdOV}(px56ce-O^x} zKC)&pz*93Wk^U~-BNlf~t-@nscf+EsK%%o%4Yc{)uhsh^EWl15+jXAk~kX|^tw2GSvqYYE*W6sWi2cwA~8 z)bnc`F@`XMtge=N%ag9?)h4EeS|&dEXPlOfN&qiHf4X*Tvnt)&&6qNP3z}Z$$|3ws z*xFb=|N5)~xTtR%w!V;swJkb15}ITz0Nyo0gkS^6O^&Zi+QU7LmeRirC2BL{#P>5} z%vb(P5vE6El(!v_167pq&R(ni-E?$G)XW4kC{8V8mWl;wkh<1~oW$m7&vdhS1)2}8JP4NqcG z>{PU_Ek{2FxFwp24^12$DQ*R$5a-!nB{Ng74X*8Zut+Dn`kjFREDXgsdSqz}+<}<~ z7jbMKQyzF&sfWUzM9&gr6;n!k+Lo0VkPysf7QuonLxn#A+GP6$k1w|sC_aLUv03BB z{_wjFoo&@ht>WN`H=0N)CAvbVW;SOC@8el=pTi7Nb%Pz(Rm|AP*avsRLddk~?N98z zh@BkoK$FrcH5g8($A{IK%*7c5f#}l6$a`-^;xHQbY8UNl-gEmNs{NRL&l>%mF3mIX zE{lcdK8{&MG37Y~^lPc7E8_{r)2(cFT4lOKXddFfH4} zZ|OL^iU!X3RiSYV7Obk=0ntcAf!JJc&za<&ytk|#(BlC!=9zA;_d=kCVgka9BADNT zhJ=+7^YYFd?@dbB3Tk{TwFQF+Cb84MOHlfS&%YLeA@*pRaX{0Alq-H6l^1-LjoxmB zwQE1)iE}F}#;$dcQTdOfr#$4#%`0E61KTR-?ID)^BN+}dE%mhg74FBdn=8%+;oD`z z$}`k6?$AKO@*$_ZAjxK|-;bfqydOV|>M={*jLDLSYC8F112iuQkcVu!`W%{ly+96^ z*nfgmj+TT^WE77hgjIom+o}0smACbc{M;fzwUiIQ&VGM>vir@Xa>b!my66~n4%=9` z*w>UEyIcxnp1sG6`ic4L-MwR6N~xJYA9kkNR2ku``@=iFb*gc z#tasSAnGe!P2H8D_5me?4%MXr?R!6j@75-EpjfKZF_))g#dM$MC;aQ)-! zo#m0z%>*~;ACYI-KFG}@IYj0b;5=95+#AW(YJK4(;qXRH#w{PQ``d5tfKH<+R&b?* zmkE_SB4Y5$Z)-5HLx3`~_aT;#TAiL*a20jkvmb2phhAbxm|Q={U0hG`dofXYCBs?= zy2L4W;15+baLP&~WQJfV;|Q7W*z!CP8H+_DXNtz_XGMc9GhV(v0X1VdE0Pg-g0K28#1?FwXZDL}U@uOb8D|k_PoH5VeUTr<_8|UdDyKrvu;sf z)J4n}Y13K8q#_wuDuGBbVV?dd%<79tUwMW+vPj0Wdir2XZ@DYwRUm1(8`WbO!<*KR zz1MO0Nn+2LK1&df3wn8{2`(+!ZSvd%FZ5(a(%lK7UIg|uZTWH|AC%z}O(|95&LCaq z=HJqC%|)|oWL2zasHc(-OpRz~$!op;_MMuEF*^h2*ZaV!Z&~b%Z(zL!1BRo_ zPKdV>f(zV#p7k^8y;-R3gcv&4Vk$!jR6|(uN~|a1dD#vCOI_a<^3#%1nf0z-(uPX@ zz~8^!$!Po&{Pvkd(MXM3*EF$)Q9e`Jel>~U?nD9(aee^~RFoXeLaI50aGpjdzgDd? zkeDzyzcfCZ*=2XPZWe1i;$@%&VNFTK;$mKfTqRD*LyKb`P+zcRuP~XyayMD;h*+nw z0eah-6$lAXzDjnVSBb2rS*t_;J^o0x5 zPz&Q*5;baD@axFg!*YI*yVNYo)!<-N?$yuDmU`ERDS(3@u@~Hz8pr*CvHYr0^+`QgP!s z{IKj==1+VK(oeoK$#b&|zsLAke!gAlrjqzxCTNP(T0$j}EI-V&i*yWN6Yd1E)Atf1 zq5J+Z*QfbUX$`}E{FG-D?H^ID{ZS1^v}9XYZV17LK|5r^zHk>1C-O#O|N3l@QP;qH zlmdEyq2V)fDJkGqL_=vcsk1!sKAL8#7$I_*Os1X_4wk1EZA?G$k)y7O*|6e`^K6bs zw^--o^)-b;esWiT!hn+i-+0ACReIy1d)wWKQ6`Am;M+|2>G>c=HYP~dD_JjzfQ&4#hqF+Tiuod!&Pctv~%=;!x z6(UXhR^H|HT0~P&s2o(j2o_v*q%Dcgg*h>VCDp>-DT2%a^6S;!ZP9PM3IV+!!P%AG zH3f01RtDTrZ~Iosy|FxSF!~1)5!m8;oL+RT-jepXz>bYL0RN8GR`#`vRvl`9DffTM z(cgI^SVzc&hyVnpcGSkN4P*s(H!Q2^{(|GJ<`n4-6K78QnKg~&mfxgvBfBm4Jhtc- zN?E~2@T(Nmh52bsM$pblBGJcbpEv!IjFA2HJ9uuxfPUEG#kFZ)Pb1G{ZJ2i*EpYYD zcqXd-1Fa?yxbEy!vDo#g_fVh_KrGnocM5f-lYgg^Ztp#a$`QX3oi zLtnq&g!nIXUI+CwZ~4Bq-`o&x6PWNh{KeG*MtSFBaY0On$c)-K?FF-FaVubUG=0F; z(}<;+4fgLaFKg(KLt}Q_QK*ta7 z`xfIF?ZnGZlLM3iUkuMx^Ikmn((a_ihQoVOtvE>r080pu$sxGHCgzRf59`B>Y-y+~ zU>c^)u1DF-c=KB#0lLHY_Njns0A|vr;#LpSuS?m^s8+jDP$sX=7$ZIzT?5fNGtq>u zsfC(DiD`?MS=sCg6|BK+^KHI<*J?@f5*tv3)4jDfzJVmKupJ}tFz6*h8)y12k@F6O z_a>;2fgt^VnKJ|~3NV%UC(TPwU_|f@g;#-wUi&1(Kiz4cvKt6&hAC(HR*|i{)j0Sp z<<*Pct^oEIG|WB`na9w2`zws5(WLcWyk7!CFv=EgVTUa_Vdwwd9x7dV43{c z*3D-CXgOP`ke@eWodT)S3R_%;Az9cHj!tB!ozJqa(kES!u_ru6Bdqegdn2{Di!u6Z zm32M9?Ony=c*X9cm!jkKhhd<7bjzC*$LeWeIRfoErGAvtz@1j&BzT{E>5_}K#Zh%$ zYMS+zA#{w| znEt0?zwg|w(MlKgm4PbU>=A=LYSQ%q`!91aCdxYRQsk?ddpLWZUw)H@lS&Mvq%9?? zge{A?ju%8hKRG>uCb#1iP|u+k?rvM=RZ2Y~qCKEgG3|6CD}ii6#5`@@j9_IVQ3&gs zv>>W!_9Nw7b#oNNcdy*M+21HJN$Ls}l?tC|-sB15>UR?VVrnI$8$IP`^&iL zWLMd0J6#QThQUL;#H^pDnIBel#9-;F;%k6`V!pm3VJzB~eSLP;lTEzk!>L!?X!v{= z>(HG6SH}9m-V)a=mrWQYk*IN9VcD>evZ|p>=oN46M(6|!mG;A zOG-BRH32Pcm8KhWUmr7a2j19;V&@s0%{P6|RtiUqsYL3!i^_vJa@MSFbU+)7!_Wyy?ObC$$VLb366RpLaThk0^0w^Y_ zj(?6Dq)>;}i|vsl3E@!(ubs)@jU7Uk0$SVe9p-eJz@Q`N%ClpsFzfDSV-w7RL*VPN z;UB!q_?^r40qA;HC8>pJR5IaTxdsAmRX*a z*GkG+5Jcd}23FmQdz7uIdAvNtl1`9kees+JlcqEI;FE)pngvt=efvG@I#MLQR@?%y zxpqRlfr0O{gdYih$0~M3Lx-bMi%ODwmTJX%8oH%+C+ANWu(9lcUvXAKQSb5`yCW%V z=@dHtTsv*s-&!YDp1)^*k|U|OlgwL5BZizo4cT?8UsMQ6UkC)YDEp7cd<%EFC5Jz&B)ubDsa~M5Mk;wD3Ly3RraLb^@82NT*5d{ml`4j0x9wj zQ{(7^Xmh#&i1&6flOeCrH9HnB#)kz=h8vP>c9*blls2GaQL#G;8)(>^Ns|Qt>Ji>0 zn|L#t>MtbI{)ta%AYHZ3;fQ=AHK#`Sut23oxFp$v2+M*3rz%|93zsZKozb}qmA6e> zyj-<~zcF(b3G8@-NKJ-rw@S32uDc1Mbi&Xg%cZXHwg0?%RDXJ)kH?AyD8mcy4Wk!v zI_@VEeVM%fJllj;)kj79U+R96Yqjz&W>J8_=XwxFw44XYv<+nmjO8^^@_JV}*Pzo? zhG*{F;X#4SR0*{20%|9jkYvp1tC0aiwBfz*shMRkzK@Z7hs_IfGb6nO6a=(J?YLO> zLT$t6nPpO5vGs6t@)xa`2pg4)2>ccPmhQG73@r3q-n;cm+D4`ef$vSk4}8v;2rz-z z*v`3bMy&DeQLLgM2l@0@!!Bd2uk_XYzhq?`x+zQR;@KpYx>EZL{(jF$T%n;;NBu(N zy|q%bZja?UDi*AkH^6pqqL`ahxIe`FJkKGqAo|6xgD;BYAoz>2@pKo3n)h#J#p)A~ zQS!$KtS9DVbA_qjD)=i!tMjTN$?Q7!$-B{$n0_;wulp?!w`2!2H>^gtH$L##F`Alk z{koKZ!Fv;9n+3$1eCEQUC*pNTGikM{mF6l=5)m8?S}OQ3Iei*d&d?b|&U11bO}z2UodgO}f32X2xkLAEo$;?IgKMc&JpKUcHl{`(pJkJix$j(`Ex7VDy zc1dyjsAdC#ij$CrAK$>D!#U>gbLi#B@2_8?p^Fl*PH^&41i+%dwB0sm8Lqv z2noc;PD=0dl)$7|?Ic0h1-k;ylKDGqqT9PVUGYsR^K{98NCmHJbj&&-Wp6;~r@sJZ zqYoiCyA?5D;6@{ya?UD+zi}-m^KU^1qRNlX*uN9vXdJuivLM?}fJhD-O?Vc+jlo=# zrKzt+iFn(ujgi}W(HM8^8he>QU17QUrw)gRrJP(>>XdNz-Zevqw+A8m)bESRZy7$j zefcm}pZ&Ow=qu<09B71>=svKmIXZ+jRg@Ie&i@|BJl?!=_rV*^@Rh)M}po zb(Mz~f*%Z{gEBAE^?G`f!>pyij)&b6()*LPwFGPda?~8;0;@c)LxQ=CZM)>#$e%P= z^3tC``o`|KzxpWqhVp&V6DG^j&q2ZxY{3l7I7+X`B>|PDC<%zEu~Tu8+m2BD)(eV@(UCAEp^SJ1R7?yXka@XsBH;Js1kA^^y?&&Csmts!nYuA^SC2)VCJL@lgyRZ&gy`TV`7{Wzvs zJhb|qiia2fD&dIE;J$~MWTgwO`B}@n{4l|8!dyq9JKmt*s;+Xe(pa3`VY;`JAoAzH zHP{LBpF9tlBv}l8>=vjqTkpUm%l+ zxvi=WGHtt%ccCtYHkMFJt~3VRz5#O4D{7o3z=MuMVCxrq^8WGfE@_DPnVtGiMRzRx ze){p)n6GB}o4g>HLH{?Rmj1|$&l`x{0+zr+?}O{(<^6lJGaJ9Xt<3hFNWzERPOr)$ zY|;-eO;1wf_V>KF?I9QDJ7Yo+7z_F16p-Qp6_!Aa^ry9^EmY z3U~ERHt5%H4m3?dMPGQGApO~n3=O2gl%Vz>oIF{3Z)Ri=I9VORg7v!xm3Yf$4yfH& z`z(_fEx|)Khv~bdi+E;Kraw1|ZMaphy`E9Tf|xtf$L4&B-1MOZXGmSJ^I*f?&~Md{ zk7?myvkELm!Z>kz;m)FUFwfjofgZozFQi1Xr^8!|7G^C2YR(ypop}?%gV*fOd#PQQ;`i5$yy0bT*H6}lE904dwb7cY-Op>O2}pC zmlk&}9AEhJ?rY>pChW|DUp3*GLDBFQuCb-Il6Be-${aEGB>ROaP4d3 zkt(d?dE=46-HIAW6G-c0t^ePrzc(zSD(?{JBK=V<_CKF|PzG71^nSaB3X~Y5^O2XyVs5Yc!R)4HwpWQW1>N`AEPQc`U6w;bt35Y@;LN1PPB}7dM z4SM++vjBz2Fw(=_hB4L76k!Ar1zun*zXYwE`V^u3$?slalR^$KWs}X4!~?ov$CNS5 z+F>2N9H!FK0*CA+v)Kbs!cx@1VXFJg`3<+u+D&9P>a=z#398U->35ndR0C3sGZir=Ij#g z%KEW3n@yB^$+sorJ&cj@%&=3vvHzWpV#aKO`4$?D{b)-Ay={MK9m~yYDeFYhxSj>) zwPNa$&0~Y$H3uO|ublCnSG&V?obb{N<-Q)i;UJJG)Tu(5fq?B~3XKsR^*`U%#_j_(mo5!IH5 zPfplpB4c7CZUS3@iMz&UJ&^rvFA2MPo9lTddk85bv7vJ_7=`hS5EIo6vE!e1?kFPc z;%X0g2i+}+R3s+ICdcPS6495&XZC1+>|p}*@8^z{F9|fa<4jLX4Z;p`y4n>w(|Db2S(}ei1p1lY*kysz-fT63jXt#fgq(e@|UEc9F&ExOt%dxhG&%>LvF z)Jzqa=51sKNT@!7&|MZc93ZGV^*hVd~$E(t6LF4bYHuJh0t^Ce&sERNYN^9Gd$pH z6Bj>D`+crs^|gk2Z^ ziRqZL7$nC{vyF&EKjK+s%K+2n91j?#c!v5{p}5Y8%$cnRcjTamt)Aew`U)#wa-WEP zBTpbt#lFwFVPOd15piGqR(E9hDj1U#>BtzhHRraJai{D&kz;wqb-uv)!85Rq5h8I# z`8CbJk5hEbxu@cMEV4sI%}|J!m+=XQb^s|iJMhnQEZ=Rkr?aG^N!wj zChtgV;mcH$jUx=sPp6D@M9_CPeefTu+cD%19uQfbIzaDFN8}90m|$dbd+>zOP>XGM z)UV79SZyW=(d&a>(!x2Kfb_>W0Xt&(A3U|tOb( z6Kt$ILYQEq6M?K%R!bL?RdN$sKI$3$$8-DrPWdTIz0dsd6cTtq&7BV@^77bP+&Gw^ z`jU~CW@3PwC%uGRCm8j*r|w-sb*kGE&TtrK``ZI=re;Bv@830i1ltl#p?88ZZH5>% z74O6^vU z+^(lXc!eYlrdruKs#g2d8~GZOPkiJM$z7Vz*?cX=0uUlk+}sopPt6KzH)zFjZ_&Es z3#h(Z62?DUr^N)~x$^!mMmLiX#KVt<1*Du}`L6@?D2-5BWg^!;OHWbvyya`a#x=e7}H zcv%U>!hRV6y?dTG!S^bl%~yYV_`ZV6MJ|e;#&3OS-8UfeQ`6V;?(aS}aZU!bevwD{ zle&pByV=l6IFE7bZD-pu_XS*n>CM@)E`pIi6xo%u0Nb8oI~FqWTCTTIPylAexwCFH z6s<{~fi*#)n)5DjpaMAidWYbOrv-{CQ!TIbc{~zLf zB%1x?UZ&^Pyl4z_qCG@1-gmi6NuEX)otLgWSsMp;9;5x4g zC;MUK>~muG4}T_5$nQRWu?{qf`swF9o<(NWK89FpJ%>%Ku|=&QJ&9bON8$nPU%$u1 zXy#U@!ik~~Lld(GFOqH*sBi3>x8HswBgNsNF3FM%Tn}Q?FICeRL{u0M$(X%cB3VRL zVcXp#pd+9cf`fCy{PU#`c9=$_s&a+mcY-iHE+@md%=}j!#AjTz{@g#xY&|Uv_ZmbY zb#n5Bb^)2WMU1-KY-)Lh&URYi7S6YyzX!MRqC^S&(AkFSzF5x~R~WV}ubv^} z6OopN%zC}KUC-?QoxHf=Jon+bjl}7@x@BcbmQxdO94Ggvy)9wf{>psmLXxif1}tgu zdEH;A>20uVpa(I#akjFPR%*pV;83=!#yy< z2J3H{oX^rnrrW{^+)SfcsQF21^}P1|Sz;nAS}lE-O~yXg-lPwp2oJ9^PpLy5Z4K}7w&x39Xiz7rS_E%nQYouU)Y%1eiy zlFTXfz{rhj)P%}wBRqeTC-GU+m=F*LNq($H5ImFoTsS9C_ujW^lZ`LJfpe#7K0zPF+hNL5N5rlq zMN8vg^H@_#@g)z@wlG|n=rYzrMnT8Z^LsgKhypYFi5WSsFcv&E;R)%sL^~PKp}|KQ zf{W2$8hc`1@uU+^E~`fc_wQnoah{lQ(PH&eBTT2$ZnO2hH{$#|RgW_IW8C(y$YHvi zeRHQqCb=ggv0X!jDC1=y|N0p^!{)v?8gZ~2UwcRs<1y|F#9vX4l}=eIs88F!cqOwz zOo(ELXr=BTQX@e(N2G`?b;5{PO^^)_fKpl-A%^8b5l$$G32|o>^B(ExMZWpzkJTM$ zQ!nIhTml0jygQZIEbp#b{sU;}F{Ps+dH@uYg5)fkAd%l^!B`uUpD{~q4Aw7KyW-Y@ zV@K+buV}=SuYk5`3fuJgKc7@wse>@M&g&yf*|D}`|6H(i%1u$`V^9vg`IR{n3c}4- zoyt>%rK3F#a?$H&hZ>J_oMX?;f=@)-W}{NfwiJkigN=IyGa;%!>SnRn!aF#w+dHgl5g5Q*FAj(dco` z(vtM{FGj0Y?ePTkLN}uBX83CROa!Z2-cs7tu9~C<8mdo=VppLs?o-V!5%bKGmK00=o@f}O-&m%idN;AFy=RgKvlH9XRl}Rme2CLJoN{_Hv=%0`Wz$-&9 zEL1W4>$xX;rjG*IKX-V&IHc~e??djqk_K78w*Qi?Z`7!dGKs{$GRZ7%N!INN3l5!| zAE_JtLOq=r($+!73^V`gh}rBfkYts;*;bKQ&}D}V8Ldz|oOGW@+J5=I7?;$Tc+asl z6J6Px|FO;K5B~^%RMEB4^$;36;#fQ1{CPid`#@a~weKEr(zGZK&{uznIZMaf*0urh zOYVhit#LI7$6lt&xBMwWVQk5iMBK^rsIj>Dw;i-hCO9Ha#_(`n3sB%>D-PzpN~KJP zckvKlD2WFKEw>B8dS~-{hjt+x*Y#?miHI#0GXM=Uq&4~KAS?_ZoSTHHqi^=M@muFa zK4!LKFqgpVa*59UVcVqqIGPlV{Dj}GCSD6!+@GAYR7o%#_u`^@y$+1vz-!`2qbcPc(vg0ih}nxP zj)BIhs$ZQbDVeE`Kb#8sCW*ZfV*0vk?#)(fGu3!^<8SK>O-v3|B~eJGi4tP1ksAl! zoir?qIMI8BrB4J4Y0-aTkO?HEeWzhhYoqoRr2QpBb4(VE)1J@eE#InIzEzMskEeD7 z-2fjiP{UaU$*I2Fr+ro;4sd?EpoQfC2>0DB6^EZXfnw|_*cK{nsC4S7vE5_hnsdHz z=N}#szk`>q3jNyUP-=9x{cN`7NQCmx2NP;=?B8$kV?oS~0x!XV3HanSjUZhcu)C=iZJ^n`h9-9R1f$2TAQ;FP?;FtB|P1?EF7uy=7RHT^qHFfONNX zclV+@q*0OX?(UH8mhO;{?gr^4jUe5PbT{l9pVx2i@7RBre>`-~dtNcdIilNcMF;=&nvUx|j0p>;%v!gW+N z4K6=b6OZ*JMPS+(&?c6)TZZ5f7)!NJ2d8bz^M92_hdYs9Ag@C1%A26$icT#J~PIaE2H2ZsqZ&$z%eTx8bLBf_4ruh)eQxT5aoOHBsDqGj+2 ztBLcz)-&Pd7^Fd)xzZFh+oezG{fg}(Y&7UWROLPy$&|Bi;&akKrlu%07Bu0QG10gp zw`_BczrQmHo=9N<|yGRo$`590^eW zYP6BCfnJ54bUahtldjyJ2Q}MDTX}7xD?u3gKF&}Q_7GtY8ou2u$)#rVfudFn662@& z=j`nJx&wmll!BCKN}MBO>yLsNz_fQ@bK} z>d+1a_Kd`RlmB_$EOtq$@_D)=MUb-_$NznhUKv6qZ~vAD`i^VN?(X-J!SC!TYq z0m~g_C$2myqFu+kxK*#W0Z#g7g+4R*W(D}O5yprd8w899@zZ zC<4W>SJyfjBSs=P$#=*AVSKX9&Mee< z$tUG9et&(`K~jNk@>Lj$`E(Vm*%Ze_{6&8^kC(fa<$skm$b120-ZQEW*sLc{!+icP zq^0KnL~zpx7=p}xdp^zDd!n(DJ}zM}Ka<>nEkRAzWb4zX5~#bWP%?Li%aab+P1vpg z9e|Xtxm;zDHHD0$JLR*`_41(sag+tC0~qN*q_!N4Haroc#gC75577v6HZ@Bs98J%&!*{dq4fyO!v>k(*bSA~l7Ay0Ckz%NZj}os4sZeL&d*qplytb2P^C7K`)q?hiG1Mzk=g`bAXV?6ET?GBiu|VxE<@V?xW^C7vA@V4WgD zech|NY7%ZQw{n5xNR#`9dbSY@(cRxa8%=_D8H)O3YwfwV(_Znd@wR}o5#32=$ylRX znM2R=@Is_MZRfFN*Xoeh5Vs9LK}$Vt#XAnsHxp}Px%;<#o~U{l6KwM(XNEr_^tQ9ONRBXi_Y)5z zB#Q@5krh+(kA|!OL_>4eBQG~cloDZOKR4&ia(d7yFl4l*e4b3q8C2_AUqN$OAG{eg z;@@=nJWbI`EzsNyT3X`asNH?wJS zD!9OTk<{xHAxF!^99IpuQA*IvRFGeT2cLETQ2~_Aj>#X!z=&TEz$S7LQuK#3)`-?g z+i&0aB1u?ch-UB>vr=;z1%HWUdN|$vSZTP_O0`P_Iv&(X*qV05N|_CU79xq9?(-H@ zA&&XL?=SKWN?(jn|L6Xak8T5YOfP1~3i8p;UVuD}%3^$=6F~1E!ks(DAJL;YD?>Zi4JFqOJg8gI0&MpOpe71wBXlH|V3EDcz ze|-A7bNAV1`y1K-0xSY9CIk0`V*8pT+Pcui1ABYb+A&4)9`vr-F4nim9K<$EhCS6( z6N>~UR_YJ^E=0f z3|0@0T#d~o?gbr>GXK8W4&l;qe-MBwvWAHh7i`hBYnem#^R?@iaqOpIML5>q+-tunyPkKZCTeou~e@hZAqEB=}-&k3`;7K-FZ5ytL9e(J25)RCC{a9441ZpT6o z_oX(s8Uq~uaLHr$ZF3&7F*vy03764835;*K{$mc5{Cc>bz7?#4ef4%UtI);WRXZoG zlOYkv!Qr&K{-v^?8wJLjEj^kRxnfaZ`CQ52EI?}=9mfJDIMF8 z(T$p$_+dZi>4wmlTTbZcZssTG3UXnioWfL=#reKgq9^|F40>KnfY-Q zt=}9Knjf<@*-dl z>ej+1^s=R7FZKLsA>40r$rPskzxGF(KDWwN9F=`#&ZX??^*BBFf_GC`CA=CN4!;3T zx)`9`uOO1`;-;qBKZH94wkk$xU<*0Bf<#)(&Z>)LXtDvH za}L|kUFf4eq~79{(lRR8E(~XS5i0Yo($TyJgPz~5EiF5CT??QPH2q47fju~(X-jz` zbjrHGH*Tqfdvwh34CU(zt=Po>XmA6Wbna>hxl-J@*I0XlKH>vbbYD0oTC5*PGtAA` zhT{FqyZb?XZ2Z`(zb9l(@%wSZ`rGGYNvk@*m6QdKp?ly<{olyvr|27IVc42nHBxuB zLOIha#((EV8RE4iZ!qO)5(7Ub*ExrSk*Zr7em%#<}m6vpE&A z?h5YXOtXgk8-h(UJS+}vot%t*=kTswz#6^1lXH4ojJer4&OGbys=}-MbpZk$fEb8> z^`55cd=8&X^md_5SfL&mWD#FTRIu=CV?4z;e;ZEVrPrw~Ps`vRO!A)*UH!(77vJ3K zC`*Bn1gAnS^2Fvk65wRw)Mvjvu>)tvZ!V;kTz%aq5Wi`)vp0Tr(jgLn_7=sOjEtmF z1LOR-j+V4SmN8dwKKA{b2-S~X#})4i5+@aSB(TEhc<*PX9S-8yqkHI{H(e+K+~TKN=wFzLCI#NuK7^4TU2=(zr&>b18p=3%Cc&P}(_k@}g_5cyuSNdxN3uF|vjO{@_&s=HwZo z2?XOk`;TKRF^S4RWgFU?jN;amkD2?G%^w9C?z^Lzb3oAPF0^n?YxQby_NtwnCoRD+R2Cnv$f=;XYgz(FMtUn|2riY^)7KIwPA;I$W$xisLs}X)U}he$kasd`Hc5c zRxcz%6LB!b?%jGN@>?W>2YFxVR5VHDcC91Vd8O@@;_+rRN&g?;L_owOS}cxVW`M$z zUhl|gNd{2ikh7S=1>qQsczf8}a-h7|l@{7b^3u9XQ{7G_r-2AtzE__V@AiuQd7sIk zAKDpcJAMG~nX@v9=R_m&<)pVh5kw~WE>U$_^{B#LQTbVWH7A6HqB8Z*^tLbkAjTbR zfK|myKJ&xrLlcI;#7f~^vJ?DqUbtYZ)K_O_0Ch+Gj`p*z%#wdA%{rZM*)6>V7&o?;#~sq& zQQ@I+!wo0-rWP>f5@~Hz(#`mwDyoNb6GMZy}0_*kcSzP zKfQ*Pf_cz#n5M0E&Q`$pSpF+4IkYAZJz~cU(| zeZJ#Nf$J{^&2ad7COYDPUCS6Q0%Xn%1!g5hwr>}kb1mCxv(vt9ziac~;G%ACU_bbv zg|XLX#Oe{Sq@S`;^G#NnP^q2rgqsfX{h`_Q`E#vEN_iGz`TYIYGP0yc?7Yv%uVMl8 z6A>gcXNpNNf!n%BgQJ_Z0XR4}=3aK6A0}dQ(_P*`pF9d}AN)2hy|c8_n1oc+OWkzo ze8hlr<&H3-_Vu=MuvU?t^?0}{7DN{iyB+nQ6(s!S)F4T>r@yaM z7;Upq9GJ$(`f26^X|uAm>Plz6OVTZWkwSjC!oW?3fB*dV1|nq zM7vm#?y#$tgWg~{tm-A!MGJrIlvH}{qoQH94ZdhURkYYS$&UWc$mJ&$)HbC!C+DK^ zJ)LNMX)p6Rm)sZ1P$1k$n$-%hM{M(o)n@5g$$wp=4ze{d_-Wzk-o#77tS8n^9^2uE z2W%=bm%&HTA^`#G_UaKlLl_&j#8}1e<%XBQ^UMunm@>z zU1MF410R?5$6A2~D^2-`_w8SPL{gD|qc)TsG>mC;JlKN23mdOk`ZZ)TAbNTBdja(0 z-7jI+Z{20?tw-hb>oU3##@{!SII@bUMm<@;U zhoz-%iR!0mE=sS({I2X-{FSKq_ZwLCcJot z44&o73D!3&*faUp&2auEER?vUZdNXg{P)w}VIBP6VI4o@C_z{E@oc~_Y>Q=u?*;{9 z^D(eXjPON0fX8^8q1&Jg-5XG7GAt{2`okYb$Q#zGTzqk>=&!r$Wd`gs-JXKTHe7W` z_J$!}dtSBI0})Fs6w}WsuJa1|{=I|Ik?lTSan z#!+1vp$q=)()_0_B4U8^$>J99$H&sY9_%;qO#ARq? zKi+H7%_tI09u+BWKNj$$YDytNggU(RR@C-G)QBU%z6K79@rlvC9*-JG+y zz`iJ8yH`sHibPoAyK|~2H&$ge=ts~1NoQvez-BGVU@%~?o|Hy$BMLnV)kR=w;cK?3s28U2X}l`oTIRZ7HQ*H5$n43gzp6+UM(R;g!wlk|PaWw5ZAc6I@Db*Dz%N3gBprrZ6k)+y`lCK5EO>s0z}Kjw|R z#&LErS~H5}r-3>Cxp@yw{}|T~5nqM6e(XW!)@fiBjG82ns`~+>-haZHbW4=hQ+dj{ z{V*9)x_^c2YpRT9^_7M?pwDWCC~+l;4qWZI5cad0;N9IC;{tjlc9XG2=qwe$egXesJ}mf{St^eOoY$ zrTfyuqqLcYid2&bIEY?pzi)9-B0lS|m03l<#YO$jN7Z$L0G$%H{)7F}-C?rOMV3Of zHdUaKFin2jCz9hWVj{D0vcS!l#td5oNY9kLCAQ~7&v(jCkw2NCAZKDCe`<*Tz}<`fPNGe~Uc4P5S1uWls8G=Vq)qxTHZJ?iyu+8#ODp!yY2A z8zOpMr|1Y}oW*vGba=qrb*Dwg2E0OR`(wJr@xIM$gEgOdJK0?Aa*^wXM>@L3n5nq;Jyg>?|WWdq&s`BkK`EI z#LmJ1nCkDr%Prj@MS6wAh=P;tZhqHEZ6S2M z1CGus-r*1A(ePx-acC~_>zD=`=&)GcF|O~A%{csgIvUKWQUE%tS%uHQf)tO0^~stm z&i?VKNhg-?Y%%3sO4s=%{Ns>b80jbIUl~v?d_jN;#OX_?F|FPgY&d43`xXj$Xsth8 zVzTBiK}~HNNCp8eVUU;UMpW^~g!%8AI6iI_o%GIjGMB0g6{ccc;lrHl;Uv^sXXAWL zlw##3uK_sbxxCM`(@uV2YR|L@hi|dyVFyBxn58B@S_I1(V6JC=$=r<)Xsn9G5AgY# zabY$>!jK+vXiM6kxnJhrX`5z+G{3SG%*pZ9x*$Bi0oC%_Yoc{0DGaA_og0jfsEY** zbRaOtT)tsyB%gsU59JI)QL#&h97f~2RII~&Sk{!~Z$BS7dFSJ4WG5B2(Tii(Fr>N} zl}RAfFlimdsF1h{xNbdXg88e`V3P#_z6d5l)MtxF(xI`beBvfD@^?Qs05QfY0N z9~E^_&JK!YEIpph+WgrAI~oCT^xoMEm*17j$?F@2?Syx`x>%ihAr^ww$uTSrd7N_o zL~?!c`5_jRBfK>?hAX=KU|P8UKFh4Yih!^##3p3mWZYuLd>3L{ z)rwK0r1OBFD(G(i9E2c&GSkiUedcE*SMG852XIw(8E20Et;6KhqKMt^9xfLc)3^f<6lI1p2uQY zvkwM=E!D{L2+K5mE46h)s8I)ES#$FWVZ{?&_Z5 zaT4hZu%Cp}eyqIJI9?~GWIDDCJ|!b9Ql3K0XHaYfIIKz0<|QQaGoC2=q~fu~9eoL( zqY(5ClAcYoNxi)AXvm%0x<#<7Sf4Pc9i47TrrTj0)wAEt`Z;Acyk#+ zdc3N>3ED7;&(I9+%7^;9!O$yr!;xZN8>xCUkk*n%5a=9n!YGGYGcBwROm9T;j@-d_ zQDF{zwgU;ggIy9Dvs^X{#=CsGMMbp%k~nOUu5lvS`OJ^}J09@5G|FaQ{BC?jjQw^t16u|s>t03eoN=`?KENA) zeBv@0d$CB$%S*?@hH@SmQ>GO9>4-C2KVpSI-a&wEG@@HaF#EKHYPfp!FlvDR znJPOEuh?UZ?F;5qHAKiwH2rK;?3CYiusDjA?_#7U{Tp~hw`P|9hm{ro~Z`oB4QXPOe{RYgy(m;^zoSW0;HXZj?Jps9Z!YV zktoA?=ZUWM+mX~WS6x4vKhWsUmXgIY0%R@Uolq0d?gHgJ2l zkE&Ve-haV_viI2HlAw(Lwve=)jYfAX*WnIPiB!YVR*tx9j?H19+0sYHtapgNK|_7k z0hLLn*0WEGe)1J3IbWV z5kBjfwTTI^L9xP%SxxAv7K;!d$jcHApQJe9*!9Jo9Db<*tu%xfD;A0}o4Jli?k9iC zI!cb!NdJ}`#8VZXDtvv3$a{8lvNpH5+J8H3!5P8;mKI#P7i^m}Zx~e{$uzyrZLmtY z>vs^|vArd(zdn(iw#2}W4ui8ck&{b2z>P$N3>9#cE?8Y_Z%cRkz4@F)+MTjy>X=sf zduBVzP)aOd-4JznoOp2UG;vS(hSAhH#93gCeY5nP-7oH=t&l>yMr8>m?u7=3CG+q?5JB~2H(8L;%^dYd%5UYW>HKP7mvw=%`h};??HeBOU4d|dZqBt z(`0w^|L`ynr;@QZsqJ9WC*}X%C)Q}DXOnTiv66Kg6f9c#vBiyoanT)p&?>2rR?3SM z4QnvuU$=$Tw}0-0)@Sq4-k;P=^IviOedDzYOQjB?!h(b5M;Q%V6?=ZXnwZ~V3h%(y zF6O~MSoc&&1t=S57pAy+iF>VDPKd=0*I}39gzHr8&`AgajA{$c!1Wlm#MQxEdD!D<#u|y`jC{pTp{Y;0Tny;E z3b#7#>+M!QXNWiR>e>mY3Evr%9+IQUBNi(`K2)71D^mSDmYqn*>;nqZ*^R>-SZ>?j zY5rew`S6oqzq)ujU0SK@rjCC|%!kwal?FH4gEl`O&yv6RGHy;u=e#0i3f@q!5l;5V zdWW%$QM~EU9b%xZ!Z%|+Va1Nk!RSC}v1R1QTsNlgVG2JpS1r8{9?LWE6+Eb*cW%Ys z@=3-IXr5=M6pX$Co{z@eq_C=%;e=i**?AH0dbq<2D8Bh=s?7a5&(2_bF?MqcQzZQ5U%(@CPlqm+DcIkLEMy6#rv59cE{h7Km$pG{KRfShiR zJSehoinY->nJ7_G2hsGR?Pf4tjP~wcGs}yDk&SYxg(hyFy2l2bqR(aqIL8yo^A2l= zfI7wkRdRY@X^mGZq zhRtrJc#|#N2@#LP17=hTR)$#`c;=gSbxPCMw3Yq!F8TZzqkD^lHKUSaNKYUkw3 zq&C&w=|dn91S0jAEbHl#TTZXp%W`qe<)|6@)u;o8&6a6b37*k~UQKO)`7AMIp{fCH z8%(Xim|=*nU)X#a^MHlHOdGt7VRDA+L*Sc*3TA8GQfN0A1@bp_QfZ)qc+OleQ1de-)!6O)cNtQ>DWZruNbYsB*VOgu0##k}C2;!x;3qxIo zM##yGkJ4YNjqDb+B$H)4C_UwXue6+$3lJ)RFu%?i}{0_d6sDA`F>v-{z8xY}0J#=&P%gXvHOySNUw z&n&rj)3f%!#Rwwh2CJK(2!$IWsA2XRP2)2!X$tXAO|tX%*4nc zUz~`^{v6({HW3Hes{BaQNb}+-wbYJ>uWL-sCgs3;za&ZakBV)J`{W-$h#wF>hqPM^ z%yaBEZa}x(MK!(*ZAy>Y@Q5rv#@O9d>p*q!3_UP4E6r6^I3qfb+2|5N`zg}mh|tMb zSGp}UkR;utePWmp%#(9~Y`HnhQk#1iMZhfA(gty_FiiH12cK%7jzR5}q19HzHJl?9HHv_dG0SE*pK>K4Arw#% zrIU8otIpl07U0%VNkD1&Jp8ha{dZx=v5q`@IH32u#V{l3tPlW<_BuJq_S?GbA$f!u z@(*5#xc~s9cV=8i5vCrHzkYA`+t~4sI zAcNxUktE?OL&Kc}1T650$Ik=a!kJ}O4HdoTVU+V!i?O>DB8WjJd8i7j>ka#4Ic$OZ zv9>kTH1hkSq<}O%2hlrnemO*H?TS327T2^cGIiVEXcM$qlMy|9YuGWlG#IX#mg0wt z2JzzBhR=4!zRTQ8^=TO`199hP=Px3Yew6mh2t&yqJSr@Z zUfv@1CKg2#YmVaeo~8D`K^9-b+|R^%x5LLaP{zPIwO0E}pflh-$cl2G{p;OR7pw8D zyrInTi8n!6PABX*$-R<{l7N}fph^EGeT*&Pl5fK4l0`Ir2x~F>{KthfA&QiiDLpUf z;hcMDO{EvAok&SW;TK8_u7Q%Kp!pUMC!ZI36Q4}0Q=|O7``gi?cSb^D)9JmPf}i#E zpKZjP{^Yph*D*1Wr&+kMM(|JE&5aCer(Co0xkTx#oRf>Ox54_<4N(7L)K)I)xUPIV zHA}cb%j5Lf+;8(ux%Wd?og7i53Xtn^RO+3%$?@_$<$ii26#5uUmR#yc`a}?pg+&K~ zNWbDpadyTWjLqSEnCuf|$!sGEXEHR$Y#KR)cJwY-{PvD#UNSBS+K7XiK0KTDAV3QI zfxagz^-QBjH?1+<18SIsu_vWzM|C@%UXoLn5{>VTnzmo}Ly7$jz1=c6()|%cTg7mL z%l}jI6cW>`N~&^s=&p*E9+&q7|1*4mcE+MYS znr3D9yoH=~{cx`z6IaC?*S@Kv#zB0LNS*3_9PfZ~AzLoAou%Z?0dV;S3#4wq)tCx> zB?&}#FLs_o<4hqP`0I6SLma=HT{)x(k>KFNulOxq-S(1ryzA0MZNHf`WBz$`uY+2? zW}}zl#~)p@Tq^c{)ZD|NE*@K_8Sv%EXn1CAgL1|xnQ~M?8uOtvrWcNc z5;3ugB!lwTDR?MqVZpF%AKvWw_&!B0U!zxRwkk**#&UXiPVz`b zBv*{0*+nvZA&0T}06+MB!IW0tNMh_-+RKI8yI};pVGz z;&3Q%9H;5LM2-@66K3dW(pQj1m@S}%AU?!ySZ(4d|#(Kb>VD_2Y0>pgZCpB)yDn2n=O zuon6yNHaFdj6Qzg7@W?m)4o)hn0b>#+!WNIK^HaBC#5k|=##BgEF6KDL}}NkDO0k> zi+PJaa2S)){Rg5Xi?E0;YV?J!4!6yLAnk5hD{0Jz?L?ZlN$lvjSNW^>X7NK$B>H=@ zSiz~IZ|^DfgW*%#VUwKRJ0GdtSo#l{jEzM~;3txkF*Kf$hrp*uLJJd^GwC8}cGlCC z#9f^H{#QOZ-+^Spr%Kky^QKJxJs7W-L;wD-QDm-0`A8@MYSmx=!00MFR=)%7q$41! zif8Dl6|h;q`qI?+)|&$$pTz9G3;CpVpS~OytnpY7%F_8~^yOmG$bA>84DBOn z=r)7z6OeHMNFT{>eb9l{{5xtpj*H>dlr-raUb*i^FIb58xaISz=r9la3ZV$`S`6)K>~N#M^{l@?ZHjlE50SB%2pdxXoW~8Np%|K~&OAcNQ|6 zMyu?7M^333R`?h`=0c-skBWou(xY)OE0Q7HOe(_XZ0R?y6?*9wkfVQ_WY>@lmSXWV zKiWqUt(8NmmBEV(Wo*I|@ff=l-KMdQRqT-}aSen}p5SE*j(zSf(xVDL%-SZW&JU3j z^nP0PhU|U0w>T_v+zpu?lfBaiFRk;s9J^A6&;nCdF$0;+jteGEK*vVbP+E9xT^uaW zGs4?So6jBcL?-1!Z$V_B4}LPW-lIuCc$EsG<-nXXfBwmXr! zXf;p=d6{B=-eLx%4ROHUmvcoHcKncd76{o<#VmF z!d5QDZaV~YwBfRj>IvEu7`O&jlng63cX=^5(H9x6FY|!OJOc44m&1xp|-EhBr#YOQ@b34J`A~zkZJjL+HI<#v#7BsbCO0e!oibtGlBZ5_b^XapQw+1{a4H zC^UxXq}%8Y0qGwq#Qha`FaGi>6ewW#KLX^L$UuA{D&PtE%Oe0@6Et~}10y;rz)GHh z_1cm9Zdi){VG*fz5v^CVuxGJTe>b;nit%EPS zyk94`xfl2RDl{|0Pfud&lCuuTdaAizc6Fm}{I7|Uj$Me*1YvqUm$c77)eO)xaSz@) zcKIH3KOI6p%^MA;Y{B^Ck$$$q(C)e@Dw|oh$yn-Jy-qsWFmxC$CHCE}gSwy@p@znp zv<{SV_6EtW@QDpUU-^$=IMYFF%jXP#D zPs53k{`^ZClBv}(=89u$G5pfB!N0DeWtGIuF)R*#+8)QwyL#obU|Rp24v=;C%Ayjj ziznOlihbv3hE2zxBPoBFV1_d%ZVVRMT_idsDlUVU@hIGA z?$+f>vO@~zR@37x@gfE9U!PpRTM>{8Kh03M8{A<5rUzzDx1(M44@==oV@`7B0M(nX z^Zxb%Pv{iFR4u1wdytF*#HZIs4Mw1;eK`@H%C@d!45B?ROW|cB))BbgX;bpxmt>ZXzQHna5 ze%D1-9%<0idPhJ4J@NEMGTW>N308idnhtN6CrkNcjxpTt|+^~zLN);oRZX}d=-rh^iw>^J+bSLA~VO{Y--&mKa|%Xao6Ue z-76d&Od!niPY=t4gMTrc)!R4gEjSW2TY%MxZG6x z*t+eIjvxL*FUgQFHsLeg#xh4|m?6tHc&e%Ip;70)Ma!xym^32q6Vn`CNgHug|z1 z53q9P2T2N-LooXLh9F>`?<0)U|c%bL~9P0?{rFs98ma_sJg)NBlk? za!L5H_kK&ysDXS6S&BevQQRKj%6dOz$aGAjQnWnz{m$E3#?Fy-cpg1wD13LgxaJ^@ zLj7(k)}Y;SiSJ}vFS{M-ajm)zK47s_`7 z-~of`5FO9#3V60RmU$tB`cqa1@m(N0osGrid@7X2S-@z z&VA5359&W%wO!1$ zRw30$*Y?5h<@Mp8=Z^hu(wG8mZsM`AgKnhPhjg@f#FFX1+S>3nqm~_5H|6~RFBb&2 z;Zl5BsoL%+Mf-ZDmdL}uI#+b`VfQ6KGk#o*6fW;G$G^V5htm-aMm6iby@P(<|KXaFu+qn)_`sYST>621;l0SC>~$9 zAdFg6ZVU5psz%QZ#WavC-GBwPRe&=eUGej=m%@-+S-G2Jk02+ zZ;^i<%e{Tr1jQG(TK2~DdW&rb8^|hPNfwF#Y*J zPE@xC@sWC-FcLXj-Xw;DZ>2s)bAK)>@_-R@-$ssQinkVP3|-NPcVe%8WVKO>Qn|X) z7O1EwZ1J7x&pP6_jSZSjwu(mgelQ^4J#`33>#fYi-jzNOi=ACn8FVJqf^!RuE;j8j<88OL>>JQZTY(3rL*Be{ylg2K!oWa7A<)}HgY=T+;vG)sLs<@ zl3F_FC4vrH9C75zd`g_*(T@-@f>Os9z4QXQ&EHnI;xY{8bjvpd$A{}o#ho~K!SLCo zaUD5XTuw3gc&|^AWqURTsyQ`<_k+t7peQ&RwYpBEIMa!Aqf}UWH(!nnDEZiT3$?$u zPgxpyOmJ+n9ZBKaVA6cUMDi@MaZ=>?jF*1RN~|ycKyAncZ^$u}l&w+Fm&s3<_uJfP z?6Jdz^?i-kK;P!1GJzjX5#RVTEHQecLl%z&yTZT9aE{+55( z|2bF#ce?HJcpZ=<*6$Hr-%dfHPs?>ZWE`S(#GjH|JCz(|m5|aI=3g#~Fwuz@!AA@}G@mRQ5>u_x-YKHsui(ka72E z<`F7`$QaWzA0XH;^%07TdwPxQi|p@u0+xW)js|1Qi^yAr@?%3=mcT`Rm^rE>d~L5> z>!;4826IGu+|awKggv$U_hkW%KR(-DSC~F28m_sVaR^nx)9y-X#9Fw_VhEMMs9s5c zk)#W8-S?Td$coNr{J8XdIMV2CRSIz#w$}2EQi`~&#N^z@otpWj7ks+9DJpugdW|gv-8*4Q0iRWhIVn zk#HN2DzlRDCLb}P&k{5Wvl4&LgOAMP7hQHk>%73^bc{FJ($QB$!66ufWU(9(%BZMr z&cil?TyJ(QW(HMgiV{!eKl(NP&xk+rxy^QghRbAv`X$%lCk z6f^VZuIh=ZvJY&XM0UQztefMoAU+74$EH1?x**ZkroUliXaHH5qO@^&4*#sL;t-JITFuWWhdiyA0x;U09yBD0-*#w%FN zW;=*8=v-!--8PN2u;u4AGH+<57BY>Y{t{U>JSWH>$Vq-D74sOuUD>(an$Uc66X+sR z4@tP4d7WvQi-lAzGk7SCv1GsRLZf_olQq+*?S|EI^XwbgVTO31Wc~?y0TH1cD$}mu zi%Z&tt*zQ);AwVN^T{k6Dp>Tzdm`gtRWcwt^!WdXQ@0kH+X)M6O@MG)D2(_2TrqJr zui3k-3jg`3kUl2ldt7`*Zh15U9>h51dO)~**bJno^h}RZR|=7+`JT8n2E#ecF8ZN+ z+MiX9;zo?t7S-<-2b-=<5b?Ey(gt+Ytgz*_M2NVz{snr0L=D#ggZOFdlM^6A7A{=r ztaf>h63IW{7kXgQW_*<```+%40#zsavA^&wT{&z?RWzWn=i%R3brxqjp2{G54#MoZ za{>4&`$nh*!u_lJfCvI4g3h z;0S67u2G$cSzY5~ONb(b z&>GgJ?3^E(bw&*QsoOIftEfOHIPb8?7mG2ZYnwtx&#q4o$)_gQ+WZsDeXU)COY>Q^ zK7p`z5*#JWA>k9@!Ld6Xx8-$n)ct3}B7!t=Oj0O_{m25dsT0)2=0=sQC}=j2pH@#? zmCDOyIzdQ>)cFWu-|w=g>yYR&9tlKNX>o47Y_K88x*HfSSX{E=BTw4UM>%8mc0;te zy4Czrn&f69Okd@Cpw?}>(F=FT7C}W6-zMN&g)XU3qzLCfESXuZBPr|nG{ViEDbxa2 zhhbiC)MFrA7){IQqygyfm{k zO}6L^Eo+_EOt}nHmT6F)hB!u^vbDJ#bB4$G$apmaNlR<=DDS3e;4Wy&I`AWX@LiSB z^)h{UJZA9Njc#_Y#u?;tptF+Z`WLHAE+~ijcgs7$*Cu-|bZE6kU>m(HQZvJiEL^TwO;7>viMF|& z&kS4U_*r@;0dD`9CM!IS?#)PNR^$*sV*hU)>r4lN+u){eRyQ^sHy)mt6!Z8yQ2*~y zgojS~YaD>|7jL)kL0eWL^LqA#YvjJa(d1bgrS4pzCq>@@a&z?#z`ynPF1lheaK+tt6d`Zjp6X*f@yn zZtHZ#IPunx8VwmG2Uiei^;@J7mdq{&dv;V$0sm2uA16(=jb88pY+IIy;m@?=cg%{7 z0(PWWB_m5iPLHq>_FBcIKi;7vC1R%>aSwLX+XBu`e#`%dthbDcb6vJZg9L}*?oM!b zcMlNUA-KEK!QI_8K!Q6o?gY1Bjk~++?d)~dKHnL441V#B{#W%>)vQ@_zDHGj2-roe zqP)$pckRJS@S{BSqYYKYV_V&!;FMzJ3bwVa+^DM+cWBkL89^rieRs>=l!Xmc0h~iJwF`;CSE@Mr0 z@W3x`Nv0)jJdU$EZzC3lv;v9gK${Yz!k|1T< zX05f3b(%G7!(x7?uNIrL#b?VMsVdd--owPFhLQZG2-w*&--=h2Jr8eowx17|bI>*E zfJn(~;b8y zh`(N$S0v0t#Sfmc;4d5bG>6a4^RCcusniRl0G2Yjr`^BO@ZVcm4LR>+CF31qL*;m#pn-KI~i zZ?2I_WHI_?ht&y)#GB%_P=IZ1xK#|~NyEEx9emfP>-V%dxtM>2^CjtA@P`#D;^WVQpVlR~cv{*k(;i z&6dY&-@(686uyP>{C&!uZ#=JplbQ4IBoBp@D~Qr}A&&L6Bx}TyzCjTw%v>4in$>lV z#SZfTSI1E+y7qm~t9`4qlLR>1UlpS5id{AEQsw0i$^vl@IZ+otT)vHGpbQT&SvA@I z@T~8br3jECch{t6Ff}~ejUN1g=zed**YhFiHlYKy?8W;q7ls*SN{J<3UYh5fm#A6E zL51`x0OR57JvqOMjbEydx2i&MP!=dMMo%|(i%Z1OQ67PIt#qcZrUzS@o z^3x(}%P&DEg@5JBnD}6SfPFccu+bu@EUNN&{(AuZm$on(^dC=G((iJr91d@vr9O4R z1XjkS#QDYNN&5O3qfXz>i=R)CD5w`t1OMu+_?SCHlA8U~vvG=S8KW5*^0Xg3^$bM0 zoCyBqFTZ58yx3F9T+l0x5=8yg*3=Gi8+8B0MTu&Qbuc@G-1>0k5}(NI%qUQ+&D)le zr`S@DR$vYPl}~9GAYYhFtEiqbwZ}DVHjYufvu_5cr?^0`%a%^q$tF&Up)IdJM2Txj zBGL3jHLEe&;4thVev&w?n~J|BKz1qC8|)9OOv?Xae-pNMZd%DTBfy&N8d$c}{h>{C zB)H56Ymg$Qxa|YcIcvZ75b8J)Hfw$dVhGs=LH#pw1QD6ltVIccy<~8VP^t)Rl9^Qj zBjIh2Ja=?tdfW4^+)%RF7|!R(Ad9SYdpMPIV(=$pltOJdhC396x)`R_isPz(g|&DU z4wQuE*auAms742fHh04yhPd%;%>)wRfR`nU{8$ok+r7q?2S{^^`wXYJ_#sAYS%&It zDbS4-b*Pi@*41>S5J=h8{`ZlN1` z;7~iKBk35@*vWnmO9xNdGkEyR0Fhf{9RRJ{mKd zlV&mRR^zJKaF5m6K+>^!antUj zfTNwJ7%B5v?KP9ps9O=HNbHHQzj}ug0ljbR>|R|*A#~l=r8N=ef_-;i%{z~ z*&=TE?A2h zfD5UG%sMN#6i_a!XcnqBjwn7%zmq|xHiRH+zia@3_`!LobWgkA1d3eWWmQydX=cPU zhgANKOz=VzwPS~-fS@g-hB5t-(`z+;M7r|R|Y=CFB^cBv`(Zs?-fck zj%1}M;PLGqIZfXKnmp!TBI$ne`}_^c#vl==${%K}XT)mem=2g>(a zvM04`A4kNUyR-s4s&<-1yZ8ytw7ctCuO>wKGw1Q*02*R17({M^IJDCO*753|Uc{8l z+x!ljSmYU2@>vZjkW2E+Hx`a#&2-P1cKp35M-~wwg@nxOZAwua51eNQ{&0Fje?~;u z271|3Zs&=eP8a9dS}Y2lo)0pMALzOA(LwHpyDQbIZ^R7QsG{o4WZB<`R`n@Wr}o?P zIDKUu^3lI|g5|_;Xp*a(%j~6{eP(xZ0VtS<4A6n~1zO`HU{=om%n(0$WfEL!MI3A4 z`V;^CCzzQ-nvU|1@1TX~@m{s@#h*Nuu53=y#is+mEsCiiV)HX!L}&|>M^lo18Hq|= z1j=-M&S&pTOMBI6H}{(wIMos)Fsm6_7lZQiTY&I8HJE*)>j++#g4dExe1e7y{*TO| z>aR792JLucpIs}T13J9t|acq{F6Bq1xL^Z91wV*k}rCw>A?tAu_+D$)-q4()cJ!U zR1@{ADS(OAb}o3hvTqy-b41tWr*4|mp}s;fck)QGuj20*b8F|)&AdbVUSZ7C0yBw=G@D|eXx_tgo@u^JKPjrEB64fcW#CFltA(GE=vY9Q+eMKGlhaN07jyzBs@V|2c04FD?P7)3}E%*)XUz9ns z<^8V)`Txw-J=*!pejF(Nh}-AB!q6b7SD$m^+Rc+Je~4f7CRC6EribF^;_f%Ha7`#P zL&Sqe=YFWOQqR(7-R4lI(`NP3AO9H@Dq|$Chd?9`)$9G$YtA3QN3uF_3_?D>c;KS2 zO)az}Y4}_Pt8t;WP9#>tN~@uUt)KLuQ^N|bE`vtkp+U<33Ky((1!IKDV{m+(y`SCm zLPsWg2>)A_rbQMaz|T;tccy(TeXPOoCUTxmZFGhuAP_RvC==eP~P;RUr7oMa>RU$Nu-pC zq@1r2w(jhsE%v53Ya_;W20{f$u-Hq|Qpv6@h7rfdj)Pl$(SFy2^=FrZe5UX+gx*e2 zW3lq2M)lMhfLi#UrmZLPef5*SE948fF(MK=W(+-+8?B8vM>|$7E{q#MJFcY|W z=)N(2Vn0S3Z8}d*0S)_u=AZB~r`wejNGQv#W{KrFbDy`Go&JngNm{IDcSSvv zP^7i3oC0(wbn9sY2#+l%b!NFw&y?K;JN9+zwg~iBl~bN|sW?c%1^2E1he3-~jLP6* z3mWjAi1fQNT95utz|a~b{t1Q$CvqD69`6U9sT+db{J^yVJTK&5ymd?w7SDje-!#Y+ zrW7y9e}{y|nvnR9lk2*pkxwps*3^z7lMNhpaDM;c?~1 zO-L)f}aDE5C4NY-E~(Bd1HDAyY3_g4}y@pULUSowwXKK zWNRNn!o2@OO|wO6pKS!YN22_7aX`~|_yBXiI@+}W*35_r@V}GUm}}ar=iIH%Se%zA z_}UxTXx2=RUguc#^_KumtgW_@vL5z{XR6EliSw@ab+y}4sh~!qegxJDYs_9%2QG&{ z+_)4$1eyBtYxHx}+#+g42{#x3Qk0+Bm+Uu-jEIi;I%X=PcHOM}*(E3FBg8kt)Y7l$ z%ME#S$0d^cG$ZlgTDGjAO--Keif|Yn?iF&jwJhUcI_q<~jb&}{TYLvcB%d>YOO$uc+y}5ch zO8@=Za3Im%^xMlaH^D5wATf6{ul>V%-uPnlX9yi1*f>z8W^|`Argexnlp&f@M}XMC$ybt5hi~ zw*gxm4vX)eF^5K;nC}xDFi34!Nib~h3jPFNFm7-QW09XPU{*S}r_WH({4IxAJdbVX z^%5zj6!yUHl9u>w;eLBc_<{DV+VB}S_vvnSUXiixc{+{5f)yquo9noFKT_Y4vO(Ip zo(A7CVIzR9J2;J*YchmvF~tk(FkBKbL~h*wfP$I~A_8N0*THsqb{^R=Jq|5Pu+J~+ zHIeQ!NZ%+s#@G)D;|;JZ(P#Tjhilu(-gTVyVs4+La@czfq+!&Z8^HmKu0%U-0_9`) z&?cF3{~ZT=>KJ@E#z3BbwG9OBmmwSCgVMICzn-7^9f5RwnCW++(WZXnZz_-_v`H)H zb+>*&lJsQc;jTMp`g=(EHxs7Jc1byTz=EKOHUIa3SOM=Jdx7hGx9f#5W?MRF5G*B+ z!0qHa#8c?W+D|Za6sFxyzcpGJvet2Lv}-!+0i^y9l7u1Qs{aWr00wr5_T9MLzkmX~ zv4CX~79;Y#k~Y9JWx){n9>!8{&-;C4ks8*E!sAPiRIv8L!vix|77V=9xbd-npA!5_ zw1E|@=)5Rep#Ajqup2vdZGr|)PFYoBUkL&IvxHu1M#Pj%E$(+>+2s7s+gY&HoBG@}?0NSs}I2KG;iwV`++2e)bQw-twqbHX&>XC(0V%4Dh z!do{ji_LkH=SRE^Hk=m4tc30(58~=-`|(Pa7E+=*Nhx-axwz&%>%Vh|`uN6FcMSNj zn(=yKJ?P|a9aA&cqEAFK^QEbnZM^(?ro5o*K5S~u4VBNjh?U&}?ut5ebg0rtKUZwP zjxtAEywHN@&++#1NA}WPjN!CAc4+rda1xL@oUty@;Nn60mmFm9+*J_h)AwE`MeSvx zm}m0hdq+z(eKSWbTFMbOwePt}Bb_&ATKe!hu-)=B!pjulH?Zc_U&&?8XHK#sZjiNd z(zg#o^m3S{WNbUntZp7txYD3fBOvkB1Va~+z|#U5(Gpc%(YU`H!y zINyrvLkcL@X0lKizm9kL$OzAcy)8cL7~9<3(`Jxbqd_47&!>5{=T`>KZE}WS+5wD` z-##XDCJ{|bdy_U?TUZWz*4E77!~lykbXOhZhido>s`*N^EDtBOc43+`hqp<81F%A< zS4B~l8^_JP|Luie{|hOsXxWj$w*_twRj>EF+uZx+&Z(+E7xDXF%t-%Dgde-40UPKE z>VTmC`u+UpB8(IO@wX6Mi!?r4624$VgAkWrObhNK;%aJKXj%=y+^s{v+b7n)d`Dea zgWwh68>hLDz0)jdPsYMyZ_>Zk8a{#jL(H#9u$ODnc|A&yt$IlZFZDyrl?|%_U{9Ur zpSh3Qt{8#0Lr0}?8%td-T|D{@s84x5vD?DFUphT&&^7=;O0C{8V9gVmc(uwa1EqjA z5OhJyJOqM;Q^*yHnlEQ>T!&?V1a$6HLve+UiyxH+9H?2Mf{OPx^Gy%-fP_EfWf6B^ zYn0VMsGIz|RN+)OQe*b6LZaGxs|%F4)HxPL=b@HM#JA5K`ZYfYQc&j=;Cz}}1wyEv zA6;q=zVjHf?OAiEABJKLL=tsxIYpXWP&Nw_@6k$8aE$v#fwdf(#H^VV_!LcYS#^l= zP4_%5j$krf7-yw|2OF>apzxd_dDBk=nE2s;vls?6Rj z_0@FsTTseEorb*16g83cgbfcD*t+7gvQ^wEDqJ%~s!bLQONZ})x>FW1-oh-$PPqEp z@WefE8muVB*~i8vO|6{Jw)KqX7C-(ux!}WkmHbA}%wi?PCE>&2172ZjM@!-D?E$p} zFCn9pB3nYFEMQI_{iyHsefJP2jnnnPw?k19jq%6*75Zbl?LQT`@Ji5xb2D#kv%!k6 z0M8GAmjGp>sbdNy^aqm}ZH*eEtslZKYzOZBV$qcLEMB=8Za-iLXsObg$^ys`n1Nq-MidyX}{v2W72X zh|znL8voDC{P~}mnK^JU;GEQ8k#}n)C-|mT+VLuFJ=P#5aDM#5>UkQ|!e1%%MZWwF zufGz2=YRNWwF#^1i^3#b^)deQ@H@O56-jGQ}Z z8TqMHl6L_lh z;PuMyqpNpRPk2Z}-Z#kwcboY#R!#>065~)A@qqmGnSzLKY#PuWcpC)~GBMPITubFW)OMU*8bqzog0o!59k zf_)&GaHH%KFuETxf|m?mD9+>p8l!XR3a;MC1UO;oj+?a(D${G^3L5==TApDvxdvli zl^tU3id36R*1Gp$Yp}v<9b?q-vTiGiwEGOhutbk{zZ&jTunqMbn8+u>ZUyGtKVNzp z!JVsfsGH~FOlRne6bVM%ofynYVO&0N)c9uS{2BJI^1D98#oOwzfZ+pi_{Cvo+{UQ~ zCI>^TuDS~<2+Z_+=u?T@6^&IXsV!`?Bjn~hbA!Ix4kpgyB^leLqwrnICkEALACKaR zb_Y+Yl+Voo+TL2RoGYm342+pY=c@#M0D4ngA$VPtlXj~9NfetbC((Yt{FY)ldl9wz_o+?iNmL#hTKdnAjL3uXVEdH=(#Lj0$fK@pfJTYQc**O-_VbdefxtdwWgDs&k@E0l#`rKfunS&4;4 z@U(KUbu(kOjy0wH$M(~5cl)#>=hMqG=Im}pnw|TnTj&U19N{Oszjkb< z&1OAMy+ek2RovJ&&mAvWVCgvt767v`x=J+~z9*aRF}#WEme+V|>Jy6Wj4Ybird}yS z!EepFZTy5Rh2USmf?Z|(tPLq~MGZ3}^hN=h$4UZGz3~I%^MsL?gfP<8!F+y28EW6c z4aGNT>}G4sQ=9+9urS&B%%w0+>#-Eb{b)=YPF-MXV5X~JC4@wFzGNdZ-!no7v4Q%3 zKV5-tfFKAd@faRFGC7Tt>>0GDpaLsX+hxvR_SQr+R-qBptfo6=%$B!3dL#%3nU^>8 zuk;X!YE+?lTbSs*{E-Z*-s##YYVLf;B%4`|I`!oE8Zb(j**&JCRyKR@t_q{$=N zI^4&eqTuG92}r+;Rm@6o!KL8lcRr$kggGUnoKmsh9^fCe6t1P_KN&I#f7qO(xIYK%kh-*YRy{ zev7AB;p8iYNgA-7#f1w|c!IWs$o+M6hH$i08GO2fFAG(vlyz^;hoA9^Q0QN4aess*}oOqiy(8e(;+hSXfQMJI=-5h@?GTGziBIbc-7QM^i$fHc|pvo z?))Jd#(jtRt;*PT1}dMU;&~%EeEbuXg*fZ7DKR@L+yrb#;=iP&FJ1tBR}?u(u+*Mw znXAgb88PxK{~xGd=0CG6PKfpWbo*mDuHXwkToa8$xxca&;?|E*2$N zfbX3S3AvUTr5S9vXy3=YIusavi}~9g?7KSdvztURXqn}AX3;*3N(C^$n0AknQZn++T%4ZoKkEuGfm|W3 z*`nU*?MV&nvjh;KbT*Y+%z15Wi(G{^6eK8qM%wi88pTsS25Aa^@Nii?9WbgTM0S&Z zHj$z5O{XNy3$$uTZZ+o-#dixAo@1*rWqv&JeJ3PGU+q{uR|UxxOH%A6w)Q*XdTQiz z&U18=f6hx%*5Xpfu+V zIAhln(6fa3o)v!Ihdt#<;!%#dI(&)UbVAvosV2fagY(Y;6Buqj=|dy0vh!KUY`q|` z3Ml32{wRBVo4RLxUG=(B6AtTJf8y+?AtzlejZM9Lr&3^{x&)xquMAZb z3-Lo}Xh&44-Ot?P4Q>ac_(A#W^?VxQV4@t5)NOIz*pdgl@M#RtWf8;L{MvBZmS|l0 ziPnn0ueK2D=K50=ISv0xT^9}Gq(f&R}+!sXRpB!tGG-mHwqu}rE=2?dYg3JJKe8U>9L%LzNbv);{`|#R#qX<9ntR$5>ap#8~wk+n40K^ks0X+e2VV_(K)Li@YVukD zm|&a8UEAWa8_^)}SZpZ7e255$n}zc1pi6a@{92+NgWR^T)Z#_X_ULi3^H<~F2K*zb zyP(%eiUd626a^ubgks|7^2kT0MTB>KZBZ8*8a5KpjZWqD9!w5Z3mB`jwe z?eJ`7>SX&I?x{LJG}B#<#kS4L=k!cnV*|g=d4oPbhBwq!S<_*R!`o+n)A+%wr?x#- z74=NA5<;MSsPp07LsUt>SKG|-ZDVx!5?WtC5=muPA~L z4JeyHLna{2fgl-dVD_=_mEIMB#D2TLfGGaUq#Yv*KGhsH7jp{-HhkvNNAv|hSqXMG zYVMGaHcFgX{uh2czGtT4dGDFH68PvxS)`&;ezDYOG2)>m*#)1GQGPm1M?9;{ELP7@ z6|xjI?Q#sxm0VgSQ|bHEL8%el@R;)qf7LA1PRW$;3m zaPI0TVQ+a*jnp;oE$r2NZ(Hy4dmjozb^=7pbq(`=w$6~B8T=IcJ3SUUa>Sq28bo}gRzJ>fF z)JW$do`LDc@!Z$)Dp4TJA%3w@FBk`I z+ZKa2(7VR|iJg?9P-G#Ct-)R%;N^7TV%DPRVoCbEXUOBMy=#|NUm+R#>i0zh*j9vD5Z$_dc`gFp?Mw&0HObC3a*8kZbAx5nE~6`{mHeCzU9{^VAcmz~W7PmyoK2MK6ZZmihx)r8 z_0a2D1+FRLPBvCxn-2-eQYmH9%JH_QldBX@tq?pngYi2H-D5U1*}Xdg;qCU{aESey zx%)Dlg8!r}u$Zt1W8{yhPFQ1H=7I)(6wL-LOgkRhAD#0QToznEDaKO4?-xx=$k}kW zGRmKNAtP82h$hMyM%ji?M#yryIK3ObT(>y7ek@u@4Hx7>ow`kZp6eeenNIjlqS*Ak zL2PEM?39XHG)R4SMzDbO7mt2izh_<(V^w$QtKs70#TZuJ#IF3(RdByQzSUD{0y+rd zx0{~(N-9dJlbx-sb6Ci0;$7+UuoxgWEpa66?YCL`4b9}%G|3z4?ZA-Bx-a(b0G7V4 zeP*_%>NL-I?Ao&ckxQ;A7QXejjhf9u3AUV(Mo*174xAQ=mi+cIHnk2ialhd*5uNiWK3l6{wNXmZb=g(&U-@1NHvCx9r9qyb%sAeF?R~!- zY_z<>_>xQlO=EEUPZ9uORuAxlui(Hbl753F@^A3~R|?5iv;RpC#~1WXQ|0*l*Q76N z{ND^8^&gFcJ`*MD z=8$fUu0`>E+XmL8sWatpe(15Z%MERR&taE4Y$U4(W_@BuS6}Pa+|a*T>KGIk`@RbQ zzUp!7@J@v(*?MiX&FNCvz*UOnr^T)u_*X9YrZaO>FqUH3MIp+cgiGSvk=0TDfrKz8Fwie@TVQw9@U3cN5=(h6iJ`c~g+DC5*` zo+CauzUPV~+G(yHaaodpK!8W6>+9PZ$ zBYxy)$LLbn0x)cAByQNsc;QQDf6&;T{$#tk)29|M6od9^udcdiO;N~`^-(K`DJoIo zBwGkamAH+;Ik?C!{Y7RZts6Mmy!`vx9_KKz1{VTbUv^-DZ zxL5E2Lw7g3;S+YYnH(~tWx7^C^Ik#;XXI2s#&4?@B)PB{vMN2nrR79gVb=7inA@d| z?zY+65n!MVB!?uOS))F4@=jA76RVs_6YZ3h-I4AfRTIS#Z;Uz?hvyEnKjiehOf=*e zkkU`ubezdV>_coR^}L(ix%9iO+mOd^+brt*3D1q^rV2lg)i>T}Fu#Wv zj|Jx{HZEJ-B$TQRopci<$w$$-G&Zk4|CSP90_QN=c17U|t^nX0^?#EGTuNx0p}~#R z2vH#K3w7Q4>vhYY^j-ND-Qlh~l1&ZM5naQxUeHny;EeZcwNT_h*VB8qtbNC0({%6* zKe|$EWtX$8!Xi>u&8tgX!_S`5-PhCa`{I`;%>(VDp?^GzGT7da&I^3+&bYSgmVgBS zFWA==M)QZw?7c^V_Xn^M@RLT*cB0>{2j#9V^1{NNdj*xpwid~o;X9f==L-o=JI-`h zUVgRCWss-0H_ZD5RGz>5vora1+ea>e_x0QkQeplZT^%LxV*O4zXRYKu!nRF+;k85F zMZl|}AMiM{24XA8dtN3aX??iMsJeeASr6ogzp($V*wMGphQ>u>_^@)mZC}i;>mlrc z;j!&f^DwTt#=*L>?oa$Saou9@APj5=wGaWqHUK1FlKGKY4M?I~2qM!4E4mWD&X~dk z6<7kT_-Y_&N(-H=46p_4_)xN%lDE zGlxZ?6BtxDbQjbv(w%itfQx6xRc4n&OOuS zm49$|)R$@8OFwtsKXLB`&#lL?U#4CQqzW;~I;FN?9Ty3WDjp_FV25hWnnnXVOOLy* zhL|I2$u7j&FDtKI*NdeZ1ex`Vb{<7u=?Iv5PNz8^&mVsjx9_@9x!5{8%O`I1k|r1P zuK#eN)0~GBS@3|$bP3>ehE}26tqh7!+CcE+m@FSGfdh7indS5evJb+(%?#DPZop?? zw09}uHOK)R8X%UTC5HVI2hD2|fQt=-IcHv*T$k6gDIHCda>%+mAgf7ZVAyP@g{k~= zH~*>2Ivx&iKYDgkpxQ^M@{?#TC_uIlK>T=%AF=QfZMoHWrD4fb^52$^yB)@Axy)Iu z#!B`7U+K>pe(*T{DY$o%aq(y~zUh*M}`UI6^(njM0A$ zT^yzex6w=v(?>1XU+w**xqUNZJ$B}E?(mQuv-?xdT(s16lPlAJ4OR073wus$dtmrN z|7?L@+IFpnvK0KuD!*kPn;zh2obK0gyi|5AVZNooN-Y9d89Y~m+)yb%g^*p8zX z4#s;8yy`&6%Hy?LrdH~r2Jx}q^=-p_iW3vyh};#tW_e|Mc)pyei+2I{m7+^Vep>Sn zdz*FZZ|+y4>wMi7U8$R=!7-g9IZythP#D?(?3``_Q8f^1%;VU%jVKXV15 zfq3N)zB1@J0W})4yIIHV2s8#-?hAR&`uU)tAD9%|@@@dR85a|~a$1&}3Kk?5_8@-_ zk3SR1$D0yBIW&{g!}sZ`Rcx`-&MfRE2Gon?YPzb&L2uewNeg7;7p`-fRSSQ3H$aa# zzj-STn7R;i0e zW=g^WEpCGRLY!`Br7>evT3Pv_<^5~;bOhQjPaL<-c-NNi5?4SiBkeu%3w&X+1pd_i zS{9}FQg&!c6J|}kc9w#sGu1A7G(hX~bzhX@fwxyK1>C{Piu-b$ymdW%!SLsn8CdkL zL`KhBvKPx}+fLZL;5WJ$#I$>*0}r>1WX~#*D`692SnORvVwwefRh~;bfnGo1SDbjj zO_}q$e3<8+Ha@ot zBqxbH_Z&@6S12PqQDV2D^SCuozOk>6C=2ED&fF(uB47pF(J^~zJ;gJWy3t_@M@d1$AFS;FL7dXMkF%(k$>!2xnsAUnQ3$yO zQY7~SAV*k|$Vfxn!5Xyj2MfYsflDd)-r*nHLzb59CQlyFOkIL&1*dHhoXEKRr3-3H zR>*K?Mib4uwYpFu_r5o~Rr(R%>L*p-^|XS%XNx1j#3I+Rmv9mn}h$hnv3{5U!Qzvb_bm_n41Cp z|NZcvG79-0JYwa;iy?PtoS-QAo3fY+-y-R1gH-j_?`lz%GYvk97f0ezfQ;jof3=!vrCtXD;P;E@(f#JFIPBjN)_Npf<^YqF2(zu z*VpHF=ruvIx@D?@2advUXm3E^NERs)P1$Qgay#*9E;(9O|0@f1L0YjjcYzdDqWi8S zN??Lr7=IPWwL(h5jEgQj075EwJ&C3Sj(9P&-UWd^$>g0@yx(u9Zca(2FC~8146GyeBm@zIrIaOpj~zK`%pBPLrSFlkip7E1kfTg>d9*5{*QI za?`=R5XVq2Eha{Yv?n9ht&xQ0i{uC%;{Q+;{ocSc^1(4!6~&9ukNS zJYzdd{Fg^Z$J6(+YNbD(mF=AW57w}33DVUMB2=Q+NX{zY`!58sY?<{JX>j>xl!Cc* z2j8ptp!_M169WSetFbR(AIou`Cp|QKd?Zzpx%baIuY&Qb*UfCFnQZ{K3suAAg|s6v z=-J+?=+#(~UiZeTZ*gI2=o3TwNOPQuAN6OF;g0QXJ}=6Yv2iKwj_l zBr7srp^rX|5#5Bb6UEzZ{&7F$WAEO_;G#4%b1aQR$Xs~Vh*GT*N>7UK=b=0!gK$AG zmpc#)s_0FxjGjs|?{C6VEJCtktnd@Rneb^sm%QPo55qPkFdSXA^|>kE(p-H>vDQ&C z@3&t*azQK9Vky<=q)-~sz{!kNWkQax^nE)<698Po@e&{nvRSHbc@rkta_Sn%6?!L5 zos%HoIB^V8;*n(;Chj!HyUW(|26_gTC?)(Mc2`~xdVG`2^4y=Bss0{&Ewf?xjcTh# zl&>o~+rMj*4;k_ZF;0_ht?s_Lqq-vlvZ>fbUEKt@;ltUw?>|>MN&a>*bohC0UtmC1 z7VN}CC;wplP3_H6z=qFW!H=J)|Do1X_smN>nLOAf>w$zdyTPn1XnCmXN%;-XautJf zxWdN1<4<61BfCxTOsvPH65g~Mp9xZbxr3xXQ znU<2*Cycg10oYYG_BD|oL+o_GSUK@A+^fgM04BGVq_URDQ&30LRj8P?f^`n%nf|QF zZ0WHnq0VG0xR)kkFG`U%DJOFxcvjWdraUv1gbV$y^s%>nTAL#7o)mY0yg12rGFB9H zHh?8C4|!X%KQ9Ln-~+K2!#wO*YKAx}=?dljPLN=oPhH(kg*AV{WA0XV4<4I~0;KF3 zevbs(}BJ+u}|? z4=EG22Qr@v!R@a02tSPwPmJ6AeTivpTTqmRKT4{s4HU~8ahwUe2NvQLx4D5y*8Z`{lXNTkN)U!;blaT&<+eBs4}7>Ty0K+3l-}2LtE6Jvv%E}e9k?J%129)xPZR#@u)j&so z2rmmm4Z{`-Yok_WR;cNg4?v)!&uLRyuoCH( zvN}6g%)pSvNH%4wl@qcm)u>3EHJi%wU+*zJj<3;4%SC$pG>+Mhq9u;@>vvUH#mDN` z66^K-2IS~k&cr{s5U+v9A|0kCSEj`H~8O5eAW+q0z$Q=f;QuiYTiVt8S^ zc8s3GNcv&@Unu6*Z`pTvEY&u%g|y@3^`m+Q_0#g3L$lo{n$--(gk$TCyAxdS+6YM2 z?Ij#utzuwSuU7>-{hqSwnIP6yC(r24s%Nv1VXz~(Sq&CO>%r|sWPvb<1^H?6za74V z6|zYmcuc26nJjYD|0(`|;?-%+vl0w9CH2PvunsZuO1eBhe)%V0&xGE#ao#@w^kWvz z5rpnz=pRB#>Hib0vAU#Q2iIRPcl9R-sz1<7+S=l$4iMX$hW>C@)IDlmg|eaPz0fKT z<|40X+A4LbnvTDFDa>6+bQ;LY>}ezSevVUn?A zMuLB(%$4T95t77A_|je$ug@EGFz3Z_i{Pf7G<7Z;sHKUY{bM6B_=L8&WN~E8QBaAU zopOgjR&%?{EF)CnfG^1BLN^`oYQ+P1BB9`UPNJOgPK3kery6l3nLWU)W0RB&LX|Sb zBowFKhqr7aYXxE#cuLx>D7nXDXEgL}t1eU8k}#Ps5-YQgszR?>SrfoNPtc87@RAEl z=5$0l)%7YFjYEEHw8QON4eqzdiI8>X3uC zIpRo5sT$FNwh&TwtLeV#mBi)K?BEmQ$&gdkO|XEIrkEQIDSm$3hHtd^$efY?o2~Uc z!|8I2K5fH`f|dMYZo`y7jiMOFnJ@Reb}4u;@JU0TulGl_Fk)Wps3J@gMKBwV9EYp0 z_(BSYU?(hAqsI}I%rT+=4#i4FFS1_pocZMTrK9XiJym0?`O>gNHfMOnNc{9Gd>XOA z+roPPtEK=0A-@zmlk#{ff>7>q7M~RQ2ZDuE;_5N6k)Svl42G*#xHs32z&x@T?FiZk zD?MjuUdNk1X^y#P*W!S?K1<80C5xd<jF=RQSWz9&)W7144mOeI8BWskGKwNQ^wa>Rv zE>AAL4Yi8@#_9oVm1s)lT5{G<1^^LPxcz^>{0Ek0{hui2xkTvco6Pq-GyQK63%NNG z>)wnuXOM`u`aBN5q36BIL4cp*EHa+gVoLD3@9J!@UDo>a%L-v9iGSyEe2r4TG6$`r z$r7LTFIM$7hb-4!+?xQ6!G_&r#pha1W?WtTrBs4F8Aj#AzQkFYnw8E^ODTd6N^-rN zwkEi;#bofkib`8T@E~ISq!2qLI2&_|&FlwK&LiDKo_UUx@KHT;e2pfmS{>g{sN)&U zQ$Fi%#mSx_OfO?Hkc0riN<;CtNd{)FEMcFpmPyJL>8MquTbvk%O!(uYY%KDk@;6nSNMxB=D#8{F$(f^S9 z^n~QbF1hU}M%dW(%a)A@@p#UmGk4u{{(`jEE2x(-fd@hk|7I|%`_VJ>>pM_qiBg1^ zU_H$zEnBWe-lc#TkAv*Cpx9-IB3YZFBrJ0%%Ju#UC?531bpx{=#0aEB||Y8B`**#l}t`cGScxqJ4XAuYKr?VpWT8aQ%W@m@~%(Xt=F zt%KLS>D~SO`S_*tyzs_iPv?*#{P8uiq~emAe@k+m`d58fHPe7btJ$hzBv#-K=gr~Q zyJC&26A86=+H-*`xJ6zg89ix{!YYDZ3a1Xe(^)58{c_5~g(7!P%I@=gGFHAeN9G*M zFz8*Ky2gjR%-O2;d9EIFs0A5kOdJ%RM<@{8CJW3uiLf3DvRcm6-N z{xU4ewfi53mG15aNh#?Dkp^i2>5}e}F6mAIVPI%Py1Pp{rF-b^0fu;nz3=V!|2vN7 z?KSi6TGu*1wbps}VMuXK0D0o+wO)m^CV}%AqdC`m>VZ(&R+px&T*mE1mJS6^8(zZr zz0qP*7Hgp_c8GVrYfVR29*8z7x*qa6Gfp8gL!Z0r(c}2cptX{(ug`~6M&p}NZ46ye zOM>hg9x6#WN&$6_Uo~nfi5N-WJK7X)MR`*a7i?F#B@k`p!!>i`!`d^L$oG)1QpB6W zsXeSSIUK|qtk*4^Vftyhs%F?^=XWZzbw^mAb1bVnLW62;bT2_!pk4 z=myR@?JB9YZVd~T#ta8ZUVMKe^@eEC4aKv9e{l6n~q$Vh^tDf6a9UD?mDK5B`dE zQE&WKry;@W-l9dI@f+ypzD|?Duc*W4Tbci=(DGK;zk}zuoMB+@GK+a#mdsy_(6g)k zVsH8V+ef3qDW2ahdq4r{3l!Ks0ljdrd;?~8hUYV|1wUU!4iqxvIS#pb+%qvoUaWSK zmB!4?aiaegHP2j~{ejf{$fv&ckv+WJxXU>W2~n=-LV&FVU)97u#na_?s8 zbB8JSNi12^Q#GK>386!@lUDv`1H}#?oIr;05^dqF3|27huT*D~@k`m|dJukSEoRKX z7fx(0IJu#pvcGq>surxN&4U9Z-3HG$tMd55YKXsCl3Hc?n?1V9ykV6}@ryUXS$_ipbLL30VjI6%WT$`V3~?gycwgz*Yl zRa2#uD3~BFP;$B9kdqvqT8nKnnU}E4LoSX@BYbYc8Tz?Tgq#${ods>aOyc?z z9*7jE+r%Vd+2ephUTLzpjl{j@MYD86w_w0x^IIbN@2rfgEIzrwMf>-7kS3<;8vBD&%FoD&3bU7Qp=xICHyKmCC7)MO9;% z5dG(8d*I@1YAxT2i=*3A24J*mt{OQ4V4^kcc6cLjGV)$}YV)?uDxj`7d%@!=YpZ$eK@hkhZb$whN16U(#m(ijq=Kv{9(*aMUFRCi|sD8IlVn zQqUgie(pXd7P!X$_?pojQ|zf92KbmxLWeKaB=AjLxtml!7+Rp@Bj4H17g5p*S-TGT z8$$yYY_c-sIvlvd9M-Dbz>_g z(IL+)4WektdpW=yWV|`n*-@a)gA>vf@_4);P4mLV!zBdXBZ@J1^PU}%}q(Pc%o z#yiiSQEKfuR46>5sA z_9WKzdv7Xk;_npRjVwjw;sb>9T~uOS^S;;R*E-JmoG(kiABdE8^A2NhNrdcMYwkw4gDfl_0q9f9WHz_! zy%G!VXUmO27D=NpJ)BEE(P=s))06`(URg_qJza~Iwe5c3BO%gpaKFp%3foWo%Psfg z-{^y(z4N-D-1*nv?x|}S1o#O12Fk0n+m;t{a$Z7U{{sckCTZQO2?e8l!I)w}JMm9b z_49%Mt6T6{anR-bFV2w%qM^+3CheH#2Y(%LXpNh%Cm)_&sYA7awvdEg8v;Dtjp?EI zHfS!3Hys_+c@I&n2|Sw2!X(|@A3@`N938qNwX+)U(me!?g$6PO;%@xLcp|>exk>Gy}69(VeJg{oAPgb-pNdy4h%Q;SA!-sC$C6N-gaQ zcJ$cGZ>oGh!U!?Mr~>osZ0yZAgnz*h&+TPZvF44?b*&(cKc6Hy?(r+(l7^WQe_ay_ zoQpM|kEQ54I&%Y1i!bMehJu(PIXfAVl*0w#q50-uXdHD+PUsyMK7x=j#EFE;gE!3!9(vU6a;zWzoD*Lo_J)kwEckd zfL=}ClcwMpRu!D;RJR9jw{#)>S(C0m54)~}HfQbk{4LEbVy6VP=)DW@0~y0tzscwC zZh^{A6;C+rxBhoLU;6a=X`Nx^exNq738tzRF?l@itGjj#xOOajstVD_qRDPbm;;Dv zP2GBPj^FB>GZvl~wTHN}uN!M<5=kW_Kkn#eS`Zfw!u7LqT)f#b3uIx%mU+XWLu*mL zCn{K(6~v}*cXssqF*teB929_bk8yv+XM;?`@tt`(wPF`yzKGUyqJ1*@x_^gh zF)nj|Ky*~GZMA{xwHw5FEr_bI|8ljxkZEK`J@S5!3~$@(U6js$0C%r>j!KbK!yb7% z;cp$kcnwjGP{f+MtOi8~YS*_~+Zz7>TdAg&TkqYD*V`xS&sQy}PWA>8&=Qt*lHHT1 zxEF?UuTx_TTkB(;TfHJhyUlE7nB`L^7UXh;r~`S#iUtS0slhT&8w~IUYc8s z#ER1HMc$r-OZV+|?cjz1=lw0LBES3TpA^q7pQqgYRA@w+qx+SydUY-JlyFe7y^te{ z1=5}6U|a+KZ0k4gz!^)LxGbR5<$I-GF)OYWh*I3A`GfHywZ!0x9{7vpz^aGRXCUNA zmN13g8(2&$`ES=j494B+_0i|9q-K?hG~SV1x?!}*>~t|PxXmA|4_S1Lx#eY}$M=gu z#nQu_zHM-GD0v-&%5&UE)*1b&jo2R~zKPWR0eww!q;x^HRZ@CG zEavKymUy#^F#cyFk%Y(VZ=R- zFuX%)y7FLzUVy>-%W)AP;d^Bb@LcDff3snpBrdiu+ea4~d2|f93jsFVtC!}V*tW;d7ppb8yAikZ3{VxMs0m8p%1TlI2 zHc)kHDFC+uOZWlpUnw@ZC8`55gbNMYih}C|L_JsEzqDE;B{8OmIcQv+&-n6MXUU-y zYhRGmO4XMWf3ftZc=ggb?N7d*6LWL~8oOgf^p{*b0^`akA#k}JS5ax19+Vdzhea+Qx* z5kv9Sg8)BGEm|XXnEdf$qo;>AXQMJI8bZHOa4vh0yC(@EW=-p5;y)R{!aouVmcM)a z9cRQX$W#y`gPGL_gPk~G#4M2O4x!-4^Tev>5sjdZUiz2E8283+Dx zk~|KXMXbJH^t#X+CWXui5ysC~m>-xLRvKeIYo#brck`p3EVHo@w&z2(Zl#AZ2z|z7 z_r{0NzB6GqSt>4V1QCfun9rcTZ9^xlWu zw^HHbR+PMfpLodC7dX%GNtqsArFqPI-6k*Vw!8ZP`K_?}cgn8s!j-_Tul4&$qZR!Q zv#>cb`7`J#5bM_-GFfX@Tru<7`l-w&tqg@Qp$Li_%}%sJsbeLpg9}uv?R4y4J1GWn zll4W*VVqNNVS>&<{9CMoH?4lpJio2bYa*R%&h-A`*+m}%H*~dRQt=pQ?J+h)tS`Hq zoq7_#;900KyVCRZJBR_}Dpl5C?b^YXA8lnTAfJl6t)GlPSkJt z#+mHyJ|O^r_h^xbl+wNzc$_%*HCu4$`^b1*l2fC!A|;mbqZBlrp0p-)y6`{QY)$Vj z5RD@#sj;8QkejYnwpbo>mFF8`) zzMBdaRo7LH25ykJwYrh80s%93)ibz%I*hat zY4w>p`2;C%pY0%0LAPd(Dnyr!V_{LMZ@Y3ph|}h&JKO^pg4#sez^w>NK{ zn{*tof;iykkujH2Zpgs@^>i*2&Py?sUn$9EvCi2v&8+x8SbCK*M^z*ooV(2VOXA;= zo_~rJZ<}BpdUQ)Q*#*amhCrceZbnS@KMX5(nfzgZ{pt17{Yj9@iSXE{^~1EG;Y-lq zAEZiA=9tZR>Xtrd@XdP-_R%7vZ?>J!VN;mM3k9Jt;Dm@-t$cjmcdke(2X`_vu+gew z`FrBYnD=t$1acLiwhyKlFjrO3(Zb!FK6c!XTu6Bj2f*|L^seFTZCe;F3=1(*t#sZz8B)3gzOZ-I9h&H>W~Bn6OV;AyOOf+QO}GDxsZ%s%wyB{4Ga zq{p>lo`m_6Ox{M@aW#ZUuI@8D<5i=wQyH|rw`&cb&ckg?i(Lt#sz}TSW8C*#jy5EYMNu_{N1D4_ zG~)j954O@Npnq~Bkha21Dt4OkSv?K#6raCaW$Cx0E*5$@{>V`sBogg|18R~OMD_@b zs@}Mm=GsE62$ESlr{Nz&D%r-4F%G#i38Z`Ear?nzQoFv@%8@x|W$Q1sUSt5LC%;&> z?s8zTElcThCW?JQ6QlqYXdhAbycyP+rQWF{Qa;!KJ29V+7_gQ4r?iMk1=VoYexYbu zx)&UHxN`O@KR$LuPg4qqIXt9xymsHG%6%LIEK6x_a~qUL3ovv^B{pj*EZk&HrX;V~ zwLT$?gS(BV63Bs;Tjmsj5Pfb$&^$p{7cAB!>9m*Yg`+kPQ3S(W{G ze^SB&)7YQX+f=^g173DDE3*^SH649*Y#|T?BI6>qCGih6JJEOduwPvxakY)io)b&$ zY5F4;Ht=r$;FsOpqO$5L${$ph+tZ9Ipxb}MzkQ8F5)%c=`kk)uDz7CTW&WRf?RQLh z-t>B2qI(eryetWpWP!Kb{~h*WGX4jYMmqy4CoF#3Ym}RWK)Dyel`ER!k%z+&>R7GP z-Pq1ehzBX8PKyY*U*h)tf&SYOV{5*W*Tp{Le3 zQ7Vhc(DeiE&iQ+;&WJ2^c_lwT?MA!!M+O}=ND<~LqQkB)?W(eDX+?o#O|rn(f?JL$ zt%~)b=PUNAj8Vr8o}eZ$)>L9Jgybg;BId)E%vrnGv#M2UEilfdErx>}I?Z!MS!tHq z0@geD@kk;~THiouIv zd|7V%$koBt?m{ul{`frE`lR2R^=7+e`VJdLFjeC5>J6c)aQD%a=f{0OXnzXs0X+j{ z_o?U|Le`UJ^fIzB*PveW*PsuQSFZvOhaY!Z44r>Ci`5o?sS7I|>`aNW#LIoFzyZt6 zvg&_DD|)Bk|Jp+IUNnN;MW4A+q1b87FvB1kAKc=1R_6;GYf0Tuc)sAnGGN5gph#p) zUgvK9&YuqvqKH$$qx(vaOE%F)5re~FSSc6uqzw18Sd5J@!&Z^Pxu8U(X1K@Ak?{sC zabGrZvwkeIuTAWMO1fxKZIPRjU#f!Lf3z(3GG#{0o-2b+m}AkkKjWlbFhkC!d?~}R zw4;**v-PI^diP{JWVUy+JDuRDrfb&>_FM8+q4-%__F9Lx^zrqi*rBa-!azi`k--Do zkpB(PMAqrflo9Ml6zSX+{XB-4@bD1y7l=aR0?rsuub$@o2qK-C-%;Kv8&lk^{ck|* zpMNp(MUX(FSE{QBLt2zl=gR~C*K3C$q9KN!Tk0w&WdB44jwHAU~*jr0`T^g za*?}6d}`%GJ=6EnwBX%aq+S!?#f?($?Tzn5cFaFgIJe@ZsV#N}V41^f6yb-htWLxy zA&u@@&3C?EbBZt{$c1G}vQyA=x6)nl>^BqdmeT+Kki31Nt=HTy%V5;rY>$XMxpV{;mM|#FiS?(w|JN=Zy$L? zOW@lD)^}1GgqS$x0dLxJLT1V7q}wSwolLIw@UUm9CVF)rBFl=BjXO0Fm z)51X&&rK`DQ1(_JNs$j+MxI5yh$E@r}De3^t z0(#~S$9R0&kGM85vIYv-rN%GoyhD$6rN<7Ot?c9o^osi2Ag+ZNHmjB~qT~LEfBesZ zn3U>YDxSCx?qF4t59yxn5Z~PiQU1l4-MZRA0A|B)&)3hdphaj&@dW9VdFJ}tLZP+* z6jJ_Mg!I)8PXaSxMK28hrPl6zyqyvJpOXAZhcdgM(iHonRw}eWow;t8#@{rb4nwU0 z<7LXnnsC4UQ=_!io5zoc5|`owh1gw%O2oVv{If(xG4Lzxn(L>%ZjggoWQT_z!?Z24 z?s*l+7Pu8cML_OZ{w`$m z*1%zbImMO2K{tdD5NMKWeE5kg14EBVU%%%QU3#@7k)o`bdC&*s>2#XU0E&7uktd~$ zu{tJWHv|-dl40J2Xfc;>LwmKNVTn5wNA8-Vlqxik3;s5{k)$xc_XUy^%>EC$!Jx z&>B@7N641*(wPghSMoX*sYk#QN)cb5yfMlonLil^M~>36Y`5rFYeSxowU?T#cjK42 zcnc@y@5D2B5rsMmzBHZ=3**)VPNyS$)D>K+@^zZS)L%-St(_31^yN0T;IzVh{$fxk z{mn1zMu02vX(yNK%C*=d^M{d$A-e57U^)vGDk8*OR;a@tGWbzm`-8{%c1&+B#|Jp`v-+7QK9{G^kufaKt4KOaxYv1l}#RC5yameNN#VuMT$Q|g2 zJc>}x8=-$m4T@_a zcvuSZXPuarQ{R_^aqo0`RWl^(2t-;g8||tyWb**IvuN-tkVWLKvgpXw<_VN~K%u$% zWOL$59TAqTr_ucJXNCzUf#ach-UU3i2D_**r8NAiEKwnSl+>On7dx;iS8$8{z&mvN zG{OE|^Bm%1q-@1`9En#^x8k(~RZYURhvi8JI_f=wKWtbZ6a<_EBV$l4D^9bS%Z`k` zm*+olsn41TVPNEzA%P!ngBqc1Ra|4DsbJZIbyJK|JB0`N?6ndrrVnQlLbGY&;30~oQKO|qCoOBgqUQ31{3}`Wax}vSjbbo z^6LmN23U7-K84Jo@5a77rv)>yc0l0k*N=A(S*Ku#qgeixr_CN#Ly*-pteMX-k+U;p zYHP~W*)p3ank`K>PeZ9XNbr2Muz^^x0rM~{=Vtocr~LXd$W09hD&0kyl}21Ds+;V5 zdcR|MShJ7NcG|%s;!!^b>k@g?aIUxL;%**f?^lK{nVD0dm;$oFY(;)-YT374B=9Ih4EcX{ z_}DI2Do_J-O%9zTQCnYb4TaL)(Rkr2&lhZ#dqs9+oQY7!i%rIdrxzs}b3n4RL{)MF zDI{by7KC&PX2!r9HsC8m4)gGlA^BeKcRa zzt-uaL3GA!f(HRUa+0Wtbk-y&_$SqhJYjc`@>axR#9ayGI<2JIh9zXg=lAM z&bs)@so5M95>_n$ItMMIiSS68Hf9++O#|4zSG3K!8ZLJx*+A^%)92_f znpVB^O6PKTex2=(eVL?~UJ;SgU}nB;Z>ax?7ERSN!x=hI{uWhImDaazv$-wIt>%Pq z&1UT|n#t}C{M6LhzpR~My~rd1eC*xU?d*!i<%~gwC?%IchG0H#s7f+vPE*`=9*Abim&mO>k9!p>9`=hgl}-A$yo1$Zp3(>UYE~p&n$0 zv*r3Rz>sFl>@;f59K(SMapRU;s%2SdJeNcp2=7LzexUd&=`kF*NR%=fnavU`boe{LmGo>|rvxTDYKV`3j+#L?adN<^s zhh~$hz>Bpwf(=0mKN~>CVaAz~^iY@xml*{&w9BxomqMH+1U(5ntj+=Mu*$t@3~KRM{_Tz}|R) zO?>Wy5!8c)GAKKGelXcVo3|=u7W8X;!2!;@)%x4F3ku^KhRb07; zS7psUztT}nwlST;f0tDY12We>27TCfy6jRxJE_l6v;bYq(4^NFv{4CHNx3!mpK_Y`Jo@q#QQWEEJk$2D%`5kiYW>oG0u zGFi!D>nhc#@`f%fRhzA|JwYc4s^t<$Y2UpW`rI5u%MK}|G;R0N)_C*;borj1y7)WT z>fS9HWK{3eTe&LQAnfnp7e!Zf8Jm7=X<2SNRXbW-TI1(-H&U>j(_l4!HBG|Xm|Vwk zL!zWxpE*ixpYe$S{Hvqks~)X!xwhf>e)+=5VcK;o$YDj)%}!*zl%vZI-ltYN;AS@976$-+1>;FZ1`ayWx z^eP}|Qe#Ny{nf2jg2=fQ_X5&CP!GEIVR)_ejFrcrL*ikmL#(&S6CHXslZL35|9Lr^ z!FdAnK|&;kmo0VgY;`0$|7_L(@^HJojccsn6=dXZbc`3%Vcuc6g?+H`H<))`qzM!{ zOq~3X+S_4JsfO1^Y_#r;CF$LK$eEB~Rhk0-ZX^lf6$AUzcGm%eCuI zk&wP3@j4AN&bZ*gy3$6vDHYGNmU0j6yJXvs^>1|L23GJ<+oti^ZvN0~;o&%QYwbKn zCu?27by|{1v7iZ+af)shXU~PL{|MID_paQx%f#-bU#w#?DLZ2Wmy^ck zhw~TGR9bUA;X;Mph;j`Y^ko|APFdf%)Y4=D=iR;yLITS4m$o@%24*W%CHa!*8nov4 z`!Lzr4}=Y@q`2}`>gSxoT2P%VHQDLF4tqV3a?rXC2CV?9#v_C*!>am|?0ulIUpAeZ zVIzN=O{e^P{(D}5sn9y?Ug$2P>G*|rYTTLQIXu$*i6nDzQcHK&Zegd0xW9TNRiGn5 z&1v14aB~kzbJ^u(|I$w^uafNC`xi$~Re>mUG>3Js{COfiT; zU-wJ<-X7alN8GK_FiX4RNN)Hi=p%Ni^KZ%*np8JwhuYYl>No5?%V47n#%(=`Qa#ku z%(KQHNA-8B6w_A&y08C4-o@;@t=)Lv`Oo8Y>uoM{7Fy-t`_9o+7EL4j zP{yBIiZ)ukg6AC*Q==TjAZWr8-hZ-BT}lZE&zIKjG=y)}DSMP39)LD6C@fzfG}5}* ztq$L>deUhD21bfeqqZ7B9|K!UU8uxug*U6&HXd7=X4Ttc-p!ldkEBr4Lb@|adQzvoMwuAf=9Vz{1H1`4@-hq5iyKc&c@8~$0ENs3YZvN6!y3<2> z5cgBcb!gaHKE$)q%Tk#3a7kX@B(oaJP`Ye6}L~QTfVok5%BZ z)(_nWw3#xid|=XE48}?c+1$G~2@N90#BfHb%Vxe}*XCtFAxdCEEe zpCq{6)9RhWx)#M9UUEa&%W3dm)TX<}P-`06V8qf`dfxr9l4bu;|5{no$JNW&*%a8d z3)-!$xOfh-`9rhg9)_Wa!E%cMuRTq#o1+cXP1oS@*mrLax+q`{$D+zsHx%Z7uf0u^ z;&PyI1piwOa3jASGXBhQ!>-p~^gIWo4&+~umABEIOp&kO*Q^(AqUe4-7|3DmN zjC{-{QvSVS+d{&1ciP)Ptk8sY-6rWq)cf&OSj8#mtoyZogJiQ_!~}UTuK-)PZ@GR< zA!9=C>u$jTO+b$daHux_R6qU0419;8PQ?6Sx!KTLatUSf`r}7a|9E zXoh7+n{RdMluf(hk%bq>G?p$yyC-BnXyk~L*M2^kU+5Qr(S3hmt_sYsn_vLw8n)T8 zr6RryS5|Vo0bznx2PpDywAJNPzad(PXdx)eKbLbgoLz@)`fH)ApqiZs_>x@@|- zSiD=C-QCL)m`>+xCazcNGL8FSakcP{+!X=db=MNuV;e$EFZ3Fkss8^=CVDB@U=6)t z9AYg1{QniU#Gw)G9BtdY<}<8+;Gt@=P!h21suVhhNYAhT@RtONoumD0Y7JrLE_9$J zP@(fm4%?h86^6J$Fs4Vm&It~K8;xo7w3@wGYroPIPur7{;MB7(c|0z>W*>vjp~b z%T`@^zWdyV=^yCPif*P|1~|(TS0?sanqF_vZHtg_p*v_J$Ec^9aX! zJVE%$>|#MCUxR0|d+8GBet?%gaVE^DgPADiF? zE5_#Cs9ct}wuTXQoU!V8p11+d=w&a_a!7Maqv}g}Vu}?u#q{6gf<4uZw0V$v@Fs7C z>+?{y-{y&bHewFnza=Sg*!H-&P9WQzYE&TkaXzmD!+u7WR5qN<{8Q1%Xn>oUGurYw zT_H2cgs_>ST1v?jy7M$n;x@qochzV(`I3meRqL#OZ^?BG<%G6#7NQKwiW7;Ze2xOr zoQtJQ?ccOFaw62zUQ;oZwXrLucG8>p^Jy(@@j(@sPi8SascfKa_6KA~tBCmssvq7n zg=LKW2bLk`JUt5R{;&={hjczy6+UW-YXNl&g)MC3R7|-m-|KdW&C*vHCsQdLFu6Zx z(AjQgv%Ve^8_oU#Ia>%6w>f$VSo5I?9FxU+9@U#owd`U&UbZOt_Vm}pfcg&w1E6x} zDBZn_y3(`*Q>%Q z!RAy0rj*;D6+}nTg-~bjJ29VYEU{~6Xg2#FpaXL0P=*nIfjyMLE#4@rn2&oJ zp@A{IMXyP7pWoN62%qQ-G&&*%I%irLdqnf#|8CfeMp8>5RRZeGGURJuWZl&?1y>ENpfbB z*UN?#`L3I}ox_p?><8l3+)by5U;E%3hxMa1u!fCPl<;A2Kwuu59zSHE9`)nO0d#0nYvlI_ylJt5mN4F*Um;(zo#Xrq8AFACr(D`cUU% znQ_)^f&;}l7rNaIwM}>_scqiMNnP%dNo7tm>j#zVm;`UZP_Vb}!@HijR>Ih5q2gO;o$`c2LqO&T!5{r#j z(`Cr}EN?R47wmP4R3Yk4p^FKyQbdfeUbdN*vp`ta)^FH(U8L-A2ps0cu2T4tG<9jx zrF}ZLV(2+O7#ho?IRB-|+?Ra7VAN@;i6N}P%CQVP9IQ=BaU`H;k%__J;`xk{&hGCA z+W(2+hg66Gl|3T8dBv}Ai~i4?IwcAIp9fRiK)w+zwxeS-gH_wg4kon0)WZr5BWM?5_??E^)a}o^Xe6-b~g$0Ouqr@Zba@)mT0|u+i1&$ zTu_^Uj!0;swTFlP0Y^zYV7s@{iO8f*uZsiFEWLDxMyu%$Zg?gVi0F&u+Vl24X45Fg zHH6NySV{S!shtoJ6s*+S=>tPUgZw@kFXpqQ_Cnr|4R(9B^9?+m`e9G@?XJ&-z0=Fe zsGnP)j+j>nR*HD5fIVR95zEjYp4QI%e70u#9Muu>HdED5|85`7ZA`u7fW$6o@hM(K zvHQ8f|F~ox0@8A%NvARV@>`1-hNPmD<)=tav`e}MFH|?kSMK`vY+H}>vXfh9d!mrS z59*pT7|jM!CSs2x7s>rSzahvI-dx`IUMGD0%fYbM z{V9WeGw%7CGCK_)sk<}sx~wW>Aj=8ya^)$TaIK69uJNL6?tHQ1nfDu-Y%7s=`k=s2 z`jW0ZvOAj?TPS+EGR3v8*C$ZZnzvdsQz5zkNe9E68zOQzTXW(iV9{cNt~E!|n=8no zY*@k;VLX}#?dnfWrd#^vVq*>O!RMMlu6M$(%JPc%#;*#RAY!mb*}tzZMr&iei|%ac_jagE8prl;F+%w~v}OLAHHCHD#P5~?LUYgmka&v=1qWgD z?Heb1O%UZnJ2X8qG>Wx)8T>N0m)oi_a#&HimQkVzr}e#l^&L?uI;>{Cek!nD&d#Q% zQ$?5@YDTD+L8)sobP>mP2zil1nAI=>r3hHCxHew0p*5EhXLYya2huRhP}I@bu61d= zULxZtNjcI5i`wb-?at{l_OZ=9LA7cp{g;J9x4A7zR;5+WtELlq4b1)`@8cmsuB=nJ zbfV#AKsL`&!*pRxfwxTB;|^h^?-?4v1lW5d&@UP>cbzEdcR-3fQ!<2$J?tiXHLey- zj&of+DsIs2zacQhic*^yAUr&+BCc?=9 zephisfDFN%EiJ=#K!?~Ax;>Q2Zq^39KAMRAk%sK_@U zG8|Bwv>J$HV2mT>q!J4iq#qCB!`i z?}`{a=an0w9?bW11P!bMe&|UFwWzS5kIh!C<*63gjC=}@-L3u=|K&wy;s(xnehPof zUA6`+s6TrDUnvT|u!X}9|74ilk)A{(MQ(^Xr4iG;+~l_2k}k!R)4)4Mpd>b2R;|KVBJC1$FustiKkiO4>Ps zOl29(#UYGI`79|uZJh%)h~D{w7k)8B=x?XP_Y5kLa|4k|asXoSym0+JeGEW}HxZUG z;R6?oD4m5I#}?C36G~cYOQq^d%e?!n*}TEV^Yr%OYVBKPhvAki+ifMkluKOpD|`_R zZ*d;lPCHAA*`*@+qvdRGeu}-pS=OJ~2K3&;U__jTt}>|hQoEg*;7DMuFuOv4dp#S3wUK0!HQ-Ch|1DfE)zKg~E+qXj;}@Q~xM3R? zLkTg2;rl}JOU7_Vlj@+vd$lciw$t6uf56o4?i*pa2ZW<}`O=#c9z@K&VHh!C3SjZ6 zKWNehw8c(2gcBZ4a(0IDHZrYYdg0|DdS?-_aMe$l+Q@VV$#|ZpXI($tbi6Jj+8kJJZ@*jp2=I!LM-;YvRIkgvW(i0bGXu6r(;E^ z+5I+_kWxZ}_P+oUzXZ3A6qIRX4f@)VWjOwpvlre)GYr}p`whqc9Oh3G8hs*H8A|*a zRxyL@_mW3eB=v`(k-4+hlP2dft3Kj%_gQ6Zhh1L&W3IVTEhD=fZ84`po&ne0lc82V zyL(-mddoN>(aT5og~Id28ER;zh-29LR_;ICx0h~%^_HiNsUa}N6Dn5z^_+5-k^XIV zK`%=pR>#c#>2yEAH@$^B16gOzt!I z^Y2~mUkFmBxI4d^@niS(cx1Zj3L=MpCEKB=O4A#!T>FqEz7p$jp3gv>eXJy`k<;Q8 zC_A)e@BM0GyGGc+XOL!YH}?+LaWNF!)_Ncn z>pp{F#4Ad3g?vS1HUjc0<1V{=7Ji03GkU^vUrxF8sk*KROIP2gEO1=$DMx08f<0n6 zUT&ej^}>!SX(PXvl&{4!Qc+HmeSnPUEtcq6f(({gOVcPcGU8K(g`G8h7wN<18|#cn zDE7>q^#r{Y!8~N_p7Z0|WXRg8)>Es;H4^fwduBigLAmwQrmlBX{^4wSSz5ka)3r)QoSDB`0i+FrpQ3xuzFoH)=ly=boi_S z66%++M8d*ve0(w25vxwyE))~gN|lhV;FQXg5`}MKFUB;AfxKjk@%v{*-$6hut4c!k z3O`5p7M>+n#3fJSug(i*!}o2=4Y2bDHMrHl=Ywg+6eg8<&h;>sp;QE8JQ`&#N!5?X z!+o}n7rk;Md^o3h?{9R?i?93>*eV%Q&VmAN^0XFr6#E+;iA*3PVUxGGMtBNSdJ=YQ zheKnq&3;O!BDhq1_?#q{xupq{fJ^Lb=1sjhwiSk;`M3nF`e@HBDLX5dH}pY~3bq+A zNu50)O3|Pi%*@V{F>SID^O;nnySF{u6x3(FKPZKCb!GQ;^|pAjh-QqJ4##dKP``>RX^;OS^B3d*8-OchrVB(%Di5IME1wT zv6kpX!{pKTc0~~$9XSS+$XjD(RoS<@xrBoccU6}RY{nKox{{^@JNRNh@-!z^C`uUE zlh|F_weM?4zhlkvcObY7-jwM zDRjj;bavujrJg(#nqC(v&#n3g#tmim^FCf2S+I*BZqJ_kKW*ClH$hB`>1#0Zk|O4d z6qtu)P#`B{>SHrHvheH4eGuHRWBrLK#@AolT{QhR?GR@vD4^CrwvNe^HwL{B*Ldml z=sN_jUK-=8*&9NOor_Vrh-n4hSeIg(#UaA@Pdo&s0(h}Wqxn8n_>LJjIDmq_g67n) z%XZx5!e8Z1t+i+GHp=ss%%_`Xi>3E*04y7QCNl!}*U#x31Xo zD0!2=_<(=<+hS~dYCs_-MdPoE>(424id{xB-U4k5P;?f1Q{-RLb1T93=T*^m!Ov)N z#3ci;c1`ND{Setw`qaj-ofZ!L!L)4tV05`kkZyN`V-I9|YS&to%KtcgM^O^Aots_d zD3RJfPCw;z1~fhghCDSVt8MszeZ`WYH`$~trf3@)2v@oc%(wF?@|Db8dZn$J??!h` z;H}qNg&&%hSs7XCRU%Majh7}r+E1M9mIAFz6$yH5Zi*uZ_S9Fms->sS`P$hTpiNBN zH=#uAuOe3_(2kJvX*$C>L)I|#zvFWP>!r}{|5s??LINLdf2PPm1^$=THhr5x*bcuv zdp4}hc3xzN@{;?>3%2MefAMhbNnExss?f{USD(&yd3(_%>|7Z~+yzwaQ|D(>_WP*l z#!xcr;l8eflUVrQdhbtN0-~8w$4>1l=WJ>|-##K{KRx zKOeZ#_uY9!dm)>Oqp|$>{CgTIT6Hbf`H!VhxfkjBuYRbdaO@JSEa z-Hqg$L^vPiR!sa{Mq2EZq^s6<^7+wM9-IV0QaDLOhAuD}T|U^R2K~@bnYqnRL;wKs z6I-fig{tROR(*&#%LkFvLIVwAOg^^LSF_XpBwx;^Yj_a%sOs2X7dZn!YTh!|94R{bxGI3ZvXM zJY&TCTgJ3~%T0-|*vB$XQnNzs(5khHxFr@1J22topIW+RQiy))*S^gPyHcxbT|;@5 zj;|Z&Oi`J0O-EWzCg}<$f~eb9yyI_i`j~r-X|>|^>TER@CqnY0sw#(&4X1eLQpoF% zt0C6~wF_sRq44%ehgWO(Qj_#yJTy1%zLX^RlHB&AsNU>tO5X$-lAJ=*yJ)|v;-hj% zR|YsNV-Nl6awWNZPv!cyJeIXEvb2yueeIGa^n(NB_6!u3RT#k&TUXVzO zV?c24g+^ASCl#wpFKus)$JnMIIzsiYs=Q{L`C$>~_nHgn5%r%$)A5~u&6m|RlYY>9uBGMqRl;9%LEs`rGpoBC? zFO7tBcXv04NOw0#$0FTbOE&`Ni$41MpP7BZux}XVn)`}Rfz}1ipZ(fo09~r%{^%`@ z0N0kQrKh>*eQ>9T!W_&R2Sxo0J_TG)rbj(luL;j#XqDt{JeqceNmiFp>RE)IH$u*^ zXo!k_pu>XcB#d^r=7QHpbt*vAj}y_Hpzuf)YHLP+P+yF7O)e?xkG9_KFB})elJCpl zaqDPP7a?XY<<_u*v$_TbxAoX%o59G5Z~=It;?%H>uoOTLKyT@-#78rq*iL&X#Lg)!4j`Mb=3 zgPX7Bmun+>&Mv|0g20I$%)3bqiE~ce{$sufLx7bDm)X}SQ<6M0eXUpak&#?&BAi{c zD;d2>#4)JkSrXb|Y~B?c-4n+ZipMZ1=81rNyAy}=pTl)(l>PQq$HYXAS^PJ}Fpwxq zOGQ9F``mhgkrN9N=yCXg1xByE&MM0kk!+{RA@HgKR&-^SO3BhPBXt?ZAzQ>A1_8eR zR-4ObeI!T~KRS>N6#T^&&1GY{9k8dvL_1Z~AHc1{R6HU|PMxA?FV|~N&bWEUn~#sS zlqVgUFTsbE`xQE3cZea)66x6D968E1;-6h_^JK}->#W<5YX0DS4Lm}if|bi=bp`as z01?|k`#7?G3;lI3LY4`07W9dgu#!yA!pUY%focthw_OzE{gy8uTdaU5PSv4#`P1AA zEBLkdE1S_X77 zWeWVv$*CkU>f%W*NaWsFx8Ur$1ntNu2~3x4x^GjzlyZnP=x8*NMt4a}Fbpl$4`^|5 z^4#n~tTR$5*EB$3UVhEI-F-4KAThCW}gsR!x^-XH7mIntl%y*Aj zjHQLB##lEjMx&VY(H79ZR&$3*o+Qml451;Ip7Y8WC@M>SwcT@1n=~bfBe@jGZ^Wo}Mt zz(Dvge*!y^Qwix1C(M{0-D#o3`n)~$hQ89ala1B}VvOe6#Q@W}mu5?+Ryl29^cj^1 z?Z#=(WL3 z6S;PBJ*{;CJ5C(r{_yu+!=iP@cCTUQDhR&$<$9r{Lb>%w^j>WZlfNsXM(brUg=ys^W-Rsq4)h*Y5XKqhaztbPHSNGNAt7uYqc$=k)orf?6cmdv6>7E%s0Q zWc}SfhnZ2Lx7UIGxqf4DN7f)|v3&e*C8!Fz?!BH)Kc7ciYa5*1eix+~8@Ve#H1(<_ z$)-c6HtI;71XYSLrck!tp+H6rG0;JgP$AC$1t|;L z=C(~7Pw^d8kNep7NJsElN%Zu3xZl8h$)h?BtnbLmf|+Gt(6EVF5BNyqrT7b+e4;mLRd)xWC6r_n)hf_!gqZ}f4aCGq!CQe?EB!BG>o zVForbpneCYx46Y5OzV;>Mv&Fa4&~S5-wb(U&#~Ixb*9#7L}d9Uh4VFffVlHIaGrCXtx!M z5mSxe7@{tt;Aa(m4_*3uM`)2+iC=TELvk8Fi84Ht=d=~%(6w;b{dopih~BH8$-(I% zi(Kwyi?qy~rm+qVewY;S6lGMiQC7n(Nkjcq+(Px7VvFGR941B23RTZPuTSB9IjzRu zgqShHIoG&l`g}BGf_Z;?rR4-~bfD*EhL3`h7TH|ut#Ts%N7;9-PUdSyO>OK!qLpU| z)-D9!jH)2^Dj-P7|H@nlAN>ao)E*EP3MF$Z%9*jtTpnIF{9Oay@si)krB%iMTyXFI z=6ie;Q~6zBt1^qR8m`1WCr8XTh~8t#eVn@;^NqzNlwBRbt9n@`pLLJHV#fGyY8=S| zA{6yE1?);`0~-~KZC*-QZ66kli6KLl`!YZh(l?EF@s0C>*QIL(F0cAw~ zYr$>V1&p{ZD*o%vx}dXcOz<;nBK4J4cn1E*ACht^i=;frJ)?RU5x@mfO{&T}5eL@;tqV;cUhfDXbm_)MH z^v4h{NP>0Pz*(I2!BhAV_Pbvi!QbPjBtQw^oDZ0^nJiC_XwdfA14_eIDl)S@4Yyrl zTJ&~8lkoNF!$>YuG`J~)Ur-S>toOjZqkhtcr<`JMCSdO+HB+CZwxbH{zw`)~9k*&( zbfSwCa}ltaf280_v2IJ2BrRXR2Xk|*im^Yp@f06GD!p#>540?6{?TuEn02qBKfBW6 zt!g~}D|5ooHD9Io)rakmUyV_<){T+AtMvDl7Dg;xC>*+4^yJwbb6bG3L+GLfluKxfMuEh^V<3;{-4;SzRXE~Pvut`sw+m1>hI=x zRRq2}q2U7lJycu=WOr9w6 zlg2$6$)QU6`BB3?m4x0#Om){rH7!TSfcobp4Z>Y3M4MY!^#ux9?oAL~0S?>-<^n=< zzTqa7BdiUIfyu{{um$2BDLlT@MO2o#$xiV1@ODWrxqBgt{q;5}jv5TtzsSy5HqJ^@w!MS;XUp_F~J_ z`e?-m>)kt|i7I8y1EC)4i`@kb8rhY!E`A>HWhZ0v1^7AlkM`mg+9?tVIRj8medT2bG{q#c1mTHaX#55VhKy*Y5NroX}mPV$+(UO=L9$jS%YkzO2 z%{>-yp7gO}&zLE|`-KB$-Y1L@dTXu<$sR4q`#KXC-+fk0pL&@9!DvQR@83f0 z#v@Izr5-wARY`l11eDI&F?E*uX;#sC6(&_)Yk5yWUdUXU+@cCXajX+Q@ zQ-I);=W^`IKOb|`#YUw_O^c(*IN*oG=W>cPFvHm~ zFlk!dPm}PF=$jJ-{AH%2s8Z$?Jc=5e`AEjW?*)%}1CIxVi2T;nV>QT3a9RTVmiZmW zs35VV;yN80u~|*V4MeZ;;()Mj8HY|xp_Uy@p0$H1u$Z0%pdun0w?Tp{r1ANZn1_aj zo-$2kzQ8pnh5F_j9*(lzKG=#(2353U9j3rU7LfQuX{qVv9mo-QR|S*z#_er~1Xy={ zjP%-ufW_0ZIM3{mDNWLkB&kZ;Pc@N{XIZGsOfa{XTOG|@JP5}&q}FqN7DkLcr5|?< zlwKyH9+1x`NFE#Xs@%*1QkOqV!n=9C>7btu^gW1ns8L8T`M)oQ(i|#@?piH&`yD03 zN(q<$=0o+tos<*!0HP>Bo68ne)hT#Y5O^%f|GU9n1FOU0wdS2L2GO1+$u-WVP$&(U z_cg}_XH}UsRm|x0Be#_{hrr2HtM=+rbq$O@j4scUo2#a*YOMpNK;W<#>HPZA=AJd= zr`1q3->fDf0c#_p@#2?~OOD;yS^Qp>qk;9wLndDyw(`hH%EM7MRg>dALRa^cvrcLc zr|U!OI8>_v!&t=~%*|ZdmMLn>nZT-W0!F0!XfvWAJc(`CbbzMq2Qg@H((fHUC|vQ= z<1IY8oC`wP%6EXjFOP2I>lA7%$>A(UP@O2(S`^18uBzz8z8^HWDVML`I4iE&NcnI< zKh3jLQ0HuOcb@iYx6~Wrcu`j5J$WdsxXu+fXt~vn_TJ}eThfD!F5U8ZG6hnE{a7(2 z*guSy=1o^@R%7cY8&|8Oi3b7)?qt7aWM@4!&yUggPD{}1R0nl;_#ZQ0k$Y@$kFE+F z+Jt;aXe9}j`$$5r49ND z8**193l-=_*dVp@1{vls-y*Yb%4cy2B7daOao*}sYo^^5beTF-gKJuAB|+Sp1sYO|9dbh3Rqwwxe$o zM1Q+E+=;EyObUc#_&qab6nm)eV1&Ol_it->1^6{lT^%s@0L-GhdIR3O_y&XYUs^5~ z-82GDatez;t96;MNe0AMpu*ouW0{0;%^H1BG&~^A1lQ_CoLK_a*ru5}dNe*a!VycT z>`L{a=QR4EqJ+1!6^Y-qSt80f*GAEJvTTnkoSdo38l*Bg@e0mVT&6!)zRoZ?^V);) z@fr~Hxt3MpbIbQRo3#9sK7Iw^(}`z8XcalZgTw(v$wqDmQ{eBA=n#di+9*zeMl-zS zT9z#_v51PVsf?hKWkZqi6zXJz?wi(|#YKLe+}=`0=@ZCy$iz7U*?B5e=zCE+t>3!X*~Ut9Gg z=$k(5LWw2Sgly&FgSjeQ93+8CF}%K~);lnB=vC&k_O^BM=9c06o!x*r*W0D(v4N*b zFJf;xGaor5=-8EdGjyL|qTNKccZgTzo?pl|Qn(&;*&XD`o^#dl3M*^0|InoRilwbz z1ZU@G3SF~lWKC1`h@8e9>A+3q5nn)+pjqwf@W90RiJ`}nYl&?nCHB=5t)iqoy0>W9 z(w*>m!~w@hd22W8nFROIkUFJiwx7|?VP_i{GQ`y6X}WHNRCL49LwyqpHi@4-dF3m+ z{8ANy>&tSAjn(e;4mgH%vh_cPS}tEyszKUq!r=U?S)8GJymTeQglpW%bXbTa52V&~ z$q!}lp5sCPWUKAtw#&G4W)zQ8F3*AY3l;vJ1uAJQ1xEL-SyI+9`!Kf+j5gLRlTB_N z-E;Qn@!~4%e2*|`ZPPa9Bh3{Ujc<29a!9Zb>TnPaNxeociwW7N` zz&g8MLKh}@z5L$=Wsc~#(f9|Sc)(|z;|^E7s^Gr6)_H9-G6!DViIgfMq3-&mvhTOs zdzYtI%isYUwzA*tYNmpQh>$sg(ZC^N?Ea@AggD6SGV-aKPrx+@d*nS*EIbiUlfg1Xb& zO!e%!py?#SObv*})aZrvst>F;ei;JuO-=yZ>SvsJ!0KTy1*g)P z(T!cj`f1YZ7{bG;D3I^JWfl@!PYQwBFiSEW(sUl59X@*`_q2v=8HQ{&(2YwLD;S6> zo0`U=NktZHp)aMYsM!i5hJKmhlg%gagStC!@T<8vSh*ki;(^Qp?HMHz?yyX}2V4;O~ znocljvADek4=8DRQa^5JRo-BBU+9FL9BD%cZQ6nHbNgYmsL`|M>PzjLWPQwglqpHA zuyCrZqxWixb(>q!M&&}BgoT$kPy}Lp#rGpk6Btzqf8tBMMNIRUc)RepE^x4Q zrVyf4=BP&OJQZg_-zp!xaNu@5#q~l#>#1o!-=Q@<6!Nw3}9%igBX^ZJ+0-DMjm`p&U4{h|SYVZRy85eG0mOSxc$_-)H z>RYm+s)@DiI_K0PGBWc7$`GtDFkk^rDHTs8Vf(d#VT($1i5;Ax`8rC9WtLo0b8_@u zWR4m^HX%vImk0sGcD?SDG}TC;Vf{!jjYXMs zxWPRuHT#GtqCnvXF{-=p(wEY}i^Er~6J1nAFDJ82DBa7Z2+-;w)+|^nGH%c2#Q5e! zqx*-Sh;wv9jx8r)ul1AggF_CEaW;TR4^E@&K4wY%LwkRIHqxKO?=|KN`jWEntl>EAcPUB8A>^X zs6GsW3k;gj1+yPlBevJO8d79>GVsFrEnFR}I`uJ~#J%>sk1IKQYBli>J7&Vx1)A;jF;+VYB{%b@7@P2Q;|D z0b2X59Yb5$&-A;pY86$!S5^4XN2?wZXL{vwTFaPzbZ-Cgbc$kHN#0fZjk0Ol3h48s z^$MDACRYKKQMQiG92_>+RZufCO&!%s?eD{GgSsCn?G3vYtU5LN7>w|HI%CvM#p{&& zv2lFJB?tDm`(id}Yo^}SEwj+Iu}8d9T9Y(B1xbr$G!dlHE(%g+*V&x&QsC0{hFg&W zE|{)Z!W=)oeBHdFQl+v*C#C>ZY(L3Ml$fr+e54!tvHFW=A-hm~wBPk3!f-z`^mCyg zpU&qC$FIx?{LeqzdmKBdzN+te&NGic^>iVnO9@=B*?j0dF4tGJ8HW~Z*;(_2UKe!f z%+qv$D~6>g9=pk&<8r|^0QTs@dk;t`-g{O>ZAyVQHU{Jcby$>(hnp88wvvK4xTVjY zi7N|vo#mw6NXulr(&f^4vs|}C;uEC7%{`cHea?Q;#n6$p^g-=`BbD6`X69b?2yn}* zHv4jsS6CKSpS_gU>Es;gHj>!x`K);{Y&JUVKQOkQ9pduR!LT$U_kz9pie7Wer?kYi znM$c;TDs{nX5?m@Q@#6zSCG8&y<_Z%J|3P!pTk^YWm4q?(Tp~6X0m1Srh)pH<2BRN zN|jJ4H3?3!OOEegO?|8&1G!yW{V#L&3#L^M(40+0*W&)JF2D^MKr8;M zJi0H(3~au+8?n~Be@jo}PXvf$JJ6a{tN|vmwWjJFs`2GOj9~OmCptaYqQNNhak#OK zEk`!77Tptb@z_|%`lwpw2V0I=Xxa2Q6|4#yOxDX)K3h$)UaVJ5iKYPqtXpA4++kJE zX%?BZ(v?Q$p7|ijtS^DNSsn}_D_4j7y2to*_aS4+m|8%b_grVpq`v!D*=*#Kf^X7} zWe?2YkE@e$(hF@P;Zah=n(Pf*> zwnZ`Y$Rng71yw0Ixa0YU>NSQPzwELLkNldV#K<6?}3286Os0Dh1`_sPDLoCNN8UuL<%#nay22A6Z#Odj_ z!Tq@UMqJ~JU)j6vj@j2 zh)eVWlkXXLI@iToaHIBs=-Djwu#=wXFC9^`)P1kC1BtHtkIX_;u1}Yh1wEFjH3I?rAT6n&GYc(B#7<-F1Oez`ZF+i5_gB7Z|y$dz})cLch z&7fNcj(+8fnVjcVi48(l?RDoL$h#`9900e?mkG5BXwGsZJ}^k-cQi````*;62c+*f z7FW51up>U!V6w$3{N*>LnG_1id?638;$O3q;?kWzL-Z6!WOi zZl?Xn?))X1zbM?9Z_r#+cAc1t>2goR$s3;V4224I)taX&fVTHRB~YR-&j5ieDnd|F zUP$w?u(0mcB>1#WUUmQ-s zuge=eF&1;i-gFurFb;`BG8+X5O2~HZtV{NU>crcvMmW}H#IZzYZ$`P%PUYP66t$k9 z(r2OtT;RuXwP$Av?*u*M8h!$}8G8@*KbGi$-~a)?85~if4+T#xiu)`M*9Ag$Zm{8# z(D&F7?eLqp8N9+z8qR>EqyU>*lPQncX1;?^Zut`^Bi)h1mVbYrKqdGS4`^7xc5`a9 z(=(E&tqAB(()|LQRVFwjsKAK7d*dZtBBNa(2-Sa0wma!KlZX_ zZeY9uE!`+`e#g2q#m&rBHHN$)FHO>GyT@=EULcK;IJh^ZHad9HlKOD=plzWmhg2AV zJo-DN0JF{i{7MQxdN#^t6lctUMwC|mfAYYe+>S#?^MPbL#VysHGFsRb_YWybZcgA& z??wI9%F6g_iIoAE6bn%~)akIDQ;_^00E@Lbrx>Vc`m9q;k8gtzJ(HxXw?%*XCmXpKwTYDBKKNz?&*XzXRmvmndiY6q;xf?(4;r8?gG~~ z7p=4-X@J{%4?IDvK%yd)xR(wkL+XC?K_P7)56OUaG`Fz1;VjbcE16SB7NU-<>LUj2 zjghKi0`e)#JcTjiyhaxS134I6$O0J`%RMX1n<{4^Zz2{5u450nH!XNFZn8Pn_KVFnm;kzIDSw5l&@}QhJ*(q|gIRm-;^-9{0T5%Gb|%TTsJxrF*JblP z)D3>N1?pWTrL17G-2BNP2S1Ou_iCPOqc*^Vycp0?q)AhJJ9%1~aV2pE&)m*YaR;Mw zSp=(7ONjYPOJ=z^?&=$B+okdxNyifUwM3Rf1VhKth7jhFlUubf8222mt!;mC?_fNf zWu;{Z3VD&&Pt#Epzf^qygR`Ih-ZT2MrT!99HlDZh#onbtJ1(~WkM_BI=elK%`RApR z1cW+(VUoxH@x?(b|0lv9X5OCL<|~#us405!d-Z5vZ+x}}Fz}-6&?8^CAJ|l9yCUSL zNl}&JF=3#Ym-h!YLye}E)wqY!7!RiXPt|LTNnjNalD@7Q!bcYc%G>2SCX`S$Otj_i z{Yv0gU#cIalR)~zWYew``sh;`+hyl(Ji;nZ!6S9@I;x;0*kg`Dcsy103Kt2c^3dlj z^&DpPzG;#A?9=!1`b1XJjvO3P)g!cUQx-a*PAxq?w={$K*--Y0uzbVwJJcGR=Gi#ekf{9{y ze)u71mD{w?N+Kw?M4}8-Vqmzlp>`nhR!oW9e@l&FDnA@PZzRs`zc~=+b@2j8F6bg4 zrz;NW#24C(-5AJctp{_G**lVQ9ZVK_8xOFUEUlazi)w6Y!S_E}i>WA%y2$R}%9keX zGUjfU9K3$j2PW%}iCTloud>n7sHckD_{_mcka%-fQc#AU2CViz+H7{v&?ZHV!xxZ| ztt!r_nSGzvr?4EF{k=B5lJf-DI2WhQH%gK2zJMRKQLYI(Q!G1x4Wi2=W}1fAcwJSI zwFi>MD$*??`#-v!A%Gyrhq(@u=(jx{ZiTHPAMy#4(vkRktE*h3v*b#CfaN}(@~fV+ zhYR>0CQT6OqjY_jY|7-vn2-V^eJs15;L-%?FLt!`-SaiFShFy9-qm>^T0>TBi4Hde zs^P!+Zm!NG44#9_*khV4kR_-ri^1_vD|<&KFh~Av-BX8RZh#Gl`~Ty!J2+kdHZMZ= zZ%!$q|Mpja@+tEGE&x1qb5QUJ@fxwugWiMwHm|QTqiS@G6`Sf*9_F+y>b>R9Qc;% znLh9o>|sC^MZ%ed0NaeyBxJm<{isD;177n5BCdl_wE4tpJwzNJM5bZXIO$D?Akd1!%4T>}Z6TZ{0};vfmhrt0 zn2orIieIEuxb>oeS;4VM*g4C#%Zcr*?5TSrGZeCH1iu8I1YfrM+o>(p7UrJ{s0gW! z%uYFWTva0)tce|&_0Bg48^y|g6gwS4?I+1eYuEMIyagxUC=Scy3$K((>IA*Snw=kh zn((T_cJvu94?uhw<_HLw64nJ$i_=v`Y!g)7vF)NHc&lfnD@CN16}j2W#i*YkBUA}~ zkjO0RS_=h4E+17JeDMm{O|`t>qOc^*U`hI==+Ub#8KDlM#%SZ{FW$uDv=#fFipRLm z={%*QsWDf9=5Jf&PIQ0F?;h0msOS~pcf6IcL5AF41-*vmF(G>)Bnea@uJglDy1?-+ zt?{=P)Ng)@sgq(<)nkK`(!U$SP^SS<8N>;9(U*r1Y5>)h!cTMBZ2P-0kl(C%oBuWr zn(Ivh0<%}?ey6gL{}0ryU*6dp)-)t{fEU%3)31Hh$@1Gf`6xn0+kxr*v;S~5kqZG( zk2aG~^oweqo+Y31D5}wwBsGQ_&5M3~c3gd2jvqYf8Wv$O=wbWz0YAm$yJiIbt|`0@i-9d@ybSfaNYW99VVSh*IMrjWOBoAY)#!jMcHEk?y- z0&~&#e(BF}zk^Kr*B`>-Qelw;jc=A|!JUy>ntkB}+$Z5)wh)p5F(lA<{x`Sob#QUy z%UysfJ%%Bq+rHEgoBcJAXai&uOnPIFx?t%~#iY+DRgWRs_-284s;li=08Si6etElM z^Nlb6ir>pd)VLX7#Q53hXIv-9JZwkNJ;#Oyj=$XZuO&m>qTT9;SUZOcfxN2DatCl1^{L1wn9ccyB zNe7^UPFSsesC5%R%kV-S3|vqWAEl_B{}4R88MH=GTs0*mtq{SCi(E1zSduVwKJNTr zn&)Rfu^g|Cvlo4=x``{)tuD```j(UH@KF_htD!_sbPc<)5r#QL0za zI9~|Uh1t?L_)=v>KbKY&n{2Fl{WVW}2;_lQ!@}L42ACLtwSahlsB-I?i%$dq{G13$~)XtN@Eo#9PNIy_$>Y z$Wb3E7V1uqLMMA&$v``OzruL{QQIX=yw-V^PE*uK zNJwd}fGcI4KtITciykZ_-)Mnj0p(`lB962k>YQrdONk7_uV`vajRan4AT{`;6{XD)0) zJc4i7X2mv8ENbfQUUeQCQn0A!rd#T;3X#F&=FdvliFz^5Hc}|Lr9D&SDM&`kH9yH4 zGoLu{g+Hm&stwHf7=W8*W=M{TTcPc-YUSN+AK=6y%rzxcbGXTvD(2gnCnfh2xmZ|7 zAUJP+z@&)nN7+LuahAi@OqS$UlQj!z+OrsG6gg7(OpO~nQ#fv_MZ1FfS~Z7(H1u*T zXC8X6&k^5mBw1)D1XB}G8$r5qSUWuu?`b<*UFQ}Wipg9@s?j!9i+wr4A8A|2Uf|y{ zfFw}JNWr{r244dQW97&KmvsHfJ(oFh@+-TfkHOj|9014_88;A0aJfxtzcL@nWsCzx&ZQ>;COm12*(|gy zNl)xk*B@ePla5S`oc_q%u4N7CC%t%{-T0HQ+K*NNRE&)~Dj5f)Q%puov1SP6iMX9f zLp=m@yXB?prT9as1?KXWoFcrminYv#0sLgB5T{iN$c;v2}=4J{qO8}2o zI*aj2qxEMqRD(*5w$1afS^7tY8puhzog>uj!PAW?w*#H5!{ynNbt{~WjoVxeXwAgV zL5TeI0L#uJ9$okG!7`U!p6&IWYNNC(8L5{^_vrOew&zOVhg(+DU8yxU7cT&%&a^vN zWBV`v6LT!B6No}3A5r>k&G+9^m!T&3TjuHzduJli)$~^9^e<@uu^u~TPrN4z*zr5< z`a1*IZvBTOE%);og1dErPW$u>a2>GBTddIHma>ktQ=(vObz;Tg1HxCNio;_%Tj^qJ zXj@MD2R4ARs=RB_b($b0y+ zsY6V~JX4XUgrDP}okIC3W@apiieqKZ)9#X?vCo3#lXb&b=tJO zBdVQ=Cql;7ich~DJ<;pTu6@V=pS2&2nZ$1or{i$zr08a10>Z9iCdf43EHSk!x8ymc zn@iRZ$bXwQQkY9nJTF4EZY9Q^8N+#YLpX7`aayx{u~`}FVWcp#Q^G+MlCbM|UGp8< zlF~-(iUHG7dz42!!|!pjAVbf@LR z3?Yc{c2-?v2l><^s;X`^AqlD?W|RjkPm86t4{8`kqSaZbi!Yv0-=Bzd4kE-aEq!8H zWwiWVO~!xuN0=rYVds3^ZjbxLRitByAw!b|Mm{jOa0GtPbLm*)Z^83`Aev z!CV7x9B+4fn!N2nso@B zzZO=oiJ4Q>akAe6IcjV{@p3^JGhp%JS)g#{e?B;W&|rP^5H?G))VEwNd&v}R;%T$` zEa3jgrX?4hrJzNa{%b;FqTX*-?e#4@UlgpVh>A1TQYUh3<3LB_gKgRATob&_c~=zf zoIIY;o%E%HTo-_kuQVzqlarWKPv8>0IMaowAJWY`}rGO`4xUH!-n}(T;=?^2R z=kZF~gyvZ}lU^cK__rk78fyW4oIjo=_$aJYOVt~tChq=h;gPdAFXN!HnLn~_AB<)( z#H3G_%VB4U>vu4w2#qEp z(U-XWjplg$GoKlD7g_kRI0h&m7~Xa)B%Laxep;P~gnm?$X|*90vv3CG=f4>#O;DU( zm+$!1rsw}yA^fFmtF=1ip$8-aLx2Qd&4f^krIJ@L*ZE?uHtY1|MSqTt%8H|080u!T zC(G95P(^abMS{qwkJsn%z+o<2=-7R<8?{Rk`oK4DC4CQ`N!O5E446iVPOY`$o9S92thdH;gvEqp2Sz zpP}pQ?CiEeD_MwTQ-)pA0y~+1pE~(b!ul# z+Wg)ZOk=uqidtVAwGIZy)tQ+0vY?ekjv2R3FEREkZDn$`9E1X!_5eEAww+${@@k`d43P(W7l6ms}4Rih`U~9`u zAXAUR;nlT_A$oEmFneQm3*W_LrQbBkmm+~Gl+8&q8giI=sKU{c$Y2j%77(SeBK@c_ zWTdO5iO3LLG7Im`GmdaHW+xkB^mF*}EjMRHWDeMI?K6xhjAVREC+UbWpO zVl&UxW_RnJOk}21>?;n4|I!F#Ja(^_%3BywWVO|lIAjNIr{3sF>6+pSPMQxC+s`Cq zp!*iSklK%JD8<*_=xebJChii(W1qNK5IEVa103t3a$X3^C{VMq@qb0QfAVWNgGvoL z^if_}H8~Nh8i)J}%V9=AR!T^s`i_k|bn*@6-Wm9n%snc7&8t+$!CM3o5R%z=q4se` zIG$PL$NCLH2dESKoz-Q096kEhk(&JO%(K@T-h3W@4k*PXUWM8jcz^<&OxQHrdNjZH z>o>JNFct}^R6sK+B~NTx(4dOv+Xcx)IRe7~?i0o|7jJo6vJMQr{+w{HsbaleJGg_o zLJuJc-4Y=`O!{eDwXa0=3^x!;hl(KGa6!pl>Yu9jn6uZdB4PM4i*_3vR7A8>#sRTe zt(rZZv|JSj-Ksfi?u3e8eNp0X6ZY)0z`{;7wJxqIY3ODLGHLna^!|~G%MW0@`DcpN zo`+bi{^S2F&hOr4oa6j!XLWsFW6}Ip&fofo_zoZN-rpHtlm#{j zVEXUKVvPGa(s(P7XSRJz56_ju94M`6kajJDn&rrv>B_mPV^#Op5oa|)8BD+I)l`yx zj*am-HBLHKRE#Fw3y=F4;E*P=Q*MBldM~gm$z?6VUdDq1p*kcmf)yLttA)HXb)20C zoyNBow!5~)S#fIgt27C(W_|kp!)(($;b3}P@72#r(pPlh;m43}LoDZj2;8@zpJWkJ zD&?nJ&ZDCg5M-rN8Tnmd)Vy@wMbWzvr_B$7P8QYmU!e=?`n8 z;xO!a>9#HeLSM`?{~&`x;YAVvsR7)TkE=7!kSkVct{ay0CbXLvG8dT~PRaN2db zQcN&WMtjR?)A^HHXKM#5*_jvQP|+bpH$QwA=yJbzXBkN|vx)O@xHkJ5JS}f{(&jH| zx;V=g-rY>^mGC~5!9IArYM)X0RP0?sg9V-1Oz*Qv_( zdKf!?8v6lP^8Fm=#@dL}SvA$z9y4iprvUcYP+3ZC zSVT~1ocH&f78aJbDeaI*AG(1ZFYJ*2cOC=(#tYE?G)3P>6fR=@cU}*`rz#w^l={M< z>JE(m&uP5?=YQJi5IWWFUd#JdhJ1uBP4T}tq8eYT-6Tmkk5l^5)wYzq^j?b?b5K}Jnm%oW zGK*>@Hrx8dbcgg#+gIH!ogH# z=9OshGpYj~!pYJ>JxUZLh$opZH4%m2T*-BstMOLvM1dTEPrH4@lBY<-Y*J1H$A^oE zOR+uS`H%vmDG@Hvs*zLRg#c|N18{Q%iGYh`aV;+6gR+IhGMt?XTRv?&FcC!459t|Y zNpaBCLTN0==QPFdG) zL^sBw-y%T}zb9czo@sGhGRo(YA|#xf<(ILyaS7cSX{PCuZX>oj1ukrth{}rs&W<_i z`20z|xL2al`d>HCb0CXyylM&(4@lTOPP0!HZOqG%$+q3a;b;$tj~*sTK;&;9CxW>o zer;nQja7TLFb+1E&2f_WxCu}Ws0ixMTE^tCKaFb%Wd|J(5)XEt*3R0E#g(bdIi5?| zq4)*wCEx%cyV29Jw9LPiWa9*wbxq6Yxu*Vq!+!ne-#${p)Ja5;ghtsxrMPu7rj394q!t_2o@ zug0R63KIfEj8J_Yi?l&CkDSH5jF`Fo!Q|8hY8K%}krWwHO2;WvxIvc1KX8NSj-7*z z*@d56{m}PS6u~lNYM)$ud#N1ziv|S~1Q%asv5L5=DX(B40FO{m%{B$0p`8;2cjbkS z*zYrz#;}qT+8L>dk^vcuziY)|E?^mV}S{SZfZVjqQ z9CGS5DrCZO+F_D9OauDG7pZ11k}1P{!z;G-HHbX6Ip#fQ5p#IIb%RkV zh3r}w9SXtKcP`WE*_%lqz;b->dvfO3d)@Uic5cEhSl?0p4c~(B>9{Lx+?{``OoHTQ zr@^1=*+xSH3U^*k@N;wOuC>H}Paa?w{fC2DkLpi;h4MeezUrXC>D+AR_T9X1jY#us++Iew9P?xFmRLTAK!2#<@N(9eV zyf~g_LyJTBIiTkj(0ABkygF11hm(!6&Wr@|50ZjOiHr_4aNJGQufT3~G5KO>t&-U}vT@dk8L?a+ zq#kyrkDi@RB6exJ4Wp^CJekV!%#nTDKX8`|%H>tc~ngl-4&mmJsH-f0L5huj)k+3(50sPjJl?|7jJtJcMzH7SkXcV!aU5?O1g@3Lp><3gtUEU|(Otd`Y zxBs}wXNunFBzmL((0WfgjuWQ;a68h@)`-0hXEo(yYdn=3ocjC!4_Hvo{pX+&3Ud7= zX|as|`-zi_Qti#f8qm$}**9CcQ++j7-f@YrTZ7MV=Wg%(2s(z^Ym!DNOPkWgH?AGdAH0vcxTq)Dj>SwN;9 z8B=eMjI@Aa$m+=U;i;k2uJKhTOsR}tSC`xygxVa?KRw_(-AoC4Ci@WlhKH^Sk(ACd z;Sk(zNjx7Q{eXk}`}3N14yBznHeSe?^mW>q%_AxSY;|x5f`4fkt-f%k3|GMelZln@ zdmI@Pi|yw8V~MZWi4XLavGEY{YA7sjx4$K;LTLDArQl#NHrLZwV`}TUgZ&*b^YL z3tY6LE+Cvn(GNqoKCPsbXvGc3)jeuYTcWMA3gsittW_R4AG*fq9Nm1Uv$t|nn+_i4 zCJ(NNr_@rAl0LFr8J-|@)BBNAa#WeP7O}EceVw^@d^8tBw=O?#h=*Et3Z+tW^h_M{ zgGYN2kOWLeJK9}=t9BbF_GU5hg3EQabeh>ythvvc?Ps&>|ZDC_)Q?nNVtpl14_;8p`ha?cRk6)KknM$wS@;Vuy3Ym{vrTy zfttjZ`Pt6w|BtP=j*7DVzK0cQQAwpix}-Y=VaOS}yBQd|TS6p;kcJt$ySo%AX&Aag zN(7{(-|_KzKELlD?^^d?H?wBeV(qo}KKq<=U4?-Z+s%e;gd9-?AV*eC$J#2Qy{l-~ zBs|kM!L=&JRWd%lGM4i*ua8$>v&Z4Y~>qf$sH?I!jK0bQ5`Ejn(G+Fn2$LaRn5T}@^Z5})X1I4OB6xMgPXappPvM# zZFh%XuMI9G`Hq?IU`*YkN^(o;ZvR>$(u(dW)#~ltG0}O%Gj6ZTFN?Si_^L>Ex6t`p|{I zX3KM_!xLLy_j5h97N5B9rSa2Yr7rU*-@2(o;_x3UpoWtN4U6>tj<%j_SoJ*e9~C!V zf_XbyEroN?tYn=X19yJbjfvlUk0Bc)7=tVymCo&*Gpp_Wg>1KYa53-{(~j+O-asJAxqHwO=P8!W-=zh z)14z#qNP}$JGGk|mJifR3TM^TW3}k>D+8o-cH>+|AydEQF}pkC7Zv7f(Odp`8&@tF zOuh8Tto_* zMb&VRHwvYVcsXAfb8A|474uC|4EDWK#`iWW%fna0uP$8i$2GrSHrcaf37N*)h3FOW zSJ8F=N9I|-Wvs$$OK*Ud`TlB|t67tC)pg&@_>yuf3*QmeVNJSV)a?yp_Z*YPA7U$< z3Pto^IW5DrgSx{v#b`sx&dDS2`dBl_xR!1q!t?c5F3VHA#yaZK@&&z5U!Ij@G}nc$ z7fZFeh`1o4x7tc>uRNjejhuBM8g9-+MJ=Cl-b0@(Yb>5D3>wXrR)2GJ1Bkx{!tNps zoXHR+c%OOn!`kdJi@ZZ~ecP_eKl*WhS6kaWa39A00o#*yoQ5<*L1x$4Hh%994zN!0 zW7EI_-2R#Ac4cRCm>2vlm2xTbp*dx6v@^5DXh?P6PKtYq7uz)CX-x||VX{^MtLO~k zm_MaIvw~>1Yn?)6UjF4(3wZ;_Ri!uPd&$_57alJQxAn?{AAU~agmJslEBN}o8OVNb zX1l<*2*ApP^o~Z^+Ki6D5ew-gM+k@eId6v@C=lPRDfn(_#h`lL`+{B{JD1_HGbMYV zVUs=;YK1;x73O+6Kem@#v#ZA(!~VEyrDzxl3H&UtH+D$G)S`bQ4LzQ?>By~~D?UbC z=+02@@uP)O{z2!wIGFA3OzD3*2rgu6C<#K3pzpBVYaU z3*Xbj4ShE@Jv93;ij}5!z)x50^+Ot=<$aheDT$W#wPObO^=uGxBvJ3Bst}~9>y<)- zy6K)y2!a&=jkZT2XUrg3&x)@Z;C#gL%HGm|o762~xL&{ZZ6+BXT-<+N4P$3iV}N15 zcqWTG*ZZ41WP!fkn>I**N+obtNIo6_J>SI3|ExOic*siMj%I}hy5c@~G3yx@Bal-F zU@F2N_<%Q%_uK`sDdnyMjXfu1Dhh|btsGjyyd>J-!@>$)VE0Zg6JR^CgEij>hw*;|nOw;=+Df!si!iw{ay6^&|Il5Tn5m6QB zddP3NO*Mutnv=pF=1<^ym;_|!nJr6&e7@xvOJf4%wArb+z2#vq@$Q*URCMoW*(7Wx zv?3pAKs~VQQ%m^mc<IooWD6I0x8HIJUU6`e z{#N_B0(~2ANqY<1A1$$8SY|x9+Geqv6(|~#;a%)ICvRNTuDF>T+p~jx#N}_@7cq=D z)@yD^91|O(5*|X*6cS$jKF{z&^+!+Xmj?g7s71#Lb^`tbD{5-J1&h;${~%TVQoY^( zZkO)K?RRrp_#*pjB=E#Ec;8(v9Yy_vE+8L?srdRErBD~Dsnw6&mK0h<&jTgo)BuPCn_KFKR9{Zvv(amvKq)il^q zl~X!dQp%_+%mpB^7ymeDnUqU$b-bX1pSNANkP~jR;*cDozP#J+V*iXT->&X)DEkL6 zBb7S0Ayu9QiOd5ki>vru<=!HMVp+qqy>4CYc35|ZU`1IOYU3CaS74}AVptc;Zmn|l zJf#(6R(H3?+f>!iQd#%f>T4Nsj3U%(o77Fag?9RTDG3LV_G!j5PLi|gi_ShQKTO|DR9 z*atw1lh03o-Qh%aWapSR2(5e5WIqJS3sAv=@L6wwl>{Bc0T(>BA180;ve(*$Jq~4V ze_d*M1)f~(t%-Xa`AeDJ1VoQt+icqI`^s%JI7Ll-mHLmW20F7upGnSXp8)?yT{lMm zkG`lmj~6W6jP7J{Q6>L87h#?d@@Qj~j765?36985YPg|0jBTf<;jP+#FjuVG1?hF3 z&aa)$Es(|7v(%(@i1#6N=GL5AVB}?=0@}cg3g#%+(Dnx-GKi#P8bReQ_Nqb$OcR3M zH@Y#5d6abWRy|&{ed!hWwE3jW)0n41N7BLkNd{W2yi)ETW|#dL(dSX`>Z`E~lts}E zajxdrgw>f3YZu%DrmU|s!y)wC%Pqmha5GVI(-F)cGD_!F z1g@DgovNv>yQ$7;K)~AtfmloFqC}y4Pw1Qh>0>yYBE8pxCtq$ij)%vhg~A*gCvQk~ zG!gu+ZaS}YxFspFi2}$+MmWH$p zgmq*@1uYu~RG-h-A$1Qt@j*+YeROJ{B+%Y#ncg5YzNdL zt|-&?uQ)4(AtuzW@|N3b@h?Wqx}a)|+s$J9Qi;8(Rqm7eXd|6;k5e{AXMN;GB|e9d zkP@UTCjtg6hll#8ac?@C>!lr?a_lRDvbnl`b6<$lkCNd)9_3==yuGmfEmXXNBh}u9 zee|`D@O#&NG0h1dxfMu>Lt2=Oc<_h{9=}r z&pOv16NY>^GVK^xr)P*InN9qD zcEh2OcE|im-KXYK8}8qgi0O+))BK^SRAN`aati?G>I%x^wa>BZfL&d|(d#eWx>@6{V_Wy5p{DU$`c1KpbPP>HQN^Cvi-iYt6;AZ?fCr8{+{xJocZ(1nzYa6TL01wN9&s7)Lix|cvH{^w z0G+!}m!|D*7z~9kdc7rcA)*)Fj8ZxEEx6K5GAQ;y?Bc>#xq% z53q|eY}@@qexYJ(6#L5N1*vPC@4&NxJFM@J$TWyOJJXKKyhTT{V+^*Bl*Ek};w^3N zN2?GMJJ#~A*kg@{Rd-8dFa1jO!-0-lZZ&*w~b<2-p?gh^gVx57fGts3l-@m%8p=W;n}fG#|R0Ka>L z>x^G(v`B91W!A`GWcLh%jtvJkw^QnBgvaLyN12>?o3~b|MDzP8+L1uC&5~{V%}^Lu zf3>zZzdE6lRcr1iwUSekq|H&z-8X6bs=156pgm33=Pe@K(eJ@|-*S1E(>Z&%n=WJR zynu#y$Na2gE=165ddand|NUp3abg^)kP-K+*{VMn605iTZuyV@&o=KwkB$YThByr{ z4F|&iEeiffEPf~%0Q#r6>}K!rLly`~c0-l~zk3}wIZvNvb>T?jhVDxi?*AOllEOt@ zXHxaQ1heWJF|Jntu4hQ=`snaYC$BVi+aW;TGah3iHq))j1{-BJDkC*$b6vU= z;G%)}%UkSG8>;1THLBDu^43Hyw0*9V$@5L-((6=S=R$0kO*+G4uCVZzM2q3>&qa^v ztj7EjqOmO0Oz^ZzlARV4X=fmi;<1&8IvLd|n#!Yhy|MTrV-6&*=|+BTK;6gJ1{xf`Dh- zJwuAyI_WoW{R``;ojZS2zBb~f3Ah9!s<;@;73>l4IRKuQyqS!nFc49{_mPj%Nx{&R zL)M|Sp~1edInRJQ%W6V`W4M8d$oL62yULY)tHW3Kx(d8C0Y)JoLW4qD3ssEGL8yQ0 zuz$?R6-d@x++o^KYH5$=2>!ihai!I^FH|9JY}nT|Isw|BH;HDo`K(y*EA)DS&pbIz zR_MD>Z3|D&#h!TS$Cc>sVh=)7Lo3$XfUGLUv}g5-fV|0BRly=bk_zl?p6Zi63{}zJ z&re%go^SC3teoNHMg%nfrBfBd{Ti=c@_cTM_ptY+FgtAq0$W5!Gg*b-BB#p zh2(w*HN1|^?3TcC=I(UN-;~)?Vl2Lty^sKKJYf>BoE8x(K&>M0X&r-=uvE@fXnW|Y zpy#&z)L`dg#x-JAnCdOA17EMF$Nx~39r*^CXVhJ3{?EhdhM=x9$o-?7v+svzTjf+m zPZj=?(wIMy#;Vu+6G7;odf|4riS-YWJ>@cd8tkO8-m@ZhP%R(>N=j~DK}g6H-->|LL(ikVZ2k1uRBJ8v&>7*R^bjUrlE^-m=BBLt&A$$fZHmX@*dJW4*$nngJ9{RF*5%p z@;V4(^Hn~(y~qUVi1+d{jcnFR&Go2mZNQql;X}nIpic<0(&Oo zhJ6(8tcK{U*%~{M-JoK_BN+aF?fYNN@w$)VmM4ybCuVQL1vv3hcabqUWoxsW6 zL0R$SB5pswWbE(@t~UO{LJo7fBJ170F%yH&>FC2+328vrJd}-u2#O}&25onDG@Vsc zVG^&O-z=(I3pvSETVZAikDf^v+0i>H1nTRl&5?l5hQWmI5c4ek3xo2ap2zstcGgJ8 zs60%&&tcly5k#Xav-6#TIDLPHPwIa3`m)CF1Sc}0d+-Fmu@JA7!j)q9*lPRHgvBD} zm16i1`5;u2ku)`prx&Ww2J3t=>$59ywmJT41#>!(B;L*BI&0p}e0v(g|1Q3#0UWBt z0w2kTw0Q2-_7G8_eYa99< zgHrms)RXoAUR|(8OSJUF;Xcmv{Z9Qh>?1zL^is#mQCf+9+q#%WlJFU}_3f;?u*;|x z(I%^R&l$U!DV7{tlfKVzBR(e=#TvMn+H0ip7(ML{P&xSiClvXod}a66!M#W`d-wmR zss<^etkL11?S1Q`u)j5|)9F94i0M|I@lp_y92?|7;tYjI-Hl=2*G`{}9yNZNZImc& zBUCJ--l4bz@vkxnCMB(*WG9K1IF+(VRoKF>N#x;jim*F1RMl#}8(sXhB#^mA$6?FD zC3Rd5Z_U$U8}Ib9e?Qya&TTdxHgT#*X!|X^I}*{aqEy4XOY-^wJM!pd>g}PU`PQ8T z8e7#D58(8UNT5*;Ne|exS(KVAm zsErtxl(S{%zUH7i&kdd2CgsU7JuMB{Ygqi6Mx-gFsbxtl*z}rjk?W30iHzXoDq>L^ z8W$)M`-#G;_v;K#t`DBJj!=fVmpha$@7V5Ic{6!u0rOO&Q`ekVYxkTPYxLHr{vET^ zXRq>k3zIV+n>zb=)e^A&iKrTp$FNfs`zNquNbsx~BH$&5c^J;7nz^_8H*!m8WHh!$ z;Ue5_QU(r4)uPuD-WDz8LT9xj1`ZqPrYP!qPIiKal20pZ`82Nhv((EO$F16#@9c}n zX?;h;#&-?@J3sxmj}=@gDcD;oa|;uBNjP^~dqBTl>@d(DYtG<(E`0JM?*(=K;QWxp znHC{OAX-@9MZb#jT}j$ILyN5*a&zcy4|cMV@AKt0<5-IW&B7`}eg~(ULB4l|p9UDw zazVKH@6@=na+SolfMWM;gCm~x!x)W=2i)^B-tQL%))uusbrw!!XHo^}GWa=+9Q^7+ zb8GiQW+7!0uNX(j{*vDAT&1M#Eg`CDm+EE_?2*C$s8ABu2$##~DN<<16nCbL!!plQ z9pFfa{ZU>g*Yb4Zm!1B1%zpPhhJs3dXHkoSO@>J2HO;g*=NNA}i2d^^jR|vwmh<59 z1^V&adj?Lz;lQFPcIV7q-^MYU+|V*>%iUnO<%Xr1c~;2^L2RF zk2&VewP~(&x`a8M=ABs`?pK?#{?RCqtabj9lM*lh4PTUJU}6x--mMo@om5Bg1OC{OZ9+n1vQE9xgkRcs0R72zooEB5Smf{L2CGW{Oq z&LVRCTDbKX*N)Mle`b__GD%(Tgo0lsaRDyd@WC`GJzx?~9TMHY%b~ez!3}7Vr^Edk{-yrss+rFnhR+%FXyBFWG-&!`0=!^{urXK6-q4e<}5J4!w z3>!kzQ;og&yUCncmh071bc(FG zvx^H~+y^);9|e8OZZSSEw13b?*0NEQX%B0Enhbx^yMSkEE&0*dH!ns+{+Aa2Q{Zy` zEpUzEMxO+Rf6F_PYN$j1r@la4-}W-O*~sBG%0k8~39-@0NQG0m_N*R{Li`2N7t)Sg zTLzQ@(JS(qiNaH&ok*PZ^gnQtf<_K@a`L$r>eX6Tn&=RZ{cMs}EKNScy@~MykiGNMJ5EKn3mGV6r!VLsrrAp zKD;awSzV)RnxDh`p*tIX!Ps08Ey~sH5Ae20-6Eh>Q&zPc0(>9U75&H(CjRqGT#y#>4Q}+V3&tQ@iz698_bR(5<=$mRE zQ@l1%<#QqBXKw@Us82l7=EsdyUThz;wxX(gVABpacI9ATm54m3{W|Lppf4DyPISwN zZ2Lry3|AtAKtXhch4^k~P>HBHBdJ_3C_DY4C37N49UE}inHFawR54LKVwVXxvGu)i zAf{u!2|+=f%SEFeq9`2Y*G+=;OOt1(IFUc%Q*S58EwXZ)SK(g44viHQjzQJEj z72dW}d0i;5{wQ@WQUCw&odeEazT*g2aB-u$eZpn@hy8-7+cED?wj9?Vyk}o*RR8+K zA-{kOklP|!wLdL0|0A{HK6fr}gu_sNE@{09iZ}VYvk}+Z&-QW z@C%zUb%v&_b}L7u%y8+VPut}8O(0Y%2_lsWwAv;8bd~WU^NY(7NlzV~#sXh(Aha0q z&LUuVXrv~0FB$9^$xZcobY{4dg0_4FXF-QJt_wr_7im*nt;&kHqxW1&zI*9I0Wd33e z%`(3Gw6y0WjR?^fhPNBtZTQk)G7XAq!6}D-y5N?np!3Q~=~}TdOEX9J^C*oSfcgPl za?fu$W@DC&A|=J`A0S#rkKx zUge4h2eF8Yu+y4JY+1zb*xH&v`tzYYNodYw^Ws z`0}}^=gK!GEV?fgNHWDpR0DqBFUraAJHMrezH6Say}46B|I*Sa%SB(Cqp52w1xZ_y z=S$Lm5mmbL>)0TK(+4})i5i-j_@|Mj8}dU4nUx?DI4E%y8j^*`a`}xPCVW+a*Z*e1 z4mb+!M$8Oz3avVBOb6F^@@+3sO`mfcdLG>iY`?nYK_ZXb{mf_4Xt-AKIieEmnFr%2G+ct^D zt;8X0yJZ}SlaQTpj;?6QK(qwYp1xpSJ`^|cApTsZ^ksx-tuK`o{~{J#M9J-$Aa!?1o>y*GS0Tp9jX$ zWo<||elQs0%p9#2-OcTp!<-Znra1Mny^@}VNX2_V)Y4<( z+|&eKK<1q(2^L8@wJdl|);ls;d7aX$_@XvH-LIEMZP{7BU8}M+t09CqOy~#-t)V-p1(7J%YWRUOoT0(GEzq zK#CSD^tR%+Z$FH!+jnNQZ{^WMy)tRFIS{qFLkxhjP=ytlh698Za+(@H8T-AgJCcal0zpBY zmYqYYN{X}ruK?6X*{P`)t&FN9uQSwIYK>kb9BU><2$h(HLH6i8tk8rraAc+=`4;*8 zGv5-44CLY5-QxrD-q3{v?d=n`!h=u7ry?wiw=e`v?Zq30(`h_7$(7&s7C%+6$%|jG z>K_(WH`A964z!G>0Ot!HN29vn_aUYNV(>@La-cdO`lIE-dc=4`3`+gcg%KyTKQduNM<9TO&gd1-bcsy)7-JspJ@`%{E%X<4O zv-FT+v05)yXhB-pr3l3H$b_8hFmaOn z`x4oOM{?EMzkmYfw9@{kf=hIPSCdUISG?|!4(pdz2^}M*)Fb3f$3I9CpLEI+!1Q@ha#4gOk zBYUP&P8(s(1eH_vVW;;5_VKViyH0g54mIiu9j#LzTw2E484U!oChaz`yg@RbZXHM?X?McG%|bLm6O30{WXzLQ&{Ic zVIUAj@bXZ8?K15B0_LO6=LYF;1rw1P5g`6)S{O%>eeY>F@UgQ6!R}zKlT~CXKYHBj z&z-T&!@_9{#bXxy#r=8ZKadw86%yUSr1@e6M7+L2Gq>k{UpIXcyCW`*S_SASsgyv~ zpMJ~`w;E!sx!v}B-Lcu80h5&fJvb~@u+eI-P`Zh|sW4qg>Z?3|9B$BUFsHq+$~fVy zmnrar_lp~*1i7h$DaaO%%{clO>RVm5D z{~8nHgA2Inf4K(IM{(l)>4vT|9B=Ozi~M7)kaHZ}?dImk6eCo38_$t{6>ZoPPI}-+ z7LT{%+8k}~iyPP1^ftcV?%Q=Rx+n6~8|aZ?U6~4}5gExRM*kLpU2mfr2RQalGI?~{ z_i_scf?)022bY^41An6ouA8eQSV!Be$mS$}+K;(9@*0DP@Z=tA7Mq2F3`la8!>cob zgbac+)^V5f-)cEX?x?#8M!Qvqtxu8XwLy~#pd)BoP81={Z^1n~;7?}W)uH+MvuIj% zOX24PAh#j(qPV;$F!$R9d0dip5B?QNcvT*Z9$wwp?(xz)%}jVfIz4&3&K~N?KXGtA z!Y@`1GZwn=H9R$hN^9=!Vzn-_hvmH%zSE?=mt|7+#9O`d;b9<2S!vw-A>-5PLO(e1 zQW*T<+i*K85N0?6h%FGW7OUTLl+WcF;bUmQyA>f#nr~dCH%;%Y7SB?enUKcaQsGX=Hp)Q+y0WakS1982*XolK-U>--+SWP!~jL@}DKW+tJ#M(~K0 zv3c==nYpt1CO#rG{s!(GG`Sg1XOFe-N3I;7a%1qAqVwV2lF#}E+yCH`;&<9GYY>{*g?q~{X;0(0z<1eBACxhy29J!4aSAhabYB9n(BUG`Gubu zZKY8VH96syEA7A760DLmmzTkP{#@+;G@g)*CHxXJs*6v( zLBfWD)QY!au#w??d@u*VZQa2QeJC~CJl~_vQHaOP-vP0#fS-C(oXc)y8OC&wlX^hB z?$yl@yebBBg)6W1}fhSY7(4W;gh`z#YFRf<0u=KqvP>-v-2c~YjR zE7*XZ>4Zzmhe9a~R=6q@51J)!3sId|cWd5r3q@WQ)ZsLF8*m~THHO@l=!1v);3JZ} z^X0?l^SdY2pi=64U`tddQVGEvJ#$`Fx#-5Mo(0U`bZ1WpPR&L90rHNBZlmgW1!q`_ zu69kWRwCZm3vS{b`N{BkQw7rWD=B$S zo9cET(E{(gUfqh#EqR+p!Z;cZftV{xoPiQ!WFKvLx}^hl-jI{~==?hh)bI5-UBHm5 zVg9d?Nr&0}jHd5Tt8!h2_P>@T*-k%409n*PONH7b5;Vnl2xQHN(wum9KA9b^#jW+r zNejh*^);xZ@T}2;MBhlTA?x*c5ln4F90=`kJW#7GcH_p{XD;wfd&uMNzME~wU+h@S zjx2-Fy=@7RUwKEuk+&!jwYSS1`3+O7VFZA}k{5l*42|mX>k1}ZOa*>Sg&0d#k>w4V ze^0_oh_;a+c^2&?)}xjcdXTo)izDy&j6Ru@h1+$QnOm&S$&SL-h3Jm1&&xNohg{$g zXO391f8UIt7xI*cR*R!5Lox<6V+!-4RhsX0NO#;&KrCZ{P}k$h{HWt$a%XD-#bX?G zL>NDfhtH0#+o3=0B*diWqLj;#ShXeltS(nd{LP%s_+Dx!6zKbjV&GWG+>EjaG&c41*a)sWq<8mN!`w1k=^@(7kspd6?sTgMTDw}-l>x?IR7tEq z!wWbZ=NF>rNm9LJNV@Xw-AQ^iqmfho>k!S&whFQL%elpVOA-1?Yy7egg}uXYAyL3u zJX>0DD@NXmSif@N!u|HHEcLc+jJoZbg5N3b%KRHt#sE69j~O9!>6eSQC1M5oZUFKx z=nDHGaZAY%`%nTd+_>=fy}z%vdg__AHwg6Bgt6RayfX*62KA4o5&RU?`x=(ca~8_% zcz%VpI1GFGXqw;S_vVeSZ(fF1g|#AX=v{8RVDjIpF6Njt^cw;<^ojXx{@+o?Kj9Rn zK=|J(FC{efPql|sG6(35XXaO$6VJ{@b}+JW$@#}9Nje#HbYB-e&&~0`ig)GxW<=zd zKGW{?voZ9QNQc~y#pzK)&a9tSmjYD{{#3GBURK91FLa!{LUvcE-WF)7$^gP=Dco8C zgjH4mlT~Tkp4Cwkv;-Q!lF$c-Kode2{D?vT+e#0Fp9{q~xVSD%ErYWHFhFy9BW}4+ z31GW7FO4fI%GrP_I%{8{Pkpb&`&yLh;Q0Dr)v9yfwN!rwhzIn{E-H+6LCJV72xcdR z%f!DiwX;THDaNTgQcCa=>ou_)`I+S+WT&G0>l?Z-UTM{1%1w=*|2eLH_0#C10%UPtuEc@PH-)#4kVQ*3LAH0#rj&hO zl=H?OqDLT?1dGLnp$a-O9LN2pVkn&mx!$OHlSWuv&ucF`wvzohD@Dd0q{9C)j+}9u z{Hb`M0JD=1*^y(6YRi;BDcN&71=BnQ={@&GLJ@m1=2>?5+uad%CoGrNw|s*&=PexB zbyuPDjTQ(gZDlS}m?DX#M#>UIkZZQ|`{W#pAs1EJK4(j0>Lful=;ws6(VSA+8&Ye*IKc;Aj`rlZS+pH6b4ucDl&Vtj_N|l#c&HE8RZ?RZy9b_(f%s zt>w^jeMz6a`&kpWZp`E9sqiax+6}Ua+2S(Qcrz_a06B6Rk8ALok$QSs@;5*ZR z05_8hO={puSZ5UW{5&i^3preTn?r!dr@ECB#m~e_{`I z-@<4HaT&$d<{7ze?z3nGvW}q)bs;1iu999jW-?aLT7IME%3t2ou1f_AVD>CZcxqRZ zE$v5t;}o3BOZm85IRFl+fcC)RwLq>=LU@;zc!{%UDAMlu$o0Mc7dFWD%oPLb`e!Da z`+pmR|BSQJh9B!8u`);S-!R0lTX+`a#Qf9mfs{sM{!RTSm<;8=_EoNXB;?4B`3yBj zXFk7?+4|92JBgPW?_Rfpsy1featcyT8nVFYgJ1e7q!?vUYP#T;I{r^by|RUwlUJ_T zAteL@oAf=p7(zZwr(DAFU=Q-zxn)DWutT`XYq9-{?Ed}K7=dvhwuLSgVvxM6Eo|zi zak4rgvi6=1SMS+vE_EF|$j#Z8iH_ekL&7p4cV8=&M3#Q)I3T&rV?`=k#q;6^k9528y zSqKYRMxfXw?>QehDVjk&nCSSR(~S+bVbw$x+rQLB2ZXO3_IPE3FnOQYs!s>g@#X5Q zB4aTQT9{ZrLox^uhJjGdpk=qtuHEP`qFR8;zF6E|(6GY6cdZWE8z6K}q@~^LzNBOn z0A#cRb_iu_M3jHo!L(9RPZfn4Mn`?CNrIppz`e70i9A`ahmn+tix+_b3mH_=;O~=o zWQf@3hmyRm1AX0(6P)+c!RaZ%)yjmc^Z)79DXB*I9#BwlYDW8Sj)aURQ6-xt|ITUs zB>5lh1gtopgW0eXJ?;j~&5;FI`#+wi+u_XOJL)Qc*&*dP`u7*h_aXU>OfDN0Cxwrv z7X*}^ghU#MfKX*D37Ufs{4WUI5&~oj60ZbVcF7*Hmb)%%c~l(zUJTkiG9-SibC9}& z&(mSX&r9Rj3hjm)Yos5Q=HPX>B9gFGXL=LWrjaLCYJb2hD@i=ViO8g(A&E8iu`vTs(b%rQ%!B93K2RVI`bU&6m~6%4u5_o!cGyxo(2}~ z9ggWLJXv0|Q?^(CX3PCt zA^4M6a}48f$E19J4&x-k3&**3kVm?mc{d@PE$a`siXEMoh{*=tt0cFABsY761$@X> z{YdvlE%OuOWU)L6xH%H#+R6%Lw}sW@f9{2KToguUwj3s|0lv6eif_$=nFtRb$k}G9;vRD|f+RMy z$E#ZYYx?tHXNA)aZ!t1frM~pw!RAC>ijYoPvPbkipC%;B=F-t=>2>g#-x*eNH18tX;EH-`XZM4tTCAWby9H=!~n}@OktmjyD)FHV~Q{g{iqDtFW~& z(lAs+%U(oTU?rZ|sDuok5TkQOjJ)(cUws*rK#*0|`=xS{AX)L|7e8-30c4K&)uX`+ zOSq&jSnS^jv2gm;cUF~JDTxwXEjKzj#T~aUeEV;H4|&s_JQ>mRc)tXy|KoDn|83r0 zkpCAa8o)fuIRIv#Z!+h)^eloi%7j7fHr>XiF?b)$Q2^wf$v&N zaZqL@A~%AS$V019L}y0k+{V3Q6S`keIWL~2$WuJ1+Y}p)?la<#;al6%$ z+yvcH`u zO(CMrvgx1^%h9^`vbOX`3t)BPW?+QX(c~8ZRUwykAb)+(aJGL^+#6Tact}3xcD~=) zry)dF^z&e88pd{O&lUff+alcjL%k=yCY**v)?l!WdsfeKi1-NNO5$dyR%)`EY0dTB zT+90lMoDS#4ikNkrY29yVi<);)19|&U68UL;{49468p&d9j-t4dVs{g`_53;nW$|O z)v`HgrbBDhbw34}7XmeljEtZDYkZ24b17_Hn(2RX4F4++2Q?>*!0Wus!s|Z?1=HZE#71?@nuc%H(~e*9SMKH z)}s5sL(J4xm!v0D^R!~BY$1PbftpHsNx9~%@zS*Ihq*!F_8rTcM}Rph(l5*5&D-Am znZ)z_Qmt;3b>t8ll`UcsZ4TP6gu2OQynHmCjiI1GlHOgGxY%*!=xPHcXtv?T8O5t= zA>QCdybp*N)$J&E#KoNG@O_A;l7j66U2OpY@w3?ppwdo}{s3|ni_s8q@yOB))t1)F z(^pKR&^Ti69o%9rQ~0S zrGq_bX(koO{9&v;hNzH70sJItF5f(h`>U%v0y&w>T1giZFw3y3X>c(w216J2CpBX| z@pTqedKzUw0$!{rtmpqiU)TZu41WSc8+H|xz4c^+vZDD%U*#?zx0}B9*hX8;%4Pb| zcx%v5RpzsBqT@n#F=uhDl7QFf5eA=1i4~YAQnYQ9pUfmlAQWB&SX2@f988?Qu_mx^ zj@hEL{95pHI2#+gr6k<7AZl8H5c z!NEjr_W7N%6cwX@=jnr8;&+0Kb1%n4A0xl^mBpyv9->aF(ozmn!ZB2x(d8uNUdC5~ zHLP^zSb_G3T8kAco$PIc$20GDU)#5WdJVYgQ#YR*ISVv02BQ5wd4SH(T)u6wVJ;pa zZspy$ozzXtQ%sG{lwqtC^eiGIfL}ue&G^waY z5+@~S2{ks(M0?r$5ErDrB>iS+nD2OF+EcU=Ot)7XH~P(*t};Zy3^tlu+G{6sf%Woo zB=F%BCF!blR#DI&I@w1EAvrkKK}I^9nL&zt{Sn}RXq7_f@HyY;o*hebAF_vEZ9cbT(+^r|RpO4<97Dq4Z6GS*kf>J2w{ zmZMFZ?VIqs_czidhKo&V4e&XkEV|yX#}&3guYRG_03B%!6MNKGW7H&t;oN5RikPgW zwV-{PppI0<#8ZD2)!^wH<7goFr-z9yKzUOOTm4J~-j@;8A{YRg<+7n$Vt&eLPbXF^ z+SH=AmAt1bou;Rf!Ix+u7wsEvEy5(b%F|swk+}(%fNd3K9Fm?vmd_l`2o{UoywXW) z0)h(~>QYA=b4G3ozC1!yu)>oI%S!MXMFyg~SC1H(tmv}GR5C}#uX3mWe%nB%k#TE< zY5GC=(-^2=CLl6lO3vcKj9&;7|GIK<3uQOy>18RezXKhZ`?cHqV~tbdmj!0X?bbBs z0)=rpX*)aKwWqmBtV0!C8L7uyMIx=uW<6&-Z&Vi}m$VF;=x11YvHUK4oNCEf@3g)b z`ZIls9<+t=RL?fG{2Cq3wnbvQFGdNYG*jK=^@`DD<9kq*Ea28ySNDVCdmJ`5kO#Rv z3PppX`WB6Az_#9QCP`aROQw(p7t_!P-`q&lz%q1y$PdpsQ{tXh{;4{?FEM)yJxLLIHuMGa#slm;B@pmw( z>3{Btx83{>OiqZA`v0u#_Uy7DWy!BbVyWQ>BF};T>&GjObO-??H(LBt|BC)5^Fq{(o=`-om z_ufN6uigknJS`1aUa<-28t@-DVQMNfB!>f?UFjP$BqhsAL3^d84A06lVl2sWYP;c- zR;Vipj`xp6Q@I|wyJ%fn0R4bvF&`XWBFmG0h-ViMic8W zlinsN4zI0jV0LWR>*Ygm@wZFW(Z)~6 ziSZd+z#zb}I(X@4(NlyLa$w3g=GZH=xh?dE!HbY4(a^I-D&8G4MX3H4VcXauMTygm z4wok~TUk+XACl93x<;@uFF#=`KPgLjDuT~PG*DJ{0H37|SmKxt#HLViA3EUUyA}eN ze<0ZIpF8qbd`(hbgGDo~RsR1m^_5{w=J>>#hjJ0i z3b!5-4*XaZWrIjD3y1r1v?rRiHGVSE^W@*g9vzQOEmTQI(g`f55vUgNOrEl)KrJ#d z3v7-*g%J`cxCke151qanwgkzu!8Ef`Pm@@<;;GbFL>Vn*%a3|#u&pP*RqkH1MmgAa zcNEf@4o1hG(>5f&aUYKmyYVlxd*#_Kt*5)3j{TK?BL+xko9Q^M8$YhTUhCJTpS;NT z*`$D;(BFO{0VwD1`fpd~pb;=5>qA4$_$q(G>%VNs73Ry81`L;;A61aIQVc)|9SsuG z9ev%2I@im@&4k74*Id?_Jboj-XLdEJg5l#|2&OX`KC{X`auCRAd9lC_1Exarh=wSWN6hC`pnndl$09@v1~bxDfQgW0@e&#dDr~h zG(78b{d{=j&8MvXLG#0R`8i5>c5kw^bP$-Hnz80-b}=*CS0gm~OHI~}HmVS*_G=~s z{Wmv5YGyOVpy$J80-6#%5&F4h_+y<>tiQnrxCbjsgIg^O8n$6qs<%y+R<$@ntm zZ4@`27~Zut9#7SncbJ6n`T$4a!QipWDO`;N(E&kPK@k<}bSu+J140V79t9->!7f{|5YQ!U_ zMqD%Zg~~bxzo!8_@^KkVI~Nap5P9N%x>>JdsMq1~h?z`5UAW8vaHRQc+^|4;fET2s z?-2JM`KzAE3#vTcJqx(x0|F+2&6l;WQs>M-y8&Bly4_fy1H7aMZwvkCESb=Yt9b7z z)!V1~KzZidIoRFGPdv#y;wEW24;^yYHr~WaP1zSaDfys9}?J$QDqtM4=5@Z-tdgJ}tu(icLTI4l+aA0SDKN^jfoY3-g8$2Yh) z^CPm^!KSvxg1r{=)@JvP4MrTnj;3CFZ;Gptz2VcQ7Sl!=)NEyWhN4Wx3aq8`4jtko z&Pqe(tn}m8>4ks`X~=&f;UoP5Xr9vT&pSu}PI8 zlWsLW7#~QKB^3Tk4E$}6qgWF(->rkELxB*ayxP+w+(R)@r%e$bO3>2&1`aJVzgK62Or@2u@T4#fmI zhxWuygL*{%Egm+EEaW|FRyx5Mck55={}bOklrNz4TwRfgF$?y7ZGOR415NpJ5@ zuP*g&0fp=TrWWHN91Yq+d>UQ#y?y9F5^V{~@5Za*}~{apL@IKF*j z?2&9Qy0$<24)=M50VxDqzP(FsH}XcnzbAIIw-K$eTNtM&R{J<;J9O>r&ydc!34b zNTBD5OT)^szB5>?7Sl(_5w_)!jnna!Pq_Yygadg*${=tJS9#S>K6$ijl*`g`iOYzk zBT(QVcl}VGL#CQt*=^BAW+6?sy1hPXSt0Y2P$>&6Rea&+Q3q;?355tG9csK`{+7MY za~Ry+HIu++6?ytCR<^CA+o?q--9)U@kvys*PgbF*d_Jm3_`P1F)8do9qvq+s;oXV- z-i0OB-O0%mS`a7t>8v@Nl)01ANk%=^HTc7BLvuoXHcsVfuJC*8H+xGGD-MJwrb3Io?7k-nml6Zp z9K4Ou+|=rb;)RR+usaNXHV!mqM))lXJ z?;f*q-Re~`92tL@x@5wbT+2VMYgx&WzKwnqbStsu968i^&{xnGB z)HX+^Vk?4)P9oo)_|I(*^#sFh1S$5ce}{VE1`ycPXl}d%Bj*xqKa#xrG2r{8NLYPU z;7d6+Z~R>@6DujA=4)^&cIbZnGsKikq>~6ESCT@0WGve!V}zIBQ2@6Ggf&21!H?0A zDi`_nUYo~*#4MkF>>MJ7G2gGVVeT+9X2G0T^)b84bM2A*hyY5H#4?}gSLFs8u@$Vn z0UuwHQ7{Px1_YoE8vpR2L!RgE5lK7QCjmkN8du@~^qA<(k~Wdx;6tq|@Y|<0ezq;~ zEo!8Y$Z_UpqD7bm7Gcv@%th5v8Z=QV&cBk-(O$_1Hb^4Wzj4Z1U!caAzy*3^w&2YC{nyFMP<=|3*6i!W&boH zx|x)b_07lo+SeO8MfaJzcz$aN>B$O|g3*SsI{!%ft7~M`wUm=M=9OUfFkXgCiajE? zP$JHwb4(id>SF&H;BmdC?v6PkM>jV<)!Xr`o^i~fWE1R$>NK{G&+hmUTknLVglaFf zyPq4krHL5F8FqFNDYNrpK4$eg1`iz2;Xr322(~8%0FG8JOqwe+y3*fzWw&8{-^B>KM1F_U^!V@$(>@>+ zVtoZ@iaT(uhP0&d$)6w_EtMjV7Po54m!aAop@{xuN)`~;`tuG_6n=` zp&{g!NI?i}5g`PoL$Z0l&=H6S4xjr74sX>$E7bA5jIO+3j=8~R%gcg1*lliaJ@pnd z0v;xTQukLvV)JR0cRuMc`ySJ*H~dd&lUvo#M-qVKkI%;#U{a4Y z>Al_6oou!N*5|BM2tg;cZvqtw(_EEsW&xn6Dg#U3m7V~(m)vG!n!eQsz>v~9!TM5%7Dybh>{cn3eAE(GgsAmhyaVz4|eaWOyP+e%6*msTvHpJMa zdumCV9%8evvc4OgIIhTrX8BRb8@LRZJHglf4AEc~dAxwSwK|_e^-Uf3)b} z#wCkyAxn)auF2ca|0l44l1l75Aq9Kjba*OnCx2v9N1&z2_iYFY$n`tMQZE~Gn&XdD zLFyY7t4hsx=`dwYqjhCC%WbK77j!np-8o;T9#uxetY&m&P4UguTv}3zuO8nF+k@{W z+;UR$Rn2b@l8PQZXoneyWBZE&Q-C3&CmiyfcXCaSD|%!;7g7ZQcxy><7Z>{}k<@&G z29>k8N@=;Hjbl!1yP3{4oP#WGPpz2Fr}hZ1)!4K+9aB+pW^SY(+(|Eo2-%N3eSv+Z zUfAsNSit3BVh{RsBr_ar6)WpUtLL?3a*R_kJC3ue!>2vp7vUx&?0sG{(Dv|OZ8@Ki zRSePT`l$fi#$9N?!t1A2^8X-dS7E*otj8DHFfL|;&wC8`!Slhcnw*r6ZSSS6{b?Q0q(-F7q&mqR&8W_YeQx=k2QH$oAR=qFCbr(WM5S?-yu&k|e% z5)3q>f{l%)MZ^cmywqU}#*m_pm|F!YlSOX~vTt_nTcV(xCE zo(H1I+N}r?VRXO{{?kA6@siA2s$v7J$I0tVMOGW`x!J28pk1OwYkv2(7~ylWS>;x}4b3f<3Ep7j1vBb9CEV z2RcqyHtS7O2GNgt%TU9A9lSSVNtKOp^2n&>Tv{}A5GXSRb%xa7t$CJbpi7k6q=l;{ zzf~Guk^XU_bs~PF1Dz~B3;1DtydyEFYv`~<+Qx($zkILNH1QpDWcKfVR(Jk{F8V$Nh2y+fV7 zgWG`#(tmu#ODpp5BWdG`H zV>`j{J?sB@G9;`NFOHwf_eXJ|aLwNGd#-1}_J2u_zt)Uh5vb7F9u668{`{RUGCdTe zEU&&Pu|_)=1faEF?Sew~`<*F2d^y^v>IaQY;Ei}md+45?*!cTdL;HeSoR8z z#|%A@MP8F9c*#Az^*x`X22I_axc+Li=gG~sL0<;i27~~<7k1w1kt~p6OalXz?7lB% z3%(IicgjodM3~HU`98plgkrzYna zZfwSNR*~26DuSzIJ1|fsnp|30UJ@7>R7wljX%Th+QC_HJi(H5SLbv5kMX!H^#8j+> z{H*OQH5XbOpv&W+zpjBS~j4W+WBJ5+n zymty7yS#V)sfLp)*#F_+UTQuNd!&r4t0D{Mq@I&u;X^}*v6G-HRQdnRDB#;i9n{3B zyB47@W6vKS!Y+Q>Fje?Ij{md^bkivr1!rvB%i{Pwl8W)5_|M93Ta3ODY%u=}X$ao~ z^(TiA<*i2^w*WcZWjFyq@v%UpzfIa5Ng7g{MORih7}&($7fq4Qx}tu|<@HO;T;3o+ z)Lw5KFdv-g`vf>j)9M2;K$S#C{6nv4V%xm_jq>D!?&8M^1z}8lzk}`8@3ZqG|Chvg zCQ!0rCoBfFWy26w#y<%8Z>x~*%=-)fQ{@0i0F-i_=dWqA+KCa73E>_v1V_7h1*1L~ zd!#>Zn6XlT(-Yi;FdqdD+jpNHH8HcIH#%=QUrHDfF5@hed83EyXB^p%GYzEQodAdT z&*$k7oE2%v^-WCk(-FW81wS(Ld52CL65r6rE2rM2d(KE_0ytFCGv`rfbT;@7-i$`MX6EnbCuU@dc|P`O3~$e7zihFVhO8$n_Y$cd3g zK>5Aac3k!F)DLi7q+K23=RZtVlc`f1KYlqO8>NjXPdml}718HeA5WBj_u0K7CSYx4 z6J=Ww5t{q_#gURi*la6&fu7C0$|%oD0QAMy%>&Ae>NW1fcw5k*H}EB-)^qYXto45ymR|^^=hL5`R}aaN z!iDeBe34ebzW^?C7nX~DYNXo8aYE|cx2SrB*_5(5@Y^$Aj zXgp7J+2Xy28&1R9Ki7z?d2g7L#JSH##h&GK?hi@h+?liqSoO5H;?Yl@Vx#}4ia@i` z&VV;3(LeE5Bc!Rd*|y$zN?s4EtU$_7wL=RIt!mB>*Z&OYiqg$Hjr*T{$?-L_Nv*e? zgiJWc%Fe%s3TwjUAIERVpUQo4fXNFI$R^rvc~~gjHk{T9au&rWgb>1y8DA+Mq`E9G z7&9|j+I-s4$Z{N3!%k4UJ_bop+K!?-3H-nd=Xp2slz43ZXtAP-!Kb~j{YA{$Sodhc58!;!Lbg4pL^&kf$fCT6>2_=`frOOt zZNm-GB0*j>?_wwFn1s+mU)p1flx-`g#v*J ztMd$L<;J+(mCF=)vpGu4We&maa7YKRqqF`zaLJ`I;O-}&<-HS9XH~mU3m4(-7MS(5 zvPg=LT2djuF2(l4lNT(RckGu%yF;()Fe{D@s8NEDPz0ipP)oSElXcg%k2-aNoYm?g zfLq*Y61EBSx__6h!7-MPy=MQX>SKM?BfS4dPunrPTvp-JmgL8)MhU{5qHx&~cYJK% zbX38C<7oB3^pJ?VzUke-$g zq0M?H;=S1~!jmJrka>B~}XPAda>B_smQ(4+FUeq{Y3j**r% zd}_hX4zH+hvA4X;`pfd3H!hU~4|E%?ezOu$9?mRLC}}sJvR?qYd6Z#=0d6d zemK3fw7AY&fu3!FWc>c)G{^Axlz~E8>113`T;J`d`u$VnPZ*CMaeGMnFH4`1_jdq+ zY2E}D>qvV=%W7GgeFZo4+r=lphxvhI9fv9)Qf7h}##I>R(18pt)uo%I8?|{Oq9hm7 zjpZ>6yHBON7*ySK%X;!}oQ~~X6Nw4*q_woj*M6MOy%G*a08n#4>I72>+ZKNpuif1l z4oD+Dy&@Lj(=d%B1UZ}P_8bF)@pSG8(QPUD?VKBRH$@Q!?GJ?7$7(gx%j$r zROv|P%9zz=BU*%NpR5v*|5WNtXDsu0PAWx=ZLf50jkJK-$oSIm41NF-qdj`();tK| z1qS3TS;T#O*?gffoO|X~BCP%4ce}L-%%$&pz#Z#*c!;UX zXZQ*4`iD5T-pv}A1>yAhdx16zci;h9^#wbiRWZ0OU=tc0xsJWX`A?9%Ck&xIMgU3eR4sJr9m zBY)WWY^Sf3>l>n~#`Lc24Rbf^=7R!fcL7Stg<%bvu_I~TN5f!=fS5B!?BseG^4f=s z;)-L=u;w=z7ZM*D70TX>uoi0^^zOa+xq!fGpxYFT^TkF~-5RIUP;D*+Y8tP!kz802 z=1;7g;Y$2S9m@lhq4DQNK$MfRsEnvRRq&4ZU?!5Ly#CcuR|>n9{P#7vi^M#cJHxGB zwtrF~9jQ#~muVj@Hl~GdGZIcAa{3fv->-z!{jwfF$`iEi!Qlw#p06?WNXkybOmv51#~=lgpUW z<(~OdWi^f@GX;XFyT*xm+RlIT5;qmNCTNNwL`vD~dI_lRQ{W$nS&IEgm9+lCIv>;D zpIlRP+C0Nqe3A-j`7+D#E>Y%H!7Ou2Q*w_9TXUfiDZt3=e zW+mnk)(mq$Vbnxdiks?B=>TzK-n&2f{JKI0;#ZOWK&3Wfx8Bn^tW#9m}C5W(M=J!n!Id0@oczLpQ#P$mFIq)Ewq&1vm!Ipy(? zTXdIL-N`oSE-kLY^VIw8P%{cHPxlC1iCRCMttLB42rpucS#oXU{B@?H`!-Vw+Z85Whs!6VIF4r?T;{w*DtjolZA zL?fT^>uEn*!s{L}fVBWZz!WrAm`A5_IB7Gv6qU^V{cELc6QINQHg2Q9J{&<=w$=(`*~h)9)JkCabBX>aaotMn^pFe$v* zqlnRc3bT$-_7SKmocqt{)%Y65i%K-ye~s>+1jihsIs|b;4;=h3ufIFx-+PIG3~Kca z`LWjv*=o$~2w_n%j83qKTR0g%1UUfcda7{46eihL_Hp<4Fu0PAmZJzc8_VA1=ZeHou zLU+q5q5>%&dszW~Cx`iwIVuK@C#%AcITKi-NhPM#&0aWc`m%P(zz;I^eyB4$5I#UQ zMKho3v5dFoo9-tY?g{*5v7fe@_3I4Gdz$3QaN5V%JKb9|Pl|H)Z)twxsn|pbH$^Td z%OcF^?@JT)AWtx^wffxtnyb^<>2;CEoWABU#x%eGd0_OA(AWaU^VR0fpBojG==5*L zic_g+#A1Lh~Xn;m>{critV1uTB57^hlz7Y0Hc8jGPeEh^dJ&*PVlA+SaZx~-D?fMN5zJI zg2`qqd|;Rtt1YH7bMPne4VcqmkL0Fa03{?!FAai`XywjLt$;+iuAai}zPIODcYw z;t?8h?%wfwh+*CFTg7eo=z5p_A5&CNZAO(;+%NL3Q!`-aVk5^>(Xn^8mYeqSK$#FA z+lK(`3hyh4Z0B`iGD`&TMf+(cGC#jo6r*y*dv_=uW?!eUA^X0DUFo)2q;Rx{_h4W? z{X_Si^t?IO$Z^U8z{ z>(BdN4U_GQy(uK{5)w_}IZ`E7Xa%iBrSJO{Hd$gbAVMt|5dKfAlV~<}IO@JqsD7TP zkvqe{N5=GO0xBEVNivFquG0YJon(lEmU5jGu5(RTQ-JR z$nd1|^_Xpv&zwP41T68oGgBecF<%AcrXzdp73SthWI!ZFAt&M6NnhRGYm@4sw%FdV z}?*06-uyetvO+qE#LyKL4#BqT~B8IJICbvq7Q4pbfll|h3Mktkq8M3Ab=Gr(%SaM zDO$GbpcZH0vdSn%i>Uy*iOGY=7ZaS@{^Q%b^|ur*BdOLAN=kyRbx{Woj2tjJBVL%; zX--aOA^85)NPC(83vr{i!tA}IW+b``{*MhC81S|VegiY6{XG6N>8&_Yw=Pz;H}?lH zkL)LzbY}Ao)hC#Am?8U*7CntoC(G}6%?oZ?!93X7G!yETGBww{vE^KB zzabq4AQb`z4@Q7#-Tq2CHpHyE@avdCilZ}*%fUmMOcpYnVOlm_b9Pk=NPm=DG%NP| zdxh;b$t)tyq%^*Y^5L%UgNLcSYg|sp(6p5`w3NG7?mW7h$P9E!b2=ld599Y9&&8Co zlo!78J4baWjJZ;}cy_H7*WaC%>p$YUpbW@~YEKs_lv!aP{V3|>+v5&91i88E!XaRI zqOZYq@4KA%-{K14MT9GaD0d|mgVClzgSQ59gvR6cpun7pGWvim&1rvv%_kSQM2eds z$Bnzv->-62rq!4X*7j%mVM~fg+_a+|W+H0cS4mN|>COThi??}}60r}C9K6!B+&-qk ziEuIR^|QPVYSC`|*rRiP=TVE6N`#BiXq)P^=Lw+kPgReGj{ZFceXk#FvRKUWG$?hJ z_jTOD(ItfgmkG6zF=85Qa{gt8Ixv1AyzArqj8AS*qv$9h`%)!dc>h&PFKJ)ujMCcl6~cPFu~~p&|E8MIbpx zr4zl^{us`(LWapxyE!t!W`=Y&6&*CC^({QZ1Q5 z!8>(N4GGjqO{d+*C^X|CJ0(vkm|riJlJl>PwBh${iH@g+I&}2V+ul1q+oQ#oi~;El zVOEpTZxGOT0==^rOy%HAJ|0+^(f%>|U6glcwH?2XO)*id0g5_}Apg0+9p=%|*2GPR zsahf_=yP?;kZfFR{meGq@X$brWvEn?NZzI!~R?hi^r^APTimlJ$v1syUrsTGg_4gU=9 zFA=19=|2bc{^q`5!*#tRbg1huIC%pV#4v5)&qn}AiIp4GO6gU}T(^RWWV#Ov%mzDV zK1p(Z-4M}!1va#aEuN%+28kIxY>F~_eW&#nfFm%yGT!k98Uv2^bn|{4kmaH8X%{i? znd;(=8&P81LQPR=Z#1DEy8)?otlgiL+-VEyL3|>Fj=Y(`BKGi=gkdg zpky8~&*eAF&V1oWxUJaxvrtzxIsjUA^>@hOJLLBlV4h#Ax>3ch`09pNEj5(4E0ga< z6HHbm8t+WkEinF(b`5a@`w^Hw)iM)S_#?tj&Y?8HC;yz2<2}q-Z83JyFFW(+OZ*kJ z*?**%{K_mopseqNQqDD!pBUF4d?Vq1Ca{;HZMl*euaFtuen(Clc??V+(N*Jeh`iom z*o-6?msM)6<2rap2;)Y490zhzDXzO?&1W4P<)zH9SDT%mOU7iTO&lkb8LaCn>}`&= zCpW#;TmVOEmbw{#ruFuvw?a_tYAZF%XII7Tz-{DJ@R-@ci^vp|v}04e;=DmXwCgw% z1NOsPwU#y(JLVsT^L15ZD((&pbetjh+0SVEmbuWm7OwDqyU##hvcg8~;WgYHs*m8c z0XrHCq7C(mG0jI&( zyzh62@1;b>W3%3i5DgO@Uz(Ca8RQ_{c`flZ)wf$j6wKUyGY1rb#|mGVWP~1y-$|_8AggCl<5lj9 zDR;N9k_W>6nj3S~Y~^5~8OF)r0tFgASAVFJd&(19o*Iz*ra=q)0QsFM!oxHtU@$%9 zl}D_U9PDBfM3vUe=)807jDUO}73d*Ui4GjQ{wQFoY}%ob;kz|A!;xc)oYWOs_<_9j`4;dc^Rz!T2kW% zAiHZd?kr@0Hs0ia@7BS*aTS(%4mq(?_7^(51m8vdwk0u`$h zkF79tkkhK#F%JCks_@Qa`gTJJq>a~A1rUPp`k7C576ouq8Zkz2;{L03I8U;WAL`Q* z#&|6TZQ5US=1xxYIh%z~x{A;cW0=OGJbE(#8AxPhX1@TMhg z%d&S5TVEnO#t|37f{`Xnmhz;bmf_M3n)$HK11=AMsUhQ6WuH647bCUOEz`E6hhC~2 zai%cnc#hw~6DP%jsuY%5Z6zmF(SV}$%5UD_`LGBS*1}QoV^kIZ!q+7}=lyR!jAG|2 zdKi36SM4?elh%f3bhheDW3ZX3%N93bo&N6Pb^9>1lZ z8xKbhJ9-aRBgZX1A*SC~jn=f8gGz+Py*i!r&8tn*O0w7uTIKGn(%+hOf}=rv98c$T zwvqe4X~xJudz3%yL{O&4xPoo!0nY1@Rd&$FH6X9e{Q39)4(gIs40qF;Zc$c`xa@zL zuYZyRxc`7|`Gqo=EfRCxC-)glU_g3IY^o=T{glth=&GtAQ#CGBL9YRO3rGvEF;l4NkT1Sh7EZ z;(<#81?1Vm>F2stJX8< z%(>o8l9fQc3x(=)2FeK1SrSa!e#2+nuh?~H_qz>D9)CX*G*tzwVQ7~Yg|hDgP<9V;j6nwh82~48c%xIZ{I`g;Cr+i znRB{p-Q;VORhm&M!Fls3lb#?2_ABmN)W@eOZT9qA0_{$HlBas-`k}+SLTef=aI5Kw zEYLo=7~ zCpmYkcW+;Rp-2E0JC)`{cWgUv%UD~{4_QCN^W?U35h`lQM?h1`M4)Hc-qFeMSxC)Vu#w->&8`&SuGhV=2J8%BX8l;XF$#vs zW^+XAnbbDf^C-5%AoxCsy(J;vDuQ0I;wDvST-w)bE1mxKn4f5(ZTkXuw;tV4n1kEp zTdAYc&hJYyffavBQlod$P(sk|#ad3pJi(IXlcnrD^dyPfwi`$+??uujDHOR%m9r#9 z(PyCSS8H@-CZg@K@Ne6tOiB3ca$ci=k3Fa~Irnwk*oF*Wk8M^*D8sZqTzQFRSZ;Ph zJ=+z7>yV#o@8tv0myj?tlEgpKde#PbuQG*=4p}IjWd(X9mx1J78~CO}5MkLSu+Q?F zVmlY!ZUosB9yl5si7w(V_SCVn$xnzZ_al!Px}6N0K5Ws^{0iyE*wLZ5a<|0q_SU#) zQSgbNe@FQTk9IiEmRS~v0`J3x{Hfu%gsX^SUSJ28&(&L7%5o=4i5PLkCqY+o_jnm2 zddni%_eM}(M)$#Ll@hjJWZ%wpKZ9IYkNq6|jjhmcydK+O6GGD>J_GT-|D|M-P* zCVxpctR{1!>Qmz(`}z!vPspa}x_(3R`Q!mAdy;zIz|g-k^SPd&N%@lZ@2ALI|bt}p|!vxYw&8nb)GE(W=;g%af=<_Ds;yvC@Y`v~{`)cZN>E2|W6 zJs@AyOV*bf6F=c<ruH*|MideZ>|RRfrW#>s7_CqSu~e zH-cec)ljD0FDoBtn#w^vMPJ#IZK4hexS7|2C19B)Br{0Nvy_S=0QOrzo$mKfNjL7{AD91g_R5cXmS<%((t+b5ENN z8GY3Ri;{hQI9Aj!;3M&r{=)EMD(s;|#@gtFXNi!K77J)+6y!$Zp{ByH8r?rvyglh= zuHNOtmbt|0nAiSsL+&`iS*upVb{e$eT;N#lG|G}N+?2SLb zbOF)V``{CIot&V+b9+rsdcb9di18L1l*^@KUIM)NpF!z_2sbj@AIf?9*#5`1UQPT0 zBEZJ1Jv+RVqWvFeK2Lj3KGgt3pr#F^kn|%oyZ)CJHtQ`iI_$yC(tr?*i27Gr1D~q5 zZO^acm}p68%Y41$epM}ZI4LhfbHfybs7tM(5&@`Ap_+CA=*R%LGC)ELd5U%o$`8`D zBW4rBY7Gt=b+Jq=>%0il)D656E%tVcP5PvP5jLh9SSfC~DqmTa?Huog_oiBEC3H05 z8n4Lh4vw=>ktWIAt4v*IZXr|dYdD0-o58YouV2^ze)UZKF%|1zWB7xbBf^iF!j`*p z@GjAS14GwXR5~{mEq;NPDXduWbSb>IG*`YI)R1sG7$N-hYqww-1RE&Y^lqA`#=nvD zb*EisOVM$&TbG~<2=}Gc#p>a*9z&UgE?XA%Rq$Z3^T2XZ_Lu6jPxyA$s zp5};Z>=9{{A~9XY+S1(K4sMZlq&r`K*aq;s+6*1KtUJe)%#AXPN#J=# zItzjt0CJWF>=65%mWuo!v6~E~9I3Twzg#L7#abzm`ja4*J7Dy28zEAB`*Xgk$O1}P zc>J8_3k31&T_WcmZG}jgn?vFm+(r_++2CJ!$gbUH#ORoUI0;O;iaKvTSs zBm*ux9%9!#0lIG{hh8q%-E8E*KC$Ry($=wXXj$(-*brFfOpqg$h-yHSF;Xa2)(TFSHXsleRMlO$F;Xuso$ZHP zmd729tS)e-EwHMKB>Al!=4khJvc(oSPD+NvXEjDBy=;Ywszh;+FZHIb-@l3L(?Sgx zA>cP|4k&IaZ#6Dokh9@q(^JOA_qf%gpi(rHxlw)6MD~bV8;c}QvB>P{miOF|R#<78 z-K^g&bwkz<%b~-f!$aRM`QH51pq-}w6p^$;`x3`R&q&|QY5eyTzI^zSEiys&!f5Lc zs?#GOh7GIMn13=`i;POCjHWb37kr_Tw=okVplfIUHuU;;f~YUqODt>_kl|`R!PS`un`k! z@>3pYGXB=PX>%0UoUklcuIS{v)0FvnY^O01&+2#}vica_>A@P_5N~m6OjogZYGy6x z53v3lRXIxX2N0=l$qlll{gaaU_;UD(qTFVhf^WGtp|uvDW~)%6jHYAQ8SQ6U<$1dH zqYjM5d?%iC^k61~uBX{R@rM792L>&tBd+9V%*7sT@ zoF?7g-?F$xId<|Uc~DkJpj=vMe_d=-uYlc2j!nsWAw$n`B>fs{4lFyIja_5u!J)wz zES1`JkngL4RZ4g^Br`1F{`QQax*)3wn;p zhqHY|P#ExvlXg9jjFEEdFEI3X!U8nL z4E?3~cum>Qs?F7u%8&p(0K`b>%nRK6lNfdC*x>GTxHT&nxFT zX*uPePb2WSV#m{Hf8O;IlN~rU^G-*!_n&y2d4>5O9)H8E_dKpz1i#?$WTjc@!vDfN zn}27n7_inzHT|dUfDX@tzI-qu!H1WAdVyp}XvQt$YZr%@Q9{NYLg(P;#vp~bmvvJw zsnqV45s6z35*LjQ;i-fU?q2D9T0yg6c!^d;l1zSKS4yEZl71i{e>@%S(M(9`N1qXm zgqFwxwHCY^!Ur{ zg#7Nsrt3EL>L!ohEc6f-wCi=X$;Z#w%!jtY5x)NQ)2i<_C$OGi&?;X{AMQ-bz9h(S z%w$+g0+~bf7hau>FI^4e2pf&Wat#?&V|Fbb95fuZO#j($i#6YvPt9Yw@pNFpa+Yg$ zJUg4)n8V_mQgwUfh}%Ql3Z38=Zq+in(&L_?A2~KNYVfVtfA+iw>bE)_34ny6MAIU; zTJZ?ZiORFu{KiP3RspXR_-HN|==H}Q7C+UQl04omIMfaNIOy%{CWOI_HquBG$!6eI z%llm?O6UKTuk8(pqP@s_n5??OyS)M^*1FYyHf1V!1FIa(O}4-~D`(XzD_T;eW%Ebl zg=714$zli9`@p?CX?#Dd6gfJY>D~OR?Y4=pWHbVfeEwZUGNku^mk_E&bAaNxIUx%A zSeVmS=f-!%LJ^m14>h5oSSmd7pMSMhe{P$BzHvuwwhuu-y_ZyF%qXtQkg_^Rf-Ke)x??n<4s(6}wREYMCWUnzPI~S(~szBUHEvXKQE{WK(x^fzju^s!^cn9 zJb(AHKyjRVB~>CXj~cDzVflX#7~iL7;2D)${6FLgI?;_dyWRrDoJ!CW$QSWU8&MqYlsB)KC5-gF=&!XDJu@3ovc zPCddb|5aUBy{|33R+YI23Ubb- z1(8zz0z1&RzAJ8S7I_nY+Wq96rv6dW=!Ubv@ob>-0iAn%xUlu^T07lmdFlU=_0>^T zw@tK2hain~gLHQZC`fmAceiv%htl2M-5g3lx;b=69O=$O+=K7?-S1oX{tIi#TF&#E z*)y~E9^G6!icBuNJLTmc-Uf9}1>BOUaTcZoo6jqL<6~a)L+*pf?Ih33_YpmzF`Nyd zD0VEo*BgZ7o{w#fUrhpXL4qu+*Uc`YG@YM))-n!fGiN)ks5w>skabOwGz4+Qlzu#t zG?W$fwe`=cOv^0?k*TWGccxjGtvsS%eWsgd_wsyf-pafjjQGlIeA`tCWZAw~JbxSH zsQAa|U!fE67S|W4nbO){I~o6fkjSineH3{>(g9J-EKl@Tnp5BTx0%(2=MxsD#Cz@6 z2yGX=ui1@z8}b=K&U7NOAX)T!2H#h0WJ$lCr0Qe)s9XbQ)SDW;=;JGth}HgNQ&Gmf z7kHS4bJXDbi4m$rqy@TKfg*~ReAL0=n-y*I!_z9qlfnLgg~mi0;%Gp_Jb8U+AS-!H zqbBAQomOn~SH;GmBRU%$+$>1Ev`4ptx%i$^B3dI)2~rw zTLJZtMife<##WR|Y}1ZgNoc>4b~v#_5~*2Dwrnrca(rRBTM51QmNuen_(mLDj?ZA` z@~4vTXXMMmAm+Srhup7%bM-1dbp3b7MD$2W@*qCY%%<@Q8X@&TBCpz{)W$mzb2&_- z-H<2x)XS5lry4HU#X^w*7d=W@ze^wkC$^=9V{7tsNt2$Xz7xW&9sLnEve6TA_B)(i zNY@+`0~8o=>rVNHXn=N0Kvm3Rl$S@f>a*Q$@LxqkpVRAM;@U~YWw*by+|Rkop4bmw z&vmX9O2H_9I=5T$X1EZC2-$HeAIBysw9y+HAT4^o#QhkSC)+Ple8eaTi1*WW>t)Z) zC1H)o6%L(0Z41> zNgcB`t+zGl+e(C6PJak>jF++gx@Vy=U_hO8K7#Wbshhg!dXdlDA#B5y zy0+dJlhjWsye6lh*&npry9A*FP}6ymsaPLAdE6B8Lf@OgXTc570|T(MEFX}4;MCQEXRfv{4P!}4N5_p>;^_|Ep0H*cxF6o* z>K15G`|Z1t_7P$_$4l~0dQ4|P-N##RA5{^+BDGaM5xTe4ui){Dh7ycGU2LNOWxO_lk6_<=uDEd;64Z=QavZh z(%b@f6&XC!=jXVri``MDWXozPowaf$TwQzoa5U-wG{-Vix&PBSOSS9k^EE?m;SyAG z;3~*XSUWsmpD~CuNe&rX-}IUz;7rhgvxJCk49{pn&H!h_0hjPuHfhj(r=3gv-S0p~ zi~7FZ;}`_!R}W?o)S#kI^zXe}{&X93Dmzt8*FlBAk!=dYD}GXva6Q9mz35(Wgd8C2bpeuu;D z@>el^a2hK!mG7hx5#9Z1Xdv$?d_0n@7i*27a}SU>Hm&;QtA5*)8kyOY8QX-yW>>clp5B*mB~3~PnOLn) zcic3=5>U7Mo^zxJ1w1s0be0BvX+sMnrScJ%MFVZ0n!vV#BtR?MPPr+T4LlKMfE`QU zik&T~iHB{DBB-T_x+}p@|FbQ$W$CZhkB<$lGzCrf$l24Z_T@hI9de}YlA62)dh#1?!NX*r~c$|h=e%rgr?V4 zy5Ds{Tla_gZlu1`Uhz`tL&2}v#)k|p=yJMlNR9qYhhhGx%CC$}BBAyhqW}6dglxw` z`T-+SDgA2<#J+q8NX%`&^X5hTaIYr|?7RMQ+CeH4=Yxn4_!`1rM>;IbN;v9 z5{ywa`6TRPKe4bW6Mop^x*3CzRIR;j3U|Nv*mOg|x9Y_k3_rCzSdvxuULHPtF%9<5 z!(E*_l833~mmt_?Uh9;yn_YmfF@c^7yWF46)FKYHyJ7SW=gkq~uu%V&=$ScCAS=`=47pl{ho4judqDfsV}j;cB477r5bEJgcw-XGok0uSB6RsWE}}X zasqa2w08TE5*+f{`;un+cTJjxfW#xtwRsK8Uk?-fLI$G0Wc;Z75|T*a2eHfiPJuEsoqVhEP=lf>ZK+Iwsue7Aqj-p{_W- z%`>!Z`A|_$eW6aZNm!P|(XH9pf>5n8**O(i3+t@Yd0hjMLlVbnnc7R6Y5;tiWX>o= zTclvcDUEIPP>%I=WBJY*%5On+T*qE8qJ3sr18)bN!}d3C;TZZOnS|Qn zr1DWyo_7pq^2;O z%B-6|dbG_4&4%6{p_aDWXJeaJFqcTAEO6z~2y=pCX zpUktdM$eM}>^RJY@@EFd-Z<>~;_tG(YP`#!2p}IMK~5Lsd;NRKn79fu#L~N$N5_rq zl=}JK{0N)(s_L#)_=zWs2oXO(+-r#E&ybF26Cc*Sh8!S#Cv5t%E{Gx~s#K)MZ_5A6 zO!c?^p*xP8zNoy*&=!b65Zo^u&#?^Q~>3YY&q7uPy@`2ZsDTDM5!eI8jcCN`pg-7uOM#*ix zxd6)!58U z60R)E>nK3WJ6cx+_#m3V(a7~VX(Dg&Pn36qPDEEN7=a0eY(k11iRtRNa^+e~00GhE zlsfs@_f)gMp_BCp@@K%xr!u#7P)IVod#p9RlMKVn}fRO^g_N z!K&YB7!gq-(hB~k%|80ur@ezru{EhKYW$5iW~*mk$ww180c4%;ODo-9gx+ndixu0j zd!h6h86W06vFpFRkc98cXTzSo=JHy*q4rCD9Tvj|{@StN73Fn=px2NjFPN@I++q;i zj1B(VJ-A6n!i@4gGr}B2oXFxU{_^f^G+wMgmZalun{i5t^FqJVTe?n9(o`gE6El5<5 zCeYagH@jO-o?|kRDr`@Xt}AxL1$>y;Q5U;-We860XqL|5mIUoQXk_r*@ybE##cN(d zT_?<5w_-QTWfjQNx(b2_w!}_8PdwEhbJE#AXO`M!jHr)~Lwm#$Tnm=&?XeS*Q>bN_ z`5-w;7o&_i@R-BfaOax;8JTWUwI^cGYqAffnIF#}TZV_D-?vNHfxe8fPT8y`pS_0Q zNXQEMUqC|i8ZOtugG;*w8@t_7$HIovt|hXei*ax&D_Ll@)Aj^3L)BgVt^OJ8TAd z^QbS2>P?6zEA{%Y{$u4Qk}gLys8RY~r&m!XuH^7r8C%~4w)HiiN^@tNe$jO(vf!hH zvP-~sTDz&BdqYgKwKT^%x9=i6KbjJFV=`e@Gg^M4v-?m6O`Zm4=@HE<6;r$6M&~hp zrwC3M4w>C+t@J3eQCi6$^XV?tW2c{@lvD8_`IwEz)F9<4@BUcXBL}{lnOjDA5-mG4 z?_BljA>c4}Say`MF^VLKF%j}}dojLHor?&$5{ko_WYd_?UZLXE*&~pP%u*Izu?Mt0 zdtHWb;pS$C33tT~<~c`rWPSyKG|{^)gwVD!uP{Q#x##>`-m0AzWaZHi>8wbujg|2Q zE39aur=kV%A@E3+SEQVam1;%I@0n|AOs^XDv(^MbxvbbRFt-Q@u)0^+uCdRuw`yzuMpEiwfLp zKe&Ymzj|cSMu!3~6XY^i=+75UBYRjN*>cez>$7r^BsyC5@b{d)!cu-z+gL?edwf*R zYI06*(YeSHN9v+BPG_|Xrz^oSmltKWj>mH#ID?Co$dgqTT2B{(4DXOKvt|SR&1!8c8>#g3 zn`P=%K7X++R$Mw3Hy$YubykljGAUU}w=x^deTe&EC6C=_itf_{XW*d25X~D+acJKm zkZCquT{W__UB9nnQN7lc2hCe~CKr`M=|oIP!*)YTDMMJpSvb_9u1)5M ziEJY)Vz?M9stYUY6MSyp2|{UGYjzdzWAh!9swS3uyt1*sU94>VZn>&p<| zYpV{;9(}WM$$FE1_b3!T&_hOqd1V9^zfyUd@=N~1~UG<7SH56oVb^3yX_iTu`Na#(j){Pd?s z1NVb>QzSe%;a81Js$h--${3i4=Q^yHs&JCT0C$Sc>LH=`DvKfYGuI^_T)fv$h#sAM ztZZBT)F*U5PJYgIS+a4ED8&M<-v3lGY^h{NaH@?`)zU9Z;B}I)rN9iH#_p{$-Ghyi{wF&Eip2vXCEH)ZCu#|L2iPfM} zG&mb;PRiX3&Vkc111j^Hl44feDm!6$^~a}XyX?zr?CIt?cUA?^Y1Tcs^tvrWVf_61 z1hs_6yfb!&7_m=OSr|b1k4pQGC4{7aIh*15W$~fBQuJRI3aqH*EA_T@fC}UX9pw0( zC~-giEpWI(7;?r}=HZ<`l#+iy7Zny{?H0cHeEMtyIf(FkAinG14dmb6mIJbwF_R)p z*rj;xuu17-K{6;ozKX?b3RRAgytc_;UkFbDgf!srtbo7uHRCn431Q~CC5-H;Og!FD zbxH&(ZluCfwD`J^Vb1#!G6kyXObc^<{2s15o^;ZzU5QsqXcEYy?pc?qJpLhX4EfHr zws}8b7SP8wtCkgFK1zt->twgwSVxl_+pp+Oh$0P+2kASDL)JRE%U#Ei4Hg_hu7!dfy=>gw=kXWrbq~*{c zixm$M1RzZ!%=w_)Bt<#tGA6sRc!5DJ`Za^0smfN&fETFj67BeWZ!$Mj=Cf~iyeGR8 zO~|Z=Hj>oQ?0aF3z2b-6DaopSe2=oY9a4-eBK&-}KsBAnUE;zN843E~Ynj3BNgOOX zdKT3DV<^tRvggb%_-uVzgGC(T;`Nob=0784NfT7%?GlKD^-Yokcg_Deq(Q$5?pp^+ zn|MB=qeU*ec0GT%$+!xP`>Ss23K_9^2eDMR!IYlC4e9S$5P6|Zh1?(L#D@3)K~CsW zL3FN8BU^TV?_+%5$$Vs_MMRi*Ff)|@bIU1a0q#&Fa?`12-JWeBa8d_?xkCd-A^>s` zwl7|q(iw;`NageLIEXdtJ|D}>j$!#&0>CbLEK(r~dTmzgB;{()>50~Q+P&@hg;i!4?LU+OhKAlMw*K%?F4 z?Iv3|;nMfnvp?z7Y$6mqc-2|W=93{Kk%uGcW=Ehcw|QIX+MN5jwsH~{KToXSW+`VW z%%(B&Ex}zE<&nM1c$batqK-s^1_n!-7Tz-(!_u;+B zzfB)x;EdQu^tbTIzVf;HL|>Pr4>cQ}WW|R&**Ox-Hwn#f0kLjt^4ndC>5MvrhpFr-d_auoPk|F62BAiMnrXTK1 z>p@AE)}vgrvnO3nOqg*^NHmv&lk?6?wG(-V`lftd-Gn2zN;TmVsJTp+Jp-q{i2=c0 zMzue5PRm4`=|ex#wmMNwQ0)Cx3k@41ujDc*H(!ip}W@Hsg-!9}XpjH{<;& zV>AbtEA~1D(iz|E9Hv+)9&GvD5_%&KtqkPNx( z?W_@a%dK4ID+7QA*$BxCClyz517`fO#SVOkr9X7`c;L;B=(|1ifU}B7KLI&9Bz4~8 zRsiO_{Ex2i(dIh^M+F%Xbbf`uA#Q%vL)Sl%{d?y1Zxp2)Z*r-gkrBks$Ni&`(yGH0 zHp#x6zVO0ssk1|@E(}?6VUO?Tv>=G{_iUg+`F?u1g0$7wt*PWe=s5sZYsdOHOcb4U- zlv}w}N``{uwgnD3uZjFy20dr3Y&>-$cZxbW(F)zAQ+GZ`+|vD4?b8DUQ6$UjYp3lk znXfKdHhRv|_@oL;@oRJX`y(M0ZJeAA+GNuL_41K4M$v=gNC(_Wm3+7SQe(HXorSRc zU^w)x+!F7IUs97P zyzTQh@jS=u%+V6f({~nK$ zG()9_9HkF?)AXc9mE#?D|M}&A@38W|+Utyl!$X<@Fj9%G|GD@coIp{Av0zV%A_`h|#a0P=u{>gk{e4IEKRzGUlH~)d-xy0LZ zuXiF!!4$EEV~x7p`N2oZv`N4&7IvApKEmqiMYu@Lib36l9}gcY`b>_Z3h!y(QCB^U zr>0@*;5e!Wv8NeELwE`07o(*>hUn3N=X_x?{@RAE$uh@e!hT}+C6b=f_nv_n$JInA z3n#w!9r+*beN$KWCIIqpwFVap|a&GWUC0Em_-}XWsI~56$(ogTS;muJ+c#b6Of{{-B z3L=0%-q(B!4wD5EzTAVRy(UMez&b3FKFuo+`mYN>K?sE`mg~za`<94c%ty}e)UEX7 zQD^G*IrE-)K(DIiuiTLGui1#B?kjGd`uxN~4~I#g*JYkz(ze4VQWRtDgCPJZ zD$q}OBFB$t2A2IFydHTr=W2X`x&plh5EE}{1SI>)zKVrs5|-6Lc}sJnfQ{g?ki!)b3BZT{yEcTxH?cpmhh=&o}V}H-p}|jps zaLKA_10@1kzl~+{bg&!%Lbr7$liK+DNs#e?CBe=2SJnw|X*A{P{)crj%f;c5F*Few z0!17sx!l&8mts3JbLlpxa?o>l%wbiwZJq)K(#&mgD$^4zyAO7=aCX``SsXhR5vx`Q zQ=Pf#%3HSdP5@}>Mih_=ufwC`H{crWpKtq)Rp-~>N`p``BJSdxdlHcuVAe-am&cil zYcs=ZEFaSKUQS6x5wXIaMnME3K548U#T)opD=5_ z>7Y{UfHoe79(}%t+9)`01;@KH9TA$Azlww*UNUl>nz7~N;=GyPx4v5LT~@J|53+B3 z(}^aDfh?*{YzF+6E;ipml?Rr?<)vqweIYpt@KSZJI3nF|B zKWRnTmlQD)QJw5okkPdluIffRd1aEHU%8Zhpua!Md-^#m>S$Hm()$WXDaWF<5uUa@1ZA`?wwcAlk%z);@&L+ z=9=yWSw@$sHqi!=Jer=wxOU6-eRWG}mu7$sf+eh+>ys(jXyaIo3OK2FtuJQtm<>8B z0tL`XC&e6BR*n#|q8;S+aY%N@-ZF8U0 zXWo$(((8GV=XzPkL9=)X6IUaIHvW>&%yF`UC{6qP*q>}!FZ{pj!?_Z8ttCx@)?@xs<>$fHsOA1|o<_@nOg&_0u zkm&MRk*9aI&477{`MW}@KgixF;~N(TE`lB<2KV{*OFI!Ms^30BmFVGR)IdILu(YS$p5UB9EF|(V-{?(#xz4xd z0tO*3yK6a9$x~t{>*=^D6G5hjzilwj&zl$m^-}WS(^q-tiN47qEF-ogF7C=GG<+dW zB|PHr1%1-ROt$KN@Tq9;UQdLgy^DW;G^z@|`IXyK)ZD~`s#mhicfROQ5;U;~;N-E5 zPv;@NW1pAi+Wq>yP{dVQ0TmVxE7(DBOrHo0elDVn-*4SnX=|t>?deX^!Isi4CC6N?0O)tMv zj9LnM`h@ik_e|6>w14F&IvHjwm|jYR6j!!8tG}0qj}H3O{-M4&@K=UZqJm`u*oNo! zjh+K3O>^1upWFlR&}4zReyLtWz!sOynoCHVL52T|L*BSJdMxx;P0oLkw;rihFs=)# z@&HXf?F+u~C3;9fzywdm-z&B|)qf4xk@}oILN+aAtDK3|x<02Ki%^WKUl(}v zy`iICnII5e0iY{!&SoAfA*Qw)GK8Y=-$TNl6r3=hf8s1Jf1b`fy@!xM_B8+@GtpHf zQTrYu5W>N4i}cC9b!D{OcT^A^TyA6E#Hesw>kCmx0m_q+&aK@$a)>1#1hgL^e0^ds zZb)MyuJTARx+!Wo{8{ty>IS;eS8iC7T1;-$PhAIwfDNaXPE+EMsVnzz&NySI$a+hY z?>zgA&RkI#pFs>C@d$9LRuV{4xKw-tBY-YGQc|-kbWF=v^jqMTd*I}+u&1Uv_VkF66JaO7#1=v0l|;oErF&gC+jPFnp9ZIFz}-`?Vq{_Kv2FHiqvslXNh zz|U9p1CcQ@&kscW1IinFAjDK(`16PEu=WSOPk1l1+yJCLCDE812;Ju&-VbJoNyIA| z85fgS6zkwfK{)hxMmMr(sw8BI796BpV^Dei@PP(O1^W0;!wYhQWOsd`fCGK`$`d3w>758U}*R}tA6$1)iI2>1)~=kWVZ;PY6%tv6gP z8{;}oC|W2)_Yf%7v)McY4v|h8NOHqdSqc3(a6*p77*NMG#ezE};e!zu&|=~^zEeJE zHf?7b9j6KXg|9)cHfg~9CQ(kBH02}hwrtjegaqvJ0?qWjQ(ZCo8MmMCS*rxMSGBJY zj!5}PhVn8EPPaov$b)P2#mjYEz;y+WT_a?eG1y?>g*i+t^v~kWQgk7=bXDx8sM~rW zrzAI$39(OUZ^q*p(R!cxzpFW3^;gP}J@pbnEap8>gdAe1p8kDbd#2jpy)+9;j*jH{ z7?$o$x@_uKLG~JtJMVde->`e7B8F^2!e$}u5R(W`Ki=yHyLV3cYjUUFKQRL;7*cA_ zhYdD&3`BVkAUh;p>%@W;#a$T)qiEp=WHnSs+x=$iPEo%L0{TOqsJMUou%$s{Y9=d1 z(LZ=s_T4cc^9GL&A!ZGtA*2#}C+QTtutO>y4d#`I9quwa;eqmLph=3~=Vb?-R0mmP zeMOo_k4(UBG`jHpm^hNP?!kNRt|)i1wl*s9p30Az_g7pQ?M2Yy;=eIFeeyG!X$OYN zWE8;wSYzH6jKtyQr|E@F$kOa4-jFa~O26S4e8tuH$uj3-@ttQ<6z*lwpf6$5kA75p zJNxjgHt1t2esAAjnYr#+DcxvWAi4UqJ(q||VgS%taVo+vdJVm>i7V zwT)yW#=c)mBZ0Mr{^3|e{Ci!zhGm#K8g!xtJDqer6h12#nHA?WD#j;|g41I_i@k5A zi}M879FXQ!ZqH-yu@TpYDNt3 zDt^!9PilzTNAO8Ac+U)#UBF`4wo43(5k{}&Gi9ZyW-y`+`T`kLGRpg!H@qKZJ)EL} z_Taa2`uCrq4SCw*{L*_EZ6UTVPuyx5EGqMYmy=3fTVTtJs#_(Y)sC%{abOmLywa)f zX~}wj98;#2r-X}dfxvIC*I3EEGX)9?A$Z?@dgQ5F z!F`t)di1l?&~LS;kIP(8mva7&-^PSCXoHwa^qrOtzOv^{C)v>xDtQ)I!@9`-whoy( zv5sr+BEiWLlSO2xr~nYLmq~s6c9>{bG;AU25CdHkUK6jFtlV?a$ossSqJmbGdZ>z- z{%tq^i*a}4^yeS4h;2QS`DcX~qa6%g=Fxx@Yg^Vl2S&`H9S(a9SSL9!yE0lP`}F!Z zn5CI1BTIh#`$~1iULpsn#=Kx9ZG9sONq#n(z z%|^<-LeJ$L-f(Mfna%VjI=DJtWWZ^zV{Rb!QgT`h{X_xp;fEjEBR0?q(2(f{ zBM9L_4A_Mlw1Mi$F6GgufpUkj0@_i{KU{C*UW{)PKOEPL`K-4ccBp197ET*Hl9nwm zW?<9{-nI+QX|DS2D6tXTZrmoY8XM9*W?3BO79XZ6PJVC|N6+&_^7OH+6u+b$tBwN5Y&~Vb5m_r8D(A&^)_?YjbLEa_6ym>4e01;2rZA|7!F)TMj zX}JEE4*k_zidKb#-;x+JW18hv);WsuH!Li&aqbFwJ1%5_!__RTi z^3H)IzE;f=+((}diX5$2x8mofL&`eq5DMx0x1)zhFq!x&5fxx z>u2Miaba)CW=5@+R(pZeRFnIy#+bw@=%)`h!{A#mLvQ9sCuUb$H(3Bfe}FCKRu&7W z>hjc=P$GVo>Ww^zExI?Xs;E(9JvYMd-Xi^u1}IE5q?S}LZ5hVRVo(e|eeq-CDh(t{ zXA|?cv(z~)V--4Y-=p(5F~NIDxA%c%@MuiV=aBVDlF8re1&irq;E` z6BTNaa9akp#~!;xSR%lO{*mW}TJ2@`(ii~1H8=an5cl$8@}#tUcT{4jm6qw91qB5~q(GA)@&zj3>01ojT8BaL39-MZA)l82 zL)tfRJvEf!Gaa)5W*snHY;JRT$o_{(UE56`H%gNp?q{1EbM?9OnZ4P?gRN9|f;v~n z{d&9*83&45JsG&D#kK6jHeshjq=VZBia}>-q7+VZte~xsW{FC(Z82&yK$q;qOmiJ` zI^rjaZRUzKCeyOC0=U!wi7kH?>6^U+v%Xp3ZWqCFLk#n9dU=(a<1cuTCPG~_ zm{Ykq;l}T=`DrDPXwCXuRHx$9^11Mti`(bvsO2u^JGVtAsEY$)Qxz{hwV7U=`7YeH zO_SlX@sle}=IF%0a~IAJFGeQ5Edho5PRbJKpVb6!I&iWw6+L_|kf85i2J;;IZ}{F0 z+Uy2D+P3e=%a~sJ&OK(U$d{T3tm|UFg_%acJSh+yjvFd0v&*EhZ16JlBnj&$mkXt2 z^GO`H*v`t@`)H7zpiMP)93&R_Z|^g{*ohvE4&uo2sJ&0%d+W#!8E$Te3H=Wu{UTiV=%d9|r0M9y6ww*>T3rX%ee(taj_`)pguyy8V;=mAr2-zsD1G zjQ+jh<><~etp+gIPO5irXapfg_bUu{iT+BHTN)lzk8vbVt}vay<$l(I26ZW4*F@e|8~%&&1Q?ThSQ)qDtpC0S1$Rxr zRO`yjjwif2zI-4Q1~-K7zTBDO7f;87D${ye3l|0R=~pu_gVx4#mPg-B)Nc&_ivSHSTrLC-R1kn=kH!tdAsbJ;b0 z7XVt?Ubb?99Jw#+1xJran2*1QNA;AS5%T+*ULTVUE5C);m(xeU$z!AFk5bH2E9gq& zAF%<+C$B$+?U{MA%>`wsP}{apos<6+{Ps<*D=C!7Xj(-#(r|tE) zA@ksNzYy$NQ2HiA#;Rf1P)p0}!ipgC8Jdam%Owmje;t2{qW9MOc1zOgVq60$U|Zg6 z_f0u1Eh1E{f9lE2OnNn#)F-}Ol7pl+=Fx(Ewxw?XK`&n!AoX3=y>=kA7cLdcElh-|nuTB*Xyd*()GEq`OeAx#|`)V{<` zpvuX*60^8*<)J*{D}*0o$)1fac@)t_@gD!qCBFV5&$gLB+taVYP#Njcq3E$=k?!YQ z-_sWT?@k$@>*wJsm-i#_E42oTDLGMR*&^F~7PB!%m*Y1y$Fz@dB9G7Td�PT(7`3 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 I$@Inl1K@(WVE_OC literal 0 HcmV?d00001 From e5ae004a290f06ed04297268ce33a21d9226eea3 Mon Sep 17 00:00:00 2001 From: nikolay Date: Tue, 27 Jun 2023 16:01:12 +0400 Subject: [PATCH 35/41] =?UTF-8?q?dev=20#14384=20=D0=9F=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=BA=D0=B0=20=D0=BE=D1=88=D0=B8=D0=B1=D0=BE=D0=BA=20=D0=BE?= =?UTF-8?q?=D1=82=D0=BE=D0=B1=D1=80=D0=B0=D0=B6=D0=B5=D0=BD=D0=B8=D1=8F=20?= =?UTF-8?q?WPA=20=D0=9A=D0=BE=D1=84=D0=B5=D0=9B=D0=B0=D0=B9=D0=BA:=20show?= =?UTF-8?q?=20only=20one=20message=20at=20a=20time=20and=20fix=20header?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../app/directives/download-app.directive.ts | 2 + .../ref-system/ref-system.component.ts | 4 +- .../src/app/pages/login/login.component.ts | 89 ++++++++++--------- angular/src/app/pages/main/main.component.ts | 3 +- .../components/navbar/navbar.component.scss | 1 + .../pages/guest-card/guest-card.component.ts | 1 + .../pages/login/login.component.ts | 4 +- angular/src/app/services/auth.service.ts | 4 + angular/src/app/services/messaging.service.ts | 2 + 9 files changed, 62 insertions(+), 48 deletions(-) diff --git a/angular/src/app/directives/download-app.directive.ts b/angular/src/app/directives/download-app.directive.ts index 9b2d3b6..18f7b1d 100644 --- a/angular/src/app/directives/download-app.directive.ts +++ b/angular/src/app/directives/download-app.directive.ts @@ -58,6 +58,7 @@ export class DownloadAppDirective implements OnInit { @HostListener('click', ['$event']) async downloadApp(event: MouseEvent) { if (!this.deferredPrompt) { + this.messageService.clear(); this.messageService.add({ severity: 'error', summary: 'Не поддерживается в Вашем браузере!', @@ -67,6 +68,7 @@ export class DownloadAppDirective implements OnInit { this.deferredPrompt.prompt(); this.deferredPrompt.userChoice.then((res: any) => { if (res.outcome === 'accepted') { + this.messageService.clear(); this.messageService.add({ severity: 'success', summary: 'Спасибо за установку!', diff --git a/angular/src/app/pages/account/ref-system/ref-system.component.ts b/angular/src/app/pages/account/ref-system/ref-system.component.ts index 8f0ceb5..8e346ad 100644 --- a/angular/src/app/pages/account/ref-system/ref-system.component.ts +++ b/angular/src/app/pages/account/ref-system/ref-system.component.ts @@ -31,7 +31,7 @@ export class RefSystemComponent implements OnInit { true ) )).data - + this.refUrl += accountData.user_id this.loading = false } @@ -53,12 +53,14 @@ export class RefSystemComponent implements OnInit { copyUrl() { navigator.clipboard.writeText(this.refUrl) .then(() => { + this.messageService.clear(); this.messageService.add({ severity: 'custom', summary: 'Ссылка скопирована!', }); }) .catch(err => { + this.messageService.clear(); this.messageService.add({ severity: 'error', summary: 'Произошла ошибка!', diff --git a/angular/src/app/pages/login/login.component.ts b/angular/src/app/pages/login/login.component.ts index 0a60904..4676142 100644 --- a/angular/src/app/pages/login/login.component.ts +++ b/angular/src/app/pages/login/login.component.ts @@ -38,9 +38,9 @@ export class LoginComponent implements OnInit, AfterViewInit { private jsonrpc: JsonrpcService, private messageService: MessageService, private _snackBar: MatSnackBar - ) {} + ) { } - ngOnInit(): void {} + ngOnInit(): void { } ngAfterViewInit() { setTimeout(() => { @@ -72,7 +72,7 @@ export class LoginComponent implements OnInit, AfterViewInit { const nextInputIndex = index + 1; if (event.target.value.length > 1) { event.target.value = event.target.value.slice(-1); - + } if (nextInputIndex > 0 && nextInputIndex <= this.inputIds.length) { this.inputFocusEmitter.emit(`#${this.inputIds[nextInputIndex]}`); @@ -85,6 +85,7 @@ export class LoginComponent implements OnInit, AfterViewInit { const data = this.phoneForm.value; this.isShowNumber = false; if (this.timeLeft) { + this.messageService.clear(); this.messageService.add({ severity: 'custom', summary: `Отправить повторно можно через ${this.timeLeft}с`, @@ -95,29 +96,29 @@ export class LoginComponent implements OnInit, AfterViewInit { method: 'sendVerifyByPhone', params: [data.phone] }, RpcService.authService, false).subscribe({ - next: (result) => { - if (result.code !== 0) { - this._snackBar.open('Произошла ошибка! Попробуйте позже', '', { - duration: 3000 - }) - } - if (result.code === 0) { - this.timeLeft = 60; - const interval = setInterval(() => { - if(this.timeLeft > 0) { - this.timeLeft--; - } else { - clearInterval(interval); - } - },1000) - } - this.isShowNumber = false; - }, - error: (error) => { - console.error('Error: ', error); - + next: (result) => { + if (result.code !== 0) { + this._snackBar.open('Произошла ошибка! Попробуйте позже', '', { + duration: 3000 + }) } + if (result.code === 0) { + this.timeLeft = 60; + const interval = setInterval(() => { + if (this.timeLeft > 0) { + this.timeLeft--; + } else { + clearInterval(interval); + } + }, 1000) + } + this.isShowNumber = false; + }, + error: (error) => { + console.error('Error: ', error); + } + } ); setTimeout(() => { this.inputFocusEmitter.emit(`#${this.inputIds[0]}`); @@ -130,28 +131,28 @@ export class LoginComponent implements OnInit, AfterViewInit { method: 'getTokenByPhone', params: [this.phoneForm.value.phone, Object.values(data).join('')] }, RpcService.authService, false).subscribe({ - next: (result) => { - if (result.code === 0) { - this.cookiesService.setCookie('token', result?.data?.token); - this.router.navigate(['/'], { - queryParams: { - token: result?.data?.token - }, - }); - // this.phoneConfirmed.emit(null); - } else if (result.code === 230) { - this._snackBar.open('Неверный код!', '', { - duration: 3000 - }) - // this.errorConfirmCode = true; - - } - }, - error: (error) => { - console.error(error); - + next: (result) => { + if (result.code === 0) { + this.cookiesService.setCookie('token', result?.data?.token); + this.router.navigate(['/'], { + queryParams: { + token: result?.data?.token + }, + }); + // this.phoneConfirmed.emit(null); + } else if (result.code === 230) { + this._snackBar.open('Неверный код!', '', { + duration: 3000 + }) + // this.errorConfirmCode = true; + } + }, + error: (error) => { + console.error(error); + } + } ); } diff --git a/angular/src/app/pages/main/main.component.ts b/angular/src/app/pages/main/main.component.ts index 7f6270a..b05b7a8 100644 --- a/angular/src/app/pages/main/main.component.ts +++ b/angular/src/app/pages/main/main.component.ts @@ -61,12 +61,13 @@ export class MainComponent implements OnInit { const userAgent = window.navigator.userAgent.toLowerCase(); const ios = /iphone|ipod|ipad/.test(userAgent); if (ios) { + this.messageService.clear(); this.messageService.add({ severity: 'custom', summary: `Чтобы получать уведомления, добавьте карту в Apple Wallet`, life: 5000, }); - + // var permissionData = window.safari.pushNotification.permission('web.com.example.domain'); // $scope.checkRemotePermission(permissionData); } else { diff --git a/angular/src/app/presentation-options/default-option/components/navbar/navbar.component.scss b/angular/src/app/presentation-options/default-option/components/navbar/navbar.component.scss index ecc2439..51150dc 100644 --- a/angular/src/app/presentation-options/default-option/components/navbar/navbar.component.scss +++ b/angular/src/app/presentation-options/default-option/components/navbar/navbar.component.scss @@ -44,6 +44,7 @@ display: flex; align-items: center; gap: 10px; + min-width: 40px; } .menu { position: relative; diff --git a/angular/src/app/presentation-options/default-option/pages/guest-card/guest-card.component.ts b/angular/src/app/presentation-options/default-option/pages/guest-card/guest-card.component.ts index 07e4516..f864e21 100644 --- a/angular/src/app/presentation-options/default-option/pages/guest-card/guest-card.component.ts +++ b/angular/src/app/presentation-options/default-option/pages/guest-card/guest-card.component.ts @@ -42,6 +42,7 @@ export class GuestCardComponent implements OnInit { const userAgent = window.navigator.userAgent.toLowerCase(); const ios = /iphone|ipod|ipad/.test(userAgent); if (ios) { + this.messageService.clear(); this.messageService.add({ severity: 'custom', summary: `Чтобы получать уведомления, добавьте карту в Apple Wallet`, diff --git a/angular/src/app/presentation-options/default-option/pages/login/login.component.ts b/angular/src/app/presentation-options/default-option/pages/login/login.component.ts index 6e19ef2..22915b7 100644 --- a/angular/src/app/presentation-options/default-option/pages/login/login.component.ts +++ b/angular/src/app/presentation-options/default-option/pages/login/login.component.ts @@ -104,10 +104,10 @@ export class LoginComponent implements OnInit { if (this.phoneForm.invalid) { this.phoneForm.markAsTouched(); + this.messageService.clear(); this.messageService.add({ severity: 'error', - summary: 'Введите имя и телефон', - life: 5000, + summary: 'Введите имя и телефон', }); return; diff --git a/angular/src/app/services/auth.service.ts b/angular/src/app/services/auth.service.ts index 2b068d3..e5db85b 100644 --- a/angular/src/app/services/auth.service.ts +++ b/angular/src/app/services/auth.service.ts @@ -81,6 +81,7 @@ export class AuthService { } }) } else if (value && value.error && value.error.code > 1) { + this.messageService.clear(); this.messageService.add({ severity: 'error', summary: 'Произошла ошибка! Попробуйте позже', @@ -110,6 +111,7 @@ export class AuthService { sendVerifyByPhone(phone: string) { if (this.timeLeft) { + this.messageService.clear(); this.messageService.add({ severity: 'custom', summary: `Отправить повторно можно через ${this.timeLeft}с`, @@ -130,6 +132,7 @@ export class AuthService { .subscribe({ next: (result) => { if (result.code !== 0) { + this.messageService.clear(); this.messageService.add({ severity: 'error', summary: 'Произошла ошибка! Попробуйте позже', @@ -192,6 +195,7 @@ export class AuthService { }, }) } else if (result.code === 230) { + this.messageService.clear(); this.messageService.add({ severity: 'error', summary: 'Неверный код!', diff --git a/angular/src/app/services/messaging.service.ts b/angular/src/app/services/messaging.service.ts index be242a6..d05ea0d 100644 --- a/angular/src/app/services/messaging.service.ts +++ b/angular/src/app/services/messaging.service.ts @@ -50,6 +50,7 @@ export class MessagingService { ) .subscribe({ next: () => { + this.messageService.clear(); this.messageService.add({ severity: 'custom', summary: 'Спасибо за подписку!', @@ -57,6 +58,7 @@ export class MessagingService { }, error: (err) => { console.error('Error: ', err); + this.messageService.clear(); this.messageService.add({ severity: 'error', summary: 'Произошла ошибка, попробуйте позже', From b7cc0ed72d2037206aeee8bf6501a9a8334da7e1 Mon Sep 17 00:00:00 2001 From: nikolay Date: Thu, 29 Jun 2023 09:11:08 +0400 Subject: [PATCH 36/41] =?UTF-8?q?dev=20#14384=20=D0=9F=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=BA=D0=B0=20=D0=BE=D1=88=D0=B8=D0=B1=D0=BE=D0=BA=20=D0=BE?= =?UTF-8?q?=D1=82=D0=BE=D0=B1=D1=80=D0=B0=D0=B6=D0=B5=D0=BD=D0=B8=D1=8F=20?= =?UTF-8?q?WPA=20=D0=9A=D0=BE=D1=84=D0=B5=D0=9B=D0=B0=D0=B9=D0=BA:=20fix?= =?UTF-8?q?=20header;=20add=20link=20to=20banner;=20fix=20last=20purchase?= =?UTF-8?q?=20loading;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../last-order/last-order.component.html | 4 +- .../components/navbar/navbar.component.html | 10 +- .../components/navbar/navbar.component.scss | 134 +++++++++--------- angular/src/app/services/auth.service.ts | 7 +- 4 files changed, 84 insertions(+), 71 deletions(-) diff --git a/angular/src/app/presentation-options/default-option/components/last-order/last-order.component.html b/angular/src/app/presentation-options/default-option/components/last-order/last-order.component.html index 7410862..a8c7c71 100644 --- a/angular/src/app/presentation-options/default-option/components/last-order/last-order.component.html +++ b/angular/src/app/presentation-options/default-option/components/last-order/last-order.component.html @@ -17,7 +17,9 @@

- + + + diff --git a/angular/src/app/presentation-options/default-option/components/navbar/navbar.component.html b/angular/src/app/presentation-options/default-option/components/navbar/navbar.component.html index 3068813..5bb96fd 100644 --- a/angular/src/app/presentation-options/default-option/components/navbar/navbar.component.html +++ b/angular/src/app/presentation-options/default-option/components/navbar/navbar.component.html @@ -1,8 +1,11 @@
-
- -
+

{{title}}

+
+
+
+ +
+
diff --git a/angular/src/app/presentation-options/default-option/components/navbar/navbar.component.scss b/angular/src/app/presentation-options/default-option/components/navbar/navbar.component.scss index 51150dc..a7e7239 100644 --- a/angular/src/app/presentation-options/default-option/components/navbar/navbar.component.scss +++ b/angular/src/app/presentation-options/default-option/components/navbar/navbar.component.scss @@ -9,69 +9,75 @@ } } -.container { - box-sizing: border-box; - padding: 12px 16px; - width: 100%; - background: var(--button-color); - color: var(--button-text-color); - display: grid; - justify-content: space-between; - grid-template-columns: auto auto auto; - justify-items: center; - align-items: center; - .back { - width: 40px; - } - .back-arrow { - font-size: 16px; +.container { + max-width: 600px; + margin: 0 auto; + box-sizing: border-box; + padding: 12px 16px; + width: 100%; + background: var(--button-color); + color: var(--button-text-color); display: flex; - align-items: center; - justify-content: center; - } - .plug { - height: 24px; - width: 24px; - visibility: hidden; - } - .title { - font-weight: 700; - font-size: 17px; - line-height: 22px; - margin: 0; - } - .wrapper { - display: flex; - align-items: center; - gap: 10px; - min-width: 40px; - } - .menu { - position: relative; - - .menu__dropdown { - z-index: 110; - position: fixed; - background-color: white; - width: fit-content; - height: fit-content; - right: 20px; - border-radius: 6px; - box-shadow: 0px 2px 5px -3px black; - - .item_title { - color: var(--text-color); - font-size: 14px; - font-style: normal; - } - } - } - .backdrop { - z-index: 100; - position: absolute; - width: 100vw; - left: 0; - top: 0; - height: 100vh; - } + flex-direction: column; + gap: 10px; + .block { + display: flex; + justify-content: space-between; + align-items: center; + } + .back { + width: 40px; + } + .back-arrow { + font-size: 16px; + display: flex; + align-items: center; + justify-content: center; + } + .plug { + height: 24px; + width: 24px; + visibility: hidden; + } + .title { + font-weight: 700; + font-size: 17px; + line-height: 22px; + margin: 0 auto; + + } + .wrapper { + display: flex; + align-items: center; + gap: 10px; + min-width: 40px; + } + .menu { + position: relative; + + .menu__dropdown { + z-index: 110; + position: fixed; + background-color: white; + width: fit-content; + height: fit-content; + right: 20px; + border-radius: 6px; + box-shadow: 0px 2px 5px -3px black; + + .item_title { + color: var(--text-color); + font-size: 14px; + font-style: normal; + } + } + } + .backdrop { + z-index: 100; + position: absolute; + width: 100vw; + left: 0; + top: 0; + height: 100vh; + } } diff --git a/angular/src/app/services/auth.service.ts b/angular/src/app/services/auth.service.ts index e5db85b..e30bd62 100644 --- a/angular/src/app/services/auth.service.ts +++ b/angular/src/app/services/auth.service.ts @@ -97,9 +97,6 @@ export class AuthService { error: (e) => { this.error = e; }, - complete: () => { - this.loading = false; - }, }); } @@ -251,11 +248,15 @@ export class AuthService { } getLastPurchase() { + this.loading = true; if (this.userInfo) { this.wpJsonService.getLastPurchase(environment.systemId, this.token!).subscribe({ next: (res) => { this.purchaseData.lastPurchase = res[this.userInfo!.id][0]; }, + complete: () => { + this.loading = false; + }, }); } } From 656e41b8cfbdace59203ac857f5868e2460aef6f Mon Sep 17 00:00:00 2001 From: nikolay Date: Mon, 3 Jul 2023 11:52:56 +0400 Subject: [PATCH 37/41] =?UTF-8?q?dev=20#14384=20=D0=9F=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=BA=D0=B0=20=D0=BE=D1=88=D0=B8=D0=B1=D0=BE=D0=BA=20=D0=BE?= =?UTF-8?q?=D1=82=D0=BE=D0=B1=D1=80=D0=B0=D0=B6=D0=B5=D0=BD=D0=B8=D1=8F=20?= =?UTF-8?q?WPA=20=D0=9A=D0=BE=D1=84=D0=B5=D0=9B=D0=B0=D0=B9=D0=BA:=20chang?= =?UTF-8?q?e=20user=20info=20data?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- angular/src/app/interface/data.ts | 25 ++- .../last-order/last-order.component.html | 4 +- .../last-order/last-order.component.ts | 5 +- .../guest-card/guest-card.component.html | 21 +- .../pages/guest-card/guest-card.component.ts | 6 - .../pages/login/login.component.html | 6 +- .../pages/login/login.component.scss | 1 - .../loyality-program.component.html | 188 +++++++++--------- .../loyality-program.component.scss | 3 +- angular/src/app/services/auth.service.ts | 49 ++--- 10 files changed, 142 insertions(+), 166 deletions(-) diff --git a/angular/src/app/interface/data.ts b/angular/src/app/interface/data.ts index bb1a3e0..47f34e9 100644 --- a/angular/src/app/interface/data.ts +++ b/angular/src/app/interface/data.ts @@ -199,14 +199,29 @@ export interface UserInfoWalletBalance { wallet: UserInfoWallet; } +export interface CurrentInfo { + current_cashback: number; + current_level: number; +} + +export interface LastPurchase { + last_purchase_date: string; + last_purchase_sum: number; +} + +export interface NextLevel { + cashback: number; + next_level: number; + sum_for_next_level: number; +} + export interface UserInfo { - OrdersSum: number; - categories: UserInfoCategory[]; - customer_level: number; + current_level_and_cashback?: CurrentInfo; + last_purchase?: LastPurchase; id: string; - name: string | null; phone: string; - walletBalances: UserInfoWalletBalance[] | { error: ResponseError }; + walletBalances: number; + next_level: NextLevel; } export interface ResponseError { diff --git a/angular/src/app/presentation-options/default-option/components/last-order/last-order.component.html b/angular/src/app/presentation-options/default-option/components/last-order/last-order.component.html index a8c7c71..d202898 100644 --- a/angular/src/app/presentation-options/default-option/components/last-order/last-order.component.html +++ b/angular/src/app/presentation-options/default-option/components/last-order/last-order.component.html @@ -1,7 +1,7 @@

Ваш предыдущий заказ

Дата: - {{(lastOrder?.transactionCreateDate | date:'dd.MM.yyyyг.') || 'Данные не найдены'}} + {{(lastOrder?.last_purchase_date | date:'dd.MM.yyyyг.') || 'Данные не найдены'}}

На сумму: - {{lastOrder?.orderSum ? lastOrder?.orderSum + ' ₽' : 'Данные не найдены'}} + {{lastOrder ? lastOrder.last_purchase_sum + ' ₽' : 'Данные не найдены'}}

-

Уровень {{ authService.userInfo.customer_level }}

+

Уровень {{ authService.userInfo.current_level_and_cashback?.current_level ?? '--' }}

Кэшбек {{ authService.currentLvlPeriod.percent }}%

-

- - {{ Math.floor(authService.getBalanceAmount($any(authService.userInfo.walletBalances))) }} - бонусов - - - Ошибка! Отрицательный баланс бонусов - +

+ {{ Math.floor(authService.userInfo.walletBalances) }} + бонусов

@@ -29,9 +24,7 @@ Осталось купить на сумму {{ - authService.currentLvlPeriod.end - - (authService.userInfo.OrdersSum) + - 1 + authService.userInfo.next_level.sum_for_next_level }} рублей, тогда кэшбек будет с {{ - authService.purchaseData.currentPeriod[1] + authService.currentPeriod[1] .locale("ru") .format("D MMMM") }} @@ -53,7 +46,7 @@

Участвуй в программе лояльности COFFEE LIKE

Начни получать бонусы прямо сейчас

diff --git a/angular/src/app/presentation-options/default-option/pages/login/login.component.scss b/angular/src/app/presentation-options/default-option/pages/login/login.component.scss index 7e84dfd..a109a94 100644 --- a/angular/src/app/presentation-options/default-option/pages/login/login.component.scss +++ b/angular/src/app/presentation-options/default-option/pages/login/login.component.scss @@ -1,5 +1,4 @@ :host { - padding-top: 48px; display: flex; flex-direction: column; align-items: center; diff --git a/angular/src/app/presentation-options/default-option/pages/loyality-program/loyality-program.component.html b/angular/src/app/presentation-options/default-option/pages/loyality-program/loyality-program.component.html index 88bb56c..9850f25 100644 --- a/angular/src/app/presentation-options/default-option/pages/loyality-program/loyality-program.component.html +++ b/angular/src/app/presentation-options/default-option/pages/loyality-program/loyality-program.component.html @@ -1,105 +1,105 @@ -
- -

- Ваш текущий уровень {{ authService.userInfo?.customer_level }}, - поэтому вам начисляется {{ authService.currentLvlPeriod.percent }}% от суммы покупки. -

-

- Смена уровня произойдет в начале следующего квартала, - {{ authService.purchaseData.currentPeriod[1] - .locale("ru") - .format("DD.MM.YY") }}. -

-
- -

- Начисление Бонусных баллов происходит по дифференцированной шкале в - зависимости от уровня: -

+
+ +

+ Ваш текущий уровень {{ authService.userInfo?.current_level_and_cashback?.current_level ?? '--' }}, + поэтому вам начисляется {{ authService.currentLvlPeriod.percent }}% от суммы покупки. +

+

+ Смена уровня произойдет в начале следующего квартала, + {{ authService.currentPeriod[1] + .locale("ru") + .format("DD.MM.YY") }}. +

+
+ +

+ Начисление Бонусных баллов происходит по дифференцированной шкале в + зависимости от уровня: +

+ + + +
    + Уровень {{ index + 1 }} +
  • + Сумма покупок за прошлый квартал {{ item.start }}-{{ item.end }} + руб. +
  • +
  • Начисляемый бонус {{ item.percent }}% от суммы покупки
  • +
+
+
+ +
    + Уровень {{ index + 1 }} +
  • Сумма покупок за прошлый квартал — от {{ item.start }} руб.
  • +
  • Начисляемый бонус, в % от суммы покупки - {{ item.percent }}%
  • +
+
+
+
+ + +

+ Участник может использовать Бонусы для «оплаты» до 100% стоимости любой + покупки. +

+

+ Списание Бонусов происходит из расчета 1:1 (один Бонус дает скидку 1 + российский рубль / 1 тенге / 1 белорусский рубль. Скидка, предоставляемая + Участнику при списании Бонусов, уменьшает цену товаров в заказе в + соответствии с условиями ПЛ. +

+

+ Для списания Бонусов Участник должен попросить об этом в кофе-баре сети + «COFFEE LIKE» кассира до момента пробития фискального чека, после чего им + будет проверена возможность списания Бонусов. +

+

+ Для всех Участников возможно списание без использования мобильного + приложения. +

+

Полученные Бонусы не подлежат обмену на денежные средства.

+
+ +

+ Начисленные на счет бонусы сгорают по прошествии 90 дней с момента + совершения последней покупки с начислением или списанием бонусов. +

- -
    - Уровень {{ index + 1 }} -
  • - Сумма покупок за прошлый квартал {{ item.start }}-{{ item.end }} - руб. -
  • -
  • Начисляемый бонус {{ item.percent }}% от суммы покупки
  • + Возврат покупки, за которую бонусы были начислены: +
  • + В случае, если бонусов на счету достаточно для списания, бонусы + списываются в полном ранее начисленном за возвращаемый товар объеме. +
  • +
  • + В случае, если бонусов на счету недостаточно, формируется минусовой + баланс. +
-
-
- +
    - Уровень {{ index + 1 }} -
  • Сумма покупок за прошлый квартал — от {{ item.start }} руб.
  • -
  • Начисляемый бонус, в % от суммы покупки - {{ item.percent }}%
  • + Возврат покупки, которая была оплачена бонусами: +
  • + В случае предъявления Участником кассового или товарного чека, сумма + бонусов, списанная для оплаты возвращаемого товара, зачисляется на счет + участника. +
  • +
  • + В случае возврата товара с применением оплаты бонусами, клиенту + возвращается денежная сумма в размере, внесенном Участником в оплату + товара при покупке, за вычетом суммы, оплаченной бонусами. +
-
-
-
+ - -

- Участник может использовать Бонусы для «оплаты» до 100% стоимости любой - покупки. -

-

- Списание Бонусов происходит из расчета 1:1 (один Бонус дает скидку 1 - российский рубль / 1 тенге / 1 белорусский рубль. Скидка, предоставляемая - Участнику при списании Бонусов, уменьшает цену товаров в заказе в - соответствии с условиями ПЛ. -

-

- Для списания Бонусов Участник должен попросить об этом в кофе-баре сети - «COFFEE LIKE» кассира до момента пробития фискального чека, после чего им - будет проверена возможность списания Бонусов. -

-

- Для всех Участников возможно списание без использования мобильного - приложения. -

-

Полученные Бонусы не подлежат обмену на денежные средства.

-
- -

- Начисленные на счет бонусы сгорают по прошествии 90 дней с момента - совершения последней покупки с начислением или списанием бонусов. -

+
-
    - Возврат покупки, за которую бонусы были начислены: -
  • - В случае, если бонусов на счету достаточно для списания, бонусы - списываются в полном ранее начисленном за возвращаемый товар объеме. -
  • -
  • - В случае, если бонусов на счету недостаточно, формируется минусовой - баланс. -
  • -
- -
    - Возврат покупки, которая была оплачена бонусами: -
  • - В случае предъявления Участником кассового или товарного чека, сумма - бонусов, списанная для оплаты возвращаемого товара, зачисляется на счет - участника. -
  • -
  • - В случае возврата товара с применением оплаты бонусами, клиенту - возвращается денежная сумма в размере, внесенном Участником в оплату - товара при покупке, за вычетом суммы, оплаченной бонусами. -
  • -
-
- -
- - +
diff --git a/angular/src/app/presentation-options/default-option/pages/loyality-program/loyality-program.component.scss b/angular/src/app/presentation-options/default-option/pages/loyality-program/loyality-program.component.scss index d5a5c6d..531bfda 100644 --- a/angular/src/app/presentation-options/default-option/pages/loyality-program/loyality-program.component.scss +++ b/angular/src/app/presentation-options/default-option/pages/loyality-program/loyality-program.component.scss @@ -1,3 +1,4 @@ .loyality-program { - + max-width: 600px; + margin: 0 auto; } diff --git a/angular/src/app/services/auth.service.ts b/angular/src/app/services/auth.service.ts index e30bd62..fb36b38 100644 --- a/angular/src/app/services/auth.service.ts +++ b/angular/src/app/services/auth.service.ts @@ -4,34 +4,25 @@ import { WpJsonService } from './wp-json.service'; import { environment } from 'src/environments/environment'; import { JsonrpcService, RpcService } from './jsonrpc.service'; import { MessageService } from 'primeng/api'; -import { UserInfo, Purchase, lvlPeriod, UserInfoWalletBalance, ResponseError } from '../interface/data'; +import { UserInfo, lvlPeriod, UserInfoWalletBalance, Moment } from '../interface/data'; import { lvlPeriods } from 'src/app/app.constants'; -import moment, { Moment } from 'moment-timezone'; +import moment from 'moment-timezone'; import { Router } from '@angular/router'; -export interface IPurchaseData { - currentPeriod: Moment[]; - lastPeriod: Moment[]; - currentAmount?: number; - lastPurchase?: Purchase; -} - @Injectable({ providedIn: 'root', }) export class AuthService { - public purchaseData: IPurchaseData = { - currentPeriod: [], - lastPeriod: [], - lastPurchase: undefined, - }; + lastPeriod: Moment[] = []; + currentPeriod: Moment[] = []; userInfo?: UserInfo; loading: boolean = false; error: any; timeLeft: number = 0; get currentLvlPeriod(): lvlPeriod { - return lvlPeriods[this.userInfo ? this.userInfo.customer_level - 1 : 0]; + return lvlPeriods[ + this.userInfo?.current_level_and_cashback ? this.userInfo?.current_level_and_cashback.current_level - 1 : 0]; } constructor( @@ -90,13 +81,14 @@ export class AuthService { this.userInfo = value.customer_info; this.cookiesService.setCookie('phone-number', this.userInfo!.phone?.slice(2)); - - this.getLastPurchase(); } }, error: (e) => { this.error = e; }, + complete: () => { + this.loading = false; + } }); } @@ -234,31 +226,18 @@ export class AuthService { for (let i = 0; i < 4; i++) { if (moment().isBetween(quarters[i][0], quarters[i][1])) { - this.purchaseData.lastPeriod = quarters[i - 1]; - this.purchaseData.currentPeriod = quarters[i]; + this.lastPeriod = quarters[i - 1]; + this.currentPeriod = quarters[i]; } } } getNextLevel(): lvlPeriod { - if (this.userInfo?.customer_level === lvlPeriods.length) { - return lvlPeriods[lvlPeriods.length - 1]; + if (this.userInfo?.next_level.next_level) { + return lvlPeriods[this.userInfo.next_level.next_level]; } - return this.userInfo && lvlPeriods[this.userInfo?.customer_level] || lvlPeriods[0]; - } - getLastPurchase() { - this.loading = true; - if (this.userInfo) { - this.wpJsonService.getLastPurchase(environment.systemId, this.token!).subscribe({ - next: (res) => { - this.purchaseData.lastPurchase = res[this.userInfo!.id][0]; - }, - complete: () => { - this.loading = false; - }, - }); - } + return lvlPeriods[0]; } getBalanceAmount(loyaltyPrograms: UserInfoWalletBalance[]) { From 46bd1e6d2a0a9dd249c96cefc037248ce4d49e1e Mon Sep 17 00:00:00 2001 From: nikolay Date: Mon, 3 Jul 2023 12:24:38 +0400 Subject: [PATCH 38/41] =?UTF-8?q?dev=20#14384=20=D0=9F=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=BA=D0=B0=20=D0=BE=D1=88=D0=B8=D0=B1=D0=BE=D0=BA=20=D0=BE?= =?UTF-8?q?=D1=82=D0=BE=D0=B1=D1=80=D0=B0=D0=B6=D0=B5=D0=BD=D0=B8=D1=8F=20?= =?UTF-8?q?WPA=20=D0=9A=D0=BE=D1=84=D0=B5=D0=9B=D0=B0=D0=B9=D0=BA:=20fix?= =?UTF-8?q?=20last=20purchase=20date=20format?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/last-order/last-order.component.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/angular/src/app/presentation-options/default-option/components/last-order/last-order.component.html b/angular/src/app/presentation-options/default-option/components/last-order/last-order.component.html index d202898..c64e149 100644 --- a/angular/src/app/presentation-options/default-option/components/last-order/last-order.component.html +++ b/angular/src/app/presentation-options/default-option/components/last-order/last-order.component.html @@ -1,7 +1,7 @@

Ваш предыдущий заказ

Дата: - {{(lastOrder?.last_purchase_date | date:'dd.MM.yyyyг.') || 'Данные не найдены'}} + {{(lastOrder?.last_purchase_date | date:'MM.dd.yyyyг.') || 'Данные не найдены'}} Date: Mon, 3 Jul 2023 15:56:08 +0400 Subject: [PATCH 39/41] =?UTF-8?q?dev=20#14384=20=D0=9F=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=BA=D0=B0=20=D0=BE=D1=88=D0=B8=D0=B1=D0=BE=D0=BA=20=D0=BE?= =?UTF-8?q?=D1=82=D0=BE=D0=B1=D1=80=D0=B0=D0=B6=D0=B5=D0=BD=D0=B8=D1=8F=20?= =?UTF-8?q?WPA=20=D0=9A=D0=BE=D1=84=D0=B5=D0=9B=D0=B0=D0=B9=D0=BA:=20fix?= =?UTF-8?q?=20last=20purchase=20date=20format?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/last-order/last-order.component.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/angular/src/app/presentation-options/default-option/components/last-order/last-order.component.html b/angular/src/app/presentation-options/default-option/components/last-order/last-order.component.html index c64e149..ebf8614 100644 --- a/angular/src/app/presentation-options/default-option/components/last-order/last-order.component.html +++ b/angular/src/app/presentation-options/default-option/components/last-order/last-order.component.html @@ -1,7 +1,7 @@

Ваш предыдущий заказ

Дата: - {{(lastOrder?.last_purchase_date | date:'MM.dd.yyyyг.') || 'Данные не найдены'}} + {{(lastOrder?.last_purchase_date) || 'Данные не найдены'}} Date: Tue, 4 Jul 2023 15:53:49 +0400 Subject: [PATCH 40/41] =?UTF-8?q?dev=20#14384=20=D0=9F=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=BA=D0=B0=20=D0=BE=D1=88=D0=B8=D0=B1=D0=BE=D0=BA=20=D0=BE?= =?UTF-8?q?=D1=82=D0=BE=D0=B1=D1=80=D0=B0=D0=B6=D0=B5=D0=BD=D0=B8=D1=8F=20?= =?UTF-8?q?WPA=20=D0=9A=D0=BE=D1=84=D0=B5=D0=9B=D0=B0=D0=B9=D0=BA:=20some?= =?UTF-8?q?=20fixes?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../last-order/last-order.component.html | 33 ++++++++----------- .../guest-card/guest-card.component.html | 33 +++++++------------ angular/src/app/services/auth.service.ts | 10 +----- 3 files changed, 27 insertions(+), 49 deletions(-) diff --git a/angular/src/app/presentation-options/default-option/components/last-order/last-order.component.html b/angular/src/app/presentation-options/default-option/components/last-order/last-order.component.html index ebf8614..76c943b 100644 --- a/angular/src/app/presentation-options/default-option/components/last-order/last-order.component.html +++ b/angular/src/app/presentation-options/default-option/components/last-order/last-order.component.html @@ -1,25 +1,20 @@

Ваш предыдущий заказ

-

Дата: - {{(lastOrder?.last_purchase_date) || 'Данные не найдены'}} - - - -

-

На сумму: - {{lastOrder ? lastOrder.last_purchase_sum + ' ₽' : 'Данные не найдены'}} - - - -

+ +

Дата: + {{lastOrder!.last_purchase_date}} +

+

На сумму: + {{lastOrder?.last_purchase_sum}} +

+
+ +

+ Данные не найдены +

+
-
- - + diff --git a/angular/src/app/presentation-options/default-option/pages/guest-card/guest-card.component.html b/angular/src/app/presentation-options/default-option/pages/guest-card/guest-card.component.html index deb9226..e593ae2 100644 --- a/angular/src/app/presentation-options/default-option/pages/guest-card/guest-card.component.html +++ b/angular/src/app/presentation-options/default-option/pages/guest-card/guest-card.component.html @@ -20,28 +20,19 @@ >
-

- - Осталось купить на сумму - {{ - authService.userInfo.next_level.sum_for_next_level +

+ Осталось купить на сумму + {{ + authService.userInfo.next_level.sum_for_next_level }} - рублей, тогда кэшбек будет - {{ authService.getNextLevel().percent }}% - с - {{ - authService.currentPeriod[1] - .locale("ru") - .format("D MMMM") - }} - - - У Вас последний уровень бонусной программы. Процент начисляемых - бонусов: - {{ authService.currentLvlPeriod.percent }}% - + рублей, тогда кэшбек будет + {{ authService.userInfo.next_level.cashback }}% + с + {{ + authService.currentPeriod[1] + .locale("ru") + .format("D MMMM") + }}

diff --git a/angular/src/app/services/auth.service.ts b/angular/src/app/services/auth.service.ts index fb36b38..71e2c28 100644 --- a/angular/src/app/services/auth.service.ts +++ b/angular/src/app/services/auth.service.ts @@ -60,7 +60,7 @@ export class AuthService { ) .subscribe({ next: (value) => { - if (value && value.customer_info && value.customer_info.errorCode === 'Customer_CustomerNotFound') { + if (value && value.error && value.error.code === 11) { this.wpJsonService.newCustomer( environment.systemId, token, @@ -232,14 +232,6 @@ export class AuthService { } } - getNextLevel(): lvlPeriod { - if (this.userInfo?.next_level.next_level) { - return lvlPeriods[this.userInfo.next_level.next_level]; - } - - return lvlPeriods[0]; - } - getBalanceAmount(loyaltyPrograms: UserInfoWalletBalance[]) { return (loyaltyPrograms || []).reduce((accumulator, currentValue) => { if (currentValue.wallet.name !== 'Федеральная программа лояльности') { From 50333514af737c351558d4480f917f1c0f811291 Mon Sep 17 00:00:00 2001 From: nikolay Date: Thu, 6 Jul 2023 10:40:28 +0400 Subject: [PATCH 41/41] =?UTF-8?q?dev=20#14384=20=D0=9F=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=BA=D0=B0=20=D0=BE=D1=88=D0=B8=D0=B1=D0=BE=D0=BA=20=D0=BE?= =?UTF-8?q?=D1=82=D0=BE=D0=B1=D1=80=D0=B0=D0=B6=D0=B5=D0=BD=D0=B8=D1=8F=20?= =?UTF-8?q?WPA=20=D0=9A=D0=BE=D1=84=D0=B5=D0=9B=D0=B0=D0=B9=D0=BA:=20rever?= =?UTF-8?q?t=20banner?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/last-order/last-order.component.html | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/angular/src/app/presentation-options/default-option/components/last-order/last-order.component.html b/angular/src/app/presentation-options/default-option/components/last-order/last-order.component.html index 76c943b..126e86d 100644 --- a/angular/src/app/presentation-options/default-option/components/last-order/last-order.component.html +++ b/angular/src/app/presentation-options/default-option/components/last-order/last-order.component.html @@ -14,7 +14,9 @@

- + + +