From 7de862631c14c9cb97baaa30bea1733a37659ce5 Mon Sep 17 00:00:00 2001 From: Julien Constant Date: Thu, 30 Mar 2023 16:02:39 +0200 Subject: [PATCH 001/146] init develop --- .editorconfig | 16 + .gitignore | 41 +- .vscode/extensions.json | 4 + .vscode/launch.json | 20 + .vscode/tasks.json | 42 + angular.json | 104 + package.json | 38 + pnpm-lock.yaml | 6773 +++++++++++++++++++++++++++++++++ src/app/app-routing.module.ts | 10 + src/app/app.component.html | 484 +++ src/app/app.component.scss | 0 src/app/app.component.spec.ts | 35 + src/app/app.component.ts | 10 + src/app/app.module.ts | 18 + src/assets/.gitkeep | 0 src/favicon.ico | Bin 0 -> 948 bytes src/index.html | 13 + src/main.ts | 7 + src/styles.scss | 1 + tsconfig.app.json | 14 + tsconfig.json | 33 + tsconfig.spec.json | 14 + 22 files changed, 7676 insertions(+), 1 deletion(-) create mode 100644 .editorconfig create mode 100644 .vscode/extensions.json create mode 100644 .vscode/launch.json create mode 100644 .vscode/tasks.json create mode 100644 angular.json create mode 100644 package.json create mode 100644 pnpm-lock.yaml create mode 100644 src/app/app-routing.module.ts create mode 100644 src/app/app.component.html create mode 100644 src/app/app.component.scss create mode 100644 src/app/app.component.spec.ts create mode 100644 src/app/app.component.ts create mode 100644 src/app/app.module.ts create mode 100644 src/assets/.gitkeep create mode 100644 src/favicon.ico create mode 100644 src/index.html create mode 100644 src/main.ts create mode 100644 src/styles.scss create mode 100644 tsconfig.app.json create mode 100644 tsconfig.json create mode 100644 tsconfig.spec.json diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..59d9a3a --- /dev/null +++ b/.editorconfig @@ -0,0 +1,16 @@ +# Editor configuration, see https://editorconfig.org +root = true + +[*] +charset = utf-8 +indent_style = space +indent_size = 2 +insert_final_newline = true +trim_trailing_whitespace = true + +[*.ts] +quote_type = single + +[*.md] +max_line_length = off +trim_trailing_whitespace = false diff --git a/.gitignore b/.gitignore index 048ceea..0711527 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,42 @@ -# System Files +# See http://help.github.com/ignore-files/ for more about ignoring files. + +# Compiled output +/dist +/tmp +/out-tsc +/bazel-out + +# Node +/node_modules +npm-debug.log +yarn-error.log + +# IDEs and editors +.idea/ +.project +.classpath +.c9/ +*.launch +.settings/ +*.sublime-workspace + +# Visual Studio Code +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json +.history/* + +# Miscellaneous +/.angular/cache +.sass-cache/ +/connect.lock +/coverage +/libpeerconnection.log +testem.log +/typings + +# System files .DS_Store Thumbs.db diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 0000000..77b3745 --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,4 @@ +{ + // For more information, visit: https://go.microsoft.com/fwlink/?linkid=827846 + "recommendations": ["angular.ng-template"] +} diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000..740e35a --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,20 @@ +{ + // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 + "version": "0.2.0", + "configurations": [ + { + "name": "ng serve", + "type": "pwa-chrome", + "request": "launch", + "preLaunchTask": "npm: start", + "url": "http://localhost:4200/" + }, + { + "name": "ng test", + "type": "chrome", + "request": "launch", + "preLaunchTask": "npm: test", + "url": "http://localhost:9876/debug.html" + } + ] +} diff --git a/.vscode/tasks.json b/.vscode/tasks.json new file mode 100644 index 0000000..a298b5b --- /dev/null +++ b/.vscode/tasks.json @@ -0,0 +1,42 @@ +{ + // For more information, visit: https://go.microsoft.com/fwlink/?LinkId=733558 + "version": "2.0.0", + "tasks": [ + { + "type": "npm", + "script": "start", + "isBackground": true, + "problemMatcher": { + "owner": "typescript", + "pattern": "$tsc", + "background": { + "activeOnStart": true, + "beginsPattern": { + "regexp": "(.*?)" + }, + "endsPattern": { + "regexp": "bundle generation complete" + } + } + } + }, + { + "type": "npm", + "script": "test", + "isBackground": true, + "problemMatcher": { + "owner": "typescript", + "pattern": "$tsc", + "background": { + "activeOnStart": true, + "beginsPattern": { + "regexp": "(.*?)" + }, + "endsPattern": { + "regexp": "bundle generation complete" + } + } + } + } + ] +} diff --git a/angular.json b/angular.json new file mode 100644 index 0000000..aa1ff97 --- /dev/null +++ b/angular.json @@ -0,0 +1,104 @@ +{ + "$schema": "./node_modules/@angular/cli/lib/config/schema.json", + "version": 1, + "newProjectRoot": "projects", + "projects": { + "sith": { + "projectType": "application", + "schematics": { + "@schematics/angular:component": { + "style": "scss" + } + }, + "root": "", + "sourceRoot": "src", + "prefix": "app", + "architect": { + "build": { + "builder": "@angular-devkit/build-angular:browser", + "options": { + "outputPath": "dist/sith", + "index": "src/index.html", + "main": "src/main.ts", + "polyfills": [ + "zone.js" + ], + "tsConfig": "tsconfig.app.json", + "inlineStyleLanguage": "scss", + "assets": [ + "src/favicon.ico", + "src/assets" + ], + "styles": [ + "src/styles.scss" + ], + "scripts": [] + }, + "configurations": { + "production": { + "budgets": [ + { + "type": "initial", + "maximumWarning": "500kb", + "maximumError": "1mb" + }, + { + "type": "anyComponentStyle", + "maximumWarning": "2kb", + "maximumError": "4kb" + } + ], + "outputHashing": "all" + }, + "development": { + "buildOptimizer": false, + "optimization": false, + "vendorChunk": true, + "extractLicenses": false, + "sourceMap": true, + "namedChunks": true + } + }, + "defaultConfiguration": "production" + }, + "serve": { + "builder": "@angular-devkit/build-angular:dev-server", + "configurations": { + "production": { + "browserTarget": "sith:build:production" + }, + "development": { + "browserTarget": "sith:build:development" + } + }, + "defaultConfiguration": "development" + }, + "extract-i18n": { + "builder": "@angular-devkit/build-angular:extract-i18n", + "options": { + "browserTarget": "sith:build" + } + }, + "test": { + "builder": "@angular-devkit/build-angular:karma", + "options": { + "polyfills": [ + "zone.js", + "zone.js/testing" + ], + "tsConfig": "tsconfig.spec.json", + "inlineStyleLanguage": "scss", + "assets": [ + "src/favicon.ico", + "src/assets" + ], + "styles": [ + "src/styles.scss" + ], + "scripts": [] + } + } + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..f0c7e09 --- /dev/null +++ b/package.json @@ -0,0 +1,38 @@ +{ + "name": "Sith4", + "version": "4.0.0", + "scripts": { + "ng": "ng", + "start": "ng serve", + "build": "ng build", + "watch": "ng build --watch --configuration development", + "test": "ng test" + }, + "private": true, + "dependencies": { + "@angular/animations": "^15.2.0", + "@angular/common": "^15.2.0", + "@angular/compiler": "^15.2.0", + "@angular/core": "^15.2.0", + "@angular/forms": "^15.2.0", + "@angular/platform-browser": "^15.2.0", + "@angular/platform-browser-dynamic": "^15.2.0", + "@angular/router": "^15.2.0", + "rxjs": "~7.8.0", + "tslib": "^2.3.0", + "zone.js": "~0.12.0" + }, + "devDependencies": { + "@angular-devkit/build-angular": "^15.2.4", + "@angular/cli": "~15.2.4", + "@angular/compiler-cli": "^15.2.0", + "@types/jasmine": "~4.3.0", + "jasmine-core": "~4.5.0", + "karma": "~6.4.0", + "karma-chrome-launcher": "~3.1.0", + "karma-coverage": "~2.2.0", + "karma-jasmine": "~5.1.0", + "karma-jasmine-html-reporter": "~2.0.0", + "typescript": "~4.9.4" + } +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml new file mode 100644 index 0000000..5e4e55f --- /dev/null +++ b/pnpm-lock.yaml @@ -0,0 +1,6773 @@ +lockfileVersion: '6.0' + +dependencies: + '@angular/animations': + specifier: ^15.2.0 + version: 15.2.0(@angular/core@15.2.0) + '@angular/common': + specifier: ^15.2.0 + version: 15.2.0(@angular/core@15.2.0)(rxjs@7.8.0) + '@angular/compiler': + specifier: ^15.2.0 + version: 15.2.0(@angular/core@15.2.0) + '@angular/core': + specifier: ^15.2.0 + version: 15.2.0(rxjs@7.8.0)(zone.js@0.12.0) + '@angular/forms': + specifier: ^15.2.0 + version: 15.2.0(@angular/common@15.2.0)(@angular/core@15.2.0)(@angular/platform-browser@15.2.0)(rxjs@7.8.0) + '@angular/platform-browser': + specifier: ^15.2.0 + version: 15.2.0(@angular/animations@15.2.0)(@angular/common@15.2.0)(@angular/core@15.2.0) + '@angular/platform-browser-dynamic': + specifier: ^15.2.0 + version: 15.2.0(@angular/common@15.2.0)(@angular/compiler@15.2.0)(@angular/core@15.2.0)(@angular/platform-browser@15.2.0) + '@angular/router': + specifier: ^15.2.0 + version: 15.2.0(@angular/common@15.2.0)(@angular/core@15.2.0)(@angular/platform-browser@15.2.0)(rxjs@7.8.0) + rxjs: + specifier: ~7.8.0 + version: 7.8.0 + tslib: + specifier: ^2.3.0 + version: 2.3.0 + zone.js: + specifier: ~0.12.0 + version: 0.12.0 + +devDependencies: + '@angular-devkit/build-angular': + specifier: ^15.2.4 + version: 15.2.4(@angular/compiler-cli@15.2.0)(karma@6.4.0)(typescript@4.9.4) + '@angular/cli': + specifier: ~15.2.4 + version: 15.2.4 + '@angular/compiler-cli': + specifier: ^15.2.0 + version: 15.2.0(@angular/compiler@15.2.0)(typescript@4.9.4) + '@types/jasmine': + specifier: ~4.3.0 + version: 4.3.0 + jasmine-core: + specifier: ~4.5.0 + version: 4.5.0 + karma: + specifier: ~6.4.0 + version: 6.4.0 + karma-chrome-launcher: + specifier: ~3.1.0 + version: 3.1.0 + karma-coverage: + specifier: ~2.2.0 + version: 2.2.0 + karma-jasmine: + specifier: ~5.1.0 + version: 5.1.0(karma@6.4.0) + karma-jasmine-html-reporter: + specifier: ~2.0.0 + version: 2.0.0(jasmine-core@4.5.0)(karma-jasmine@5.1.0)(karma@6.4.0) + typescript: + specifier: ~4.9.4 + version: 4.9.4 + +packages: + + /@ampproject/remapping@2.2.0: + resolution: {integrity: sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/gen-mapping': 0.1.1 + '@jridgewell/trace-mapping': 0.3.17 + dev: true + + /@angular-devkit/architect@0.1502.4(chokidar@3.5.3): + resolution: {integrity: sha512-bDBcaRMBfXFfK9MpvfNO926F1rL0PEw+mveXxq3/SSql+1XP/hrc5TVGwnoim4g6DqsGmu9upS5DyJ6PnL/hHA==} + engines: {node: ^14.20.0 || ^16.13.0 || >=18.10.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} + dependencies: + '@angular-devkit/core': 15.2.4(chokidar@3.5.3) + rxjs: 6.6.7 + transitivePeerDependencies: + - chokidar + dev: true + + /@angular-devkit/build-angular@15.2.4(@angular/compiler-cli@15.2.0)(karma@6.4.0)(typescript@4.9.4): + resolution: {integrity: sha512-wt0S4oz0vxuW0/Ak5X0vQ7s7TSPynmktVNJblu9SFRgwCD3kplV2B693F+M6t8eLzSy0UCSbZp9h3Ae8gLEiEw==} + engines: {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': ^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: ^15.0.0 + protractor: ^7.0.0 + tailwindcss: ^2.0.0 || ^3.0.0 + typescript: '>=4.8.2 <5.0' + peerDependenciesMeta: + '@angular/localize': + optional: true + '@angular/platform-server': + optional: true + '@angular/service-worker': + optional: true + karma: + optional: true + ng-packagr: + optional: true + protractor: + optional: true + tailwindcss: + optional: true + dependencies: + '@ampproject/remapping': 2.2.0 + '@angular-devkit/architect': 0.1502.4(chokidar@3.5.3) + '@angular-devkit/build-webpack': 0.1502.4(chokidar@3.5.3)(webpack-dev-server@4.11.1)(webpack@5.76.1) + '@angular-devkit/core': 15.2.4(chokidar@3.5.3) + '@angular/compiler-cli': 15.2.0(@angular/compiler@15.2.0)(typescript@4.9.4) + '@babel/core': 7.20.12 + '@babel/generator': 7.20.14 + '@babel/helper-annotate-as-pure': 7.18.6 + '@babel/helper-split-export-declaration': 7.18.6 + '@babel/plugin-proposal-async-generator-functions': 7.20.7(@babel/core@7.20.12) + '@babel/plugin-transform-async-to-generator': 7.20.7(@babel/core@7.20.12) + '@babel/plugin-transform-runtime': 7.19.6(@babel/core@7.20.12) + '@babel/preset-env': 7.20.2(@babel/core@7.20.12) + '@babel/runtime': 7.20.13 + '@babel/template': 7.20.7 + '@discoveryjs/json-ext': 0.5.7 + '@ngtools/webpack': 15.2.4(@angular/compiler-cli@15.2.0)(typescript@4.9.4)(webpack@5.76.1) + ansi-colors: 4.1.3 + autoprefixer: 10.4.13(postcss@8.4.21) + babel-loader: 9.1.2(@babel/core@7.20.12)(webpack@5.76.1) + babel-plugin-istanbul: 6.1.1 + browserslist: 4.21.5 + cacache: 17.0.4 + chokidar: 3.5.3 + copy-webpack-plugin: 11.0.0(webpack@5.76.1) + critters: 0.0.16 + css-loader: 6.7.3(webpack@5.76.1) + esbuild-wasm: 0.17.8 + glob: 8.1.0 + https-proxy-agent: 5.0.1 + inquirer: 8.2.4 + jsonc-parser: 3.2.0 + karma: 6.4.0 + karma-source-map-support: 1.4.0 + less: 4.1.3 + less-loader: 11.1.0(less@4.1.3)(webpack@5.76.1) + license-webpack-plugin: 4.0.2(webpack@5.76.1) + loader-utils: 3.2.1 + magic-string: 0.29.0 + mini-css-extract-plugin: 2.7.2(webpack@5.76.1) + open: 8.4.1 + ora: 5.4.1 + parse5-html-rewriting-stream: 7.0.0 + piscina: 3.2.0 + postcss: 8.4.21 + postcss-loader: 7.0.2(postcss@8.4.21)(webpack@5.76.1) + resolve-url-loader: 5.0.0 + rxjs: 6.6.7 + sass: 1.58.1 + sass-loader: 13.2.0(sass@1.58.1)(webpack@5.76.1) + semver: 7.3.8 + source-map-loader: 4.0.1(webpack@5.76.1) + source-map-support: 0.5.21 + terser: 5.16.3 + text-table: 0.2.0 + tree-kill: 1.2.2 + tslib: 2.5.0 + typescript: 4.9.4 + webpack: 5.76.1(esbuild@0.17.8) + webpack-dev-middleware: 6.0.1(webpack@5.76.1) + webpack-dev-server: 4.11.1(webpack@5.76.1) + webpack-merge: 5.8.0 + webpack-subresource-integrity: 5.1.0(webpack@5.76.1) + optionalDependencies: + esbuild: 0.17.8 + transitivePeerDependencies: + - '@swc/core' + - bluebird + - bufferutil + - debug + - fibers + - html-webpack-plugin + - node-sass + - sass-embedded + - supports-color + - uglify-js + - utf-8-validate + - webpack-cli + dev: true + + /@angular-devkit/build-webpack@0.1502.4(chokidar@3.5.3)(webpack-dev-server@4.11.1)(webpack@5.76.1): + resolution: {integrity: sha512-Bs/pxcY3517QAVyAalDxJgjc93KWQos+dFdgEQrKxj/VTs1BTYnLbb2M8Y7MoxVnfH4S+qqxGe5B57T+TlB3Eg==} + engines: {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: + webpack: ^5.30.0 + webpack-dev-server: ^4.0.0 + dependencies: + '@angular-devkit/architect': 0.1502.4(chokidar@3.5.3) + rxjs: 6.6.7 + webpack: 5.76.1(esbuild@0.17.8) + webpack-dev-server: 4.11.1(webpack@5.76.1) + transitivePeerDependencies: + - chokidar + dev: true + + /@angular-devkit/core@15.2.4(chokidar@3.5.3): + resolution: {integrity: sha512-yl+0j1bMwJLKShsyCXw77tbJG8Sd21+itisPLL2MgEpLNAO252kr9zG4TLlFRJyKVftm2l1h78KjqvM5nbOXNg==} + engines: {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 + dependencies: + ajv: 8.12.0 + ajv-formats: 2.1.1(ajv@8.12.0) + chokidar: 3.5.3 + jsonc-parser: 3.2.0 + rxjs: 6.6.7 + source-map: 0.7.4 + dev: true + + /@angular-devkit/schematics@15.2.4: + resolution: {integrity: sha512-/W7/vvn59PAVLzhcvD4/N/E8RDhub8ny1A7I96LTRjC5o+yvVV16YJ4YJzolrRrIEN01KmLVQJ9A58VCaweMgw==} + engines: {node: ^14.20.0 || ^16.13.0 || >=18.10.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} + dependencies: + '@angular-devkit/core': 15.2.4(chokidar@3.5.3) + jsonc-parser: 3.2.0 + magic-string: 0.29.0 + ora: 5.4.1 + rxjs: 6.6.7 + transitivePeerDependencies: + - chokidar + dev: true + + /@angular/animations@15.2.0(@angular/core@15.2.0): + resolution: {integrity: sha512-Hh/ijBlHsFlr6vR7e9KZgFpdQf+ebr3uIDDRsVHjRkt8utsv3CpUcJkb75UyTv+Ok5gYmfsI1Lj1CDYujyA0Fg==} + engines: {node: ^14.20.0 || ^16.13.0 || >=18.10.0} + peerDependencies: + '@angular/core': 15.2.0 + dependencies: + '@angular/core': 15.2.0(rxjs@7.8.0)(zone.js@0.12.0) + tslib: 2.3.0 + dev: false + + /@angular/cli@15.2.4: + resolution: {integrity: sha512-nQFnrt9aWwqkyhJMaZvjHXXuxeR1pZNcpZEzTA5nXtpVeNs8U7EBFCyJ+cYecFX0LHe36SoxXcbfnNEKHt3NVQ==} + engines: {node: ^14.20.0 || ^16.13.0 || >=18.10.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} + hasBin: true + dependencies: + '@angular-devkit/architect': 0.1502.4(chokidar@3.5.3) + '@angular-devkit/core': 15.2.4(chokidar@3.5.3) + '@angular-devkit/schematics': 15.2.4 + '@schematics/angular': 15.2.4 + '@yarnpkg/lockfile': 1.1.0 + ansi-colors: 4.1.3 + ini: 3.0.1 + inquirer: 8.2.4 + 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: 15.1.0 + resolve: 1.22.1 + semver: 7.3.8 + symbol-observable: 4.0.0 + yargs: 17.6.2 + transitivePeerDependencies: + - bluebird + - chokidar + - supports-color + dev: true + + /@angular/common@15.2.0(@angular/core@15.2.0)(rxjs@7.8.0): + resolution: {integrity: sha512-B+e5pbkvlwlSwlQjtDrYQq+Xs62mScWm1plEZRHQm3cjBhA0RFT3MiUa/YNaHv8VoGjlrOm1rdJVEVQQxroZTg==} + engines: {node: ^14.20.0 || ^16.13.0 || >=18.10.0} + peerDependencies: + '@angular/core': 15.2.0 + rxjs: ^6.5.3 || ^7.4.0 + dependencies: + '@angular/core': 15.2.0(rxjs@7.8.0)(zone.js@0.12.0) + rxjs: 7.8.0 + tslib: 2.3.0 + dev: false + + /@angular/compiler-cli@15.2.0(@angular/compiler@15.2.0)(typescript@4.9.4): + resolution: {integrity: sha512-ETnRBdY/LGcmDRQ9GQc9KyCd1kuRnj+Y9luq2dCTMysP+NgylmYoGDsJOsDKm6SzPo+B4PSAyHX2J4CVQFHpPg==} + engines: {node: ^14.20.0 || ^16.13.0 || >=18.10.0} + hasBin: true + peerDependencies: + '@angular/compiler': 15.2.0 + typescript: '>=4.8.2 <5.0' + dependencies: + '@angular/compiler': 15.2.0(@angular/core@15.2.0) + '@babel/core': 7.19.3 + '@jridgewell/sourcemap-codec': 1.4.14 + chokidar: 3.5.3 + convert-source-map: 1.9.0 + dependency-graph: 0.11.0 + magic-string: 0.27.0 + reflect-metadata: 0.1.13 + semver: 7.3.8 + tslib: 2.3.0 + typescript: 4.9.4 + yargs: 17.7.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@angular/compiler@15.2.0(@angular/core@15.2.0): + resolution: {integrity: sha512-bGMc8xBs/3l5Ab2PmGGifuWVLxCzmYQPXeBYrwpmy+aYCwGzuVKxQp6L1UjA0OZNra7Am8bu4mOsLSR9ENdX6w==} + engines: {node: ^14.20.0 || ^16.13.0 || >=18.10.0} + peerDependencies: + '@angular/core': 15.2.0 + peerDependenciesMeta: + '@angular/core': + optional: true + dependencies: + '@angular/core': 15.2.0(rxjs@7.8.0)(zone.js@0.12.0) + tslib: 2.3.0 + + /@angular/core@15.2.0(rxjs@7.8.0)(zone.js@0.12.0): + resolution: {integrity: sha512-UNHNcW3NqzMbG5gMjzXhb4xHrJcZq8rFdLwTLntB0oo2I/WxQFVlxz28nrW+Y09DbJf02MCASBLxD9If/6eT3g==} + engines: {node: ^14.20.0 || ^16.13.0 || >=18.10.0} + peerDependencies: + rxjs: ^6.5.3 || ^7.4.0 + zone.js: ~0.11.4 || ~0.12.0 + dependencies: + rxjs: 7.8.0 + tslib: 2.3.0 + zone.js: 0.12.0 + + /@angular/forms@15.2.0(@angular/common@15.2.0)(@angular/core@15.2.0)(@angular/platform-browser@15.2.0)(rxjs@7.8.0): + resolution: {integrity: sha512-a93ysagAhbbyNbWM1yjWcPZaZBNrNjZ6SNIQYyelqySeShStXlKrDxYY5q7G/qqGpQzg2YF5qCIOOQxJJA9//g==} + engines: {node: ^14.20.0 || ^16.13.0 || >=18.10.0} + peerDependencies: + '@angular/common': 15.2.0 + '@angular/core': 15.2.0 + '@angular/platform-browser': 15.2.0 + rxjs: ^6.5.3 || ^7.4.0 + dependencies: + '@angular/common': 15.2.0(@angular/core@15.2.0)(rxjs@7.8.0) + '@angular/core': 15.2.0(rxjs@7.8.0)(zone.js@0.12.0) + '@angular/platform-browser': 15.2.0(@angular/animations@15.2.0)(@angular/common@15.2.0)(@angular/core@15.2.0) + rxjs: 7.8.0 + tslib: 2.3.0 + dev: false + + /@angular/platform-browser-dynamic@15.2.0(@angular/common@15.2.0)(@angular/compiler@15.2.0)(@angular/core@15.2.0)(@angular/platform-browser@15.2.0): + resolution: {integrity: sha512-OErEz/AX9S6I+RJUrFS/r9mF0rJGF1bhAvPjNvyc4mL+ai9JWZB6JgrZPzEz3v0nXG8SsAvnB1wJdKCp90Ed2g==} + engines: {node: ^14.20.0 || ^16.13.0 || >=18.10.0} + peerDependencies: + '@angular/common': 15.2.0 + '@angular/compiler': 15.2.0 + '@angular/core': 15.2.0 + '@angular/platform-browser': 15.2.0 + dependencies: + '@angular/common': 15.2.0(@angular/core@15.2.0)(rxjs@7.8.0) + '@angular/compiler': 15.2.0(@angular/core@15.2.0) + '@angular/core': 15.2.0(rxjs@7.8.0)(zone.js@0.12.0) + '@angular/platform-browser': 15.2.0(@angular/animations@15.2.0)(@angular/common@15.2.0)(@angular/core@15.2.0) + tslib: 2.3.0 + dev: false + + /@angular/platform-browser@15.2.0(@angular/animations@15.2.0)(@angular/common@15.2.0)(@angular/core@15.2.0): + resolution: {integrity: sha512-+FB+KMoRHktF/MR7hn8ofubVLpu3+KZpudupKlxthPSL2KPMJn6h00ewrJDv3W+MtpqphqCjQSLmKpzw2UKKug==} + engines: {node: ^14.20.0 || ^16.13.0 || >=18.10.0} + peerDependencies: + '@angular/animations': 15.2.0 + '@angular/common': 15.2.0 + '@angular/core': 15.2.0 + peerDependenciesMeta: + '@angular/animations': + optional: true + dependencies: + '@angular/animations': 15.2.0(@angular/core@15.2.0) + '@angular/common': 15.2.0(@angular/core@15.2.0)(rxjs@7.8.0) + '@angular/core': 15.2.0(rxjs@7.8.0)(zone.js@0.12.0) + tslib: 2.3.0 + dev: false + + /@angular/router@15.2.0(@angular/common@15.2.0)(@angular/core@15.2.0)(@angular/platform-browser@15.2.0)(rxjs@7.8.0): + resolution: {integrity: sha512-FPmGP7DmJtzqgmM7FMs8bfe3vX0r6cdI4zbHMEVv7Zbn/yApgAzAsX7MXJYy7Oi45S6ZTH7SIVHVYVAqay1NVQ==} + engines: {node: ^14.20.0 || ^16.13.0 || >=18.10.0} + peerDependencies: + '@angular/common': 15.2.0 + '@angular/core': 15.2.0 + '@angular/platform-browser': 15.2.0 + rxjs: ^6.5.3 || ^7.4.0 + dependencies: + '@angular/common': 15.2.0(@angular/core@15.2.0)(rxjs@7.8.0) + '@angular/core': 15.2.0(rxjs@7.8.0)(zone.js@0.12.0) + '@angular/platform-browser': 15.2.0(@angular/animations@15.2.0)(@angular/common@15.2.0)(@angular/core@15.2.0) + rxjs: 7.8.0 + tslib: 2.3.0 + dev: false + + /@assemblyscript/loader@0.10.1: + resolution: {integrity: sha512-H71nDOOL8Y7kWRLqf6Sums+01Q5msqBW2KhDUTemh1tvY04eSkSXrK0uj/4mmY0Xr16/3zyZmsrxN7CKuRbNRg==} + dev: true + + /@babel/code-frame@7.18.6: + resolution: {integrity: sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/highlight': 7.18.6 + dev: true + + /@babel/compat-data@7.21.0: + resolution: {integrity: sha512-gMuZsmsgxk/ENC3O/fRw5QY8A9/uxQbbCEypnLIiYYc/qVJtEV7ouxC3EllIIwNzMqAQee5tanFabWsUOutS7g==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/core@7.19.3: + resolution: {integrity: sha512-WneDJxdsjEvyKtXKsaBGbDeiyOjR5vYq4HcShxnIbG0qixpoHjI3MqeZM9NDvsojNCEBItQE4juOo/bU6e72gQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@ampproject/remapping': 2.2.0 + '@babel/code-frame': 7.18.6 + '@babel/generator': 7.21.3 + '@babel/helper-compilation-targets': 7.20.7(@babel/core@7.19.3) + '@babel/helper-module-transforms': 7.21.2 + '@babel/helpers': 7.21.0 + '@babel/parser': 7.21.3 + '@babel/template': 7.20.7 + '@babel/traverse': 7.21.3 + '@babel/types': 7.21.3 + convert-source-map: 1.9.0 + debug: 4.3.4 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/core@7.20.12: + resolution: {integrity: sha512-XsMfHovsUYHFMdrIHkZphTN/2Hzzi78R08NuHfDBehym2VsPDL6Zn/JAD/JQdnRvbSsbQc4mVaU1m6JgtTEElg==} + engines: {node: '>=6.9.0'} + dependencies: + '@ampproject/remapping': 2.2.0 + '@babel/code-frame': 7.18.6 + '@babel/generator': 7.20.14 + '@babel/helper-compilation-targets': 7.20.7(@babel/core@7.20.12) + '@babel/helper-module-transforms': 7.21.2 + '@babel/helpers': 7.21.0 + '@babel/parser': 7.21.3 + '@babel/template': 7.20.7 + '@babel/traverse': 7.21.3 + '@babel/types': 7.21.3 + convert-source-map: 1.9.0 + debug: 4.3.4 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/core@7.21.3: + resolution: {integrity: sha512-qIJONzoa/qiHghnm0l1n4i/6IIziDpzqc36FBs4pzMhDUraHqponwJLiAKm1hGLP3OSB/TVNz6rMwVGpwxxySw==} + engines: {node: '>=6.9.0'} + dependencies: + '@ampproject/remapping': 2.2.0 + '@babel/code-frame': 7.18.6 + '@babel/generator': 7.21.3 + '@babel/helper-compilation-targets': 7.20.7(@babel/core@7.21.3) + '@babel/helper-module-transforms': 7.21.2 + '@babel/helpers': 7.21.0 + '@babel/parser': 7.21.3 + '@babel/template': 7.20.7 + '@babel/traverse': 7.21.3 + '@babel/types': 7.21.3 + convert-source-map: 1.9.0 + debug: 4.3.4 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/generator@7.20.14: + resolution: {integrity: sha512-AEmuXHdcD3A52HHXxaTmYlb8q/xMEhoRP67B3T4Oq7lbmSoqroMZzjnGj3+i1io3pdnF8iBYVu4Ilj+c4hBxYg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.21.3 + '@jridgewell/gen-mapping': 0.3.2 + jsesc: 2.5.2 + dev: true + + /@babel/generator@7.21.3: + resolution: {integrity: sha512-QS3iR1GYC/YGUnW7IdggFeN5c1poPUurnGttOV/bZgPGV+izC/D8HnD6DLwod0fsatNyVn1G3EVWMYIF0nHbeA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.21.3 + '@jridgewell/gen-mapping': 0.3.2 + '@jridgewell/trace-mapping': 0.3.17 + jsesc: 2.5.2 + dev: true + + /@babel/helper-annotate-as-pure@7.18.6: + resolution: {integrity: sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.21.3 + dev: true + + /@babel/helper-builder-binary-assignment-operator-visitor@7.18.9: + resolution: {integrity: sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-explode-assignable-expression': 7.18.6 + '@babel/types': 7.21.3 + dev: true + + /@babel/helper-compilation-targets@7.20.7(@babel/core@7.19.3): + resolution: {integrity: sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/compat-data': 7.21.0 + '@babel/core': 7.19.3 + '@babel/helper-validator-option': 7.21.0 + browserslist: 4.21.5 + lru-cache: 5.1.1 + semver: 6.3.0 + dev: true + + /@babel/helper-compilation-targets@7.20.7(@babel/core@7.20.12): + resolution: {integrity: sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/compat-data': 7.21.0 + '@babel/core': 7.20.12 + '@babel/helper-validator-option': 7.21.0 + browserslist: 4.21.5 + lru-cache: 5.1.1 + semver: 6.3.0 + dev: true + + /@babel/helper-compilation-targets@7.20.7(@babel/core@7.21.3): + resolution: {integrity: sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/compat-data': 7.21.0 + '@babel/core': 7.21.3 + '@babel/helper-validator-option': 7.21.0 + browserslist: 4.21.5 + lru-cache: 5.1.1 + semver: 6.3.0 + dev: true + + /@babel/helper-create-class-features-plugin@7.21.0(@babel/core@7.20.12): + resolution: {integrity: sha512-Q8wNiMIdwsv5la5SPxNYzzkPnjgC0Sy0i7jLkVOCdllu/xcVNkr3TeZzbHBJrj+XXRqzX5uCyCoV9eu6xUG7KQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-annotate-as-pure': 7.18.6 + '@babel/helper-environment-visitor': 7.18.9 + '@babel/helper-function-name': 7.21.0 + '@babel/helper-member-expression-to-functions': 7.21.0 + '@babel/helper-optimise-call-expression': 7.18.6 + '@babel/helper-replace-supers': 7.20.7 + '@babel/helper-skip-transparent-expression-wrappers': 7.20.0 + '@babel/helper-split-export-declaration': 7.18.6 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/helper-create-regexp-features-plugin@7.21.0(@babel/core@7.20.12): + resolution: {integrity: sha512-N+LaFW/auRSWdx7SHD/HiARwXQju1vXTW4fKr4u5SgBUTm51OKEjKgj+cs00ggW3kEvNqwErnlwuq7Y3xBe4eg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-annotate-as-pure': 7.18.6 + regexpu-core: 5.3.2 + dev: true + + /@babel/helper-define-polyfill-provider@0.3.3(@babel/core@7.20.12): + resolution: {integrity: sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==} + peerDependencies: + '@babel/core': ^7.4.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-compilation-targets': 7.20.7(@babel/core@7.20.12) + '@babel/helper-plugin-utils': 7.20.2 + debug: 4.3.4 + lodash.debounce: 4.0.8 + resolve: 1.22.1 + semver: 6.3.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/helper-environment-visitor@7.18.9: + resolution: {integrity: sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helper-explode-assignable-expression@7.18.6: + resolution: {integrity: sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.21.3 + dev: true + + /@babel/helper-function-name@7.21.0: + resolution: {integrity: sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/template': 7.20.7 + '@babel/types': 7.21.3 + dev: true + + /@babel/helper-hoist-variables@7.18.6: + resolution: {integrity: sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.21.3 + dev: true + + /@babel/helper-member-expression-to-functions@7.21.0: + resolution: {integrity: sha512-Muu8cdZwNN6mRRNG6lAYErJ5X3bRevgYR2O8wN0yn7jJSnGDu6eG59RfT29JHxGUovyfrh6Pj0XzmR7drNVL3Q==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.21.3 + dev: true + + /@babel/helper-module-imports@7.18.6: + resolution: {integrity: sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.21.3 + dev: true + + /@babel/helper-module-transforms@7.21.2: + resolution: {integrity: sha512-79yj2AR4U/Oqq/WOV7Lx6hUjau1Zfo4cI+JLAVYeMV5XIlbOhmjEk5ulbTc9fMpmlojzZHkUUxAiK+UKn+hNQQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-environment-visitor': 7.18.9 + '@babel/helper-module-imports': 7.18.6 + '@babel/helper-simple-access': 7.20.2 + '@babel/helper-split-export-declaration': 7.18.6 + '@babel/helper-validator-identifier': 7.19.1 + '@babel/template': 7.20.7 + '@babel/traverse': 7.21.3 + '@babel/types': 7.21.3 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/helper-optimise-call-expression@7.18.6: + resolution: {integrity: sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.21.3 + dev: true + + /@babel/helper-plugin-utils@7.20.2: + resolution: {integrity: sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helper-remap-async-to-generator@7.18.9(@babel/core@7.20.12): + resolution: {integrity: sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-annotate-as-pure': 7.18.6 + '@babel/helper-environment-visitor': 7.18.9 + '@babel/helper-wrap-function': 7.20.5 + '@babel/types': 7.21.3 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/helper-replace-supers@7.20.7: + resolution: {integrity: sha512-vujDMtB6LVfNW13jhlCrp48QNslK6JXi7lQG736HVbHz/mbf4Dc7tIRh1Xf5C0rF7BP8iiSxGMCmY6Ci1ven3A==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-environment-visitor': 7.18.9 + '@babel/helper-member-expression-to-functions': 7.21.0 + '@babel/helper-optimise-call-expression': 7.18.6 + '@babel/template': 7.20.7 + '@babel/traverse': 7.21.3 + '@babel/types': 7.21.3 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/helper-simple-access@7.20.2: + resolution: {integrity: sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.21.3 + dev: true + + /@babel/helper-skip-transparent-expression-wrappers@7.20.0: + resolution: {integrity: sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.21.3 + dev: true + + /@babel/helper-split-export-declaration@7.18.6: + resolution: {integrity: sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.21.3 + dev: true + + /@babel/helper-string-parser@7.19.4: + resolution: {integrity: sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helper-validator-identifier@7.19.1: + resolution: {integrity: sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helper-validator-option@7.21.0: + resolution: {integrity: sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helper-wrap-function@7.20.5: + resolution: {integrity: sha512-bYMxIWK5mh+TgXGVqAtnu5Yn1un+v8DDZtqyzKRLUzrh70Eal2O3aZ7aPYiMADO4uKlkzOiRiZ6GX5q3qxvW9Q==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-function-name': 7.21.0 + '@babel/template': 7.20.7 + '@babel/traverse': 7.21.3 + '@babel/types': 7.21.3 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/helpers@7.21.0: + resolution: {integrity: sha512-XXve0CBtOW0pd7MRzzmoyuSj0e3SEzj8pgyFxnTT1NJZL38BD1MK7yYrm8yefRPIDvNNe14xR4FdbHwpInD4rA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/template': 7.20.7 + '@babel/traverse': 7.21.3 + '@babel/types': 7.21.3 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/highlight@7.18.6: + resolution: {integrity: sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-validator-identifier': 7.19.1 + chalk: 2.4.2 + js-tokens: 4.0.0 + dev: true + + /@babel/parser@7.21.3: + resolution: {integrity: sha512-lobG0d7aOfQRXh8AyklEAgZGvA4FShxo6xQbUrrT/cNBPUdIDojlokwJsQyCC/eKia7ifqM0yP+2DRZ4WKw2RQ==} + engines: {node: '>=6.0.0'} + hasBin: true + dependencies: + '@babel/types': 7.21.3 + dev: true + + /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.18.6(@babel/core@7.20.12): + resolution: {integrity: sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.20.7(@babel/core@7.20.12): + resolution: {integrity: sha512-sbr9+wNE5aXMBBFBICk01tt7sBf2Oc9ikRFEcem/ZORup9IMUdNhW7/wVLEbbtlWOsEubJet46mHAL2C8+2jKQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.13.0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-skip-transparent-expression-wrappers': 7.20.0 + '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.20.12) + dev: true + + /@babel/plugin-proposal-async-generator-functions@7.20.7(@babel/core@7.20.12): + resolution: {integrity: sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-environment-visitor': 7.18.9 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-remap-async-to-generator': 7.18.9(@babel/core@7.20.12) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.20.12) + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.20.12): + resolution: {integrity: sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-create-class-features-plugin': 7.21.0(@babel/core@7.20.12) + '@babel/helper-plugin-utils': 7.20.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-proposal-class-static-block@7.21.0(@babel/core@7.20.12): + resolution: {integrity: sha512-XP5G9MWNUskFuP30IfFSEFB0Z6HzLIUcjYM4bYOPHXl7eiJ9HFv8tWj6TXTN5QODiEhDZAeI4hLok2iHFFV4hw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.12.0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-create-class-features-plugin': 7.21.0(@babel/core@7.20.12) + '@babel/helper-plugin-utils': 7.20.2 + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.20.12) + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-proposal-dynamic-import@7.18.6(@babel/core@7.20.12): + resolution: {integrity: sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.20.12) + dev: true + + /@babel/plugin-proposal-export-namespace-from@7.18.9(@babel/core@7.20.12): + resolution: {integrity: sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.20.12) + dev: true + + /@babel/plugin-proposal-json-strings@7.18.6(@babel/core@7.20.12): + resolution: {integrity: sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.20.12) + dev: true + + /@babel/plugin-proposal-logical-assignment-operators@7.20.7(@babel/core@7.20.12): + resolution: {integrity: sha512-y7C7cZgpMIjWlKE5T7eJwp+tnRYM89HmRvWM5EQuB5BoHEONjmQ8lSNmBUwOyy/GFRsohJED51YBF79hE1djug==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.20.12) + dev: true + + /@babel/plugin-proposal-nullish-coalescing-operator@7.18.6(@babel/core@7.20.12): + resolution: {integrity: sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.20.12) + dev: true + + /@babel/plugin-proposal-numeric-separator@7.18.6(@babel/core@7.20.12): + resolution: {integrity: sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.20.12) + dev: true + + /@babel/plugin-proposal-object-rest-spread@7.20.7(@babel/core@7.20.12): + resolution: {integrity: sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/compat-data': 7.21.0 + '@babel/core': 7.20.12 + '@babel/helper-compilation-targets': 7.20.7(@babel/core@7.20.12) + '@babel/helper-plugin-utils': 7.20.2 + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.20.12) + '@babel/plugin-transform-parameters': 7.21.3(@babel/core@7.20.12) + dev: true + + /@babel/plugin-proposal-optional-catch-binding@7.18.6(@babel/core@7.20.12): + resolution: {integrity: sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.20.12) + dev: true + + /@babel/plugin-proposal-optional-chaining@7.21.0(@babel/core@7.20.12): + resolution: {integrity: sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-skip-transparent-expression-wrappers': 7.20.0 + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.20.12) + dev: true + + /@babel/plugin-proposal-private-methods@7.18.6(@babel/core@7.20.12): + resolution: {integrity: sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-create-class-features-plugin': 7.21.0(@babel/core@7.20.12) + '@babel/helper-plugin-utils': 7.20.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-proposal-private-property-in-object@7.21.0(@babel/core@7.20.12): + resolution: {integrity: sha512-ha4zfehbJjc5MmXBlHec1igel5TJXXLDDRbuJ4+XT2TJcyD9/V1919BA8gMvsdHcNMBy4WBUBiRb3nw/EQUtBw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-annotate-as-pure': 7.18.6 + '@babel/helper-create-class-features-plugin': 7.21.0(@babel/core@7.20.12) + '@babel/helper-plugin-utils': 7.20.2 + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.20.12) + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-proposal-unicode-property-regex@7.18.6(@babel/core@7.20.12): + resolution: {integrity: sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==} + engines: {node: '>=4'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-create-regexp-features-plugin': 7.21.0(@babel/core@7.20.12) + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.20.12): + resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.20.12): + resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.20.12): + resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.20.12): + resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.20.12): + resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-syntax-import-assertions@7.20.0(@babel/core@7.20.12): + resolution: {integrity: sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.20.12): + resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.20.12): + resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.20.12): + resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.20.12): + resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.20.12): + resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.20.12): + resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.20.12): + resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.20.12): + resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.20.12): + resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-transform-arrow-functions@7.20.7(@babel/core@7.20.12): + resolution: {integrity: sha512-3poA5E7dzDomxj9WXWwuD6A5F3kc7VXwIJO+E+J8qtDtS+pXPAhrgEyh+9GBwBgPq1Z+bB+/JD60lp5jsN7JPQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-transform-async-to-generator@7.20.7(@babel/core@7.20.12): + resolution: {integrity: sha512-Uo5gwHPT9vgnSXQxqGtpdufUiWp96gk7yiP4Mp5bm1QMkEmLXBO7PAGYbKoJ6DhAwiNkcHFBol/x5zZZkL/t0Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-module-imports': 7.18.6 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-remap-async-to-generator': 7.18.9(@babel/core@7.20.12) + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-transform-block-scoped-functions@7.18.6(@babel/core@7.20.12): + resolution: {integrity: sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-transform-block-scoping@7.21.0(@babel/core@7.20.12): + resolution: {integrity: sha512-Mdrbunoh9SxwFZapeHVrwFmri16+oYotcZysSzhNIVDwIAb1UV+kvnxULSYq9J3/q5MDG+4X6w8QVgD1zhBXNQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-transform-classes@7.21.0(@babel/core@7.20.12): + resolution: {integrity: sha512-RZhbYTCEUAe6ntPehC4hlslPWosNHDox+vAs4On/mCLRLfoDVHf6hVEd7kuxr1RnHwJmxFfUM3cZiZRmPxJPXQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-annotate-as-pure': 7.18.6 + '@babel/helper-compilation-targets': 7.20.7(@babel/core@7.20.12) + '@babel/helper-environment-visitor': 7.18.9 + '@babel/helper-function-name': 7.21.0 + '@babel/helper-optimise-call-expression': 7.18.6 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-replace-supers': 7.20.7 + '@babel/helper-split-export-declaration': 7.18.6 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-transform-computed-properties@7.20.7(@babel/core@7.20.12): + resolution: {integrity: sha512-Lz7MvBK6DTjElHAmfu6bfANzKcxpyNPeYBGEafyA6E5HtRpjpZwU+u7Qrgz/2OR0z+5TvKYbPdphfSaAcZBrYQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/template': 7.20.7 + dev: true + + /@babel/plugin-transform-destructuring@7.21.3(@babel/core@7.20.12): + resolution: {integrity: sha512-bp6hwMFzuiE4HqYEyoGJ/V2LeIWn+hLVKc4pnj++E5XQptwhtcGmSayM029d/j2X1bPKGTlsyPwAubuU22KhMA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-transform-dotall-regex@7.18.6(@babel/core@7.20.12): + resolution: {integrity: sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-create-regexp-features-plugin': 7.21.0(@babel/core@7.20.12) + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-transform-duplicate-keys@7.18.9(@babel/core@7.20.12): + resolution: {integrity: sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-transform-exponentiation-operator@7.18.6(@babel/core@7.20.12): + resolution: {integrity: sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-builder-binary-assignment-operator-visitor': 7.18.9 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-transform-for-of@7.21.0(@babel/core@7.20.12): + resolution: {integrity: sha512-LlUYlydgDkKpIY7mcBWvyPPmMcOphEyYA27Ef4xpbh1IiDNLr0kZsos2nf92vz3IccvJI25QUwp86Eo5s6HmBQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-transform-function-name@7.18.9(@babel/core@7.20.12): + resolution: {integrity: sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-compilation-targets': 7.20.7(@babel/core@7.20.12) + '@babel/helper-function-name': 7.21.0 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-transform-literals@7.18.9(@babel/core@7.20.12): + resolution: {integrity: sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-transform-member-expression-literals@7.18.6(@babel/core@7.20.12): + resolution: {integrity: sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-transform-modules-amd@7.20.11(@babel/core@7.20.12): + resolution: {integrity: sha512-NuzCt5IIYOW0O30UvqktzHYR2ud5bOWbY0yaxWZ6G+aFzOMJvrs5YHNikrbdaT15+KNO31nPOy5Fim3ku6Zb5g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-module-transforms': 7.21.2 + '@babel/helper-plugin-utils': 7.20.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-transform-modules-commonjs@7.21.2(@babel/core@7.20.12): + resolution: {integrity: sha512-Cln+Yy04Gxua7iPdj6nOV96smLGjpElir5YwzF0LBPKoPlLDNJePNlrGGaybAJkd0zKRnOVXOgizSqPYMNYkzA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-module-transforms': 7.21.2 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-simple-access': 7.20.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-transform-modules-systemjs@7.20.11(@babel/core@7.20.12): + resolution: {integrity: sha512-vVu5g9BPQKSFEmvt2TA4Da5N+QVS66EX21d8uoOihC+OCpUoGvzVsXeqFdtAEfVa5BILAeFt+U7yVmLbQnAJmw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-hoist-variables': 7.18.6 + '@babel/helper-module-transforms': 7.21.2 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-validator-identifier': 7.19.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-transform-modules-umd@7.18.6(@babel/core@7.20.12): + resolution: {integrity: sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-module-transforms': 7.21.2 + '@babel/helper-plugin-utils': 7.20.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-transform-named-capturing-groups-regex@7.20.5(@babel/core@7.20.12): + resolution: {integrity: sha512-mOW4tTzi5iTLnw+78iEq3gr8Aoq4WNRGpmSlrogqaiCBoR1HFhpU4JkpQFOHfeYx3ReVIFWOQJS4aZBRvuZ6mA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-create-regexp-features-plugin': 7.21.0(@babel/core@7.20.12) + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-transform-new-target@7.18.6(@babel/core@7.20.12): + resolution: {integrity: sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-transform-object-super@7.18.6(@babel/core@7.20.12): + resolution: {integrity: sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-replace-supers': 7.20.7 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-transform-parameters@7.21.3(@babel/core@7.20.12): + resolution: {integrity: sha512-Wxc+TvppQG9xWFYatvCGPvZ6+SIUxQ2ZdiBP+PHYMIjnPXD+uThCshaz4NZOnODAtBjjcVQQ/3OKs9LW28purQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-transform-property-literals@7.18.6(@babel/core@7.20.12): + resolution: {integrity: sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-transform-regenerator@7.20.5(@babel/core@7.20.12): + resolution: {integrity: sha512-kW/oO7HPBtntbsahzQ0qSE3tFvkFwnbozz3NWFhLGqH75vLEg+sCGngLlhVkePlCs3Jv0dBBHDzCHxNiFAQKCQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + regenerator-transform: 0.15.1 + dev: true + + /@babel/plugin-transform-reserved-words@7.18.6(@babel/core@7.20.12): + resolution: {integrity: sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-transform-runtime@7.19.6(@babel/core@7.20.12): + resolution: {integrity: sha512-PRH37lz4JU156lYFW1p8OxE5i7d6Sl/zV58ooyr+q1J1lnQPyg5tIiXlIwNVhJaY4W3TmOtdc8jqdXQcB1v5Yw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-module-imports': 7.18.6 + '@babel/helper-plugin-utils': 7.20.2 + babel-plugin-polyfill-corejs2: 0.3.3(@babel/core@7.20.12) + babel-plugin-polyfill-corejs3: 0.6.0(@babel/core@7.20.12) + babel-plugin-polyfill-regenerator: 0.4.1(@babel/core@7.20.12) + semver: 6.3.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-transform-shorthand-properties@7.18.6(@babel/core@7.20.12): + resolution: {integrity: sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-transform-spread@7.20.7(@babel/core@7.20.12): + resolution: {integrity: sha512-ewBbHQ+1U/VnH1fxltbJqDeWBU1oNLG8Dj11uIv3xVf7nrQu0bPGe5Rf716r7K5Qz+SqtAOVswoVunoiBtGhxw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-skip-transparent-expression-wrappers': 7.20.0 + dev: true + + /@babel/plugin-transform-sticky-regex@7.18.6(@babel/core@7.20.12): + resolution: {integrity: sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-transform-template-literals@7.18.9(@babel/core@7.20.12): + resolution: {integrity: sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-transform-typeof-symbol@7.18.9(@babel/core@7.20.12): + resolution: {integrity: sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-transform-unicode-escapes@7.18.10(@babel/core@7.20.12): + resolution: {integrity: sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-transform-unicode-regex@7.18.6(@babel/core@7.20.12): + resolution: {integrity: sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-create-regexp-features-plugin': 7.21.0(@babel/core@7.20.12) + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/preset-env@7.20.2(@babel/core@7.20.12): + resolution: {integrity: sha512-1G0efQEWR1EHkKvKHqbG+IN/QdgwfByUpM5V5QroDzGV2t3S/WXNQd693cHiHTlCFMpr9B6FkPFXDA2lQcKoDg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/compat-data': 7.21.0 + '@babel/core': 7.20.12 + '@babel/helper-compilation-targets': 7.20.7(@babel/core@7.20.12) + '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-validator-option': 7.21.0 + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.18.6(@babel/core@7.20.12) + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.20.7(@babel/core@7.20.12) + '@babel/plugin-proposal-async-generator-functions': 7.20.7(@babel/core@7.20.12) + '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.20.12) + '@babel/plugin-proposal-class-static-block': 7.21.0(@babel/core@7.20.12) + '@babel/plugin-proposal-dynamic-import': 7.18.6(@babel/core@7.20.12) + '@babel/plugin-proposal-export-namespace-from': 7.18.9(@babel/core@7.20.12) + '@babel/plugin-proposal-json-strings': 7.18.6(@babel/core@7.20.12) + '@babel/plugin-proposal-logical-assignment-operators': 7.20.7(@babel/core@7.20.12) + '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.20.12) + '@babel/plugin-proposal-numeric-separator': 7.18.6(@babel/core@7.20.12) + '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.20.12) + '@babel/plugin-proposal-optional-catch-binding': 7.18.6(@babel/core@7.20.12) + '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.20.12) + '@babel/plugin-proposal-private-methods': 7.18.6(@babel/core@7.20.12) + '@babel/plugin-proposal-private-property-in-object': 7.21.0(@babel/core@7.20.12) + '@babel/plugin-proposal-unicode-property-regex': 7.18.6(@babel/core@7.20.12) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.20.12) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.20.12) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.20.12) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.20.12) + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.20.12) + '@babel/plugin-syntax-import-assertions': 7.20.0(@babel/core@7.20.12) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.20.12) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.20.12) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.20.12) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.20.12) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.20.12) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.20.12) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.20.12) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.20.12) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.20.12) + '@babel/plugin-transform-arrow-functions': 7.20.7(@babel/core@7.20.12) + '@babel/plugin-transform-async-to-generator': 7.20.7(@babel/core@7.20.12) + '@babel/plugin-transform-block-scoped-functions': 7.18.6(@babel/core@7.20.12) + '@babel/plugin-transform-block-scoping': 7.21.0(@babel/core@7.20.12) + '@babel/plugin-transform-classes': 7.21.0(@babel/core@7.20.12) + '@babel/plugin-transform-computed-properties': 7.20.7(@babel/core@7.20.12) + '@babel/plugin-transform-destructuring': 7.21.3(@babel/core@7.20.12) + '@babel/plugin-transform-dotall-regex': 7.18.6(@babel/core@7.20.12) + '@babel/plugin-transform-duplicate-keys': 7.18.9(@babel/core@7.20.12) + '@babel/plugin-transform-exponentiation-operator': 7.18.6(@babel/core@7.20.12) + '@babel/plugin-transform-for-of': 7.21.0(@babel/core@7.20.12) + '@babel/plugin-transform-function-name': 7.18.9(@babel/core@7.20.12) + '@babel/plugin-transform-literals': 7.18.9(@babel/core@7.20.12) + '@babel/plugin-transform-member-expression-literals': 7.18.6(@babel/core@7.20.12) + '@babel/plugin-transform-modules-amd': 7.20.11(@babel/core@7.20.12) + '@babel/plugin-transform-modules-commonjs': 7.21.2(@babel/core@7.20.12) + '@babel/plugin-transform-modules-systemjs': 7.20.11(@babel/core@7.20.12) + '@babel/plugin-transform-modules-umd': 7.18.6(@babel/core@7.20.12) + '@babel/plugin-transform-named-capturing-groups-regex': 7.20.5(@babel/core@7.20.12) + '@babel/plugin-transform-new-target': 7.18.6(@babel/core@7.20.12) + '@babel/plugin-transform-object-super': 7.18.6(@babel/core@7.20.12) + '@babel/plugin-transform-parameters': 7.21.3(@babel/core@7.20.12) + '@babel/plugin-transform-property-literals': 7.18.6(@babel/core@7.20.12) + '@babel/plugin-transform-regenerator': 7.20.5(@babel/core@7.20.12) + '@babel/plugin-transform-reserved-words': 7.18.6(@babel/core@7.20.12) + '@babel/plugin-transform-shorthand-properties': 7.18.6(@babel/core@7.20.12) + '@babel/plugin-transform-spread': 7.20.7(@babel/core@7.20.12) + '@babel/plugin-transform-sticky-regex': 7.18.6(@babel/core@7.20.12) + '@babel/plugin-transform-template-literals': 7.18.9(@babel/core@7.20.12) + '@babel/plugin-transform-typeof-symbol': 7.18.9(@babel/core@7.20.12) + '@babel/plugin-transform-unicode-escapes': 7.18.10(@babel/core@7.20.12) + '@babel/plugin-transform-unicode-regex': 7.18.6(@babel/core@7.20.12) + '@babel/preset-modules': 0.1.5(@babel/core@7.20.12) + '@babel/types': 7.21.3 + babel-plugin-polyfill-corejs2: 0.3.3(@babel/core@7.20.12) + babel-plugin-polyfill-corejs3: 0.6.0(@babel/core@7.20.12) + babel-plugin-polyfill-regenerator: 0.4.1(@babel/core@7.20.12) + core-js-compat: 3.29.1 + semver: 6.3.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/preset-modules@0.1.5(@babel/core@7.20.12): + resolution: {integrity: sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/plugin-proposal-unicode-property-regex': 7.18.6(@babel/core@7.20.12) + '@babel/plugin-transform-dotall-regex': 7.18.6(@babel/core@7.20.12) + '@babel/types': 7.21.3 + esutils: 2.0.3 + dev: true + + /@babel/regjsgen@0.8.0: + resolution: {integrity: sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==} + dev: true + + /@babel/runtime@7.20.13: + resolution: {integrity: sha512-gt3PKXs0DBoL9xCvOIIZ2NEqAGZqHjAnmVbfQtB620V0uReIQutpel14KcneZuer7UioY8ALKZ7iocavvzTNFA==} + engines: {node: '>=6.9.0'} + dependencies: + regenerator-runtime: 0.13.11 + dev: true + + /@babel/template@7.20.7: + resolution: {integrity: sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.18.6 + '@babel/parser': 7.21.3 + '@babel/types': 7.21.3 + dev: true + + /@babel/traverse@7.21.3: + resolution: {integrity: sha512-XLyopNeaTancVitYZe2MlUEvgKb6YVVPXzofHgqHijCImG33b/uTurMS488ht/Hbsb2XK3U2BnSTxKVNGV3nGQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.18.6 + '@babel/generator': 7.21.3 + '@babel/helper-environment-visitor': 7.18.9 + '@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.21.3 + '@babel/types': 7.21.3 + debug: 4.3.4 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/types@7.21.3: + resolution: {integrity: sha512-sBGdETxC+/M4o/zKC0sl6sjWv62WFR/uzxrJ6uYyMLZOUlPnwzw0tKgVHOXxaAd5l2g8pEDM5RZ495GPQI77kg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-string-parser': 7.19.4 + '@babel/helper-validator-identifier': 7.19.1 + to-fast-properties: 2.0.0 + dev: true + + /@colors/colors@1.5.0: + resolution: {integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==} + engines: {node: '>=0.1.90'} + dev: true + + /@discoveryjs/json-ext@0.5.7: + resolution: {integrity: sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==} + engines: {node: '>=10.0.0'} + dev: true + + /@esbuild/android-arm64@0.17.8: + resolution: {integrity: sha512-oa/N5j6v1svZQs7EIRPqR8f+Bf8g6HBDjD/xHC02radE/NjKHK7oQmtmLxPs1iVwYyvE+Kolo6lbpfEQ9xnhxQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/android-arm@0.17.8: + resolution: {integrity: sha512-0/rb91GYKhrtbeglJXOhAv9RuYimgI8h623TplY2X+vA4EXnk3Zj1fXZreJ0J3OJJu1bwmb0W7g+2cT/d8/l/w==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/android-x64@0.17.8: + resolution: {integrity: sha512-bTliMLqD7pTOoPg4zZkXqCDuzIUguEWLpeqkNfC41ODBHwoUgZ2w5JBeYimv4oP6TDVocoYmEhZrCLQTrH89bg==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/darwin-arm64@0.17.8: + resolution: {integrity: sha512-ghAbV3ia2zybEefXRRm7+lx8J/rnupZT0gp9CaGy/3iolEXkJ6LYRq4IpQVI9zR97ID80KJVoUlo3LSeA/sMAg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@esbuild/darwin-x64@0.17.8: + resolution: {integrity: sha512-n5WOpyvZ9TIdv2V1K3/iIkkJeKmUpKaCTdun9buhGRWfH//osmUjlv4Z5mmWdPWind/VGcVxTHtLfLCOohsOXw==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@esbuild/freebsd-arm64@0.17.8: + resolution: {integrity: sha512-a/SATTaOhPIPFWvHZDoZYgxaZRVHn0/LX1fHLGfZ6C13JqFUZ3K6SMD6/HCtwOQ8HnsNaEeokdiDSFLuizqv5A==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/freebsd-x64@0.17.8: + resolution: {integrity: sha512-xpFJb08dfXr5+rZc4E+ooZmayBW6R3q59daCpKZ/cDU96/kvDM+vkYzNeTJCGd8rtO6fHWMq5Rcv/1cY6p6/0Q==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-arm64@0.17.8: + resolution: {integrity: sha512-v3iwDQuDljLTxpsqQDl3fl/yihjPAyOguxuloON9kFHYwopeJEf1BkDXODzYyXEI19gisEsQlG1bM65YqKSIww==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-arm@0.17.8: + resolution: {integrity: sha512-6Ij8gfuGszcEwZpi5jQIJCVIACLS8Tz2chnEBfYjlmMzVsfqBP1iGmHQPp7JSnZg5xxK9tjCc+pJ2WtAmPRFVA==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-ia32@0.17.8: + resolution: {integrity: sha512-8svILYKhE5XetuFk/B6raFYIyIqydQi+GngEXJgdPdI7OMKUbSd7uzR02wSY4kb53xBrClLkhH4Xs8P61Q2BaA==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-loong64@0.17.8: + resolution: {integrity: sha512-B6FyMeRJeV0NpyEOYlm5qtQfxbdlgmiGdD+QsipzKfFky0K5HW5Td6dyK3L3ypu1eY4kOmo7wW0o94SBqlqBSA==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-mips64el@0.17.8: + resolution: {integrity: sha512-CCb67RKahNobjm/eeEqeD/oJfJlrWyw29fgiyB6vcgyq97YAf3gCOuP6qMShYSPXgnlZe/i4a8WFHBw6N8bYAA==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-ppc64@0.17.8: + resolution: {integrity: sha512-bytLJOi55y55+mGSdgwZ5qBm0K9WOCh0rx+vavVPx+gqLLhxtSFU0XbeYy/dsAAD6xECGEv4IQeFILaSS2auXw==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-riscv64@0.17.8: + resolution: {integrity: sha512-2YpRyQJmKVBEHSBLa8kBAtbhucaclb6ex4wchfY0Tj3Kg39kpjeJ9vhRU7x4mUpq8ISLXRXH1L0dBYjAeqzZAw==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-s390x@0.17.8: + resolution: {integrity: sha512-QgbNY/V3IFXvNf11SS6exkpVcX0LJcob+0RWCgV9OiDAmVElnxciHIisoSix9uzYzScPmS6dJFbZULdSAEkQVw==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-x64@0.17.8: + resolution: {integrity: sha512-mM/9S0SbAFDBc4OPoyP6SEOo5324LpUxdpeIUUSrSTOfhHU9hEfqRngmKgqILqwx/0DVJBzeNW7HmLEWp9vcOA==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/netbsd-x64@0.17.8: + resolution: {integrity: sha512-eKUYcWaWTaYr9zbj8GertdVtlt1DTS1gNBWov+iQfWuWyuu59YN6gSEJvFzC5ESJ4kMcKR0uqWThKUn5o8We6Q==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/openbsd-x64@0.17.8: + resolution: {integrity: sha512-Vc9J4dXOboDyMXKD0eCeW0SIeEzr8K9oTHJU+Ci1mZc5njPfhKAqkRt3B/fUNU7dP+mRyralPu8QUkiaQn7iIg==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/sunos-x64@0.17.8: + resolution: {integrity: sha512-0xvOTNuPXI7ft1LYUgiaXtpCEjp90RuBBYovdd2lqAFxje4sEucurg30M1WIm03+3jxByd3mfo+VUmPtRSVuOw==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-arm64@0.17.8: + resolution: {integrity: sha512-G0JQwUI5WdEFEnYNKzklxtBheCPkuDdu1YrtRrjuQv30WsYbkkoixKxLLv8qhJmNI+ATEWquZe/N0d0rpr55Mg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-ia32@0.17.8: + resolution: {integrity: sha512-Fqy63515xl20OHGFykjJsMnoIWS+38fqfg88ClvPXyDbLtgXal2DTlhb1TfTX34qWi3u4I7Cq563QcHpqgLx8w==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-x64@0.17.8: + resolution: {integrity: sha512-1iuezdyDNngPnz8rLRDO2C/ZZ/emJLb72OsZeqQ6gL6Avko/XCXZw+NuxBSNhBAP13Hie418V7VMt9et1FMvpg==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@gar/promisify@1.1.3: + resolution: {integrity: sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==} + dev: true + + /@istanbuljs/load-nyc-config@1.1.0: + resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==} + engines: {node: '>=8'} + dependencies: + camelcase: 5.3.1 + find-up: 4.1.0 + get-package-type: 0.1.0 + js-yaml: 3.14.1 + resolve-from: 5.0.0 + dev: true + + /@istanbuljs/schema@0.1.3: + resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} + engines: {node: '>=8'} + dev: true + + /@jridgewell/gen-mapping@0.1.1: + resolution: {integrity: sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/set-array': 1.1.2 + '@jridgewell/sourcemap-codec': 1.4.14 + dev: true + + /@jridgewell/gen-mapping@0.3.2: + resolution: {integrity: sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/set-array': 1.1.2 + '@jridgewell/sourcemap-codec': 1.4.14 + '@jridgewell/trace-mapping': 0.3.17 + dev: true + + /@jridgewell/resolve-uri@3.1.0: + resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==} + engines: {node: '>=6.0.0'} + dev: true + + /@jridgewell/set-array@1.1.2: + resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} + engines: {node: '>=6.0.0'} + dev: true + + /@jridgewell/source-map@0.3.2: + resolution: {integrity: sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==} + dependencies: + '@jridgewell/gen-mapping': 0.3.2 + '@jridgewell/trace-mapping': 0.3.17 + dev: true + + /@jridgewell/sourcemap-codec@1.4.14: + resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} + dev: true + + /@jridgewell/trace-mapping@0.3.17: + resolution: {integrity: sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==} + dependencies: + '@jridgewell/resolve-uri': 3.1.0 + '@jridgewell/sourcemap-codec': 1.4.14 + dev: true + + /@leichtgewicht/ip-codec@2.0.4: + resolution: {integrity: sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==} + dev: true + + /@ngtools/webpack@15.2.4(@angular/compiler-cli@15.2.0)(typescript@4.9.4)(webpack@5.76.1): + resolution: {integrity: sha512-cQ7MsRoGJgPOVnpvFgWhygeSe6zJ0ITiUhjmmuOgpNDfYkrgYxN3Ot/qvQefFei+oGZ1JJ9bRb8lcPKL/apoBQ==} + engines: {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': ^15.0.0 + typescript: '>=4.8.2 <5.0' + webpack: ^5.54.0 + dependencies: + '@angular/compiler-cli': 15.2.0(@angular/compiler@15.2.0)(typescript@4.9.4) + typescript: 4.9.4 + webpack: 5.76.1(esbuild@0.17.8) + dev: true + + /@nodelib/fs.scandir@2.1.5: + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} + dependencies: + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 + dev: true + + /@nodelib/fs.stat@2.0.5: + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} + dev: true + + /@nodelib/fs.walk@1.2.8: + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} + dependencies: + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.15.0 + dev: true + + /@npmcli/fs@2.1.2: + resolution: {integrity: sha512-yOJKRvohFOaLqipNtwYB9WugyZKhC/DZC4VYPmpaCzDBrA8YpK3qHZ8/HGscMnE4GqbkLNuVcCnxkeQEdGt6LQ==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + dependencies: + '@gar/promisify': 1.1.3 + semver: 7.3.8 + dev: true + + /@npmcli/fs@3.1.0: + resolution: {integrity: sha512-7kZUAaLscfgbwBQRbvdMYaZOWyMEcPTH/tJjnyAWJ/dvvs9Ef+CERx/qJb9GExJpl1qipaDGn7KqHnFGGixd0w==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + dependencies: + semver: 7.3.8 + dev: true + + /@npmcli/git@4.0.4: + resolution: {integrity: sha512-5yZghx+u5M47LghaybLCkdSyFzV/w4OuH12d96HO389Ik9CDsLaDZJVynSGGVJOLn6gy/k7Dz5XYcplM3uxXRg==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + dependencies: + '@npmcli/promise-spawn': 6.0.2 + lru-cache: 7.18.3 + npm-pick-manifest: 8.0.1 + proc-log: 3.0.0 + promise-inflight: 1.0.1 + promise-retry: 2.0.1 + semver: 7.3.8 + which: 3.0.0 + transitivePeerDependencies: + - bluebird + dev: true + + /@npmcli/installed-package-contents@2.0.2: + resolution: {integrity: sha512-xACzLPhnfD51GKvTOOuNX2/V4G4mz9/1I2MfDoye9kBM3RYe5g2YbscsaGoTlaWqkxeiapBWyseULVKpSVHtKQ==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + hasBin: true + dependencies: + npm-bundled: 3.0.0 + npm-normalize-package-bin: 3.0.0 + dev: true + + /@npmcli/move-file@2.0.1: + resolution: {integrity: sha512-mJd2Z5TjYWq/ttPLLGqArdtnC74J6bOzg4rMDnN+p1xTacZ2yPRCk2y0oSWQtygLR9YVQXgOcONrwtnk3JupxQ==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + deprecated: This functionality has been moved to @npmcli/fs + dependencies: + mkdirp: 1.0.4 + rimraf: 3.0.2 + dev: true + + /@npmcli/node-gyp@3.0.0: + resolution: {integrity: sha512-gp8pRXC2oOxu0DUE1/M3bYtb1b3/DbJ5aM113+XJBgfXdussRAsX0YOrOhdd8WvnAR6auDBvJomGAkLKA5ydxA==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + dev: true + + /@npmcli/promise-spawn@6.0.2: + resolution: {integrity: sha512-gGq0NJkIGSwdbUt4yhdF8ZrmkGKVz9vAdVzpOfnom+V8PLSmSOVhZwbNvZZS1EYcJN5hzzKBxmmVVAInM6HQLg==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + dependencies: + which: 3.0.0 + dev: true + + /@npmcli/run-script@6.0.0: + resolution: {integrity: sha512-ql+AbRur1TeOdl1FY+RAwGW9fcr4ZwiVKabdvm93mujGREVuVLbdkXRJDrkTXSdCjaxYydr1wlA2v67jxWG5BQ==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + dependencies: + '@npmcli/node-gyp': 3.0.0 + '@npmcli/promise-spawn': 6.0.2 + node-gyp: 9.3.1 + read-package-json-fast: 3.0.2 + which: 3.0.0 + transitivePeerDependencies: + - bluebird + - supports-color + dev: true + + /@schematics/angular@15.2.4: + resolution: {integrity: sha512-P9axwKDXEDrGXYcoCuhwv4guhvtIjDCvyZMsQw8IMpfAacTYajka+T3mZrzyTe96Uhu0JwcAW5iUlOZAJhPEdQ==} + engines: {node: ^14.20.0 || ^16.13.0 || >=18.10.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} + dependencies: + '@angular-devkit/core': 15.2.4(chokidar@3.5.3) + '@angular-devkit/schematics': 15.2.4 + jsonc-parser: 3.2.0 + transitivePeerDependencies: + - chokidar + dev: true + + /@sigstore/protobuf-specs@0.1.0: + resolution: {integrity: sha512-a31EnjuIDSX8IXBUib3cYLDRlPMU36AWX4xS8ysLaNu4ZzUesDiPt83pgrW2X1YLMe5L2HbDyaKK5BrL4cNKaQ==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + dev: true + + /@socket.io/component-emitter@3.1.0: + resolution: {integrity: sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg==} + dev: true + + /@tootallnate/once@2.0.0: + resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==} + engines: {node: '>= 10'} + dev: true + + /@tufjs/models@1.0.1: + resolution: {integrity: sha512-AY0VoG/AXdlSOocuREfPoEW4SNhOPp/7fw6mpAxfVIny1uZ+0fEtMoCi7NhELSlqQIRLMu7RgfKhkxT+AJ+EXg==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + dependencies: + minimatch: 7.4.3 + dev: true + + /@types/body-parser@1.19.2: + resolution: {integrity: sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==} + dependencies: + '@types/connect': 3.4.35 + '@types/node': 18.15.11 + dev: true + + /@types/bonjour@3.5.10: + resolution: {integrity: sha512-p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw==} + dependencies: + '@types/node': 18.15.11 + dev: true + + /@types/connect-history-api-fallback@1.3.5: + resolution: {integrity: sha512-h8QJa8xSb1WD4fpKBDcATDNGXghFj6/3GRWG6dhmRcu0RX1Ubasur2Uvx5aeEwlf0MwblEC2bMzzMQntxnw/Cw==} + dependencies: + '@types/express-serve-static-core': 4.17.33 + '@types/node': 18.15.11 + dev: true + + /@types/connect@3.4.35: + resolution: {integrity: sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==} + dependencies: + '@types/node': 18.15.11 + dev: true + + /@types/cookie@0.4.1: + resolution: {integrity: sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==} + dev: true + + /@types/cors@2.8.13: + resolution: {integrity: sha512-RG8AStHlUiV5ysZQKq97copd2UmVYw3/pRMLefISZ3S1hK104Cwm7iLQ3fTKx+lsUH2CE8FlLaYeEA2LSeqYUA==} + dependencies: + '@types/node': 18.15.11 + dev: true + + /@types/eslint-scope@3.7.4: + resolution: {integrity: sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==} + dependencies: + '@types/eslint': 8.37.0 + '@types/estree': 0.0.51 + dev: true + + /@types/eslint@8.37.0: + resolution: {integrity: sha512-Piet7dG2JBuDIfohBngQ3rCt7MgO9xCO4xIMKxBThCq5PNRB91IjlJ10eJVwfoNtvTErmxLzwBZ7rHZtbOMmFQ==} + dependencies: + '@types/estree': 0.0.51 + '@types/json-schema': 7.0.11 + dev: true + + /@types/estree@0.0.51: + resolution: {integrity: sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==} + dev: true + + /@types/express-serve-static-core@4.17.33: + resolution: {integrity: sha512-TPBqmR/HRYI3eC2E5hmiivIzv+bidAfXofM+sbonAGvyDhySGw9/PQZFt2BLOrjUUR++4eJVpx6KnLQK1Fk9tA==} + dependencies: + '@types/node': 18.15.11 + '@types/qs': 6.9.7 + '@types/range-parser': 1.2.4 + dev: true + + /@types/express@4.17.17: + resolution: {integrity: sha512-Q4FmmuLGBG58btUnfS1c1r/NQdlp3DMfGDGig8WhfpA2YRUtEkxAjkZb0yvplJGYdF1fsQ81iMDcH24sSCNC/Q==} + dependencies: + '@types/body-parser': 1.19.2 + '@types/express-serve-static-core': 4.17.33 + '@types/qs': 6.9.7 + '@types/serve-static': 1.15.1 + dev: true + + /@types/http-proxy@1.17.10: + resolution: {integrity: sha512-Qs5aULi+zV1bwKAg5z1PWnDXWmsn+LxIvUGv6E2+OOMYhclZMO+OXd9pYVf2gLykf2I7IV2u7oTHwChPNsvJ7g==} + dependencies: + '@types/node': 18.15.11 + dev: true + + /@types/jasmine@4.3.0: + resolution: {integrity: sha512-u1jWakf8CWvLfSEZyxmzkgBzOEvXH/szpT0e6G8BTkx5Eu0BhDn7sbc5dz0JBN/6Wwm9rBe+JAsk9tJRyH9ZkA==} + dev: true + + /@types/json-schema@7.0.11: + resolution: {integrity: sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==} + dev: true + + /@types/mime@3.0.1: + resolution: {integrity: sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA==} + dev: true + + /@types/node@18.15.11: + resolution: {integrity: sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q==} + dev: true + + /@types/parse-json@4.0.0: + resolution: {integrity: sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==} + dev: true + + /@types/qs@6.9.7: + resolution: {integrity: sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==} + dev: true + + /@types/range-parser@1.2.4: + resolution: {integrity: sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==} + dev: true + + /@types/retry@0.12.0: + resolution: {integrity: sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==} + dev: true + + /@types/serve-index@1.9.1: + resolution: {integrity: sha512-d/Hs3nWDxNL2xAczmOVZNj92YZCS6RGxfBPjKzuu/XirCgXdpKEb88dYNbrYGint6IVWLNP+yonwVAuRC0T2Dg==} + dependencies: + '@types/express': 4.17.17 + dev: true + + /@types/serve-static@1.15.1: + resolution: {integrity: sha512-NUo5XNiAdULrJENtJXZZ3fHtfMolzZwczzBbnAeBbqBwG+LaG6YaJtuwzwGSQZ2wsCrxjEhNNjAkKigy3n8teQ==} + dependencies: + '@types/mime': 3.0.1 + '@types/node': 18.15.11 + dev: true + + /@types/sockjs@0.3.33: + resolution: {integrity: sha512-f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw==} + dependencies: + '@types/node': 18.15.11 + dev: true + + /@types/ws@8.5.4: + resolution: {integrity: sha512-zdQDHKUgcX/zBc4GrwsE/7dVdAD8JR4EuiAXiiUhhfyIJXXb2+PrGshFyeXWQPMmmZ2XxgaqclgpIC7eTXc1mg==} + dependencies: + '@types/node': 18.15.11 + dev: true + + /@webassemblyjs/ast@1.11.1: + resolution: {integrity: sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==} + dependencies: + '@webassemblyjs/helper-numbers': 1.11.1 + '@webassemblyjs/helper-wasm-bytecode': 1.11.1 + dev: true + + /@webassemblyjs/floating-point-hex-parser@1.11.1: + resolution: {integrity: sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==} + dev: true + + /@webassemblyjs/helper-api-error@1.11.1: + resolution: {integrity: sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==} + dev: true + + /@webassemblyjs/helper-buffer@1.11.1: + resolution: {integrity: sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==} + dev: true + + /@webassemblyjs/helper-numbers@1.11.1: + resolution: {integrity: sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==} + dependencies: + '@webassemblyjs/floating-point-hex-parser': 1.11.1 + '@webassemblyjs/helper-api-error': 1.11.1 + '@xtuc/long': 4.2.2 + dev: true + + /@webassemblyjs/helper-wasm-bytecode@1.11.1: + resolution: {integrity: sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==} + dev: true + + /@webassemblyjs/helper-wasm-section@1.11.1: + resolution: {integrity: sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==} + dependencies: + '@webassemblyjs/ast': 1.11.1 + '@webassemblyjs/helper-buffer': 1.11.1 + '@webassemblyjs/helper-wasm-bytecode': 1.11.1 + '@webassemblyjs/wasm-gen': 1.11.1 + dev: true + + /@webassemblyjs/ieee754@1.11.1: + resolution: {integrity: sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==} + dependencies: + '@xtuc/ieee754': 1.2.0 + dev: true + + /@webassemblyjs/leb128@1.11.1: + resolution: {integrity: sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==} + dependencies: + '@xtuc/long': 4.2.2 + dev: true + + /@webassemblyjs/utf8@1.11.1: + resolution: {integrity: sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==} + dev: true + + /@webassemblyjs/wasm-edit@1.11.1: + resolution: {integrity: sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==} + dependencies: + '@webassemblyjs/ast': 1.11.1 + '@webassemblyjs/helper-buffer': 1.11.1 + '@webassemblyjs/helper-wasm-bytecode': 1.11.1 + '@webassemblyjs/helper-wasm-section': 1.11.1 + '@webassemblyjs/wasm-gen': 1.11.1 + '@webassemblyjs/wasm-opt': 1.11.1 + '@webassemblyjs/wasm-parser': 1.11.1 + '@webassemblyjs/wast-printer': 1.11.1 + dev: true + + /@webassemblyjs/wasm-gen@1.11.1: + resolution: {integrity: sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==} + dependencies: + '@webassemblyjs/ast': 1.11.1 + '@webassemblyjs/helper-wasm-bytecode': 1.11.1 + '@webassemblyjs/ieee754': 1.11.1 + '@webassemblyjs/leb128': 1.11.1 + '@webassemblyjs/utf8': 1.11.1 + dev: true + + /@webassemblyjs/wasm-opt@1.11.1: + resolution: {integrity: sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==} + dependencies: + '@webassemblyjs/ast': 1.11.1 + '@webassemblyjs/helper-buffer': 1.11.1 + '@webassemblyjs/wasm-gen': 1.11.1 + '@webassemblyjs/wasm-parser': 1.11.1 + dev: true + + /@webassemblyjs/wasm-parser@1.11.1: + resolution: {integrity: sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==} + dependencies: + '@webassemblyjs/ast': 1.11.1 + '@webassemblyjs/helper-api-error': 1.11.1 + '@webassemblyjs/helper-wasm-bytecode': 1.11.1 + '@webassemblyjs/ieee754': 1.11.1 + '@webassemblyjs/leb128': 1.11.1 + '@webassemblyjs/utf8': 1.11.1 + dev: true + + /@webassemblyjs/wast-printer@1.11.1: + resolution: {integrity: sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==} + dependencies: + '@webassemblyjs/ast': 1.11.1 + '@xtuc/long': 4.2.2 + dev: true + + /@xtuc/ieee754@1.2.0: + resolution: {integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==} + dev: true + + /@xtuc/long@4.2.2: + resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==} + dev: true + + /@yarnpkg/lockfile@1.1.0: + resolution: {integrity: sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==} + dev: true + + /abab@2.0.6: + resolution: {integrity: sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==} + dev: true + + /abbrev@1.1.1: + resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==} + dev: true + + /accepts@1.3.8: + resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} + engines: {node: '>= 0.6'} + dependencies: + mime-types: 2.1.35 + negotiator: 0.6.3 + dev: true + + /acorn-import-assertions@1.8.0(acorn@8.8.2): + resolution: {integrity: sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==} + peerDependencies: + acorn: ^8 + dependencies: + acorn: 8.8.2 + dev: true + + /acorn@8.8.2: + resolution: {integrity: sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==} + engines: {node: '>=0.4.0'} + hasBin: true + dev: true + + /adjust-sourcemap-loader@4.0.0: + resolution: {integrity: sha512-OXwN5b9pCUXNQHJpwwD2qP40byEmSgzj8B4ydSN0uMNYWiFmJ6x6KwUllMmfk8Rwu/HJDFR7U8ubsWBoN0Xp0A==} + engines: {node: '>=8.9'} + dependencies: + loader-utils: 2.0.4 + regex-parser: 2.2.11 + dev: true + + /agent-base@6.0.2: + resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} + engines: {node: '>= 6.0.0'} + dependencies: + debug: 4.3.4 + transitivePeerDependencies: + - supports-color + dev: true + + /agentkeepalive@4.3.0: + resolution: {integrity: sha512-7Epl1Blf4Sy37j4v9f9FjICCh4+KAQOyXgHEwlyBiAQLbhKdq/i2QQU3amQalS/wPhdPzDXPL5DMR5bkn+YeWg==} + engines: {node: '>= 8.0.0'} + dependencies: + debug: 4.3.4 + depd: 2.0.0 + humanize-ms: 1.2.1 + transitivePeerDependencies: + - supports-color + dev: true + + /aggregate-error@3.1.0: + resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} + engines: {node: '>=8'} + dependencies: + clean-stack: 2.2.0 + indent-string: 4.0.0 + dev: true + + /ajv-formats@2.1.1(ajv@8.12.0): + resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} + peerDependencies: + ajv: ^8.0.0 + peerDependenciesMeta: + ajv: + optional: true + dependencies: + ajv: 8.12.0 + dev: true + + /ajv-keywords@3.5.2(ajv@6.12.6): + resolution: {integrity: sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==} + peerDependencies: + ajv: ^6.9.1 + dependencies: + ajv: 6.12.6 + dev: true + + /ajv-keywords@5.1.0(ajv@8.12.0): + resolution: {integrity: sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==} + peerDependencies: + ajv: ^8.8.2 + dependencies: + ajv: 8.12.0 + fast-deep-equal: 3.1.3 + dev: true + + /ajv@6.12.6: + resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + dependencies: + fast-deep-equal: 3.1.3 + fast-json-stable-stringify: 2.1.0 + json-schema-traverse: 0.4.1 + uri-js: 4.4.1 + dev: true + + /ajv@8.12.0: + resolution: {integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==} + dependencies: + fast-deep-equal: 3.1.3 + json-schema-traverse: 1.0.0 + require-from-string: 2.0.2 + uri-js: 4.4.1 + dev: true + + /ansi-colors@4.1.3: + resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} + engines: {node: '>=6'} + dev: true + + /ansi-escapes@4.3.2: + resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} + engines: {node: '>=8'} + dependencies: + type-fest: 0.21.3 + dev: true + + /ansi-html-community@0.0.8: + resolution: {integrity: sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==} + engines: {'0': node >= 0.8.0} + hasBin: true + dev: true + + /ansi-regex@5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + dev: true + + /ansi-styles@3.2.1: + resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} + engines: {node: '>=4'} + dependencies: + color-convert: 1.9.3 + dev: true + + /ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + dependencies: + color-convert: 2.0.1 + dev: true + + /anymatch@3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + dev: true + + /aproba@2.0.0: + resolution: {integrity: sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==} + dev: true + + /are-we-there-yet@3.0.1: + resolution: {integrity: sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + dependencies: + delegates: 1.0.0 + readable-stream: 3.6.2 + dev: true + + /argparse@1.0.10: + resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} + dependencies: + sprintf-js: 1.0.3 + dev: true + + /array-flatten@1.1.1: + resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} + dev: true + + /array-flatten@2.1.2: + resolution: {integrity: sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==} + dev: true + + /autoprefixer@10.4.13(postcss@8.4.21): + resolution: {integrity: sha512-49vKpMqcZYsJjwotvt4+h/BCjJVnhGwcLpDt5xkcaOG3eLrG/HUYLagrihYsQ+qrIBgIzX1Rw7a6L8I/ZA1Atg==} + engines: {node: ^10 || ^12 || >=14} + hasBin: true + peerDependencies: + postcss: ^8.1.0 + dependencies: + browserslist: 4.21.5 + caniuse-lite: 1.0.30001473 + fraction.js: 4.2.0 + normalize-range: 0.1.2 + picocolors: 1.0.0 + postcss: 8.4.21 + postcss-value-parser: 4.2.0 + dev: true + + /babel-loader@9.1.2(@babel/core@7.20.12)(webpack@5.76.1): + resolution: {integrity: sha512-mN14niXW43tddohGl8HPu5yfQq70iUThvFL/4QzESA7GcZoC0eVOhvWdQ8+3UlSjaDE9MVtsW9mxDY07W7VpVA==} + engines: {node: '>= 14.15.0'} + peerDependencies: + '@babel/core': ^7.12.0 + webpack: '>=5' + dependencies: + '@babel/core': 7.20.12 + find-cache-dir: 3.3.2 + schema-utils: 4.0.0 + webpack: 5.76.1(esbuild@0.17.8) + dev: true + + /babel-plugin-istanbul@6.1.1: + resolution: {integrity: sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==} + engines: {node: '>=8'} + dependencies: + '@babel/helper-plugin-utils': 7.20.2 + '@istanbuljs/load-nyc-config': 1.1.0 + '@istanbuljs/schema': 0.1.3 + istanbul-lib-instrument: 5.2.1 + test-exclude: 6.0.0 + transitivePeerDependencies: + - supports-color + dev: true + + /babel-plugin-polyfill-corejs2@0.3.3(@babel/core@7.20.12): + resolution: {integrity: sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/compat-data': 7.21.0 + '@babel/core': 7.20.12 + '@babel/helper-define-polyfill-provider': 0.3.3(@babel/core@7.20.12) + semver: 6.3.0 + transitivePeerDependencies: + - supports-color + dev: true + + /babel-plugin-polyfill-corejs3@0.6.0(@babel/core@7.20.12): + resolution: {integrity: sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-define-polyfill-provider': 0.3.3(@babel/core@7.20.12) + core-js-compat: 3.29.1 + transitivePeerDependencies: + - supports-color + dev: true + + /babel-plugin-polyfill-regenerator@0.4.1(@babel/core@7.20.12): + resolution: {integrity: sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-define-polyfill-provider': 0.3.3(@babel/core@7.20.12) + transitivePeerDependencies: + - supports-color + dev: true + + /balanced-match@1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + dev: true + + /base64-js@1.5.1: + resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} + dev: true + + /base64id@2.0.0: + resolution: {integrity: sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==} + engines: {node: ^4.5.0 || >= 5.9} + dev: true + + /batch@0.6.1: + resolution: {integrity: sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==} + dev: true + + /big.js@5.2.2: + resolution: {integrity: sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==} + dev: true + + /binary-extensions@2.2.0: + resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} + engines: {node: '>=8'} + dev: true + + /bl@4.1.0: + resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} + dependencies: + buffer: 5.7.1 + inherits: 2.0.4 + readable-stream: 3.6.2 + dev: true + + /body-parser@1.20.1: + resolution: {integrity: sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==} + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + dependencies: + bytes: 3.1.2 + content-type: 1.0.5 + debug: 2.6.9 + depd: 2.0.0 + destroy: 1.2.0 + http-errors: 2.0.0 + iconv-lite: 0.4.24 + on-finished: 2.4.1 + qs: 6.11.0 + raw-body: 2.5.1 + type-is: 1.6.18 + unpipe: 1.0.0 + transitivePeerDependencies: + - supports-color + dev: true + + /body-parser@1.20.2: + resolution: {integrity: sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==} + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + dependencies: + bytes: 3.1.2 + content-type: 1.0.5 + debug: 2.6.9 + depd: 2.0.0 + destroy: 1.2.0 + http-errors: 2.0.0 + iconv-lite: 0.4.24 + on-finished: 2.4.1 + qs: 6.11.0 + raw-body: 2.5.2 + type-is: 1.6.18 + unpipe: 1.0.0 + transitivePeerDependencies: + - supports-color + dev: true + + /bonjour-service@1.1.1: + resolution: {integrity: sha512-Z/5lQRMOG9k7W+FkeGTNjh7htqn/2LMnfOvBZ8pynNZCM9MwkQkI3zeI4oz09uWdcgmgHugVvBqxGg4VQJ5PCg==} + dependencies: + array-flatten: 2.1.2 + dns-equal: 1.0.0 + fast-deep-equal: 3.1.3 + multicast-dns: 7.2.5 + dev: true + + /boolbase@1.0.0: + resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} + dev: true + + /brace-expansion@1.1.11: + resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + dependencies: + balanced-match: 1.0.2 + concat-map: 0.0.1 + dev: true + + /brace-expansion@2.0.1: + resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} + dependencies: + balanced-match: 1.0.2 + dev: true + + /braces@3.0.2: + resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} + engines: {node: '>=8'} + dependencies: + fill-range: 7.0.1 + dev: true + + /browserslist@4.21.5: + resolution: {integrity: sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + dependencies: + caniuse-lite: 1.0.30001473 + electron-to-chromium: 1.4.345 + node-releases: 2.0.10 + update-browserslist-db: 1.0.10(browserslist@4.21.5) + dev: true + + /buffer-from@1.1.2: + resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} + dev: true + + /buffer@5.7.1: + resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} + dependencies: + base64-js: 1.5.1 + ieee754: 1.2.1 + dev: true + + /builtins@5.0.1: + resolution: {integrity: sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==} + dependencies: + semver: 7.3.8 + dev: true + + /bytes@3.0.0: + resolution: {integrity: sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==} + engines: {node: '>= 0.8'} + dev: true + + /bytes@3.1.2: + resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} + engines: {node: '>= 0.8'} + dev: true + + /cacache@16.1.3: + resolution: {integrity: sha512-/+Emcj9DAXxX4cwlLmRI9c166RuL3w30zp4R7Joiv2cQTtTtA+jeuCAjH3ZlGnYS3tKENSrKhAzVVP9GVyzeYQ==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + dependencies: + '@npmcli/fs': 2.1.2 + '@npmcli/move-file': 2.0.1 + chownr: 2.0.0 + fs-minipass: 2.1.0 + glob: 8.1.0 + infer-owner: 1.0.4 + lru-cache: 7.18.3 + minipass: 3.3.6 + minipass-collect: 1.0.2 + minipass-flush: 1.0.5 + minipass-pipeline: 1.2.4 + mkdirp: 1.0.4 + p-map: 4.0.0 + promise-inflight: 1.0.1 + rimraf: 3.0.2 + ssri: 9.0.1 + tar: 6.1.13 + unique-filename: 2.0.1 + transitivePeerDependencies: + - bluebird + dev: true + + /cacache@17.0.4: + resolution: {integrity: sha512-Z/nL3gU+zTUjz5pCA5vVjYM8pmaw2kxM7JEiE0fv3w77Wj+sFbi70CrBruUWH0uNcEdvLDixFpgA2JM4F4DBjA==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + dependencies: + '@npmcli/fs': 3.1.0 + fs-minipass: 3.0.1 + glob: 8.1.0 + lru-cache: 7.18.3 + minipass: 4.2.5 + minipass-collect: 1.0.2 + minipass-flush: 1.0.5 + minipass-pipeline: 1.2.4 + p-map: 4.0.0 + promise-inflight: 1.0.1 + ssri: 10.0.1 + tar: 6.1.13 + unique-filename: 3.0.0 + transitivePeerDependencies: + - bluebird + dev: true + + /cacache@17.0.5: + resolution: {integrity: sha512-Y/PRQevNSsjAPWykl9aeGz8Pr+OI6BYM9fYDNMvOkuUiG9IhG4LEmaYrZZZvioMUEQ+cBCxT0v8wrnCURccyKA==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + dependencies: + '@npmcli/fs': 3.1.0 + fs-minipass: 3.0.1 + glob: 9.3.2 + lru-cache: 7.18.3 + minipass: 4.2.5 + minipass-collect: 1.0.2 + minipass-flush: 1.0.5 + minipass-pipeline: 1.2.4 + p-map: 4.0.0 + promise-inflight: 1.0.1 + ssri: 10.0.1 + tar: 6.1.13 + unique-filename: 3.0.0 + transitivePeerDependencies: + - bluebird + dev: true + + /call-bind@1.0.2: + resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} + dependencies: + function-bind: 1.1.1 + get-intrinsic: 1.2.0 + dev: true + + /callsites@3.1.0: + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} + dev: true + + /camelcase@5.3.1: + resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} + engines: {node: '>=6'} + dev: true + + /caniuse-lite@1.0.30001473: + resolution: {integrity: sha512-ewDad7+D2vlyy+E4UJuVfiBsU69IL+8oVmTuZnH5Q6CIUbxNfI50uVpRHbUPDD6SUaN2o0Lh4DhTrvLG/Tn1yg==} + dev: true + + /chalk@2.4.2: + resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} + engines: {node: '>=4'} + dependencies: + ansi-styles: 3.2.1 + escape-string-regexp: 1.0.5 + supports-color: 5.5.0 + dev: true + + /chalk@4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + dev: true + + /chardet@0.7.0: + resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} + dev: true + + /chokidar@3.5.3: + resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} + engines: {node: '>= 8.10.0'} + dependencies: + anymatch: 3.1.3 + braces: 3.0.2 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.6.0 + optionalDependencies: + fsevents: 2.3.2 + dev: true + + /chownr@2.0.0: + resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==} + engines: {node: '>=10'} + dev: true + + /chrome-trace-event@1.0.3: + resolution: {integrity: sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==} + engines: {node: '>=6.0'} + dev: true + + /clean-stack@2.2.0: + resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} + engines: {node: '>=6'} + dev: true + + /cli-cursor@3.1.0: + resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} + engines: {node: '>=8'} + dependencies: + restore-cursor: 3.1.0 + dev: true + + /cli-spinners@2.7.0: + resolution: {integrity: sha512-qu3pN8Y3qHNgE2AFweciB1IfMnmZ/fsNTEE+NOFjmGB2F/7rLhnhzppvpCnN4FovtP26k8lHyy9ptEbNwWFLzw==} + engines: {node: '>=6'} + dev: true + + /cli-width@3.0.0: + resolution: {integrity: sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==} + engines: {node: '>= 10'} + dev: true + + /cliui@7.0.4: + resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==} + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 7.0.0 + dev: true + + /cliui@8.0.1: + resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} + engines: {node: '>=12'} + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 7.0.0 + dev: true + + /clone-deep@4.0.1: + resolution: {integrity: sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==} + engines: {node: '>=6'} + dependencies: + is-plain-object: 2.0.4 + kind-of: 6.0.3 + shallow-clone: 3.0.1 + dev: true + + /clone@1.0.4: + resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} + engines: {node: '>=0.8'} + dev: true + + /color-convert@1.9.3: + resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} + dependencies: + color-name: 1.1.3 + dev: true + + /color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + dependencies: + color-name: 1.1.4 + dev: true + + /color-name@1.1.3: + resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} + dev: true + + /color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + dev: true + + /color-support@1.1.3: + resolution: {integrity: sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==} + hasBin: true + dev: true + + /colorette@2.0.19: + resolution: {integrity: sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==} + dev: true + + /commander@2.20.3: + resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} + dev: true + + /commondir@1.0.1: + resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} + dev: true + + /compressible@2.0.18: + resolution: {integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==} + engines: {node: '>= 0.6'} + dependencies: + mime-db: 1.52.0 + dev: true + + /compression@1.7.4: + resolution: {integrity: sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==} + engines: {node: '>= 0.8.0'} + dependencies: + accepts: 1.3.8 + bytes: 3.0.0 + compressible: 2.0.18 + debug: 2.6.9 + on-headers: 1.0.2 + safe-buffer: 5.1.2 + vary: 1.1.2 + transitivePeerDependencies: + - supports-color + dev: true + + /concat-map@0.0.1: + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + dev: true + + /connect-history-api-fallback@2.0.0: + resolution: {integrity: sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==} + engines: {node: '>=0.8'} + dev: true + + /connect@3.7.0: + resolution: {integrity: sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==} + engines: {node: '>= 0.10.0'} + dependencies: + debug: 2.6.9 + finalhandler: 1.1.2 + parseurl: 1.3.3 + utils-merge: 1.0.1 + transitivePeerDependencies: + - supports-color + dev: true + + /console-control-strings@1.1.0: + resolution: {integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==} + dev: true + + /content-disposition@0.5.4: + resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} + engines: {node: '>= 0.6'} + dependencies: + safe-buffer: 5.2.1 + dev: true + + /content-type@1.0.5: + resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} + engines: {node: '>= 0.6'} + dev: true + + /convert-source-map@1.9.0: + resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} + dev: true + + /cookie-signature@1.0.6: + resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==} + dev: true + + /cookie@0.4.2: + resolution: {integrity: sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==} + engines: {node: '>= 0.6'} + dev: true + + /cookie@0.5.0: + resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==} + engines: {node: '>= 0.6'} + dev: true + + /copy-anything@2.0.6: + resolution: {integrity: sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==} + dependencies: + is-what: 3.14.1 + dev: true + + /copy-webpack-plugin@11.0.0(webpack@5.76.1): + resolution: {integrity: sha512-fX2MWpamkW0hZxMEg0+mYnA40LTosOSa5TqZ9GYIBzyJa9C3QUaMPSE2xAi/buNr8u89SfD9wHSQVBzrRa/SOQ==} + engines: {node: '>= 14.15.0'} + peerDependencies: + webpack: ^5.1.0 + dependencies: + fast-glob: 3.2.12 + glob-parent: 6.0.2 + globby: 13.1.3 + normalize-path: 3.0.0 + schema-utils: 4.0.0 + serialize-javascript: 6.0.1 + webpack: 5.76.1(esbuild@0.17.8) + dev: true + + /core-js-compat@3.29.1: + resolution: {integrity: sha512-QmchCua884D8wWskMX8tW5ydINzd8oSJVx38lx/pVkFGqztxt73GYre3pm/hyYq8bPf+MW5In4I/uRShFDsbrA==} + dependencies: + browserslist: 4.21.5 + dev: true + + /core-util-is@1.0.3: + resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} + dev: true + + /cors@2.8.5: + resolution: {integrity: sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==} + engines: {node: '>= 0.10'} + dependencies: + object-assign: 4.1.1 + vary: 1.1.2 + dev: true + + /cosmiconfig@7.1.0: + resolution: {integrity: sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==} + engines: {node: '>=10'} + dependencies: + '@types/parse-json': 4.0.0 + import-fresh: 3.3.0 + parse-json: 5.2.0 + path-type: 4.0.0 + yaml: 1.10.2 + dev: true + + /critters@0.0.16: + resolution: {integrity: sha512-JwjgmO6i3y6RWtLYmXwO5jMd+maZt8Tnfu7VVISmEWyQqfLpB8soBswf8/2bu6SBXxtKA68Al3c+qIG1ApT68A==} + dependencies: + chalk: 4.1.2 + css-select: 4.3.0 + parse5: 6.0.1 + parse5-htmlparser2-tree-adapter: 6.0.1 + postcss: 8.4.21 + pretty-bytes: 5.6.0 + dev: true + + /cross-spawn@7.0.3: + resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} + engines: {node: '>= 8'} + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + dev: true + + /css-loader@6.7.3(webpack@5.76.1): + resolution: {integrity: sha512-qhOH1KlBMnZP8FzRO6YCH9UHXQhVMcEGLyNdb7Hv2cpcmJbW0YrddO+tG1ab5nT41KpHIYGsbeHqxB9xPu1pKQ==} + engines: {node: '>= 12.13.0'} + peerDependencies: + webpack: ^5.0.0 + dependencies: + icss-utils: 5.1.0(postcss@8.4.21) + postcss: 8.4.21 + postcss-modules-extract-imports: 3.0.0(postcss@8.4.21) + postcss-modules-local-by-default: 4.0.0(postcss@8.4.21) + postcss-modules-scope: 3.0.0(postcss@8.4.21) + postcss-modules-values: 4.0.0(postcss@8.4.21) + postcss-value-parser: 4.2.0 + semver: 7.3.8 + webpack: 5.76.1(esbuild@0.17.8) + dev: true + + /css-select@4.3.0: + resolution: {integrity: sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==} + dependencies: + boolbase: 1.0.0 + css-what: 6.1.0 + domhandler: 4.3.1 + domutils: 2.8.0 + nth-check: 2.1.1 + dev: true + + /css-what@6.1.0: + resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==} + engines: {node: '>= 6'} + dev: true + + /cssesc@3.0.0: + resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} + engines: {node: '>=4'} + hasBin: true + dev: true + + /custom-event@1.0.1: + resolution: {integrity: sha512-GAj5FOq0Hd+RsCGVJxZuKaIDXDf3h6GQoNEjFgbLLI/trgtavwUbSnZ5pVfg27DVCaWjIohryS0JFwIJyT2cMg==} + dev: true + + /date-format@4.0.14: + resolution: {integrity: sha512-39BOQLs9ZjKh0/patS9nrT8wc3ioX3/eA/zgbKNopnF2wCqJEoxywwwElATYvRsXdnOxA/OQeQoFZ3rFjVajhg==} + engines: {node: '>=4.0'} + dev: true + + /debug@2.6.9: + resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.0.0 + dev: true + + /debug@3.2.7: + resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.3 + dev: true + optional: true + + /debug@4.3.4: + resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.2 + dev: true + + /default-gateway@6.0.3: + resolution: {integrity: sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==} + engines: {node: '>= 10'} + dependencies: + execa: 5.1.1 + dev: true + + /defaults@1.0.4: + resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} + dependencies: + clone: 1.0.4 + dev: true + + /define-lazy-prop@2.0.0: + resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==} + engines: {node: '>=8'} + dev: true + + /delegates@1.0.0: + resolution: {integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==} + dev: true + + /depd@1.1.2: + resolution: {integrity: sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==} + engines: {node: '>= 0.6'} + dev: true + + /depd@2.0.0: + resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} + engines: {node: '>= 0.8'} + dev: true + + /dependency-graph@0.11.0: + resolution: {integrity: sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg==} + engines: {node: '>= 0.6.0'} + dev: true + + /destroy@1.2.0: + resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + dev: true + + /detect-node@2.1.0: + resolution: {integrity: sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==} + dev: true + + /di@0.0.1: + resolution: {integrity: sha512-uJaamHkagcZtHPqCIHZxnFrXlunQXgBOsZSUOWwFw31QJCAbyTBoHMW75YOTur5ZNx8pIeAKgf6GWIgaqqiLhA==} + dev: true + + /dir-glob@3.0.1: + resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} + engines: {node: '>=8'} + dependencies: + path-type: 4.0.0 + dev: true + + /dns-equal@1.0.0: + resolution: {integrity: sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==} + dev: true + + /dns-packet@5.5.0: + resolution: {integrity: sha512-USawdAUzRkV6xrqTjiAEp6M9YagZEzWcSUaZTcIFAiyQWW1SoI6KyId8y2+/71wbgHKQAKd+iupLv4YvEwYWvA==} + engines: {node: '>=6'} + dependencies: + '@leichtgewicht/ip-codec': 2.0.4 + dev: true + + /dom-serialize@2.2.1: + resolution: {integrity: sha512-Yra4DbvoW7/Z6LBN560ZwXMjoNOSAN2wRsKFGc4iBeso+mpIA6qj1vfdf9HpMaKAqG6wXTy+1SYEzmNpKXOSsQ==} + dependencies: + custom-event: 1.0.1 + ent: 2.2.0 + extend: 3.0.2 + void-elements: 2.0.1 + dev: true + + /dom-serializer@1.4.1: + resolution: {integrity: sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==} + dependencies: + domelementtype: 2.3.0 + domhandler: 4.3.1 + entities: 2.2.0 + dev: true + + /domelementtype@2.3.0: + resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} + dev: true + + /domhandler@4.3.1: + resolution: {integrity: sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==} + engines: {node: '>= 4'} + dependencies: + domelementtype: 2.3.0 + dev: true + + /domutils@2.8.0: + resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==} + dependencies: + dom-serializer: 1.4.1 + domelementtype: 2.3.0 + domhandler: 4.3.1 + dev: true + + /ee-first@1.1.1: + resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} + dev: true + + /electron-to-chromium@1.4.345: + resolution: {integrity: sha512-znGhOQK2TUYLICgS25uaM0a7pHy66rSxbre7l762vg9AUoCcJK+Bu+HCPWpjL/U/kK8/Hf+6E0szAUJSyVYb3Q==} + dev: true + + /emoji-regex@8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + dev: true + + /emojis-list@3.0.0: + resolution: {integrity: sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==} + engines: {node: '>= 4'} + dev: true + + /encodeurl@1.0.2: + resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} + engines: {node: '>= 0.8'} + dev: true + + /encoding@0.1.13: + resolution: {integrity: sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==} + requiresBuild: true + dependencies: + iconv-lite: 0.6.3 + dev: true + optional: true + + /engine.io-parser@5.0.6: + resolution: {integrity: sha512-tjuoZDMAdEhVnSFleYPCtdL2GXwVTGtNjoeJd9IhIG3C1xs9uwxqRNEu5WpnDZCaozwVlK/nuQhpodhXSIMaxw==} + engines: {node: '>=10.0.0'} + dev: true + + /engine.io@6.4.1: + resolution: {integrity: sha512-JFYQurD/nbsA5BSPmbaOSLa3tSVj8L6o4srSwXXY3NqE+gGUNmmPTbhn8tjzcCtSqhFgIeqef81ngny8JM25hw==} + engines: {node: '>=10.0.0'} + dependencies: + '@types/cookie': 0.4.1 + '@types/cors': 2.8.13 + '@types/node': 18.15.11 + accepts: 1.3.8 + base64id: 2.0.0 + cookie: 0.4.2 + cors: 2.8.5 + debug: 4.3.4 + engine.io-parser: 5.0.6 + ws: 8.11.0 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + dev: true + + /enhanced-resolve@5.12.0: + resolution: {integrity: sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ==} + engines: {node: '>=10.13.0'} + dependencies: + graceful-fs: 4.2.11 + tapable: 2.2.1 + dev: true + + /ent@2.2.0: + resolution: {integrity: sha512-GHrMyVZQWvTIdDtpiEXdHZnFQKzeO09apj8Cbl4pKWy4i0Oprcq17usfDt5aO63swf0JOeMWjWQE/LzgSRuWpA==} + dev: true + + /entities@2.2.0: + resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==} + dev: true + + /entities@4.4.0: + resolution: {integrity: sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA==} + engines: {node: '>=0.12'} + dev: true + + /env-paths@2.2.1: + resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} + engines: {node: '>=6'} + dev: true + + /err-code@2.0.3: + resolution: {integrity: sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==} + dev: true + + /errno@0.1.8: + resolution: {integrity: sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==} + hasBin: true + requiresBuild: true + dependencies: + prr: 1.0.1 + dev: true + optional: true + + /error-ex@1.3.2: + resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} + dependencies: + is-arrayish: 0.2.1 + dev: true + + /es-module-lexer@0.9.3: + resolution: {integrity: sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==} + dev: true + + /esbuild-wasm@0.17.8: + resolution: {integrity: sha512-zCmpxv95E0FuCmvdw1K836UHnj4EdiQnFfjTby35y3LAjRPtXMj3sbHDRHjbD8Mqg5lTwq3knacr/1qIFU51CQ==} + engines: {node: '>=12'} + hasBin: true + dev: true + + /esbuild@0.17.8: + resolution: {integrity: sha512-g24ybC3fWhZddZK6R3uD2iF/RIPnRpwJAqLov6ouX3hMbY4+tKolP0VMF3zuIYCaXun+yHwS5IPQ91N2BT191g==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + optionalDependencies: + '@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 + dev: true + + /escalade@3.1.1: + resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} + engines: {node: '>=6'} + dev: true + + /escape-html@1.0.3: + resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} + dev: true + + /escape-string-regexp@1.0.5: + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} + dev: true + + /eslint-scope@5.1.1: + resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} + engines: {node: '>=8.0.0'} + dependencies: + esrecurse: 4.3.0 + estraverse: 4.3.0 + dev: true + + /esprima@4.0.1: + resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} + engines: {node: '>=4'} + hasBin: true + dev: true + + /esrecurse@4.3.0: + resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} + engines: {node: '>=4.0'} + dependencies: + estraverse: 5.3.0 + dev: true + + /estraverse@4.3.0: + resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} + engines: {node: '>=4.0'} + dev: true + + /estraverse@5.3.0: + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} + engines: {node: '>=4.0'} + dev: true + + /esutils@2.0.3: + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} + engines: {node: '>=0.10.0'} + dev: true + + /etag@1.8.1: + resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} + engines: {node: '>= 0.6'} + dev: true + + /eventemitter-asyncresource@1.0.0: + resolution: {integrity: sha512-39F7TBIV0G7gTelxwbEqnwhp90eqCPON1k0NwNfwhgKn4Co4ybUbj2pECcXT0B3ztRKZ7Pw1JujUUgmQJHcVAQ==} + dev: true + + /eventemitter3@4.0.7: + resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==} + dev: true + + /events@3.3.0: + resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} + engines: {node: '>=0.8.x'} + dev: true + + /execa@5.1.1: + resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} + engines: {node: '>=10'} + dependencies: + cross-spawn: 7.0.3 + get-stream: 6.0.1 + human-signals: 2.1.0 + is-stream: 2.0.1 + merge-stream: 2.0.0 + npm-run-path: 4.0.1 + onetime: 5.1.2 + signal-exit: 3.0.7 + strip-final-newline: 2.0.0 + dev: true + + /express@4.18.2: + resolution: {integrity: sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==} + engines: {node: '>= 0.10.0'} + dependencies: + accepts: 1.3.8 + array-flatten: 1.1.1 + body-parser: 1.20.1 + content-disposition: 0.5.4 + content-type: 1.0.5 + cookie: 0.5.0 + cookie-signature: 1.0.6 + debug: 2.6.9 + depd: 2.0.0 + encodeurl: 1.0.2 + escape-html: 1.0.3 + etag: 1.8.1 + finalhandler: 1.2.0 + fresh: 0.5.2 + http-errors: 2.0.0 + merge-descriptors: 1.0.1 + methods: 1.1.2 + on-finished: 2.4.1 + parseurl: 1.3.3 + path-to-regexp: 0.1.7 + proxy-addr: 2.0.7 + qs: 6.11.0 + range-parser: 1.2.1 + safe-buffer: 5.2.1 + send: 0.18.0 + serve-static: 1.15.0 + setprototypeof: 1.2.0 + statuses: 2.0.1 + type-is: 1.6.18 + utils-merge: 1.0.1 + vary: 1.1.2 + transitivePeerDependencies: + - supports-color + dev: true + + /extend@3.0.2: + resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} + dev: true + + /external-editor@3.1.0: + resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} + engines: {node: '>=4'} + dependencies: + chardet: 0.7.0 + iconv-lite: 0.4.24 + tmp: 0.0.33 + dev: true + + /fast-deep-equal@3.1.3: + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + dev: true + + /fast-glob@3.2.12: + resolution: {integrity: sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==} + engines: {node: '>=8.6.0'} + dependencies: + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.5 + dev: true + + /fast-json-stable-stringify@2.1.0: + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + dev: true + + /fastq@1.15.0: + resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} + dependencies: + reusify: 1.0.4 + dev: true + + /faye-websocket@0.11.4: + resolution: {integrity: sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==} + engines: {node: '>=0.8.0'} + dependencies: + websocket-driver: 0.7.4 + dev: true + + /figures@3.2.0: + resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==} + engines: {node: '>=8'} + dependencies: + escape-string-regexp: 1.0.5 + dev: true + + /fill-range@7.0.1: + resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} + engines: {node: '>=8'} + dependencies: + to-regex-range: 5.0.1 + dev: true + + /finalhandler@1.1.2: + resolution: {integrity: sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==} + engines: {node: '>= 0.8'} + dependencies: + debug: 2.6.9 + encodeurl: 1.0.2 + escape-html: 1.0.3 + on-finished: 2.3.0 + parseurl: 1.3.3 + statuses: 1.5.0 + unpipe: 1.0.0 + transitivePeerDependencies: + - supports-color + dev: true + + /finalhandler@1.2.0: + resolution: {integrity: sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==} + engines: {node: '>= 0.8'} + dependencies: + debug: 2.6.9 + encodeurl: 1.0.2 + escape-html: 1.0.3 + on-finished: 2.4.1 + parseurl: 1.3.3 + statuses: 2.0.1 + unpipe: 1.0.0 + transitivePeerDependencies: + - supports-color + dev: true + + /find-cache-dir@3.3.2: + resolution: {integrity: sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==} + engines: {node: '>=8'} + dependencies: + commondir: 1.0.1 + make-dir: 3.1.0 + pkg-dir: 4.2.0 + dev: true + + /find-up@4.1.0: + resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} + engines: {node: '>=8'} + dependencies: + locate-path: 5.0.0 + path-exists: 4.0.0 + dev: true + + /flatted@3.2.7: + resolution: {integrity: sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==} + dev: true + + /follow-redirects@1.15.2: + resolution: {integrity: sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==} + engines: {node: '>=4.0'} + peerDependencies: + debug: '*' + peerDependenciesMeta: + debug: + optional: true + dev: true + + /forwarded@0.2.0: + resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} + engines: {node: '>= 0.6'} + dev: true + + /fraction.js@4.2.0: + resolution: {integrity: sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==} + dev: true + + /fresh@0.5.2: + resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} + engines: {node: '>= 0.6'} + dev: true + + /fs-extra@8.1.0: + resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} + engines: {node: '>=6 <7 || >=8'} + dependencies: + graceful-fs: 4.2.11 + jsonfile: 4.0.0 + universalify: 0.1.2 + dev: true + + /fs-minipass@2.1.0: + resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==} + engines: {node: '>= 8'} + dependencies: + minipass: 3.3.6 + dev: true + + /fs-minipass@3.0.1: + resolution: {integrity: sha512-MhaJDcFRTuLidHrIttu0RDGyyXs/IYHVmlcxfLAEFIWjc1vdLAkdwT7Ace2u7DbitWC0toKMl5eJZRYNVreIMw==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + dependencies: + minipass: 4.2.5 + dev: true + + /fs-monkey@1.0.3: + resolution: {integrity: sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q==} + dev: true + + /fs.realpath@1.0.0: + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + dev: true + + /fsevents@2.3.2: + resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /function-bind@1.1.1: + resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} + dev: true + + /gauge@4.0.4: + resolution: {integrity: sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + dependencies: + aproba: 2.0.0 + color-support: 1.1.3 + console-control-strings: 1.1.0 + has-unicode: 2.0.1 + signal-exit: 3.0.7 + string-width: 4.2.3 + strip-ansi: 6.0.1 + wide-align: 1.1.5 + dev: true + + /gensync@1.0.0-beta.2: + resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} + engines: {node: '>=6.9.0'} + dev: true + + /get-caller-file@2.0.5: + resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} + engines: {node: 6.* || 8.* || >= 10.*} + dev: true + + /get-intrinsic@1.2.0: + resolution: {integrity: sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==} + dependencies: + function-bind: 1.1.1 + has: 1.0.3 + has-symbols: 1.0.3 + dev: true + + /get-package-type@0.1.0: + resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==} + engines: {node: '>=8.0.0'} + dev: true + + /get-stream@6.0.1: + resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} + engines: {node: '>=10'} + dev: true + + /glob-parent@5.1.2: + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} + dependencies: + is-glob: 4.0.3 + dev: true + + /glob-parent@6.0.2: + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} + engines: {node: '>=10.13.0'} + dependencies: + is-glob: 4.0.3 + dev: true + + /glob-to-regexp@0.4.1: + resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} + dev: true + + /glob@7.2.3: + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + dev: true + + /glob@8.1.0: + resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} + engines: {node: '>=12'} + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 5.1.6 + once: 1.4.0 + dev: true + + /glob@9.3.2: + resolution: {integrity: sha512-BTv/JhKXFEHsErMte/AnfiSv8yYOLLiyH2lTg8vn02O21zWFgHPTfxtgn1QRe7NRgggUhC8hacR2Re94svHqeA==} + engines: {node: '>=16 || 14 >=14.17'} + dependencies: + fs.realpath: 1.0.0 + minimatch: 7.4.3 + minipass: 4.2.5 + path-scurry: 1.6.3 + dev: true + + /globals@11.12.0: + resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} + engines: {node: '>=4'} + dev: true + + /globby@13.1.3: + resolution: {integrity: sha512-8krCNHXvlCgHDpegPzleMq07yMYTO2sXKASmZmquEYWEmCx6J5UTRbp5RwMJkTJGtcQ44YpiUYUiN0b9mzy8Bw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + dir-glob: 3.0.1 + fast-glob: 3.2.12 + ignore: 5.2.4 + merge2: 1.4.1 + slash: 4.0.0 + dev: true + + /graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + dev: true + + /handle-thing@2.0.1: + resolution: {integrity: sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==} + dev: true + + /has-flag@3.0.0: + resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} + engines: {node: '>=4'} + dev: true + + /has-flag@4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + dev: true + + /has-symbols@1.0.3: + resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} + engines: {node: '>= 0.4'} + dev: true + + /has-unicode@2.0.1: + resolution: {integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==} + dev: true + + /has@1.0.3: + resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} + engines: {node: '>= 0.4.0'} + dependencies: + function-bind: 1.1.1 + dev: true + + /hdr-histogram-js@2.0.3: + resolution: {integrity: sha512-Hkn78wwzWHNCp2uarhzQ2SGFLU3JY8SBDDd3TAABK4fc30wm+MuPOrg5QVFVfkKOQd6Bfz3ukJEI+q9sXEkK1g==} + dependencies: + '@assemblyscript/loader': 0.10.1 + base64-js: 1.5.1 + pako: 1.0.11 + dev: true + + /hdr-histogram-percentiles-obj@3.0.0: + resolution: {integrity: sha512-7kIufnBqdsBGcSZLPJwqHT3yhk1QTsSlFsVD3kx5ixH/AlgBs9yM1q6DPhXZ8f8gtdqgh7N7/5btRLpQsS2gHw==} + dev: true + + /hosted-git-info@6.1.1: + resolution: {integrity: sha512-r0EI+HBMcXadMrugk0GCQ+6BQV39PiWAZVfq7oIckeGiN7sjRGyQxPdft3nQekFTCQbYxLBH+/axZMeH8UX6+w==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + dependencies: + lru-cache: 7.18.3 + dev: true + + /hpack.js@2.1.6: + resolution: {integrity: sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==} + dependencies: + inherits: 2.0.4 + obuf: 1.1.2 + readable-stream: 2.3.8 + wbuf: 1.7.3 + dev: true + + /html-entities@2.3.3: + resolution: {integrity: sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA==} + dev: true + + /html-escaper@2.0.2: + resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} + dev: true + + /http-cache-semantics@4.1.1: + resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==} + dev: true + + /http-deceiver@1.2.7: + resolution: {integrity: sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==} + dev: true + + /http-errors@1.6.3: + resolution: {integrity: sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==} + engines: {node: '>= 0.6'} + dependencies: + depd: 1.1.2 + inherits: 2.0.3 + setprototypeof: 1.1.0 + statuses: 1.5.0 + dev: true + + /http-errors@2.0.0: + resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} + engines: {node: '>= 0.8'} + dependencies: + depd: 2.0.0 + inherits: 2.0.4 + setprototypeof: 1.2.0 + statuses: 2.0.1 + toidentifier: 1.0.1 + dev: true + + /http-parser-js@0.5.8: + resolution: {integrity: sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==} + dev: true + + /http-proxy-agent@5.0.0: + resolution: {integrity: sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==} + engines: {node: '>= 6'} + dependencies: + '@tootallnate/once': 2.0.0 + agent-base: 6.0.2 + debug: 4.3.4 + transitivePeerDependencies: + - supports-color + dev: true + + /http-proxy-middleware@2.0.6(@types/express@4.17.17): + resolution: {integrity: sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==} + engines: {node: '>=12.0.0'} + peerDependencies: + '@types/express': ^4.17.13 + peerDependenciesMeta: + '@types/express': + optional: true + dependencies: + '@types/express': 4.17.17 + '@types/http-proxy': 1.17.10 + http-proxy: 1.18.1 + is-glob: 4.0.3 + is-plain-obj: 3.0.0 + micromatch: 4.0.5 + transitivePeerDependencies: + - debug + dev: true + + /http-proxy@1.18.1: + resolution: {integrity: sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==} + engines: {node: '>=8.0.0'} + dependencies: + eventemitter3: 4.0.7 + follow-redirects: 1.15.2 + requires-port: 1.0.0 + transitivePeerDependencies: + - debug + dev: true + + /https-proxy-agent@5.0.1: + resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} + engines: {node: '>= 6'} + dependencies: + agent-base: 6.0.2 + debug: 4.3.4 + transitivePeerDependencies: + - supports-color + dev: true + + /human-signals@2.1.0: + resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} + engines: {node: '>=10.17.0'} + dev: true + + /humanize-ms@1.2.1: + resolution: {integrity: sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==} + dependencies: + ms: 2.1.3 + dev: true + + /iconv-lite@0.4.24: + resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} + engines: {node: '>=0.10.0'} + dependencies: + safer-buffer: 2.1.2 + dev: true + + /iconv-lite@0.6.3: + resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} + engines: {node: '>=0.10.0'} + dependencies: + safer-buffer: 2.1.2 + dev: true + + /icss-utils@5.1.0(postcss@8.4.21): + resolution: {integrity: sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + dependencies: + postcss: 8.4.21 + dev: true + + /ieee754@1.2.1: + resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} + dev: true + + /ignore-walk@6.0.2: + resolution: {integrity: sha512-ezmQ1Dg2b3jVZh2Dh+ar6Eu2MqNSTkyb32HU2MAQQQX9tKM3q/UQ/9lf03lQ5hW+fOeoMnwxwkleZ0xcNp0/qg==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + dependencies: + minimatch: 7.4.3 + dev: true + + /ignore@5.2.4: + resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==} + engines: {node: '>= 4'} + dev: true + + /image-size@0.5.5: + resolution: {integrity: sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==} + engines: {node: '>=0.10.0'} + hasBin: true + requiresBuild: true + dev: true + optional: true + + /immutable@4.3.0: + resolution: {integrity: sha512-0AOCmOip+xgJwEVTQj1EfiDDOkPmuyllDuTuEX+DDXUgapLAsBIfkg3sxCYyCEA8mQqZrrxPUGjcOQ2JS3WLkg==} + dev: true + + /import-fresh@3.3.0: + resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} + engines: {node: '>=6'} + dependencies: + parent-module: 1.0.1 + resolve-from: 4.0.0 + dev: true + + /imurmurhash@0.1.4: + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} + engines: {node: '>=0.8.19'} + dev: true + + /indent-string@4.0.0: + resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} + engines: {node: '>=8'} + dev: true + + /infer-owner@1.0.4: + resolution: {integrity: sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==} + dev: true + + /inflight@1.0.6: + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + dependencies: + once: 1.4.0 + wrappy: 1.0.2 + dev: true + + /inherits@2.0.3: + resolution: {integrity: sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==} + dev: true + + /inherits@2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + dev: true + + /ini@3.0.1: + resolution: {integrity: sha512-it4HyVAUTKBc6m8e1iXWvXSTdndF7HbdN713+kvLrymxTaU4AUBWrJ4vEooP+V7fexnVD3LKcBshjGGPefSMUQ==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + dev: true + + /inquirer@8.2.4: + resolution: {integrity: sha512-nn4F01dxU8VeKfq192IjLsxu0/OmMZ4Lg3xKAns148rCaXP6ntAoEkVYZThWjwON8AlzdZZi6oqnhNbxUG9hVg==} + engines: {node: '>=12.0.0'} + dependencies: + ansi-escapes: 4.3.2 + chalk: 4.1.2 + cli-cursor: 3.1.0 + cli-width: 3.0.0 + external-editor: 3.1.0 + figures: 3.2.0 + lodash: 4.17.21 + mute-stream: 0.0.8 + ora: 5.4.1 + run-async: 2.4.1 + rxjs: 7.8.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + through: 2.3.8 + wrap-ansi: 7.0.0 + dev: true + + /ip@2.0.0: + resolution: {integrity: sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==} + dev: true + + /ipaddr.js@1.9.1: + resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} + engines: {node: '>= 0.10'} + dev: true + + /ipaddr.js@2.0.1: + resolution: {integrity: sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng==} + engines: {node: '>= 10'} + dev: true + + /is-arrayish@0.2.1: + resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} + dev: true + + /is-binary-path@2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} + dependencies: + binary-extensions: 2.2.0 + dev: true + + /is-core-module@2.11.0: + resolution: {integrity: sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==} + dependencies: + has: 1.0.3 + dev: true + + /is-docker@2.2.1: + resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} + engines: {node: '>=8'} + hasBin: true + dev: true + + /is-extglob@2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + dev: true + + /is-fullwidth-code-point@3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} + dev: true + + /is-glob@4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + dependencies: + is-extglob: 2.1.1 + dev: true + + /is-interactive@1.0.0: + resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==} + engines: {node: '>=8'} + dev: true + + /is-lambda@1.0.1: + resolution: {integrity: sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==} + dev: true + + /is-number@7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + dev: true + + /is-plain-obj@3.0.0: + resolution: {integrity: sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==} + engines: {node: '>=10'} + dev: true + + /is-plain-object@2.0.4: + resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==} + engines: {node: '>=0.10.0'} + dependencies: + isobject: 3.0.1 + dev: true + + /is-stream@2.0.1: + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} + engines: {node: '>=8'} + dev: true + + /is-unicode-supported@0.1.0: + resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} + engines: {node: '>=10'} + dev: true + + /is-what@3.14.1: + resolution: {integrity: sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==} + dev: true + + /is-wsl@2.2.0: + resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} + engines: {node: '>=8'} + dependencies: + is-docker: 2.2.1 + dev: true + + /isarray@1.0.0: + resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} + dev: true + + /isbinaryfile@4.0.10: + resolution: {integrity: sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw==} + engines: {node: '>= 8.0.0'} + dev: true + + /isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + dev: true + + /isobject@3.0.1: + resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==} + engines: {node: '>=0.10.0'} + dev: true + + /istanbul-lib-coverage@3.2.0: + resolution: {integrity: sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==} + engines: {node: '>=8'} + dev: true + + /istanbul-lib-instrument@5.2.1: + resolution: {integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==} + engines: {node: '>=8'} + dependencies: + '@babel/core': 7.21.3 + '@babel/parser': 7.21.3 + '@istanbuljs/schema': 0.1.3 + istanbul-lib-coverage: 3.2.0 + semver: 6.3.0 + transitivePeerDependencies: + - supports-color + dev: true + + /istanbul-lib-report@3.0.0: + resolution: {integrity: sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==} + engines: {node: '>=8'} + dependencies: + istanbul-lib-coverage: 3.2.0 + make-dir: 3.1.0 + supports-color: 7.2.0 + dev: true + + /istanbul-lib-source-maps@4.0.1: + resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==} + engines: {node: '>=10'} + dependencies: + debug: 4.3.4 + istanbul-lib-coverage: 3.2.0 + source-map: 0.6.1 + transitivePeerDependencies: + - supports-color + dev: true + + /istanbul-reports@3.1.5: + resolution: {integrity: sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==} + engines: {node: '>=8'} + dependencies: + html-escaper: 2.0.2 + istanbul-lib-report: 3.0.0 + dev: true + + /jasmine-core@4.5.0: + resolution: {integrity: sha512-9PMzyvhtocxb3aXJVOPqBDswdgyAeSB81QnLop4npOpbqnheaTEwPc9ZloQeVswugPManznQBjD8kWDTjlnHuw==} + dev: true + + /jest-worker@27.5.1: + resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} + engines: {node: '>= 10.13.0'} + dependencies: + '@types/node': 18.15.11 + merge-stream: 2.0.0 + supports-color: 8.1.1 + dev: true + + /js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + dev: true + + /js-yaml@3.14.1: + resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} + hasBin: true + dependencies: + argparse: 1.0.10 + esprima: 4.0.1 + dev: true + + /jsesc@0.5.0: + resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==} + hasBin: true + dev: true + + /jsesc@2.5.2: + resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} + engines: {node: '>=4'} + hasBin: true + dev: true + + /json-parse-even-better-errors@2.3.1: + resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} + dev: true + + /json-parse-even-better-errors@3.0.0: + resolution: {integrity: sha512-iZbGHafX/59r39gPwVPRBGw0QQKnA7tte5pSMrhWOW7swGsVvVTjmfyAV9pNqk8YGT7tRCdxRu8uzcgZwoDooA==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + dev: true + + /json-schema-traverse@0.4.1: + resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + dev: true + + /json-schema-traverse@1.0.0: + resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} + dev: true + + /json5@2.2.3: + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} + hasBin: true + dev: true + + /jsonc-parser@3.2.0: + resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==} + dev: true + + /jsonfile@4.0.0: + resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} + optionalDependencies: + graceful-fs: 4.2.11 + dev: true + + /jsonparse@1.3.1: + resolution: {integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==} + engines: {'0': node >= 0.2.0} + dev: true + + /karma-chrome-launcher@3.1.0: + resolution: {integrity: sha512-3dPs/n7vgz1rxxtynpzZTvb9y/GIaW8xjAwcIGttLbycqoFtI7yo1NGnQi6oFTherRE+GIhCAHZC4vEqWGhNvg==} + dependencies: + which: 1.3.1 + dev: true + + /karma-coverage@2.2.0: + resolution: {integrity: sha512-gPVdoZBNDZ08UCzdMHHhEImKrw1+PAOQOIiffv1YsvxFhBjqvo/SVXNk4tqn1SYqX0BJZT6S/59zgxiBe+9OuA==} + engines: {node: '>=10.0.0'} + dependencies: + istanbul-lib-coverage: 3.2.0 + istanbul-lib-instrument: 5.2.1 + istanbul-lib-report: 3.0.0 + istanbul-lib-source-maps: 4.0.1 + istanbul-reports: 3.1.5 + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + dev: true + + /karma-jasmine-html-reporter@2.0.0(jasmine-core@4.5.0)(karma-jasmine@5.1.0)(karma@6.4.0): + resolution: {integrity: sha512-SB8HNNiazAHXM1vGEzf8/tSyEhkfxuDdhYdPBX2Mwgzt0OuF2gicApQ+uvXLID/gXyJQgvrM9+1/2SxZFUUDIA==} + peerDependencies: + jasmine-core: ^4.0.0 + karma: ^6.0.0 + karma-jasmine: ^5.0.0 + dependencies: + jasmine-core: 4.5.0 + karma: 6.4.0 + karma-jasmine: 5.1.0(karma@6.4.0) + dev: true + + /karma-jasmine@5.1.0(karma@6.4.0): + resolution: {integrity: sha512-i/zQLFrfEpRyQoJF9fsCdTMOF5c2dK7C7OmsuKg2D0YSsuZSfQDiLuaiktbuio6F2wiCsZSnSnieIQ0ant/uzQ==} + engines: {node: '>=12'} + peerDependencies: + karma: ^6.0.0 + dependencies: + jasmine-core: 4.5.0 + karma: 6.4.0 + dev: true + + /karma-source-map-support@1.4.0: + resolution: {integrity: sha512-RsBECncGO17KAoJCYXjv+ckIz+Ii9NCi+9enk+rq6XC81ezYkb4/RHE6CTXdA7IOJqoF3wcaLfVG0CPmE5ca6A==} + dependencies: + source-map-support: 0.5.21 + dev: true + + /karma@6.4.0: + resolution: {integrity: sha512-s8m7z0IF5g/bS5ONT7wsOavhW4i4aFkzD4u4wgzAQWT4HGUeWI3i21cK2Yz6jndMAeHETp5XuNsRoyGJZXVd4w==} + engines: {node: '>= 10'} + hasBin: true + dependencies: + '@colors/colors': 1.5.0 + body-parser: 1.20.2 + braces: 3.0.2 + chokidar: 3.5.3 + connect: 3.7.0 + di: 0.0.1 + dom-serialize: 2.2.1 + glob: 7.2.3 + graceful-fs: 4.2.11 + http-proxy: 1.18.1 + isbinaryfile: 4.0.10 + lodash: 4.17.21 + log4js: 6.9.1 + mime: 2.6.0 + minimatch: 3.1.2 + mkdirp: 0.5.6 + qjobs: 1.2.0 + range-parser: 1.2.1 + rimraf: 3.0.2 + socket.io: 4.6.1 + source-map: 0.6.1 + tmp: 0.2.1 + ua-parser-js: 0.7.34 + yargs: 16.2.0 + transitivePeerDependencies: + - bufferutil + - debug + - supports-color + - utf-8-validate + dev: true + + /kind-of@6.0.3: + resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} + engines: {node: '>=0.10.0'} + dev: true + + /klona@2.0.6: + resolution: {integrity: sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==} + engines: {node: '>= 8'} + dev: true + + /less-loader@11.1.0(less@4.1.3)(webpack@5.76.1): + resolution: {integrity: sha512-C+uDBV7kS7W5fJlUjq5mPBeBVhYpTIm5gB09APT9o3n/ILeaXVsiSFTbZpTJCJwQ/Crczfn3DmfQFwxYusWFug==} + engines: {node: '>= 14.15.0'} + peerDependencies: + less: ^3.5.0 || ^4.0.0 + webpack: ^5.0.0 + dependencies: + klona: 2.0.6 + less: 4.1.3 + webpack: 5.76.1(esbuild@0.17.8) + dev: true + + /less@4.1.3: + resolution: {integrity: sha512-w16Xk/Ta9Hhyei0Gpz9m7VS8F28nieJaL/VyShID7cYvP6IL5oHeL6p4TXSDJqZE/lNv0oJ2pGVjJsRkfwm5FA==} + engines: {node: '>=6'} + hasBin: true + dependencies: + copy-anything: 2.0.6 + parse-node-version: 1.0.1 + tslib: 2.3.0 + optionalDependencies: + errno: 0.1.8 + graceful-fs: 4.2.11 + image-size: 0.5.5 + make-dir: 2.1.0 + mime: 1.6.0 + needle: 3.2.0 + source-map: 0.6.1 + transitivePeerDependencies: + - supports-color + dev: true + + /license-webpack-plugin@4.0.2(webpack@5.76.1): + resolution: {integrity: sha512-771TFWFD70G1wLTC4oU2Cw4qvtmNrIw+wRvBtn+okgHl7slJVi7zfNcdmqDL72BojM30VNJ2UHylr1o77U37Jw==} + peerDependencies: + webpack: '*' + peerDependenciesMeta: + webpack: + optional: true + webpack-sources: + optional: true + dependencies: + webpack: 5.76.1(esbuild@0.17.8) + webpack-sources: 3.2.3 + dev: true + + /lines-and-columns@1.2.4: + resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + dev: true + + /loader-runner@4.3.0: + resolution: {integrity: sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==} + engines: {node: '>=6.11.5'} + dev: true + + /loader-utils@2.0.4: + resolution: {integrity: sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==} + engines: {node: '>=8.9.0'} + dependencies: + big.js: 5.2.2 + emojis-list: 3.0.0 + json5: 2.2.3 + dev: true + + /loader-utils@3.2.1: + resolution: {integrity: sha512-ZvFw1KWS3GVyYBYb7qkmRM/WwL2TQQBxgCK62rlvm4WpVQ23Nb4tYjApUlfjrEGvOs7KHEsmyUn75OHZrJMWPw==} + engines: {node: '>= 12.13.0'} + dev: true + + /locate-path@5.0.0: + resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} + engines: {node: '>=8'} + dependencies: + p-locate: 4.1.0 + dev: true + + /lodash.debounce@4.0.8: + resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} + dev: true + + /lodash@4.17.21: + resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} + dev: true + + /log-symbols@4.1.0: + resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} + engines: {node: '>=10'} + dependencies: + chalk: 4.1.2 + is-unicode-supported: 0.1.0 + dev: true + + /log4js@6.9.1: + resolution: {integrity: sha512-1somDdy9sChrr9/f4UlzhdaGfDR2c/SaD2a4T7qEkG4jTS57/B3qmnjLYePwQ8cqWnUHZI0iAKxMBpCZICiZ2g==} + engines: {node: '>=8.0'} + dependencies: + date-format: 4.0.14 + debug: 4.3.4 + flatted: 3.2.7 + rfdc: 1.3.0 + streamroller: 3.1.5 + transitivePeerDependencies: + - supports-color + dev: true + + /lru-cache@5.1.1: + resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + dependencies: + yallist: 3.1.1 + dev: true + + /lru-cache@6.0.0: + resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} + engines: {node: '>=10'} + dependencies: + yallist: 4.0.0 + dev: true + + /lru-cache@7.18.3: + resolution: {integrity: sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==} + engines: {node: '>=12'} + dev: true + + /magic-string@0.27.0: + resolution: {integrity: sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==} + engines: {node: '>=12'} + dependencies: + '@jridgewell/sourcemap-codec': 1.4.14 + dev: true + + /magic-string@0.29.0: + resolution: {integrity: sha512-WcfidHrDjMY+eLjlU+8OvwREqHwpgCeKVBUpQ3OhYYuvfaYCUgcbuBzappNzZvg/v8onU3oQj+BYpkOJe9Iw4Q==} + engines: {node: '>=12'} + dependencies: + '@jridgewell/sourcemap-codec': 1.4.14 + dev: true + + /make-dir@2.1.0: + resolution: {integrity: sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==} + engines: {node: '>=6'} + requiresBuild: true + dependencies: + pify: 4.0.1 + semver: 5.7.1 + dev: true + optional: true + + /make-dir@3.1.0: + resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} + engines: {node: '>=8'} + dependencies: + semver: 6.3.0 + dev: true + + /make-fetch-happen@10.2.1: + resolution: {integrity: sha512-NgOPbRiaQM10DYXvN3/hhGVI2M5MtITFryzBGxHM5p4wnFxsVCbxkrBrDsk+EZ5OB4jEOT7AjDxtdF+KVEFT7w==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + dependencies: + agentkeepalive: 4.3.0 + cacache: 16.1.3 + http-cache-semantics: 4.1.1 + http-proxy-agent: 5.0.0 + https-proxy-agent: 5.0.1 + is-lambda: 1.0.1 + lru-cache: 7.18.3 + minipass: 3.3.6 + minipass-collect: 1.0.2 + minipass-fetch: 2.1.2 + 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.1 + transitivePeerDependencies: + - bluebird + - supports-color + dev: true + + /make-fetch-happen@11.0.3: + resolution: {integrity: sha512-oPLh5m10lRNNZDjJ2kP8UpboUx2uFXVaVweVe/lWut4iHWcQEmfqSVJt2ihZsFI8HbpwyyocaXbCAWf0g1ukIA==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + dependencies: + agentkeepalive: 4.3.0 + cacache: 17.0.5 + http-cache-semantics: 4.1.1 + http-proxy-agent: 5.0.0 + https-proxy-agent: 5.0.1 + is-lambda: 1.0.1 + lru-cache: 7.18.3 + minipass: 4.2.5 + minipass-fetch: 3.0.1 + 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.1 + transitivePeerDependencies: + - bluebird + - supports-color + dev: true + + /media-typer@0.3.0: + resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} + engines: {node: '>= 0.6'} + dev: true + + /memfs@3.4.13: + resolution: {integrity: sha512-omTM41g3Skpvx5dSYeZIbXKcXoAVc/AoMNwn9TKx++L/gaen/+4TTttmu8ZSch5vfVJ8uJvGbroTsIlslRg6lg==} + engines: {node: '>= 4.0.0'} + dependencies: + fs-monkey: 1.0.3 + dev: true + + /merge-descriptors@1.0.1: + resolution: {integrity: sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==} + dev: true + + /merge-stream@2.0.0: + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + dev: true + + /merge2@1.4.1: + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} + dev: true + + /methods@1.1.2: + resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} + engines: {node: '>= 0.6'} + dev: true + + /micromatch@4.0.5: + resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} + engines: {node: '>=8.6'} + dependencies: + braces: 3.0.2 + picomatch: 2.3.1 + dev: true + + /mime-db@1.52.0: + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} + engines: {node: '>= 0.6'} + dev: true + + /mime-types@2.1.35: + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} + engines: {node: '>= 0.6'} + dependencies: + mime-db: 1.52.0 + dev: true + + /mime@1.6.0: + resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} + engines: {node: '>=4'} + hasBin: true + dev: true + + /mime@2.6.0: + resolution: {integrity: sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==} + engines: {node: '>=4.0.0'} + hasBin: true + dev: true + + /mimic-fn@2.1.0: + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} + dev: true + + /mini-css-extract-plugin@2.7.2(webpack@5.76.1): + resolution: {integrity: sha512-EdlUizq13o0Pd+uCp+WO/JpkLvHRVGt97RqfeGhXqAcorYo1ypJSpkV+WDT0vY/kmh/p7wRdJNJtuyK540PXDw==} + engines: {node: '>= 12.13.0'} + peerDependencies: + webpack: ^5.0.0 + dependencies: + schema-utils: 4.0.0 + webpack: 5.76.1(esbuild@0.17.8) + dev: true + + /minimalistic-assert@1.0.1: + resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==} + dev: true + + /minimatch@3.1.2: + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + dependencies: + brace-expansion: 1.1.11 + dev: true + + /minimatch@5.1.6: + resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} + engines: {node: '>=10'} + dependencies: + brace-expansion: 2.0.1 + dev: true + + /minimatch@7.4.3: + resolution: {integrity: sha512-5UB4yYusDtkRPbRiy1cqZ1IpGNcJCGlEMG17RKzPddpyiPKoCdwohbED8g4QXT0ewCt8LTkQXuljsUfQ3FKM4A==} + engines: {node: '>=10'} + dependencies: + brace-expansion: 2.0.1 + dev: true + + /minimist@1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + dev: true + + /minipass-collect@1.0.2: + resolution: {integrity: sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==} + engines: {node: '>= 8'} + dependencies: + minipass: 3.3.6 + dev: true + + /minipass-fetch@2.1.2: + resolution: {integrity: sha512-LT49Zi2/WMROHYoqGgdlQIZh8mLPZmOrN2NdJjMXxYe4nkN6FUyuPuOAOedNJDrx0IRGg9+4guZewtp8hE6TxA==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + dependencies: + minipass: 3.3.6 + minipass-sized: 1.0.3 + minizlib: 2.1.2 + optionalDependencies: + encoding: 0.1.13 + dev: true + + /minipass-fetch@3.0.1: + resolution: {integrity: sha512-t9/wowtf7DYkwz8cfMSt0rMwiyNIBXf5CKZ3S5ZMqRqMYT0oLTp0x1WorMI9WTwvaPg21r1JbFxJMum8JrLGfw==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + dependencies: + minipass: 4.2.5 + minipass-sized: 1.0.3 + minizlib: 2.1.2 + optionalDependencies: + encoding: 0.1.13 + dev: true + + /minipass-flush@1.0.5: + resolution: {integrity: sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==} + engines: {node: '>= 8'} + dependencies: + minipass: 3.3.6 + dev: true + + /minipass-json-stream@1.0.1: + resolution: {integrity: sha512-ODqY18UZt/I8k+b7rl2AENgbWE8IDYam+undIJONvigAz8KR5GWblsFTEfQs0WODsjbSXWlm+JHEv8Gr6Tfdbg==} + dependencies: + jsonparse: 1.3.1 + minipass: 3.3.6 + dev: true + + /minipass-pipeline@1.2.4: + resolution: {integrity: sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==} + engines: {node: '>=8'} + dependencies: + minipass: 3.3.6 + dev: true + + /minipass-sized@1.0.3: + resolution: {integrity: sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==} + engines: {node: '>=8'} + dependencies: + minipass: 3.3.6 + dev: true + + /minipass@3.3.6: + resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==} + engines: {node: '>=8'} + dependencies: + yallist: 4.0.0 + dev: true + + /minipass@4.2.5: + resolution: {integrity: sha512-+yQl7SX3bIT83Lhb4BVorMAHVuqsskxRdlmO9kTpyukp8vsm2Sn/fUOV9xlnG8/a5JsypJzap21lz/y3FBMJ8Q==} + engines: {node: '>=8'} + dev: true + + /minizlib@2.1.2: + resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==} + engines: {node: '>= 8'} + dependencies: + minipass: 3.3.6 + yallist: 4.0.0 + dev: true + + /mkdirp@0.5.6: + resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} + hasBin: true + dependencies: + minimist: 1.2.8 + dev: true + + /mkdirp@1.0.4: + resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} + engines: {node: '>=10'} + hasBin: true + dev: true + + /ms@2.0.0: + resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} + dev: true + + /ms@2.1.2: + resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + dev: true + + /ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + dev: true + + /multicast-dns@7.2.5: + resolution: {integrity: sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==} + hasBin: true + dependencies: + dns-packet: 5.5.0 + thunky: 1.1.0 + dev: true + + /mute-stream@0.0.8: + resolution: {integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==} + dev: true + + /nanoid@3.3.6: + resolution: {integrity: sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + dev: true + + /needle@3.2.0: + resolution: {integrity: sha512-oUvzXnyLiVyVGoianLijF9O/RecZUf7TkBfimjGrLM4eQhXyeJwM6GeAWccwfQ9aa4gMCZKqhAOuLaMIcQxajQ==} + engines: {node: '>= 4.4.x'} + hasBin: true + requiresBuild: true + dependencies: + debug: 3.2.7 + iconv-lite: 0.6.3 + sax: 1.2.4 + transitivePeerDependencies: + - supports-color + dev: true + optional: true + + /negotiator@0.6.3: + resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} + engines: {node: '>= 0.6'} + dev: true + + /neo-async@2.6.2: + resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} + dev: true + + /nice-napi@1.0.2: + resolution: {integrity: sha512-px/KnJAJZf5RuBGcfD+Sp2pAKq0ytz8j+1NehvgIGFkvtvFrDM3T8E4x/JJODXK9WZow8RRGrbA9QQ3hs+pDhA==} + os: ['!win32'] + requiresBuild: true + dependencies: + node-addon-api: 3.2.1 + node-gyp-build: 4.6.0 + dev: true + optional: true + + /node-addon-api@3.2.1: + resolution: {integrity: sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==} + dev: true + optional: true + + /node-forge@1.3.1: + resolution: {integrity: sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==} + engines: {node: '>= 6.13.0'} + dev: true + + /node-gyp-build@4.6.0: + resolution: {integrity: sha512-NTZVKn9IylLwUzaKjkas1e4u2DLNcV4rdYagA4PWdPwW87Bi7z+BznyKSRwS/761tV/lzCGXplWsiaMjLqP2zQ==} + hasBin: true + dev: true + optional: true + + /node-gyp@9.3.1: + resolution: {integrity: sha512-4Q16ZCqq3g8awk6UplT7AuxQ35XN4R/yf/+wSAwcBUAjg7l58RTactWaP8fIDTi0FzI7YcVLujwExakZlfWkXg==} + engines: {node: ^12.13 || ^14.13 || >=16} + hasBin: true + dependencies: + env-paths: 2.2.1 + glob: 7.2.3 + graceful-fs: 4.2.11 + make-fetch-happen: 10.2.1 + nopt: 6.0.0 + npmlog: 6.0.2 + rimraf: 3.0.2 + semver: 7.3.8 + tar: 6.1.13 + which: 2.0.2 + transitivePeerDependencies: + - bluebird + - supports-color + dev: true + + /node-releases@2.0.10: + resolution: {integrity: sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==} + dev: true + + /nopt@6.0.0: + resolution: {integrity: sha512-ZwLpbTgdhuZUnZzjd7nb1ZV+4DoiC6/sfiVKok72ym/4Tlf+DFdlHYmT2JPmcNNWV6Pi3SDf1kT+A4r9RTuT9g==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + hasBin: true + dependencies: + abbrev: 1.1.1 + dev: true + + /normalize-package-data@5.0.0: + resolution: {integrity: sha512-h9iPVIfrVZ9wVYQnxFgtw1ugSvGEMOlyPWWtm8BMJhnwyEL/FLbYbTY3V3PpjI/BUK67n9PEWDu6eHzu1fB15Q==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + dependencies: + hosted-git-info: 6.1.1 + is-core-module: 2.11.0 + semver: 7.3.8 + validate-npm-package-license: 3.0.4 + dev: true + + /normalize-path@3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + dev: true + + /normalize-range@0.1.2: + resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==} + engines: {node: '>=0.10.0'} + dev: true + + /npm-bundled@3.0.0: + resolution: {integrity: sha512-Vq0eyEQy+elFpzsKjMss9kxqb9tG3YHg4dsyWuUENuzvSUWe1TCnW/vV9FkhvBk/brEDoDiVd+M1Btosa6ImdQ==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + dependencies: + npm-normalize-package-bin: 3.0.0 + dev: true + + /npm-install-checks@6.1.0: + resolution: {integrity: sha512-udSGENih/5xKh3Ex+L0PtZcOt0Pa+6ppDLnpG5D49/EhMja3LupaY9E/DtJTxyFBwE09ot7Fc+H4DywnZNWTVA==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + dependencies: + semver: 7.3.8 + dev: true + + /npm-normalize-package-bin@3.0.0: + resolution: {integrity: sha512-g+DPQSkusnk7HYXr75NtzkIP4+N81i3RPsGFidF3DzHd9MT9wWngmqoeg/fnHFz5MNdtG4w03s+QnhewSLTT2Q==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + dev: true + + /npm-package-arg@10.1.0: + resolution: {integrity: sha512-uFyyCEmgBfZTtrKk/5xDfHp6+MdrqGotX/VoOyEEl3mBwiEE5FlBaePanazJSVMPT7vKepcjYBY2ztg9A3yPIA==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + dependencies: + hosted-git-info: 6.1.1 + proc-log: 3.0.0 + semver: 7.3.8 + validate-npm-package-name: 5.0.0 + dev: true + + /npm-packlist@7.0.4: + resolution: {integrity: sha512-d6RGEuRrNS5/N84iglPivjaJPxhDbZmlbTwTDX2IbcRHG5bZCdtysYMhwiPvcF4GisXHGn7xsxv+GQ7T/02M5Q==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + dependencies: + ignore-walk: 6.0.2 + dev: true + + /npm-pick-manifest@8.0.1: + resolution: {integrity: sha512-mRtvlBjTsJvfCCdmPtiu2bdlx8d/KXtF7yNXNWe7G0Z36qWA9Ny5zXsI2PfBZEv7SXgoxTmNaTzGSbbzDZChoA==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + dependencies: + npm-install-checks: 6.1.0 + npm-normalize-package-bin: 3.0.0 + npm-package-arg: 10.1.0 + semver: 7.3.8 + dev: true + + /npm-registry-fetch@14.0.3: + resolution: {integrity: sha512-YaeRbVNpnWvsGOjX2wk5s85XJ7l1qQBGAp724h8e2CZFFhMSuw9enom7K1mWVUtvXO1uUSFIAPofQK0pPN0ZcA==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + dependencies: + make-fetch-happen: 11.0.3 + minipass: 4.2.5 + minipass-fetch: 3.0.1 + minipass-json-stream: 1.0.1 + minizlib: 2.1.2 + npm-package-arg: 10.1.0 + proc-log: 3.0.0 + transitivePeerDependencies: + - bluebird + - supports-color + dev: true + + /npm-run-path@4.0.1: + resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} + engines: {node: '>=8'} + dependencies: + path-key: 3.1.1 + dev: true + + /npmlog@6.0.2: + resolution: {integrity: sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + dependencies: + are-we-there-yet: 3.0.1 + console-control-strings: 1.1.0 + gauge: 4.0.4 + set-blocking: 2.0.0 + dev: true + + /nth-check@2.1.1: + resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} + dependencies: + boolbase: 1.0.0 + dev: true + + /object-assign@4.1.1: + resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} + engines: {node: '>=0.10.0'} + dev: true + + /object-inspect@1.12.3: + resolution: {integrity: sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==} + dev: true + + /obuf@1.1.2: + resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==} + dev: true + + /on-finished@2.3.0: + resolution: {integrity: sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==} + engines: {node: '>= 0.8'} + dependencies: + ee-first: 1.1.1 + dev: true + + /on-finished@2.4.1: + resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} + engines: {node: '>= 0.8'} + dependencies: + ee-first: 1.1.1 + dev: true + + /on-headers@1.0.2: + resolution: {integrity: sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==} + engines: {node: '>= 0.8'} + dev: true + + /once@1.4.0: + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + dependencies: + wrappy: 1.0.2 + dev: true + + /onetime@5.1.2: + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} + dependencies: + mimic-fn: 2.1.0 + dev: true + + /open@8.4.1: + resolution: {integrity: sha512-/4b7qZNhv6Uhd7jjnREh1NjnPxlTq+XNWPG88Ydkj5AILcA5m3ajvcg57pB24EQjKv0dK62XnDqk9c/hkIG5Kg==} + engines: {node: '>=12'} + dependencies: + define-lazy-prop: 2.0.0 + is-docker: 2.2.1 + is-wsl: 2.2.0 + dev: true + + /ora@5.4.1: + resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==} + engines: {node: '>=10'} + dependencies: + bl: 4.1.0 + chalk: 4.1.2 + cli-cursor: 3.1.0 + cli-spinners: 2.7.0 + is-interactive: 1.0.0 + is-unicode-supported: 0.1.0 + log-symbols: 4.1.0 + strip-ansi: 6.0.1 + wcwidth: 1.0.1 + dev: true + + /os-tmpdir@1.0.2: + resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} + engines: {node: '>=0.10.0'} + dev: true + + /p-limit@2.3.0: + resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} + engines: {node: '>=6'} + dependencies: + p-try: 2.2.0 + dev: true + + /p-locate@4.1.0: + resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} + engines: {node: '>=8'} + dependencies: + p-limit: 2.3.0 + dev: true + + /p-map@4.0.0: + resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} + engines: {node: '>=10'} + dependencies: + aggregate-error: 3.1.0 + dev: true + + /p-retry@4.6.2: + resolution: {integrity: sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==} + engines: {node: '>=8'} + dependencies: + '@types/retry': 0.12.0 + retry: 0.13.1 + dev: true + + /p-try@2.2.0: + resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} + engines: {node: '>=6'} + dev: true + + /pacote@15.1.0: + resolution: {integrity: sha512-FFcjtIl+BQNfeliSm7MZz5cpdohvUV1yjGnqgVM4UnVF7JslRY0ImXAygdaCDV0jjUADEWu4y5xsDV8brtrTLg==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + hasBin: true + dependencies: + '@npmcli/git': 4.0.4 + '@npmcli/installed-package-contents': 2.0.2 + '@npmcli/promise-spawn': 6.0.2 + '@npmcli/run-script': 6.0.0 + cacache: 17.0.5 + fs-minipass: 3.0.1 + minipass: 4.2.5 + npm-package-arg: 10.1.0 + npm-packlist: 7.0.4 + npm-pick-manifest: 8.0.1 + npm-registry-fetch: 14.0.3 + proc-log: 3.0.0 + promise-retry: 2.0.1 + read-package-json: 6.0.1 + read-package-json-fast: 3.0.2 + sigstore: 1.2.0 + ssri: 10.0.1 + tar: 6.1.13 + transitivePeerDependencies: + - bluebird + - supports-color + dev: true + + /pako@1.0.11: + resolution: {integrity: sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==} + dev: true + + /parent-module@1.0.1: + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} + engines: {node: '>=6'} + dependencies: + callsites: 3.1.0 + dev: true + + /parse-json@5.2.0: + resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} + engines: {node: '>=8'} + dependencies: + '@babel/code-frame': 7.18.6 + error-ex: 1.3.2 + json-parse-even-better-errors: 2.3.1 + lines-and-columns: 1.2.4 + dev: true + + /parse-node-version@1.0.1: + resolution: {integrity: sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==} + engines: {node: '>= 0.10'} + dev: true + + /parse5-html-rewriting-stream@7.0.0: + resolution: {integrity: sha512-mazCyGWkmCRWDI15Zp+UiCqMp/0dgEmkZRvhlsqqKYr4SsVm/TvnSpD9fCvqCA2zoWJcfRym846ejWBBHRiYEg==} + dependencies: + entities: 4.4.0 + parse5: 7.1.2 + parse5-sax-parser: 7.0.0 + dev: true + + /parse5-htmlparser2-tree-adapter@6.0.1: + resolution: {integrity: sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==} + dependencies: + parse5: 6.0.1 + dev: true + + /parse5-sax-parser@7.0.0: + resolution: {integrity: sha512-5A+v2SNsq8T6/mG3ahcz8ZtQ0OUFTatxPbeidoMB7tkJSGDY3tdfl4MHovtLQHkEn5CGxijNWRQHhRQ6IRpXKg==} + dependencies: + parse5: 7.1.2 + dev: true + + /parse5@6.0.1: + resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==} + dev: true + + /parse5@7.1.2: + resolution: {integrity: sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==} + dependencies: + entities: 4.4.0 + dev: true + + /parseurl@1.3.3: + resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} + engines: {node: '>= 0.8'} + dev: true + + /path-exists@4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} + dev: true + + /path-is-absolute@1.0.1: + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} + engines: {node: '>=0.10.0'} + dev: true + + /path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + dev: true + + /path-parse@1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + dev: true + + /path-scurry@1.6.3: + resolution: {integrity: sha512-RAmB+n30SlN+HnNx6EbcpoDy9nwdpcGPnEKrJnu6GZoDWBdIjo1UQMVtW2ybtC7LC2oKLcMq8y5g8WnKLiod9g==} + engines: {node: '>=16 || 14 >=14.17'} + dependencies: + lru-cache: 7.18.3 + minipass: 4.2.5 + dev: true + + /path-to-regexp@0.1.7: + resolution: {integrity: sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==} + dev: true + + /path-type@4.0.0: + resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} + engines: {node: '>=8'} + dev: true + + /picocolors@1.0.0: + resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} + dev: true + + /picomatch@2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + dev: true + + /pify@4.0.1: + resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} + engines: {node: '>=6'} + dev: true + optional: true + + /piscina@3.2.0: + resolution: {integrity: sha512-yn/jMdHRw+q2ZJhFhyqsmANcbF6V2QwmD84c6xRau+QpQOmtrBCoRGdvTfeuFDYXB5W2m6MfLkjkvQa9lUSmIA==} + dependencies: + eventemitter-asyncresource: 1.0.0 + hdr-histogram-js: 2.0.3 + hdr-histogram-percentiles-obj: 3.0.0 + optionalDependencies: + nice-napi: 1.0.2 + dev: true + + /pkg-dir@4.2.0: + resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} + engines: {node: '>=8'} + dependencies: + find-up: 4.1.0 + dev: true + + /postcss-loader@7.0.2(postcss@8.4.21)(webpack@5.76.1): + resolution: {integrity: sha512-fUJzV/QH7NXUAqV8dWJ9Lg4aTkDCezpTS5HgJ2DvqznexTbSTxgi/dTECvTZ15BwKTtk8G/bqI/QTu2HPd3ZCg==} + engines: {node: '>= 14.15.0'} + peerDependencies: + postcss: ^7.0.0 || ^8.0.1 + webpack: ^5.0.0 + dependencies: + cosmiconfig: 7.1.0 + klona: 2.0.6 + postcss: 8.4.21 + semver: 7.3.8 + webpack: 5.76.1(esbuild@0.17.8) + dev: true + + /postcss-modules-extract-imports@3.0.0(postcss@8.4.21): + resolution: {integrity: sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + dependencies: + postcss: 8.4.21 + dev: true + + /postcss-modules-local-by-default@4.0.0(postcss@8.4.21): + resolution: {integrity: sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + dependencies: + icss-utils: 5.1.0(postcss@8.4.21) + postcss: 8.4.21 + postcss-selector-parser: 6.0.11 + postcss-value-parser: 4.2.0 + dev: true + + /postcss-modules-scope@3.0.0(postcss@8.4.21): + resolution: {integrity: sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + dependencies: + postcss: 8.4.21 + postcss-selector-parser: 6.0.11 + dev: true + + /postcss-modules-values@4.0.0(postcss@8.4.21): + resolution: {integrity: sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + dependencies: + icss-utils: 5.1.0(postcss@8.4.21) + postcss: 8.4.21 + dev: true + + /postcss-selector-parser@6.0.11: + resolution: {integrity: sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==} + engines: {node: '>=4'} + dependencies: + cssesc: 3.0.0 + util-deprecate: 1.0.2 + dev: true + + /postcss-value-parser@4.2.0: + resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} + dev: true + + /postcss@8.4.21: + resolution: {integrity: sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==} + engines: {node: ^10 || ^12 || >=14} + dependencies: + nanoid: 3.3.6 + picocolors: 1.0.0 + source-map-js: 1.0.2 + dev: true + + /pretty-bytes@5.6.0: + resolution: {integrity: sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==} + engines: {node: '>=6'} + dev: true + + /proc-log@3.0.0: + resolution: {integrity: sha512-++Vn7NS4Xf9NacaU9Xq3URUuqZETPsf8L4j5/ckhaRYsfPeRyzGw+iDjFhV/Jr3uNmTvvddEJFWh5R1gRgUH8A==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + dev: true + + /process-nextick-args@2.0.1: + resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} + dev: true + + /promise-inflight@1.0.1: + resolution: {integrity: sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==} + peerDependencies: + bluebird: '*' + peerDependenciesMeta: + bluebird: + optional: true + dev: true + + /promise-retry@2.0.1: + resolution: {integrity: sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==} + engines: {node: '>=10'} + dependencies: + err-code: 2.0.3 + retry: 0.12.0 + dev: true + + /proxy-addr@2.0.7: + resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} + engines: {node: '>= 0.10'} + dependencies: + forwarded: 0.2.0 + ipaddr.js: 1.9.1 + dev: true + + /prr@1.0.1: + resolution: {integrity: sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==} + dev: true + optional: true + + /punycode@2.3.0: + resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} + engines: {node: '>=6'} + dev: true + + /qjobs@1.2.0: + resolution: {integrity: sha512-8YOJEHtxpySA3fFDyCRxA+UUV+fA+rTWnuWvylOK/NCjhY+b4ocCtmu8TtsWb+mYeU+GCHf/S66KZF/AsteKHg==} + engines: {node: '>=0.9'} + dev: true + + /qs@6.11.0: + resolution: {integrity: sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==} + engines: {node: '>=0.6'} + dependencies: + side-channel: 1.0.4 + dev: true + + /queue-microtask@1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + dev: true + + /randombytes@2.1.0: + resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} + dependencies: + safe-buffer: 5.2.1 + dev: true + + /range-parser@1.2.1: + resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} + engines: {node: '>= 0.6'} + dev: true + + /raw-body@2.5.1: + resolution: {integrity: sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==} + engines: {node: '>= 0.8'} + dependencies: + bytes: 3.1.2 + http-errors: 2.0.0 + iconv-lite: 0.4.24 + unpipe: 1.0.0 + dev: true + + /raw-body@2.5.2: + resolution: {integrity: sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==} + engines: {node: '>= 0.8'} + dependencies: + bytes: 3.1.2 + http-errors: 2.0.0 + iconv-lite: 0.4.24 + unpipe: 1.0.0 + dev: true + + /read-package-json-fast@3.0.2: + resolution: {integrity: sha512-0J+Msgym3vrLOUB3hzQCuZHII0xkNGCtz/HJH9xZshwv9DbDwkw1KaE3gx/e2J5rpEY5rtOy6cyhKOPrkP7FZw==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + dependencies: + json-parse-even-better-errors: 3.0.0 + npm-normalize-package-bin: 3.0.0 + dev: true + + /read-package-json@6.0.1: + resolution: {integrity: sha512-AaHqXxfAVa+fNL07x8iAghfKOds/XXsu7zoouIVsbm7PEbQ3nMWXlvjcbrNLjElnUHWQtAo4QEa0RXuvD4XlpA==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + dependencies: + glob: 9.3.2 + json-parse-even-better-errors: 3.0.0 + normalize-package-data: 5.0.0 + npm-normalize-package-bin: 3.0.0 + dev: true + + /readable-stream@2.3.8: + resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} + dependencies: + core-util-is: 1.0.3 + inherits: 2.0.4 + isarray: 1.0.0 + process-nextick-args: 2.0.1 + safe-buffer: 5.1.2 + string_decoder: 1.1.1 + util-deprecate: 1.0.2 + dev: true + + /readable-stream@3.6.2: + resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} + engines: {node: '>= 6'} + dependencies: + inherits: 2.0.4 + string_decoder: 1.3.0 + util-deprecate: 1.0.2 + dev: true + + /readdirp@3.6.0: + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} + dependencies: + picomatch: 2.3.1 + dev: true + + /reflect-metadata@0.1.13: + resolution: {integrity: sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==} + dev: true + + /regenerate-unicode-properties@10.1.0: + resolution: {integrity: sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==} + engines: {node: '>=4'} + dependencies: + regenerate: 1.4.2 + dev: true + + /regenerate@1.4.2: + resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==} + dev: true + + /regenerator-runtime@0.13.11: + resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==} + dev: true + + /regenerator-transform@0.15.1: + resolution: {integrity: sha512-knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg==} + dependencies: + '@babel/runtime': 7.20.13 + dev: true + + /regex-parser@2.2.11: + resolution: {integrity: sha512-jbD/FT0+9MBU2XAZluI7w2OBs1RBi6p9M83nkoZayQXXU9e8Robt69FcZc7wU4eJD/YFTjn1JdCk3rbMJajz8Q==} + dev: true + + /regexpu-core@5.3.2: + resolution: {integrity: sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==} + engines: {node: '>=4'} + dependencies: + '@babel/regjsgen': 0.8.0 + regenerate: 1.4.2 + regenerate-unicode-properties: 10.1.0 + regjsparser: 0.9.1 + unicode-match-property-ecmascript: 2.0.0 + unicode-match-property-value-ecmascript: 2.1.0 + dev: true + + /regjsparser@0.9.1: + resolution: {integrity: sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==} + hasBin: true + dependencies: + jsesc: 0.5.0 + dev: true + + /require-directory@2.1.1: + resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} + engines: {node: '>=0.10.0'} + dev: true + + /require-from-string@2.0.2: + resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} + engines: {node: '>=0.10.0'} + dev: true + + /requires-port@1.0.0: + resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==} + dev: true + + /resolve-from@4.0.0: + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} + engines: {node: '>=4'} + dev: true + + /resolve-from@5.0.0: + resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} + engines: {node: '>=8'} + dev: true + + /resolve-url-loader@5.0.0: + resolution: {integrity: sha512-uZtduh8/8srhBoMx//5bwqjQ+rfYOUq8zC9NrMUGtjBiGTtFJM42s58/36+hTqeqINcnYe08Nj3LkK9lW4N8Xg==} + engines: {node: '>=12'} + dependencies: + adjust-sourcemap-loader: 4.0.0 + convert-source-map: 1.9.0 + loader-utils: 2.0.4 + postcss: 8.4.21 + source-map: 0.6.1 + dev: true + + /resolve@1.22.1: + resolution: {integrity: sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==} + hasBin: true + dependencies: + is-core-module: 2.11.0 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + dev: true + + /restore-cursor@3.1.0: + resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} + engines: {node: '>=8'} + dependencies: + onetime: 5.1.2 + signal-exit: 3.0.7 + dev: true + + /retry@0.12.0: + resolution: {integrity: sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==} + engines: {node: '>= 4'} + dev: true + + /retry@0.13.1: + resolution: {integrity: sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==} + engines: {node: '>= 4'} + dev: true + + /reusify@1.0.4: + resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + dev: true + + /rfdc@1.3.0: + resolution: {integrity: sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==} + dev: true + + /rimraf@3.0.2: + resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + hasBin: true + dependencies: + glob: 7.2.3 + dev: true + + /run-async@2.4.1: + resolution: {integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==} + engines: {node: '>=0.12.0'} + dev: true + + /run-parallel@1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + dependencies: + queue-microtask: 1.2.3 + dev: true + + /rxjs@6.6.7: + resolution: {integrity: sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==} + engines: {npm: '>=2.0.0'} + dependencies: + tslib: 1.14.1 + dev: true + + /rxjs@7.8.0: + resolution: {integrity: sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg==} + dependencies: + tslib: 2.3.0 + + /safe-buffer@5.1.2: + resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} + dev: true + + /safe-buffer@5.2.1: + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + dev: true + + /safer-buffer@2.1.2: + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + dev: true + + /sass-loader@13.2.0(sass@1.58.1)(webpack@5.76.1): + resolution: {integrity: sha512-JWEp48djQA4nbZxmgC02/Wh0eroSUutulROUusYJO9P9zltRbNN80JCBHqRGzjd4cmZCa/r88xgfkjGD0TXsHg==} + engines: {node: '>= 14.15.0'} + peerDependencies: + fibers: '>= 3.1.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 + peerDependenciesMeta: + fibers: + optional: true + node-sass: + optional: true + sass: + optional: true + sass-embedded: + optional: true + dependencies: + klona: 2.0.6 + neo-async: 2.6.2 + sass: 1.58.1 + webpack: 5.76.1(esbuild@0.17.8) + dev: true + + /sass@1.58.1: + resolution: {integrity: sha512-bnINi6nPXbP1XNRaranMFEBZWUfdW/AF16Ql5+ypRxfTvCRTTKrLsMIakyDcayUt2t/RZotmL4kgJwNH5xO+bg==} + engines: {node: '>=12.0.0'} + hasBin: true + dependencies: + chokidar: 3.5.3 + immutable: 4.3.0 + source-map-js: 1.0.2 + dev: true + + /sax@1.2.4: + resolution: {integrity: sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==} + dev: true + optional: true + + /schema-utils@3.1.1: + resolution: {integrity: sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==} + engines: {node: '>= 10.13.0'} + dependencies: + '@types/json-schema': 7.0.11 + ajv: 6.12.6 + ajv-keywords: 3.5.2(ajv@6.12.6) + dev: true + + /schema-utils@4.0.0: + resolution: {integrity: sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==} + engines: {node: '>= 12.13.0'} + dependencies: + '@types/json-schema': 7.0.11 + ajv: 8.12.0 + ajv-formats: 2.1.1(ajv@8.12.0) + ajv-keywords: 5.1.0(ajv@8.12.0) + dev: true + + /select-hose@2.0.0: + resolution: {integrity: sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==} + dev: true + + /selfsigned@2.1.1: + resolution: {integrity: sha512-GSL3aowiF7wa/WtSFwnUrludWFoNhftq8bUkH9pkzjpN2XSPOAYEgg6e0sS9s0rZwgJzJiQRPU18A6clnoW5wQ==} + engines: {node: '>=10'} + dependencies: + node-forge: 1.3.1 + dev: true + + /semver@5.7.1: + resolution: {integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==} + hasBin: true + dev: true + optional: true + + /semver@6.3.0: + resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==} + hasBin: true + dev: true + + /semver@7.3.8: + resolution: {integrity: sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==} + engines: {node: '>=10'} + hasBin: true + dependencies: + lru-cache: 6.0.0 + dev: true + + /send@0.18.0: + resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==} + engines: {node: '>= 0.8.0'} + dependencies: + debug: 2.6.9 + depd: 2.0.0 + destroy: 1.2.0 + encodeurl: 1.0.2 + escape-html: 1.0.3 + etag: 1.8.1 + fresh: 0.5.2 + http-errors: 2.0.0 + mime: 1.6.0 + ms: 2.1.3 + on-finished: 2.4.1 + range-parser: 1.2.1 + statuses: 2.0.1 + transitivePeerDependencies: + - supports-color + dev: true + + /serialize-javascript@6.0.1: + resolution: {integrity: sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==} + dependencies: + randombytes: 2.1.0 + dev: true + + /serve-index@1.9.1: + resolution: {integrity: sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==} + engines: {node: '>= 0.8.0'} + dependencies: + accepts: 1.3.8 + batch: 0.6.1 + debug: 2.6.9 + escape-html: 1.0.3 + http-errors: 1.6.3 + mime-types: 2.1.35 + parseurl: 1.3.3 + transitivePeerDependencies: + - supports-color + dev: true + + /serve-static@1.15.0: + resolution: {integrity: sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==} + engines: {node: '>= 0.8.0'} + dependencies: + encodeurl: 1.0.2 + escape-html: 1.0.3 + parseurl: 1.3.3 + send: 0.18.0 + transitivePeerDependencies: + - supports-color + dev: true + + /set-blocking@2.0.0: + resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} + dev: true + + /setprototypeof@1.1.0: + resolution: {integrity: sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==} + dev: true + + /setprototypeof@1.2.0: + resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} + dev: true + + /shallow-clone@3.0.1: + resolution: {integrity: sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==} + engines: {node: '>=8'} + dependencies: + kind-of: 6.0.3 + dev: true + + /shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + dependencies: + shebang-regex: 3.0.0 + dev: true + + /shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + dev: true + + /side-channel@1.0.4: + resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} + dependencies: + call-bind: 1.0.2 + get-intrinsic: 1.2.0 + object-inspect: 1.12.3 + dev: true + + /signal-exit@3.0.7: + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + dev: true + + /sigstore@1.2.0: + resolution: {integrity: sha512-Fr9+W1nkBSIZCkJQR7jDn/zI0UXNsVpp+7mDQkCnZOIxG9p6yNXBx9xntHsfUyYHE55XDkkVV3+rYbrkzAeesA==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + hasBin: true + dependencies: + '@sigstore/protobuf-specs': 0.1.0 + make-fetch-happen: 11.0.3 + tuf-js: 1.1.2 + transitivePeerDependencies: + - bluebird + - supports-color + dev: true + + /slash@4.0.0: + resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==} + engines: {node: '>=12'} + dev: true + + /smart-buffer@4.2.0: + resolution: {integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==} + engines: {node: '>= 6.0.0', npm: '>= 3.0.0'} + dev: true + + /socket.io-adapter@2.5.2: + resolution: {integrity: sha512-87C3LO/NOMc+eMcpcxUBebGjkpMDkNBS9tf7KJqcDsmL936EChtVva71Dw2q4tQcuVC+hAUy4an2NO/sYXmwRA==} + dependencies: + ws: 8.11.0 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + dev: true + + /socket.io-parser@4.2.2: + resolution: {integrity: sha512-DJtziuKypFkMMHCm2uIshOYC7QaylbtzQwiMYDuCKy3OPkjLzu4B2vAhTlqipRHHzrI0NJeBAizTK7X+6m1jVw==} + engines: {node: '>=10.0.0'} + dependencies: + '@socket.io/component-emitter': 3.1.0 + debug: 4.3.4 + transitivePeerDependencies: + - supports-color + dev: true + + /socket.io@4.6.1: + resolution: {integrity: sha512-KMcaAi4l/8+xEjkRICl6ak8ySoxsYG+gG6/XfRCPJPQ/haCRIJBTL4wIl8YCsmtaBovcAXGLOShyVWQ/FG8GZA==} + engines: {node: '>=10.0.0'} + dependencies: + accepts: 1.3.8 + base64id: 2.0.0 + debug: 4.3.4 + engine.io: 6.4.1 + socket.io-adapter: 2.5.2 + socket.io-parser: 4.2.2 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + dev: true + + /sockjs@0.3.24: + resolution: {integrity: sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==} + dependencies: + faye-websocket: 0.11.4 + uuid: 8.3.2 + websocket-driver: 0.7.4 + dev: true + + /socks-proxy-agent@7.0.0: + resolution: {integrity: sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww==} + engines: {node: '>= 10'} + dependencies: + agent-base: 6.0.2 + debug: 4.3.4 + socks: 2.7.1 + transitivePeerDependencies: + - supports-color + dev: true + + /socks@2.7.1: + resolution: {integrity: sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==} + engines: {node: '>= 10.13.0', npm: '>= 3.0.0'} + dependencies: + ip: 2.0.0 + smart-buffer: 4.2.0 + dev: true + + /source-map-js@1.0.2: + resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} + engines: {node: '>=0.10.0'} + dev: true + + /source-map-loader@4.0.1(webpack@5.76.1): + resolution: {integrity: sha512-oqXpzDIByKONVY8g1NUPOTQhe0UTU5bWUl32GSkqK2LjJj0HmwTMVKxcUip0RgAYhY1mqgOxjbQM48a0mmeNfA==} + engines: {node: '>= 14.15.0'} + peerDependencies: + webpack: ^5.72.1 + dependencies: + abab: 2.0.6 + iconv-lite: 0.6.3 + source-map-js: 1.0.2 + webpack: 5.76.1(esbuild@0.17.8) + dev: true + + /source-map-support@0.5.21: + resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} + dependencies: + buffer-from: 1.1.2 + source-map: 0.6.1 + dev: true + + /source-map@0.6.1: + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} + dev: true + + /source-map@0.7.4: + resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==} + engines: {node: '>= 8'} + dev: true + + /spdx-correct@3.2.0: + resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} + dependencies: + spdx-expression-parse: 3.0.1 + spdx-license-ids: 3.0.13 + dev: true + + /spdx-exceptions@2.3.0: + resolution: {integrity: sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==} + dev: true + + /spdx-expression-parse@3.0.1: + resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} + dependencies: + spdx-exceptions: 2.3.0 + spdx-license-ids: 3.0.13 + dev: true + + /spdx-license-ids@3.0.13: + resolution: {integrity: sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w==} + dev: true + + /spdy-transport@3.0.0: + resolution: {integrity: sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==} + dependencies: + debug: 4.3.4 + detect-node: 2.1.0 + hpack.js: 2.1.6 + obuf: 1.1.2 + readable-stream: 3.6.2 + wbuf: 1.7.3 + transitivePeerDependencies: + - supports-color + dev: true + + /spdy@4.0.2: + resolution: {integrity: sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==} + engines: {node: '>=6.0.0'} + dependencies: + debug: 4.3.4 + handle-thing: 2.0.1 + http-deceiver: 1.2.7 + select-hose: 2.0.0 + spdy-transport: 3.0.0 + transitivePeerDependencies: + - supports-color + dev: true + + /sprintf-js@1.0.3: + resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} + dev: true + + /ssri@10.0.1: + resolution: {integrity: sha512-WVy6di9DlPOeBWEjMScpNipeSX2jIZBGEn5Uuo8Q7aIuFEuDX0pw8RxcOjlD1TWP4obi24ki7m/13+nFpcbXrw==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + dependencies: + minipass: 4.2.5 + dev: true + + /ssri@9.0.1: + resolution: {integrity: sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + dependencies: + minipass: 3.3.6 + dev: true + + /statuses@1.5.0: + resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==} + engines: {node: '>= 0.6'} + dev: true + + /statuses@2.0.1: + resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} + engines: {node: '>= 0.8'} + dev: true + + /streamroller@3.1.5: + resolution: {integrity: sha512-KFxaM7XT+irxvdqSP1LGLgNWbYN7ay5owZ3r/8t77p+EtSUAfUgtl7be3xtqtOmGUl9K9YPO2ca8133RlTjvKw==} + engines: {node: '>=8.0'} + dependencies: + date-format: 4.0.14 + debug: 4.3.4 + fs-extra: 8.1.0 + transitivePeerDependencies: + - supports-color + dev: true + + /string-width@4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} + dependencies: + emoji-regex: 8.0.0 + is-fullwidth-code-point: 3.0.0 + strip-ansi: 6.0.1 + dev: true + + /string_decoder@1.1.1: + resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} + dependencies: + safe-buffer: 5.1.2 + dev: true + + /string_decoder@1.3.0: + resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} + dependencies: + safe-buffer: 5.2.1 + dev: true + + /strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + dependencies: + ansi-regex: 5.0.1 + dev: true + + /strip-final-newline@2.0.0: + resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} + engines: {node: '>=6'} + dev: true + + /supports-color@5.5.0: + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} + engines: {node: '>=4'} + dependencies: + has-flag: 3.0.0 + dev: true + + /supports-color@7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + dependencies: + has-flag: 4.0.0 + dev: true + + /supports-color@8.1.1: + resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} + engines: {node: '>=10'} + dependencies: + has-flag: 4.0.0 + dev: true + + /supports-preserve-symlinks-flag@1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + dev: true + + /symbol-observable@4.0.0: + resolution: {integrity: sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ==} + engines: {node: '>=0.10'} + dev: true + + /tapable@2.2.1: + resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} + engines: {node: '>=6'} + dev: true + + /tar@6.1.13: + resolution: {integrity: sha512-jdIBIN6LTIe2jqzay/2vtYLlBHa3JF42ot3h1dW8Q0PaAG4v8rm0cvpVePtau5C6OKXGGcgO9q2AMNSWxiLqKw==} + engines: {node: '>=10'} + dependencies: + chownr: 2.0.0 + fs-minipass: 2.1.0 + minipass: 4.2.5 + minizlib: 2.1.2 + mkdirp: 1.0.4 + yallist: 4.0.0 + dev: true + + /terser-webpack-plugin@5.3.7(esbuild@0.17.8)(webpack@5.76.1): + resolution: {integrity: sha512-AfKwIktyP7Cu50xNjXF/6Qb5lBNzYaWpU6YfoX3uZicTx0zTy0stDDCsvjDapKsSDvOeWo5MEq4TmdBy2cNoHw==} + engines: {node: '>= 10.13.0'} + peerDependencies: + '@swc/core': '*' + esbuild: '*' + uglify-js: '*' + webpack: ^5.1.0 + peerDependenciesMeta: + '@swc/core': + optional: true + esbuild: + optional: true + uglify-js: + optional: true + dependencies: + '@jridgewell/trace-mapping': 0.3.17 + esbuild: 0.17.8 + jest-worker: 27.5.1 + schema-utils: 3.1.1 + serialize-javascript: 6.0.1 + terser: 5.16.8 + webpack: 5.76.1(esbuild@0.17.8) + dev: true + + /terser@5.16.3: + resolution: {integrity: sha512-v8wWLaS/xt3nE9dgKEWhNUFP6q4kngO5B8eYFUuebsu7Dw/UNAnpUod6UHo04jSSkv8TzKHjZDSd7EXdDQAl8Q==} + engines: {node: '>=10'} + hasBin: true + dependencies: + '@jridgewell/source-map': 0.3.2 + acorn: 8.8.2 + commander: 2.20.3 + source-map-support: 0.5.21 + dev: true + + /terser@5.16.8: + resolution: {integrity: sha512-QI5g1E/ef7d+PsDifb+a6nnVgC4F22Bg6T0xrBrz6iloVB4PUkkunp6V8nzoOOZJIzjWVdAGqCdlKlhLq/TbIA==} + engines: {node: '>=10'} + hasBin: true + dependencies: + '@jridgewell/source-map': 0.3.2 + acorn: 8.8.2 + commander: 2.20.3 + source-map-support: 0.5.21 + dev: true + + /test-exclude@6.0.0: + resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} + engines: {node: '>=8'} + dependencies: + '@istanbuljs/schema': 0.1.3 + glob: 7.2.3 + minimatch: 3.1.2 + dev: true + + /text-table@0.2.0: + resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} + dev: true + + /through@2.3.8: + resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} + dev: true + + /thunky@1.1.0: + resolution: {integrity: sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==} + dev: true + + /tmp@0.0.33: + resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} + engines: {node: '>=0.6.0'} + dependencies: + os-tmpdir: 1.0.2 + dev: true + + /tmp@0.2.1: + resolution: {integrity: sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==} + engines: {node: '>=8.17.0'} + dependencies: + rimraf: 3.0.2 + dev: true + + /to-fast-properties@2.0.0: + resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} + engines: {node: '>=4'} + dev: true + + /to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + dependencies: + is-number: 7.0.0 + dev: true + + /toidentifier@1.0.1: + resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} + engines: {node: '>=0.6'} + dev: true + + /tree-kill@1.2.2: + resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} + hasBin: true + dev: true + + /tslib@1.14.1: + resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} + dev: true + + /tslib@2.3.0: + resolution: {integrity: sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==} + + /tslib@2.5.0: + resolution: {integrity: sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==} + dev: true + + /tuf-js@1.1.2: + resolution: {integrity: sha512-gBfbnS6khluxjvoFCpRV0fhWT265xNfpiNXOcBX0Ze6HGbPhe93UG5V5DdKcgm/aXsMadnY76l/h6j63GmJS5g==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + dependencies: + '@tufjs/models': 1.0.1 + make-fetch-happen: 11.0.3 + transitivePeerDependencies: + - bluebird + - supports-color + dev: true + + /type-fest@0.21.3: + resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} + engines: {node: '>=10'} + dev: true + + /type-is@1.6.18: + resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} + engines: {node: '>= 0.6'} + dependencies: + media-typer: 0.3.0 + mime-types: 2.1.35 + dev: true + + /typed-assert@1.0.9: + resolution: {integrity: sha512-KNNZtayBCtmnNmbo5mG47p1XsCyrx6iVqomjcZnec/1Y5GGARaxPs6r49RnSPeUP3YjNYiU9sQHAtY4BBvnZwg==} + dev: true + + /typescript@4.9.4: + resolution: {integrity: sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg==} + engines: {node: '>=4.2.0'} + hasBin: true + dev: true + + /ua-parser-js@0.7.34: + resolution: {integrity: sha512-cJMeh/eOILyGu0ejgTKB95yKT3zOenSe9UGE3vj6WfiOwgGYnmATUsnDixMFvdU+rNMvWih83hrUP8VwhF9yXQ==} + dev: true + + /unicode-canonical-property-names-ecmascript@2.0.0: + resolution: {integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==} + engines: {node: '>=4'} + dev: true + + /unicode-match-property-ecmascript@2.0.0: + resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==} + engines: {node: '>=4'} + dependencies: + unicode-canonical-property-names-ecmascript: 2.0.0 + unicode-property-aliases-ecmascript: 2.1.0 + dev: true + + /unicode-match-property-value-ecmascript@2.1.0: + resolution: {integrity: sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==} + engines: {node: '>=4'} + dev: true + + /unicode-property-aliases-ecmascript@2.1.0: + resolution: {integrity: sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==} + engines: {node: '>=4'} + dev: true + + /unique-filename@2.0.1: + resolution: {integrity: sha512-ODWHtkkdx3IAR+veKxFV+VBkUMcN+FaqzUUd7IZzt+0zhDZFPFxhlqwPF3YQvMHx1TD0tdgYl+kuPnJ8E6ql7A==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + dependencies: + unique-slug: 3.0.0 + dev: true + + /unique-filename@3.0.0: + resolution: {integrity: sha512-afXhuC55wkAmZ0P18QsVE6kp8JaxrEokN2HGIoIVv2ijHQd419H0+6EigAFcIzXeMIkcIkNBpB3L/DXB3cTS/g==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + dependencies: + unique-slug: 4.0.0 + dev: true + + /unique-slug@3.0.0: + resolution: {integrity: sha512-8EyMynh679x/0gqE9fT9oilG+qEt+ibFyqjuVTsZn1+CMxH+XLlpvr2UZx4nVcCwTpx81nICr2JQFkM+HPLq4w==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + dependencies: + imurmurhash: 0.1.4 + dev: true + + /unique-slug@4.0.0: + resolution: {integrity: sha512-WrcA6AyEfqDX5bWige/4NQfPZMtASNVxdmWR76WESYQVAACSgWcR6e9i0mofqqBxYFtL4oAxPIptY73/0YE1DQ==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + dependencies: + imurmurhash: 0.1.4 + dev: true + + /universalify@0.1.2: + resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} + engines: {node: '>= 4.0.0'} + dev: true + + /unpipe@1.0.0: + resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} + engines: {node: '>= 0.8'} + dev: true + + /update-browserslist-db@1.0.10(browserslist@4.21.5): + resolution: {integrity: sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + dependencies: + browserslist: 4.21.5 + escalade: 3.1.1 + picocolors: 1.0.0 + dev: true + + /uri-js@4.4.1: + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + dependencies: + punycode: 2.3.0 + dev: true + + /util-deprecate@1.0.2: + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + dev: true + + /utils-merge@1.0.1: + resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} + engines: {node: '>= 0.4.0'} + dev: true + + /uuid@8.3.2: + resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} + hasBin: true + dev: true + + /validate-npm-package-license@3.0.4: + resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} + dependencies: + spdx-correct: 3.2.0 + spdx-expression-parse: 3.0.1 + dev: true + + /validate-npm-package-name@5.0.0: + resolution: {integrity: sha512-YuKoXDAhBYxY7SfOKxHBDoSyENFeW5VvIIQp2TGQuit8gpK6MnWaQelBKxso72DoxTZfZdcP3W90LqpSkgPzLQ==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + dependencies: + builtins: 5.0.1 + dev: true + + /vary@1.1.2: + resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} + engines: {node: '>= 0.8'} + dev: true + + /void-elements@2.0.1: + resolution: {integrity: sha512-qZKX4RnBzH2ugr8Lxa7x+0V6XD9Sb/ouARtiasEQCHB1EVU4NXtmHsDDrx1dO4ne5fc3J6EW05BP1Dl0z0iung==} + engines: {node: '>=0.10.0'} + dev: true + + /watchpack@2.4.0: + resolution: {integrity: sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==} + engines: {node: '>=10.13.0'} + dependencies: + glob-to-regexp: 0.4.1 + graceful-fs: 4.2.11 + dev: true + + /wbuf@1.7.3: + resolution: {integrity: sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==} + dependencies: + minimalistic-assert: 1.0.1 + dev: true + + /wcwidth@1.0.1: + resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} + dependencies: + defaults: 1.0.4 + dev: true + + /webpack-dev-middleware@5.3.3(webpack@5.76.1): + resolution: {integrity: sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==} + engines: {node: '>= 12.13.0'} + peerDependencies: + webpack: ^4.0.0 || ^5.0.0 + dependencies: + colorette: 2.0.19 + memfs: 3.4.13 + mime-types: 2.1.35 + range-parser: 1.2.1 + schema-utils: 4.0.0 + webpack: 5.76.1(esbuild@0.17.8) + dev: true + + /webpack-dev-middleware@6.0.1(webpack@5.76.1): + resolution: {integrity: sha512-PZPZ6jFinmqVPJZbisfggDiC+2EeGZ1ZByyMP5sOFJcPPWSexalISz+cvm+j+oYPT7FIJyxT76esjnw9DhE5sw==} + engines: {node: '>= 14.15.0'} + peerDependencies: + webpack: ^5.0.0 + dependencies: + colorette: 2.0.19 + memfs: 3.4.13 + mime-types: 2.1.35 + range-parser: 1.2.1 + schema-utils: 4.0.0 + webpack: 5.76.1(esbuild@0.17.8) + dev: true + + /webpack-dev-server@4.11.1(webpack@5.76.1): + resolution: {integrity: sha512-lILVz9tAUy1zGFwieuaQtYiadImb5M3d+H+L1zDYalYoDl0cksAB1UNyuE5MMWJrG6zR1tXkCP2fitl7yoUJiw==} + engines: {node: '>= 12.13.0'} + hasBin: true + peerDependencies: + webpack: ^4.37.0 || ^5.0.0 + webpack-cli: '*' + peerDependenciesMeta: + webpack-cli: + optional: true + dependencies: + '@types/bonjour': 3.5.10 + '@types/connect-history-api-fallback': 1.3.5 + '@types/express': 4.17.17 + '@types/serve-index': 1.9.1 + '@types/serve-static': 1.15.1 + '@types/sockjs': 0.3.33 + '@types/ws': 8.5.4 + ansi-html-community: 0.0.8 + bonjour-service: 1.1.1 + chokidar: 3.5.3 + colorette: 2.0.19 + compression: 1.7.4 + connect-history-api-fallback: 2.0.0 + default-gateway: 6.0.3 + express: 4.18.2 + graceful-fs: 4.2.11 + html-entities: 2.3.3 + http-proxy-middleware: 2.0.6(@types/express@4.17.17) + ipaddr.js: 2.0.1 + open: 8.4.1 + p-retry: 4.6.2 + rimraf: 3.0.2 + schema-utils: 4.0.0 + selfsigned: 2.1.1 + serve-index: 1.9.1 + sockjs: 0.3.24 + spdy: 4.0.2 + webpack: 5.76.1(esbuild@0.17.8) + webpack-dev-middleware: 5.3.3(webpack@5.76.1) + ws: 8.13.0 + transitivePeerDependencies: + - bufferutil + - debug + - supports-color + - utf-8-validate + dev: true + + /webpack-merge@5.8.0: + resolution: {integrity: sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q==} + engines: {node: '>=10.0.0'} + dependencies: + clone-deep: 4.0.1 + wildcard: 2.0.0 + dev: true + + /webpack-sources@3.2.3: + resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==} + engines: {node: '>=10.13.0'} + dev: true + + /webpack-subresource-integrity@5.1.0(webpack@5.76.1): + resolution: {integrity: sha512-sacXoX+xd8r4WKsy9MvH/q/vBtEHr86cpImXwyg74pFIpERKt6FmB8cXpeuh0ZLgclOlHI4Wcll7+R5L02xk9Q==} + engines: {node: '>= 12'} + peerDependencies: + html-webpack-plugin: '>= 5.0.0-beta.1 < 6' + webpack: ^5.12.0 + peerDependenciesMeta: + html-webpack-plugin: + optional: true + dependencies: + typed-assert: 1.0.9 + webpack: 5.76.1(esbuild@0.17.8) + dev: true + + /webpack@5.76.1(esbuild@0.17.8): + resolution: {integrity: sha512-4+YIK4Abzv8172/SGqObnUjaIHjLEuUasz9EwQj/9xmPPkYJy2Mh03Q/lJfSD3YLzbxy5FeTq5Uw0323Oh6SJQ==} + engines: {node: '>=10.13.0'} + hasBin: true + peerDependencies: + webpack-cli: '*' + peerDependenciesMeta: + webpack-cli: + optional: true + dependencies: + '@types/eslint-scope': 3.7.4 + '@types/estree': 0.0.51 + '@webassemblyjs/ast': 1.11.1 + '@webassemblyjs/wasm-edit': 1.11.1 + '@webassemblyjs/wasm-parser': 1.11.1 + acorn: 8.8.2 + acorn-import-assertions: 1.8.0(acorn@8.8.2) + browserslist: 4.21.5 + chrome-trace-event: 1.0.3 + enhanced-resolve: 5.12.0 + es-module-lexer: 0.9.3 + eslint-scope: 5.1.1 + events: 3.3.0 + glob-to-regexp: 0.4.1 + graceful-fs: 4.2.11 + json-parse-even-better-errors: 2.3.1 + loader-runner: 4.3.0 + mime-types: 2.1.35 + neo-async: 2.6.2 + schema-utils: 3.1.1 + tapable: 2.2.1 + terser-webpack-plugin: 5.3.7(esbuild@0.17.8)(webpack@5.76.1) + watchpack: 2.4.0 + webpack-sources: 3.2.3 + transitivePeerDependencies: + - '@swc/core' + - esbuild + - uglify-js + dev: true + + /websocket-driver@0.7.4: + resolution: {integrity: sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==} + engines: {node: '>=0.8.0'} + dependencies: + http-parser-js: 0.5.8 + safe-buffer: 5.2.1 + websocket-extensions: 0.1.4 + dev: true + + /websocket-extensions@0.1.4: + resolution: {integrity: sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==} + engines: {node: '>=0.8.0'} + dev: true + + /which@1.3.1: + resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} + hasBin: true + dependencies: + isexe: 2.0.0 + dev: true + + /which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + dependencies: + isexe: 2.0.0 + dev: true + + /which@3.0.0: + resolution: {integrity: sha512-nla//68K9NU6yRiwDY/Q8aU6siKlSs64aEC7+IV56QoAuyQT2ovsJcgGYGyqMOmI/CGN1BOR6mM5EN0FBO+zyQ==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + hasBin: true + dependencies: + isexe: 2.0.0 + dev: true + + /wide-align@1.1.5: + resolution: {integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==} + dependencies: + string-width: 4.2.3 + dev: true + + /wildcard@2.0.0: + resolution: {integrity: sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==} + dev: true + + /wrap-ansi@7.0.0: + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + dev: true + + /wrappy@1.0.2: + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + dev: true + + /ws@8.11.0: + resolution: {integrity: sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ^5.0.2 + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + dev: true + + /ws@8.13.0: + resolution: {integrity: sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + dev: true + + /y18n@5.0.8: + resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} + engines: {node: '>=10'} + dev: true + + /yallist@3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + dev: true + + /yallist@4.0.0: + resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + dev: true + + /yaml@1.10.2: + resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} + engines: {node: '>= 6'} + dev: true + + /yargs-parser@20.2.9: + resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==} + engines: {node: '>=10'} + dev: true + + /yargs-parser@21.1.1: + resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} + engines: {node: '>=12'} + dev: true + + /yargs@16.2.0: + resolution: {integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==} + engines: {node: '>=10'} + dependencies: + cliui: 7.0.4 + escalade: 3.1.1 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + string-width: 4.2.3 + y18n: 5.0.8 + yargs-parser: 20.2.9 + dev: true + + /yargs@17.6.2: + resolution: {integrity: sha512-1/9UrdHjDZc0eOU0HxOHoS78C69UD3JRMvzlJ7S79S2nTaWRA/whGCTV8o9e/N/1Va9YIV7Q4sOxD8VV4pCWOw==} + engines: {node: '>=12'} + dependencies: + 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.8 + yargs-parser: 21.1.1 + dev: true + + /yargs@17.7.1: + resolution: {integrity: sha512-cwiTb08Xuv5fqF4AovYacTFNxk62th7LKJ6BL9IGUpTJrWoU7/7WdQGTP2SjKf1dUNBGzDd28p/Yfs/GI6JrLw==} + engines: {node: '>=12'} + dependencies: + 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.8 + yargs-parser: 21.1.1 + dev: true + + /zone.js@0.12.0: + resolution: {integrity: sha512-XtC+I5dXU14HrzidAKBNMqneIVUykLEAA1x+v4KVrd6AUPWlwYORF8KgsVqvgdHiKZ4BkxxjvYi/ksEixTPR0Q==} + dependencies: + tslib: 2.3.0 diff --git a/src/app/app-routing.module.ts b/src/app/app-routing.module.ts new file mode 100644 index 0000000..0297262 --- /dev/null +++ b/src/app/app-routing.module.ts @@ -0,0 +1,10 @@ +import { NgModule } from '@angular/core'; +import { RouterModule, Routes } from '@angular/router'; + +const routes: Routes = []; + +@NgModule({ + imports: [RouterModule.forRoot(routes)], + exports: [RouterModule] +}) +export class AppRoutingModule { } diff --git a/src/app/app.component.html b/src/app/app.component.html new file mode 100644 index 0000000..2a0fbf1 --- /dev/null +++ b/src/app/app.component.html @@ -0,0 +1,484 @@ + + + + + + + + + + + + + + +
+ + +
+ + + Rocket Ship + + + + + + + + + + {{ title }} app is running! + + + Rocket Ship Smoke + + + +
+ + +

Resources

+

Here are some links to help you get started:

+ + + + +

Next Steps

+

What do you want to do next with your app?

+ + + +
+ + + + + + + + + + + +
+ + +
+
ng generate component xyz
+
ng add @angular/material
+
ng add @angular/pwa
+
ng add _____
+
ng test
+
ng build
+
+ + + + + + + + + Gray Clouds Background + + + +
+ + + + + + + + + + diff --git a/src/app/app.component.scss b/src/app/app.component.scss new file mode 100644 index 0000000..e69de29 diff --git a/src/app/app.component.spec.ts b/src/app/app.component.spec.ts new file mode 100644 index 0000000..073a716 --- /dev/null +++ b/src/app/app.component.spec.ts @@ -0,0 +1,35 @@ +import { TestBed } from '@angular/core/testing'; +import { RouterTestingModule } from '@angular/router/testing'; +import { AppComponent } from './app.component'; + +describe('AppComponent', () => { + beforeEach(async () => { + await TestBed.configureTestingModule({ + imports: [ + RouterTestingModule + ], + declarations: [ + AppComponent + ], + }).compileComponents(); + }); + + it('should create the app', () => { + const fixture = TestBed.createComponent(AppComponent); + const app = fixture.componentInstance; + expect(app).toBeTruthy(); + }); + + it(`should have as title 'sith'`, () => { + const fixture = TestBed.createComponent(AppComponent); + const app = fixture.componentInstance; + expect(app.title).toEqual('sith'); + }); + + it('should render title', () => { + const fixture = TestBed.createComponent(AppComponent); + fixture.detectChanges(); + const compiled = fixture.nativeElement as HTMLElement; + expect(compiled.querySelector('.content span')?.textContent).toContain('sith app is running!'); + }); +}); diff --git a/src/app/app.component.ts b/src/app/app.component.ts new file mode 100644 index 0000000..538f227 --- /dev/null +++ b/src/app/app.component.ts @@ -0,0 +1,10 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'app-root', + templateUrl: './app.component.html', + styleUrls: ['./app.component.scss'] +}) +export class AppComponent { + title = 'sith4'; +} diff --git a/src/app/app.module.ts b/src/app/app.module.ts new file mode 100644 index 0000000..b1c6c96 --- /dev/null +++ b/src/app/app.module.ts @@ -0,0 +1,18 @@ +import { NgModule } from '@angular/core'; +import { BrowserModule } from '@angular/platform-browser'; + +import { AppRoutingModule } from './app-routing.module'; +import { AppComponent } from './app.component'; + +@NgModule({ + declarations: [ + AppComponent + ], + imports: [ + BrowserModule, + AppRoutingModule + ], + providers: [], + bootstrap: [AppComponent] +}) +export class AppModule { } diff --git a/src/assets/.gitkeep b/src/assets/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/src/favicon.ico b/src/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..997406ad22c29aae95893fb3d666c30258a09537 GIT binary patch literal 948 zcmV;l155mgP)CBYU7IjCFmI-B}4sMJt3^s9NVg!P0 z6hDQy(L`XWMkB@zOLgN$4KYz;j0zZxq9KKdpZE#5@k0crP^5f9KO};h)ZDQ%ybhht z%t9#h|nu0K(bJ ztIkhEr!*UyrZWQ1k2+YkGqDi8Z<|mIN&$kzpKl{cNP=OQzXHz>vn+c)F)zO|Bou>E z2|-d_=qY#Y+yOu1a}XI?cU}%04)zz%anD(XZC{#~WreV!a$7k2Ug`?&CUEc0EtrkZ zL49MB)h!_K{H(*l_93D5tO0;BUnvYlo+;yss%n^&qjt6fZOa+}+FDO(~2>G z2dx@=JZ?DHP^;b7*Y1as5^uphBsh*s*z&MBd?e@I>-9kU>63PjP&^#5YTOb&x^6Cf z?674rmSHB5Fk!{Gv7rv!?qX#ei_L(XtwVqLX3L}$MI|kJ*w(rhx~tc&L&xP#?cQow zX_|gx$wMr3pRZIIr_;;O|8fAjd;1`nOeu5K(pCu7>^3E&D2OBBq?sYa(%S?GwG&_0-s%_v$L@R!5H_fc)lOb9ZoOO#p`Nn`KU z3LTTBtjwo`7(HA6 z7gmO$yTR!5L>Bsg!X8616{JUngg_@&85%>W=mChTR;x4`P=?PJ~oPuy5 zU-L`C@_!34D21{fD~Y8NVnR3t;aqZI3fIhmgmx}$oc-dKDC6Ap$Gy>a!`A*x2L1v0 WcZ@i?LyX}70000 + + + + Sith + + + + + + + + diff --git a/src/main.ts b/src/main.ts new file mode 100644 index 0000000..c58dc05 --- /dev/null +++ b/src/main.ts @@ -0,0 +1,7 @@ +import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; + +import { AppModule } from './app/app.module'; + + +platformBrowserDynamic().bootstrapModule(AppModule) + .catch(err => console.error(err)); diff --git a/src/styles.scss b/src/styles.scss new file mode 100644 index 0000000..90d4ee0 --- /dev/null +++ b/src/styles.scss @@ -0,0 +1 @@ +/* You can add global styles to this file, and also import other style files */ diff --git a/tsconfig.app.json b/tsconfig.app.json new file mode 100644 index 0000000..374cc9d --- /dev/null +++ b/tsconfig.app.json @@ -0,0 +1,14 @@ +/* To learn more about this file see: https://angular.io/config/tsconfig. */ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "./out-tsc/app", + "types": [] + }, + "files": [ + "src/main.ts" + ], + "include": [ + "src/**/*.d.ts" + ] +} diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..ed966d4 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,33 @@ +/* To learn more about this file see: https://angular.io/config/tsconfig. */ +{ + "compileOnSave": false, + "compilerOptions": { + "baseUrl": "./", + "outDir": "./dist/out-tsc", + "forceConsistentCasingInFileNames": true, + "strict": true, + "noImplicitOverride": true, + "noPropertyAccessFromIndexSignature": true, + "noImplicitReturns": true, + "noFallthroughCasesInSwitch": true, + "sourceMap": true, + "declaration": false, + "downlevelIteration": true, + "experimentalDecorators": true, + "moduleResolution": "node", + "importHelpers": true, + "target": "ES2022", + "module": "ES2022", + "useDefineForClassFields": false, + "lib": [ + "ES2022", + "dom" + ] + }, + "angularCompilerOptions": { + "enableI18nLegacyMessageIdFormat": false, + "strictInjectionParameters": true, + "strictInputAccessModifiers": true, + "strictTemplates": true + } +} diff --git a/tsconfig.spec.json b/tsconfig.spec.json new file mode 100644 index 0000000..be7e9da --- /dev/null +++ b/tsconfig.spec.json @@ -0,0 +1,14 @@ +/* To learn more about this file see: https://angular.io/config/tsconfig. */ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "./out-tsc/spec", + "types": [ + "jasmine" + ] + }, + "include": [ + "src/**/*.spec.ts", + "src/**/*.d.ts" + ] +} From 62208e41591301a7ccaf691dab4c3e323ab21bab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?No=C3=A9=20Echard?= <65755297+Nchrd@users.noreply.github.com> Date: Sun, 16 Apr 2023 17:17:35 +0200 Subject: [PATCH 002/146] Correctif du code de conduite --- .github/CODE_OF_CONDUCT.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/CODE_OF_CONDUCT.md b/.github/CODE_OF_CONDUCT.md index b8ecd8d..09759bc 100644 --- a/.github/CODE_OF_CONDUCT.md +++ b/.github/CODE_OF_CONDUCT.md @@ -2,7 +2,7 @@ ## Nos engagements -Dans le but de favoriser un environnement ouvert et accueillant, nous, en tant que contributeurs et mainteneurs nous engageons à faire de la participation à notre projet et à notre notre communauté une expérience sans harcèlement pour tous, indépendamment de l'âge, de la taille, du l'âge, la taille, le handicap, l'origine ethnique, les caractéristiques sexuelles, l'identité et l'expression de genre, niveau d'expérience, d'éducation, de statut socio-économique, de nationalité, d'apparence personnelle l'apparence personnelle, la race, la religion, l'identité et l'orientation sexuelles. +Dans le but de favoriser un environnement ouvert et accueillant, nous, en tant que contributeurs et mainteneurs nous engageons à faire de la participation à notre projet et à notre communauté une expérience sans harcèlement pour tous, indépendamment de l'âge, de la taille, d'un handicap, de l'origine ethnique, des caractéristiques sexuelles, de l'identité et l'expression de genre, du niveau d'expérience et d'éducation, du statut socio-économique, de la nationalité, de l'apparence personnelle, de la race, de la religion et de l'identité et l'orientation sexuelle. ## Nos normes @@ -26,7 +26,7 @@ Voici quelques exemples de comportements inacceptables : Les responsables de projet sont chargés de clarifier et d'appliquer nos normes de comportement acceptable et prendront des mesures correctives appropriées et équitables en réponse à tout cas de comportement inacceptable. -Les responsables du projet ont le droit et la responsabilité de supprimer, modifier ou rejeter commentaires, commits, code, éditions wiki, problèmes et autres contributions qui ne sont pas ne sont pas conformes au présent code de conduite, ou de bannir temporairement ou définitivement tout contributeur pour d'autres comportements qu'ils jugent inappropriés, menaçants, offensants ou nuisibles. +Les responsables du projet ont le droit et la responsabilité de supprimer, modifier ou rejeter commentaires, commits, code, éditions wiki, problèmes et autres contributions qui ne sont pas conformes au présent code de conduite, ou de bannir temporairement ou définitivement tout contributeur pour d'autres comportements qu'ils jugent inappropriés, menaçants, offensants ou nuisibles. ## Champ d'application @@ -34,7 +34,7 @@ Ce code de conduite s'applique dans tous les espaces communautaires, ainsi que l ## Application de la loi -Les cas d'abus, de harcèlement ou de tout autre comportement inacceptable peuvent être signalés aux responsables de la communauté chargés de faire respecter la loi. Toutes les plaintes seront examinées et feront l'objet d'une enquête rapide et équitable. +Les cas d'abus, de harcèlements et tous les autres comportements inacceptables peuvent être signalés aux responsables de la communauté chargés de faire respecter la loi. Toutes les plaintes seront examinées et feront l'objet d'une enquête rapide et équitable. Tous les responsables communautaires sont tenus de respecter la vie privée et la sécurité de la personne qui signale un incident. From ea9e577ce645b21a782f2bc49009fb83c85ab7ce Mon Sep 17 00:00:00 2001 From: Julien Constant <49886317+Juknum@users.noreply.github.com> Date: Wed, 19 Apr 2023 00:18:05 +0200 Subject: [PATCH 003/146] Ajout traductions, Linter & Gestion des tests (#17) --- .editorconfig | 5 +- .eslintrc.js | 23 + .github/PULL_REQUEST_TEMPLATE.md | 28 + .github/workflows/linting.yml | 31 + .github/workflows/testing.yml | 37 + .github/workflows/update.yml | 17 + .prettierrc | 10 + .stylelintrc.js | 10 + .vscode/extensions.json | 15 +- .vscode/launch.json | 26 +- .vscode/settings.json | 16 + .vscode/tasks.json | 42 - angular.json | 11 +- crowdin.yml | 3 + karma.conf.js | 47 + package.json | 56 +- pnpm-lock.yaml | 2144 ++++++++++++++--- src/app/app-routing.module.ts | 28 +- src/app/app.component.html | 484 ---- src/app/app.component.scss | 0 src/app/app.component.spec.ts | 109 +- src/app/app.component.ts | 37 +- src/app/app.module.ts | 32 +- src/app/components/common/common.module.ts | 11 + .../common/icons/expand_less/expand_less.svg | 1 + .../common/icons/expand_less/expand_less.ts | 8 + .../common/icons/expand_more/expand_more.svg | 1 + .../common/icons/expand_more/expand_more.ts | 8 + .../components/common/icons/icons.module.ts | 10 + src/app/components/common/icons/icons.scss | 4 + .../common/select/select.component.spec.ts | 118 + .../common/select/select.component.ts | 57 + src/app/components/common/select/select.html | 16 + src/app/components/common/select/select.scss | 111 + src/app/components/components.module.ts | 9 + src/app/components/desktop/desktop.module.ts | 11 + .../lang-selector.component.spec.ts | 108 + .../lang-selector/lang-selector.component.ts | 66 + .../mobile/lang-selector/lang-selector.html | 7 + .../mobile/lang-selector/lang-selector.scss | 36 + src/app/components/mobile/mobile.module.ts | 13 + .../subtitle/subtitle.component.spec.ts | 45 + .../mobile/subtitle/subtitle.component.ts | 17 + .../components/mobile/subtitle/subtitle.html | 1 + .../components/mobile/subtitle/subtitle.scss | 36 + .../pages/404/not-found.component.ts | 8 + src/app/components/pages/404/not-found.html | 1 + .../components/pages/home/home.component.ts | 8 + src/app/components/pages/home/home.html | 1 + src/app/components/pages/pages.module.ts | 15 + src/app/styles/inter.scss | 62 + src/app/styles/roboto.scss | 83 + src/app/styles/styles.scss | 55 + src/assets/.gitkeep | 0 src/assets/flags/ar-SA.svg | 37 + src/assets/flags/de-DE.svg | 5 + src/assets/flags/en-GB.svg | 9 + src/assets/flags/es-ES.svg | 5 + src/assets/flags/fr-FR.svg | 5 + src/assets/flags/it-IT.svg | 5 + src/assets/flags/ja-JP.svg | 4 + src/assets/flags/ru-RU.svg | 5 + src/assets/flags/uk-UA.svg | 4 + src/assets/flags/zh-CN.svg | 8 + src/assets/fonts/Inter/Inter-Black.ttf | Bin 0 -> 316372 bytes src/assets/fonts/Inter/Inter-Bold.ttf | Bin 0 -> 316100 bytes src/assets/fonts/Inter/Inter-ExtraBold.ttf | Bin 0 -> 316716 bytes src/assets/fonts/Inter/Inter-ExtraLight.ttf | Bin 0 -> 310808 bytes src/assets/fonts/Inter/Inter-Light.ttf | Bin 0 -> 310420 bytes src/assets/fonts/Inter/Inter-Medium.ttf | Bin 0 -> 314712 bytes src/assets/fonts/Inter/Inter-Regular.ttf | Bin 0 -> 309828 bytes src/assets/fonts/Inter/Inter-SemiBold.ttf | Bin 0 -> 315756 bytes src/assets/fonts/Inter/Inter-Thin.ttf | Bin 0 -> 310516 bytes src/assets/fonts/Roboto/LICENSE.txt | 202 ++ src/assets/fonts/Roboto/Roboto-Black.ttf | Bin 0 -> 168060 bytes .../fonts/Roboto/Roboto-BlackItalic.ttf | Bin 0 -> 174108 bytes src/assets/fonts/Roboto/Roboto-Bold.ttf | Bin 0 -> 167336 bytes src/assets/fonts/Roboto/Roboto-BoldItalic.ttf | Bin 0 -> 171508 bytes src/assets/fonts/Roboto/Roboto-Italic.ttf | Bin 0 -> 170504 bytes src/assets/fonts/Roboto/Roboto-Light.ttf | Bin 0 -> 167000 bytes .../fonts/Roboto/Roboto-LightItalic.ttf | Bin 0 -> 173172 bytes src/assets/fonts/Roboto/Roboto-Medium.ttf | Bin 0 -> 168644 bytes .../fonts/Roboto/Roboto-MediumItalic.ttf | Bin 0 -> 173416 bytes src/assets/fonts/Roboto/Roboto-Regular.ttf | Bin 0 -> 168260 bytes src/assets/fonts/Roboto/Roboto-Thin.ttf | Bin 0 -> 168488 bytes src/assets/fonts/Roboto/Roboto-ThinItalic.ttf | Bin 0 -> 172860 bytes src/assets/i18n/en-US.json | 7 + src/assets/i18n/fr-FR.json | 7 + src/assets/i18n/languages.json | 72 + src/main.ts | 8 +- src/styles.scss | 1 - src/utils/document.spec.ts | 13 + src/utils/document.ts | 7 + src/utils/i18n.spec.ts | 91 + src/utils/i18n.ts | 118 + src/utils/index.ts | 3 + src/utils/object.spec.ts | 29 + src/utils/object.ts | 59 + tsconfig.json | 3 + 99 files changed, 3860 insertions(+), 985 deletions(-) create mode 100644 .eslintrc.js create mode 100644 .github/PULL_REQUEST_TEMPLATE.md create mode 100644 .github/workflows/linting.yml create mode 100644 .github/workflows/testing.yml create mode 100644 .github/workflows/update.yml create mode 100644 .prettierrc create mode 100644 .stylelintrc.js create mode 100644 .vscode/settings.json delete mode 100644 .vscode/tasks.json create mode 100644 crowdin.yml create mode 100644 karma.conf.js delete mode 100644 src/app/app.component.html delete mode 100644 src/app/app.component.scss create mode 100644 src/app/components/common/common.module.ts create mode 100644 src/app/components/common/icons/expand_less/expand_less.svg create mode 100644 src/app/components/common/icons/expand_less/expand_less.ts create mode 100644 src/app/components/common/icons/expand_more/expand_more.svg create mode 100644 src/app/components/common/icons/expand_more/expand_more.ts create mode 100644 src/app/components/common/icons/icons.module.ts create mode 100644 src/app/components/common/icons/icons.scss create mode 100644 src/app/components/common/select/select.component.spec.ts create mode 100644 src/app/components/common/select/select.component.ts create mode 100644 src/app/components/common/select/select.html create mode 100644 src/app/components/common/select/select.scss create mode 100644 src/app/components/components.module.ts create mode 100644 src/app/components/desktop/desktop.module.ts create mode 100644 src/app/components/mobile/lang-selector/lang-selector.component.spec.ts create mode 100644 src/app/components/mobile/lang-selector/lang-selector.component.ts create mode 100644 src/app/components/mobile/lang-selector/lang-selector.html create mode 100644 src/app/components/mobile/lang-selector/lang-selector.scss create mode 100644 src/app/components/mobile/mobile.module.ts create mode 100644 src/app/components/mobile/subtitle/subtitle.component.spec.ts create mode 100644 src/app/components/mobile/subtitle/subtitle.component.ts create mode 100644 src/app/components/mobile/subtitle/subtitle.html create mode 100644 src/app/components/mobile/subtitle/subtitle.scss create mode 100644 src/app/components/pages/404/not-found.component.ts create mode 100644 src/app/components/pages/404/not-found.html create mode 100644 src/app/components/pages/home/home.component.ts create mode 100644 src/app/components/pages/home/home.html create mode 100644 src/app/components/pages/pages.module.ts create mode 100644 src/app/styles/inter.scss create mode 100644 src/app/styles/roboto.scss create mode 100644 src/app/styles/styles.scss delete mode 100644 src/assets/.gitkeep create mode 100644 src/assets/flags/ar-SA.svg create mode 100644 src/assets/flags/de-DE.svg create mode 100644 src/assets/flags/en-GB.svg create mode 100644 src/assets/flags/es-ES.svg create mode 100644 src/assets/flags/fr-FR.svg create mode 100644 src/assets/flags/it-IT.svg create mode 100644 src/assets/flags/ja-JP.svg create mode 100644 src/assets/flags/ru-RU.svg create mode 100644 src/assets/flags/uk-UA.svg create mode 100644 src/assets/flags/zh-CN.svg create mode 100644 src/assets/fonts/Inter/Inter-Black.ttf create mode 100644 src/assets/fonts/Inter/Inter-Bold.ttf create mode 100644 src/assets/fonts/Inter/Inter-ExtraBold.ttf create mode 100644 src/assets/fonts/Inter/Inter-ExtraLight.ttf create mode 100644 src/assets/fonts/Inter/Inter-Light.ttf create mode 100644 src/assets/fonts/Inter/Inter-Medium.ttf create mode 100644 src/assets/fonts/Inter/Inter-Regular.ttf create mode 100644 src/assets/fonts/Inter/Inter-SemiBold.ttf create mode 100644 src/assets/fonts/Inter/Inter-Thin.ttf create mode 100644 src/assets/fonts/Roboto/LICENSE.txt create mode 100644 src/assets/fonts/Roboto/Roboto-Black.ttf create mode 100644 src/assets/fonts/Roboto/Roboto-BlackItalic.ttf create mode 100644 src/assets/fonts/Roboto/Roboto-Bold.ttf create mode 100644 src/assets/fonts/Roboto/Roboto-BoldItalic.ttf create mode 100644 src/assets/fonts/Roboto/Roboto-Italic.ttf create mode 100644 src/assets/fonts/Roboto/Roboto-Light.ttf create mode 100644 src/assets/fonts/Roboto/Roboto-LightItalic.ttf create mode 100644 src/assets/fonts/Roboto/Roboto-Medium.ttf create mode 100644 src/assets/fonts/Roboto/Roboto-MediumItalic.ttf create mode 100644 src/assets/fonts/Roboto/Roboto-Regular.ttf create mode 100644 src/assets/fonts/Roboto/Roboto-Thin.ttf create mode 100644 src/assets/fonts/Roboto/Roboto-ThinItalic.ttf create mode 100644 src/assets/i18n/en-US.json create mode 100644 src/assets/i18n/fr-FR.json create mode 100644 src/assets/i18n/languages.json delete mode 100644 src/styles.scss create mode 100644 src/utils/document.spec.ts create mode 100644 src/utils/document.ts create mode 100644 src/utils/i18n.spec.ts create mode 100644 src/utils/i18n.ts create mode 100644 src/utils/index.ts create mode 100644 src/utils/object.spec.ts create mode 100644 src/utils/object.ts diff --git a/.editorconfig b/.editorconfig index 59d9a3a..a31c901 100644 --- a/.editorconfig +++ b/.editorconfig @@ -3,7 +3,7 @@ root = true [*] charset = utf-8 -indent_style = space +indent_style = tab indent_size = 2 insert_final_newline = true trim_trailing_whitespace = true @@ -14,3 +14,6 @@ quote_type = single [*.md] max_line_length = off trim_trailing_whitespace = false + +[*.yml] +indent_style = space diff --git a/.eslintrc.js b/.eslintrc.js new file mode 100644 index 0000000..60a3af1 --- /dev/null +++ b/.eslintrc.js @@ -0,0 +1,23 @@ +module.exports = { + parser: '@typescript-eslint/parser', + parserOptions: { + project: 'tsconfig.json', + tsconfigRootDir: __dirname, + sourceType: 'module', + }, + plugins: ['@typescript-eslint/eslint-plugin', 'html'], + extends: ['plugin:@typescript-eslint/recommended', 'plugin:prettier/recommended'], + root: true, + env: { + node: true, + jest: true, + }, + ignorePatterns: ['.eslintrc.js'], + rules: { + '@typescript-eslint/interface-name-prefix': 'off', + '@typescript-eslint/explicit-function-return-type': 'off', + '@typescript-eslint/explicit-module-boundary-types': 'off', + '@typescript-eslint/explicit-member-accessibility': 'error', + 'no-console': 'warn', + }, +}; diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 0000000..b5bc85b --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,28 @@ + + +- [ ] J'ai lu [le code de conduite]('https://github.com/ae-utbm/sith4/blob/main/.github/CODE_OF_CONDUCT.md'). + +## Ajouts +- +- +- + +## Changements +- +- +- + +## Fixes +- +- +- + +## Autre informations +- +- +- diff --git a/.github/workflows/linting.yml b/.github/workflows/linting.yml new file mode 100644 index 0000000..c968191 --- /dev/null +++ b/.github/workflows/linting.yml @@ -0,0 +1,31 @@ +name: Code Linting + +on: + workflow_call: + workflow_dispatch: + +jobs: + + lint: + runs-on: ubuntu-latest + + steps: + - name: Checkout code + uses: actions/checkout@v3 + + - name: Set up Node.js + uses: actions/setup-node@v3 + with: + node-version: '16.x' + + - name: Install pnpm + run: npm install -g pnpm + + - name: Install dependencies + run: pnpm install + + - name: Lint Typescript & HTML + run: pnpm eslint "{src,test}/**/*.{ts,js,html}" + + - name: Lint SCSS + run: pnpm npx stylelint "{src,test}/**/*.scss" diff --git a/.github/workflows/testing.yml b/.github/workflows/testing.yml new file mode 100644 index 0000000..f7c2a8e --- /dev/null +++ b/.github/workflows/testing.yml @@ -0,0 +1,37 @@ +name: Run tests + +on: + workflow_call: + workflow_dispatch: + +jobs: + unit-tests: + runs-on: ubuntu-latest + + steps: + - name: Checkout code + uses: actions/checkout@v3 + + - name: Set up Node.js + uses: actions/setup-node@v3 + with: + node-version: '16.x' + + - name: Install pnpm + run: npm install -g pnpm + + - name: Install dependencies + run: pnpm install + + - name: Run tests + run: pnpm ng test --watch false + + - name: Export coverage results + uses: actions/upload-artifact@v3 + with: + name: Coverage results + path: coverage + retention-days: 7 + + # todo: add e2e tests + # Should run on all OSes (Windows, Linux, macOS) diff --git a/.github/workflows/update.yml b/.github/workflows/update.yml new file mode 100644 index 0000000..3d7dfb9 --- /dev/null +++ b/.github/workflows/update.yml @@ -0,0 +1,17 @@ +# https://docs.github.com/en/actions/using-workflows/reusing-workflows +name: PR/Push update + +on: + pull_request: + branches: [ main, develop ] + push: + branches: [ main, develop ] + +jobs: + execute-lint: + uses: ./.github/workflows/linting.yml + + execute-tests: + needs: execute-lint + if: ${{ needs.execute-lint.result == 'success' }} + uses: ./.github/workflows/testing.yml diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 0000000..71eac2b --- /dev/null +++ b/.prettierrc @@ -0,0 +1,10 @@ +{ + "singleQuote": true, + "trailingComma": "all", + "semi": true, + "printWidth": 120, + "useTabs": true, + "bracketSpacing": true, + "arrowParens": "always", + "parser": "typescript" +} diff --git a/.stylelintrc.js b/.stylelintrc.js new file mode 100644 index 0000000..477423a --- /dev/null +++ b/.stylelintrc.js @@ -0,0 +1,10 @@ +module.exports = { + extends: ['stylelint-config-standard-scss'], + plugins: ['stylelint-scss'], + overrides: [ + { + files: ['*.scss', '**/*.scss'], + customSyntax: 'postcss-scss', + }, + ] +} diff --git a/.vscode/extensions.json b/.vscode/extensions.json index 77b3745..86ba353 100644 --- a/.vscode/extensions.json +++ b/.vscode/extensions.json @@ -1,4 +1,17 @@ { // For more information, visit: https://go.microsoft.com/fwlink/?linkid=827846 - "recommendations": ["angular.ng-template"] + "recommendations": [ + "angular.ng-template", + "aaron-bond.better-comments", + "streetsidesoftware.code-spell-checker", + "exodiusstudios.comment-anchors", + "leonardssh.vscord", + "editorconfig.editorconfig", + "dbaeumer.vscode-eslint", + "github.copilot", + "github.vscode-pull-request-github", + "eamodio.gitlens", + "chrisbibby.hide-node-modules", + "esbenp.prettier-vscode" + ] } diff --git a/.vscode/launch.json b/.vscode/launch.json index 740e35a..98d4130 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -3,18 +3,28 @@ "version": "0.2.0", "configurations": [ { - "name": "ng serve", - "type": "pwa-chrome", + "name": "Start", + "type": "node", "request": "launch", - "preLaunchTask": "npm: start", - "url": "http://localhost:4200/" + "runtimeExecutable": "pnpm", + "args": ["run", "start"], + "console": "integratedTerminal", }, { - "name": "ng test", - "type": "chrome", + "name": "Run tests", + "type": "node", "request": "launch", - "preLaunchTask": "npm: test", - "url": "http://localhost:9876/debug.html" + "runtimeExecutable": "pnpm", + "args": ["run", "test"], + "console": "integratedTerminal", + }, + { + "name": "Lint", + "type": "node", + "request": "launch", + "runtimeExecutable": "pnpm", + "args": ["run", "lint"], + "console": "integratedTerminal", } ] } diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..5935eb0 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,16 @@ +{ + "files.exclude": { + "**/.git": true, + "**/.svn": true, + "**/.hg": true, + "**/CVS": true, + "**/.DS_Store": true, + "**/Thumbs.db": true, + "**/node_modules": true + }, + "cSpell.words": [ + "sith", + "stylelint", + "truetype" + ] +} diff --git a/.vscode/tasks.json b/.vscode/tasks.json deleted file mode 100644 index a298b5b..0000000 --- a/.vscode/tasks.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - // For more information, visit: https://go.microsoft.com/fwlink/?LinkId=733558 - "version": "2.0.0", - "tasks": [ - { - "type": "npm", - "script": "start", - "isBackground": true, - "problemMatcher": { - "owner": "typescript", - "pattern": "$tsc", - "background": { - "activeOnStart": true, - "beginsPattern": { - "regexp": "(.*?)" - }, - "endsPattern": { - "regexp": "bundle generation complete" - } - } - } - }, - { - "type": "npm", - "script": "test", - "isBackground": true, - "problemMatcher": { - "owner": "typescript", - "pattern": "$tsc", - "background": { - "activeOnStart": true, - "beginsPattern": { - "regexp": "(.*?)" - }, - "endsPattern": { - "regexp": "bundle generation complete" - } - } - } - } - ] -} diff --git a/angular.json b/angular.json index aa1ff97..0badad2 100644 --- a/angular.json +++ b/angular.json @@ -30,7 +30,7 @@ "src/assets" ], "styles": [ - "src/styles.scss" + "src/app/styles/styles.scss" ], "scripts": [] }, @@ -93,12 +93,17 @@ "src/assets" ], "styles": [ - "src/styles.scss" + "src/app/styles/styles.scss" ], - "scripts": [] + "scripts": [], + "karmaConfig": "karma.conf.js", + "codeCoverage": true } } } } + }, + "cli": { + "analytics": false } } diff --git a/crowdin.yml b/crowdin.yml new file mode 100644 index 0000000..c2d5fd3 --- /dev/null +++ b/crowdin.yml @@ -0,0 +1,3 @@ +files: + - source: /src/assets/i18n/en-US.json + translation: /src/assets/i18n/%locale%.json diff --git a/karma.conf.js b/karma.conf.js new file mode 100644 index 0000000..ab198df --- /dev/null +++ b/karma.conf.js @@ -0,0 +1,47 @@ +/* eslint-disable @typescript-eslint/no-var-requires */ +// Karma configuration file, see link for more information +// https://karma-runner.github.io/1.0/config/configuration-file.html + +process.env['CHROME_BIN'] = require('puppeteer').executablePath(); + +module.exports = function (config) { + config.set({ + basePath: '', + frameworks: ['jasmine', '@angular-devkit/build-angular'], + plugins: [ + require('karma-jasmine'), + require('karma-chrome-launcher'), + require('karma-jasmine-html-reporter'), + require('karma-coverage'), + require('@angular-devkit/build-angular/plugins/karma'), + ], + client: { + jasmine: { + // you can add configuration options for Jasmine here + // the possible options are listed at https://jasmine.github.io/api/edge/Configuration.html + // for example, you can disable the random execution with `random: false` + // or set a specific seed with `seed: 4321` + }, + clearContext: false, // leave Jasmine Spec Runner output visible in browser + }, + jasmineHtmlReporter: { + suppressAll: true, // removes the duplicated traces + }, + coverageReporter: { + dir: require('path').join(__dirname, './coverage/sith'), + subdir: '.', + reporters: [{ type: 'html' }, { type: 'text-summary' }], + check: { + global: { + statements: 100, + lines: 100, + branches: 100, + functions: 100, + }, + }, + }, + reporters: ['progress', 'kjhtml'], + browsers: ['ChromeHeadless'], + restartOnFileChange: true, + }); +}; diff --git a/package.json b/package.json index f0c7e09..c167154 100644 --- a/package.json +++ b/package.json @@ -1,38 +1,58 @@ { - "name": "Sith4", + "name": "sith", "version": "4.0.0", "scripts": { "ng": "ng", "start": "ng serve", "build": "ng build", + "lint": "eslint \"{src,test}/**/*.{ts,js,html}\" --fix && npx stylelint {src,test}/**/*.scss --fix", "watch": "ng build --watch --configuration development", "test": "ng test" }, "private": true, "dependencies": { - "@angular/animations": "^15.2.0", - "@angular/common": "^15.2.0", - "@angular/compiler": "^15.2.0", - "@angular/core": "^15.2.0", - "@angular/forms": "^15.2.0", - "@angular/platform-browser": "^15.2.0", - "@angular/platform-browser-dynamic": "^15.2.0", - "@angular/router": "^15.2.0", + "@angular/animations": "^15.2.7", + "@angular/common": "^15.2.7", + "@angular/compiler": "^15.2.7", + "@angular/core": "^15.2.7", + "@angular/forms": "^15.2.7", + "@angular/platform-browser": "^15.2.7", + "@angular/platform-browser-dynamic": "^15.2.7", + "@angular/router": "^15.2.7", + "@ngx-translate/core": "^14.0.0", + "@ngx-translate/http-loader": "^7.0.0", "rxjs": "~7.8.0", - "tslib": "^2.3.0", + "tslib": "^2.5.0", "zone.js": "~0.12.0" }, "devDependencies": { - "@angular-devkit/build-angular": "^15.2.4", - "@angular/cli": "~15.2.4", - "@angular/compiler-cli": "^15.2.0", - "@types/jasmine": "~4.3.0", + "@angular-devkit/build-angular": "^15.2.6", + "@angular/cli": "~15.2.6", + "@angular/compiler-cli": "^15.2.7", + "@types/jasmine": "~4.3.1", + "@types/node": "^18.15.11", + "@typescript-eslint/eslint-plugin": "^5.58.0", + "@typescript-eslint/parser": "^5.58.0", + "eslint": "^8.38.0", + "eslint-config-prettier": "^8.8.0", + "eslint-plugin-html": "^7.1.0", + "eslint-plugin-prettier": "^4.2.1", "jasmine-core": "~4.5.0", - "karma": "~6.4.0", - "karma-chrome-launcher": "~3.1.0", - "karma-coverage": "~2.2.0", + "karma": "~6.4.1", + "karma-chrome-launcher": "~3.1.1", + "karma-coverage": "^2.2.0", "karma-jasmine": "~5.1.0", "karma-jasmine-html-reporter": "~2.0.0", - "typescript": "~4.9.4" + "prettier": "^2.8.7", + "puppeteer": "^19.9.0", + "stylelint": "^15.4.0", + "stylelint-config-standard-scss": "^8.0.0", + "stylelint-scss": "^4.6.0", + "typescript": "~4.9.5" + }, + "browser": { + "fs": false, + "os": false, + "path": false } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 5e4e55f..cade81f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -2,73 +2,115 @@ lockfileVersion: '6.0' dependencies: '@angular/animations': - specifier: ^15.2.0 - version: 15.2.0(@angular/core@15.2.0) + specifier: ^15.2.7 + version: 15.2.7(@angular/core@15.2.7) '@angular/common': - specifier: ^15.2.0 - version: 15.2.0(@angular/core@15.2.0)(rxjs@7.8.0) + specifier: ^15.2.7 + version: 15.2.7(@angular/core@15.2.7)(rxjs@7.8.0) '@angular/compiler': - specifier: ^15.2.0 - version: 15.2.0(@angular/core@15.2.0) + specifier: ^15.2.7 + version: 15.2.7(@angular/core@15.2.7) '@angular/core': - specifier: ^15.2.0 - version: 15.2.0(rxjs@7.8.0)(zone.js@0.12.0) + specifier: ^15.2.7 + version: 15.2.7(rxjs@7.8.0)(zone.js@0.12.0) '@angular/forms': - specifier: ^15.2.0 - version: 15.2.0(@angular/common@15.2.0)(@angular/core@15.2.0)(@angular/platform-browser@15.2.0)(rxjs@7.8.0) + specifier: ^15.2.7 + version: 15.2.7(@angular/common@15.2.7)(@angular/core@15.2.7)(@angular/platform-browser@15.2.7)(rxjs@7.8.0) '@angular/platform-browser': - specifier: ^15.2.0 - version: 15.2.0(@angular/animations@15.2.0)(@angular/common@15.2.0)(@angular/core@15.2.0) + specifier: ^15.2.7 + version: 15.2.7(@angular/animations@15.2.7)(@angular/common@15.2.7)(@angular/core@15.2.7) '@angular/platform-browser-dynamic': - specifier: ^15.2.0 - version: 15.2.0(@angular/common@15.2.0)(@angular/compiler@15.2.0)(@angular/core@15.2.0)(@angular/platform-browser@15.2.0) + specifier: ^15.2.7 + version: 15.2.7(@angular/common@15.2.7)(@angular/compiler@15.2.7)(@angular/core@15.2.7)(@angular/platform-browser@15.2.7) '@angular/router': - specifier: ^15.2.0 - version: 15.2.0(@angular/common@15.2.0)(@angular/core@15.2.0)(@angular/platform-browser@15.2.0)(rxjs@7.8.0) + specifier: ^15.2.7 + version: 15.2.7(@angular/common@15.2.7)(@angular/core@15.2.7)(@angular/platform-browser@15.2.7)(rxjs@7.8.0) + '@ngx-translate/core': + specifier: ^14.0.0 + version: 14.0.0(@angular/core@15.2.7)(rxjs@7.8.0) + '@ngx-translate/http-loader': + specifier: ^7.0.0 + version: 7.0.0(@angular/common@15.2.7)(@ngx-translate/core@14.0.0)(rxjs@7.8.0) rxjs: specifier: ~7.8.0 version: 7.8.0 tslib: - specifier: ^2.3.0 - version: 2.3.0 + specifier: ^2.5.0 + version: 2.5.0 zone.js: specifier: ~0.12.0 version: 0.12.0 devDependencies: '@angular-devkit/build-angular': - specifier: ^15.2.4 - version: 15.2.4(@angular/compiler-cli@15.2.0)(karma@6.4.0)(typescript@4.9.4) + specifier: ^15.2.6 + version: 15.2.6(@angular/compiler-cli@15.2.7)(karma@6.4.1)(typescript@4.9.5) '@angular/cli': - specifier: ~15.2.4 - version: 15.2.4 + specifier: ~15.2.6 + version: 15.2.6 '@angular/compiler-cli': - specifier: ^15.2.0 - version: 15.2.0(@angular/compiler@15.2.0)(typescript@4.9.4) + specifier: ^15.2.7 + version: 15.2.7(@angular/compiler@15.2.7)(typescript@4.9.5) '@types/jasmine': - specifier: ~4.3.0 - version: 4.3.0 + specifier: ~4.3.1 + version: 4.3.1 + '@types/node': + specifier: ^18.15.11 + version: 18.15.11 + '@typescript-eslint/eslint-plugin': + specifier: ^5.58.0 + version: 5.58.0(@typescript-eslint/parser@5.58.0)(eslint@8.38.0)(typescript@4.9.5) + '@typescript-eslint/parser': + specifier: ^5.58.0 + version: 5.58.0(eslint@8.38.0)(typescript@4.9.5) + eslint: + specifier: ^8.38.0 + version: 8.38.0 + eslint-config-prettier: + specifier: ^8.8.0 + version: 8.8.0(eslint@8.38.0) + eslint-plugin-html: + specifier: ^7.1.0 + version: 7.1.0 + eslint-plugin-prettier: + specifier: ^4.2.1 + version: 4.2.1(eslint-config-prettier@8.8.0)(eslint@8.38.0)(prettier@2.8.7) jasmine-core: specifier: ~4.5.0 version: 4.5.0 karma: - specifier: ~6.4.0 - version: 6.4.0 + specifier: ~6.4.1 + version: 6.4.1 karma-chrome-launcher: - specifier: ~3.1.0 - version: 3.1.0 + specifier: ~3.1.1 + version: 3.1.1 karma-coverage: - specifier: ~2.2.0 + specifier: ^2.2.0 version: 2.2.0 karma-jasmine: specifier: ~5.1.0 - version: 5.1.0(karma@6.4.0) + version: 5.1.0(karma@6.4.1) karma-jasmine-html-reporter: specifier: ~2.0.0 - version: 2.0.0(jasmine-core@4.5.0)(karma-jasmine@5.1.0)(karma@6.4.0) + version: 2.0.0(jasmine-core@4.5.0)(karma-jasmine@5.1.0)(karma@6.4.1) + prettier: + specifier: ^2.8.7 + version: 2.8.7 + puppeteer: + specifier: ^19.9.0 + version: 19.9.0(typescript@4.9.5) + stylelint: + specifier: ^15.4.0 + version: 15.4.0 + stylelint-config-standard-scss: + specifier: ^8.0.0 + version: 8.0.0(postcss@8.4.21)(stylelint@15.4.0) + stylelint-scss: + specifier: ^4.6.0 + version: 4.6.0(stylelint@15.4.0) typescript: - specifier: ~4.9.4 - version: 4.9.4 + specifier: ~4.9.5 + version: 4.9.5 packages: @@ -77,21 +119,29 @@ packages: engines: {node: '>=6.0.0'} dependencies: '@jridgewell/gen-mapping': 0.1.1 - '@jridgewell/trace-mapping': 0.3.17 + '@jridgewell/trace-mapping': 0.3.18 dev: true - /@angular-devkit/architect@0.1502.4(chokidar@3.5.3): - resolution: {integrity: sha512-bDBcaRMBfXFfK9MpvfNO926F1rL0PEw+mveXxq3/SSql+1XP/hrc5TVGwnoim4g6DqsGmu9upS5DyJ6PnL/hHA==} + /@ampproject/remapping@2.2.1: + resolution: {integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/gen-mapping': 0.3.3 + '@jridgewell/trace-mapping': 0.3.18 + dev: true + + /@angular-devkit/architect@0.1502.6(chokidar@3.5.3): + resolution: {integrity: sha512-n4oJ9vzFWwabf+AfgqqevVzdJhNKNCav7ytefjD/Y01vkNwlXqWnHcvyyHCLkVibJ6WR8J9lK4t77j/HFlDvWQ==} engines: {node: ^14.20.0 || ^16.13.0 || >=18.10.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} dependencies: - '@angular-devkit/core': 15.2.4(chokidar@3.5.3) + '@angular-devkit/core': 15.2.6(chokidar@3.5.3) rxjs: 6.6.7 transitivePeerDependencies: - chokidar dev: true - /@angular-devkit/build-angular@15.2.4(@angular/compiler-cli@15.2.0)(karma@6.4.0)(typescript@4.9.4): - resolution: {integrity: sha512-wt0S4oz0vxuW0/Ak5X0vQ7s7TSPynmktVNJblu9SFRgwCD3kplV2B693F+M6t8eLzSy0UCSbZp9h3Ae8gLEiEw==} + /@angular-devkit/build-angular@15.2.6(@angular/compiler-cli@15.2.7)(karma@6.4.1)(typescript@4.9.5): + resolution: {integrity: sha512-OmMcdXXUrAdZNxwxDE8SUx1FMcq9FyMnrSv1PmP9sHPBoxAdBVc/qNdGA9V7C5yHvWHGgzsx7ZK5TDuvifzS5g==} engines: {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': ^15.0.0 @@ -120,10 +170,10 @@ packages: optional: true dependencies: '@ampproject/remapping': 2.2.0 - '@angular-devkit/architect': 0.1502.4(chokidar@3.5.3) - '@angular-devkit/build-webpack': 0.1502.4(chokidar@3.5.3)(webpack-dev-server@4.11.1)(webpack@5.76.1) - '@angular-devkit/core': 15.2.4(chokidar@3.5.3) - '@angular/compiler-cli': 15.2.0(@angular/compiler@15.2.0)(typescript@4.9.4) + '@angular-devkit/architect': 0.1502.6(chokidar@3.5.3) + '@angular-devkit/build-webpack': 0.1502.6(chokidar@3.5.3)(webpack-dev-server@4.11.1)(webpack@5.76.1) + '@angular-devkit/core': 15.2.6(chokidar@3.5.3) + '@angular/compiler-cli': 15.2.7(@angular/compiler@15.2.7)(typescript@4.9.5) '@babel/core': 7.20.12 '@babel/generator': 7.20.14 '@babel/helper-annotate-as-pure': 7.18.6 @@ -135,7 +185,7 @@ packages: '@babel/runtime': 7.20.13 '@babel/template': 7.20.7 '@discoveryjs/json-ext': 0.5.7 - '@ngtools/webpack': 15.2.4(@angular/compiler-cli@15.2.0)(typescript@4.9.4)(webpack@5.76.1) + '@ngtools/webpack': 15.2.6(@angular/compiler-cli@15.2.7)(typescript@4.9.5)(webpack@5.76.1) ansi-colors: 4.1.3 autoprefixer: 10.4.13(postcss@8.4.21) babel-loader: 9.1.2(@babel/core@7.20.12)(webpack@5.76.1) @@ -151,7 +201,7 @@ packages: https-proxy-agent: 5.0.1 inquirer: 8.2.4 jsonc-parser: 3.2.0 - karma: 6.4.0 + karma: 6.4.1 karma-source-map-support: 1.4.0 less: 4.1.3 less-loader: 11.1.0(less@4.1.3)(webpack@5.76.1) @@ -176,7 +226,7 @@ packages: text-table: 0.2.0 tree-kill: 1.2.2 tslib: 2.5.0 - typescript: 4.9.4 + typescript: 4.9.5 webpack: 5.76.1(esbuild@0.17.8) webpack-dev-middleware: 6.0.1(webpack@5.76.1) webpack-dev-server: 4.11.1(webpack@5.76.1) @@ -199,14 +249,14 @@ packages: - webpack-cli dev: true - /@angular-devkit/build-webpack@0.1502.4(chokidar@3.5.3)(webpack-dev-server@4.11.1)(webpack@5.76.1): - resolution: {integrity: sha512-Bs/pxcY3517QAVyAalDxJgjc93KWQos+dFdgEQrKxj/VTs1BTYnLbb2M8Y7MoxVnfH4S+qqxGe5B57T+TlB3Eg==} + /@angular-devkit/build-webpack@0.1502.6(chokidar@3.5.3)(webpack-dev-server@4.11.1)(webpack@5.76.1): + resolution: {integrity: sha512-X7XQ11QDz2Bs5qpJ3a5glIytvI+S74ORQxdzvT6a6KB8ayW0SgZEhTwD+GF7pa5My8draIaXBGzzQR1qmpWK5Q==} engines: {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: webpack: ^5.30.0 webpack-dev-server: ^4.0.0 dependencies: - '@angular-devkit/architect': 0.1502.4(chokidar@3.5.3) + '@angular-devkit/architect': 0.1502.6(chokidar@3.5.3) rxjs: 6.6.7 webpack: 5.76.1(esbuild@0.17.8) webpack-dev-server: 4.11.1(webpack@5.76.1) @@ -214,8 +264,8 @@ packages: - chokidar dev: true - /@angular-devkit/core@15.2.4(chokidar@3.5.3): - resolution: {integrity: sha512-yl+0j1bMwJLKShsyCXw77tbJG8Sd21+itisPLL2MgEpLNAO252kr9zG4TLlFRJyKVftm2l1h78KjqvM5nbOXNg==} + /@angular-devkit/core@15.2.6(chokidar@3.5.3): + resolution: {integrity: sha512-YVTWZ+M+xNKdFX4EnY9QX49PZraawiaA0iTd2CUW8ZoTUvU7yOGMKZLSdz6aokTMRVfm0449wt6YL994ibOo1g==} engines: {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 @@ -231,11 +281,11 @@ packages: source-map: 0.7.4 dev: true - /@angular-devkit/schematics@15.2.4: - resolution: {integrity: sha512-/W7/vvn59PAVLzhcvD4/N/E8RDhub8ny1A7I96LTRjC5o+yvVV16YJ4YJzolrRrIEN01KmLVQJ9A58VCaweMgw==} + /@angular-devkit/schematics@15.2.6: + resolution: {integrity: sha512-f7VgnAcok7AwR/DhX0ZWskB0rFBo/KsvtIUA2qZSrpKMf8eFiwu03dv/b2mI0vnf+1FBfIQzJvO0ww45zRp6dA==} engines: {node: ^14.20.0 || ^16.13.0 || >=18.10.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} dependencies: - '@angular-devkit/core': 15.2.4(chokidar@3.5.3) + '@angular-devkit/core': 15.2.6(chokidar@3.5.3) jsonc-parser: 3.2.0 magic-string: 0.29.0 ora: 5.4.1 @@ -244,25 +294,25 @@ packages: - chokidar dev: true - /@angular/animations@15.2.0(@angular/core@15.2.0): - resolution: {integrity: sha512-Hh/ijBlHsFlr6vR7e9KZgFpdQf+ebr3uIDDRsVHjRkt8utsv3CpUcJkb75UyTv+Ok5gYmfsI1Lj1CDYujyA0Fg==} + /@angular/animations@15.2.7(@angular/core@15.2.7): + resolution: {integrity: sha512-Vmy0AljHc/GOp87O2x0mxUDiyfJFW8ndDE9Xrm/g0rnLnNWsaLtLXr1TWbwF7eTqKA3k/QcUvYAjLMWKvjyKgQ==} engines: {node: ^14.20.0 || ^16.13.0 || >=18.10.0} peerDependencies: - '@angular/core': 15.2.0 + '@angular/core': 15.2.7 dependencies: - '@angular/core': 15.2.0(rxjs@7.8.0)(zone.js@0.12.0) - tslib: 2.3.0 + '@angular/core': 15.2.7(rxjs@7.8.0)(zone.js@0.12.0) + tslib: 2.5.0 dev: false - /@angular/cli@15.2.4: - resolution: {integrity: sha512-nQFnrt9aWwqkyhJMaZvjHXXuxeR1pZNcpZEzTA5nXtpVeNs8U7EBFCyJ+cYecFX0LHe36SoxXcbfnNEKHt3NVQ==} + /@angular/cli@15.2.6: + resolution: {integrity: sha512-wNkQ/qCVbd4pERaGVagKJPifEvjRNY5otwsd4iRVubY/XOcIHcYChUThZwgQdVfNAImfJPMZNrhbGxejuWLA9w==} engines: {node: ^14.20.0 || ^16.13.0 || >=18.10.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} hasBin: true dependencies: - '@angular-devkit/architect': 0.1502.4(chokidar@3.5.3) - '@angular-devkit/core': 15.2.4(chokidar@3.5.3) - '@angular-devkit/schematics': 15.2.4 - '@schematics/angular': 15.2.4 + '@angular-devkit/architect': 0.1502.6(chokidar@3.5.3) + '@angular-devkit/core': 15.2.6(chokidar@3.5.3) + '@angular-devkit/schematics': 15.2.6 + '@schematics/angular': 15.2.6 '@yarnpkg/lockfile': 1.1.0 ansi-colors: 4.1.3 ini: 3.0.1 @@ -283,143 +333,143 @@ packages: - supports-color dev: true - /@angular/common@15.2.0(@angular/core@15.2.0)(rxjs@7.8.0): - resolution: {integrity: sha512-B+e5pbkvlwlSwlQjtDrYQq+Xs62mScWm1plEZRHQm3cjBhA0RFT3MiUa/YNaHv8VoGjlrOm1rdJVEVQQxroZTg==} + /@angular/common@15.2.7(@angular/core@15.2.7)(rxjs@7.8.0): + resolution: {integrity: sha512-CbmrQeZ0yChQrF/ab3v+gv6x2uLbv/s1wZNUBSO/p1STz6BZzHRJqObVlfPlQvyBx5btBBy/+I1sUh1yumARDA==} engines: {node: ^14.20.0 || ^16.13.0 || >=18.10.0} peerDependencies: - '@angular/core': 15.2.0 + '@angular/core': 15.2.7 rxjs: ^6.5.3 || ^7.4.0 dependencies: - '@angular/core': 15.2.0(rxjs@7.8.0)(zone.js@0.12.0) + '@angular/core': 15.2.7(rxjs@7.8.0)(zone.js@0.12.0) rxjs: 7.8.0 - tslib: 2.3.0 + tslib: 2.5.0 dev: false - /@angular/compiler-cli@15.2.0(@angular/compiler@15.2.0)(typescript@4.9.4): - resolution: {integrity: sha512-ETnRBdY/LGcmDRQ9GQc9KyCd1kuRnj+Y9luq2dCTMysP+NgylmYoGDsJOsDKm6SzPo+B4PSAyHX2J4CVQFHpPg==} + /@angular/compiler-cli@15.2.7(@angular/compiler@15.2.7)(typescript@4.9.5): + resolution: {integrity: sha512-4v51dOaT8GDUzRh6+mCLZOaYuU9FYX6vOHaLod9np3tVWPhcpoF2ZklRSiQDeFqrhr5B4vuCp/Lh9N2wzc22XQ==} engines: {node: ^14.20.0 || ^16.13.0 || >=18.10.0} hasBin: true peerDependencies: - '@angular/compiler': 15.2.0 + '@angular/compiler': 15.2.7 typescript: '>=4.8.2 <5.0' dependencies: - '@angular/compiler': 15.2.0(@angular/core@15.2.0) + '@angular/compiler': 15.2.7(@angular/core@15.2.7) '@babel/core': 7.19.3 - '@jridgewell/sourcemap-codec': 1.4.14 + '@jridgewell/sourcemap-codec': 1.4.15 chokidar: 3.5.3 convert-source-map: 1.9.0 dependency-graph: 0.11.0 magic-string: 0.27.0 reflect-metadata: 0.1.13 - semver: 7.3.8 - tslib: 2.3.0 - typescript: 4.9.4 + semver: 7.4.0 + tslib: 2.5.0 + typescript: 4.9.5 yargs: 17.7.1 transitivePeerDependencies: - supports-color dev: true - /@angular/compiler@15.2.0(@angular/core@15.2.0): - resolution: {integrity: sha512-bGMc8xBs/3l5Ab2PmGGifuWVLxCzmYQPXeBYrwpmy+aYCwGzuVKxQp6L1UjA0OZNra7Am8bu4mOsLSR9ENdX6w==} + /@angular/compiler@15.2.7(@angular/core@15.2.7): + resolution: {integrity: sha512-SesyYI2ExUa13XukXgIsmfg3ar90HbWeWDJTgmzsIfph0M9t6+SaPGpf3FCtdBgNADIpUFp3cieCOJgLESzxYQ==} engines: {node: ^14.20.0 || ^16.13.0 || >=18.10.0} peerDependencies: - '@angular/core': 15.2.0 + '@angular/core': 15.2.7 peerDependenciesMeta: '@angular/core': optional: true dependencies: - '@angular/core': 15.2.0(rxjs@7.8.0)(zone.js@0.12.0) - tslib: 2.3.0 + '@angular/core': 15.2.7(rxjs@7.8.0)(zone.js@0.12.0) + tslib: 2.5.0 - /@angular/core@15.2.0(rxjs@7.8.0)(zone.js@0.12.0): - resolution: {integrity: sha512-UNHNcW3NqzMbG5gMjzXhb4xHrJcZq8rFdLwTLntB0oo2I/WxQFVlxz28nrW+Y09DbJf02MCASBLxD9If/6eT3g==} + /@angular/core@15.2.7(rxjs@7.8.0)(zone.js@0.12.0): + resolution: {integrity: sha512-iS7JCJubRFqdndoUdAnvNkQRT3tY5tNFupBQS/sytkwxVrdBg+Is5jpdgk741n824vTMsE+CnuY0SETar8rN6g==} engines: {node: ^14.20.0 || ^16.13.0 || >=18.10.0} peerDependencies: rxjs: ^6.5.3 || ^7.4.0 - zone.js: ~0.11.4 || ~0.12.0 + zone.js: ~0.11.4 || ~0.12.0 || ~0.13.0 dependencies: rxjs: 7.8.0 - tslib: 2.3.0 + tslib: 2.5.0 zone.js: 0.12.0 - /@angular/forms@15.2.0(@angular/common@15.2.0)(@angular/core@15.2.0)(@angular/platform-browser@15.2.0)(rxjs@7.8.0): - resolution: {integrity: sha512-a93ysagAhbbyNbWM1yjWcPZaZBNrNjZ6SNIQYyelqySeShStXlKrDxYY5q7G/qqGpQzg2YF5qCIOOQxJJA9//g==} + /@angular/forms@15.2.7(@angular/common@15.2.7)(@angular/core@15.2.7)(@angular/platform-browser@15.2.7)(rxjs@7.8.0): + resolution: {integrity: sha512-rzrebDIrtxxOeMcBzRBxqaOBZ+T1DJrysG/6YWZy428W/Z3MfPxUarPxgfx/oZI+x5uUsDaZmyoRdhVPJ2KhZg==} engines: {node: ^14.20.0 || ^16.13.0 || >=18.10.0} peerDependencies: - '@angular/common': 15.2.0 - '@angular/core': 15.2.0 - '@angular/platform-browser': 15.2.0 + '@angular/common': 15.2.7 + '@angular/core': 15.2.7 + '@angular/platform-browser': 15.2.7 rxjs: ^6.5.3 || ^7.4.0 dependencies: - '@angular/common': 15.2.0(@angular/core@15.2.0)(rxjs@7.8.0) - '@angular/core': 15.2.0(rxjs@7.8.0)(zone.js@0.12.0) - '@angular/platform-browser': 15.2.0(@angular/animations@15.2.0)(@angular/common@15.2.0)(@angular/core@15.2.0) + '@angular/common': 15.2.7(@angular/core@15.2.7)(rxjs@7.8.0) + '@angular/core': 15.2.7(rxjs@7.8.0)(zone.js@0.12.0) + '@angular/platform-browser': 15.2.7(@angular/animations@15.2.7)(@angular/common@15.2.7)(@angular/core@15.2.7) rxjs: 7.8.0 - tslib: 2.3.0 + tslib: 2.5.0 dev: false - /@angular/platform-browser-dynamic@15.2.0(@angular/common@15.2.0)(@angular/compiler@15.2.0)(@angular/core@15.2.0)(@angular/platform-browser@15.2.0): - resolution: {integrity: sha512-OErEz/AX9S6I+RJUrFS/r9mF0rJGF1bhAvPjNvyc4mL+ai9JWZB6JgrZPzEz3v0nXG8SsAvnB1wJdKCp90Ed2g==} + /@angular/platform-browser-dynamic@15.2.7(@angular/common@15.2.7)(@angular/compiler@15.2.7)(@angular/core@15.2.7)(@angular/platform-browser@15.2.7): + resolution: {integrity: sha512-t1Nf7hgbcYvhmxuzgUtsV47jrI5CXUBqrtz5I0ilWG92zZTig5qvfd1/2Ub8NHz87uHNrnggyZpL2+4MJ26nyQ==} engines: {node: ^14.20.0 || ^16.13.0 || >=18.10.0} peerDependencies: - '@angular/common': 15.2.0 - '@angular/compiler': 15.2.0 - '@angular/core': 15.2.0 - '@angular/platform-browser': 15.2.0 - dependencies: - '@angular/common': 15.2.0(@angular/core@15.2.0)(rxjs@7.8.0) - '@angular/compiler': 15.2.0(@angular/core@15.2.0) - '@angular/core': 15.2.0(rxjs@7.8.0)(zone.js@0.12.0) - '@angular/platform-browser': 15.2.0(@angular/animations@15.2.0)(@angular/common@15.2.0)(@angular/core@15.2.0) - tslib: 2.3.0 + '@angular/common': 15.2.7 + '@angular/compiler': 15.2.7 + '@angular/core': 15.2.7 + '@angular/platform-browser': 15.2.7 + dependencies: + '@angular/common': 15.2.7(@angular/core@15.2.7)(rxjs@7.8.0) + '@angular/compiler': 15.2.7(@angular/core@15.2.7) + '@angular/core': 15.2.7(rxjs@7.8.0)(zone.js@0.12.0) + '@angular/platform-browser': 15.2.7(@angular/animations@15.2.7)(@angular/common@15.2.7)(@angular/core@15.2.7) + tslib: 2.5.0 dev: false - /@angular/platform-browser@15.2.0(@angular/animations@15.2.0)(@angular/common@15.2.0)(@angular/core@15.2.0): - resolution: {integrity: sha512-+FB+KMoRHktF/MR7hn8ofubVLpu3+KZpudupKlxthPSL2KPMJn6h00ewrJDv3W+MtpqphqCjQSLmKpzw2UKKug==} + /@angular/platform-browser@15.2.7(@angular/animations@15.2.7)(@angular/common@15.2.7)(@angular/core@15.2.7): + resolution: {integrity: sha512-aCbd7xyuP7c2eDITkOTDO2mqP550WHCBN8U6VnjysqtB5ocbJtR6z/MIRItN/Zx+xj3piiaKei//XIkb3Q5fXQ==} engines: {node: ^14.20.0 || ^16.13.0 || >=18.10.0} peerDependencies: - '@angular/animations': 15.2.0 - '@angular/common': 15.2.0 - '@angular/core': 15.2.0 + '@angular/animations': 15.2.7 + '@angular/common': 15.2.7 + '@angular/core': 15.2.7 peerDependenciesMeta: '@angular/animations': optional: true dependencies: - '@angular/animations': 15.2.0(@angular/core@15.2.0) - '@angular/common': 15.2.0(@angular/core@15.2.0)(rxjs@7.8.0) - '@angular/core': 15.2.0(rxjs@7.8.0)(zone.js@0.12.0) - tslib: 2.3.0 + '@angular/animations': 15.2.7(@angular/core@15.2.7) + '@angular/common': 15.2.7(@angular/core@15.2.7)(rxjs@7.8.0) + '@angular/core': 15.2.7(rxjs@7.8.0)(zone.js@0.12.0) + tslib: 2.5.0 dev: false - /@angular/router@15.2.0(@angular/common@15.2.0)(@angular/core@15.2.0)(@angular/platform-browser@15.2.0)(rxjs@7.8.0): - resolution: {integrity: sha512-FPmGP7DmJtzqgmM7FMs8bfe3vX0r6cdI4zbHMEVv7Zbn/yApgAzAsX7MXJYy7Oi45S6ZTH7SIVHVYVAqay1NVQ==} + /@angular/router@15.2.7(@angular/common@15.2.7)(@angular/core@15.2.7)(@angular/platform-browser@15.2.7)(rxjs@7.8.0): + resolution: {integrity: sha512-Wkk+oJSUrVafJjmv9uE1SoY4wDE9bjX7ald+UXePz+QyM/PFoLkm/CzLYjFBkJnsOkOVxw1VmvacoUjWN6BCTQ==} engines: {node: ^14.20.0 || ^16.13.0 || >=18.10.0} peerDependencies: - '@angular/common': 15.2.0 - '@angular/core': 15.2.0 - '@angular/platform-browser': 15.2.0 + '@angular/common': 15.2.7 + '@angular/core': 15.2.7 + '@angular/platform-browser': 15.2.7 rxjs: ^6.5.3 || ^7.4.0 dependencies: - '@angular/common': 15.2.0(@angular/core@15.2.0)(rxjs@7.8.0) - '@angular/core': 15.2.0(rxjs@7.8.0)(zone.js@0.12.0) - '@angular/platform-browser': 15.2.0(@angular/animations@15.2.0)(@angular/common@15.2.0)(@angular/core@15.2.0) + '@angular/common': 15.2.7(@angular/core@15.2.7)(rxjs@7.8.0) + '@angular/core': 15.2.7(rxjs@7.8.0)(zone.js@0.12.0) + '@angular/platform-browser': 15.2.7(@angular/animations@15.2.7)(@angular/common@15.2.7)(@angular/core@15.2.7) rxjs: 7.8.0 - tslib: 2.3.0 + tslib: 2.5.0 dev: false /@assemblyscript/loader@0.10.1: resolution: {integrity: sha512-H71nDOOL8Y7kWRLqf6Sums+01Q5msqBW2KhDUTemh1tvY04eSkSXrK0uj/4mmY0Xr16/3zyZmsrxN7CKuRbNRg==} dev: true - /@babel/code-frame@7.18.6: - resolution: {integrity: sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==} + /@babel/code-frame@7.21.4: + resolution: {integrity: sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g==} engines: {node: '>=6.9.0'} dependencies: '@babel/highlight': 7.18.6 dev: true - /@babel/compat-data@7.21.0: - resolution: {integrity: sha512-gMuZsmsgxk/ENC3O/fRw5QY8A9/uxQbbCEypnLIiYYc/qVJtEV7ouxC3EllIIwNzMqAQee5tanFabWsUOutS7g==} + /@babel/compat-data@7.21.4: + resolution: {integrity: sha512-/DYyDpeCfaVinT40FPGdkkb+lYSKvsVuMjDAG7jPOWWiM1ibOaB9CXJAlc4d1QpP/U2q2P9jbrSlClKSErd55g==} engines: {node: '>=6.9.0'} dev: true @@ -427,16 +477,16 @@ packages: resolution: {integrity: sha512-WneDJxdsjEvyKtXKsaBGbDeiyOjR5vYq4HcShxnIbG0qixpoHjI3MqeZM9NDvsojNCEBItQE4juOo/bU6e72gQ==} engines: {node: '>=6.9.0'} dependencies: - '@ampproject/remapping': 2.2.0 - '@babel/code-frame': 7.18.6 - '@babel/generator': 7.21.3 - '@babel/helper-compilation-targets': 7.20.7(@babel/core@7.19.3) + '@ampproject/remapping': 2.2.1 + '@babel/code-frame': 7.21.4 + '@babel/generator': 7.21.4 + '@babel/helper-compilation-targets': 7.21.4(@babel/core@7.19.3) '@babel/helper-module-transforms': 7.21.2 '@babel/helpers': 7.21.0 - '@babel/parser': 7.21.3 + '@babel/parser': 7.21.4 '@babel/template': 7.20.7 - '@babel/traverse': 7.21.3 - '@babel/types': 7.21.3 + '@babel/traverse': 7.21.4 + '@babel/types': 7.21.4 convert-source-map: 1.9.0 debug: 4.3.4 gensync: 1.0.0-beta.2 @@ -450,16 +500,16 @@ packages: resolution: {integrity: sha512-XsMfHovsUYHFMdrIHkZphTN/2Hzzi78R08NuHfDBehym2VsPDL6Zn/JAD/JQdnRvbSsbQc4mVaU1m6JgtTEElg==} engines: {node: '>=6.9.0'} dependencies: - '@ampproject/remapping': 2.2.0 - '@babel/code-frame': 7.18.6 - '@babel/generator': 7.20.14 - '@babel/helper-compilation-targets': 7.20.7(@babel/core@7.20.12) + '@ampproject/remapping': 2.2.1 + '@babel/code-frame': 7.21.4 + '@babel/generator': 7.21.4 + '@babel/helper-compilation-targets': 7.21.4(@babel/core@7.20.12) '@babel/helper-module-transforms': 7.21.2 '@babel/helpers': 7.21.0 - '@babel/parser': 7.21.3 + '@babel/parser': 7.21.4 '@babel/template': 7.20.7 - '@babel/traverse': 7.21.3 - '@babel/types': 7.21.3 + '@babel/traverse': 7.21.4 + '@babel/types': 7.21.4 convert-source-map: 1.9.0 debug: 4.3.4 gensync: 1.0.0-beta.2 @@ -469,20 +519,20 @@ packages: - supports-color dev: true - /@babel/core@7.21.3: - resolution: {integrity: sha512-qIJONzoa/qiHghnm0l1n4i/6IIziDpzqc36FBs4pzMhDUraHqponwJLiAKm1hGLP3OSB/TVNz6rMwVGpwxxySw==} + /@babel/core@7.21.4: + resolution: {integrity: sha512-qt/YV149Jman/6AfmlxJ04LMIu8bMoyl3RB91yTFrxQmgbrSvQMy7cI8Q62FHx1t8wJ8B5fu0UDoLwHAhUo1QA==} engines: {node: '>=6.9.0'} dependencies: - '@ampproject/remapping': 2.2.0 - '@babel/code-frame': 7.18.6 - '@babel/generator': 7.21.3 - '@babel/helper-compilation-targets': 7.20.7(@babel/core@7.21.3) + '@ampproject/remapping': 2.2.1 + '@babel/code-frame': 7.21.4 + '@babel/generator': 7.21.4 + '@babel/helper-compilation-targets': 7.21.4(@babel/core@7.21.4) '@babel/helper-module-transforms': 7.21.2 '@babel/helpers': 7.21.0 - '@babel/parser': 7.21.3 + '@babel/parser': 7.21.4 '@babel/template': 7.20.7 - '@babel/traverse': 7.21.3 - '@babel/types': 7.21.3 + '@babel/traverse': 7.21.4 + '@babel/types': 7.21.4 convert-source-map: 1.9.0 debug: 4.3.4 gensync: 1.0.0-beta.2 @@ -496,18 +546,18 @@ packages: resolution: {integrity: sha512-AEmuXHdcD3A52HHXxaTmYlb8q/xMEhoRP67B3T4Oq7lbmSoqroMZzjnGj3+i1io3pdnF8iBYVu4Ilj+c4hBxYg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.21.3 - '@jridgewell/gen-mapping': 0.3.2 + '@babel/types': 7.21.4 + '@jridgewell/gen-mapping': 0.3.3 jsesc: 2.5.2 dev: true - /@babel/generator@7.21.3: - resolution: {integrity: sha512-QS3iR1GYC/YGUnW7IdggFeN5c1poPUurnGttOV/bZgPGV+izC/D8HnD6DLwod0fsatNyVn1G3EVWMYIF0nHbeA==} + /@babel/generator@7.21.4: + resolution: {integrity: sha512-NieM3pVIYW2SwGzKoqfPrQsf4xGs9M9AIG3ThppsSRmO+m7eQhmI6amajKMUeIO37wFfsvnvcxQFx6x6iqxDnA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.21.3 - '@jridgewell/gen-mapping': 0.3.2 - '@jridgewell/trace-mapping': 0.3.17 + '@babel/types': 7.21.4 + '@jridgewell/gen-mapping': 0.3.3 + '@jridgewell/trace-mapping': 0.3.18 jsesc: 2.5.2 dev: true @@ -515,7 +565,7 @@ packages: resolution: {integrity: sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.21.3 + '@babel/types': 7.21.4 dev: true /@babel/helper-builder-binary-assignment-operator-visitor@7.18.9: @@ -523,16 +573,16 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/helper-explode-assignable-expression': 7.18.6 - '@babel/types': 7.21.3 + '@babel/types': 7.21.4 dev: true - /@babel/helper-compilation-targets@7.20.7(@babel/core@7.19.3): - resolution: {integrity: sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ==} + /@babel/helper-compilation-targets@7.21.4(@babel/core@7.19.3): + resolution: {integrity: sha512-Fa0tTuOXZ1iL8IeDFUWCzjZcn+sJGd9RZdH9esYVjEejGmzf+FFYQpMi/kZUk2kPy/q1H3/GPw7np8qar/stfg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/compat-data': 7.21.0 + '@babel/compat-data': 7.21.4 '@babel/core': 7.19.3 '@babel/helper-validator-option': 7.21.0 browserslist: 4.21.5 @@ -540,13 +590,13 @@ packages: semver: 6.3.0 dev: true - /@babel/helper-compilation-targets@7.20.7(@babel/core@7.20.12): - resolution: {integrity: sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ==} + /@babel/helper-compilation-targets@7.21.4(@babel/core@7.20.12): + resolution: {integrity: sha512-Fa0tTuOXZ1iL8IeDFUWCzjZcn+sJGd9RZdH9esYVjEejGmzf+FFYQpMi/kZUk2kPy/q1H3/GPw7np8qar/stfg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/compat-data': 7.21.0 + '@babel/compat-data': 7.21.4 '@babel/core': 7.20.12 '@babel/helper-validator-option': 7.21.0 browserslist: 4.21.5 @@ -554,22 +604,22 @@ packages: semver: 6.3.0 dev: true - /@babel/helper-compilation-targets@7.20.7(@babel/core@7.21.3): - resolution: {integrity: sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ==} + /@babel/helper-compilation-targets@7.21.4(@babel/core@7.21.4): + resolution: {integrity: sha512-Fa0tTuOXZ1iL8IeDFUWCzjZcn+sJGd9RZdH9esYVjEejGmzf+FFYQpMi/kZUk2kPy/q1H3/GPw7np8qar/stfg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/compat-data': 7.21.0 - '@babel/core': 7.21.3 + '@babel/compat-data': 7.21.4 + '@babel/core': 7.21.4 '@babel/helper-validator-option': 7.21.0 browserslist: 4.21.5 lru-cache: 5.1.1 semver: 6.3.0 dev: true - /@babel/helper-create-class-features-plugin@7.21.0(@babel/core@7.20.12): - resolution: {integrity: sha512-Q8wNiMIdwsv5la5SPxNYzzkPnjgC0Sy0i7jLkVOCdllu/xcVNkr3TeZzbHBJrj+XXRqzX5uCyCoV9eu6xUG7KQ==} + /@babel/helper-create-class-features-plugin@7.21.4(@babel/core@7.20.12): + resolution: {integrity: sha512-46QrX2CQlaFRF4TkwfTt6nJD7IHq8539cCL7SDpqWSDeJKY1xylKKY5F/33mJhLZ3mFvKv2gGrVS6NkyF6qs+Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 @@ -587,8 +637,8 @@ packages: - supports-color dev: true - /@babel/helper-create-regexp-features-plugin@7.21.0(@babel/core@7.20.12): - resolution: {integrity: sha512-N+LaFW/auRSWdx7SHD/HiARwXQju1vXTW4fKr4u5SgBUTm51OKEjKgj+cs00ggW3kEvNqwErnlwuq7Y3xBe4eg==} + /@babel/helper-create-regexp-features-plugin@7.21.4(@babel/core@7.20.12): + resolution: {integrity: sha512-M00OuhU+0GyZ5iBBN9czjugzWrEq2vDpf/zCYHxxf93ul/Q5rv+a5h+/+0WnI1AebHNVtl5bFV0qsJoH23DbfA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 @@ -604,11 +654,11 @@ packages: '@babel/core': ^7.4.0-0 dependencies: '@babel/core': 7.20.12 - '@babel/helper-compilation-targets': 7.20.7(@babel/core@7.20.12) + '@babel/helper-compilation-targets': 7.21.4(@babel/core@7.20.12) '@babel/helper-plugin-utils': 7.20.2 debug: 4.3.4 lodash.debounce: 4.0.8 - resolve: 1.22.1 + resolve: 1.22.2 semver: 6.3.0 transitivePeerDependencies: - supports-color @@ -623,7 +673,7 @@ packages: resolution: {integrity: sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.21.3 + '@babel/types': 7.21.4 dev: true /@babel/helper-function-name@7.21.0: @@ -631,28 +681,28 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/template': 7.20.7 - '@babel/types': 7.21.3 + '@babel/types': 7.21.4 dev: true /@babel/helper-hoist-variables@7.18.6: resolution: {integrity: sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.21.3 + '@babel/types': 7.21.4 dev: true /@babel/helper-member-expression-to-functions@7.21.0: resolution: {integrity: sha512-Muu8cdZwNN6mRRNG6lAYErJ5X3bRevgYR2O8wN0yn7jJSnGDu6eG59RfT29JHxGUovyfrh6Pj0XzmR7drNVL3Q==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.21.3 + '@babel/types': 7.21.4 dev: true - /@babel/helper-module-imports@7.18.6: - resolution: {integrity: sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==} + /@babel/helper-module-imports@7.21.4: + resolution: {integrity: sha512-orajc5T2PsRYUN3ZryCEFeMDYwyw09c/pZeaQEZPH0MpKzSvn3e0uXsDBu3k03VI+9DBiRo+l22BfKTpKwa/Wg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.21.3 + '@babel/types': 7.21.4 dev: true /@babel/helper-module-transforms@7.21.2: @@ -660,13 +710,13 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/helper-environment-visitor': 7.18.9 - '@babel/helper-module-imports': 7.18.6 + '@babel/helper-module-imports': 7.21.4 '@babel/helper-simple-access': 7.20.2 '@babel/helper-split-export-declaration': 7.18.6 '@babel/helper-validator-identifier': 7.19.1 '@babel/template': 7.20.7 - '@babel/traverse': 7.21.3 - '@babel/types': 7.21.3 + '@babel/traverse': 7.21.4 + '@babel/types': 7.21.4 transitivePeerDependencies: - supports-color dev: true @@ -675,7 +725,7 @@ packages: resolution: {integrity: sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.21.3 + '@babel/types': 7.21.4 dev: true /@babel/helper-plugin-utils@7.20.2: @@ -693,7 +743,7 @@ packages: '@babel/helper-annotate-as-pure': 7.18.6 '@babel/helper-environment-visitor': 7.18.9 '@babel/helper-wrap-function': 7.20.5 - '@babel/types': 7.21.3 + '@babel/types': 7.21.4 transitivePeerDependencies: - supports-color dev: true @@ -706,8 +756,8 @@ packages: '@babel/helper-member-expression-to-functions': 7.21.0 '@babel/helper-optimise-call-expression': 7.18.6 '@babel/template': 7.20.7 - '@babel/traverse': 7.21.3 - '@babel/types': 7.21.3 + '@babel/traverse': 7.21.4 + '@babel/types': 7.21.4 transitivePeerDependencies: - supports-color dev: true @@ -716,21 +766,21 @@ packages: resolution: {integrity: sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.21.3 + '@babel/types': 7.21.4 dev: true /@babel/helper-skip-transparent-expression-wrappers@7.20.0: resolution: {integrity: sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.21.3 + '@babel/types': 7.21.4 dev: true /@babel/helper-split-export-declaration@7.18.6: resolution: {integrity: sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.21.3 + '@babel/types': 7.21.4 dev: true /@babel/helper-string-parser@7.19.4: @@ -754,8 +804,8 @@ packages: dependencies: '@babel/helper-function-name': 7.21.0 '@babel/template': 7.20.7 - '@babel/traverse': 7.21.3 - '@babel/types': 7.21.3 + '@babel/traverse': 7.21.4 + '@babel/types': 7.21.4 transitivePeerDependencies: - supports-color dev: true @@ -765,8 +815,8 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/template': 7.20.7 - '@babel/traverse': 7.21.3 - '@babel/types': 7.21.3 + '@babel/traverse': 7.21.4 + '@babel/types': 7.21.4 transitivePeerDependencies: - supports-color dev: true @@ -780,12 +830,12 @@ packages: js-tokens: 4.0.0 dev: true - /@babel/parser@7.21.3: - resolution: {integrity: sha512-lobG0d7aOfQRXh8AyklEAgZGvA4FShxo6xQbUrrT/cNBPUdIDojlokwJsQyCC/eKia7ifqM0yP+2DRZ4WKw2RQ==} + /@babel/parser@7.21.4: + resolution: {integrity: sha512-alVJj7k7zIxqBZ7BTRhz0IqJFxW1VJbm6N8JbcYhQ186df9ZBPbZBmWSqAMXwHGsCJdYks7z/voa3ibiS5bCIw==} engines: {node: '>=6.0.0'} hasBin: true dependencies: - '@babel/types': 7.21.3 + '@babel/types': 7.21.4 dev: true /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.18.6(@babel/core@7.20.12): @@ -832,7 +882,7 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.20.12 - '@babel/helper-create-class-features-plugin': 7.21.0(@babel/core@7.20.12) + '@babel/helper-create-class-features-plugin': 7.21.4(@babel/core@7.20.12) '@babel/helper-plugin-utils': 7.20.2 transitivePeerDependencies: - supports-color @@ -845,7 +895,7 @@ packages: '@babel/core': ^7.12.0 dependencies: '@babel/core': 7.20.12 - '@babel/helper-create-class-features-plugin': 7.21.0(@babel/core@7.20.12) + '@babel/helper-create-class-features-plugin': 7.21.4(@babel/core@7.20.12) '@babel/helper-plugin-utils': 7.20.2 '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.20.12) transitivePeerDependencies: @@ -924,9 +974,9 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/compat-data': 7.21.0 + '@babel/compat-data': 7.21.4 '@babel/core': 7.20.12 - '@babel/helper-compilation-targets': 7.20.7(@babel/core@7.20.12) + '@babel/helper-compilation-targets': 7.21.4(@babel/core@7.20.12) '@babel/helper-plugin-utils': 7.20.2 '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.20.12) '@babel/plugin-transform-parameters': 7.21.3(@babel/core@7.20.12) @@ -962,7 +1012,7 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.20.12 - '@babel/helper-create-class-features-plugin': 7.21.0(@babel/core@7.20.12) + '@babel/helper-create-class-features-plugin': 7.21.4(@babel/core@7.20.12) '@babel/helper-plugin-utils': 7.20.2 transitivePeerDependencies: - supports-color @@ -976,7 +1026,7 @@ packages: dependencies: '@babel/core': 7.20.12 '@babel/helper-annotate-as-pure': 7.18.6 - '@babel/helper-create-class-features-plugin': 7.21.0(@babel/core@7.20.12) + '@babel/helper-create-class-features-plugin': 7.21.4(@babel/core@7.20.12) '@babel/helper-plugin-utils': 7.20.2 '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.20.12) transitivePeerDependencies: @@ -990,7 +1040,7 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.20.12 - '@babel/helper-create-regexp-features-plugin': 7.21.0(@babel/core@7.20.12) + '@babel/helper-create-regexp-features-plugin': 7.21.4(@babel/core@7.20.12) '@babel/helper-plugin-utils': 7.20.2 dev: true @@ -1150,7 +1200,7 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.20.12 - '@babel/helper-module-imports': 7.18.6 + '@babel/helper-module-imports': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 '@babel/helper-remap-async-to-generator': 7.18.9(@babel/core@7.20.12) transitivePeerDependencies: @@ -1185,7 +1235,7 @@ packages: dependencies: '@babel/core': 7.20.12 '@babel/helper-annotate-as-pure': 7.18.6 - '@babel/helper-compilation-targets': 7.20.7(@babel/core@7.20.12) + '@babel/helper-compilation-targets': 7.21.4(@babel/core@7.20.12) '@babel/helper-environment-visitor': 7.18.9 '@babel/helper-function-name': 7.21.0 '@babel/helper-optimise-call-expression': 7.18.6 @@ -1225,7 +1275,7 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.20.12 - '@babel/helper-create-regexp-features-plugin': 7.21.0(@babel/core@7.20.12) + '@babel/helper-create-regexp-features-plugin': 7.21.4(@babel/core@7.20.12) '@babel/helper-plugin-utils': 7.20.2 dev: true @@ -1267,7 +1317,7 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.20.12 - '@babel/helper-compilation-targets': 7.20.7(@babel/core@7.20.12) + '@babel/helper-compilation-targets': 7.21.4(@babel/core@7.20.12) '@babel/helper-function-name': 7.21.0 '@babel/helper-plugin-utils': 7.20.2 dev: true @@ -1354,7 +1404,7 @@ packages: '@babel/core': ^7.0.0 dependencies: '@babel/core': 7.20.12 - '@babel/helper-create-regexp-features-plugin': 7.21.0(@babel/core@7.20.12) + '@babel/helper-create-regexp-features-plugin': 7.21.4(@babel/core@7.20.12) '@babel/helper-plugin-utils': 7.20.2 dev: true @@ -1429,7 +1479,7 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.20.12 - '@babel/helper-module-imports': 7.18.6 + '@babel/helper-module-imports': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 babel-plugin-polyfill-corejs2: 0.3.3(@babel/core@7.20.12) babel-plugin-polyfill-corejs3: 0.6.0(@babel/core@7.20.12) @@ -1507,7 +1557,7 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.20.12 - '@babel/helper-create-regexp-features-plugin': 7.21.0(@babel/core@7.20.12) + '@babel/helper-create-regexp-features-plugin': 7.21.4(@babel/core@7.20.12) '@babel/helper-plugin-utils': 7.20.2 dev: true @@ -1517,9 +1567,9 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/compat-data': 7.21.0 + '@babel/compat-data': 7.21.4 '@babel/core': 7.20.12 - '@babel/helper-compilation-targets': 7.20.7(@babel/core@7.20.12) + '@babel/helper-compilation-targets': 7.21.4(@babel/core@7.20.12) '@babel/helper-plugin-utils': 7.20.2 '@babel/helper-validator-option': 7.21.0 '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.18.6(@babel/core@7.20.12) @@ -1587,11 +1637,11 @@ packages: '@babel/plugin-transform-unicode-escapes': 7.18.10(@babel/core@7.20.12) '@babel/plugin-transform-unicode-regex': 7.18.6(@babel/core@7.20.12) '@babel/preset-modules': 0.1.5(@babel/core@7.20.12) - '@babel/types': 7.21.3 + '@babel/types': 7.21.4 babel-plugin-polyfill-corejs2: 0.3.3(@babel/core@7.20.12) babel-plugin-polyfill-corejs3: 0.6.0(@babel/core@7.20.12) babel-plugin-polyfill-regenerator: 0.4.1(@babel/core@7.20.12) - core-js-compat: 3.29.1 + core-js-compat: 3.30.0 semver: 6.3.0 transitivePeerDependencies: - supports-color @@ -1606,7 +1656,7 @@ packages: '@babel/helper-plugin-utils': 7.20.2 '@babel/plugin-proposal-unicode-property-regex': 7.18.6(@babel/core@7.20.12) '@babel/plugin-transform-dotall-regex': 7.18.6(@babel/core@7.20.12) - '@babel/types': 7.21.3 + '@babel/types': 7.21.4 esutils: 2.0.3 dev: true @@ -1625,31 +1675,31 @@ packages: resolution: {integrity: sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/code-frame': 7.18.6 - '@babel/parser': 7.21.3 - '@babel/types': 7.21.3 + '@babel/code-frame': 7.21.4 + '@babel/parser': 7.21.4 + '@babel/types': 7.21.4 dev: true - /@babel/traverse@7.21.3: - resolution: {integrity: sha512-XLyopNeaTancVitYZe2MlUEvgKb6YVVPXzofHgqHijCImG33b/uTurMS488ht/Hbsb2XK3U2BnSTxKVNGV3nGQ==} + /@babel/traverse@7.21.4: + resolution: {integrity: sha512-eyKrRHKdyZxqDm+fV1iqL9UAHMoIg0nDaGqfIOd8rKH17m5snv7Gn4qgjBoFfLz9APvjFU/ICT00NVCv1Epp8Q==} engines: {node: '>=6.9.0'} dependencies: - '@babel/code-frame': 7.18.6 - '@babel/generator': 7.21.3 + '@babel/code-frame': 7.21.4 + '@babel/generator': 7.21.4 '@babel/helper-environment-visitor': 7.18.9 '@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.21.3 - '@babel/types': 7.21.3 + '@babel/parser': 7.21.4 + '@babel/types': 7.21.4 debug: 4.3.4 globals: 11.12.0 transitivePeerDependencies: - supports-color dev: true - /@babel/types@7.21.3: - resolution: {integrity: sha512-sBGdETxC+/M4o/zKC0sl6sjWv62WFR/uzxrJ6uYyMLZOUlPnwzw0tKgVHOXxaAd5l2g8pEDM5RZ495GPQI77kg==} + /@babel/types@7.21.4: + resolution: {integrity: sha512-rU2oY501qDxE8Pyo7i/Orqma4ziCOrby0/9mvbDUGEfvZjb279Nk9k19e2fiCxHbRRpY2ZyrgW1eq22mvmOIzA==} engines: {node: '>=6.9.0'} dependencies: '@babel/helper-string-parser': 7.19.4 @@ -1662,6 +1712,40 @@ packages: engines: {node: '>=0.1.90'} dev: true + /@csstools/css-parser-algorithms@2.1.1(@csstools/css-tokenizer@2.1.1): + resolution: {integrity: sha512-viRnRh02AgO4mwIQb2xQNJju0i+Fh9roNgmbR5xEuG7J3TGgxjnE95HnBLgsFJOJOksvcfxOUCgODcft6Y07cA==} + engines: {node: ^14 || ^16 || >=18} + peerDependencies: + '@csstools/css-tokenizer': ^2.1.1 + dependencies: + '@csstools/css-tokenizer': 2.1.1 + dev: true + + /@csstools/css-tokenizer@2.1.1: + resolution: {integrity: sha512-GbrTj2Z8MCTUv+52GE0RbFGM527xuXZ0Xa5g0Z+YN573uveS4G0qi6WNOMyz3yrFM/jaILTTwJ0+umx81EzqfA==} + engines: {node: ^14 || ^16 || >=18} + dev: true + + /@csstools/media-query-list-parser@2.0.4(@csstools/css-parser-algorithms@2.1.1)(@csstools/css-tokenizer@2.1.1): + resolution: {integrity: sha512-GyYot6jHgcSDZZ+tLSnrzkR7aJhF2ZW6d+CXH66mjy5WpAQhZD4HDke2OQ36SivGRWlZJpAz7TzbW6OKlEpxAA==} + engines: {node: ^14 || ^16 || >=18} + peerDependencies: + '@csstools/css-parser-algorithms': ^2.1.1 + '@csstools/css-tokenizer': ^2.1.1 + dependencies: + '@csstools/css-parser-algorithms': 2.1.1(@csstools/css-tokenizer@2.1.1) + '@csstools/css-tokenizer': 2.1.1 + dev: true + + /@csstools/selector-specificity@2.2.0(postcss-selector-parser@6.0.11): + resolution: {integrity: sha512-+OJ9konv95ClSTOJCmMZqpd5+YGsB2S+x6w3E1oaM8UuR5j8nTNHYSz8c9BEPGDOCMQYIEEGlVPj/VY64iTbGw==} + engines: {node: ^14 || ^16 || >=18} + peerDependencies: + postcss-selector-parser: ^6.0.10 + dependencies: + postcss-selector-parser: 6.0.11 + dev: true + /@discoveryjs/json-ext@0.5.7: resolution: {integrity: sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==} engines: {node: '>=10.0.0'} @@ -1865,10 +1949,67 @@ packages: dev: true optional: true + /@eslint-community/eslint-utils@4.4.0(eslint@8.38.0): + resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + dependencies: + eslint: 8.38.0 + eslint-visitor-keys: 3.4.0 + dev: true + + /@eslint-community/regexpp@4.5.0: + resolution: {integrity: sha512-vITaYzIcNmjn5tF5uxcZ/ft7/RXGrMUIS9HalWckEOF6ESiwXKoMzAQf2UW0aVd6rnOeExTJVd5hmWXucBKGXQ==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + dev: true + + /@eslint/eslintrc@2.0.2: + resolution: {integrity: sha512-3W4f5tDUra+pA+FzgugqL2pRimUTDJWKr7BINqOpkZrC0uYI0NIc0/JFgBROCU07HR6GieA5m3/rsPIhDmCXTQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + ajv: 6.12.6 + debug: 4.3.4 + espree: 9.5.1 + globals: 13.20.0 + ignore: 5.2.4 + import-fresh: 3.3.0 + js-yaml: 4.1.0 + minimatch: 3.1.2 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@eslint/js@8.38.0: + resolution: {integrity: sha512-IoD2MfUnOV58ghIHCiil01PcohxjbYR/qCxsoC+xNgUwh1EY8jOOrYmu3d3a71+tJJ23uscEV4X2HJWMsPJu4g==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true + /@gar/promisify@1.1.3: resolution: {integrity: sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==} dev: true + /@humanwhocodes/config-array@0.11.8: + resolution: {integrity: sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==} + engines: {node: '>=10.10.0'} + dependencies: + '@humanwhocodes/object-schema': 1.2.1 + debug: 4.3.4 + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@humanwhocodes/module-importer@1.0.1: + resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} + engines: {node: '>=12.22'} + dev: true + + /@humanwhocodes/object-schema@1.2.1: + resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==} + dev: true + /@istanbuljs/load-nyc-config@1.1.0: resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==} engines: {node: '>=8'} @@ -1890,16 +2031,16 @@ packages: engines: {node: '>=6.0.0'} dependencies: '@jridgewell/set-array': 1.1.2 - '@jridgewell/sourcemap-codec': 1.4.14 + '@jridgewell/sourcemap-codec': 1.4.15 dev: true - /@jridgewell/gen-mapping@0.3.2: - resolution: {integrity: sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==} + /@jridgewell/gen-mapping@0.3.3: + resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==} engines: {node: '>=6.0.0'} dependencies: '@jridgewell/set-array': 1.1.2 - '@jridgewell/sourcemap-codec': 1.4.14 - '@jridgewell/trace-mapping': 0.3.17 + '@jridgewell/sourcemap-codec': 1.4.15 + '@jridgewell/trace-mapping': 0.3.18 dev: true /@jridgewell/resolve-uri@3.1.0: @@ -1912,19 +2053,23 @@ packages: engines: {node: '>=6.0.0'} dev: true - /@jridgewell/source-map@0.3.2: - resolution: {integrity: sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==} + /@jridgewell/source-map@0.3.3: + resolution: {integrity: sha512-b+fsZXeLYi9fEULmfBrhxn4IrPlINf8fiNarzTof004v3lFdntdwa9PF7vFJqm3mg7s+ScJMxXaE3Acp1irZcg==} dependencies: - '@jridgewell/gen-mapping': 0.3.2 - '@jridgewell/trace-mapping': 0.3.17 + '@jridgewell/gen-mapping': 0.3.3 + '@jridgewell/trace-mapping': 0.3.18 dev: true /@jridgewell/sourcemap-codec@1.4.14: resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} dev: true - /@jridgewell/trace-mapping@0.3.17: - resolution: {integrity: sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==} + /@jridgewell/sourcemap-codec@1.4.15: + resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} + dev: true + + /@jridgewell/trace-mapping@0.3.18: + resolution: {integrity: sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==} dependencies: '@jridgewell/resolve-uri': 3.1.0 '@jridgewell/sourcemap-codec': 1.4.14 @@ -1934,19 +2079,43 @@ packages: resolution: {integrity: sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==} dev: true - /@ngtools/webpack@15.2.4(@angular/compiler-cli@15.2.0)(typescript@4.9.4)(webpack@5.76.1): - resolution: {integrity: sha512-cQ7MsRoGJgPOVnpvFgWhygeSe6zJ0ITiUhjmmuOgpNDfYkrgYxN3Ot/qvQefFei+oGZ1JJ9bRb8lcPKL/apoBQ==} + /@ngtools/webpack@15.2.6(@angular/compiler-cli@15.2.7)(typescript@4.9.5)(webpack@5.76.1): + resolution: {integrity: sha512-I+kekKItfsCLdX+ZjjmsWqd0AyoYGTQPjlbQAiPtmdH73/rfPOF4Q/3AU4tzTdn0n0GXqZWv6VOs91w99ydi0A==} engines: {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': ^15.0.0 typescript: '>=4.8.2 <5.0' webpack: ^5.54.0 dependencies: - '@angular/compiler-cli': 15.2.0(@angular/compiler@15.2.0)(typescript@4.9.4) - typescript: 4.9.4 + '@angular/compiler-cli': 15.2.7(@angular/compiler@15.2.7)(typescript@4.9.5) + typescript: 4.9.5 webpack: 5.76.1(esbuild@0.17.8) dev: true + /@ngx-translate/core@14.0.0(@angular/core@15.2.7)(rxjs@7.8.0): + resolution: {integrity: sha512-UevdwNCXMRCdJv//0kC8h2eSfmi02r29xeE8E9gJ1Al4D4jEJ7eiLPdjslTMc21oJNGguqqWeEVjf64SFtvw2w==} + peerDependencies: + '@angular/core': '>=13.0.0' + rxjs: ^6.5.3 || ^7.4.0 + dependencies: + '@angular/core': 15.2.7(rxjs@7.8.0)(zone.js@0.12.0) + rxjs: 7.8.0 + tslib: 2.5.0 + dev: false + + /@ngx-translate/http-loader@7.0.0(@angular/common@15.2.7)(@ngx-translate/core@14.0.0)(rxjs@7.8.0): + resolution: {integrity: sha512-j+NpXXlcGVdyUNyY/qsJrqqeAdJdizCd+GKh3usXExSqy1aE9866jlAIL+xrfDU4w+LiMoma5pgE4emvFebZmA==} + peerDependencies: + '@angular/common': '>=13.0.0' + '@ngx-translate/core': '>=14.0.0' + rxjs: ^6.5.3 || ^7.4.0 + dependencies: + '@angular/common': 15.2.7(@angular/core@15.2.7)(rxjs@7.8.0) + '@ngx-translate/core': 14.0.0(@angular/core@15.2.7)(rxjs@7.8.0) + rxjs: 7.8.0 + tslib: 2.5.0 + dev: false + /@nodelib/fs.scandir@2.1.5: resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} engines: {node: '>= 8'} @@ -1973,14 +2142,14 @@ packages: engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} dependencies: '@gar/promisify': 1.1.3 - semver: 7.3.8 + semver: 7.4.0 dev: true /@npmcli/fs@3.1.0: resolution: {integrity: sha512-7kZUAaLscfgbwBQRbvdMYaZOWyMEcPTH/tJjnyAWJ/dvvs9Ef+CERx/qJb9GExJpl1qipaDGn7KqHnFGGixd0w==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: - semver: 7.3.8 + semver: 7.4.0 dev: true /@npmcli/git@4.0.4: @@ -1993,7 +2162,7 @@ packages: proc-log: 3.0.0 promise-inflight: 1.0.1 promise-retry: 2.0.1 - semver: 7.3.8 + semver: 7.4.0 which: 3.0.0 transitivePeerDependencies: - bluebird @@ -2043,12 +2212,35 @@ packages: - supports-color dev: true - /@schematics/angular@15.2.4: - resolution: {integrity: sha512-P9axwKDXEDrGXYcoCuhwv4guhvtIjDCvyZMsQw8IMpfAacTYajka+T3mZrzyTe96Uhu0JwcAW5iUlOZAJhPEdQ==} + /@puppeteer/browsers@0.4.1(typescript@4.9.5): + resolution: {integrity: sha512-4IICvy1McAkT/HyNZHIs7sp8ngBX1dmO0TPQ+FWq9ATQMqI8p+Ulm5A3kS2wYDh5HDHHkYrrETOu6rlj64VuTw==} + engines: {node: '>=14.1.0'} + hasBin: true + peerDependencies: + typescript: '>= 4.7.4' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + debug: 4.3.4 + extract-zip: 2.0.1 + https-proxy-agent: 5.0.1 + progress: 2.0.3 + proxy-from-env: 1.1.0 + tar-fs: 2.1.1 + typescript: 4.9.5 + unbzip2-stream: 1.4.3 + yargs: 17.7.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@schematics/angular@15.2.6: + resolution: {integrity: sha512-OcBUvVAxZEMBX+fi0ytybeAdmStra+GwtlvipS70yOxcAgJ84ZrnZGN7a072cCVQcq7AgqUfssnyqCx1wu+yCg==} engines: {node: ^14.20.0 || ^16.13.0 || >=18.10.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} dependencies: - '@angular-devkit/core': 15.2.4(chokidar@3.5.3) - '@angular-devkit/schematics': 15.2.4 + '@angular-devkit/core': 15.2.6(chokidar@3.5.3) + '@angular-devkit/schematics': 15.2.6 jsonc-parser: 3.2.0 transitivePeerDependencies: - chokidar @@ -2068,11 +2260,17 @@ packages: engines: {node: '>= 10'} dev: true - /@tufjs/models@1.0.1: - resolution: {integrity: sha512-AY0VoG/AXdlSOocuREfPoEW4SNhOPp/7fw6mpAxfVIny1uZ+0fEtMoCi7NhELSlqQIRLMu7RgfKhkxT+AJ+EXg==} + /@tufjs/canonical-json@1.0.0: + resolution: {integrity: sha512-QTnf++uxunWvG2z3UFNzAoQPHxnSXOwtaI3iJ+AohhV+5vONuArPjJE7aPXPVXfXJsqrVbZBu9b81AJoSd09IQ==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + dev: true + + /@tufjs/models@1.0.2: + resolution: {integrity: sha512-uxarDtxTIK3f8hJS4yFhW/lvTa3tsiQU5iDCRut+NCnOXvNtEul0Ct58NIIcIx9Rkt7OFEK31Ndpqsd663nsew==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: - minimatch: 7.4.3 + '@tufjs/canonical-json': 1.0.0 + minimatch: 8.0.4 dev: true /@types/body-parser@1.19.2: @@ -2152,8 +2350,8 @@ packages: '@types/node': 18.15.11 dev: true - /@types/jasmine@4.3.0: - resolution: {integrity: sha512-u1jWakf8CWvLfSEZyxmzkgBzOEvXH/szpT0e6G8BTkx5Eu0BhDn7sbc5dz0JBN/6Wwm9rBe+JAsk9tJRyH9ZkA==} + /@types/jasmine@4.3.1: + resolution: {integrity: sha512-Vu8l+UGcshYmV1VWwULgnV/2RDbBaO6i2Ptx7nd//oJPIZGhoI1YLST4VKagD2Pq/Bc2/7zvtvhM7F3p4SN7kQ==} dev: true /@types/json-schema@7.0.11: @@ -2164,10 +2362,18 @@ packages: resolution: {integrity: sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA==} dev: true + /@types/minimist@1.2.2: + resolution: {integrity: sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==} + dev: true + /@types/node@18.15.11: resolution: {integrity: sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q==} dev: true + /@types/normalize-package-data@2.4.1: + resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==} + dev: true + /@types/parse-json@4.0.0: resolution: {integrity: sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==} dev: true @@ -2184,6 +2390,10 @@ packages: resolution: {integrity: sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==} dev: true + /@types/semver@7.3.13: + resolution: {integrity: sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==} + dev: true + /@types/serve-index@1.9.1: resolution: {integrity: sha512-d/Hs3nWDxNL2xAczmOVZNj92YZCS6RGxfBPjKzuu/XirCgXdpKEb88dYNbrYGint6IVWLNP+yonwVAuRC0T2Dg==} dependencies: @@ -2209,6 +2419,144 @@ packages: '@types/node': 18.15.11 dev: true + /@types/yauzl@2.10.0: + resolution: {integrity: sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==} + requiresBuild: true + dependencies: + '@types/node': 18.15.11 + dev: true + optional: true + + /@typescript-eslint/eslint-plugin@5.58.0(@typescript-eslint/parser@5.58.0)(eslint@8.38.0)(typescript@4.9.5): + resolution: {integrity: sha512-vxHvLhH0qgBd3/tW6/VccptSfc8FxPQIkmNTVLWcCOVqSBvqpnKkBTYrhcGlXfSnd78azwe+PsjYFj0X34/njA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + '@typescript-eslint/parser': ^5.0.0 + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@eslint-community/regexpp': 4.5.0 + '@typescript-eslint/parser': 5.58.0(eslint@8.38.0)(typescript@4.9.5) + '@typescript-eslint/scope-manager': 5.58.0 + '@typescript-eslint/type-utils': 5.58.0(eslint@8.38.0)(typescript@4.9.5) + '@typescript-eslint/utils': 5.58.0(eslint@8.38.0)(typescript@4.9.5) + debug: 4.3.4 + eslint: 8.38.0 + grapheme-splitter: 1.0.4 + ignore: 5.2.4 + natural-compare-lite: 1.4.0 + semver: 7.4.0 + tsutils: 3.21.0(typescript@4.9.5) + typescript: 4.9.5 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/parser@5.58.0(eslint@8.38.0)(typescript@4.9.5): + resolution: {integrity: sha512-ixaM3gRtlfrKzP8N6lRhBbjTow1t6ztfBvQNGuRM8qH1bjFFXIJ35XY+FC0RRBKn3C6cT+7VW1y8tNm7DwPHDQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/scope-manager': 5.58.0 + '@typescript-eslint/types': 5.58.0 + '@typescript-eslint/typescript-estree': 5.58.0(typescript@4.9.5) + debug: 4.3.4 + eslint: 8.38.0 + typescript: 4.9.5 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/scope-manager@5.58.0: + resolution: {integrity: sha512-b+w8ypN5CFvrXWQb9Ow9T4/6LC2MikNf1viLkYTiTbkQl46CnR69w7lajz1icW0TBsYmlpg+mRzFJ4LEJ8X9NA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + '@typescript-eslint/types': 5.58.0 + '@typescript-eslint/visitor-keys': 5.58.0 + dev: true + + /@typescript-eslint/type-utils@5.58.0(eslint@8.38.0)(typescript@4.9.5): + resolution: {integrity: sha512-FF5vP/SKAFJ+LmR9PENql7fQVVgGDOS+dq3j+cKl9iW/9VuZC/8CFmzIP0DLKXfWKpRHawJiG70rVH+xZZbp8w==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: '*' + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/typescript-estree': 5.58.0(typescript@4.9.5) + '@typescript-eslint/utils': 5.58.0(eslint@8.38.0)(typescript@4.9.5) + debug: 4.3.4 + eslint: 8.38.0 + tsutils: 3.21.0(typescript@4.9.5) + typescript: 4.9.5 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/types@5.58.0: + resolution: {integrity: sha512-JYV4eITHPzVQMnHZcYJXl2ZloC7thuUHrcUmxtzvItyKPvQ50kb9QXBkgNAt90OYMqwaodQh2kHutWZl1fc+1g==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true + + /@typescript-eslint/typescript-estree@5.58.0(typescript@4.9.5): + resolution: {integrity: sha512-cRACvGTodA+UxnYM2uwA2KCwRL7VAzo45syNysqlMyNyjw0Z35Icc9ihPJZjIYuA5bXJYiJ2YGUB59BqlOZT1Q==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/types': 5.58.0 + '@typescript-eslint/visitor-keys': 5.58.0 + debug: 4.3.4 + globby: 11.1.0 + is-glob: 4.0.3 + semver: 7.4.0 + tsutils: 3.21.0(typescript@4.9.5) + typescript: 4.9.5 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/utils@5.58.0(eslint@8.38.0)(typescript@4.9.5): + resolution: {integrity: sha512-gAmLOTFXMXOC+zP1fsqm3VceKSBQJNzV385Ok3+yzlavNHZoedajjS4UyS21gabJYcobuigQPs/z71A9MdJFqQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.38.0) + '@types/json-schema': 7.0.11 + '@types/semver': 7.3.13 + '@typescript-eslint/scope-manager': 5.58.0 + '@typescript-eslint/types': 5.58.0 + '@typescript-eslint/typescript-estree': 5.58.0(typescript@4.9.5) + eslint: 8.38.0 + eslint-scope: 5.1.1 + semver: 7.4.0 + transitivePeerDependencies: + - supports-color + - typescript + dev: true + + /@typescript-eslint/visitor-keys@5.58.0: + resolution: {integrity: sha512-/fBraTlPj0jwdyTwLyrRTxv/3lnU2H96pNTVM6z3esTWLtA5MZ9ghSMJ7Rb+TtUAdtEw9EyJzJ0EydIMKxQ9gA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + '@typescript-eslint/types': 5.58.0 + eslint-visitor-keys: 3.4.0 + dev: true + /@webassemblyjs/ast@1.11.1: resolution: {integrity: sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==} dependencies: @@ -2351,6 +2699,14 @@ packages: acorn: 8.8.2 dev: true + /acorn-jsx@5.3.2(acorn@8.8.2): + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + dependencies: + acorn: 8.8.2 + dev: true + /acorn@8.8.2: resolution: {integrity: sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==} engines: {node: '>=0.4.0'} @@ -2502,6 +2858,10 @@ packages: sprintf-js: 1.0.3 dev: true + /argparse@2.0.1: + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + dev: true + /array-flatten@1.1.1: resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} dev: true @@ -2510,6 +2870,21 @@ packages: resolution: {integrity: sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==} dev: true + /array-union@2.1.0: + resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} + engines: {node: '>=8'} + dev: true + + /arrify@1.0.1: + resolution: {integrity: sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==} + engines: {node: '>=0.10.0'} + dev: true + + /astral-regex@2.0.0: + resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==} + engines: {node: '>=8'} + dev: true + /autoprefixer@10.4.13(postcss@8.4.21): resolution: {integrity: sha512-49vKpMqcZYsJjwotvt4+h/BCjJVnhGwcLpDt5xkcaOG3eLrG/HUYLagrihYsQ+qrIBgIzX1Rw7a6L8I/ZA1Atg==} engines: {node: ^10 || ^12 || >=14} @@ -2518,7 +2893,7 @@ packages: postcss: ^8.1.0 dependencies: browserslist: 4.21.5 - caniuse-lite: 1.0.30001473 + caniuse-lite: 1.0.30001478 fraction.js: 4.2.0 normalize-range: 0.1.2 picocolors: 1.0.0 @@ -2557,7 +2932,7 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/compat-data': 7.21.0 + '@babel/compat-data': 7.21.4 '@babel/core': 7.20.12 '@babel/helper-define-polyfill-provider': 0.3.3(@babel/core@7.20.12) semver: 6.3.0 @@ -2572,7 +2947,7 @@ packages: dependencies: '@babel/core': 7.20.12 '@babel/helper-define-polyfill-provider': 0.3.3(@babel/core@7.20.12) - core-js-compat: 3.29.1 + core-js-compat: 3.30.0 transitivePeerDependencies: - supports-color dev: true @@ -2592,6 +2967,10 @@ packages: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} dev: true + /balanced-match@2.0.0: + resolution: {integrity: sha512-1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA==} + dev: true + /base64-js@1.5.1: resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} dev: true @@ -2700,12 +3079,16 @@ packages: engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: - caniuse-lite: 1.0.30001473 - electron-to-chromium: 1.4.345 + caniuse-lite: 1.0.30001478 + electron-to-chromium: 1.4.361 node-releases: 2.0.10 update-browserslist-db: 1.0.10(browserslist@4.21.5) dev: true + /buffer-crc32@0.2.13: + resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} + dev: true + /buffer-from@1.1.2: resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} dev: true @@ -2720,7 +3103,7 @@ packages: /builtins@5.0.1: resolution: {integrity: sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==} dependencies: - semver: 7.3.8 + semver: 7.4.0 dev: true /bytes@3.0.0: @@ -2767,13 +3150,13 @@ packages: fs-minipass: 3.0.1 glob: 8.1.0 lru-cache: 7.18.3 - minipass: 4.2.5 + minipass: 4.2.8 minipass-collect: 1.0.2 minipass-flush: 1.0.5 minipass-pipeline: 1.2.4 p-map: 4.0.0 promise-inflight: 1.0.1 - ssri: 10.0.1 + ssri: 10.0.3 tar: 6.1.13 unique-filename: 3.0.0 transitivePeerDependencies: @@ -2786,15 +3169,15 @@ packages: dependencies: '@npmcli/fs': 3.1.0 fs-minipass: 3.0.1 - glob: 9.3.2 + glob: 9.3.5 lru-cache: 7.18.3 - minipass: 4.2.5 + minipass: 4.2.8 minipass-collect: 1.0.2 minipass-flush: 1.0.5 minipass-pipeline: 1.2.4 p-map: 4.0.0 promise-inflight: 1.0.1 - ssri: 10.0.1 + ssri: 10.0.3 tar: 6.1.13 unique-filename: 3.0.0 transitivePeerDependencies: @@ -2813,13 +3196,22 @@ packages: engines: {node: '>=6'} dev: true + /camelcase-keys@6.2.2: + resolution: {integrity: sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==} + engines: {node: '>=8'} + dependencies: + camelcase: 5.3.1 + map-obj: 4.3.0 + quick-lru: 4.0.1 + dev: true + /camelcase@5.3.1: resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} engines: {node: '>=6'} dev: true - /caniuse-lite@1.0.30001473: - resolution: {integrity: sha512-ewDad7+D2vlyy+E4UJuVfiBsU69IL+8oVmTuZnH5Q6CIUbxNfI50uVpRHbUPDD6SUaN2o0Lh4DhTrvLG/Tn1yg==} + /caniuse-lite@1.0.30001478: + resolution: {integrity: sha512-gMhDyXGItTHipJj2ApIvR+iVB5hd0KP3svMWWXDvZOmjzJJassGLMfxRkQCSYgGd2gtdL/ReeiyvMSFD1Ss6Mw==} dev: true /chalk@2.4.2: @@ -2858,6 +3250,10 @@ packages: fsevents: 2.3.2 dev: true + /chownr@1.1.4: + resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==} + dev: true + /chownr@2.0.0: resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==} engines: {node: '>=10'} @@ -2868,6 +3264,15 @@ packages: engines: {node: '>=6.0'} dev: true + /chromium-bidi@0.4.6(devtools-protocol@0.0.1107588): + resolution: {integrity: sha512-TQOkWRaLI/IWvoP8XC+7jO4uHTIiAUiklXU1T0qszlUFEai9LgKXIBXy3pOS3EnQZ3bQtMbKUPkug0fTAEHCSw==} + peerDependencies: + devtools-protocol: '*' + dependencies: + devtools-protocol: 0.0.1107588 + mitt: 3.0.0 + dev: true + /clean-stack@2.2.0: resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} engines: {node: '>=6'} @@ -2880,8 +3285,8 @@ packages: restore-cursor: 3.1.0 dev: true - /cli-spinners@2.7.0: - resolution: {integrity: sha512-qu3pN8Y3qHNgE2AFweciB1IfMnmZ/fsNTEE+NOFjmGB2F/7rLhnhzppvpCnN4FovtP26k8lHyy9ptEbNwWFLzw==} + /cli-spinners@2.8.0: + resolution: {integrity: sha512-/eG5sJcvEIwxcdYM86k5tPwn0MUzkX5YY3eImTGpJOZgVe4SdTMY14vQpcxgBzJ0wXwAYrS8E+c3uHeK4JNyzQ==} engines: {node: '>=6'} dev: true @@ -2947,6 +3352,10 @@ packages: hasBin: true dev: true + /colord@2.9.3: + resolution: {integrity: sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==} + dev: true + /colorette@2.0.19: resolution: {integrity: sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==} dev: true @@ -3050,15 +3459,15 @@ packages: dependencies: fast-glob: 3.2.12 glob-parent: 6.0.2 - globby: 13.1.3 + globby: 13.1.4 normalize-path: 3.0.0 schema-utils: 4.0.0 serialize-javascript: 6.0.1 webpack: 5.76.1(esbuild@0.17.8) dev: true - /core-js-compat@3.29.1: - resolution: {integrity: sha512-QmchCua884D8wWskMX8tW5ydINzd8oSJVx38lx/pVkFGqztxt73GYre3pm/hyYq8bPf+MW5In4I/uRShFDsbrA==} + /core-js-compat@3.30.0: + resolution: {integrity: sha512-P5A2h/9mRYZFIAP+5Ab8ns6083IyVpSclU74UNvbGVQ8VM7n3n3/g2yF3AkKQ9NXz2O+ioxLbEWKnDtgsFamhg==} dependencies: browserslist: 4.21.5 dev: true @@ -3086,6 +3495,16 @@ packages: yaml: 1.10.2 dev: true + /cosmiconfig@8.1.3: + resolution: {integrity: sha512-/UkO2JKI18b5jVMJUp0lvKFMpa/Gye+ZgZjKD+DGEN9y7NRcf/nK1A0sp67ONmKtnDCNMS44E6jrk0Yc3bDuUw==} + engines: {node: '>=14'} + dependencies: + import-fresh: 3.3.0 + js-yaml: 4.1.0 + parse-json: 5.2.0 + path-type: 4.0.0 + dev: true + /critters@0.0.16: resolution: {integrity: sha512-JwjgmO6i3y6RWtLYmXwO5jMd+maZt8Tnfu7VVISmEWyQqfLpB8soBswf8/2bu6SBXxtKA68Al3c+qIG1ApT68A==} dependencies: @@ -3097,6 +3516,14 @@ packages: pretty-bytes: 5.6.0 dev: true + /cross-fetch@3.1.5: + resolution: {integrity: sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==} + dependencies: + node-fetch: 2.6.7 + transitivePeerDependencies: + - encoding + dev: true + /cross-spawn@7.0.3: resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} engines: {node: '>= 8'} @@ -3106,6 +3533,11 @@ packages: which: 2.0.2 dev: true + /css-functions-list@3.1.0: + resolution: {integrity: sha512-/9lCvYZaUbBGvYUgYGFJ4dcYiyqdhSjG7IPVluoV8A1ILjkF7ilmhp1OGUz8n+nmBcu0RNrQAzgD8B6FJbrt2w==} + engines: {node: '>=12.22'} + dev: true + /css-loader@6.7.3(webpack@5.76.1): resolution: {integrity: sha512-qhOH1KlBMnZP8FzRO6YCH9UHXQhVMcEGLyNdb7Hv2cpcmJbW0YrddO+tG1ab5nT41KpHIYGsbeHqxB9xPu1pKQ==} engines: {node: '>= 12.13.0'} @@ -3119,7 +3551,7 @@ packages: postcss-modules-scope: 3.0.0(postcss@8.4.21) postcss-modules-values: 4.0.0(postcss@8.4.21) postcss-value-parser: 4.2.0 - semver: 7.3.8 + semver: 7.4.0 webpack: 5.76.1(esbuild@0.17.8) dev: true @@ -3133,6 +3565,14 @@ packages: nth-check: 2.1.1 dev: true + /css-tree@2.3.1: + resolution: {integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==} + engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0} + dependencies: + mdn-data: 2.0.30 + source-map-js: 1.0.2 + dev: true + /css-what@6.1.0: resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==} engines: {node: '>= 6'} @@ -3188,6 +3628,23 @@ packages: ms: 2.1.2 dev: true + /decamelize-keys@1.1.1: + resolution: {integrity: sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==} + engines: {node: '>=0.10.0'} + dependencies: + decamelize: 1.2.0 + map-obj: 1.0.1 + dev: true + + /decamelize@1.2.0: + resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} + engines: {node: '>=0.10.0'} + dev: true + + /deep-is@0.1.4: + resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + dev: true + /default-gateway@6.0.3: resolution: {integrity: sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==} engines: {node: '>= 10'} @@ -3234,6 +3691,10 @@ packages: resolution: {integrity: sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==} dev: true + /devtools-protocol@0.0.1107588: + resolution: {integrity: sha512-yIR+pG9x65Xko7bErCUSQaDLrO/P1p3JUzEk7JCU4DowPcGHkTGUGQapcfcLc4qj0UaALwZ+cr0riFgiqpixcg==} + dev: true + /di@0.0.1: resolution: {integrity: sha512-uJaamHkagcZtHPqCIHZxnFrXlunQXgBOsZSUOWwFw31QJCAbyTBoHMW75YOTur5ZNx8pIeAKgf6GWIgaqqiLhA==} dev: true @@ -3245,6 +3706,10 @@ packages: path-type: 4.0.0 dev: true + /dlv@1.1.3: + resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} + dev: true + /dns-equal@1.0.0: resolution: {integrity: sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==} dev: true @@ -3256,6 +3721,13 @@ packages: '@leichtgewicht/ip-codec': 2.0.4 dev: true + /doctrine@3.0.0: + resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} + engines: {node: '>=6.0.0'} + dependencies: + esutils: 2.0.3 + dev: true + /dom-serialize@2.2.1: resolution: {integrity: sha512-Yra4DbvoW7/Z6LBN560ZwXMjoNOSAN2wRsKFGc4iBeso+mpIA6qj1vfdf9HpMaKAqG6wXTy+1SYEzmNpKXOSsQ==} dependencies: @@ -3273,6 +3745,14 @@ packages: entities: 2.2.0 dev: true + /dom-serializer@2.0.0: + resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==} + dependencies: + domelementtype: 2.3.0 + domhandler: 5.0.3 + entities: 4.5.0 + dev: true + /domelementtype@2.3.0: resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} dev: true @@ -3284,6 +3764,13 @@ packages: domelementtype: 2.3.0 dev: true + /domhandler@5.0.3: + resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==} + engines: {node: '>= 4'} + dependencies: + domelementtype: 2.3.0 + dev: true + /domutils@2.8.0: resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==} dependencies: @@ -3292,12 +3779,20 @@ packages: domhandler: 4.3.1 dev: true + /domutils@3.0.1: + resolution: {integrity: sha512-z08c1l761iKhDFtfXO04C7kTdPBLi41zwOZl00WS8b5eiaebNpY00HKbztwBq+e3vyqWNwWF3mP9YLUeqIrF+Q==} + dependencies: + dom-serializer: 2.0.0 + domelementtype: 2.3.0 + domhandler: 5.0.3 + dev: true + /ee-first@1.1.1: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} dev: true - /electron-to-chromium@1.4.345: - resolution: {integrity: sha512-znGhOQK2TUYLICgS25uaM0a7pHy66rSxbre7l762vg9AUoCcJK+Bu+HCPWpjL/U/kK8/Hf+6E0szAUJSyVYb3Q==} + /electron-to-chromium@1.4.361: + resolution: {integrity: sha512-VocVwjPp05HUXzf3xmL0boRn5b0iyqC7amtDww84Jb1QJNPBc7F69gJyEeXRoriLBC4a5pSyckdllrXAg4mmRA==} dev: true /emoji-regex@8.0.0: @@ -3322,6 +3817,12 @@ packages: dev: true optional: true + /end-of-stream@1.4.4: + resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} + dependencies: + once: 1.4.0 + dev: true + /engine.io-parser@5.0.6: resolution: {integrity: sha512-tjuoZDMAdEhVnSFleYPCtdL2GXwVTGtNjoeJd9IhIG3C1xs9uwxqRNEu5WpnDZCaozwVlK/nuQhpodhXSIMaxw==} engines: {node: '>=10.0.0'} @@ -3363,8 +3864,8 @@ packages: resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==} dev: true - /entities@4.4.0: - resolution: {integrity: sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA==} + /entities@4.5.0: + resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} engines: {node: '>=0.12'} dev: true @@ -3446,20 +3947,135 @@ packages: engines: {node: '>=0.8.0'} dev: true - /eslint-scope@5.1.1: - resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} - engines: {node: '>=8.0.0'} + /escape-string-regexp@4.0.0: + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} + engines: {node: '>=10'} + dev: true + + /eslint-config-prettier@8.8.0(eslint@8.38.0): + resolution: {integrity: sha512-wLbQiFre3tdGgpDv67NQKnJuTlcUVYHas3k+DZCc2U2BadthoEY4B7hLPvAxaqdyOGCzuLfii2fqGph10va7oA==} + hasBin: true + peerDependencies: + eslint: '>=7.0.0' + dependencies: + eslint: 8.38.0 + dev: true + + /eslint-plugin-html@7.1.0: + resolution: {integrity: sha512-fNLRraV/e6j8e3XYOC9xgND4j+U7b1Rq+OygMlLcMg+wI/IpVbF+ubQa3R78EjKB9njT6TQOlcK5rFKBVVtdfg==} + dependencies: + htmlparser2: 8.0.2 + dev: true + + /eslint-plugin-prettier@4.2.1(eslint-config-prettier@8.8.0)(eslint@8.38.0)(prettier@2.8.7): + resolution: {integrity: sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==} + engines: {node: '>=12.0.0'} + peerDependencies: + eslint: '>=7.28.0' + eslint-config-prettier: '*' + prettier: '>=2.0.0' + peerDependenciesMeta: + eslint-config-prettier: + optional: true + dependencies: + eslint: 8.38.0 + eslint-config-prettier: 8.8.0(eslint@8.38.0) + prettier: 2.8.7 + prettier-linter-helpers: 1.0.0 + dev: true + + /eslint-scope@5.1.1: + resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} + engines: {node: '>=8.0.0'} dependencies: esrecurse: 4.3.0 estraverse: 4.3.0 dev: true + /eslint-scope@7.2.0: + resolution: {integrity: sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + esrecurse: 4.3.0 + estraverse: 5.3.0 + dev: true + + /eslint-visitor-keys@3.4.0: + resolution: {integrity: sha512-HPpKPUBQcAsZOsHAFwTtIKcYlCje62XB7SEAcxjtmW6TD1WVpkS6i6/hOVtTZIl4zGj/mBqpFVGvaDneik+VoQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true + + /eslint@8.38.0: + resolution: {integrity: sha512-pIdsD2jwlUGf/U38Jv97t8lq6HpaU/G9NKbYmpWpZGw3LdTNhZLbJePqxOXGB5+JEKfOPU/XLxYxFh03nr1KTg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + hasBin: true + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.38.0) + '@eslint-community/regexpp': 4.5.0 + '@eslint/eslintrc': 2.0.2 + '@eslint/js': 8.38.0 + '@humanwhocodes/config-array': 0.11.8 + '@humanwhocodes/module-importer': 1.0.1 + '@nodelib/fs.walk': 1.2.8 + ajv: 6.12.6 + chalk: 4.1.2 + cross-spawn: 7.0.3 + debug: 4.3.4 + doctrine: 3.0.0 + escape-string-regexp: 4.0.0 + eslint-scope: 7.2.0 + eslint-visitor-keys: 3.4.0 + espree: 9.5.1 + esquery: 1.5.0 + esutils: 2.0.3 + fast-deep-equal: 3.1.3 + file-entry-cache: 6.0.1 + find-up: 5.0.0 + glob-parent: 6.0.2 + globals: 13.20.0 + grapheme-splitter: 1.0.4 + ignore: 5.2.4 + import-fresh: 3.3.0 + imurmurhash: 0.1.4 + is-glob: 4.0.3 + is-path-inside: 3.0.3 + js-sdsl: 4.4.0 + js-yaml: 4.1.0 + json-stable-stringify-without-jsonify: 1.0.1 + levn: 0.4.1 + lodash.merge: 4.6.2 + minimatch: 3.1.2 + natural-compare: 1.4.0 + optionator: 0.9.1 + strip-ansi: 6.0.1 + strip-json-comments: 3.1.1 + text-table: 0.2.0 + transitivePeerDependencies: + - supports-color + dev: true + + /espree@9.5.1: + resolution: {integrity: sha512-5yxtHSZXRSW5pvv3hAlXM5+/Oswi1AUFqBmbibKb5s6bp3rGIDkyXU6xCoyuuLhijr4SFwPrXRoZjz0AZDN9tg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + acorn: 8.8.2 + acorn-jsx: 5.3.2(acorn@8.8.2) + eslint-visitor-keys: 3.4.0 + dev: true + /esprima@4.0.1: resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} engines: {node: '>=4'} hasBin: true dev: true + /esquery@1.5.0: + resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} + engines: {node: '>=0.10'} + dependencies: + estraverse: 5.3.0 + dev: true + /esrecurse@4.3.0: resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} engines: {node: '>=4.0'} @@ -3567,10 +4183,28 @@ packages: tmp: 0.0.33 dev: true + /extract-zip@2.0.1: + resolution: {integrity: sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==} + engines: {node: '>= 10.17.0'} + hasBin: true + dependencies: + debug: 4.3.4 + get-stream: 5.2.0 + yauzl: 2.10.0 + optionalDependencies: + '@types/yauzl': 2.10.0 + transitivePeerDependencies: + - supports-color + dev: true + /fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} dev: true + /fast-diff@1.2.0: + resolution: {integrity: sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==} + dev: true + /fast-glob@3.2.12: resolution: {integrity: sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==} engines: {node: '>=8.6.0'} @@ -3586,6 +4220,15 @@ packages: resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} dev: true + /fast-levenshtein@2.0.6: + resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + dev: true + + /fastest-levenshtein@1.0.16: + resolution: {integrity: sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==} + engines: {node: '>= 4.9.1'} + dev: true + /fastq@1.15.0: resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} dependencies: @@ -3599,6 +4242,12 @@ packages: websocket-driver: 0.7.4 dev: true + /fd-slicer@1.1.0: + resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==} + dependencies: + pend: 1.2.0 + dev: true + /figures@3.2.0: resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==} engines: {node: '>=8'} @@ -3606,6 +4255,13 @@ packages: escape-string-regexp: 1.0.5 dev: true + /file-entry-cache@6.0.1: + resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} + engines: {node: ^10.12.0 || >=12.0.0} + dependencies: + flat-cache: 3.0.4 + dev: true + /fill-range@7.0.1: resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} engines: {node: '>=8'} @@ -3660,6 +4316,22 @@ packages: path-exists: 4.0.0 dev: true + /find-up@5.0.0: + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} + engines: {node: '>=10'} + dependencies: + locate-path: 6.0.0 + path-exists: 4.0.0 + dev: true + + /flat-cache@3.0.4: + resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==} + engines: {node: ^10.12.0 || >=12.0.0} + dependencies: + flatted: 3.2.7 + rimraf: 3.0.2 + dev: true + /flatted@3.2.7: resolution: {integrity: sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==} dev: true @@ -3688,6 +4360,10 @@ packages: engines: {node: '>= 0.6'} dev: true + /fs-constants@1.0.0: + resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} + dev: true + /fs-extra@8.1.0: resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} engines: {node: '>=6 <7 || >=8'} @@ -3708,7 +4384,7 @@ packages: resolution: {integrity: sha512-MhaJDcFRTuLidHrIttu0RDGyyXs/IYHVmlcxfLAEFIWjc1vdLAkdwT7Ace2u7DbitWC0toKMl5eJZRYNVreIMw==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: - minipass: 4.2.5 + minipass: 4.2.8 dev: true /fs-monkey@1.0.3: @@ -3768,6 +4444,13 @@ packages: engines: {node: '>=8.0.0'} dev: true + /get-stream@5.2.0: + resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} + engines: {node: '>=8'} + dependencies: + pump: 3.0.0 + dev: true + /get-stream@6.0.1: resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} engines: {node: '>=10'} @@ -3813,14 +4496,30 @@ packages: once: 1.4.0 dev: true - /glob@9.3.2: - resolution: {integrity: sha512-BTv/JhKXFEHsErMte/AnfiSv8yYOLLiyH2lTg8vn02O21zWFgHPTfxtgn1QRe7NRgggUhC8hacR2Re94svHqeA==} + /glob@9.3.5: + resolution: {integrity: sha512-e1LleDykUz2Iu+MTYdkSsuWX8lvAjAcs0Xef0lNIu0S2wOAzuTxCJtcd9S3cijlwYF18EsU3rzb8jPVobxDh9Q==} engines: {node: '>=16 || 14 >=14.17'} dependencies: fs.realpath: 1.0.0 - minimatch: 7.4.3 - minipass: 4.2.5 - path-scurry: 1.6.3 + minimatch: 8.0.4 + minipass: 4.2.8 + path-scurry: 1.6.4 + dev: true + + /global-modules@2.0.0: + resolution: {integrity: sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==} + engines: {node: '>=6'} + dependencies: + global-prefix: 3.0.0 + dev: true + + /global-prefix@3.0.0: + resolution: {integrity: sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==} + engines: {node: '>=6'} + dependencies: + ini: 1.3.8 + kind-of: 6.0.3 + which: 1.3.1 dev: true /globals@11.12.0: @@ -3828,8 +4527,27 @@ packages: engines: {node: '>=4'} dev: true - /globby@13.1.3: - resolution: {integrity: sha512-8krCNHXvlCgHDpegPzleMq07yMYTO2sXKASmZmquEYWEmCx6J5UTRbp5RwMJkTJGtcQ44YpiUYUiN0b9mzy8Bw==} + /globals@13.20.0: + resolution: {integrity: sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==} + engines: {node: '>=8'} + dependencies: + type-fest: 0.20.2 + dev: true + + /globby@11.1.0: + resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} + engines: {node: '>=10'} + dependencies: + array-union: 2.1.0 + dir-glob: 3.0.1 + fast-glob: 3.2.12 + ignore: 5.2.4 + merge2: 1.4.1 + slash: 3.0.0 + dev: true + + /globby@13.1.4: + resolution: {integrity: sha512-iui/IiiW+QrJ1X1hKH5qwlMQyv34wJAYwH1vrf8b9kBA4sNiif3gKsMHa+BrdnOpEudWjpotfa7LrTzB1ERS/g==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: dir-glob: 3.0.1 @@ -3839,14 +4557,27 @@ packages: slash: 4.0.0 dev: true + /globjoin@0.1.4: + resolution: {integrity: sha512-xYfnw62CKG8nLkZBfWbhWwDw02CHty86jfPcc2cr3ZfeuK9ysoVPPEUxf21bAD/rWAgk52SuBrLJlefNy8mvFg==} + dev: true + /graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} dev: true + /grapheme-splitter@1.0.4: + resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==} + dev: true + /handle-thing@2.0.1: resolution: {integrity: sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==} dev: true + /hard-rejection@2.1.0: + resolution: {integrity: sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==} + engines: {node: '>=6'} + dev: true + /has-flag@3.0.0: resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} engines: {node: '>=4'} @@ -3885,6 +4616,17 @@ packages: resolution: {integrity: sha512-7kIufnBqdsBGcSZLPJwqHT3yhk1QTsSlFsVD3kx5ixH/AlgBs9yM1q6DPhXZ8f8gtdqgh7N7/5btRLpQsS2gHw==} dev: true + /hosted-git-info@2.8.9: + resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} + dev: true + + /hosted-git-info@4.1.0: + resolution: {integrity: sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==} + engines: {node: '>=10'} + dependencies: + lru-cache: 6.0.0 + dev: true + /hosted-git-info@6.1.1: resolution: {integrity: sha512-r0EI+HBMcXadMrugk0GCQ+6BQV39PiWAZVfq7oIckeGiN7sjRGyQxPdft3nQekFTCQbYxLBH+/axZMeH8UX6+w==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} @@ -3909,6 +4651,20 @@ packages: resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} dev: true + /html-tags@3.3.1: + resolution: {integrity: sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==} + engines: {node: '>=8'} + dev: true + + /htmlparser2@8.0.2: + resolution: {integrity: sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==} + dependencies: + domelementtype: 2.3.0 + domhandler: 5.0.3 + domutils: 3.0.1 + entities: 4.5.0 + dev: true + /http-cache-semantics@4.1.1: resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==} dev: true @@ -4035,7 +4791,7 @@ packages: resolution: {integrity: sha512-ezmQ1Dg2b3jVZh2Dh+ar6Eu2MqNSTkyb32HU2MAQQQX9tKM3q/UQ/9lf03lQ5hW+fOeoMnwxwkleZ0xcNp0/qg==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: - minimatch: 7.4.3 + minimatch: 7.4.6 dev: true /ignore@5.2.4: @@ -4063,6 +4819,11 @@ packages: resolve-from: 4.0.0 dev: true + /import-lazy@4.0.0: + resolution: {integrity: sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==} + engines: {node: '>=8'} + dev: true + /imurmurhash@0.1.4: resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} engines: {node: '>=0.8.19'} @@ -4092,6 +4853,10 @@ packages: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} dev: true + /ini@1.3.8: + resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} + dev: true + /ini@3.0.1: resolution: {integrity: sha512-it4HyVAUTKBc6m8e1iXWvXSTdndF7HbdN713+kvLrymxTaU4AUBWrJ4vEooP+V7fexnVD3LKcBshjGGPefSMUQ==} engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} @@ -4143,8 +4908,8 @@ packages: binary-extensions: 2.2.0 dev: true - /is-core-module@2.11.0: - resolution: {integrity: sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==} + /is-core-module@2.12.0: + resolution: {integrity: sha512-RECHCBCd/viahWmwj6enj19sKbHfJrddi/6cBDsNTKbNq0f7VeaUkBo60BqzvPqo/W54ChS62Z5qyun7cfOMqQ==} dependencies: has: 1.0.3 dev: true @@ -4186,6 +4951,16 @@ packages: engines: {node: '>=0.12.0'} dev: true + /is-path-inside@3.0.3: + resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} + engines: {node: '>=8'} + dev: true + + /is-plain-obj@1.1.0: + resolution: {integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==} + engines: {node: '>=0.10.0'} + dev: true + /is-plain-obj@3.0.0: resolution: {integrity: sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==} engines: {node: '>=10'} @@ -4198,6 +4973,11 @@ packages: isobject: 3.0.1 dev: true + /is-plain-object@5.0.0: + resolution: {integrity: sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==} + engines: {node: '>=0.10.0'} + dev: true + /is-stream@2.0.1: resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} engines: {node: '>=8'} @@ -4246,8 +5026,8 @@ packages: resolution: {integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==} engines: {node: '>=8'} dependencies: - '@babel/core': 7.21.3 - '@babel/parser': 7.21.3 + '@babel/core': 7.21.4 + '@babel/parser': 7.21.4 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.0 semver: 6.3.0 @@ -4296,6 +5076,10 @@ packages: supports-color: 8.1.1 dev: true + /js-sdsl@4.4.0: + resolution: {integrity: sha512-FfVSdx6pJ41Oa+CF7RDaFmTnCaFhua+SNYQX74riGOpl96x+2jQCqEfQ2bnXu/5DPCqlRuiqyvTJM0Qjz26IVg==} + dev: true + /js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} dev: true @@ -4308,6 +5092,13 @@ packages: esprima: 4.0.1 dev: true + /js-yaml@4.1.0: + resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} + hasBin: true + dependencies: + argparse: 2.0.1 + dev: true + /jsesc@0.5.0: resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==} hasBin: true @@ -4336,6 +5127,10 @@ packages: resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} dev: true + /json-stable-stringify-without-jsonify@1.0.1: + resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} + dev: true + /json5@2.2.3: resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} engines: {node: '>=6'} @@ -4357,8 +5152,8 @@ packages: engines: {'0': node >= 0.2.0} dev: true - /karma-chrome-launcher@3.1.0: - resolution: {integrity: sha512-3dPs/n7vgz1rxxtynpzZTvb9y/GIaW8xjAwcIGttLbycqoFtI7yo1NGnQi6oFTherRE+GIhCAHZC4vEqWGhNvg==} + /karma-chrome-launcher@3.1.1: + resolution: {integrity: sha512-hsIglcq1vtboGPAN+DGCISCFOxW+ZVnIqhDQcCMqqCp+4dmJ0Qpq5QAjkbA0X2L9Mi6OBkHi2Srrbmm7pUKkzQ==} dependencies: which: 1.3.1 dev: true @@ -4377,7 +5172,7 @@ packages: - supports-color dev: true - /karma-jasmine-html-reporter@2.0.0(jasmine-core@4.5.0)(karma-jasmine@5.1.0)(karma@6.4.0): + /karma-jasmine-html-reporter@2.0.0(jasmine-core@4.5.0)(karma-jasmine@5.1.0)(karma@6.4.1): resolution: {integrity: sha512-SB8HNNiazAHXM1vGEzf8/tSyEhkfxuDdhYdPBX2Mwgzt0OuF2gicApQ+uvXLID/gXyJQgvrM9+1/2SxZFUUDIA==} peerDependencies: jasmine-core: ^4.0.0 @@ -4385,18 +5180,18 @@ packages: karma-jasmine: ^5.0.0 dependencies: jasmine-core: 4.5.0 - karma: 6.4.0 - karma-jasmine: 5.1.0(karma@6.4.0) + karma: 6.4.1 + karma-jasmine: 5.1.0(karma@6.4.1) dev: true - /karma-jasmine@5.1.0(karma@6.4.0): + /karma-jasmine@5.1.0(karma@6.4.1): resolution: {integrity: sha512-i/zQLFrfEpRyQoJF9fsCdTMOF5c2dK7C7OmsuKg2D0YSsuZSfQDiLuaiktbuio6F2wiCsZSnSnieIQ0ant/uzQ==} engines: {node: '>=12'} peerDependencies: karma: ^6.0.0 dependencies: jasmine-core: 4.5.0 - karma: 6.4.0 + karma: 6.4.1 dev: true /karma-source-map-support@1.4.0: @@ -4405,8 +5200,8 @@ packages: source-map-support: 0.5.21 dev: true - /karma@6.4.0: - resolution: {integrity: sha512-s8m7z0IF5g/bS5ONT7wsOavhW4i4aFkzD4u4wgzAQWT4HGUeWI3i21cK2Yz6jndMAeHETp5XuNsRoyGJZXVd4w==} + /karma@6.4.1: + resolution: {integrity: sha512-Cj57NKOskK7wtFWSlMvZf459iX+kpYIPXmkNUzP2WAFcA7nhr/ALn5R7sw3w+1udFDcpMx/tuB8d5amgm3ijaA==} engines: {node: '>= 10'} hasBin: true dependencies: @@ -4432,7 +5227,7 @@ packages: socket.io: 4.6.1 source-map: 0.6.1 tmp: 0.2.1 - ua-parser-js: 0.7.34 + ua-parser-js: 0.7.35 yargs: 16.2.0 transitivePeerDependencies: - bufferutil @@ -4451,6 +5246,10 @@ packages: engines: {node: '>= 8'} dev: true + /known-css-properties@0.27.0: + resolution: {integrity: sha512-uMCj6+hZYDoffuvAJjFAPz56E9uoowFHmTkqRtRq5WyC5Q6Cu/fTZKNQpX/RbzChBYLLl3lo8CjFZBAZXq9qFg==} + dev: true + /less-loader@11.1.0(less@4.1.3)(webpack@5.76.1): resolution: {integrity: sha512-C+uDBV7kS7W5fJlUjq5mPBeBVhYpTIm5gB09APT9o3n/ILeaXVsiSFTbZpTJCJwQ/Crczfn3DmfQFwxYusWFug==} engines: {node: '>= 14.15.0'} @@ -4470,7 +5269,7 @@ packages: dependencies: copy-anything: 2.0.6 parse-node-version: 1.0.1 - tslib: 2.3.0 + tslib: 2.5.0 optionalDependencies: errno: 0.1.8 graceful-fs: 4.2.11 @@ -4483,6 +5282,14 @@ packages: - supports-color dev: true + /levn@0.4.1: + resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} + engines: {node: '>= 0.8.0'} + dependencies: + prelude-ls: 1.2.1 + type-check: 0.4.0 + dev: true + /license-webpack-plugin@4.0.2(webpack@5.76.1): resolution: {integrity: sha512-771TFWFD70G1wLTC4oU2Cw4qvtmNrIw+wRvBtn+okgHl7slJVi7zfNcdmqDL72BojM30VNJ2UHylr1o77U37Jw==} peerDependencies: @@ -4527,10 +5334,25 @@ packages: p-locate: 4.1.0 dev: true + /locate-path@6.0.0: + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} + engines: {node: '>=10'} + dependencies: + p-locate: 5.0.0 + dev: true + /lodash.debounce@4.0.8: resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} dev: true + /lodash.merge@4.6.2: + resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} + dev: true + + /lodash.truncate@4.4.2: + resolution: {integrity: sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==} + dev: true + /lodash@4.17.21: resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} dev: true @@ -4574,18 +5396,23 @@ packages: engines: {node: '>=12'} dev: true + /lru-cache@9.0.1: + resolution: {integrity: sha512-C8QsKIN1UIXeOs3iWmiZ1lQY+EnKDojWd37fXy1aSbJvH4iSma1uy2OWuoB3m4SYRli5+CUjDv3Dij5DVoetmg==} + engines: {node: 14 || >=16.14} + dev: true + /magic-string@0.27.0: resolution: {integrity: sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==} engines: {node: '>=12'} dependencies: - '@jridgewell/sourcemap-codec': 1.4.14 + '@jridgewell/sourcemap-codec': 1.4.15 dev: true /magic-string@0.29.0: resolution: {integrity: sha512-WcfidHrDjMY+eLjlU+8OvwREqHwpgCeKVBUpQ3OhYYuvfaYCUgcbuBzappNzZvg/v8onU3oQj+BYpkOJe9Iw4Q==} engines: {node: '>=12'} dependencies: - '@jridgewell/sourcemap-codec': 1.4.14 + '@jridgewell/sourcemap-codec': 1.4.15 dev: true /make-dir@2.1.0: @@ -4641,31 +5468,67 @@ packages: https-proxy-agent: 5.0.1 is-lambda: 1.0.1 lru-cache: 7.18.3 - minipass: 4.2.5 + minipass: 4.2.8 minipass-fetch: 3.0.1 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.1 + ssri: 10.0.3 transitivePeerDependencies: - bluebird - supports-color dev: true + /map-obj@1.0.1: + resolution: {integrity: sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==} + engines: {node: '>=0.10.0'} + dev: true + + /map-obj@4.3.0: + resolution: {integrity: sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==} + engines: {node: '>=8'} + dev: true + + /mathml-tag-names@2.1.3: + resolution: {integrity: sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg==} + dev: true + + /mdn-data@2.0.30: + resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==} + dev: true + /media-typer@0.3.0: resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} engines: {node: '>= 0.6'} dev: true - /memfs@3.4.13: - resolution: {integrity: sha512-omTM41g3Skpvx5dSYeZIbXKcXoAVc/AoMNwn9TKx++L/gaen/+4TTttmu8ZSch5vfVJ8uJvGbroTsIlslRg6lg==} + /memfs@3.5.0: + resolution: {integrity: sha512-yK6o8xVJlQerz57kvPROwTMgx5WtGwC2ZxDtOUsnGl49rHjYkfQoPNZPCKH73VdLE1BwBu/+Fx/NL8NYMUw2aA==} engines: {node: '>= 4.0.0'} dependencies: fs-monkey: 1.0.3 dev: true + /meow@9.0.0: + resolution: {integrity: sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ==} + engines: {node: '>=10'} + dependencies: + '@types/minimist': 1.2.2 + camelcase-keys: 6.2.2 + decamelize: 1.2.0 + decamelize-keys: 1.1.1 + hard-rejection: 2.1.0 + minimist-options: 4.1.0 + normalize-package-data: 3.0.3 + read-pkg-up: 7.0.1 + redent: 3.0.0 + trim-newlines: 3.0.1 + type-fest: 0.18.1 + yargs-parser: 20.2.9 + dev: true + /merge-descriptors@1.0.1: resolution: {integrity: sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==} dev: true @@ -4721,6 +5584,11 @@ packages: engines: {node: '>=6'} dev: true + /min-indent@1.0.1: + resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} + engines: {node: '>=4'} + dev: true + /mini-css-extract-plugin@2.7.2(webpack@5.76.1): resolution: {integrity: sha512-EdlUizq13o0Pd+uCp+WO/JpkLvHRVGt97RqfeGhXqAcorYo1ypJSpkV+WDT0vY/kmh/p7wRdJNJtuyK540PXDw==} engines: {node: '>= 12.13.0'} @@ -4748,13 +5616,29 @@ packages: brace-expansion: 2.0.1 dev: true - /minimatch@7.4.3: - resolution: {integrity: sha512-5UB4yYusDtkRPbRiy1cqZ1IpGNcJCGlEMG17RKzPddpyiPKoCdwohbED8g4QXT0ewCt8LTkQXuljsUfQ3FKM4A==} + /minimatch@7.4.6: + resolution: {integrity: sha512-sBz8G/YjVniEz6lKPNpKxXwazJe4c19fEfV2GDMX6AjFz+MX9uDWIZW8XreVhkFW3fkIdTv/gxWr/Kks5FFAVw==} engines: {node: '>=10'} dependencies: brace-expansion: 2.0.1 dev: true + /minimatch@8.0.4: + resolution: {integrity: sha512-W0Wvr9HyFXZRGIDgCicunpQ299OKXs9RgZfaukz4qAW/pJhcpUfupc9c+OObPOFueNy8VSrZgEmDtk6Kh4WzDA==} + engines: {node: '>=16 || 14 >=14.17'} + dependencies: + brace-expansion: 2.0.1 + dev: true + + /minimist-options@4.1.0: + resolution: {integrity: sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==} + engines: {node: '>= 6'} + dependencies: + arrify: 1.0.1 + is-plain-obj: 1.1.0 + kind-of: 6.0.3 + dev: true + /minimist@1.2.8: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} dev: true @@ -4781,7 +5665,7 @@ packages: resolution: {integrity: sha512-t9/wowtf7DYkwz8cfMSt0rMwiyNIBXf5CKZ3S5ZMqRqMYT0oLTp0x1WorMI9WTwvaPg21r1JbFxJMum8JrLGfw==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: - minipass: 4.2.5 + minipass: 4.2.8 minipass-sized: 1.0.3 minizlib: 2.1.2 optionalDependencies: @@ -4823,8 +5707,13 @@ packages: yallist: 4.0.0 dev: true - /minipass@4.2.5: - resolution: {integrity: sha512-+yQl7SX3bIT83Lhb4BVorMAHVuqsskxRdlmO9kTpyukp8vsm2Sn/fUOV9xlnG8/a5JsypJzap21lz/y3FBMJ8Q==} + /minipass@4.2.8: + resolution: {integrity: sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ==} + engines: {node: '>=8'} + dev: true + + /minipass@5.0.0: + resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==} engines: {node: '>=8'} dev: true @@ -4836,6 +5725,14 @@ packages: yallist: 4.0.0 dev: true + /mitt@3.0.0: + resolution: {integrity: sha512-7dX2/10ITVyqh4aOSVI9gdape+t9l2/8QxHrFmUXu4EEUpdlxl6RudZUPZoc+zuY2hk1j7XxVroIVIan/pD/SQ==} + dev: true + + /mkdirp-classic@0.5.3: + resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==} + dev: true + /mkdirp@0.5.6: resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} hasBin: true @@ -4879,6 +5776,14 @@ packages: hasBin: true dev: true + /natural-compare-lite@1.4.0: + resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==} + dev: true + + /natural-compare@1.4.0: + resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + dev: true + /needle@3.2.0: resolution: {integrity: sha512-oUvzXnyLiVyVGoianLijF9O/RecZUf7TkBfimjGrLM4eQhXyeJwM6GeAWccwfQ9aa4gMCZKqhAOuLaMIcQxajQ==} engines: {node: '>= 4.4.x'} @@ -4914,9 +5819,22 @@ packages: /node-addon-api@3.2.1: resolution: {integrity: sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==} + requiresBuild: true dev: true optional: true + /node-fetch@2.6.7: + resolution: {integrity: sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==} + engines: {node: 4.x || >=6.0.0} + peerDependencies: + encoding: ^0.1.0 + peerDependenciesMeta: + encoding: + optional: true + dependencies: + whatwg-url: 5.0.0 + dev: true + /node-forge@1.3.1: resolution: {integrity: sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==} engines: {node: '>= 6.13.0'} @@ -4925,6 +5843,7 @@ packages: /node-gyp-build@4.6.0: resolution: {integrity: sha512-NTZVKn9IylLwUzaKjkas1e4u2DLNcV4rdYagA4PWdPwW87Bi7z+BznyKSRwS/761tV/lzCGXplWsiaMjLqP2zQ==} hasBin: true + requiresBuild: true dev: true optional: true @@ -4940,7 +5859,7 @@ packages: nopt: 6.0.0 npmlog: 6.0.2 rimraf: 3.0.2 - semver: 7.3.8 + semver: 7.4.0 tar: 6.1.13 which: 2.0.2 transitivePeerDependencies: @@ -4960,13 +5879,32 @@ packages: abbrev: 1.1.1 dev: true + /normalize-package-data@2.5.0: + resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} + dependencies: + hosted-git-info: 2.8.9 + resolve: 1.22.2 + semver: 5.7.1 + validate-npm-package-license: 3.0.4 + dev: true + + /normalize-package-data@3.0.3: + resolution: {integrity: sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==} + engines: {node: '>=10'} + dependencies: + hosted-git-info: 4.1.0 + is-core-module: 2.12.0 + semver: 7.4.0 + validate-npm-package-license: 3.0.4 + dev: true + /normalize-package-data@5.0.0: resolution: {integrity: sha512-h9iPVIfrVZ9wVYQnxFgtw1ugSvGEMOlyPWWtm8BMJhnwyEL/FLbYbTY3V3PpjI/BUK67n9PEWDu6eHzu1fB15Q==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: hosted-git-info: 6.1.1 - is-core-module: 2.11.0 - semver: 7.3.8 + is-core-module: 2.12.0 + semver: 7.4.0 validate-npm-package-license: 3.0.4 dev: true @@ -4987,11 +5925,11 @@ packages: npm-normalize-package-bin: 3.0.0 dev: true - /npm-install-checks@6.1.0: - resolution: {integrity: sha512-udSGENih/5xKh3Ex+L0PtZcOt0Pa+6ppDLnpG5D49/EhMja3LupaY9E/DtJTxyFBwE09ot7Fc+H4DywnZNWTVA==} + /npm-install-checks@6.1.1: + resolution: {integrity: sha512-dH3GmQL4vsPtld59cOn8uY0iOqRmqKvV+DLGwNXV/Q7MDgD2QfOADWd/mFXcIE5LVhYYGjA3baz6W9JneqnuCw==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: - semver: 7.3.8 + semver: 7.4.0 dev: true /npm-normalize-package-bin@3.0.0: @@ -5005,7 +5943,7 @@ packages: dependencies: hosted-git-info: 6.1.1 proc-log: 3.0.0 - semver: 7.3.8 + semver: 7.4.0 validate-npm-package-name: 5.0.0 dev: true @@ -5020,18 +5958,18 @@ packages: resolution: {integrity: sha512-mRtvlBjTsJvfCCdmPtiu2bdlx8d/KXtF7yNXNWe7G0Z36qWA9Ny5zXsI2PfBZEv7SXgoxTmNaTzGSbbzDZChoA==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: - npm-install-checks: 6.1.0 + npm-install-checks: 6.1.1 npm-normalize-package-bin: 3.0.0 npm-package-arg: 10.1.0 - semver: 7.3.8 + semver: 7.4.0 dev: true - /npm-registry-fetch@14.0.3: - resolution: {integrity: sha512-YaeRbVNpnWvsGOjX2wk5s85XJ7l1qQBGAp724h8e2CZFFhMSuw9enom7K1mWVUtvXO1uUSFIAPofQK0pPN0ZcA==} + /npm-registry-fetch@14.0.4: + resolution: {integrity: sha512-pMS2DRkwg+M44ct65zrN/Cr9IHK1+n6weuefAo6Er4lc+/8YBCU0Czq04H3ZiSigluh7pb2rMM5JpgcytctB+Q==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: make-fetch-happen: 11.0.3 - minipass: 4.2.5 + minipass: 4.2.8 minipass-fetch: 3.0.1 minipass-json-stream: 1.0.1 minizlib: 2.1.2 @@ -5119,6 +6057,18 @@ packages: is-wsl: 2.2.0 dev: true + /optionator@0.9.1: + resolution: {integrity: sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==} + engines: {node: '>= 0.8.0'} + dependencies: + deep-is: 0.1.4 + fast-levenshtein: 2.0.6 + levn: 0.4.1 + prelude-ls: 1.2.1 + type-check: 0.4.0 + word-wrap: 1.2.3 + dev: true + /ora@5.4.1: resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==} engines: {node: '>=10'} @@ -5126,7 +6076,7 @@ packages: bl: 4.1.0 chalk: 4.1.2 cli-cursor: 3.1.0 - cli-spinners: 2.7.0 + cli-spinners: 2.8.0 is-interactive: 1.0.0 is-unicode-supported: 0.1.0 log-symbols: 4.1.0 @@ -5146,6 +6096,13 @@ packages: p-try: 2.2.0 dev: true + /p-limit@3.1.0: + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} + dependencies: + yocto-queue: 0.1.0 + dev: true + /p-locate@4.1.0: resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} engines: {node: '>=8'} @@ -5153,6 +6110,13 @@ packages: p-limit: 2.3.0 dev: true + /p-locate@5.0.0: + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} + engines: {node: '>=10'} + dependencies: + p-limit: 3.1.0 + dev: true + /p-map@4.0.0: resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} engines: {node: '>=10'} @@ -5184,17 +6148,17 @@ packages: '@npmcli/run-script': 6.0.0 cacache: 17.0.5 fs-minipass: 3.0.1 - minipass: 4.2.5 + minipass: 4.2.8 npm-package-arg: 10.1.0 npm-packlist: 7.0.4 npm-pick-manifest: 8.0.1 - npm-registry-fetch: 14.0.3 + npm-registry-fetch: 14.0.4 proc-log: 3.0.0 promise-retry: 2.0.1 read-package-json: 6.0.1 read-package-json-fast: 3.0.2 sigstore: 1.2.0 - ssri: 10.0.1 + ssri: 10.0.3 tar: 6.1.13 transitivePeerDependencies: - bluebird @@ -5216,7 +6180,7 @@ packages: resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} engines: {node: '>=8'} dependencies: - '@babel/code-frame': 7.18.6 + '@babel/code-frame': 7.21.4 error-ex: 1.3.2 json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 @@ -5230,7 +6194,7 @@ packages: /parse5-html-rewriting-stream@7.0.0: resolution: {integrity: sha512-mazCyGWkmCRWDI15Zp+UiCqMp/0dgEmkZRvhlsqqKYr4SsVm/TvnSpD9fCvqCA2zoWJcfRym846ejWBBHRiYEg==} dependencies: - entities: 4.4.0 + entities: 4.5.0 parse5: 7.1.2 parse5-sax-parser: 7.0.0 dev: true @@ -5254,7 +6218,7 @@ packages: /parse5@7.1.2: resolution: {integrity: sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==} dependencies: - entities: 4.4.0 + entities: 4.5.0 dev: true /parseurl@1.3.3: @@ -5281,12 +6245,12 @@ packages: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} dev: true - /path-scurry@1.6.3: - resolution: {integrity: sha512-RAmB+n30SlN+HnNx6EbcpoDy9nwdpcGPnEKrJnu6GZoDWBdIjo1UQMVtW2ybtC7LC2oKLcMq8y5g8WnKLiod9g==} + /path-scurry@1.6.4: + resolution: {integrity: sha512-Qp/9IHkdNiXJ3/Kon++At2nVpnhRiPq/aSvQN+H3U1WZbvNRK0RIQK/o4HMqPoXjpuGJUEWpHSs6Mnjxqh3TQg==} engines: {node: '>=16 || 14 >=14.17'} dependencies: - lru-cache: 7.18.3 - minipass: 4.2.5 + lru-cache: 9.0.1 + minipass: 5.0.0 dev: true /path-to-regexp@0.1.7: @@ -5298,6 +6262,10 @@ packages: engines: {node: '>=8'} dev: true + /pend@1.2.0: + resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==} + dev: true + /picocolors@1.0.0: resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} dev: true @@ -5340,10 +6308,14 @@ packages: cosmiconfig: 7.1.0 klona: 2.0.6 postcss: 8.4.21 - semver: 7.3.8 + semver: 7.4.0 webpack: 5.76.1(esbuild@0.17.8) dev: true + /postcss-media-query-parser@0.2.3: + resolution: {integrity: sha512-3sOlxmbKcSHMjlUXQZKQ06jOswE7oVkXPxmZdoB1r5l0q6gTFTQSHxNxOrCccElbW7dxNytifNEo8qidX2Vsig==} + dev: true + /postcss-modules-extract-imports@3.0.0(postcss@8.4.21): resolution: {integrity: sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==} engines: {node: ^10 || ^12 || >= 14} @@ -5385,6 +6357,28 @@ packages: postcss: 8.4.21 dev: true + /postcss-resolve-nested-selector@0.1.1: + resolution: {integrity: sha512-HvExULSwLqHLgUy1rl3ANIqCsvMS0WHss2UOsXhXnQaZ9VCc2oBvIpXrl00IUFT5ZDITME0o6oiXeiHr2SAIfw==} + dev: true + + /postcss-safe-parser@6.0.0(postcss@8.4.21): + resolution: {integrity: sha512-FARHN8pwH+WiS2OPCxJI8FuRJpTVnn6ZNFiqAM2aeW2LwTHWWmWgIyKC6cUo0L8aeKiF/14MNvnpls6R2PBeMQ==} + engines: {node: '>=12.0'} + peerDependencies: + postcss: ^8.3.3 + dependencies: + postcss: 8.4.21 + dev: true + + /postcss-scss@4.0.6(postcss@8.4.21): + resolution: {integrity: sha512-rLDPhJY4z/i4nVFZ27j9GqLxj1pwxE80eAzUNRMXtcpipFYIeowerzBgG3yJhMtObGEXidtIgbUpQ3eLDsf5OQ==} + engines: {node: '>=12.0'} + peerDependencies: + postcss: ^8.4.19 + dependencies: + postcss: 8.4.21 + dev: true + /postcss-selector-parser@6.0.11: resolution: {integrity: sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==} engines: {node: '>=4'} @@ -5406,6 +6400,24 @@ packages: source-map-js: 1.0.2 dev: true + /prelude-ls@1.2.1: + resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} + engines: {node: '>= 0.8.0'} + dev: true + + /prettier-linter-helpers@1.0.0: + resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==} + engines: {node: '>=6.0.0'} + dependencies: + fast-diff: 1.2.0 + dev: true + + /prettier@2.8.7: + resolution: {integrity: sha512-yPngTo3aXUUmyuTjeTUT75txrf+aMh9FiD7q9ZE/i6r0bPb22g4FsE6Y338PQX1bmfy08i9QQCB7/rcUAVntfw==} + engines: {node: '>=10.13.0'} + hasBin: true + dev: true + /pretty-bytes@5.6.0: resolution: {integrity: sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==} engines: {node: '>=6'} @@ -5420,6 +6432,11 @@ packages: resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} dev: true + /progress@2.0.3: + resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==} + engines: {node: '>=0.4.0'} + dev: true + /promise-inflight@1.0.1: resolution: {integrity: sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==} peerDependencies: @@ -5445,16 +6462,73 @@ packages: ipaddr.js: 1.9.1 dev: true + /proxy-from-env@1.1.0: + resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} + dev: true + /prr@1.0.1: resolution: {integrity: sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==} dev: true optional: true + /pump@3.0.0: + resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} + dependencies: + end-of-stream: 1.4.4 + once: 1.4.0 + dev: true + /punycode@2.3.0: resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} engines: {node: '>=6'} dev: true + /puppeteer-core@19.9.0(typescript@4.9.5): + resolution: {integrity: sha512-IJYfCE0oFpi5dTvNFqOwo8Dey6zzx7hANy7z6K2bjpCux9oPOSOIubq40awNhaHlfi8soYtgU4qabnzMXB7xBQ==} + engines: {node: '>=14.14.0'} + peerDependencies: + typescript: '>= 4.7.4' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@puppeteer/browsers': 0.4.1(typescript@4.9.5) + chromium-bidi: 0.4.6(devtools-protocol@0.0.1107588) + cross-fetch: 3.1.5 + debug: 4.3.4 + devtools-protocol: 0.0.1107588 + extract-zip: 2.0.1 + https-proxy-agent: 5.0.1 + proxy-from-env: 1.1.0 + tar-fs: 2.1.1 + typescript: 4.9.5 + unbzip2-stream: 1.4.3 + ws: 8.13.0 + transitivePeerDependencies: + - bufferutil + - encoding + - supports-color + - utf-8-validate + dev: true + + /puppeteer@19.9.0(typescript@4.9.5): + resolution: {integrity: sha512-JDx8WwGlkdQYTaa3OMYDF+uFWimiwNnacg5FGEC5J6+VxDsLK30wHKU/Db2LqEhtAoIu4RwS+BRH4zRPlCsFpA==} + requiresBuild: true + dependencies: + '@puppeteer/browsers': 0.4.1(typescript@4.9.5) + cosmiconfig: 8.1.3 + https-proxy-agent: 5.0.1 + progress: 2.0.3 + proxy-from-env: 1.1.0 + puppeteer-core: 19.9.0(typescript@4.9.5) + transitivePeerDependencies: + - bufferutil + - encoding + - supports-color + - typescript + - utf-8-validate + dev: true + /qjobs@1.2.0: resolution: {integrity: sha512-8YOJEHtxpySA3fFDyCRxA+UUV+fA+rTWnuWvylOK/NCjhY+b4ocCtmu8TtsWb+mYeU+GCHf/S66KZF/AsteKHg==} engines: {node: '>=0.9'} @@ -5471,6 +6545,11 @@ packages: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} dev: true + /quick-lru@4.0.1: + resolution: {integrity: sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==} + engines: {node: '>=8'} + dev: true + /randombytes@2.1.0: resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} dependencies: @@ -5514,12 +6593,31 @@ packages: resolution: {integrity: sha512-AaHqXxfAVa+fNL07x8iAghfKOds/XXsu7zoouIVsbm7PEbQ3nMWXlvjcbrNLjElnUHWQtAo4QEa0RXuvD4XlpA==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: - glob: 9.3.2 + glob: 9.3.5 json-parse-even-better-errors: 3.0.0 normalize-package-data: 5.0.0 npm-normalize-package-bin: 3.0.0 dev: true + /read-pkg-up@7.0.1: + resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} + engines: {node: '>=8'} + dependencies: + find-up: 4.1.0 + read-pkg: 5.2.0 + type-fest: 0.8.1 + dev: true + + /read-pkg@5.2.0: + resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==} + engines: {node: '>=8'} + dependencies: + '@types/normalize-package-data': 2.4.1 + normalize-package-data: 2.5.0 + parse-json: 5.2.0 + type-fest: 0.6.0 + dev: true + /readable-stream@2.3.8: resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} dependencies: @@ -5548,6 +6646,14 @@ packages: picomatch: 2.3.1 dev: true + /redent@3.0.0: + resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==} + engines: {node: '>=8'} + dependencies: + indent-string: 4.0.0 + strip-indent: 3.0.0 + dev: true + /reflect-metadata@0.1.13: resolution: {integrity: sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==} dev: true @@ -5635,7 +6741,16 @@ packages: resolution: {integrity: sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==} hasBin: true dependencies: - is-core-module: 2.11.0 + is-core-module: 2.12.0 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + dev: true + + /resolve@1.22.2: + resolution: {integrity: sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==} + hasBin: true + dependencies: + is-core-module: 2.12.0 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 dev: true @@ -5695,7 +6810,7 @@ packages: /rxjs@7.8.0: resolution: {integrity: sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg==} dependencies: - tslib: 2.3.0 + tslib: 2.5.0 /safe-buffer@5.1.2: resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} @@ -5783,7 +6898,6 @@ packages: resolution: {integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==} hasBin: true dev: true - optional: true /semver@6.3.0: resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==} @@ -5798,6 +6912,14 @@ packages: lru-cache: 6.0.0 dev: true + /semver@7.4.0: + resolution: {integrity: sha512-RgOxM8Mw+7Zus0+zcLEUn8+JfoLpj/huFTItQy2hsM4khuC1HYRDp0cU482Ewn/Fcy6bCjufD8vAj7voC66KQw==} + engines: {node: '>=10'} + hasBin: true + dependencies: + lru-cache: 6.0.0 + dev: true + /send@0.18.0: resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==} engines: {node: '>= 0.8.0'} @@ -5902,17 +7024,31 @@ packages: dependencies: '@sigstore/protobuf-specs': 0.1.0 make-fetch-happen: 11.0.3 - tuf-js: 1.1.2 + tuf-js: 1.1.3 transitivePeerDependencies: - bluebird - supports-color dev: true + /slash@3.0.0: + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} + engines: {node: '>=8'} + dev: true + /slash@4.0.0: resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==} engines: {node: '>=12'} dev: true + /slice-ansi@4.0.0: + resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==} + engines: {node: '>=10'} + dependencies: + ansi-styles: 4.3.0 + astral-regex: 2.0.0 + is-fullwidth-code-point: 3.0.0 + dev: true + /smart-buffer@4.2.0: resolution: {integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==} engines: {node: '>= 6.0.0', npm: '>= 3.0.0'} @@ -6066,11 +7202,11 @@ packages: resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} dev: true - /ssri@10.0.1: - resolution: {integrity: sha512-WVy6di9DlPOeBWEjMScpNipeSX2jIZBGEn5Uuo8Q7aIuFEuDX0pw8RxcOjlD1TWP4obi24ki7m/13+nFpcbXrw==} + /ssri@10.0.3: + resolution: {integrity: sha512-lJtX/BFPI/VEtxZmLfeh7pzisIs6micwZ3eruD3+ds9aPsXKlYpwDS2Q7omD6WC42WO9+bnUSzlMmfv8uK8meg==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: - minipass: 4.2.5 + minipass: 4.2.8 dev: true /ssri@9.0.1: @@ -6134,6 +7270,134 @@ packages: engines: {node: '>=6'} dev: true + /strip-indent@3.0.0: + resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} + engines: {node: '>=8'} + dependencies: + min-indent: 1.0.1 + dev: true + + /strip-json-comments@3.1.1: + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} + engines: {node: '>=8'} + dev: true + + /style-search@0.1.0: + resolution: {integrity: sha512-Dj1Okke1C3uKKwQcetra4jSuk0DqbzbYtXipzFlFMZtowbF1x7BKJwB9AayVMyFARvU8EDrZdcax4At/452cAg==} + dev: true + + /stylelint-config-recommended-scss@10.0.0(postcss@8.4.21)(stylelint@15.4.0): + resolution: {integrity: sha512-+YvPgUHi0W5mCJCKdupBCIsWPYNbWuJcRmFtSYujwNg+41ljFknhO9bpY6C+oahv659zW7W1AT7i6DQvJYYr1A==} + peerDependencies: + postcss: ^8.3.3 + stylelint: ^15.3.0 + peerDependenciesMeta: + postcss: + optional: true + dependencies: + postcss: 8.4.21 + postcss-scss: 4.0.6(postcss@8.4.21) + stylelint: 15.4.0 + stylelint-config-recommended: 11.0.0(stylelint@15.4.0) + stylelint-scss: 4.6.0(stylelint@15.4.0) + dev: true + + /stylelint-config-recommended@11.0.0(stylelint@15.4.0): + resolution: {integrity: sha512-SoGIHNI748OCZn6BxFYT83ytWoYETCINVHV3LKScVAWQQauWdvmdDqJC5YXWjpBbxg2E761Tg5aUGKLFOVhEkA==} + peerDependencies: + stylelint: ^15.3.0 + dependencies: + stylelint: 15.4.0 + dev: true + + /stylelint-config-standard-scss@8.0.0(postcss@8.4.21)(stylelint@15.4.0): + resolution: {integrity: sha512-TDT/gJD/0LUDoUgkjF1uoI/4DfczXHxg7gJVcWT4/JbE6k5hszVuI14reNX+tEwSyMNhcK2BA7izrK+uVAz7XA==} + peerDependencies: + postcss: ^8.3.3 + stylelint: ^15.4.0 + peerDependenciesMeta: + postcss: + optional: true + dependencies: + postcss: 8.4.21 + stylelint: 15.4.0 + stylelint-config-recommended-scss: 10.0.0(postcss@8.4.21)(stylelint@15.4.0) + stylelint-config-standard: 32.0.0(stylelint@15.4.0) + dev: true + + /stylelint-config-standard@32.0.0(stylelint@15.4.0): + resolution: {integrity: sha512-UnGJxYDyYFrIE9CjDMZRkrNh2o4lOtO+MVZ9qG5b8yARfsWho0GMx4YvhHfsv8zKKgHeWX2wfeyxmuoqcaYZ4w==} + peerDependencies: + stylelint: ^15.4.0 + dependencies: + stylelint: 15.4.0 + stylelint-config-recommended: 11.0.0(stylelint@15.4.0) + dev: true + + /stylelint-scss@4.6.0(stylelint@15.4.0): + resolution: {integrity: sha512-M+E0BQim6G4XEkaceEhfVjP/41C9Klg5/tTPTCQVlgw/jm2tvB+OXJGaU0TDP5rnTCB62aX6w+rT+gqJW/uwjA==} + peerDependencies: + stylelint: ^14.5.1 || ^15.0.0 + dependencies: + dlv: 1.1.3 + postcss-media-query-parser: 0.2.3 + postcss-resolve-nested-selector: 0.1.1 + postcss-selector-parser: 6.0.11 + postcss-value-parser: 4.2.0 + stylelint: 15.4.0 + dev: true + + /stylelint@15.4.0: + resolution: {integrity: sha512-TlOvpG3MbcFwHmK0q2ykhmpKo7Dq892beJit0NPdpyY9b1tFah/hGhqnAz/bRm2PDhDbJLKvjzkEYYBEz7Dxcg==} + engines: {node: ^14.13.1 || >=16.0.0} + hasBin: true + dependencies: + '@csstools/css-parser-algorithms': 2.1.1(@csstools/css-tokenizer@2.1.1) + '@csstools/css-tokenizer': 2.1.1 + '@csstools/media-query-list-parser': 2.0.4(@csstools/css-parser-algorithms@2.1.1)(@csstools/css-tokenizer@2.1.1) + '@csstools/selector-specificity': 2.2.0(postcss-selector-parser@6.0.11) + balanced-match: 2.0.0 + colord: 2.9.3 + cosmiconfig: 8.1.3 + css-functions-list: 3.1.0 + css-tree: 2.3.1 + debug: 4.3.4 + fast-glob: 3.2.12 + fastest-levenshtein: 1.0.16 + file-entry-cache: 6.0.1 + global-modules: 2.0.0 + globby: 11.1.0 + globjoin: 0.1.4 + html-tags: 3.3.1 + ignore: 5.2.4 + import-lazy: 4.0.0 + imurmurhash: 0.1.4 + is-plain-object: 5.0.0 + known-css-properties: 0.27.0 + mathml-tag-names: 2.1.3 + meow: 9.0.0 + micromatch: 4.0.5 + normalize-path: 3.0.0 + picocolors: 1.0.0 + postcss: 8.4.21 + postcss-media-query-parser: 0.2.3 + postcss-resolve-nested-selector: 0.1.1 + postcss-safe-parser: 6.0.0(postcss@8.4.21) + postcss-selector-parser: 6.0.11 + postcss-value-parser: 4.2.0 + resolve-from: 5.0.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + style-search: 0.1.0 + supports-hyperlinks: 3.0.0 + svg-tags: 1.0.0 + table: 6.8.1 + v8-compile-cache: 2.3.0 + write-file-atomic: 5.0.0 + transitivePeerDependencies: + - supports-color + dev: true + /supports-color@5.5.0: resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} engines: {node: '>=4'} @@ -6155,28 +7419,71 @@ packages: has-flag: 4.0.0 dev: true + /supports-hyperlinks@3.0.0: + resolution: {integrity: sha512-QBDPHyPQDRTy9ku4URNGY5Lah8PAaXs6tAAwp55sL5WCsSW7GIfdf6W5ixfziW+t7wh3GVvHyHHyQ1ESsoRvaA==} + engines: {node: '>=14.18'} + dependencies: + has-flag: 4.0.0 + supports-color: 7.2.0 + dev: true + /supports-preserve-symlinks-flag@1.0.0: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} dev: true + /svg-tags@1.0.0: + resolution: {integrity: sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==} + dev: true + /symbol-observable@4.0.0: resolution: {integrity: sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ==} engines: {node: '>=0.10'} dev: true + /table@6.8.1: + resolution: {integrity: sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA==} + engines: {node: '>=10.0.0'} + dependencies: + ajv: 8.12.0 + lodash.truncate: 4.4.2 + slice-ansi: 4.0.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + dev: true + /tapable@2.2.1: resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} engines: {node: '>=6'} dev: true + /tar-fs@2.1.1: + resolution: {integrity: sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==} + dependencies: + chownr: 1.1.4 + mkdirp-classic: 0.5.3 + pump: 3.0.0 + tar-stream: 2.2.0 + dev: true + + /tar-stream@2.2.0: + resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==} + engines: {node: '>=6'} + dependencies: + bl: 4.1.0 + end-of-stream: 1.4.4 + fs-constants: 1.0.0 + inherits: 2.0.4 + readable-stream: 3.6.2 + dev: true + /tar@6.1.13: resolution: {integrity: sha512-jdIBIN6LTIe2jqzay/2vtYLlBHa3JF42ot3h1dW8Q0PaAG4v8rm0cvpVePtau5C6OKXGGcgO9q2AMNSWxiLqKw==} engines: {node: '>=10'} dependencies: chownr: 2.0.0 fs-minipass: 2.1.0 - minipass: 4.2.5 + minipass: 4.2.8 minizlib: 2.1.2 mkdirp: 1.0.4 yallist: 4.0.0 @@ -6198,12 +7505,12 @@ packages: uglify-js: optional: true dependencies: - '@jridgewell/trace-mapping': 0.3.17 + '@jridgewell/trace-mapping': 0.3.18 esbuild: 0.17.8 jest-worker: 27.5.1 schema-utils: 3.1.1 serialize-javascript: 6.0.1 - terser: 5.16.8 + terser: 5.16.9 webpack: 5.76.1(esbuild@0.17.8) dev: true @@ -6212,18 +7519,18 @@ packages: engines: {node: '>=10'} hasBin: true dependencies: - '@jridgewell/source-map': 0.3.2 + '@jridgewell/source-map': 0.3.3 acorn: 8.8.2 commander: 2.20.3 source-map-support: 0.5.21 dev: true - /terser@5.16.8: - resolution: {integrity: sha512-QI5g1E/ef7d+PsDifb+a6nnVgC4F22Bg6T0xrBrz6iloVB4PUkkunp6V8nzoOOZJIzjWVdAGqCdlKlhLq/TbIA==} + /terser@5.16.9: + resolution: {integrity: sha512-HPa/FdTB9XGI2H1/keLFZHxl6WNvAI4YalHGtDQTlMnJcoqSab1UwL4l1hGEhs6/GmLHBZIg/YgB++jcbzoOEg==} engines: {node: '>=10'} hasBin: true dependencies: - '@jridgewell/source-map': 0.3.2 + '@jridgewell/source-map': 0.3.3 acorn: 8.8.2 commander: 2.20.3 source-map-support: 0.5.21 @@ -6281,38 +7588,80 @@ packages: engines: {node: '>=0.6'} dev: true + /tr46@0.0.3: + resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} + dev: true + /tree-kill@1.2.2: resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} hasBin: true dev: true + /trim-newlines@3.0.1: + resolution: {integrity: sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==} + engines: {node: '>=8'} + dev: true + /tslib@1.14.1: resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} dev: true - /tslib@2.3.0: - resolution: {integrity: sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==} - /tslib@2.5.0: resolution: {integrity: sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==} + + /tsutils@3.21.0(typescript@4.9.5): + resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} + engines: {node: '>= 6'} + peerDependencies: + typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' + dependencies: + tslib: 1.14.1 + typescript: 4.9.5 dev: true - /tuf-js@1.1.2: - resolution: {integrity: sha512-gBfbnS6khluxjvoFCpRV0fhWT265xNfpiNXOcBX0Ze6HGbPhe93UG5V5DdKcgm/aXsMadnY76l/h6j63GmJS5g==} + /tuf-js@1.1.3: + resolution: {integrity: sha512-jGYi5nG/kqgfTFQSdoN6PW9eIn+XRZqdXku+fSwNk6UpWIsWaV7pzAqPgFr85edOPhoyJDyBqCS+DCnHroMvrw==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: - '@tufjs/models': 1.0.1 + '@tufjs/models': 1.0.2 make-fetch-happen: 11.0.3 transitivePeerDependencies: - bluebird - supports-color dev: true + /type-check@0.4.0: + resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} + engines: {node: '>= 0.8.0'} + dependencies: + prelude-ls: 1.2.1 + dev: true + + /type-fest@0.18.1: + resolution: {integrity: sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==} + engines: {node: '>=10'} + dev: true + + /type-fest@0.20.2: + resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} + engines: {node: '>=10'} + dev: true + /type-fest@0.21.3: resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} engines: {node: '>=10'} dev: true + /type-fest@0.6.0: + resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==} + engines: {node: '>=8'} + dev: true + + /type-fest@0.8.1: + resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} + engines: {node: '>=8'} + dev: true + /type-is@1.6.18: resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} engines: {node: '>= 0.6'} @@ -6325,14 +7674,21 @@ packages: resolution: {integrity: sha512-KNNZtayBCtmnNmbo5mG47p1XsCyrx6iVqomjcZnec/1Y5GGARaxPs6r49RnSPeUP3YjNYiU9sQHAtY4BBvnZwg==} dev: true - /typescript@4.9.4: - resolution: {integrity: sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg==} + /typescript@4.9.5: + resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==} engines: {node: '>=4.2.0'} hasBin: true dev: true - /ua-parser-js@0.7.34: - resolution: {integrity: sha512-cJMeh/eOILyGu0ejgTKB95yKT3zOenSe9UGE3vj6WfiOwgGYnmATUsnDixMFvdU+rNMvWih83hrUP8VwhF9yXQ==} + /ua-parser-js@0.7.35: + resolution: {integrity: sha512-veRf7dawaj9xaWEu9HoTVn5Pggtc/qj+kqTOFvNiN1l0YdxwC1kvel57UCjThjGa3BHBihE8/UJAHI+uQHmd/g==} + dev: true + + /unbzip2-stream@1.4.3: + resolution: {integrity: sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==} + dependencies: + buffer: 5.7.1 + through: 2.3.8 dev: true /unicode-canonical-property-names-ecmascript@2.0.0: @@ -6427,6 +7783,10 @@ packages: hasBin: true dev: true + /v8-compile-cache@2.3.0: + resolution: {integrity: sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==} + dev: true + /validate-npm-package-license@3.0.4: resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} dependencies: @@ -6471,6 +7831,10 @@ packages: defaults: 1.0.4 dev: true + /webidl-conversions@3.0.1: + resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} + dev: true + /webpack-dev-middleware@5.3.3(webpack@5.76.1): resolution: {integrity: sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==} engines: {node: '>= 12.13.0'} @@ -6478,7 +7842,7 @@ packages: webpack: ^4.0.0 || ^5.0.0 dependencies: colorette: 2.0.19 - memfs: 3.4.13 + memfs: 3.5.0 mime-types: 2.1.35 range-parser: 1.2.1 schema-utils: 4.0.0 @@ -6492,7 +7856,7 @@ packages: webpack: ^5.0.0 dependencies: colorette: 2.0.19 - memfs: 3.4.13 + memfs: 3.5.0 mime-types: 2.1.35 range-parser: 1.2.1 schema-utils: 4.0.0 @@ -6628,6 +7992,13 @@ packages: engines: {node: '>=0.8.0'} dev: true + /whatwg-url@5.0.0: + resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} + dependencies: + tr46: 0.0.3 + webidl-conversions: 3.0.1 + dev: true + /which@1.3.1: resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} hasBin: true @@ -6661,6 +8032,11 @@ packages: resolution: {integrity: sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==} dev: true + /word-wrap@1.2.3: + resolution: {integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==} + engines: {node: '>=0.10.0'} + dev: true + /wrap-ansi@7.0.0: resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} engines: {node: '>=10'} @@ -6674,6 +8050,14 @@ packages: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} dev: true + /write-file-atomic@5.0.0: + resolution: {integrity: sha512-R7NYMnHSlV42K54lwY9lvW6MnSm1HSJqZL3xiSgi9E7//FYaI74r2G0rd+/X6VAMkHEdzxQaU5HUOXWUz5kA/w==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + dependencies: + imurmurhash: 0.1.4 + signal-exit: 3.0.7 + dev: true + /ws@8.11.0: resolution: {integrity: sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==} engines: {node: '>=10.0.0'} @@ -6767,7 +8151,19 @@ packages: yargs-parser: 21.1.1 dev: true + /yauzl@2.10.0: + resolution: {integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==} + dependencies: + buffer-crc32: 0.2.13 + fd-slicer: 1.1.0 + dev: true + + /yocto-queue@0.1.0: + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} + engines: {node: '>=10'} + dev: true + /zone.js@0.12.0: resolution: {integrity: sha512-XtC+I5dXU14HrzidAKBNMqneIVUykLEAA1x+v4KVrd6AUPWlwYORF8KgsVqvgdHiKZ4BkxxjvYi/ksEixTPR0Q==} dependencies: - tslib: 2.3.0 + tslib: 2.5.0 diff --git a/src/app/app-routing.module.ts b/src/app/app-routing.module.ts index 0297262..14d57c9 100644 --- a/src/app/app-routing.module.ts +++ b/src/app/app-routing.module.ts @@ -1,10 +1,30 @@ import { NgModule } from '@angular/core'; import { RouterModule, Routes } from '@angular/router'; +import { NotFoundComponent } from './components/pages/404/not-found.component'; +import { HomeComponent } from './components/pages/home/home.component'; -const routes: Routes = []; +const routes: Routes = [ + { + path: '', + redirectTo: '/home', + pathMatch: 'full', + }, + { + path: 'home', + component: HomeComponent, + }, + { + path: '404', + component: NotFoundComponent, + }, + { + path: '**', + redirectTo: '404', + }, +]; @NgModule({ - imports: [RouterModule.forRoot(routes)], - exports: [RouterModule] + imports: [RouterModule.forRoot(routes)], + exports: [RouterModule], }) -export class AppRoutingModule { } +export class AppRoutingModule {} diff --git a/src/app/app.component.html b/src/app/app.component.html deleted file mode 100644 index 2a0fbf1..0000000 --- a/src/app/app.component.html +++ /dev/null @@ -1,484 +0,0 @@ - - - - - - - - - - - - - - -
- - -
- - - Rocket Ship - - - - - - - - - - {{ title }} app is running! - - - Rocket Ship Smoke - - - -
- - -

Resources

-

Here are some links to help you get started:

- - - - -

Next Steps

-

What do you want to do next with your app?

- - - -
- - - - - - - - - - - -
- - -
-
ng generate component xyz
-
ng add @angular/material
-
ng add @angular/pwa
-
ng add _____
-
ng test
-
ng build
-
- - - - - - - - - Gray Clouds Background - - - -
- - - - - - - - - - diff --git a/src/app/app.component.scss b/src/app/app.component.scss deleted file mode 100644 index e69de29..0000000 diff --git a/src/app/app.component.spec.ts b/src/app/app.component.spec.ts index 073a716..8f50dd7 100644 --- a/src/app/app.component.spec.ts +++ b/src/app/app.component.spec.ts @@ -1,35 +1,82 @@ -import { TestBed } from '@angular/core/testing'; -import { RouterTestingModule } from '@angular/router/testing'; +import { ComponentFixture, TestBed } from '@angular/core/testing'; +import { TranslateLoader, TranslateModule, TranslateService } from '@ngx-translate/core'; import { AppComponent } from './app.component'; +import { ComponentsModule } from './components/components.module'; +import { HttpClientModule, HttpClient } from '@angular/common/http'; +import { BrowserModule } from '@angular/platform-browser'; +import { AppRoutingModule } from './app-routing.module'; +import { HttpLoaderFactory } from 'src/utils'; describe('AppComponent', () => { - beforeEach(async () => { - await TestBed.configureTestingModule({ - imports: [ - RouterTestingModule - ], - declarations: [ - AppComponent - ], - }).compileComponents(); - }); - - it('should create the app', () => { - const fixture = TestBed.createComponent(AppComponent); - const app = fixture.componentInstance; - expect(app).toBeTruthy(); - }); - - it(`should have as title 'sith'`, () => { - const fixture = TestBed.createComponent(AppComponent); - const app = fixture.componentInstance; - expect(app.title).toEqual('sith'); - }); - - it('should render title', () => { - const fixture = TestBed.createComponent(AppComponent); - fixture.detectChanges(); - const compiled = fixture.nativeElement as HTMLElement; - expect(compiled.querySelector('.content span')?.textContent).toContain('sith app is running!'); - }); + let component: AppComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [AppComponent], + imports: [ + AppRoutingModule, + BrowserModule, + ComponentsModule, + HttpClientModule, + TranslateModule.forRoot({ + defaultLanguage: 'en-US', + loader: { + provide: TranslateLoader, + useFactory: HttpLoaderFactory, + deps: [HttpClient], + }, + }), + ], + providers: [Document, TranslateService], + }).compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(AppComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create the app', () => { + expect(component).toBeTruthy(); + }); + + it('should detect the browser language', () => { + spyOnProperty(window.navigator, 'language', 'get').and.returnValue('fr-FR'); + spyOn(localStorage, 'getItem').and.returnValue(null); + spyOn(localStorage, 'setItem'); + + component.detectLanguage(); + + expect(localStorage.setItem).toHaveBeenCalledWith('lang', 'fr-FR'); + expect(component.document.documentElement.lang).toEqual('fr-FR'); + expect(component.document.documentElement.dir).toEqual('ltr'); + expect(component.translate.currentLang).toEqual('fr-FR'); + }); + + it('should use the stored language preference if available', () => { + spyOn(localStorage, 'getItem').and.returnValue('fr-FR'); + spyOn(localStorage, 'setItem'); + + component.detectLanguage(); + + expect(localStorage.setItem).toHaveBeenCalledWith('lang', 'fr-FR'); + expect(component.document.documentElement.lang).toEqual('fr-FR'); + expect(component.document.documentElement.dir).toEqual('ltr'); + expect(component.translate.currentLang).toEqual('fr-FR'); + }); + + it('should fallback to en-US if the browser language is not supported', () => { + spyOn(localStorage, 'getItem').and.returnValue(null); + spyOn(localStorage, 'setItem'); + spyOnProperty(window.navigator, 'language', 'get').and.returnValue('unsupported-lang'); + + component.detectLanguage(); + + expect(localStorage.setItem).toHaveBeenCalledWith('lang', 'en-US'); + expect(component.document.documentElement.lang).toEqual('en-US'); + expect(component.document.documentElement.dir).toEqual('ltr'); + expect(component.translate.currentLang).toEqual('en-US'); + }); }); diff --git a/src/app/app.component.ts b/src/app/app.component.ts index 538f227..264c7c5 100644 --- a/src/app/app.component.ts +++ b/src/app/app.component.ts @@ -1,10 +1,37 @@ -import { Component } from '@angular/core'; +import { Component, Inject } from '@angular/core'; +import { DOCUMENT } from '@angular/common'; +import { TranslateService } from '@ngx-translate/core'; +import { getLanguage, getLanguageDirection } from 'src/utils'; @Component({ - selector: 'app-root', - templateUrl: './app.component.html', - styleUrls: ['./app.component.scss'] + selector: 'app-root', + template: '', + styleUrls: [], }) export class AppComponent { - title = 'sith4'; + public title = 'sith4'; + + public constructor( + @Inject(TranslateService) public readonly translate: TranslateService, + @Inject(DOCUMENT) public readonly document: Document, + ) {} + + public ngOnInit(): void { + this.detectLanguage(); + } + + /** + * Detects the language of the browser and sets it as current language. + * If the language is not supported, it will be set to English. + */ + public detectLanguage(): void { + this.translate.setDefaultLang('en-US'); + const lang = localStorage.getItem('lang') ?? getLanguage(window.navigator.language); + + this.document.documentElement.lang = lang; + this.document.documentElement.dir = getLanguageDirection(lang); + this.translate.use(lang); + this.translate.currentLang = lang; // because ngx-translate doesn't set it automatically + localStorage.setItem('lang', lang); + } } diff --git a/src/app/app.module.ts b/src/app/app.module.ts index b1c6c96..d668660 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -3,16 +3,28 @@ import { BrowserModule } from '@angular/platform-browser'; import { AppRoutingModule } from './app-routing.module'; import { AppComponent } from './app.component'; +import { HttpClient, HttpClientModule } from '@angular/common/http'; +import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; +import { ComponentsModule } from './components/components.module'; +import { HttpLoaderFactory } from 'src/utils'; @NgModule({ - declarations: [ - AppComponent - ], - imports: [ - BrowserModule, - AppRoutingModule - ], - providers: [], - bootstrap: [AppComponent] + declarations: [AppComponent], + imports: [ + AppRoutingModule, + BrowserModule, + ComponentsModule, + HttpClientModule, + TranslateModule.forRoot({ + defaultLanguage: 'en-US', + loader: { + provide: TranslateLoader, + useFactory: HttpLoaderFactory, + deps: [HttpClient], + }, + }), + ], + providers: [], + bootstrap: [AppComponent], }) -export class AppModule { } +export class AppModule {} diff --git a/src/app/components/common/common.module.ts b/src/app/components/common/common.module.ts new file mode 100644 index 0000000..2dfaa50 --- /dev/null +++ b/src/app/components/common/common.module.ts @@ -0,0 +1,11 @@ +import { NgModule } from '@angular/core'; +import { IconsModule } from './icons/icons.module'; +import { SelectComponent } from './select/select.component'; +import { CommonModule } from '@angular/common'; + +@NgModule({ + declarations: [SelectComponent], + exports: [IconsModule, SelectComponent], + imports: [IconsModule, CommonModule], +}) +export class CommonComponentsModule {} diff --git a/src/app/components/common/icons/expand_less/expand_less.svg b/src/app/components/common/icons/expand_less/expand_less.svg new file mode 100644 index 0000000..143fb9b --- /dev/null +++ b/src/app/components/common/icons/expand_less/expand_less.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/app/components/common/icons/expand_less/expand_less.ts b/src/app/components/common/icons/expand_less/expand_less.ts new file mode 100644 index 0000000..12c8e79 --- /dev/null +++ b/src/app/components/common/icons/expand_less/expand_less.ts @@ -0,0 +1,8 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'icon-expand-less', + templateUrl: './expand_less.svg', + styleUrls: ['../icons.scss'], +}) +export class IconExpandLessComponent {} diff --git a/src/app/components/common/icons/expand_more/expand_more.svg b/src/app/components/common/icons/expand_more/expand_more.svg new file mode 100644 index 0000000..bf01c16 --- /dev/null +++ b/src/app/components/common/icons/expand_more/expand_more.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/app/components/common/icons/expand_more/expand_more.ts b/src/app/components/common/icons/expand_more/expand_more.ts new file mode 100644 index 0000000..6f1270e --- /dev/null +++ b/src/app/components/common/icons/expand_more/expand_more.ts @@ -0,0 +1,8 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'icon-expand-more', + templateUrl: './expand_more.svg', + styleUrls: ['../icons.scss'], +}) +export class IconExpandMoreComponent {} diff --git a/src/app/components/common/icons/icons.module.ts b/src/app/components/common/icons/icons.module.ts new file mode 100644 index 0000000..6767626 --- /dev/null +++ b/src/app/components/common/icons/icons.module.ts @@ -0,0 +1,10 @@ +import { NgModule } from '@angular/core'; +import { IconExpandLessComponent } from './expand_less/expand_less'; +import { IconExpandMoreComponent } from './expand_more/expand_more'; + +@NgModule({ + declarations: [IconExpandLessComponent, IconExpandMoreComponent], + exports: [IconExpandLessComponent, IconExpandMoreComponent], + imports: [], +}) +export class IconsModule {} diff --git a/src/app/components/common/icons/icons.scss b/src/app/components/common/icons/icons.scss new file mode 100644 index 0000000..931d05c --- /dev/null +++ b/src/app/components/common/icons/icons.scss @@ -0,0 +1,4 @@ +svg { + max-width: 100%; + max-height: 100%; +} diff --git a/src/app/components/common/select/select.component.spec.ts b/src/app/components/common/select/select.component.spec.ts new file mode 100644 index 0000000..8c4e0d2 --- /dev/null +++ b/src/app/components/common/select/select.component.spec.ts @@ -0,0 +1,118 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; +import { By } from '@angular/platform-browser'; +import { DebugElement } from '@angular/core'; + +import { SelectComponent, ISelectOption } from './select.component'; +import { IconsModule } from '../icons/icons.module'; + +describe('SelectComponent', () => { + let component: SelectComponent; + let fixture: ComponentFixture; + let button: DebugElement; + let dropdown: DebugElement; + + const unsortedOptions: ISelectOption[] = [ + { label: 'Option 1', value: '1' }, + { label: 'Option 3', value: '3' }, + { label: 'Option 2', value: '2' }, + ]; + + const sortedOptions: ISelectOption[] = [ + { label: 'Option 1', value: '1' }, + { label: 'Option 2', value: '2' }, + { label: 'Option 3', value: '3' }, + ]; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [SelectComponent], + imports: [IconsModule], + }).compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(SelectComponent); + component = fixture.componentInstance; + component.options = unsortedOptions; + fixture.detectChanges(); + + button = fixture.debugElement.query(By.css('.selector')); + dropdown = fixture.debugElement.query(By.css('.dropdown')); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); + + it('should toggle dropdown visibility on button click', () => { + expect(component.dropdownVisible).toBeFalse(); + + button.nativeElement.click(); + fixture.detectChanges(); + expect(component.dropdownVisible).toBeTrue(); + + button.nativeElement.click(); + fixture.detectChanges(); + expect(component.dropdownVisible).toBeFalse(); + }); + + it('should sort options by label', () => { + expect(component.sortOptions()).toEqual(sortedOptions); + }); + + it('should select option and emit value', () => { + const selectedOption = sortedOptions[1]; + const dropdownVisible = component.dropdownVisible; + spyOn(component.optionSelected, 'emit'); + expect(component.selectedOption).toEqual(component.DEFAULT_OPTION); + + component.selectOption(selectedOption); + expect(component.selectedOption).toEqual(selectedOption); + expect(component.optionSelected.emit).toHaveBeenCalledWith(selectedOption.value); + expect(component.dropdownVisible).toEqual(!dropdownVisible); + }); + + it('should display selected option label and image', () => { + const selectedOption = sortedOptions[1]; + const selectedOptionWithImage = { ...selectedOption, image: 'assets/flags/en-GB.svg' }; + + component.selectedOption = selectedOption; + fixture.detectChanges(); + + const label = fixture.debugElement.query(By.css('.label')); + let image = fixture.debugElement.query(By.css('.image')); + + expect(label.nativeElement.textContent).toEqual(selectedOption.label); + expect(image).toBeNull(); + + component.selectedOption = selectedOptionWithImage; + fixture.detectChanges(); + image = fixture.debugElement.query(By.css('.image')); + + expect(label.nativeElement.textContent).toEqual(selectedOptionWithImage.label); + expect(image.nativeElement.getAttribute('src')).toEqual(selectedOptionWithImage.image); + }); + + it('should display dropdown options and select option on click', () => { + const selectedOption = sortedOptions[1]; + spyOn(component, 'selectOption'); + expect(component.dropdownVisible).toBeFalse(); + expect(dropdown).toBeNull(); + + button.nativeElement.click(); + fixture.detectChanges(); + + dropdown = fixture.debugElement.query(By.css('.dropdown')); + const optionsElements = fixture.debugElement.queryAll(By.css('.item')); + + expect(dropdown).not.toBeNull(); + expect(component.dropdownVisible).toBeTrue(); + expect(optionsElements.length).toEqual(sortedOptions.length); + + optionsElements[1].nativeElement.click(); + fixture.detectChanges(); + dropdown = fixture.debugElement.query(By.css('.dropdown')); + + expect(component.selectOption).toHaveBeenCalledWith(selectedOption); + }); +}); diff --git a/src/app/components/common/select/select.component.ts b/src/app/components/common/select/select.component.ts new file mode 100644 index 0000000..aeb514b --- /dev/null +++ b/src/app/components/common/select/select.component.ts @@ -0,0 +1,57 @@ +import { Component, EventEmitter, Input, Output } from '@angular/core'; +import { isRTL } from 'src/utils'; + +export interface ISelectOption { + image?: string; + label: string; + value: string; +} + +@Component({ + selector: 'app-select', + templateUrl: './select.html', + styleUrls: ['./select.scss'], +}) +export class SelectComponent { + public readonly DEFAULT_OPTION: ISelectOption = { + label: '', + value: '', + }; + + public dropdownVisible = false; + + /** Options to display in the dropdown */ + @Input() public options: ISelectOption[] = []; + /** The currently selected option */ + @Input() public selectedOption: ISelectOption = this.DEFAULT_OPTION; + /** Emit an event with a string being the `value` of the selected option */ + @Output() public optionSelected = new EventEmitter(); + + public get isRTL(): boolean { + return isRTL(); + } + /** + * Displays or hides the dropdown. + */ + public toggleDropdown() { + this.dropdownVisible = !this.dropdownVisible; + } + + /** + * Sort the options by their label. + * @returns {ISelectOption[]} the sorted options + */ + public sortOptions(): ISelectOption[] { + return this.options.sort((a, b) => a.label.localeCompare(b.label)); + } + + /** + * Selects an option and emits the value of the option. + * @param {ISelectOption} option the option to select + */ + public selectOption(option: ISelectOption) { + this.selectedOption = option; + this.optionSelected.emit(option.value); + this.toggleDropdown(); + } +} diff --git a/src/app/components/common/select/select.html b/src/app/components/common/select/select.html new file mode 100644 index 0000000..75ffecf --- /dev/null +++ b/src/app/components/common/select/select.html @@ -0,0 +1,16 @@ +
+ + +
diff --git a/src/app/components/common/select/select.scss b/src/app/components/common/select/select.scss new file mode 100644 index 0000000..dfdfcba --- /dev/null +++ b/src/app/components/common/select/select.scss @@ -0,0 +1,111 @@ +$height: 26px; +$border-radius: 5px; +$icon-size: 20px; +$padding: 5px; +$background-color: #161b22; +$background-color-hover: #1e242e; +$text-color: #fff; + +.select { + width: 100%; + height: $height; + position: relative; + + > .selector { + cursor: pointer; + position: relative; + background-color: $background-color; + border: 0; + border-radius: $border-radius; + display: flex; + flex-direction: row; + height: $height; + width: 100%; + align-items: center; + justify-content: space-between; + padding: $padding; + + &.active { + border-radius: $border-radius $border-radius 0 0; + } + + > .content { + height: 100%; + display: flex; + flex-direction: row; + gap: $padding; + align-items: center; + + > .image { + width: 16px; + height: 16px; + border-radius: 50%; + } + + > .label { + font-family: Inter, sans-serif; + font-size: 12px; + color: $text-color; + } + } + + > .icon { + position: absolute; + display: block; + fill: $text-color; + height: $icon-size; + width: $icon-size; + right: calc(($height - $icon-size) / 2); + top: calc(($height - $icon-size) / 2); + + &.rtl { + right: unset; + left: calc(($height - $icon-size) / 2); + } + } + } + + > .dropdown { + position: absolute; + top: $height; + background-color: $background-color; + width: 100%; + margin: 0; + padding: 0; + border-top: 1px solid var(--user-custom-color); + border-radius: 0 0 $border-radius $border-radius; + max-height: 200px; + overflow-y: scroll; + + > .item { + cursor: pointer; + list-style-type: none; + height: $height; + padding: $padding; + display: flex; + flex-direction: row; + gap: $padding; + align-items: center; + + &:hover { + background-color: $background-color-hover; + + &:last-of-type { + border-radius: 0 0 $border-radius $border-radius; + } + } + + > .image { + width: 16px; + height: 16px; + object-fit: contain; + } + + > .label { + font-family: Inter, sans-serif; + font-size: 12px; + color: $text-color; + } + } + } +} diff --git a/src/app/components/components.module.ts b/src/app/components/components.module.ts new file mode 100644 index 0000000..6982d5c --- /dev/null +++ b/src/app/components/components.module.ts @@ -0,0 +1,9 @@ +import { NgModule } from '@angular/core'; +import { PagesModule } from './pages/pages.module'; + +@NgModule({ + declarations: [], + exports: [PagesModule], + imports: [], +}) +export class ComponentsModule {} diff --git a/src/app/components/desktop/desktop.module.ts b/src/app/components/desktop/desktop.module.ts new file mode 100644 index 0000000..7910453 --- /dev/null +++ b/src/app/components/desktop/desktop.module.ts @@ -0,0 +1,11 @@ +import { CommonModule } from '@angular/common'; +import { NgModule } from '@angular/core'; +import { TranslateModule } from '@ngx-translate/core'; +import { CommonComponentsModule } from '../common/common.module'; + +@NgModule({ + declarations: [], + exports: [], + imports: [CommonModule, CommonComponentsModule, TranslateModule], +}) +export class DesktopComponentsModule {} diff --git a/src/app/components/mobile/lang-selector/lang-selector.component.spec.ts b/src/app/components/mobile/lang-selector/lang-selector.component.spec.ts new file mode 100644 index 0000000..ad6cc44 --- /dev/null +++ b/src/app/components/mobile/lang-selector/lang-selector.component.spec.ts @@ -0,0 +1,108 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; +import { TranslateModule, TranslateService } from '@ngx-translate/core'; +import { MobileLangSelectorComponent } from './lang-selector.component'; +import { MobileComponentsModule } from '../mobile.module'; +import { ISelectOption } from '../../common/select/select.component'; +import { getLanguage } from 'src/utils'; + +describe('MobileLangSelectorComponent', () => { + let component: MobileLangSelectorComponent; + let fixture: ComponentFixture; + let translateService: TranslateService; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [MobileLangSelectorComponent], + imports: [TranslateModule.forRoot(), MobileComponentsModule], + providers: [Document, TranslateService], + }).compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(MobileLangSelectorComponent); + component = fixture.componentInstance; + translateService = TestBed.inject(TranslateService); + fixture.detectChanges(); + }); + + afterEach(() => { + localStorage.removeItem('lang'); + }); + + it('should create the component', () => { + expect(component).toBeTruthy(); + }); + + it('should return the language from the getLanguage method if no language is stored in localStorage', () => { + localStorage.removeItem('lang'); + expect(component.lang).toEqual(getLanguage(window.navigator.language)); + }); + + describe('getLang()', () => { + it('should return the selected language from localStorage', () => { + localStorage.setItem('lang', 'fr-FR'); + const expectedLang: ISelectOption = { + label: 'Français', + value: 'fr-FR', + image: 'assets/flags/fr-FR.svg', + }; + expect(component.getLang()).toEqual(expectedLang); + }); + + it('should return the browser language if no language is stored in localStorage', () => { + spyOnProperty(window.navigator, 'language').and.returnValue('es-ES'); + const expectedLang: ISelectOption = { + label: 'Español', + value: 'es-ES', + image: 'assets/flags/es-ES.svg', + }; + expect(component.getLang()).toEqual(expectedLang); + }); + + it('should return the default language if the selected language is not in the LANGUAGES array', () => { + localStorage.setItem('lang', 'does-not-exist'); + const expectedLang: ISelectOption = { + label: 'English', + value: 'en-US', + image: 'assets/flags/en-GB.svg', + }; + expect(component.getLang()).toEqual(expectedLang); + }); + }); + + describe('selectLangage(lang)', () => { + it('should set the selected language and update the translate service', () => { + spyOn(localStorage, 'setItem'); + spyOn(translateService, 'use'); + + component.selectLangage('es-ES'); + + expect(localStorage.setItem).toHaveBeenCalledWith('lang', 'es-ES'); + expect(translateService.use).toHaveBeenCalledWith('es-ES'); + }); + + it('should set the document language attribute to the selected language', () => { + spyOnProperty(document.documentElement, 'lang', 'set').and.callThrough(); + + component.selectLangage('es-ES'); + + expect(document.documentElement.lang).toBe('es-ES'); + }); + + it('should set the document direction attribute to rtl if the selected language should be read from right to left', () => { + spyOnProperty(document.documentElement, 'dir', 'set').and.callThrough(); + + component.selectLangage('ar-SA'); + + expect(document.documentElement.dir).toBe('rtl'); + }); + + it('should set the document direction attribute to ltr if the selected language is unknown', () => { + spyOnProperty(document.documentElement, 'dir', 'set').and.callThrough(); + + component.selectLangage('does-not-exist'); + + expect(document.documentElement.dir).toBe('ltr'); + }); + }); +}); diff --git a/src/app/components/mobile/lang-selector/lang-selector.component.ts b/src/app/components/mobile/lang-selector/lang-selector.component.ts new file mode 100644 index 0000000..af9caa3 --- /dev/null +++ b/src/app/components/mobile/lang-selector/lang-selector.component.ts @@ -0,0 +1,66 @@ +import { Component, Inject } from '@angular/core'; +import { TranslateService } from '@ngx-translate/core'; +import { getLanguage, getLanguageCompletion, getLanguageDirection, LANGUAGES } from 'src/utils'; +import { ISelectOption } from '../../common/select/select.component'; +import { Observable } from 'rxjs'; + +@Component({ + selector: 'app-mobile-lang-selector', + templateUrl: './lang-selector.html', + styleUrls: ['./lang-selector.scss'], +}) +export class MobileLangSelectorComponent { + public lang: string = localStorage.getItem('lang') ?? getLanguage(window.navigator.language); + + public langs: ISelectOption[] = LANGUAGES.map((lang) => ({ + value: lang.filename, + label: lang.label, + image: lang.image, + })); + + public langsCompletion: Array<[string, Observable]> = this.langs.map((lang) => [ + lang.label, + getLanguageCompletion(lang.value), + ]); + + public constructor(@Inject(TranslateService) private readonly translate: TranslateService) { + this.langsCompletion.forEach(([lang, completion$]) => { + completion$.subscribe((completion) => { + const found: ISelectOption | undefined = this.langs.find((l) => l.label === lang); + if (found) found.label = `${lang} (${completion}%)`; + }); + }); + } + + /** + * Select a language and redirect to the same page + * @param {string} lang The language to select + */ + public selectLangage(lang: string): void { + this.lang = getLanguage(lang); + document.documentElement.lang = this.lang; + document.documentElement.dir = getLanguageDirection(lang); + this.translate.use(this.lang); + this.translate.currentLang = this.lang; // because ngx-translate doesn't set it automatically + localStorage.setItem('lang', this.lang); + } + + /** + * Get the stored language within the local storage or the browser language if not found + * @returns {ISelectOption} The found language or the default one (English) + */ + public getLang(): ISelectOption { + const code: string = localStorage.getItem('lang') ?? getLanguage(window.navigator.language); + return ( + LANGUAGES.map((lang) => ({ + label: lang.label, + value: lang.filename, + image: lang.image, + })).find((lang) => lang.value === code) ?? { + label: 'English', + value: 'en-US', + image: 'assets/flags/en-GB.svg', + } + ); + } +} diff --git a/src/app/components/mobile/lang-selector/lang-selector.html b/src/app/components/mobile/lang-selector/lang-selector.html new file mode 100644 index 0000000..8241bfb --- /dev/null +++ b/src/app/components/mobile/lang-selector/lang-selector.html @@ -0,0 +1,7 @@ + diff --git a/src/app/components/mobile/lang-selector/lang-selector.scss b/src/app/components/mobile/lang-selector/lang-selector.scss new file mode 100644 index 0000000..a1c7fee --- /dev/null +++ b/src/app/components/mobile/lang-selector/lang-selector.scss @@ -0,0 +1,36 @@ +$link-color: #0d80c8; + +.selector { + width: 100%; + height: 75px; + display: flex; + flex-direction: column; + gap: 10px; + + > div { + display: flex; + flex-direction: column; + gap: 2px; + + .link { + width: fit-content; + margin: 0 auto; + color: $link-color; + height: 16px; + text-decoration: none; + font-family: Inter, sans-serif; + font-size: 10px; + font-style: italic; + font-weight: 400; + line-height: 12px; + text-align: center; + cursor: pointer; + + &:hover { + text-decoration: underline; + } + } + } +} + + diff --git a/src/app/components/mobile/mobile.module.ts b/src/app/components/mobile/mobile.module.ts new file mode 100644 index 0000000..44b60db --- /dev/null +++ b/src/app/components/mobile/mobile.module.ts @@ -0,0 +1,13 @@ +import { NgModule } from '@angular/core'; +import { MobileLangSelectorComponent } from './lang-selector/lang-selector.component'; +import { MobileSubtitleComponent } from './subtitle/subtitle.component'; +import { CommonModule } from '@angular/common'; +import { CommonComponentsModule } from '../common/common.module'; +import { TranslateModule } from '@ngx-translate/core'; + +@NgModule({ + declarations: [MobileLangSelectorComponent, MobileSubtitleComponent], + exports: [MobileLangSelectorComponent, MobileSubtitleComponent], + imports: [CommonModule, CommonComponentsModule, TranslateModule], +}) +export class MobileComponentsModule {} diff --git a/src/app/components/mobile/subtitle/subtitle.component.spec.ts b/src/app/components/mobile/subtitle/subtitle.component.spec.ts new file mode 100644 index 0000000..0aebf4e --- /dev/null +++ b/src/app/components/mobile/subtitle/subtitle.component.spec.ts @@ -0,0 +1,45 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; +import { MobileSubtitleComponent } from './subtitle.component'; + +describe('MobileSubtitleComponent', () => { + let component: MobileSubtitleComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [MobileSubtitleComponent], + }).compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(MobileSubtitleComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create the component', () => { + expect(component).toBeTruthy(); + }); + + it('should render text', () => { + const text = 'Hello World'; + component.text = text; + fixture.detectChanges(); + const element = fixture.nativeElement.querySelector('h2'); + expect(element.textContent.trim()).toBe(text); + }); + + it('should add bordered class when bordered input is true', () => { + component.bordered = true; + fixture.detectChanges(); + const element = fixture.nativeElement.querySelector('h2'); + expect(element.classList.contains('bordered')).toBe(true); + }); + + it('should add dark-mode class when onDarkBackground input is true', () => { + component.onDarkBackground = true; + fixture.detectChanges(); + const element = fixture.nativeElement.querySelector('h2'); + expect(element.classList.contains('dark-mode')).toBe(true); + }); +}); diff --git a/src/app/components/mobile/subtitle/subtitle.component.ts b/src/app/components/mobile/subtitle/subtitle.component.ts new file mode 100644 index 0000000..347a135 --- /dev/null +++ b/src/app/components/mobile/subtitle/subtitle.component.ts @@ -0,0 +1,17 @@ +import { Component, Input } from '@angular/core'; +import { isRTL } from 'src/utils/document'; + +@Component({ + selector: 'app-mobile-subtitle', + templateUrl: './subtitle.html', + styleUrls: ['./subtitle.scss'], +}) +export class MobileSubtitleComponent { + @Input() public text = ''; + @Input() public bordered = false; + @Input() public onDarkBackground = false; + + public get isRTL(): boolean { + return isRTL(); + } +} diff --git a/src/app/components/mobile/subtitle/subtitle.html b/src/app/components/mobile/subtitle/subtitle.html new file mode 100644 index 0000000..c4b2427 --- /dev/null +++ b/src/app/components/mobile/subtitle/subtitle.html @@ -0,0 +1 @@ +

{{ text }}

diff --git a/src/app/components/mobile/subtitle/subtitle.scss b/src/app/components/mobile/subtitle/subtitle.scss new file mode 100644 index 0000000..e928568 --- /dev/null +++ b/src/app/components/mobile/subtitle/subtitle.scss @@ -0,0 +1,36 @@ +$text-color: #000; +$dark-mode-text-color: #fff; + +h2 { + font-family: Inter, sans-serif; + font-style: normal; + font-weight: 400; + font-size: 12px; + line-height: 15px; + text-transform: uppercase; + margin: 0; +} + +.bordered { + border-left: 4px solid $text-color; + padding-left: 6px; + + &.rtl { + border-left: none !important; + padding-left: 0 !important; + border-right: 4px solid $text-color; + padding-right: 6px; + + &.dark-mode { + border-right: 4px solid $dark-mode-text-color; + } + } + + &.dark-mode { + border-left: 4px solid $dark-mode-text-color; + } +} + +.dark-mode { + color: $dark-mode-text-color; +} diff --git a/src/app/components/pages/404/not-found.component.ts b/src/app/components/pages/404/not-found.component.ts new file mode 100644 index 0000000..9eeeb42 --- /dev/null +++ b/src/app/components/pages/404/not-found.component.ts @@ -0,0 +1,8 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'app-not-found', + templateUrl: './not-found.html', + styleUrls: [], +}) +export class NotFoundComponent {} diff --git a/src/app/components/pages/404/not-found.html b/src/app/components/pages/404/not-found.html new file mode 100644 index 0000000..ffa6f66 --- /dev/null +++ b/src/app/components/pages/404/not-found.html @@ -0,0 +1 @@ +

404

diff --git a/src/app/components/pages/home/home.component.ts b/src/app/components/pages/home/home.component.ts new file mode 100644 index 0000000..03fc17a --- /dev/null +++ b/src/app/components/pages/home/home.component.ts @@ -0,0 +1,8 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'app-home', + templateUrl: './home.html', + styleUrls: [], +}) +export class HomeComponent {} diff --git a/src/app/components/pages/home/home.html b/src/app/components/pages/home/home.html new file mode 100644 index 0000000..fa564a3 --- /dev/null +++ b/src/app/components/pages/home/home.html @@ -0,0 +1 @@ + diff --git a/src/app/components/pages/pages.module.ts b/src/app/components/pages/pages.module.ts new file mode 100644 index 0000000..7a4513a --- /dev/null +++ b/src/app/components/pages/pages.module.ts @@ -0,0 +1,15 @@ +import { NgModule } from '@angular/core'; +import { HomeComponent } from './home/home.component'; +import { NotFoundComponent } from './404/not-found.component'; +import { CommonModule } from '@angular/common'; +import { CommonComponentsModule } from '../common/common.module'; +import { MobileComponentsModule } from '../mobile/mobile.module'; +import { TranslateModule } from '@ngx-translate/core'; +import { DesktopComponentsModule } from '../desktop/desktop.module'; + +@NgModule({ + declarations: [NotFoundComponent, HomeComponent], + exports: [NotFoundComponent, HomeComponent], + imports: [CommonModule, TranslateModule, CommonComponentsModule, MobileComponentsModule, DesktopComponentsModule], +}) +export class PagesModule {} diff --git a/src/app/styles/inter.scss b/src/app/styles/inter.scss new file mode 100644 index 0000000..b303f90 --- /dev/null +++ b/src/app/styles/inter.scss @@ -0,0 +1,62 @@ +@font-face { + font-family: Inter; + src: '../assets/fonts/Inter/Inter-Thin.ttf' format('truetype'); + font-weight: 100; + font-style: normal; +} + +@font-face { + font-family: Inter; + src: '../assets/fonts/Inter/Inter-ExtraLight.ttf' format('truetype'); + font-weight: 200; + font-style: normal; +} + +@font-face { + font-family: Inter; + src: '../assets/fonts/Inter/Inter-Light.ttf' format('truetype'); + font-weight: 300; + font-style: normal; +} + +@font-face { + font-family: Inter; + src: '../assets/fonts/Inter/Inter-Regular.ttf' format('truetype'); + font-weight: 400; + font-style: normal; +} + +@font-face { + font-family: Inter; + src: '../assets/fonts/Inter/Inter-Medium.ttf' format('truetype'); + font-weight: 500; + font-style: normal; +} + +@font-face { + font-family: Inter; + src: '../assets/fonts/Inter/Inter-SemiBold.ttf' format('truetype'); + font-weight: 600; + font-style: normal; +} + +@font-face { + font-family: Inter; + src: '../assets/fonts/Inter/Inter-Bold.ttf' format('truetype'); + font-weight: 700; + font-style: normal; +} + +@font-face { + font-family: Inter; + src: '../assets/fonts/Inter/Inter-ExtraBold.ttf' format('truetype'); + font-weight: 800; + font-style: normal; +} + +@font-face { + font-family: Inter; + src: '../assets/fonts/Inter/Inter-Black.ttf' format('truetype'); + font-weight: 900; + font-style: normal; +} diff --git a/src/app/styles/roboto.scss b/src/app/styles/roboto.scss new file mode 100644 index 0000000..fbcb8bb --- /dev/null +++ b/src/app/styles/roboto.scss @@ -0,0 +1,83 @@ +@font-face { + font-family: Roboto; + src: '../assets/fonts/Roboto/Roboto-Thin.ttf' format('truetype'); + font-weight: 100; + font-style: normal; +} + +@font-face { + font-family: Roboto; + src: '../assets/fonts/Roboto/Roboto-ThinItalic.ttf' format('truetype'); + font-weight: 100; + font-style: italic; +} + +@font-face { + font-family: Roboto; + src: '../assets/fonts/Roboto/Roboto-Light.ttf' format('truetype'); + font-weight: 300; + font-style: normal; +} + +@font-face { + font-family: Roboto; + src: '../assets/fonts/Roboto/Roboto-LightItalic.ttf' format('truetype'); + font-weight: 300; + font-style: italic; +} + +@font-face { + font-family: Roboto; + src: '../assets/fonts/Roboto/Roboto-Regular.ttf' format('truetype'); + font-weight: 400; + font-style: normal; +} + +@font-face { + font-family: Roboto; + src: '../assets/fonts/Roboto/Roboto-Italic.ttf' format('truetype'); + font-weight: 400; + font-style: italic; +} + +@font-face { + font-family: Roboto; + src: '../assets/fonts/Roboto/Roboto-Medium.ttf' format('truetype'); + font-weight: 500; + font-style: normal; +} + +@font-face { + font-family: Roboto; + src: '../assets/fonts/Roboto/Roboto-MediumItalic.ttf' format('truetype'); + font-weight: 500; + font-style: italic; +} + +@font-face { + font-family: Roboto; + src: '../assets/fonts/Roboto/Roboto-Bold.ttf' format('truetype'); + font-weight: 700; + font-style: normal; +} + +@font-face { + font-family: Roboto; + src: '../assets/fonts/Roboto/Roboto-BoldItalic.ttf' format('truetype'); + font-weight: 700; + font-style: italic; +} + +@font-face { + font-family: Roboto; + src: '../assets/fonts/Roboto/Roboto-Black.ttf' format('truetype'); + font-weight: 900; + font-style: normal; +} + +@font-face { + font-family: Roboto; + src: '../assets/fonts/Roboto/Roboto-BlackItalic.ttf' format('truetype'); + font-weight: 900; + font-style: italic; +} diff --git a/src/app/styles/styles.scss b/src/app/styles/styles.scss new file mode 100644 index 0000000..03762a4 --- /dev/null +++ b/src/app/styles/styles.scss @@ -0,0 +1,55 @@ +@import './roboto'; +@import './inter'; + +// TODO: implements this with themes +$user-custom-color: #420447; +$background-color: #21262d; + +// -- + +:root { + --user-custom-color: $user-custom-color; +} + +*, +*::before, +*::after { + box-sizing: border-box; +} + +body, +html { + margin: 0; + padding: 0; + height: 100%; + width: 100%; +} + +/* Firefox */ +* { + scrollbar-width: auto; + scrollbar-color: rgb(0 0 0 / 25%) transparent; +} + +/* Chrome, Edge, and Safari */ +*::-webkit-scrollbar { + width: 8px; +} + +*::-webkit-scrollbar-track { + background: transparent; +} + +*::-webkit-scrollbar-thumb { + background-color: rgb(0 0 0 / 25%); + border-radius: 10px; + border: none; +} + +// TODO: remove this once the theme is implemented +body { + padding: 30px; + background-color: $background-color; +} + +// -- diff --git a/src/assets/.gitkeep b/src/assets/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/src/assets/flags/ar-SA.svg b/src/assets/flags/ar-SA.svg new file mode 100644 index 0000000..ea37929 --- /dev/null +++ b/src/assets/flags/ar-SA.svg @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/assets/flags/de-DE.svg b/src/assets/flags/de-DE.svg new file mode 100644 index 0000000..f104896 --- /dev/null +++ b/src/assets/flags/de-DE.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/src/assets/flags/en-GB.svg b/src/assets/flags/en-GB.svg new file mode 100644 index 0000000..2e46fd1 --- /dev/null +++ b/src/assets/flags/en-GB.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/src/assets/flags/es-ES.svg b/src/assets/flags/es-ES.svg new file mode 100644 index 0000000..a59dc6f --- /dev/null +++ b/src/assets/flags/es-ES.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/src/assets/flags/fr-FR.svg b/src/assets/flags/fr-FR.svg new file mode 100644 index 0000000..e4cee6a --- /dev/null +++ b/src/assets/flags/fr-FR.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/src/assets/flags/it-IT.svg b/src/assets/flags/it-IT.svg new file mode 100644 index 0000000..bfa30e0 --- /dev/null +++ b/src/assets/flags/it-IT.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/src/assets/flags/ja-JP.svg b/src/assets/flags/ja-JP.svg new file mode 100644 index 0000000..c94a16d --- /dev/null +++ b/src/assets/flags/ja-JP.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/assets/flags/ru-RU.svg b/src/assets/flags/ru-RU.svg new file mode 100644 index 0000000..efcf3f8 --- /dev/null +++ b/src/assets/flags/ru-RU.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/src/assets/flags/uk-UA.svg b/src/assets/flags/uk-UA.svg new file mode 100644 index 0000000..d2f9a99 --- /dev/null +++ b/src/assets/flags/uk-UA.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/assets/flags/zh-CN.svg b/src/assets/flags/zh-CN.svg new file mode 100644 index 0000000..2889043 --- /dev/null +++ b/src/assets/flags/zh-CN.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/src/assets/fonts/Inter/Inter-Black.ttf b/src/assets/fonts/Inter/Inter-Black.ttf new file mode 100644 index 0000000000000000000000000000000000000000..5aecf7dc414ec9b807d93f6a5b8d676f5d1f0279 GIT binary patch literal 316372 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 literal 0 HcmV?d00001 diff --git a/src/assets/fonts/Inter/Inter-Bold.ttf b/src/assets/fonts/Inter/Inter-Bold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..8e82c70d1081e2857ada1b73395d4f42c2e8adc9 GIT binary patch literal 316100 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�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

6=3(=QnPeuLDdti0n3-y(nd#Q;7fbjCmF@fSxxm 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

~n`n;o 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⁡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 Ag#Z8m literal 0 HcmV?d00001 diff --git a/src/assets/fonts/Inter/Inter-Medium.ttf b/src/assets/fonts/Inter/Inter-Medium.ttf new file mode 100644 index 0000000000000000000000000000000000000000..b53fb1c4acbe100c7a91f07564b7f1fa2d5bab12 GIT binary patch literal 314712 zcmcG12YeO97w*pPy?bv0VhTxUf+3KoAUy#Qkw~}DLhmI62qXkTQ9ybRO;A9jgEZ+P zA_!6xMT%GeML>i6tq1`TNOE`X`_9bny?a9xe82a8C?Vg@o;h>o%$YN1&de%IQIrt; zgOEtAHMDz#71nx9bElc$>|wR>*zl)NE|W8_jrY4>u= zq^dQ_=co5p)M0pA>6z3vvF-JU?;0wOlg06SqdsZ9GOAYjZ5f^?D@xy){d#3)P;H>U z9Y5Xu2ECGUd+&>96@?X5)bc;}@7pW+$s@g*DC!Fr@I0YEfUOuPZj`&;tTTzuJs3Ofx^%PN*UeS#H#IWel zXf}uMQL|ZJHJk4-_JP3+Vq9KeN|@u!(Wg7^?=4NBqzVnc!2fO>osd`smG!LU|k=?+9-+- zU*f}4l&NZAcrvSP!w37yr?SUD&}!Lf(XvuXY+%cnXbm-u+NQ_VNQkc$8&h77C>~j8 zRww&6!^^}%xwyFDcn>J6^O|sfj zG|b}7JyU&BokzH_!!xSY~-4;JZ>iNpw zWR2KmA70Ie|D}A+P7zN01Y2^8)1@xC0{IHg^SyV0J+JB(JsW<}ju$!LD}RYKQj1&V zi_G!i*{q3L)>psP&vClwXQe>>kRuF{Urz3+CLLYx7vt+SpR{#%i}<@%oqjZEbu7yA zQzSXJZgCPc$H*tj-X{g_lW5Qzye%}<;ftX*8l-aR~|W@r8~h zeq%X{;fI#h8~ozny7B%|AA`EgLj`vU0r{<5H@;)a?06 zm7g8mqy30#75!YgDnHTZjYs0jHmOmu&(cR8FWZ=(=-d9C_?9(>CH4ikpGmHK@_f_V zRH|!rShc%fxAZ4y z(nImo(nITAmtP+XecL7V5^|6CJ&z-cD(fcg@!>Sf_~{BQ!t;ytJm`5y;PHU>KJ(#$ z@A>*OfUa4e!faEqUmpV}Vc7w4)(-9j`!9TfOq#BJe_~iT{@p~|tH0!_uFdic)4tEk zS>U-cNc+{T@Y}{be#e;2Z|gtgMyq9+gL`CO26qZ3O?rk}qNh1VShgBC*>H&`J0|*Z zVM_?tlx%d>+h8YLc|?H>Gee_mIK<@WiYTjM;5gt>h-or5CORJf5;JCWwtDS6D?6wA zvhFEI#xLNfuJH=&z@>w|-y6egv*rEQ_u09JcXlgt|5`kL+kg_qov&P4u`KsB7PNUn zuhl(ow0f=2xXs{Q)E!LoMxx+7LoFhB%r>qOPd+?L-y}3Gn^&{r?%w(lfwx4%o4FN7 z9O$eeN-pl5&pW^y7z3|x5?c3=60KBHV8s$)8uW;WXgD|tHEU`Q)>^I3&#haP;{Qwk z^7Y?dQLm%rv%4?tVYR#>+y8^v@?`_o_eRUR=y#eAeYVT;@yCbX#Z>&}$q#i9EMaKKd2K$yZWzE<*quaaO3zY>2?yuZ&N~ltsco4Fy5g8Q`OTH6H^8vW}cHG$s zkGHN6Rx`3edc*(3XEl3e;RE)^K%-_iw^Ulwwdw zJee&N3MX-L03@Eur1L3pQc#I!s9zLXKGP~s_4???>7rf?N>L995{7)LFyxPu8LtU5 zem~K%%i8eko>`7v|3PNl6YT!`uAce;!h(LyhfrRY`jr%2R;yW~LRfq)wL(n!VydfR zeYHZ(M;&3IA*v&~e1%wbKC2zxi`0untzON4+Ya^WU7Q~)IrkDPw}Az-mDh84Pkv`L zzmomBx}?vWP%qZ;ZXW9h^;+16E%rdY_+$J7zK1^!^~do z^d1^*G5|wlvKFnqYz$C0vnSd1Uw-4wj1<=Tcb2f^P5#x7e5qUco7d)t_(5Ll4lA~U zwf^e{Yqb@o4#ptp8DR`c(2^%f+JI20!(@o>t!E4kc^drM$$zfUxtc~gzu6??*)DnA z3$I>|YgcRGWs*Pi$r1y&^mCJGa&wx*U~AQAJ;X+zmSd96IDMa3 zj%6E*No+oRI9unZUu1=ayL&k0(p!kxhIesJv=k?R&J2B)iQf*u=jmUWIO-J+Bk=?4 zNA*I{eey7_1-zG~kF)Vb%RbqT@%mn|>=S$i*Z1KAmDN_e5%QqrpeT>!U>q$6y`PYr z#BxyLH@tJiau9U%Hexv_@tev?u^g1`rsbf-|5DnBIh%X+4+@9G;nY zBbD%=)eDGH8jNF>TPIvwBJep&2pw0mXj+wXkb98bs$@HEd!E%&JWDK#;+dqV-jl{b=T#I9RZ639bVTuDSX#!$ z#YaYBSs5Si>$Te~zR83=L&K^(8B(cu*Rd9@*_m&rR@dBrYg)^+nSR1%+s+A_KZ9ha zXQ)9?F{Zo)otQ6q^Xr6jetwX4$g@O4e_HyWy^7N0o-D-7{TQ4HyB`53Jqpfx1Saj6 zM-?@+R#;etn(z)Iqx2UZ={5D8lr8-CRjXO4UF&mav@&*U6~E`>?(*Mxx8JAVVJ$yh z$I4~DUds7Om)H8iIoxZ<{YrS{fS!ghvK%g$Hs4&F4Po*sN#bC&Pi`tAcV4;2xeD`tb)LPb*9IHA@O zr`bm0>1?A7r`bm08R};eH+qwj`0$bH7HIap^fLqK(=d~ClGz*^eZ_~TF)S!eCESF* ze?n0j2P#{DZ(Bj?WN1uWjP7te$N%76f6vNeZH}&EF+VRV#gCLup1n0?EC2azQq0Xv znO)uZM0@I5ncyM(r!oOL_wL<=b}`Q5YoomRzy3XGj;V=pLKCYCoy#O+#Xr*GHFO~MC~FMy#{Xqc`KzibdnWP*p9s0)$d zfvQ#ro*96*^Oes~cggaIF#D-fWVeCk`hb3GU-<#b9i<%6=YoA7KGW3&LroR&jH+ms zCgOlFv=lJ1{()@P;$45lDl;P zpg23nePWV0u;$vA}8!hlRE)xzq!3Rxzq`>EWVc~z8 z_*#K4x@6Ib2znk))hhLbz~|ScfHcv6!o(qT@bjj?!B5aDl8#zU;LAfnhgAUnlyJ^g zFSsKbA%D9O$`hpD7QcV}LyHT;D9} zGv#7*43G;we?dGq<%8#T`Ox#G;<+g&Jh#hTMa>H}G+~_$R zc%S^T5g4`&a0H^UYLkksMv4I|6kCnt$K{e33vjHCv^Lm;rNLZUDt?@8yVbt+O7CSg zNlk4cc3RDUNJ2NP%~k6sRzh1qxqXp6Fdw9gF1K3~D>qv5YfXfa6S#}>n@SawKVjU~ zKJerEJVzdByBF&^HBwkzQC?5sj|*P_y|2aE@MM0TaPLas9mVV*%ct_sMfq2;hm;yz zAKLf{3>-PU1HJExH&zp;!hXv)()cNX<2Nlq%qJ30=eGo zG0Vu(8A`aIQjnia$q)Yx<-fJ@KictxD1QjG))X6@lFm5C8M&fH`On10q{PQNz7Z?b z1I9JAj*lCdb;kx_C60M-YM5YjUA-*L9?6k@r~bg`ftgc35mw|Ag_b>fs!`6qG6#x5@iA72n&eA!mfOx1&klyy=8eVVB7#l$cpG_0pkTY zmMj7f7$@k-ox*;6q6Ul);GdefZCucrys&=s{zJc$U35TFRIiHWVto1Rkakwsp->CDaC8HNe|dp>UAE#UK;7+wGVyx=i3gDG1kH{4R!=GRC;=IN(EF`aB&E zEh<74CG`|<6`|;|R&v87p6va>hEtG8;;G)#Hk^Vb5+CS2Y{SW~k$9T-Ya33>2#KeA zWpHYYvBR<2#^(sNq>WEnUdZwptfY;OpPx+0kN3KenxFsC&T6*u6tt3b#yQW6Att3s zK_H2b2TptcV~lImaXviDi2)ABIVLXSB=crlbjq4Ixtw~?qGcxTY9V5cpw?I--#1!He)X*Z^E((2(L4>I~tvivLvOpv4eKhfQU_oD8TxQnX~DaT}a zs#eztFZjEhH(g<1tEddp)Wm)_{?kIUS$s*Y3!CCOsy)MJ8L2nn2v*U)@}%T1(H8LE z4e84FqIXeeF~Q47HCAD$gM5}S!K1`86_4Oi;!styd@}QGLk7^v(!Z8;cy&9D0Q{fe zn2|^AhDs`+-iyVUZmi&3KW4Q24q@^L?a{uP&R+JM(%NVXJ*m3EG|vjHmuF!98^j=w zbhSVq$2v4(+^soZQ=FzSCb=t6A5k2^5F277v-tqWXy@oWK^n!6->%g;& zZeBT0;~4&S^CR_dsh-pPJo~vhd?WE z1$){2gsg{Gv%d#{OG}$=9JAy441EgTQx(J`onN6j8pZe$Bbd2L(x!X1eujpva2EU2 zt9+Ud-H{C>zsOF=@{6!qI_PfUZsRZ;t{%~`g)HUehJ0xemK2R`JX&+aF#HLP&SoRk zStZn2Y$QJ)Zmhj!tPSVqQPF35ox6(j^Sq~=pXJ3%nYz6~rZG~cY70vlfy2%+iDzij zOj%!}Dt&mC`w>&77lX0zuyD8Py6iOgx;YyV{~p17(gG%f!>!>$bk2K9%LuSh@{| z-(=zgl-t5@%0>*JFU@=cr))RSfwfchx1arq&Mg>4x|neNFrs2ZPIsK`HuP zJ>qsypD7d={RW}Ghsh8p(uTE_7=e9VCU&%~%!vwNu5WU94}J#;5j}Ep*edK?2eDN- z{M0J!Y41REd=-n_v7JS&awuY_+Mg0(@W=U{Jl0{y4!$ujk8j+ugHfW1s2poKs=Sg& zleiB9G8OgSB-;mN%rmrL;_U;m>iol6CR#rsQOSHu^hg8I}Q|(LEW7e^HdElvp!FiH@(4a6g7z zGw<@d{IA7Ro_{c&+>;SXJ$>R+Pn8E?%O^V;EmC$V%FjakrA+;JGFxQB$}JjmuZYusq=V)h?3>gA4os*)=eM(;*yyOJ)WN2wo0wY z-~$nH)F@(JI0!E)!Z8RCj$g>5^(^qmljXdu5+|gE^+LXbCEc`luRYdm(wj)U z%V~!4yrlHy?+C2utiW@JE3mx%cM8PN@93=otT{$WV* zGG~5AHU1Y*{`FV3ls)7;;i(~#Y|rQAe71{UTe5_O?aE`vSzY!FJ8{>atHFYuS9kHv z*Z<^O-jklPPCE`!VzE@i5f*{{g&0&NlVg!58=9@2zs~9|UB*AT#)H}UMIUzTxPJ*B z<5srvuRq++zuw050lS9{+m(_V1i4_jq>mTcIzqH7S-BvrjKsJ8;&;Y!23MWcwVxDeZy-!$YkeDKE_$aNE)eb&qqY~UcOKdLKkkt z1{IMlXQqAHE0URWlpah;!Du&IBywc67p|f4qPDL5^E717somMM#rq%xs#RpmSrr=9 zM6Rsyos@?q4dL#g)%blHx*FL`7>gsA4A88m@HVuknb3F3ABYZ*V$oV0yN}LmU$JUu z`?7ZY<0~!H?GL8=>SF%e7~YUQK1hpsfFS_UQP-UkI)X03n!V8Oq18JyH(I=SMm_IvX=j_|3m)Mau(cvZRW5|U2=o8rJiKXT;l1cgx-ub_2!b) z8>1&x4!x21NHs=CQZOZ~wZt7~Ro)F`vw zYXS9U>9A_lqe$mIC1!6bPs@8@?esL|EBPMMx^4VodH*}gY06JLQa>HE4^fFnkiHE~ zk7E^U|C6qhFrA4;%yRV*f1#FfQT_f;Dc3)Zv+6@M0uL;PT=zq+tN6n~VShWy1i$+7 z>$e;Kvxvb0MBqaB3PYfb@+d8$L`T9Caz$%?y$_9!M(y-hw)(|wR%hXmuU>0oWH5H= zt-WoUY+J@t_;F`LBb~*oON{RPd-YBBh+A3DFYjD^WAziISg|gv26fw*ik;2bo=j~v z>cy&4$95I|Ra&fOU|mG6dLe_H8qRj|f$WW)K3%ff+-bk9%~~j9`PcrXxlEboy`)dZ z5~?PoZ6Dze7#Co6g zKD9mVUA`sfXTJSFFiQv;_vy$DeSH{#@^k)MtW zVhOC~ILkc^pL^uRVO^5nNNT!Z z@CW>_`Ab=`tuv2KZBwFFM3d3IJIrX=bPCOqa4|!nN>7sgvy_BIn$r|k7qw*)T`go` z#l$mH+d{M7WU*)7U=QEu&+8mw;R|;0BPaWO*}Gf4C0*Y?_FT&F)aZ}d?1no>Wi4yq zeDQbIU|om#osInuFZL=M5A&RP6)N(QPwZdYcXG>$MSfOUwU*<*9F?~V>|id_w_rfQ zbD+H+`ZGqaZcN}OtUVu{BAsKPFDQooc~j`uaF#FhMZ7Ldr^GXrpG5zUfvL5ZAE}CM zJXxLSPgy=gt!$RR7EnG*KP2hH1ls7p1fG|;am(_W3QE*NuZj6uXd=Uk`n$Srb!v735AZQ#6h$ zbGo!#+IiiimyC&0O0#ijgIDjrcGz6MyoeO{=v&N_Y4SjWNr8={V+&cln0#HHNO0xJ z?KLTC*(19p`x|L5kT1;c_)+Se?MVnb;&V^BWTPRJ6vQKn&K|Glavf*T`WcgIq&4yFJOyUEu zbweACk`AqYBtDRtp<C6lvi}I&^_)rz=5g&aDCCKu9VcaN` zkZtUu9`WHL)KSPC;B3r0;g?Wo@{xUU#sogIdR;FIKIR zPEl7|KW>xrX#GQ5d&y6c{Eu_>lYWYEK7jw(u0OD{qjp^mz~{NRI z%LmdSJ(0LiPmJ?47JRti2SM)J-b?O=7;zd7fXJ-f!beBLJMZeza$MZz^N(TdWiQ3p zb1Xf0P)jasOkgxOfq_Z`ZP;5n=S2Py!n}2()Vi#NQI5Z5l*69L7=1FG4uQx-ak0Sv zM2KJ@DsQyq^SZ~Neokm8lSPoY;HJP!JcC)!r2_w z#Q2mSNZie#3{BU@f5XKp?I=-z=qT4 zmE{MhPm9qj>5%In@eJ**EN|pd6MT42dFXqKVcyYd1oo$T7PTvn&v`6tMTBPT92g1>4m!Ko2pf5zbGSoy-uf&N@i4RaF z3qD)$P*<|xN8s3egccDUV}mQhhAR%lH!S+VbwP(I4Z$~@Y1(p=dtx-1G-N&0s7N)6 z^)O2E6X3I(wkE%V=Ym!NEqwuR`~VjLlbCp;zA860@!kupi~2+fwxRjq?*=w+Gro@T zyL?+cI_hOtm7C?_x_DM$3%D-$5cP`DbH*G!G$<$q$;@*s7(PWRn@@fbPZoJQi+8Zw6g+@3E7%#R6TFF_H+NIUg={xX zf3n@_te#D-e)(DbkOcl8HM#m;&{@8oxUT|Sr_2hp3tpNCWI=#b1Mc6j_rwT>o`6EH z0TUQPGz2o^X|pW?e{FWe=O1?N$v^I>e@cIh1)s|OR&1(^!a{HVB;tCqa#^q`aZ(G3 zXQ*XtIO(&*GZmT0Bg^~oR13$dTaIU0-a16R2Ck+JhpYLqWS$??;ZGroMjkRa$Neu* z4iVUiXKT=c&(y4M|KhizlU~T@jymKAqAj8k8o7aKkD3-fB3Zv+umH* z;i;~VSA5mj&|&(L=^Z}Pt25W9x$i$ZW#xjN4;SH{kVrUw6TFw4WA)-VEuBCa!Lhi? z2Fo9;e&kIrbfT56g@_1^j*ls(;szL;<0+=eb(1=M{?!@Do4!h$xw*xH*A{Jw=D*Z9 z>@@c0RP2AAC#zP?y)e>Bj=1pncVAhtF zm4<%3!Q=RwBFzeq-Bi|k=^_`&FYQMVuDkwvf{vF;ZvE07?fex_9VXsFsKj$L zFaAfh_@{~Czo|;VLj7(#lqcWMFg&AurFoLk>=>d zeRzPz1o<@09i~rLoIX01Om#iwXP;gMktZvuk4Hid?KjCDAWvN4k zV-RlaaK35dW`qV`z*qj7MaMl`?WlZh^<+?z=*cEZoB!OCxY>%Xw!+0Q<^@plIty_D z)PL*EoaEI#daO?Fv$A{lm3>;Iq_k++x9@-LQ0IkCi+kV-4gA+*ai^7RV52632RCUn z$Pz$sm`?yR*=)qVOo0U@>9K0K7(hOO8K>;s>b}ax+XP8I0CkA24;)1s2uHnForm@E z(nclUWcLPrz}fC0v>5+WXeX`m*YG7(y+ugMUSw$HMW@3a&)l9jA+(3sivi`|*5 zLeVll8#%Z_hq>+F*2@q2(lU}&YX=xf>yC;66F}5I&KFS{W(!yN4Zf>N$=0mQ zr<49VJS4x7wy@`xVPp5Eq<=iIeO5|oR=WIFo}XXbK1(!NcztHyjb9HEQ_8}vG^HHm zvl16Ac=^#5QPCU!DEGgE+7p}iwBN(O|1$N*5$~stK00*Ul5dAp@7=8CtNZ%>Szr>$ z5tB}z8bw1Qt0uT6zBaiHO*$nKNA>YkYd^D<6j#u4aud}uLPgTlmn<;?$4EBuWYsrU zkk}wbDz7S2y_a*nGm zx95U!QL$j~QNeh!@~L24;+X7IiKi=uI6jQ@Mc_0!qP&=FW)%9~ zMe99kI8BZwy-UhBVsaGq)8uI4*~(clIZD1TsYx97Iqb2~_v5L4+~uOl(WH~Zs))%^ z@@ti+$q{t?{CZCazNkZ~{krSM8#Fai?VV|AG^yQGz7bQSeq+(JTuOAkZiY$#u#l*(}r%6TPJ}xn->@&I9p_j37GeTQnYbz!d zlbhMPh9oDo55&sc&b`@CmB>&axyNeZa7{ z2UK^uZ{WCMo92AEjY+R1vz3q^^g;F)X}ORa_Fx8!{-te9$lZr$>C&a5Td8cgxqZo$ z$=+<|r!b_@D!&orh-qQWSWAda3TUm zj1EIu`!0o5>74B;`IYuNpMU?Faiz_{;0AZH|CIr6ww|LeLNKQ~7$|T@RK)$cImUk& z_VK8=7SUmqOLWgPrrn<_N66Q+j`Y=oFKc?oVR_zvW3Ie+yYm>jqJ)Cfw}0#m7FQqZ zPfT=l>ltdd%w@0Gj(@2wwUL< zo3(?nu2ov?*s*?Yxnr#VpTDra$9%nYdm2BpyxE?;%X@ZMI$+utnRyxQ8$8o));ikP zoQx}5pexWVL_!r8u1;AZbWZ4ym=h(QtZcC1G-pUWRe95flkQ49gUPv4((#wiw8~Sx zKKgWJ3+hGv0rd#y0Q87Ysnc*4h`#A8ShmeCSaKE+PWpf0EU3A6|Iu3zNdqdD0c73O zQLt{BG8LKIHNjDs^0@Mp2rt;SdTK|&tMmQ5{WQri{3|jwrRdU!#OMe__sK1!`~Yckq-2@RWMf&8z}jo4 zJ=GlVNbhh~L4lsPe8nkX5`p@=x#T4VNHAaVIgB%Ifq`i_pV14fltZuw3Q7Bh;>>p~ zB(LIhOdJl%U_hIh^|A343oux?f;!Hy%KaNROlsb+@q~JO%v#o_-_6kn|Lp(q%*|hP z;qm+UrF9!v%-*?MdzTI+SGPo&WVpIJyLWwe;@Sq+&T0i@AOIJ{Xc>el+ z_H5UlC)cN~={)7jVI2e7^N*_S`rO^e5o@aUT_?hiK1YQHw@`Vk=?^i13x`+n;aU1L zSsoJ;I?BQ^F})>mY+BoJToiWR#E%8wGxXQ3dW$qdfYhv4JL&u!Lr!Qe;W%ATUa5hN zn0Qj{cpPPvOdLwdQtA4h!0|or^VGyP|OGcbQ)b)+xLDmne5i`=)lOdHv(dX2=1 zA5Y>3XYBT{?z=m@nf&~kxt*EDjqe;4n07k@I8Grm5;iezo&$4-s@-+>7w z*`r|tHx3@Nt9Sp8vp#0|M(g|!yS_ht>W+>bc1)YOyUW?CLzAo~Bn_#eUgF9LBQA6e z&s)Er|2411ko~io4r`daAtm*lzQ3r;xVrTA>{)*=UzRf?>jw2PuOV~CL?6eQ(}2sl zQ90|aj*vV}ST`~A#|B!~e~AcaJ$~XJ;8e%6XD8k|oRR;uwvyKP`}(GRJgMC*vBuxV zbIToJeXd_+{Xe&@+ds*)t=lm?MAhyVsJaH!%;t9dYe3?k&V@V>TRf~_knz5ZxH$P(IhFU5r0I3s6kbX)3=h_ee^|bVA0?kHp&x0NSzEAb3=R^rA1QYjxkg8i%%^U?R$ zn;B3qt-U3k(ax(j`n0Z<_&9jaw5}yz&`y6io9{0lbki#D?y1jIqO5v@8~E_9&h93k z#{%fgpi`BC{_OyKo_@f@QLl)b5I^J#qF%_)Cl7>0pRw)%i#Dd>B&A%Ium&*CjhcK@JR6j|(RD^);4gmJkFiIgMbl4x7d z(4F6yGZOpBg zJHnS;zseWGy0F;OzNp|^=Y~}8)tsV&3S*dXwOj676-SnOFKI-vE(VKecpp@JZ7~Ku<>UF%TDM(hMa{}Q73219QORtSRJ*u;h zhLV$$r`$uSF(@6dC?(-W1y+z!WA%6ABq((m_h{4N4XdPg)3Q;j7|+QM38aR*W<--H zV?muPIxRyvD|S8wzXG3P;xccz0ldF=+&wYB3tY`pf5dY!-RUZ9zKAa*;y8O;#j=Pk zB*cf_208%2b3d!N#gtl}R2>8Cbd z+F03hdH2-HeVV+zi&d%qa>sXA%fJ6--S<(nGxyR_K1v(>%18~>ScUE|+38MOj2kw;5ajCv-ezVX8Qm`EREN*U3T;-&iT zn1z;X5)Ld{62U6I&yOCpd9Ti$@6)Y?R;1)k?f=v;3@JDpuBU~0oJqZf8Tl7)n8XpO zr=clu49%@#aG^YK8e9@jSH893qzw|!V0Zj@P;Co$<*JJEULo`|1L%|am2{HnE+t=i zGB^@X6MLvkIfk>~_*e?Ub!KX1O|ggw!;W#N_*jU}Zt*h=dkdG|UH<1JerD@isq1@a z^E^nBG4wI>CvxvWPgQNp#(kZ)pqgW_<{*b^;7r2`4nGJL^}@26m6ZDDYG6eQtIAle zEh@Y^b@~@yAVY6HVnNh`P~|bYk5Sz6WxuzQ(b7Eh-e#db#}-zp(WsSOp+Mo4qq(~s(<#7wF7Gk9ch{Fc%-nV3tkZGLqm@XHGdopy+_HziIs?ZS^1S`HyOQL#`a3o z8<1EOY?KR+|7pvzs}mvd#r;=x)0NarE2J0QrnwR8$2!F^Jo{7KKlXqrQqn5pu$+K(L zytU@(ACOx%@5m7zW31uXnB6|*iu0^)8wfGtfVvq@p#{C;9jt%93s1QC?utJru}a&P z3|!Yk&CurERn$BT1g3tZed$S}fdF#-kafHfR=EQ5OX8_bl!PIc>oClukUsKal=Umu zwpzE9qZ(~liqS>Y6p#O5=ZZfkPV5p@*%^u83I$t?n?!t+Ht)_st?sL@O=Rq#S|hzB z-I;;vT$fNC0)B;6Cq+l`Ai2|NtDNT00<}NW_nF8lVUH$N@3!KVh9)B-GITE|xtUh< zM?{0BSzHnN|8?NQhnh%Mg;E)Xt%2vux6lN751uJ;Wwj_zCYEdyP8)b{iwXA_yePlT zBJXJwnN06=QJ!{-WcmL5DOnzxVlO{ae?wf9at!x&*l+|OY>G=F};fajYJKqrF`y9E{1@o<#x;pUK-v@j^4PRFi<75b?`~?Ta8zaa6#kHy z#UKGK*oG%_F}r!;L232GY%9yBaxvR_rvk4lrXz``@tuO7jlfHZSy+X;em1MUCyWH4By#hnswltglO!THUa0kb9)U?jTEii zh3?Yzj2on01$oYtJoA%a~oMp5F$~QEpm5NuI|!J`f8i$VA;NHWDR1-myn4 zNY>!CHe4Lx>x(SM93jKCgxmT;;80*(0wS~vE;eq@5Z7~*j|;6)gIr0pc<^^CLLLbz z7V%JO4_(P!y5yU5!#Q`Qn9C zgqT`HU}gL>ZIQh~ZL+vr-yB33RM0e3W)1=Tj=qH>vc@>*I7`=NNKI6asJLql)uWYa zDGWYw4aq(2w0{dOkPZK!^tavB(lg`u?uP~H5qB!O{yB_@nyFa#`#m~ zr)m&OQ)e1wJXh#a9rgT|o^}{+pyd1&-bzuWEPNH_f@H+KEkSAlHzmR`mxpeKS5&FE zT92h0o7I^fI7v;%tms&^opeyt#rt@SUdHI7PB1b&^PF?O_c``0(}ic+leorkI4-0% zl8y~Pniz(!?W5wE3r}$e6jh)eHL5Yr&p5+A=H8FB>+4WOS9sAqi-U zhCL<>nXkKpU)O#B=p$%VEGUQ35`m6S(UybHlMwZ=TXNs1TvGL}t7sdEpP6lU3uaqv z(&+=ommnqwNwhUeWQMA_-oR+78BOdvzBIx{A52d5O?o8N zulHiwOZ?g%Ry?77gP5Kh1`XWO_xVYid%080Gae@(O}bGJ(nN>RDE-{?73m3ZT}-J$ z`g$_oEA*@ zeyY(tF7Dylk9L3N&;e%YY5{6s@pVwEBv`*p0~l(1PTc0&0{BoHzTevdgH2WHdT*M# zhNVSffUZ&g1^K;XnW1aZp^^56{j=T~TUjMmqj~IOg4@Ff>^g`K1^86(9_E!3U{Y$s zl>K18|!* zd<$*B;DjX*^q>v7;=QxbhBlKX~Ep(k3qnG4$}vA$J8F{0$x zMy-D!RCf%^+G^()FZr@YNbQ_;U$P*6X48oItNGcbueO`p0rT6qx%0-3UcmGC-TXZ5 z_ocJmo#lB_GhSWXX?cIoOVS#N8pXG{?pfVdd>|%VN5#^%TQzglpR4^VSN2uy?EA8a zg{1eY`#KChgpx>GuJWEU@k0nj?%6^p)@smwooAC&-uy~PXFV-3k8kjq2Pj(nx)RRNSO2ZgsxE)OVPp@ z*%C(Ed)b(c)i|X>&|-LYp*+dDoz%h*nwk3IQhKQ&<_U3{i3+Kk;xWUIPpH(kLU4H1 z(p^UsR=YmqwWBGH;JXgJZJHyz5P?wTe3rYE7_#+b^?4IRAM)i)-Ae zR%DNNh75V9SCi2zJ891s%Cz^8vDfJV(+|_$1Km%E%Ncw}>i1K!w^tlNxscW%N2x+8CiS6k8kAIbBw5M~bt0!ws#CHeRv#$WQ~5w z9mg^HNhW^Ky;(T)g1&kL=M`u$(54eoNFm;G_KjPavw2T8VykcYft@?qbKic;p4+*T zA2>H_Pp3|MX3hSfQ>PEg9c9VauCtV*NBNTL*Z9(-`LEx8eZifD3-2tzKX9Z$RE0=| z@8Upz7S%sg_YcPuwSQw{Nx=Zezw@O>SewDtPjtQH6qZASM=dM|gbVvR*}ERXdPz7n zF%TDS3G}B*6y63lb-m;1^~T(P5nQLCdaa>(&U?i7#_a_Q?k-$-cfo?&Z-~mX^<6Mx zZshjCaM4MBx)m_tejGSY{&L2vq@*W zZ`#8-;_0W_M}*fZ*(Vj}GwvrRUD>}sSijd+HiD#%aM5l}LLRko>4NMl!#g<@nK<2Wj+f@bf73r!-7QQzf#4hlNg89oj<7e*W#3t>43}!?L z3$o;sbTcC$kr^qel(h~;41+)aBz>_R$Kq{Uyn%V^xRDJPHWgEyln9Qi$O~kzQ0n@q zh9Y%6^2vbI^+5}h8x%)wc;D@68b8yq^*utQRa(D(R;1FOzFwzY*9sy<+>P5*ve=L8 z$-L|WvR#1zcNmdtskw3~?+c1zZ&%zNN9p0>zBn|1SsxoNFYo4b&BI!fQthh|`yns! zPro?8kNi4z?62&Z17EQ^FGLzUPc!Z1aojk%i|5W;fHQu|olM*Ml6}5~ zHkOrKx@QSXxQmZS2&hJ$ zADHb66srviR!lKJc-&we!>ln4KZ^O`Yer0Y+WVU}6yXkvEBa$B2;u`5l`Eo;6e(2Ef zYT@NO94b(Yv7yF*HA6P8P93P~-v+te9q*}>Dcy}j>M5c6l)o>J47jWW0reFBuIb?V z#jAuzcYLDL+ml{24(W?uY9Hg&ehVs6t>4;VX!=ozq_!l`3j_*eQT@rkdvVg+9V>N; zE?zmJenwMA-(hR}RVxzoo92vZZwAmrS88;jD`p@1E>IyVL4odq{Y9am!g@)Bw7tSe zQZMOx@=lr;5zw~voo)uSU%?JQb>UUXvYBg8)_a)x*+&5fHl2u)g2tODU6l4bW&i8r zoLj9uPn0L~EA&FoP-K8|6#}6)eL=tz;U3T#h0p5XLxN^`3WNd&r)le`_DKkX+TKDK zbS<8WP?V$jJp)Ik9g1KkB=pVnXOm-lmTpwJ{~Bl+Mo!sMc@KqlTIw4(g2Md=j*n{L z1IJ#?Ka3oI#d6?K#b|JQG{qV?VmC)HR9N@>SU_Z7c7I^4w*I%*McwacE;^6uLifK* zB1iYzIIy~ZlqgG1wJe*tmO9`_00ruPhv>E?0;ld5t+01LYNYO$c!u()D39*9)k$%1 z+5Mvl7u`?gZQV~d-%$74-|}_;6y)f_u@gz*&MHVLqoYSrQQ|HIN6e!Y;ws8*T^zru zC@xx{dnujG_>Iu!W4evoG<4jpZ%(h^|J#et2=A@PqDya>wqX0fbnZEKaxp8qB^RF< znNh7)_j*G*z0|#Io$4pn%se;h;)%*bGDml6*1P0W)z7Y-ej@W6?9>!qO7Iav8C^*= zG1-W%ERoC;8_yn?wJCo!9nv7YdU$lp*u6I$M;@F{Hj_7csY7{H|2fF@!zst%2jd!{ zGm>7Yfhj+mbN&POul&p} zFRIfh`n~FXJG_<5E^DvdzX4ES(fvZL`$)A;CbgC*DX>IS+X)nDk7%rk(t*YnLLm#5 z&NNH+3@AO4jklF1wIDCOFd#bidZfZ*Wkb)IG8Vu0L>D5`lq4=)jdVroE+-8Gnk1dNBbu^yu_cIY zLG!|)WmVZDxm#G##f+W!4hMI(FPOHWG>fjt_i@i2eq{w?r@#Jt+|W(qvgVX>%-D4< z^ThPEXRAL|eSW9WnL{d{xH#(E%rz&f*D2fmrA|Y}w*V6ef$HtyX<-u&H>*lE5Hfc~ z;GPS_Wn*GO#hi}_w*Oz06`s9r;8& z$can3&79f2&hxd`ygcP~=hnP7&aJ0dMAo27oBB-b)wN!ue!X5^H!AB``ZJIHUGkYh zeOeCfJ!nB{+X3zSx1KzK+?ST#-?g2t46N%SFu*9Uowk%j&tQ~chc-4IAKm%@hwE!4 zRj-ina6+k`%|@IUt0T9aW#lDw=uj?LyAvG2)Q)?yK%}K{NZSW;l$Qf9uWv=908x}( ze*HZmKD^Kx)V+*dfB*59aE`g;GyNM}xVOHG@x0fU+0LM!;DK~#sn0H~b~MI#`#(0O zS5seO?iOp`v22ibCn%Dso!*}%Wb>o*AvC7Ea9GW)Hqj^8<%mnDkRZ-U;=CJqeGDyQ zvstCy&7SGhr1KL)7aVwb?G{$-#`q&&)J|VBXz)8D>ZvK74_q0!w;FV5-mG@(nrS=7 z?SB8~w9{|3oHMX~<5$=BaX~}xr?C^acYcfKZ26IYv}K3yeD(!-c0TRn$*pH5HEj9PyxGlP+IN2J*du9X zPbUm&JG|F`H`{hzmOSm7(Z>s%s^5HTVzsV`@pYd{Z`EdYd&YWwJRc3|%japI!SfNi zm5H1z&F8Dqa8HPgbWPBjX7e+qYL)KUbi~QAEGLK0b8hizmexsXmQPV#boFKu$b}ZF zOf9vh_v(*U{lEeBi$b&p2Cb#BSo__T0RxCVMHsT-EKC?i3=K!P`%??Y7ukZ9WKq5+ zX_BBRW?u^bjwS+rqFQ4TcAj$f^YLoI57Cd^* zB&Hsqoa1GC+in88f}9%(s~W0>Bi6q>HBO=wVI-8cK&RoSij;(_uI~EtxW4aEC~Hj& z2Ch;DS$>4p)>re75T; zS>CuEfX~yvH}PWu_zaxA^Yx33{|}uq2rl{DWYKqb2cNV7K^fondaWCLWO)kGOFqZr zJMMJRn;0shT~oynvhIrr#1ZPhL)-{dg!*Oa@%m~T6&i>V7r6*j9ygt0Ao}nueHLnA zN-Jy!|Dj{ZLcNhQNLhofUj*^HoB_ zQC5=5klpRWY4}P!g(VbKmRMwzBR1m_MdNPD4aopFst zI9OY&E_{`3FJH4sgT{@=tRDU}=Y3dXp88nz#ODC482&70%UQgE7_Q@6&-)GQg?N?9 zFK4nlo}1b>jlJ+(2ve$#8_7#(O8#I{ORNJ)iz!qmk~V0$AUZah;kJ*d4bw|EYcsx2 zY(?V~Yd~5(g(Vu(Do_8=I2cj%??}CK3YI?k9UU8TYred`ErcNmB84Cv*$R~kC2BuU zfxJIlfhe!V_?OCx6g){@XzfAOtpowJYqI3U3tUSh{8od+lBAjO3_>{neWT0U|5>g-rYcq z6YPSyV(GIx7$;-~>#L64vL}1TRa9&6gM2jXIsZrzbFVr!rtBQ9YLZG(iHhMKZ(O)n0SAsvq(UeI2beWzU(zM1j;6)3S}#X)szVS$Hmn~ z5RAT%h{1&qn**@jBnyu0iJW*3Bb%M;1dC8?c?X z6humhFErs$AKl=bK%&4(60wMI__LB~&cIjSpW44u*QXw9_DqRE@o%U1nmI6e=%RrM zb@@bD3)9+6Trjas$+*bRYW7K*^!lVE|4k>TY9lURRVKKLM2#IV_jTsIqzT(@RmTUB=Q@AaP`Cc53`0dKa^rm(Wh7Cm1@-dXeYgq?I} zO`o@upT(Uu&v|-iwLG6e2TsWgX&OvAGWlOFqyYzKAiX+nGRCyJfl7rJ`u(#raEy-6 zQ$w$?r`N3EpIkAntD)0(ck8x$x^bP(N9g@mBKc|q&soXTHgERpzqA9C7Qrv)CD3+4 zX~pWsdC60UAD17w0j|P{H4*j0WSTelxyUcdMC+LO{~OL4`5hdOw42iO$ z0w`-dWAQchc6rww7xKfkVFvpdXNJc8%)2`u@ zs60)Q=)3yMx=50lF-Qa<%^S+7F30h|bNGyN-?EWc^RKdD=f2@tywvR#*CtQB`lfeD z&a`PcY#TqzTpzNwKmCt&K6rp{_}>-&&H)xV?A*e|=ZB5Buz2B_q0XP=i55}@*F|s< zrIbc{qC@fNKU7yirA&KTQ41cZUVRg*`8}WTcemSo!uPED%-e5wS$<;%Z^LoA$0&>K zh@~HVz>=A&UN*{Z&v_;D+8*_?sDmlkadDl6f;=I*BtBL}xKqSC!@?p$R2L3TM299M zgvE>ROXK8NMDei5sL&;B*+-YA-(^Y1kF%t^(=UC*mKjCIoEWv7|GInHm33W4ofyM{ zLq@ZOEb2QpfVp0Kjpy=3-|^pgDkieqtW~XZtkRBStl@#Q!`xWBgP%E9i&OT|ix7Mt z`Y3^RS(!uT9ADQIKDhTdo;c`RrrKo~2>O=kS7ax=M}arM7ej%k0>_t3ONcL-)(5_W zz9b4tSWJqKG4#PtjVJ|Yh$dH~4VGRo;Sbns76H2#EfTn02#dwXYw?yKKDP_vE_y0mJ`t!xvt}+>|=8UM^_Spr!`=iyz(1wR)>nQD> zJ}AL+ggj2;`wYLEPa?#Vc{uJ)lKKMgM43;X6HgYI?|hDTdeWyRw99O!crxGHT&ae4 z=*e*N3DzH|=S}ko^@sR|E984kJX!8VHZk>x(b3i;aX~Y*9`xMbGk9+A87cv;tsVk} z<3>m7ABRl!Y2*TuuB6a z9OFa@pHxu7E)^>Ax+q~vM_FQYq+x{?To(8Y^>6&daKmTg&SFSEfte#DtTwqf_#6a{ zD&bhrIE#$~7LDDG(BdivJjT1aI64I1AlqIG=jC=B1qzkSCS@!Z#5LoyhhF&_@I z$uSxprIEnoaXC%g$q>cl{en@NL|Ld-j(3WDu1a`Scg?CDY7O1mn8mWk>MfaBqjR-d zK~EO1k{H3;saO?OudF*5iwJvVqtRS_cizI#aPD#FPge7^F&;wqqEp=o?)Ff(yQ~h0 z2ZQ;V_cVsTV1_<{tKAiNe`SG6Vyl5mS8#$6**Ek-8|*Ebn=sgU(P(WcJ_`tQNPb>i z4c1;=(q(G%2MwCA(xGS<j@58`H2F&aVA+nr9zrl(w|(o(+$6 z9=7z%Y`y5+cT$%Qt5mIC{VJ6+mJPyGi(#X0MyHZwV**Tw2~ZI+M+}G&iDJ$HbIv&j zbX`$bT@`iBz)W+0-De2udf)edzwf!veH57K)2F+-y1Kf$QX6W~xhK?M-8y#k3G<+H zQ&M~1IK@2pu5G*$&EBP^vgfNv@lWYJ>oi7#cC`=9Z;1_@&o%y~%U7wI0dLSPqeG?z zkhI0PmP-OaMH*1y0#BHCxUxkLa3b&>asci#`iO7ERKE_yU|B;lvvL#7;e(^BlcZ+T zn}&3vye6%NoU0_We=C;8&^>n8Dty!LZQZZX%1UrG#aKGKdIrLUo?s< zGGfk>#~7+*Uy}n3F_>Xo!&C?%f;eVSWPlI~OeSoZ^P{T#p8z#6wTm%&-_caX8UaV4) zzJ@?0mrCH-M*MXXDy^i=j~+2Ms!8YQFa;W)N=?`bR*^Yq|1fwNAEBX0Iox2Aogw!! zB=W{s8y(MFXC*`ecSi>VAYlAXat&)wYmI1{!-Y`baa4}9H1;g5XD9B<`)?Dm$6t(1 zsQN`|DUCA(v(55^%p+|1mv=02KM~m=QyEn_jdaZpyV&{Pth6#m&$F&*YWmg7)*Da)<=m9k`*864jvG~$t zS+kq_?>frvqr_+S8@PF}K*L6}Zf524#L7Hw0<*eEEo);ECf!Wjr2@~-X(gYa5ie-) z<;!gG3l{Z)MPI%`gI~ly3JHA_N5OIFW5=e)IkKzz;ul%ehj(n@#q%`e{YMJE#6C{_ zvT5D>$&){>-|%^=RO<5#vk*ZG_h+@vOjY|B`) zOq(*cg(p#oCsOhk$RXGVt;{?Ht0|(g8lL7wBjg`E7KCGaEna=KeEq@bHsJ)jvC{)M26!Nn>DTEK=}_R?vq^8+k8UIa;KY zX7~1g@h;c`Nybw2m?RzJt>m@D$2n4rvn0Al-(MZId0Ja_4<0Yg7$;SHLJe`AKJvr} z!G+FF+0*;xDdQa-D32M9XLGkUbmyHD5O9~|=6>cxi!ShADF zchT?vFdBL8G>iWHnQh&p1oCCT9M0X^MIJ}5T%nq42OgYyifZkA$$VJ)O_t8OKHo-e z5MbaOWU&FKs0x~s;3k8#9W)m;)2d!<2qeJtb{l1qCLWWHFnjgjj&+ZeFd~b&8~*|84cxUMoq6k`c)AH8AL`A#=_o%VX*M(OLP+?4@&|hW6I6Rh*#nqz(I?Vl@E}Yp zcS{vp_KvUzmBS%~pY6G%C9c*cU|2r)4_kQQ8jbm!M(xiOVJFQdo*uIzV`{{c#p5qe zwxGI&FR&EDNx5U`H?)>Ytiy5OaCQnie>-yjfbHz~m2=10?X~^(PQ1phB+JvNF#CYr z^h(Y{vzAB*k7MfqD~IwLBwSNHtPprz92uF!iAOE7;!s(Mvr&0#6p3>PT)j|Y){?zv z&DpUH3rW9qI~9$Y2Mxo*KhLwBZz9)HwX*{gdc}|h9IV_owu$V}eoEWB6#a^QSVYBW zbUL-aMLuWFvQ>YvjaS%8_Hpri2tVD>>EZ9525uE7XKgA(=J9M#bc&T+O58gk%@852smyNjc{CD4it0IP6PH;NIV?HM_bq%asaIb%;DqSR#AN&bj}}jLx;n0<}|cx^w|x6|t*1XspFD-~@*Z zdN@(S1Xu%_9KKrA+k--Mj{0RTX0HyJbN|`xUqWQhp|m#K5p&4WohlE z<>Q~4l?L2(*rOQsoOOEth~la25tdbD$-6n*>DL1>3rIdQqHI+=l5Of#101WdRNI06 zA?kH>6y1uG8PBwBQs{FxI@j@6UUd-1PuUy>XHq zJucbxp4z1S%HV+;{a;A6ijnz4;~Y!#{z=zDwz1bMW*E>Rms3+P@M0J^&aV8vZy4bC z5_8kWG(WkcgL6ACC*vW0FE6#lHNCn)w;!;-{d#8}z;-a6Z>Tvh&8C@FEVLM2?zwl) z!{gA!lt0y}oMMAT!G%RRc`OwUO{X?{x~H;?RAt(s{x2?su#dO|R^E|$SswGHvikz| z{Op{+Qo7+1A)kbxt(U4RZeObEZ&Zc)%K|-4$$6-KV>S+-%JQo?y%35|xx9f}X5A`C z8rWJim_}gg+n{W1Wka%u+?_SK#?G!!B>OEx){H4%-0dVgm)7wBG;YqDHX^`e>h7MM zcFv!^qig4F`WV(Vnbv$>gR8{v+@zNKn+>TINhQfV@IV`8#2RSGK4!8Nhq5N#ofZCS z>5M0{rlijVa6G<=pI&qjmMRGmKn4)?CvH1#e=&u~)7JY0<=EYe0Imag$}IqLOTJggr=HPn8Z$zp&s} z|GFn~G<%BG^IIG+a&w=aDZ>XW4Qy<=I%jL$-mXh-I!G7D|HX6acXq(eu`I%1kd>CZ zQ-;iZ7rXq^++pkYwv-ivfsGrx7wR_^79MP=xPam75p4NUy_<`}Xtp)C9Kn_)MewA6 zy+C;a?G-_i-&9MHLIQlV3juo*#Mj&5z}^vjCaHc<`ra zr$G5qs-0hMhTu$fT;{Rlqgl%98@m=57t~$!ijO;gd_Q=eH_jhC&l|6Jo(q3|`+4L3 z!TWjR|H1otc;L_T#+%=M9zK5X{A;|x0<7W%Im1tj%~qWcuFVj1fI#kewOqiHi^u%_ zzQQMWA2;Dy;4=@;-@g|}XA1Q9H1ECHxp0X7a?A7k6VI_@@l~t`e=H^LjL9`(aBp9I zo^KxCU7c)rW-iW|^K>p^U4i9ckCtwoyiPXLlG&48L#}r&=9@Bd?1o<5Rt?%bbk39H zu2b2^vl0Hoqg(Eu+iQ6bmX<<4EAgAynj5lSVY zF$C+N$^;#Kz{cM7PW2xhT6Ihi)uRfl*~J@o+4zg!WLSlQ} zh28g^%CXE6HQIYQwrp2%7#q+2E`6QtIC6+uUManjbUVwM)jn)kUUK^V$&>F-FFE8= zjNR1x02iCIHWqxW6u%zK%gxrrxB!i(qd4@6D}A-XQ`zMHZn{%T&uu=^rGJk1UEKLl zV%*vi^ovEnroU$FV|O=rPJT?Q{z*w2@3x9c?AbeqCJRq0Wo@o;a~|<@)G3TWr`>%Ve_JmP#d7 z)tGQ+ja;s2(2OS2&kXY#w{=)>(74{s0_sg_usWbi&#5uX%c-MLBQqR929%NC%Y%IoYX#4{>r6g+uBC? z#hloXKGA&*`!nQ3Ow1yp*x54=_GkC|>>>pqQhTZ%dZYA^t5p32d&BO80kq#DOwdX> zNrM66=x3YuQkmleUfmQx%9=VbFoOxG_U$UK-I1_0r@{bs`8fR6|dBx zm1Fs$RVw$Z5jy*Kdt>~@$CEubu(bWtpKkImM8A|+8<%ttSU!Gy*~$%z=58*|t^v!I z+x7sE>d)0g7O2m+E46;KW~3>%!PoVpG=CRpC%=A-W?zB&oZYMK#F8CM&yptGn4xV3 z_U9-9Ro!e=`-UkJjawdZb(@O|C3}62LI%g}IukuERW`Yrg`)nk*t|D%308i)TaMW7txCx`D7n5!ANJRWUY^%4ooH!T~K*wd8#YTP28p*-`AHiKs<2hv4r zf}?aaag?`0R#MA3(nUFB30r~OZ_5+lO2$pY-YQlxpUe3t366A4?sCtOO$^k~-y%tAhDV=oq=AlsmeA zdzwGSe|wrgQvNg-^4ym5$NO*Z=8yW{-pwC7p5~1)x8-~c{M*xfJn)t|5pz7`zWWt6 zgrvit>NqyU-2B@+adbjRIqJ-DX-38DZ0_5U_f~FsZcpMVPAairs7Le$e6khG21jsb z;WEJwz_|x=vJ$!?Q2<_Rt#vjyDq%@1?c_;zDNHVJi{Z?2p7A}4O*P7?p;>{HES{V5dzE*Uj z7!ns_i*}x%yqTa+wSG*F1+Slz#oH0o zrIs&1dLG{XnQzLM=Cl-W7UkuFqSX4aIRp91%2|tYk;L1C9g)NvsnIqW{}qm(pVa{ks;6VkH- z->MPJ>f%z3hm~&ABa*LCq3-={^{e)TuKZA_WAu5}AJ zn7Ni|o;6qMzN|i*ZZ~tbyvwk(pP%JVnT3n**q*h^v$ag`&CKm}U5u}?xteK%5#h+_ z)?Uc9dZDvXB`K)LxRW!NbSX~+6WfD`cH_c~i%WTpyQM~3*>(4f;Ka_C4xYRE2RpiP z9sPPX@FdH=bSmM`;2m4z&TN#LhIQE9six1M>Ff^6pd|eRL(MuPI!v5)aK!cK=s(6e z7%uGVzGHgyiAv?G%^%S+ewo+QZo{4HG_rSTLM1ccS^gVVTzF1~?hz=S`(D9T&OMZ| zZ&*2+%qkux@^{gtWZsdi*)LYO zvjf6oTeOOg2#;+>I<(l;K;G*^AF!*tOW$I9_RY!Ju%bocyzbNPj4!>4G%<^xPsrMi z)gn3>$(rPuqSHg&Ot!uR(_9weHe>J)4ibt`J z`;xXy&4{ZpGIesrs=fh@C;j6)qmzG)`n7-ZI83Du*2o~g6PS;+P{j??UI9;Z5!y-- zi3mv;9p|2koWD8@ao7lRw>FV#+^N{KN6Rs({&DQu?KE~ViJJZ%A30$~^X9P=C$4I# zOfo!`?l@ecmPgFJ+LWrc_5Fg<`=GBoLq4AzraziF^U-vN@LQ3Qwh%?Y2#?wd?%I}FZ|N^`soL17V#A+mHyPJ_+X0=1zn;CQU2~ffg`ZaW>B@6p z759i}*P|(T#=$I=dzz~t3EAEnLxZI6ph1Y4OY3n>$87H}Rcl$5DpvWuYMW%1vpq+{ zj_Wjr7E@O?S(+U)8m=(9;7*zB@vH=PKRpsBjfNlq(S=~fGdR=LjVi=hu_zTxS1t8_ z$62mg$`wMqlq-Y|sX`71QxK6Ths60<5RqD+vuL$Efg)Am2sF&dS1t7GB{A+?H-5aH#>w-K0!9l?mzR#s>h7HFL_VzqpB!Bzw#R?FwWdvq-(eHGFO z-NsUa3eXFo;U+zX8kNrN=itI%fU3Q~!(CW4Y^~%~=Xal^x_kPiLCcww!{YDsX}4tX z!QTgX$YEst^lP;Ihs!cSnu78*?3hi149=?Ir5+;68P{WMgxQZMy#_TYIs%@s35G zkMXiavDi=1(eIWQExP<&bo8g#VpvyajY0ZnSPW&k$39;U+?xy*lWH>jXt<^wDB|V` zepEP1&PimM_?SvgmP%HwTaL;*)T>si&rKG`a##ind>~~}d9GtI{(76`j7TDRez!wM z_I0eEboBc0M0V%-v~4sRQq1MgLFjo~&J$2K_m8iEIdR0jWH2J}Lo6JT&@D7fl1)u( zXGg^DTdQBi6IJ(8vw}oX%=&+lEO=d8kgc52Oj8c1}N!Z&PSkyioz^8IV5&V5Q_C9d8J&sY=s zf)tRj08z+JvFg&4JBy{Mmh&Yj%FSoUVS*^XEl-et5=-ja^0|^@f%<%@sqI8d)?#UX zTR%#gQJ|gt`Y}*q@ue*4izTSGvp_nR-+qDerP8weav>$D^<$;oVrg!Jd*xQaa(Fp( zfwC&)3(+&_3fZ~Q-aKMxQ5dER*Q+t0(t51!}YMYPXZ z*4N|z3O_vHz%*Y1KOFx*crQ+_C|H|1pPX5#_?|66=bQIlZh1bu;yIYs5L^J)7fXbj zl|*cs2lrSM#tK#2;3m|4t6;cv^7eCe#%*tEX|$xS~7G4dGp? zcgwYAsaA1Vel^Y>b{_ee)dbhn299sK<;kLyTO+M(T2Y}j`>5QSE$sO1+wABT3ZXHf zhoYGEgk64qyC?RF4yY~NGpl#7fqN0Hb}BO-kD9lh?S1uzB_BLa5ma)iR7@(amu1^8 zrzgIMTbVY}D}2}J*X$|yCR~@b*wf*o{}VS5!fU`mfualSQ8;xv!>NNS;~+uix?r4@ zCXhm|8|Mw$7!dwuEvri>hlhs`$KOGnLcJDFWGi)=KMqb`RjP2ml#yZk1F{0U4<2{V zwcBsq`g2JEIfdfTpO$YLV1QOioUsGD%cY8J3FTm)sIgri4%p1qI-GN(-gcHwg?U|l zxG_SCV3Fz@I4O)mCNZ=LT7ZpRIA`9SAd#EA3$4j5U=GRSjF4zCijdTQ)Z0*R3Pu-^h-? zW3d>_AgIOD(XcHL$5rFJN#TfyAP{_XqCrwe<4)>9_XblHf4WCKjHyz47Rwy_vzz@{ zS=m~8ZH$z{#gDb&wG_ceW{dzG4`Np4$UToS9T0p{)-S_f(hNgVm~z;3f8|?CLA|L; zz4=;GktazHGc#9P@*~PHs-cUUIB9p&37xaDCWcQB2}@MiHF*h9@`kLLOG3NNYP*8H z*|MI!kENJi1BZ`p7EtHqs4l%m4)vLIeCV)a;S&>_EOmWW^`Cob_}~-jRBCTx^n9B5 zUM4m)dM&M{M(m!k7u!$Hl%(`T@Nuu~M4ga4jDP4Jo0%yUl*4?YRKpD>N>cXZtTeUw z1uYg<-B;KPBd(~&J1tbXvzQ@5G&vH z;hpM&9p3}mT24c}IRF_>^B+;yBU4|+_Upf-GlkroYuumPer0x78u%rSJ=?dyxZU|t zsgbc=f;RLqE?4_Apf60#S!Si{rh`w10v``RFDonXR}ii)L_iPMQY@r=w^AFJz%d3| ziaaM>nKM0tU+;2OZ$?_$*8@>z8m^$Bk!bZI8j=e}&g3CO?q)10Rmp`oA0ynUkDuDU z!VGEJVXd7Mn9+=cpBp#F^10$f5C5e0pwbgR|QaOu$HagC|c?Z~cA~(J+ z2tSGoy@i|Ega^i1IUU(OZ5$p3EA#jO@_#t8jej6Yjw2gvDl+ z_2-R?Xlh>5>N&{xO$WRoxQcVgih&qKtWaN2A~)`Ns>>A@;O4`s-H`L}*ACT+m+D%g zLukjm#s|G;W`&u#e*DNm|2727#J&PUkd%3O%ZKwhy@~wL&spU!ti^sJP9F>wYYfDt zovc>shzk7QNUbF+#O^CN*KwYz;L0Q<#r~-GGgE1>G<*%XbqrPE6u}kU-0b0I<-$EX zgtNb$mPfEFkSn=#>jEm{ayG)+N;rH3&#wj8Qq7I5CI~yEroWaKzgP#Ct$XSm$iaM$2bV<}VGv+>q%tDTQ31s4>ef#orriT&d6CG@bhz=5)D^ zgNvPrPm_%mMvlV}KB|Xt?Q(X1b<^eRd$7lBD>=1~9yt9kb)^|S87p0-1fo?O=o7OT zI-?=?t2@gqbcb~^mfdaBDv@%sOv_H~NhA{z-n#$RpPcYmy8nHbijUzuqO{g?*#D(t zbqheAknbE^aZZwK)SoYdF>YBg@}DfhcUcQ_KfLk-2Ul}HIJh3p98|CcaGqwghd}BD zS`xyEb~{?)`VdD4jo3Lc3EZ<)2tl--4#7*ubq32iV8jek*rb${Nvx6lmOcMt{?n;^ zLZ$}{p9>xiUAgXom`SdILmPw!g~ju$20yUgQl#1_(YMWl#ejPmzi*uLDju9%T&VZ{ z6;j^g51>^ZQI&5YHd=FP0NeJtN|{jd|3}lh6VIO;tA5w?WJn>0fDkM0jap!vQ#Uz2gzr#4h3|Zx zWz9;-g;ERLP%s;zwGOD2xP~0{;PG^VED;$Hoz2BNkJ=xPfDR;)+rC(OAWY_O*X783!NuMa6N$WaxTt@?pv$a;# zBBb?@BMUoSXGvFTTw#gVq5+HdoX$kc{~l9g-18-D(9@^b-umUFn*~4s<;rDyt_$YG z&9}6Ce>qj-^4&e>mkbx*Blf4kEp}wg< zBF*CbAv6694S4mM2An?4R=j@2R-7Ttq7MrfeTP2%N={U zM&1#ZKAIAOVy$5(PM|9R?6qOH=*tk1L!F$?Xq6xPpg?7I=B{jZHtq#!SH}QS?#B`zHGm|81enyd| z5GAtP=cAc%UxmNQj*ag*epi2aeEuPajWdT#j1>%GF|`jTg0JLN0B@zWqxpYQw-a^3 z&(0q_Vp%(ixD%P>q;Bfcbdq62xzYCUzWL>zmmj&J_rzVjjiGsay`=dKhlMaPSLM+Q zH^FI5o(m=wEs{unof1#>H?~zyu!p7BE{fdW-|xWWuCsdDQn{bju+N+Bv16OIQ2pC$ zsmLa|&(o)8>;jiheVdT{Vft?)+Stvx7k-`sUOuJ%=fWOMr5! z0~3jLo~BzZ!A^w|b%*9OixUk0uITo%)2#L5pbN9-T^Vtdt^VsS+qY}V>)87KzYRMQ zHtY6ye{b)A?bPJdgKISC;l;J2U$UD0we|dMw(c}a(x>kumknU=gSHHt9`j-0%x6)T zR~%1Wa5;f31now!7J9I2eEKGAhEp>Cr*t#8=(VL-TCY3mo~ttB?7WSm!1miTCtaU} zq3XHoXr2dh0rydi83$;g0Y&D_g1B$`X;L&ZuuSFrW434OHmZMX@`s}%vg;yntM{f+ z;rj>BuoIC!a|V{8QsuU=FUtB^%O4^aUDaC=;Cw5nr!HEEVz z#qmqp|JuH^gL$QLH5->=e(VT#O+UHmwD{)5EOIn*;Wllu=VJxV&(Y|n;AkledmH2@ z$|YTBZtaC0Rq(rlv5D})&@2gBh&)^PYw1cIT{P(IM6+v7u#-Tm)`@M|5~hO3GZpAW`Sj{ zTu4Rs4qw!~T`HCSc zC;yYY_T$tBV>&K=F&#n=HUceTJOx88Bu*VTj_Y}ZD5qsDD39*~G>TrN8#hSH={dDF zZqTs{($nl-N@8{|Gfno^iOS{d9ZH+*>ZD|!SKNO&caDuZcMeVN#-w(I)su635K><( z4Sv)o8)Tw&t`B*-0*_jNr0vX4*)Ue=+_PqALs$=kvwV-0a?rIMn4|HiQye#LZz6}3 z=!~Rhw(L&}@A(}%FY8SfQVB$pjWHxlI$y7y>_4}*Jm?ygoaeXh&e&>xk&W6XgN*AV z(N%l19=vyOFsQK$9Hp$_jpgp4;dG`K-Ro`TyDa^mKY!_1wYXh(Tc4iq-XSXVTD@si zJnU;%3>r(?D;Zgr-{oj;zhG{=3_&mu)WO#+u{*${OqlYS60{? z9Yq8S5>3NN0SZB0WF;XVn*1AiUSl(|eUjbj*CnrKPBPS#FBod_IV)sVC_9>+Vm+^$ zo8?53i*k~EW~0fhDSY?w2NW{`vO))Rm77q)q+x@2#W|2EZirvXt1Qg^Qz3Vk1@2uXpWkuk8jm_ zM^6$zf)_zGWC}5{S9bxEUxxN#@2o#sDO37pFKnf&GN#s)rCs8)qN1|myDppP78=N& zFVAKZ?%$`$+3{3dTjSCt7I@`~yvyj?_ScPU9gI5bH&km?+0e(2(QRr*&FKyc05DxZ zs0RgV)%#~TAmoy#SIi40L*6A@(mQ)<4>Ze4Zzd%eYf98_>YhGlZn7!AliL?+v?`K4 zd1fxnBkShb&vB*7=g*n1hvQ^6UF5}FuwGstz}bC=$-tMu!<*ai(^=OL0= zD)y49L`C7I;mPbnA-CRb2TgWv-|%6l$R5A8ns*^0<#Tp4pUpCiHk`RjRXjRXFIUsbqeNim!6znwZq0|T>*1Rcm}z0ANn(F(Pi23uq0kzY zeCiGKuHLS$b#43B0g-J7ZkpIE`0&Vv%?8z}*|pYh&0UH%a2UTKV8-Qm z52C*EjvB;=Hk7JL6j#7bbZ^FpJ=i&n-%Pd`@L)xeX;!eM+>Uzpu2*yripx``smOv^Uy=ugdA5#b(~ccui;f+`kedOULrp{GE>cJjO#FwB z6{GE^%gD6RWn|T7d(^B(Y>)AvrF{9!8P@R38Kc;qkT6rhU0zRgNf?nGqBqNmWZhpm z@In{s?BU_!QGp-{A;*g&BDA2K|^z& zL`x)}EPL(W{Kr_BU1S@GDz|l~GA$btZHQfbSfZwK0=uIxJ~t%#_3Ys{mi#u_zjEtZ zqZ{`dYwY;m=>OJG!|?ZS;{u#&{5I+L!J(mZcfTBg!NWt#jK|Y(QnD#9-`L^A%7#YY zti~5J{TKXrvd7tPtl2p@(p%YRivt1e&zwE_eV3Z#2_87Yeh;-28W%uEJ@$*helgsp-wqf8V_97vXO72{fIkUZSx9oh6 zP5i=Mu%0hwe5Q7%;m4mIUD6yfiiO4y+I_(wkL_&TmrS;H`;5$W#d7{edZDSf3mJ^J z$w!(-Rtx-gevZNT;+R1{O~9px_b?;`C;ZbBITi$u&qq-lBO$KytpIzFowaVG;rSG~ z_(SnqI>*jf`_0?pw~hUskU%B2;5Mp$HdO1Us6W}Gb?g)C^X4tZlX()AdK9e!`AMSy z(!l;p0|DvUFIjBuR(Jm;eze4x+TTcbusgJ%+s2+dm>L$TF+o|$guVX=pAvIhKK(z2 z$}sT11?Y)B1XNv|lZuxr%QOl|H(2|urI8CMh2}Uvz27?aG4U!4CeMBd-|}2 zisn=6(B=-A*8O4z)!f98b((G1=r%CM&wACD4c+p$+ish{(|BCEZd3l!_QJx};)gi+ z_@|wKTy<9rt_(XL^w<})CvLEa3#Iulr5ED$KV@3zKA{;u3r@am0a)L{{piCvtw4mEEk$Rg+=!t?OYtaEhOPdQuwGQUhP`d?eM#< zwaMMgdog=?IQb6T&73;S_MZ^jvSs|F@RiN=rAa4A;Ih~N8_90LwR+=h^oBYfQkdD2ZI3n5E zqRbRb+u85|8P_b$*zE;l+edZ9H82&6l^&JUci|~F%Tg0}4~@Jzk=^VZ-XLnZ?%|hF z`ZH|Y#zibT05JZjPRAdTs0Ubmo_yZgkL%Fx*1O z<+O`8DCFa33cb#*)AWDhmi;q(8WlQYTwvy|lUFHz+4w>JJ0ve?`+^oRu+GTqX>2fi zo<=37Ph&4{oneQ76JQQ+x(TyUG_*e>ZR9dRCZpk*j@vVM=WBOUc-2C=)n=cUE`T2t@2;fZ~GqR zs~%qo_=#c;g(CHJ81 z#t+;0QUCr|@JUsZ?<5-^;+J9Ze*>m|Dfu(;^VvW5(|-h-Z>|q?-HVg;pIzezhgVw`s&Kd!KY_leno>%l|zQ4G?;(d&>ifY zmDmopjk#nZj5~%Ra;R@A(sE6LPh#9I96u8=VaVGDjEOS?49O&4V&@7oJA%-QygKLD z5qK!_t5S}G-I@bB2*F6vX)=M~NDL`XT?A00OE}v&TAh@34PVfrPm2Grqn&t(4j$$y4sbVqq5smsr0rI?DEfhqSLdf znEQ&OgSV68#%=7#?J@g?1f-7cwj|hV@cz5EeZ=9$Ps4$uCiZE2XQdyeb@ z>~*F!SR&7d;VstAuaGkMp;Z7 zRo#iYt@00y>q_JsR~pv_r9|FaRJ^b=TOIp(UexE6tC@4*;*0J@rZ7XavGcM)gOhvp zN*+9DS!a2#_d>ru^V_wX-^XvEH|S&y#^P&MR-G9yJIK&BmTK-m6SY{|zyVd*YQPxs zl1!P5=JK$aWN~{E4LQpm?MP)$w%bwlvU?Y$8_2TeiX%g}LH5{24epHIkEt2cb!l+J z!TZcglive`ygWw|j-Kpc%>0~`DM>Vw`udD-vYA|uAESDES=PwoW5*sH(Ij+v=Ml%o z3Y7l|W?BZHYyc|U(~$Fk2j}GOncuNg*f0 z>~%3s0(;#J_8OVXUX#FH7lS~Gn%FDw;?8|kOq#HU8WwvpXBdXin+xPjb`gzgIr*gH0KufKmP`UmUP{)OeG z_HWvb_&rB}171M?(*N?!RQ>o-a^E3Qt?~ZMmF<;^I=8KOfZbn975i)m8ose_-;KlJ z9HpIblB#Xoz%E|kfEYW-$T7W5G%i4yWI|_MvblRfU5b6-5p;3@BOVMkK z5xl)nqF{IUUDU8_$i=>^SVcH_;SFm${@t{D;5!cL_@0gDNWX>e#cS~IC&3TLiu!gA z{QFz9hcF~Ow-4suPoX}p5ySTqE^2+=ep!6~sVx7#4ap*+%*x<PVMdi=RJ-@K;fJl30=*=ZW8 z{Eh1YJ)sj(ZC)ZHkv*m(PeI6~LVj&QuD!_GoriSuy9}TwDRYV4j`!aeMlCz_8t>m? z=x=Sp8q29{vmvA3`hZE#SFU7uc>XbFyKA6ZFf`K!_a2~ECMItjq8q8m@lIh2sH6kw2r-8yNA76)-1AH!7+4~*B9UO$Mibo`-HaYI=Q*mw7{KTCe8em zI09p+Ida9w;!>Y6-h8~CzMhz=T)gu5XdZVUx;N>^A^sLXt$^0n2_*A1cI#IP^cxw_ zZEiagZr4$9f!m$a{ri@A=t@e-Hu>na9C~t{SLcmM!3%#}xKh#Z)YyxXje zaP+jawsF*1@H48ly`vL1L-7=z&N3VE4_WIB%*_%S75GvFUv90Uag6*$a3D#>0 z6_P^0T!PV%S#Cp;?C4Pvh6WygWo<2+ojSx`n;If(-VmE^oWVZ!gUeSJ3fi6ln_%J; z_R%;45P6}YYiLM4@IXF?F4#+2z~<6O=41XjA|yS+To@*pq?@TTpStz=vz9vb9Dyyim~NqFRqXxo&^Ic7Kj#bhZZImf+*^@Zd%iM zY0;x1-Kvd$D(#IoU6bWg z1z|BZ{|Xj4h`p4%ES?k39tv2RMh&AOZ6^11S3YrASbD_=a+t85VQB4ey>>)w5 ztXX8dZc$!;4!MJSf$Di?H%NAx@{SIQMtEt0?h&*JLDZ$1xH6O9DroQK&hNJcGZCq; zD{u{;#0gTP2nGZGF1&hFSsO6|a4S5=9NC`r8|ioGa;wtMw416dtvL8>eCPO}!i7r& zZ3+%Q7uDKl@v$KRTSpfw@~LB+?t`jyh<(ET*!qUe$(cNjbQEa_y0flwv-%g`T#1Zp zPOW0cjfm?=)OeZk`a0-`({R~TMYP^#>rU8H10Sto*WWLYh+`jpMrhrsSCe1(ZTc&6E0sZF?#Ej< zvq$R{=j~K_d*&S~y_r4VzMV>Jmfxa)Jpn)SfN}k%SsyGa9$Y~3P2&*uQHnO}^J$2A zG}u%R;}FT;B3eAhT9*9T2aD);cZyU5bFyX;Qh5_jg|(KicCtn}u9jf0rD_Im^9X|v zZlV9KAL*QN2smmqyI>yuX$YR5k{&AF^5fio6mP>Q`7w9P1f7_k>2ydt$pt)(^iUg- zUsoHEg>SsB`b^(2|Czqwmm>wA71HECD})pnd3~Tw{tSI|=6xX9L5Py5Jm)GDFV)M9 z3tmElD7^?hGj{Bm(6G~E$DXE;+)rUB1yb@~EcN}XNN8try((_^RWo4&7c3Y!aN)wQ zn>)H-;Gp^Q2Mt^RfP$pWNo*#;Ud(4oD7smK1z^*Mh@3TD3MsyaQa1B z2T`JLC`vlzmlV>75lA~E27!k2ya&Zwt zwyo{FhQV#3fAi5s9O-;u<8Oi8js+h_-CEjabPmf2b-jeZgj5Ue?sTpJD%b5|ra97i z|Hk@(KF3BM$I$DbGH!ywp(qfuPMV$ICp>GvKpd>08^7QZ6c>s6&Et^_mkh|bLjaXt zJ4C`8C^MXRB7PC&Aq6_(oK z2+YG6^avW#J0bJDr>E4mSh41s{4jB2pdVb%%(hC5o2U8H)DGif+bWv)H0}6uvpIT&j15%{CkHD*` zMR4#4jEP^FRagoG%!P!9eF2Q(7@d!(uh2Us7wWI^EW71Fj(*mm-KJCmD{q{*2NgJz zd}%!T1y1o?eAlMo`$X}5GwP4grlEeMfj>Vb?U8&G&PZT4mM-uTWh!t1Ed(!7c;?BS zcxQt84%Vuq*{QiNchs(h90SAF07s~J;ZfjDa!2-&4S_Hi!6Fc~8GT>siZi1zy13L8 zFKxn0t#e-*OE_N;SEp@4r0UNMyF3gr(JcMGG^9Aw@3bT316=b94EIwELkn1x8;l z>nc{P5xexw8>p&xx5sZ?qpU0P4GRlHRjsSE+c+M(=pm~r*0>y^x^cV)l7_|?-PFX2 zf?80->*RIDU)8$uA49N(g*?xfbW+2Iv=cdk-&$9-=6}9x0NWMJA*Q}LwCH`Vxw&Da z))lYAGTe-{CQGu!`}_}UjTS1=a9w5P0YEUBsEBWRm9&(Vqb2z^=~}&qL=|pU^*31 z@$bqFz-+u?k^KpToUVDK8>J0|RoxTYDD+cY1ty%CT-@x0(#l1+G{6b^$Il+o@cqLF zt{&W?Yt4?mC8IpzU{JrcLz{J~*{;82{NFs2CvCpnzjL>GH9|&hygSIdS3TFEdqt?9%Hux8ak-qIn1UPy5j_lgIqaGRuD>kJJk;GkMH6%M6kcM0a$P0Y)?* zt9$QPB@1{7UkB3fy2{#Am9D%@)E$-mXL?u@0W1y+wFC4R7nHtFEms z{_D4MiJQ8bs9U5=Cp$SzS6|_-k9pLsOyhSea_Xi|y5`tE)YbTJ)J>g~@PjIOALQgs z6+qr;c;Ww)yp_p3TfQL)>Q+J1N(GPZwfM(QqXnW`=^E*=Yir@Bsd)#MnNA0EqjXJB zvWyQNB@d*(b)&VM&qK)$@lev7lN4K8hc?`?35$4=77-(Z`x>GoZ)dSyUEV>S}hF8 zQm_qMIh4ZKw4v1B=B^F(AIhdt*ig38MvkDAzYZNedgw1oVZQ1ocwS(Wq9a;!T|?k; zlSYG6j-r`M_jMPA-Q_3frl32(;7q4Aq*Q=Tg`c`0727yLiJli(Ti}e2v@znYKh=Ry zT1X>2hW_3_? zb`_Z?%z3@iiW#ie1ol|!>$|i^V2lkZR?$!AB(Tq`qy}kh68nQk#!)#6PrFAGaqR+< z7O)2_;$AX2+zq2~ciE%lB=+d;czlF^rY3k^nd*C$m3Tf8~* z^QJWO@c7*r%Ub+*1gg~pX&rR!v7FU>1J)v6D!JL%z-=3@Ou0W0QEin(b|UKLjVN}K zby!5t7G-M|vAI%5t%LN?_(`%b^1td&ys?ku7aoq49HcF&b2rli9aUgPKwc4OU)=d+ z6JiY`@Th`I1tfyCvvtCX*6APym=eS~b3ZB-4&hKWXIjkMM(tX*cK7lQ941MNBPK=7 zt=pn;6Czi4@1U?{WVz@(I~jH3W)wSdVUf0ENRWHYU#dA*D^$d4cqhLgqLD!!)u>`6 z=gQ_qtw(klI7(-NHV<-*z=ggaaG~lHbAuR#f}SISBf&=K)`1vXxiMXb6H`M&9f5{F zspgSrs?D(x&Ps<%CLFLk}ds2(0A)(_Zcr}?g9b4;0#ZT#G zRt)mO&w>iM_?xE#{Pt!FDH1ND6K^8z-^7WxBAX2J@*38pG5@Xj;d|b*Cyj4uMQvqmYzG$GFf~WiN z_aU{sJJj~*&_U5C4YQ9Z$J=|jw{PcByA7m=~k4VH}_|+}?HI`R&H)Qp&(lq39h_r}ij_xv;SNLE)LF|K!IpZ6tFY z^#{8g8%x#ykeWdAsn=wGSwl|y_K?#$E;_*%j-Ng>NG_Gz2;R$6dlJ4#Z=m#SdY`Jt z#Ktx7jsbSAb&XdKio7s-+6%)^HGGJA85l!5++rr3 z3qH84jzi57cE6VILh^=q(y#DcbuA?L@Ul9NZgxM_bf~@TU~nSKTG=h`daC!VPQ6w& zsZ!s*gqKUh#9p0ddFyL+n9;G}r~#FKX;SQ``jr~T_3b#LgLZYJfLdkilquus*m>Rx zW>^(+HMX1AKo7^dWy;iZ@EFi&Icej^US8GBc)a6`_MIA5YF*BuUHJxGI!y0?{}r25 zuH41isa2(ho!ZX;89jv8N?pwV&l+e{fC77A+!N_^#id2ornCZFKQDaMO#Udix~Lj1 zEE;pG?N9Tsh52pk>Fj%KDH4Nq-$bj~`MWpR<)r20^l?&Bn>KM1!V}sSY8RuO;@fct zn^B?MCl^l`=FHjV_HgeU_>$kz;Bb=MwlX&A_}H=$*TNT(CSg>S;4YY?MQjd4Xnw*F z7l}6oZFBmjyo4}(AIwh(X2JY~kR8-9d-xUkrTp}|hH!J@ zS<`Kk;*fzAW2G<3_8I1}{brg^XU#l6pEdWyp=Pylt$YYqSm3tTHDHptVl(M=7di<8n2Hs< z8bjgQGU$uEuroTzJWDZO^>R(AIaM~gUtNJX!ZWP@9;6FvrrQU@UR9$tJEm0S<6%ZL z6Pa^BZ=q{~PxjpDy$cL>kUPIK@X02JLOoLSa4*T%Lv*Ew7>=xF>1knMY4r2zL@Ik{ z{P;WUQR1MTv)avkG&5k&>^4NxpEf~F|E$8}P$@Zy%G@0X`TB8EGF}`<4((>8`p?k2VJ$3VCi;ZmCDJA-`F+^>ysqtFQd3>5KvG zgPK<~vnb~1WY*HVrANugG;iefJ0O}NXDBVrJ3*R+ z&oSR9gi~!UOT_ATvIRHbYh49VH{;#^qU}B4qDq!{;pubEoS8ukh=6)ch=984nlYjn zP*G73LCHxJL_kzTLB)g#bJjJk0nAy<7}lI~x@KJi=E%&Pp6}mhW{_Rr?!E85@29{_ zhwAF;?&|95s%o`Om!v+42jXM*C;1HTW~1Rp5AGh*EM;i7fz1Sk(ntDQ*T2<>HyhXI zj%wMr?iNn5V6WeT(3$(a=VN#A1OYyQ0I+W_aJ^>|D9m;$Or+qNEx4bYe1HDokCuO0 z#`NtH-==kfhsW@eFH7d~xs%>4UHWd)#mug;UJIfIEbAwMvS~W zd+d$T`fc36RxusAB(%vG-qf#ksmImc@VVpOtyuPcV&e0SotJcuZ{wcSY5KS&)mk`} zo45*HYb+?ZLmC#@!5Xch1#3AXZT?!d;-*R)=Ioo)BC+8)eU>e= z7WeZOZq0RD7=^gOLIoM+`ZCh_F}n(piWy3XBCH`y!;X${O^-aU{LprAX#a^N%XS~` zJ@imKsOFpGQMTl#)Vos$k4_zey>Jvacz%4%1|I$5PuJ_&Fz&(ntXCsi_pQ5E_i4;V zKhAIc+*x~l=LOB&Xc9FI#`0j_{ym_o=kJ#qT2l2TR-z{7AZldw`VgE&;VN3k|mxP5b z^2f|h<PL-D*CbyfAM;J>YNHlLC7Ssdm!?eH3pSSgX4BfY zqrt|ct9;tr{W2fxHBVkhX@ZU1oFf*JgH;jh$H;2TJguo<^GQ?AbC}mpUQ_ZNcnwyJ zk=bx*T)p~zn~lmfahttVF+1CDUU1k#Be%h{;(n-0GJkNeY4ezywrZ=Cx0=e+`qXx- z)WxP@rJ%8FT(<;luxhNcHOqlp7u0*&o%LlRU^-~&3)qwxV%}{^&$-G=lR#sFCn#JOyBP~S!c0+c6gU0Dl@f#+5Bl`mE=~5QgPLvM;lyb;QtAk!xm1(8E!E;~ z=@qz5^8gI&A^dZ|VA@-zs$qHq=x~YK}m+~9JWBNeK7b`&b; zKk}t@DTCRA@?etub|V@v?r(w($_6)*Ht}2uYQa~eR&d`?%;$bnpIR-&sZU_YqWBj= zy81rwwquPe@T@3~r}+IBOPZwb%;op{SMo3V{Ojn23rD9en$N$0p$WowlJ0ajy+*In zZ5Qv{x^?^ZtsD1%$RNz(h3fP209ZLFn>a#Qvr&U5?c4te6d#;@eofaH#YTXbjnO<) zyO>8|3L@<F0*bA2@gUxaa(bpxAcwC9 z@5;BD6AwrQA3j8;%_#K174@qZ>H!dUwuX|5H|_*Rqbc7>*HgKV%Cv|W{Ddhpj){dXs&9vK8=Bhi?z`Y|FN z$OL1?`(>N5GlEG4RG_7Tsu{2qF0S8!dA?)cuRHbC>QkAd-ZST`f88Gs?w4|Zj(cMJ zc7r>09_GezQ~3{VXFOkfp49&R=7P?i_m21kMQuw=Jvu0-Ra9Hoel1%@cl2hvVGm4? z55|ep%QS&Ea_&+vze+lcEUo6u1w8?W2?xR<7~je`^|mll2=X8Evoec;m_6n}Er>D% z9P6J_E)#cx=e(G(JUw=D^5qE=FAqs@9@}|XJ6@Qne(VO~F8sD7C}eH_ZrvXo@eYaFF(lW94q8F@2lUy`-(B=&(o;$%yOg~&EOAnn{X3$ zMxoHIM9O43UGU()AO%)M+LdU;6J$rKHf6f+)keY)XlzD@mGA54ElsQw%pG2Qo%Zxmuu> ztz7Hc&lD0Tr(FM;B36{!y74nbAacr0mI7)soU4OG|965R%_vqd1f^1?YJ#iW>TMGq z-bk^LQ||o4jQhcDMxSAhB@bSA4Bi1?Rue4b|DCi%ru~z&1cV#V+1w0%9+0_jLMDaI z<)JC1IbF#=ms1{@QtDv7 z7;8ZpD^GLG4t~2_=7}jKilz(cd@3M6HKh!~yj#e}BITJWWdvGpESGt1N{OShgaA3^ zg()Q*WyZ_3{xqeGLK#;%<)tYl5-Gm?SU`SdO6dW7KFDQW=fjyLgvgNJm{Ouq%U`aQ zYf9NGjpkMfc7XHNl;Vn%nsN#Z^W>ghM5y}xLM4=WZ%T1Oij|!5!IXkn@)v-8%tL0h9LkVkRCa7aQDFjdk!216AFaZ$rt94V2EL6c`IInS76FN z;r+He-lNMwp%`c%Z=&srvSYtl(*tRX?ezJ=)=09gPv4=weu)p>9X|Z5)wt+WoMk2n z?-JA6qj!MkilfJ8dW@OS^Eb^wKnyc{;6DQ*ga%kG{tr@C&50L=l3bD+7@RsGE-ET0 zCEC|#IQN)KJeD%@VDz}?^qEPQ%J?n_b?wo+O*^m59&K8C^>huM_^_OSz^H7(ge+f9wIYOOayRH?;m)DG+<6^sE*?1a&5O&E z=@AF)AEGiOtiNGjq=Z#v)X{kUsW99-bj-Lgm*`42THz4zx`xtWVvm7a`X`<((|bW! z$6m3%euL^c)#BU^(x>&B_gyg{esefO6m5NkB}x?*F{5Mke-N-t$`~eIH45A~smHK8 zi?_b8`m`=jf+`UNbH zjNKTqE5W8YjOsdOoW?mbN~Yw*))6g7 zg>;B&%JZp$52Gbwl+HaerFHvbYh_x-Z4BGh*w4i?zD1upjF{8|^KKswTFhPu*TU38 znf6|r#;&5kg!>@CQ58-rs>G_WpFwaVMIhb4`Esw3Qq7bSLpSg@Q1ZEQ+h{K_;T4q+bdNdvmP0R`+zL8x4R1Ch{ zlq-Tna>X$00iV?}yJ1>o^N|1Zq3*w7H~fcx;y1v_7l*ovYM4fe7!nyL95nfd=*)k4 zO#3G$!ha~1i?HU=*he)sA~xD`^BqB?*+yEL&rA8M8d=75jhcR_sgsF`IUulE>W`GK zGAzsiz=C(Zki}n7%`L79-lHj*XE!~7MIu?ty8&0o=< z5l173Q*2R|;18(k89|uk>MeXp{b#@kLe-JS`|FUz)njym< zw2ElaG~De$a-vuseqysdZcAg6^B(q`Lzqsq8LBFbRpm2?(f3(Cf+$eeHN1JVu(l6| z4-v~BpqplQy(f)I(cSl)OLwEoefUgF#WKdJ$mbv>kk7$Xg#QFvm~u)CpMzP)%3#*X zDPjCJ%sQ5WF_u$&`5epwRtvL0PKiUAhjL1d{4(1xROL_xLnW8#2*|VLGFX^$iXUp} zWXKp4ImI6-U*%dD6gdSuyXGX^8JxvhJW45?#1@Ji1+ZiC3hRO4gN2Q{t-#XZa)44* z@E5o;Y*{|)!^^!;eFtSXIX?`JC=JwQ#S}7QXut{2^n(9LuL;J3B z`;Lf~$lzlKR}d0QZ9u|tmz8+vRg`!nq5qgdaJ3}5z(zZ#3wA~N!7%T^64^x~Pt(E`2j zQiLcX{<$a0f9T17)zi<>Iparc3klgaVth{Y^T>#Z(D1N`NU|er`-llS1Nt8sH*#m# z@c|KG;SrIcQ9qUyNq|Xa0wnHFNZ6kkEB|>A>pNir2ryy7F=IlZ^nW6Zh7qP@hrbbK zuwsm2{Qv*N`6uELHcdXq9vw4kYhd8kQDctA%ESu`4~rr@g13!I+Z`IbGi}t4kmJ$e z;bD;xVf~6Bp1N7k_SCea17i-e(kBLlM})G{-$wmECaQKrF~cAomZzbh=w^6XqK_=@ zuo!F2jBKCv6E7iYIHCvVfl#j8yqSjb$@;978M20Vl zZ%C+uaL(cdp__V%yjen{&pE#)E$LbD0=YmNVaH4qmkKkmftxJt*<}R^{faBZnsk=r z^Nu*u3*u7Pq6DxXSbuB~FCdbe5grP25200W`N{;3AWZZ&Zirg8>Sx}5d0wQ}K5-kl zNoy-O(nI_x=+&NPbw3mBjYmIwv&|nkAE)RP6Vs_{zkVDseGorJckCJ&*|lS|`7eW| zz9Hx>8vd`a)Hlp9%zv?|-xRY!gm?_9!j0$QdDRGE3&vcyNI#K~JQ6Bq6SyptCYiKP zX_P)I?ico`UF9na*_f{ijFw@%hs_oTE1X8i+%r2Tv<~$0YS^O7AG^kP3hLagNwZFP zYiixeT1{&8aVxq02&vViwjW^4R-Y3_Tl6r)a>0QDx^AN(pb=KU*~Bnm37WIVZI@ z$jvT^@&}GYd&b9m;zxWN-Nhq1+M`P}Ce<);1K(293u_fu-b_@^-w$x5!rWfX<`Lv> zj6Yacb{U z34tSPhqVN4%h)DYFC>n&$1{hGB25J@ABhOcJ+}E?!3FATu1It0u0NR?7@W zz8lpqU~7v`Rkx+#WVwRV9uY6lE&0IMJtTnXd3um|yt?w5bb%QggJguJJ+G=qaqeZ9 zGIJH0rtc=tcuspm{7A?B6R**w{};T5XsNh_4pvtvyn3XO-`}4(|Nd*h!2bT~3RyRA zW_2ApL_xHv6#*{h3o+T3^N&*y#(7!cc+h~AlZ?`C!%GOVkD=qro+ zq%Z3CY~0-(utX5z+rg!wtqKoBNY!)IF^H#^(ns_34I$%ui2Keff34fJ-r89sBZ4dq z2JJO5n@&^5V@P81n3FfrenQFub$gkk;TUD-f@!S}r?Uuu?ka9@r-7x7D0~0D6-_r7 zbavu?gP?Xr^?_PXCf({aB9+Fe!;zAp3sP92OrUt1R@aO}%3$rExJe??A!RQ^Kh<%@ z5!&NM32*N3O_o+}9nx-dwfa>{sg74)p0lULz-9xJXThmQmmqDIQWU|cpQL4SKGEr= zCDK)#{PJfy){JotJL_xaT6>Ova$n;;I6OhkXdV~WS|L#aV#=kM=(D5D&NTYq?E6*e@r_20fP}8I684l#Jx<< zp~Ep0w$eLkmZ1=<(_ibJkkB2hPI@=M!(#yZK`(M7QEFw7BLH-ib(oC3HIZ612yC~x zVW*P=JhOglKCtVW{zEXe-KBT5xeQpo?f%I{?F(>J9oIcRo;AbOF|pR4?U~yJJ^iJt z)LxM)kH?GewJ-_lQ5Qo8LsNL(XK5Sa$yTDhDt)7e4I|B)3wvPXuN#$aX;B-M^i8$) z6m}FpH_Ob!*r>3z;Q0m^7c@XLMkavSvu9I>F#iM?T*Bzccu;3-KA+DsQn0}^aeA=i z$JkPntw{x%tDk1AT*=4MF7xjsCEcDo|JJY}x8}tqBn-xX1UW0Ke1~B0&$N}eem8EA zu_JHKNS<+fB>OY{cFOJ9!;_O{%t%TeJ{y}9qO@2>%Hh5CF_}lv1rEII@U{tu%KPfl zkeQ6>Q5NW@Bc;hv_N%8_A-ApUmp(=oyUeE`39mo!tXp7($o?8vX>*Y1#JQoS_GSfgZUaWyQ$ zzb-GTMx|ogs8IdI-`jxCr3ovg(GHhkrr{jHXz*jkj>UO6hZxB(@+uOA@`a4$PN|es zlBB?^@*`+2!;x|QFW{7L`f`^jES!pfLm&;`)5Mti>@3p=VR-)7#SPATAXb-V?&8-v z?%)O!flJt_XIm}Gm)!8T@)k;z|GL~F+*p1mmw@tvcbLmp`aAsc4E~D;6-@98l;`vD zG55Zho@HK+@yr+bd zLGksjg;P;r2-kyrQTN3J!hbg_dpq{Xhc(wjspRxqgx-5~8#qp@6eV3&w$Mkvg`FEv zzJaMcsObXt3Ty7cUZJ;s3#U{XIPxW1@RPJ!-kTK$+y;m@Xaw%eED(8h1FeqZy>%P+ z3cj3D)M_QcFI$%>m+yh{eNE*tomKFr;#I5n>NfJ;oK|PxM9XYlmZTIJCYWcRF-|4f zW@?=MjEq2u2*2xx@Y8om>(wWu^}G1#`XRfxzTaDMeM|Dw`RO~P^<3W_`XMaUPs%a^ zDqH(M0xH?zC!kLUivc9CnJ>>ArOXatD%+8bt%jH9zY6o;?&r9Cw=%9%(@L;#*MHlC z7~LNF{IO>F{Mx^+3b_p+>j+hn={2fCZIqg59{W$T|I$XOllo6hiNf;ie{O@2?HGm& zFxJDcg;{~5m=jjQVJT}5KU1ckSmP%-^6rCzI}KmdmrRqw3XBLNVWm9A`R&mU)(_di zVSeS^=lbq44U1TVRgq??FK8Oeq7W-?YKGV;+nPoOBWE5hX%?S>@l@UT+3t^D08qiP zSx{mgv7l|n-q`3=b~MKIICeYo+O2@fO6eZUOg zvX5Sp;bY@Em=J$3QM@jV+QHqE9Cz^3Il7lL0Ql@^Dgl|qg9%ix|GJC2!`;KAWV2Bb z0H(f{5x-wCOkJKBCZ-O4fEr+wYoXK4!uFJAOaaqoDI0#KFsMk`_%p>+3)`Y14K0VF z0_GX-TB9JbrD4mv6>s&9!Cv33-0;1!q^ zj>m~s`1Pc&1fPD2mK1(Dr7NT0I9_p4wOLHW=>Z3qex`_R+}V@DlT)X3l}`yzE}jzp zeNtClcyLnZfOF9tLz)GY!jK5q+kA5@Dri5e72naKVh$vZP3kn3GlY;i%96^G>NGiL zhC!jJp^@u=c$ymDW7G=_zznz{z6vrkO__-7RhDI0D0Hm!&$dvqm%WCUo73;*yYL>Y zQB|6Dh;lkBh^9BnO{3rt_F&x{rKPgu_YLA){T_w{HeOclCnAh28V>JRnUK*&8xi_` zNKDrs!V>t27AtC{L3j`Kf*&!;g{&mQPk)GS&$kEN+M@B>atGumq|khUQ#cN8_HC8j zl-;zuOrmTPB3e6%Elt2A{Y^`W-`C@S>#wVT-Oe76dGVJUc2APrIv#jsr3glp3%6ax!a>&nv zxxZE}g`iuQCHW;~)21+Hri|kzVk014CLDIz6Bx{$(q0arY0Gu~ZOxkBlxgg@cAm0N z(<)V(YBTXWKM`3(QKjk6ECs?_<)djW`=G$`lX)%tr-n$HO8w)<>0(+_&iYg5_y4@f z@hZ)a?|&52B=7g9H0wV!Nfgs*PKlBlrUzwfqeMyVX>GQ$v!KxCDBCLADiDJrzkn&i zq?@Lcy0VllZR2_>o8fOZ*I7S6+9rQ*YfKkEuvD(6HixBhosFqnXMC5_F+B@{Ma!bO zW&V=BzP<*3-;9A4*Mj=m`q~)$f>n&N0ekuox7)zTQ6u6%_iwqqo)X@~q&f7c;9_o{ zG{14(o-qjh-US+4s!9W@i@2b)!eX zA-)*OS)5nr;;dK|bA~zl|B84QE{c}yRRSod{;Cj!J*>0YlL;PnJiGd3-gxZ#m&tks zzOzT^l#fy`jvRS0b<~BCBQK0<7wbma#(v+m}3 zeH2U6FXBRz;c{Y6FJbptk%-1lU?hf5;VJgsET6p!KAkSu&}~lF63y z=gDh183&)AJ+;O;n+=1xzlHkwKlSVB|3OcLp8pf_9Kt0&vPe+ZfwLFmjl_v73zuEN z&QAUfqgoX~cztLRoe)8tu-_tcNnWYbr+9gf9EG{zHfr+Z(FBwqHPYKFMW^R`bZ+o# z=dMR`x+BEw$!P=z9S*Y!RP@Yr=IYL)VtSAY9Yc)i>gq zG4aoGI3bxzIuo3FhvQV5!N^n&(+{?i^U#XIkIXkOlN)EGi_bqCo-}j`mHA zpx}@aB~3RYfOwvbxjQTZB?BroCBYq7X@Y!&S|4 zbv>;AE_lDRpJIq&INOX(e1OT;1y};~xCKHn$O67m!!MTtQ!wh5pj#zKO}shg2)v0M78dX(7TW6f^X?fafBp3T;#W+tj4j&A-DDS27+m~kV@$+x z{9%1N?P$IhKbf1Uzoj1m-zRi856<7B1Ol0BvfZ4?SaL1Yv|>SR`AK{&X|O(->&qV| zyeLsAk2kuFGtHpJ*rKR#LYsIbm7um2i_e6J&&B8R5Qlfj_2u;S)#1ah5*z3ZZLYGg#4=WzyV!oJ1E+sLh6k5x`_EYPlV)&NCN z0tgfk$Hn~}jWC%Ijal$2D>+itPm%OBg5ylK+wSO~eDrl92a_IsNGsWE%sjFC+hg zRXGzlW$n5J3%bM(qD-V?+I2ja%}_Rm5`V0T|2|t4|6{f?NUz?^|B!#-T@@p)S|dyu zG&Y26Qcryvx_VyTIsi$-9aM|ozX@uDE~!Tr)BfC5p^EMaI%P}BYVM$64n-OB$DN!U zMgdwCnf>#V*(5lwDwSu@pW+*lvTUHGve^E>A#}i;eNwRadj;VXgi-*)-)o~@dDOd? z-#%t8QKDtUKC)6pbBW(u(;uo*q%0fRG}fNEHLSrqP|+B%Hn+y)s{*a@kw0ua3EV}j4Vl19QZP|g*@974cam~Z$|qzF!&T=b+}72EUAmE` zf3M1DgCfq4E)zD9zA)%gv>=#cg>#`PI3(426#@b2r3npoP5g?sn03(tVCO+s91`E(>v)?OVled0Rl8G zme?Z;##a`M&nzg);#op061+sIFnz9JUrjKV5fGR3sC0x@r7MmdBVpt*ha(GVgWr!y z7@lWdL8~J7C}!wa@;hmqnMu#%b*~b53ivg(z^4mYSupqboqW@${)g)MO=wM}i47pa zP0a)`7_eT`HztVaQj9*w;&q9(@(GBY1pabfcKqAHTsoGyZChrE%k1|TYfDX)8a1kX z{$AP9QJ<5aTt9Q0*0GYMMdcbbDu4b~$*}-wofRB^7KHpsVl&a56>b7ZT4YWa9-5;f zb9@ABY(?gT2rY}rnId#9CTBW7rI?&md`2-je~2}U&LJA17_3PtOo<|~Mlk2u#pF0} z%z~i^x{+V_$;ITf@y{i^;JSAT|{V%}!vd=ptyKEHC_0OiqR3){nAcu{8LXzzjEvYNt}MSXbt+6jP^) zAR7thv)p`spsXrH6;r1HuEC4Opb6fdC_1OB;809Xuo7Esk^Nc9Uo9r*w_-j+kxxc)fVqf@~<0cr#v~Z4@`xnmf;g86;70xkp|H3&_O!KX9j+y%x&RNCJET$bZ z_b*fj+Tyrzn1q&;8{(IFdbvs}p+= zsFVWxEYlX?pZOhJcJC+KSld4qBz-e-_8Dn|*TRlIqfN=#3424XpQKHp4f`fto<~37 zQL&fHi7;SY$kbEdTI;3d>S4?T&M3#Jd0~`cIxh4rz^2Mtcp_bvSH%H}mmEyyhy}G$ zyTGK*l&K0g{P zqYXgHadvGRiGwBK89lOL195vsHtTx}TD)7|>&)(+nd!?(dAzn}wTR=0RbCx#$MLDK zO$Ta^;RaO!!9987+lUNBM`b;pJ?qEbd~3v>T2_`qgwJZmho3PLP&K2Js=Ica8dn>( zQ8PD(Y^HBlts>T&gE!CUXGa=VTl9eDE~7taWw{VrxiQJ}rH~%0{7!@#T?$W>2%&^hPxZkTeG~#UVhvB745h4HRJ)Z_H-V)}}y++D46(2!>)dZ^4~0)N@RY$u%jX5D)@pwt^uyEYXjG0QTEitDAJc4s zl_(7JRcea|bk5WL^x}i$9OC;>YNNca`-4m0x|_aSG5YnYNzbOMW3SS~d&ayXtqzWSKcWo{iLV|jLsUKi_KxQiv7dQ zN|bF@@f54^(Q4D%_P8%$mm)Goh}I=GcV11u<=m#b_hplgSFe#uOH0$M*85h#g+A_B zTK@&1b_fxomaf)M?3GD=Iq~Qiskv^UFIyf5f!AWO%L$5Iv#% zXo|)iFz4W;VQ1sSZe;Kh>3@ez%eRO3JM?fUSI;^mmUsG{em{Df?%BVObi8t%R9aF7 zi0xmIbU1F%@i7AygxJyfeD0R3Pb@XJcxB*F8ut%KVkEJs)iq@f^#`LH(Qx1KmscFZ zujR_iCXNK!VLIU-!4JP&s>+q72RU1*s`4_6kE^Y(ysVR7(EvnufLUj;1glU!6^SV# zBC-RH56p@+ScOX54>trsoUNJC*c!LqGDTD_re|$L6;E)}0-qumYuq}Bh`)fLalx%C zX;UXz*jRV8u3kTZ<1J!_+x*MYu2S27-MeSWb4m}P&cbuicx%&x^d6yB^1`seR@E)b zS87QjDv^!+@oKb-K3WKJ>QE&lkVkk0;qGZ?zhCva(l4>Q<6OpdxHPvtOU^JAsK3#6LDig6`2gD_?7R4jx=jYe$hG8=OTYde=lM$a8fGV>B?v>}V0 zzH#a7scl>L(ZPGpkr0x;iC#L@CCt}7qHbdJUYP&=yTjmBzIV=_+Vt}E7dmn~O;IaG zzh1NE)5Ie?)2A($Jn^>Fx4kqk!@F&}z}Dr?IiwvLb0E9dlIZmt#2t?wm8KI&YH8y< zD#1LQotSc&%_9*Gcu0SWoh_TKOHv-Q0G<@M6~)^&igavy(@pbB(GQoM)*zuUUH>SE zB7%WIxWeX?5pKx=GF(~DKs0I>z$c0`fO}pv#`?p)#&qS(5?^_qK9+iyrFZb0=ss&^ zCdB9J%ZUm-&r6tjR}IfJBDjHhp9PNQw%N=^)RHEIjk1wJfT7x8Cdzw)nL{9@6sHmO z3xntZ{#Afhtv7P{*X`Az6LQBNWst`gSXp=Z{&Ys1~=vh)`S zcdm8&zKE)wwT%4sghb_y>ppSM*Bte;nK1CgfPj%`T7dOKh13hp%l=kP{_=tC2Tsn+ z`J@K-m^9g(l95FkuNpsLH)*<_{<(GLGmjqc5%c5yGOnZYfVSht4I4HV{Ck#uoZK%e zs^4T%8WPhALs``kcnYzRv}1-F2x4JnjUQ5m6YR|rNHx5oQpWTwZ5bw_)F>-#`10k8 zpm|Fp5iUHBM!tIou|tJ7n|^ysFRi5SHf@pxlyVz4k+LhvbEz(OO=Tg~NXa%QP%wnPMifgRvTRqgobbZ04kV!ZvnN4X#_Qe(3fU8LirQAKbdw zYr)d(k~Xnkqu1{JXuagcONP(LBBdA6y!BgY?#h*=5AY0wF^k8tc(#$ zmumWEH*{;*&Z9zurL*xt+T5*qWTOcgO$YVeLqF_3Dpfj`y-)6vm!Vc0EOxz1~ z1s8mB8fJF>bb;{KT38@Z2Wco5v?GqCALL)nrCgfiYcN?&LFGAZ@hc1aILhA=2h{ zx>;X`n{iq#Cr`XG;?ra=?`gVUiw2H9nxO)` zk;Mz~bTipbdP$+u2-2Q(m^CqFA_Kmg@Y80{&s-jNOWtCCo$1wm%BSQj>631xvh9f< zD~wfL1iAB32Xr=zn6)FI8x2NyKY9_blr@qlEloybR#-?@P2`m&a@fZa zV-V)WTWNN=F^@_2N5q4ic=?{X(xXpE-380(xo4SQ7qk(YP0*cKDzu8%-4V{OBK1Gd zp!=l*bnI-J4mYj~q|u*b4XHdI&mx}IPNS4saDyI8bLeO;`lYlC9OfVdh!AkZTCxQz zXC+IxCZV@UW7$s_vV$w%2&ml?^3eJuYVj{rri=~^Gh|tSE%D)olCvxy<_w}_4hnGDz6C7u4Tp*t&IIk4uz;66Jhk(;YljeH?JgT}9UtJ=+Nr*(KmJnx*u zo!heKYv}pgw@%Hck1n5@_i$;wWleTY7`ClHFigdS#+^8J+{Fw-6(uDU?2*}2YE>{@ z&GWP51ps}W>LM67FMAVX0rYf7P#`(nC>m}|WSMwQZi|fOjXA;cf$e9V* zAvaD+x7k4&Phy=kAEjZWn}3+bPF5*7l~+5ispUQCq1JVmZJM}sf}v9ngutn1m`|^7sC}L zBL$0qYtNe~fu+SP67b6CT;ff)a5;aH4q0&*XM{^L2st-)i=Wq~DReH~tegs4s4(u8 zDv6Y*FEggmPbcO*UG@v&$Msnp7QNIruN1XW4%7Yyzf#33xS*`ld=s1m8^|=6Rpbwn z1w@=6<@^ceRPd1p*l#%Cz8>yW2q_i~~%;R?BY-uZ>N^`hSK0ywvJeh@P_*3e_ z?S1Q@nw90+F8_9pvi(T)LTokJ6*X2@&0oeUy=+`837 z+#f-=?mi;S_8{$c-x0~~RGqoXa&dqDN zc$#R#o=ey55j>b5fo{WO;eo!k?j|mERLoSR#1DA_st}p2IyQ6m(!6}+U_v4GhawO) z-sArTQI)Osyc-k;wdf8KOZsqYe<#ZQk#x(h94TPLdS8L+{xG3i^$h(L=$-_+73mHk zfa(YwIhYm!mL&fR@&aDEQK%4w$TUJ$KpQwA7KaOdfIPER5JYJaUZuKnkvx!=*1pJ{ zrW5ocw}f6+HT!XzHL2=w@P~r$#-dP%O69m*7)ksN3k`_Pm;x%<%*IA$@g^}@S-6R% z`qw^)XQ7Z=x_W^;L`xUAGjzOO#Vw|n5nfIbcCikgF1ks~!2{AFF+$dPfuUgz4kORy zWqAP0FGA*c#`FP-Sf=w*c*5vxwS^kzJQPRyIPOD%bfzOSrVrq}We%y}{RIcOrrKd? z6$}``1VWj4-@0{ps#~~E@5ZgVT_cC4c8%!P!=;4>?_VHb1oOvLaJtT74h>Pi1a(S- z;MQ1;^4S`0;*c=)3CBqt7>n`#o<8sw@8jd;C+3g=5N|Ww0)k!f1H*(0;%b_yf#0PJ z0rWINz*1)r97q{546hA;4EFL12=?&~5?ABNfN(C`JtVxndr*+Uz_q7MgaHZ;p2v}j zO5X>79?iuIT(B`B0EH$U{^NPn+EB&th?UV^{qBx35IJNmg~+rN`2G!qt1b&859II2 z7t>^xm?VE^uDDDuBr?4a%A0w+$ap)xV+;^Og|W~}=K9J9?CfpSf&jPU@|XZF^p;2` zrR1@SBqikZ_88lf@)&B2W2pFnvEmFDfyY)%KgKWQlW19$?cetUXqarsetAF0A|xw+ zN0M7|qEyphu3hxJ8?TZ&Nf_ubghW_#h!neZ>keJz$ZV#uc_e|{sdzHf+bhdC7 zpGocLV?#eEGqFv^8W7MmY=PgQ*`^PE3m`wG^Hqf@DqDH&Vj5u{!CA!GnsW_)4Kv5Mdk71zd>+nM zC9}BxdJX?wT1*pAZ4+Nl*s5|iRzt*eD<%9{mC8*5FU{o!=_Im%8zel*Cex|mrSyT! z-W~QB=e=*@WtwMk2KGKzwI2NHzr%5JbYxaoj*d3MR_JYJ3cOC@2E(rDN#ILD=n!ch z5gv!_E`&7?b2KmUhHWiF>My)ejXO^Uynaa{&h*Uy)?J=*jr=AUK^D#_R-Y2 zpQQOh+acYAcNMMv{Y`>Psp70+mUS`h)olkyxJwW{CnbjhuwIh>_|KU6TK%dK( z+aleK=6<0A7SUMFDNec}IJ4Bv(w+QN=RpNhW4PLMz+yU(L+VZPVIeFUYsX4A*7BD6 zFYDOHn}V;LI7qs_mM^3Ku#Wo$C8aGzl*Ggu2WHa~kVcewoEw2$eX@l*OY9`4;xhF8NOt z$jX(bP37mxOlo4xLjL9+QVwz1FW-Dj&oAFhyuM7iniP3sQ{er{J`tI1qr-g%49$vd z+$Ya3d`(1`rKzJa94kZ12K~^{t~>%k*(L>A3t2Y`2IssLR<*F zwfy@_)%A&4Src7@gL~m}ioGv>PRuM80N=;5q=b z(rf?*l^F)|UfaYNJm0xMtQJfb72hM5ygqmO%^MOpa8RJ%^%9Z(gbeR%dF#%YZa{4P z`iZUq0ikR7sx^M8HfB&j_l_C_94RTb<4>vdvgd^Z<4Blacp5@hXxZ|ozB)}l@;)Qu z{o%>ZUz_asPF#=Xkk&tTitQYGcW=<3dvC|y%SU;18MPb{KO{u_NH7eOovn=#XH>@U z$~69~KZ`l@^*zGRNZ(k{nao?aK%6V$Dxs|=0X5iR_b=47Mno%YHkj|C@zF||@$la7 za?hW6_ckDYP@vni@%_36_ipt|>x^+xb-Q=&R;P9w)%8i6HcfI33LCdLATr4)F2`?q~M9)ykOIXCa$UT4v>`WN*6Bg-LpX37r>9|c~A$MFmW2iDw zTagP|Bn`(XJ(n)fDTV;Zq^MvH&eI!O9S*^Hlys_efuxqbch8EBM_(U`8FaeF9cJO> zP}~?yNFEoJ9MlJ~s`Qq9d-Uq#@71Gk#pB0`4V`|0&QWh@-#4(Wo1fp@_3O(+2~xiz zKq1f-ouhe;b{Qyh^@8%B?$z0Iq#R8@OD7Y&{?lap zM<jJ1bdB^g5IC2pnJ|6}>7qEmLQbU?$|WLi zN>!%@h;TU7@jMvNUan4`xkSwHkA3WklTpzhffKPNbiAT*D zXfj>nkD9h@9@smgrjoG}ro%$$Cz+j;Cu3=zK_SsRc!QkSFZ%Qx&_i?ZSV9MNMY{Is zQxdRplUTi0ea9Ii2K4sQDButbsAV!ISPk@DTiWD1m%Z zM+P)_<<3XJyw<4z>d*=tfIr%JAl)p}0-mqVpC7{Fb^6wY5( z9>O`Dci2VNov4B^a)A>ks+?ejbi+v}6eW6vvX_*pPJrtH zmOfK9p!+UXQf8aMT{pLEN7M;a3Ou=|T};T8QA9-CYpU#}SZ6HX%Ur&R)jGL&`@fe~ z=tX}{t&WhlN9Zy2#L^up8VTO#iZggMqJw%IYgv93R}Ph?I@3D1!PYvzaAL*X0UIYd zC3RaKnu)^MN*~Tg9m+g~-0&=lv$MUOZCP78l2*Q(dzn(Cn#QtD-BL;)x5q@8JSbr@ z)n99kS^o;J$W2s-ViVTt8ek3*#WuhRFr&}p2Jk4A)wZ^Y-8Q%CK$Jd&lY1L{c{J66 zI!>U@MKg6^Vt~>%R(dCb?rv()UfGNAfv0x2iwVA(O7j5y5I;xo5yIr|f`=aB7xHs1 zT|&k8~=*5ufwi^0UO}!YtjY5!>fI86t%bdps9yx=NYcew?}3 zF_o#gv5`1i8zl=eht&M^xL%JssVO51{jVgB@3Lwj< z8}|#TD36(q9G(m+Nu<>AX?4ZEg(InWAtZZ4*H&F;F6ez5#TQU3a#-<|5w9Opy&R^u zze<(3XBdV7qCq;MJ`QCPg4;E*SJ_FPFNjL;5e>v@=Q(C(aZcGu=z{rSA#dTpSDwgF z>i_)64RIaZZL@1zUeRVqx6Q3Ps6!0_r}ngq4Y@d)aK?{8m&Ond(8fu6}MX~v64q7>OI>4o{LlwOFX+9P(?W*y>ml)2L$OZ|G zkrA10!MquR5cUN=OG8OjyhpZ_#<&j{;NB%7f@nJq7|_upBElkBc3H0;)xJwuSeN!u z=D&~?wBi}M&LR;b${elbec!wt7KBZ}wsjlaV`ALp7^0>RwA?Gw3VNb5=CGgUzvR9g zN|4uH6<5*an({LEY5;GBjk)Jo;4?9AcG|0bdU*Nw_44xLlKs6s{rmLv_NSTh4m|q` zouhJf3k+=6&d(ou7k{@lK>=K)b?fZdR$Kvnxhn3V%QO%EhsOMSdIbgd^bF(@g7AsO zk)-SMH*1w&+pysFh#=XfeOOrgw!y*N*}Hek&~ao8LRM<8qh~ACXY&UJ@frC7Ju28c z{fO;3`Xzlmz5V@rdi!xBm{j5C<>jwFOK&40>`-%`+W7~xZ4=}V;MdTT<(hl>qf!iD z9GK zZ)MM^=nc|*8!fPY*mb>r zZ@1XkZe3$zq3u8~qdIqvVm~qxoc6Bxg3i=@lgC^RjahIhQq&;#P_-+5G~cdW(|_o1 ztll5|=bqvzUQzxo^bKEKhzwqoWwl4dMXqpud2NTCw>jqzcaU9 zWX?hO3vmd_4Q_pj-T2EZRv8{6qNcz18MEpSnqw;~h>~RMpBMwaPn;L9G?8~pG-!|Q&M>lUJuD3Et$<29}=?y;c)vNQi0~b&Huxibh zNv#KWx6QaW`W%UV^MXX49r=KC&_W^t&i!#6P*=uzyAemR43idhM8A^y8ANciDq2^m zK89hq;Ta^wa_qu@IjWnE#Vn$s>AuYdfly55R5D8z1@21Poz1ShyPg_2c2`*K-V*`? zrg&-iX1YlWNX6sVNt5-F`{|EL9me!s9U72yXRgc8W7B*1tRGeG{j^--z3U8J_R?hy z{qRRD@SFgXm{Uxu<=h#bP)RSrUrrGvtrRxl7%#_r>1frMo!sqYodiS!46*t24)T># zkQc=6bN!IImj7z+lsH!U`fEsSb;XX3!^V*I^rc$t|AQz?YN#lVO3qs>Wy&ANB#Hg= z7JrBM!6}lY{mPkWtA=bm$iywMLQ~L6JEAfgFJT0kVzQOcfGMO3qQe_{p58I-bnL5r z)1JkX$PKTCW(Tjy&TTcY`rU#Ebjv3jl zdFxKS+uIJEH#LA>5xWCbOA8rQOry0xY!@CDXGExrh2dzlxp1*z7;;SrBHtEJXgDcN z_jpD{AMZsvga+6&saPYt_KgQpZ!-B=#?XfIGCqM00KeS8CpavnG2C<;TY)m#|rpRLwW>U);-`G~z zC@~O>LQHsbsIF+j*P@5hhBFcu+S zBH=Il%s1IhpZ)$jsk95vIJL2+SFC1F$3v=w^qMD(({J~u*Z7@MHNJ;_JKyK+YEtdc z?Zc$%Dp-nqpEqN`uEF;c_rypGK7JHdYX>RkN@w4{=bCRq;JVXJ7J=WI&X}>rQT(U7bVQsyI1v;P_T;J}a@nGs)aj=j6hjcl7weLVl29v&O9Drn5k zgeK7kMqVW!^h-s>9cf}2>t)}Uj{0yk(IxKpfteS&#xh<-0Eoqj!FQ&i$_Jv&Sc!Bk3@mMf>C zNfmpzy%#tyI%{t&Paufx%p}fe!rRnECWeE9i)_ow1kO_2B?R5nZ-aS`{g?SEJ?Dmr zr1@<6@?19kIDeG(z~J=eDU&CZ9KM|h88dXhk4kSWDsrTt<7BzEXW#I;aiJ+s=Oms_ zAF+L;lU?I(tvq}_58R)ezB#r=#ZK&{s|4r|kK(Lvyr9JEz4bU3C$lMW{vg>20wg_# zWesp50cJ-{87EhcopfN$mvlm=6Mox%Qeq}OL^39(k9Nz5C#A^07ScBdrok=u^vw8q z@K5J@&6}&QNNlfy&`i@^L@Xd`v1^ihcUXk+@z+aEcC4cVUk2-|XU z^iTLI><2whBWL*Our(>AsD?3-!@S~wTq8FmrP#p+&b{VUo>r}+Q(O$^<}*K{Y6G6H z+OboO;P_uj$tJbSH?`tNl5(X=FHGTHx z#C}_s@D3F!IXYLYIXr#?edXM?sco;s7U)2_v{K}-tBK4p4yJ)~aC^K0yuwMyW*t&d zdeZ=X5!2lWE7Z)8mZghgB<}8TE&@4bz#4*C=0H`+xVq`|qq1)*PetR=$iaclIj-aC zjHPW_E}5OWRYNbS))A{Uf0AG4&7;>|tS0VsC#Rk9aHP-hhcjozPk%M-9E{g}@ar5Q zlE}e!GQTw*tufUoW267nrm#UDLmK?&cFBg9FGzAPgR(n!f1f+E z5aMgzyx-^fKmRAe*}Z$`&YfG&{hZG^=f6FhgT(Y$m8sI4IcwYoRhsEn63v z@b1b+w6aUc$jKu^h(8I=nUoW}nEw97RrOFML7Kv)eeenWqZfIS>R^u-Bg<`SToV7aYG8Z#UZgu#DfbIZ+ zZ6#Wst(}$39+x_T?Ka$#xM(!*WVVA3`&-Q3g-{sOJF_)DOZHw&Mh?TBP`_m*kV`i-NpiCFP zs;VLPww!-0t|txXOO0L60Y{6s$E--ZPr4B0w#DxkJnyqyC(*4;ATloh`iL zJ5|voPv09Gzf|#^GsA%@_7-=+i>7p|9}ZclmaOe!0;L5Y`4$dwz7|fFc1hx{_fN@S zx}XBf!aaabp+`zV6~2LqHD7U?I4>oKQ>7xZ)=~JYl(?AG)R@>*zF%-g zMsP@a`p5U;JAWWNU4X8ItiJLHJxnyEYXT?j$>J(WJ#E#*G?nUY9TU{SP$zscl2l;mNh<>SnxvEA z+G6>M6hEU=9Ed4-Q(x5n#(lxc21h=ZSaXAM=9zU#$07}~CVwxr#Ywyy_MbuQ4M99n zox)1UL*RfB92?jK+HK}I&PrLOOXp0eC&qCpzle^Zr^zv3gxSnSgrBD!HbYrQ`$kt! z$ygL~#VXZwv{WtIikfp|jco;+!Kl3%@9-VHxoidLaAy}FSb8*$~6OI#|V*da9L%wd(paBCTggxKi9nRgr7E4!_u zrACt%F(;>OnoaaTuVI+UpD8bjdxZ0t+oQFs)PwP&tPILBu1G;P) zSxkRB9&qyNh&|W1SC9M`ZP9o%GfbHEir+1J9>5ct?}~~ zCZ7&^zhKwloT0;VR9mY}F;Lwl`X@rVrk&J77=ykR#05PB5&{m%glR9GoXzD^EYx(; z(#(!&{GVcTE}G7xa{iHn|!Wb zP)RHQ6sKwbQ2lPi`HmY}<=Ec6Db)*_&J#u|JChMXa1H$jylNAL4~RgPw;Ff0QY zIk#aw9zib93n2FSkPxCIqc6D*-SE>~K6_bGJ48IEd@kX)(F*!z%Cl2*dRN7i9vMKI z66R=WfzY1hX;`;l?1Ao|_gFJnJjrU#e z>mQ9WHTgpjroiu*qCzy|hr!g4iJDM1fm35`ZVm$A5&HA~wSJjBD)!S~MKf*|9mSw6 zGD~Fm{&4+ch8%SF&aBWVhv5t@a*NvH@4-Oi1 zIA1zSN@ve6Nxiw`Fg^UuM*3R{$c&BNc=QOKf?Vi2(*UUVzT(1jT%0}4655bz{2s~hMK8~c2eIS?bp4c?5# zAkNJOvW#Y){N@`8;hjP&j4Y5@hTc)`KOwwyk*;T*n25gd@ezGu8NeGJ6W=>LUY&5~ z4r$?)oZ#yl8|!6I9!v1f0wF4%jX?QjU6rk}uxAP1>Ig05(dXaCU}E720&(IP&7YmKTOg+J&rpv*N*2MoYM7fol7QN&a%;16rMGoB*d zfBQDp?{##hGESd_g>0z)dSw!{)%R&FVY`NStM+h^9=AYI;+vHDBP@8uCc|6x9} z)`t*x;R1ri?NdVY`DGq4|4p^2Dt1n}_t>k2%CG66qhpBqQ$x}irmjmP1>74h3YB9J zfK?hdPt4|`*n3?R&k0@Gp3BdW_U5%X5N6go5bkCNLX-eeP4ynzH+HF13^QlfCY+lU zhd2!j#IwYUtT)YF6lo)1f2Q~8FM>krd>EXC=A^}HI#&0RE`?dQM)^J0iycK(WBaiZ z*NBI>EWH%Eu%h=@!;T`rp z8`jVnIC-M2+4;FffCVYf%*J5VC0Pp)(;_uf+4{2evOd-6I*-14jmkCydAoE1N~X&vIJy!x+_P zl_!M#tI1HtE!qzo(4Ep&j6)CBB4*DmD=E#KEld?M76tncf}a|J4$rEqFawMr=fWn( zwNdT?NOoE8BwuA``C2#5JT?JKF^FihgucX=)N28`(&DlyC zuSZW@M3sA^Z>^<0MHZ!M@CWIGVTY417m3Zn^wFzHo4Gkz<)qDgZAEO^xDJ6o%vkYu zHfPSi(3vkPTfBr_mn@dAhdxZOkMT`QoA3dXVw^rnPz&Rvd1o*-gVcj=F-N!Axf(1& znf(Ed{^4s}`7&-aSd|YD>3FE{& zTwATVc%AD^qb`t)=Pyad`SW!7%jb0Y1)^B^cEQ4TrKRr{E_k~T^_d7M^Cw^cO`sd~ zkqpetoX{~)Ff)N4vb(bk(7;;Nmee*bLzhVnf;kOaK^3-r7Z=F{jm2!2S=h`%O_o$u zhs!_AD|xeQ{=+FcGIMxxNvUpH`hw!*;d8_(KQCDJ`>eU|Im;Y}PR|3-?+;3Tc237oZp~H=nIc*X9x-%O^|^gAaTFqEB@~r;dMztnyo>=PWyJK* zPq0~nh<5AyJ+K5MPkWB?oBwcZj|oqg99i-OFSp8+_CJ()uQR#-$uGIPp1`!BsJ$2z9(!RL>T#*9Lp^aD)8@_0!D9r#>mQfmu zf~AN74~DC9({Oqhz3e-8pwI5CnXC^qnk0qKayFWT zJ>#ufp>G8J2c$QkOwXA}zmdHRkw?pr9GY$Fv%Cthi@L(ebKe<5uq;Ct$CLQHdc7`1`J(dR*`I> zHOOb2=20aKc8ObJy4~`kG4p;N^>A8(ZNG2gS$b_w1>69Bd$u2vxk$BuCedyZjcMD!@9QzD{ zHdBBe;JffmP+umeLDW`b8|KFSe3*+9H}XxymE3@H@^+l9ej=$lR3l&ckxsl)g$@aT!Ig6P)=$8fJaLimrAZ>#>;Yv}mz-Ycbbea9hkdEE2!s zoR^AUq0PTi1uFY9D{##;pjB$kG!7R`_uZ;M&JW|pSP~Mz{a^<1yNM#&vovg^w?=U~ z=Tux)_iab};dr}8u~MiMPD>9pht8~n?4nyPAU_#i$o{Dh|3Nlmyhs_$`l{R~Z2n|6hT-pz1IX(*6& zjY9)X>yuW-CLJ8=>J@GYZp1agEn*bOqb9W(S%No`-4a}KBO~(A6c5Caf(O>iMvz9l z@Bnu5hDwtIM5nS48bB6lA$wy$yVe}f*_UaCs+ltV$kDoBD9B)reDh3Zj2Z zZtzaZ07j(rv$K)beOc9rxA~0cOw3yb^fK*e>exQjX=q{aXWXmbJ|DX_(wKj0VV+iz zfOeRss^YDUCgYQt1X)5^z)MU6L-$Kz{IKRp+dAoffwZ814w0g(j@!|9dW2_qID)H& zYbJoWsud@!&FxhXwr*sviJ|j*ySw!vz1`gVV6+ZVRgxl2QwcVaX$%%P+hJ~#qEQ<+ zj&kqW(_K|rI%fRJlHT3j!Z7TIke8%L*+5WhW+@a}M%WvGA|}d3M9P$WF!PzpaDZ#C zUalxbRaqS7*1dPh%JE}LQNjR}Fi|R@gq46*s<)UWX6fhP;5$qEuyW+zQcASHu@vUQ zqdu(9l(qy5HgK%7>b>&Scnhv-#o4-RBnh`Stkklkd`z2(baj-Jjs;(}UouN-EPY3L z>Y>tiX#RydK%EJ3DXlMi8m#GhWI4y3i8 z^@t@A#$l-!mNpL|_0&$4kn1}MLd2pB)BW_;ZsuDfksr?OkaTs}#tgbT7lW?O2Bljk zw)AT^YzWkIY0aGx%cS1*zv<-O^QqdsmJ@3DRKWgQWy*0_dWjwL z`aKm)@1tB#5;d3J?sJ-M65sLDv}X#HUCCbQqQ0>DOWIg0(fvYASCOS$8P|dwAtS~4 z;(~|V5ZzJff?+*X|6KJ(XeoK=sj!mwQIC*If3 zLm`s*g7cb%vx~Nz^Q8k{iv755zyKD(!8Z%@{F`bCw!jW->dBg58wb8-w=)>-%X^$` zxDV5~4dKazgmt4EGWM55EXGm%3sQd>sKJ_w*(FQ6C#*~*LnfB`O+Fz0MwFf&u3jdw z%@fOh*${t@^tsGH>cvNAeLp&`Xlr`&L3T?Qrp!-q1b(?d93no`7h-8PuiCFG#!E~S z$BB3KTdH3Iwqy+OdH-14%ms+!xX$ABoxpE6?RwG4>>S4c|t-RL-_B1$|VEW;^)$2q`8 zHqHaFhN*~{U@CKtaPY(t=WpyM#`^(&P(#R4CTKtCh+j~w{eV98?7kShWNQ$A4m60y ze{@cEFlp*0{cI+$&INOwo9wu+TpO#@qk`mmTT{>YQ|< zGUx;aEF@Mg2r??wt)^AEee}zog`1M>qpTZrYKYJ%q^@osnlYh=wQobap}|A8rK^6p zk+W{F6C8i3)OHDdethwww|2pZ-p0Jv#60foDm2SBtYyR0U2w$0q*AGEcxz(grec3U zs#R)b9(_Pc)9DcH8$hessiX|7tYHI5DI8y%A!UP1tb8D&GvB^RGhA-a9H7Lyv#sdt!?`aTQM1RV8*wi`KRJA?~xhH zhih4ZBN}u27#v^_03D?_(d^TIkO2POuEy0``zDA%6qic@X7w2k(uyY?`y{c2$4K#Y7ViD(Bs4~DcfY@{biP+9Fm zLv1Rtc(~d+tlP|jOs}*QkM`bTlbF8Y31CadG32>-Jj0>Yhix(!IXMM8+orAP?C4Kg z`6R~q!E(vFMRQbt75k)CyO0ZiHOyXJkjCM!wn$%{%-VwN{O&sjYXG}D&+h}? z{&|&|7RM5uwO}kJz-W`1HbGiv$e_f0ki~u$)?R1r>OhEN=iW0DY#r@860%+}-sRM+ zP4bYgelhKLS+}t3KcrjQV20fbDfE)YQ`*hoNy*&G&Y4~kO)3f0zi-th+ek38!`ljc zAr){`&929`M?RGvB`UF4ee=D&`X*yqe<~;WkDMPm{qK1x93uU%$ub5&2@a?>GH5NW=#2LPb>`zt{;KG0*Ku9HO|K{B z(>Fh4eY<-I@!(e%md#!;XGp#WjpL@6^B(jaz16%E&yRkxcK)*>*X*q$8x0t-FgJI8 z5Z|1>g9ja@B1`{JxC|j(1szFS$*C21bUf%#Z0H*t=3rT{vnJI+w+wmk6@5ZFUg-ASe%LQObrM$+Q07? z&vM?yb7&WBp}K3;!eQa`kN8WQ+O`Yz`^@>9GgEFAOny?9vm!sqzmHQR&#PY)oya70 zdnk8HRIGu3b)HGG<8Fg&3C%2%AvIq~ayoV$<@Yta4$`Gvhf@eJJTOL1c?z&f<4yqA!v21sU>Pt`b#zl{oV0Q(E@)DOxpI%+MUsr!cLsZ!4M4 zY30kTB%_H$5v|QxeDhiC5$6>ZUyjLpdHsW?~DAh6GIw@ zKUw{bjJQV5Qdnte6z@(L`&6n(U8e_dn3b|8tn@)yug{Maa8?0*Ptkn(eJ~ZN8(jdE zn_`c+Ns@?~NZXf-Ya7XaOwv(U$(_#JJs}Q~8?*I?@>ykuJn$rIOWfX)!LRa89vHPf zneJv@N53XM`}Wgq)S7%de#V)sGjs)QO7A@*!|C)4a=tQT$y7fz#3Wao@r3vJO?bmI-DmGt@b zyi)y|kt0SNS6(lnFD~7r59iGz&2C&F7A2KOjvn2;`vg46nztQ4VbsKCh>twx$+nBn z2Ds*bwPf3q(SlylY~rX1`F0qwz$b)KNdN3zeE;QL@D5B1#$LrmavdSR3ETH1CK+24 z`SC5kBXJil&`saB{ElwCaDl|VZ+ZUZ%kwSIy?XWK*wZ=r!^?H0U(wB9IetaATwN%Z z4<9%3)M(|o>Gbz&x9H=N64LaW>%?sOt7C@`9Y1m80K(ICom*H`+Tjo7w5l(@em`W$ z`>*#^O;`TWp|q%QZda_?rOe`V2`kk)MJW}WI{tqRM%wpzWopG4HnNI?I%O;Ij9N)+^ZfSPmvH)Jw>>*uqA?qw@ zv@Q54>38TPT@8bo1<#6}Y}4oL8wi)vUkf)dub(%2PWqobM7KT--bSCD&ALF6X|uV% z77g5&qaV3HtLPbfZSjoJ3`{S!X|-2$X9$v^3 z-lXdBzrK}v$GManZt2Ke_ z1!bc2ocK9QyS3~!b4bZ*fu2%T5R3i4kS@!Y(aTR_h#CC6&6;+5?DeSiGb1-l*+i5W zom($o2Y>epX(W!~X5oQH@W2?fwZy26lr>nA^EjEbi%HIAJQG}wl#%+o_Y!5vh(FKe z1eQ&NbBx*3XOF@FIl>=1M(UKzpyJULuVx(Iy{PodFILen#c3#iK6bw%iKGFRQ7Yk` z8RyPfXe8bXrrbTap?yT>az9X^j0}P$e%S}O&4pTOA$G#{?1ay4V%w+0F89Krjj{WV zN@|+}(ss(eZ6<0Q2X|D(1Q zGH{CZ$h!MKvhEhYm`aaue=_0#c_w8gifiI=l{A+FTaC=tgR%xjzF3dX*009szzBrrD+}54)oShm9pA8>vq1-jx^#y4{+jcA40Es1g(|qq-+_X!)%5A`tn7!-Y zD8z0uY$M6|yXJqMzIbu^=ktqtICTgN?BLXc9?Y0JHDmCk$%7nyeH}ad`ZBu^&}*Gx z&mwWPt7c&6?^E?tu2r{2%6Qc~S_Gm`fGV8Vs#_psta=EYiUCj}Zc$Frw`a%C0Lw<7 zJW%t8FOY~?F#*Y;;qI;>SHeqTyCy`&y14ebZJJpgYtz{_+{O>ry!|~95TwU@~ z(_Lw&%GZ~1trTip=L#qBuBDipXK}EQdMpy!UgrCy^x;F!5kE8$e<48((5_v?Me`j#jQ!0+(&gx75D$%;SMEuZ9d@Pmsw@l3C4D`_!tS(> zGQPS3)wd|)#m_oCrXHtGk$CYjG`PHCk+?~DUcnssNdagXDGfl79Y7p6<$2xsN}>^8 zui&;JJVfHUD2NH3;@crKg;XFMMb&q3f3sAxq59sxInDX*XKT)*)nj1}*I4|O^gDf; zZe^bUfgTg1X`p_I#1ZWP-Y4UTUaxcjhI&a15v%lRQh8YH5cw1BAvSuYd0L8=%NQ>>4qN!?-xf1AuO}KYm z)WsI#_O;)Dl)yl!rqlh>Q`rZ+^)-MeXN?+Qcl&gOq{Y#!7N}yVsFW^#V1Pv!lauvU@s*)g*T5U7hF}qW;mOZ+=hFhS{)*`xpdN!C7@0^gx;fbgXs-2Hk7oZ-v%pq?KrUxEZg6tzs8MArw7|-5>^!5}~ zrK9pzO^Wt%k3z#zA%KoB@-Vn@k~K6?)JWY~8&#wuD&q$YPJB1yd=Z>i%}wnWoz_3D zU#j{b^Wv1fbHI1B82o`izX7SzU~W%)>zNjhX+I1k2VI|OgifDHg1Fb}z9D>f{j6mh=ng6l6zyB4@M9ks^A^z9Xu6s&7XHL z()FUCTwXJar2JTXE%B%3-@LCYXz6>d?g}vmC+yX$>G+ZoI*W|&LpsuLVB(}5FASs| zjq*@ui8L&$Qe;dVWW+|6F#LjCCm(a!nNY@YaTIhGd%Jsh^!Re;oax(4>YuGs--65w z?&IOwu9tHY%P|8-&fdF0-Gqd7_3YF^lTie5_+sbyj@D5mbhKZ4yN=e5mcyM=^9K*h zM}vt5z1p5I(-SR}h1&U{cCr>0q!0G;PK{tXC^1Up3gTNM-R*T3 zF09*hmXNcX68iQ9dz_GPA?4;a(;c_(Y%|^bZTW-@(}5Ew4y>O!0p(5?2GP%qhCmXN z7y}H6bdzdR!xj^xPcJw1FIhgib0Dd^6o(>^nf-t}`g*4jMc&}8^)~xYRRdr1}ARJCT&JF;Gi+ngjPl*|) zH$R%YasB)Og#pIK0fk*d_=u)hA*JFyi*dS$JOT^ZMBN>u!$ z%<4wTrJvzhytEmho6HT0ZhVx+rY`8@Ca*aQ$Idm{414>=LpCp&G$%_UoD4{{=+?+6U8))-uur3XrfEbKKZ3%NC<+Up*l zT1M)dIW&rl44yKjja(i%RHsfx|CJC6wMT_v;tXSZ!%Jh-yBX+$2KAwxID@)OJlCpC z18Yq^kG3NR5To3sOAm^Hj$L>Jy*8RQ7KIEEa%oqiVR&f>_BfFlETwf1rro4}OddMR zX%hWIy@1?hR>8CleF)oNqFsfXa&Qxq3K4gPH@CJ^TbuK`qJqLlkDfo6S^VJnBcoxD zAJZaQ@ccQb;A0>eg4iR#+P z(hK~p7`YG}_RhfHcI&EVszy}Qy{01b@Qu4s2{Dsf#{O{cDIjXmf?Ntf$5ial1XWOB zX5hlsE2c-|l$ZH-7qn%h2fupBHsbHmu~9u6hkjF4`BST=GNZj_KmMr<(H_X@qkh$_ z9!@R)KhvLOyJ+TAt&RjO*V0HbX8fl)6l^JGzSp?VW5Ofj;v>RiPW^*%?)(Y6)UpRQ z?oXzW^iN6_9j}puTTVAg;d}W!gg&A*99$j**2pFs$hy82M%tfrPZ%y=5X*os!S&iw71r%wSD7uv7w#1joOjh zCaH~CC)2!1{uz!9+B8E*j&GPbs%4vj?S^d_4ucySMj9@DeZ1$mQ@f7j4cIm**u>~h zl`3mO*1ns|ycQf_BASw`WuJ=rtpccbTvB?N19z2u%Kck>p3BUI|Nj=A$6cJwyY&{L7o$xerBI%uki9%PI`!KwUnMGk>5DqAbrnLI_>UM=llnA zx%_v`w{eR8y>gf8j$Hm|DOd%>3n^L!Q%_1*u9Z2?v?*kLNx66T@_96oV0d?4w1|HF zgeJV>ZfmF99`BU$a^7DAil#J+>G$yTu) z=xCTIgJx|k3HTV1*2Idz1Z-JTnvjdcN}PUAoK0Fp)1#^}@YJwCIgD8yGnZfNS_NL1 zVjh;os~9gpY$Ii-3QR%9F=0doZL34Ou*RE5BAQ)0u=T;P0YB{Dd8ZZK+2||M`xa2M z;b$(3y!wC z{|6i;%}n(9VIiJ`TUkD>sC=bY zXrK>$S)C`uNB5w-d|ENm!-Bi(9;_~}&R@B5<@BQR6<%Q>-Jc-G^wlUOxVvzD`26|9 zT_U4sSk8h4Iqp$WVq=!#8WEwR!xt^cagC0qJ=jmK(XqnyzvaPQq9VI=;RyVM7JDdO zAn(+#CAp;@W_4qr{Vae8i!SKQ6FWB>OJd^!niJx2m;+u$z(MS^YNV+w%y~DW)@7P* zo}R{am_f+NBvPNYYzS6SbNX_6<7?WdDaTE>>c)TyHJv~O<4k_axg1B#iv^R0WMlStF2;*fn6qXkhF zAXi_JCJ_dn@S_x211KYy$Ac7QQd9=S7*dUwJRm%h2H2oGjBEK5HLD%rQo|DnNJzg( zjcdD)L3%%l!Ut84L}s>Su^|}nPplM1$Pc}`YBN&^@Vn)7n3EY{3Qyz*Dd!r=N%06ldmO1)Mhp5 z3ZR5}MQ6Q&`-uLj(J`s~kkqL7{;7bnG(OBpBHa<3k`@@yzyDVu{b5c4%!;ovL-{XJ zK9kcJIZP^BK7_IuDz(cO$HPtos2GY*qZ(2lb`ulDnaQx-faONA@G>whEzmDD)ri^G z!eFC+aA0x@WZ)~JQrx7U%>r5mNQjMPJ#4~E?x9F7A{%D&v;co358k^QNsoMak zfOY*kb&VRTbJTX8ZEafDGpSq0#MG)~i?+=y>NGHEVF77APsrArYjV)14E(Vqc6M$m zHC>$}UdgG>2X^g8Zyv(xHXr$Ai^XznmiLr%i@;qsR2np>4Hp;B+lS6Y+vR7VAX=JOalz zXPeq*twy?^PA@0*8`@ih_Y0mfxj}1MPKR;+{GmFU)bv$f6EK(agk_4>n$MUh7YQjA z;FF8&1K-7}wQidGxv`gDy(Mu&vSO8;)qee=Zf_17IWi3Q`3cMPFXa0$v+OW=WJLyi z%~Pi_=RI|^mG*I2Sus_wgk@3vZnL{K-$uiB5K@#oz?8;`BT~}0Kz|ad96;~tQgo^G z0j#3h(!DJcNh|sw(V8#>>V&GFctyiWzyOZ&&|NV14hEzFpLEL#HmU{BIivO@PIqu` z=hLuB>tPyh#-y-iGhLFqO^xd0+{pNt1=Rl9$r#*k^}yOOj&R5e;H}M7><==8?p)4| zkwl++Gl#w>DJz)r=>hwvqM`y-$Q2XxIr@!~^2AvNrg5SHHLxC-nDQL3({=x9x_f_X zm*}WYZA0pBP*P43sFi@mis%Cr^Q(mtB{vWb99 zFOb7EphQ?K$taVh9EyTL7>yc$dGZ+76sEIWuEKQ_If6 ze#iD5LiicohWAY`{(OYHWBYc_9hF7X24>`shzWAV6P*Nm8fhFXp#TgUsYVqIZj|Mf z@God-W^{S_pq*KJU!<%!67LnWf5MoAm=UQF?R}fJvF@+lJ-1_K;*>zLCbX-kn>w#(M!>kfu3jD<)gQ1976>W8H1aTLZ4^N$-LQ%q zP%H~Oh$|8mg>{iUrm<2I10EzDk3Nm2^>yp!(c|cjIn%fAl;As$?7CLXXJqEi+OvVY z&f5^1Sdp=5qqvKd`h`dKOpEnQvre~NqW-ziqZ-#6;v)fifzFwJ0~wx2+ox>Il2Euc zAq<6^_<7UJp>~d$ZgBvC^Y9jJ3~%Ae+`|3e-vh87Y`GO*?acI24m?noQ3Glzk8?wS6kg9>ESj;|VqKHiKs zP=Yhdv?vT{u`@8xF*DgY^q*l?FF!Ge99@DDG5{a#@ ziBG|uX_;FFeZD!Z|C-E*Ik8;QfMM}5ge1gArVT7NZeH4QH`P{jA9HYE;);~4)p22? zeKqYua$@^tP0jV5bqdH-t>;3w;rl;6*#`3DzdfDopw8~(`oC8qP_O6-(_3B}tLjPH z8x??c(OS_NmHEqn!i=GNIEBdwDjPAMfKYXNd+l^fv>)cuKgn|2z^&s-4)t4@JYb@~ ziAm5zm-vVVb>m}VVNz5T{_>Dad~*L|zlZ1@~M(&~rxra3zYByY=UJz`VR^2FX# zA`%NTO*0Cy82X`CIvQ;=0L36ov1c2G0}}_?^6mmPGq`HH6YIYv)I)K*o4GEjZKG@(l6}5R?vAr()r(d;yolnAzk7^GpgAqV`=81LdUIN!n%crfO`bY+rY9%4S zSVGOLb;+ksGn5y-dj-E#8f`MjL|D$45?idKgB?z(8cq>5^tccC!waQ?mQ!Ml{cI2={g9+)O-7{Oi$uh=BpULZ(<{G)`J2BtNXO zVuihoK@^bJFt&Ed0-EUNpB|VWws~5~p~GtLKo^gIUM0(qP9L(Q&llWaH!n}Me``le zQ@6yR^n#KMdzW@Lw(S~NWegrRI&@TbZ-)*TT`_o{?~E@LM|ULZKhham{)mpLsw46jc=f>sUF)Heg-BLK8bI{i<}K@l1pA^`HC;t zXe8f?v!-)7<>k1yBle7*M&m(1ZYeF!|2Xq;Dg%Bbga3wY+|Eolbm8`1bJLSX`xw>f zF{V>&tXbWp7>}OT2+*nC*`iT>-qg~gWo#r723=iUH}Bx!^sPf|Ms0{)HZr+=+C-o1 zo^{hka)ZUE_U)9@O@*;}2-(78h^5hHe^=?KEtz!U!U(g~Tdd)z$aGuU_)|?D_b&{t zQzy7EdBOViM{C zg{abKC*wjeb30)Uu;OJ=$OQ{@_1HF-Q>|SL2@q!3RD-CSmszp*P({eX)BttffSA~n zpuX-UNA}I^;U3&GvWG|Jsln?sdsd7sUF|X|wYf|GsGj}%aPG4ws_Sd!H zzaKHzAHyvJdNNB4Wkw}rJz!;ls1{NMWLZjfbS+IOEP(qqZRGmW&jb5J_Do6ePHvOZ zX5lENc&vazZ%xkv4e3>doRPX`Qi~kyIhfvHBbdLqtb*#-m$uJ1r7IqTW&8ltj$yAIU zYjHqqKcCJ%UG18+jU|zOwthX@G;bRl+2ij?&DzoTr%xMYHuLS@vZX_d#@z>6S#{dm z*gLIdE5~LQKIus0ys_{iUWF=)+M(rm9JyMdI_8!7OYOuy)-3cDw1eo8{vMNjg!}j0qT*BULukRg$h6 zV&9aHcPxUCVZ^ZEX$c$=1Cossw&J-mRpX`&Ox0*)B&!HS|+jf+*S zrM{B9o%?>&PinSDvtx;2jEarVtsP_8sZ|}bX6BuI&!Gc9>(bN&D@A7?wo=q|o{#Qm z(JW(O5wCLhLd(5D%W=}Gp#iWZwH(`n{zKDS^@g?Bo^w$5&RI6PAk5Lq9|P?ofJxm8DI~MIpgnjRQRLz@)jty zOKsf6yjuJ}v1fA-4V-v%o&FlXV2?^)a(RsfCp(ZD)7~TggMayyQ#L zXzh1^H1^SWHY|Q1j5pF&cyw{?N=R2%m#!q<%f->FyOWDocbqFOtlxO{?8f-M%n2PK z5&uz7-5`0W-`Q4w%eUp@2i6RAr8WoBn95MKW)k^AlE-AW^L-+t!Ir?Lb`)7AlC=&WnbNH4*y9Z0F|W*AX}uShip`=8i>X6jd+6J zt{;aL2*~w+MDpAIr|qm0FN$Y9KQ^=7pRRk}6R#7;NcRtW#S?bXp`AO2^|OmEpAZs^ zNPZxl!K?OJ00|Q5EZ`r=W&eeA)~}>r4e4xF3`l1oT_n<(f3kszCMAN27FV|~7-qID zygM8BDgeXGQ?IDsXIvm6_W3v(^_mb0&KX{{kr1nIVjPZGR@bYt`1T6rhcMAp@x6f& z%K&H`9GE#RBe>!ZUQwORE$N(LFMg+4RT?gXWYNXqa{e0WO^5ydbB@^L1DPQf8t-4| zkYnLc`UQgCkLL>M*bh+WKY@=}u`K5I~}J?j+)@ zTPyT`PtXWcc=~vb1D|&zD zMf$_4Nk5V%OZz+`Gl=W8cJ$AdMK|cf1Dh)D=JZ>eJM;7eJiZK%KMNlf&_c;aw!b}I zAt}-Sv|1l}Gp@AZ!U$>m8|rF{~XRzLp|y=!>>Lpbd3OEk%^ z0x!@%>CS7JYknLVy?)fJ)A^9`(Y)&IXbHxg_)L;U0W9-!@N~8;$e@uV_8QD$Af7U? zg{Pb^8K#@;Li=;+J|{$bQZoB-5yEhkJ}NAJJhN-E+n8uiMBo5(`TqOoM)>xMNyy79=x84h+3^LJP;>O{N4P<~Brf)FT}`*i+4G z)ydKhF3I4#pF2hzCeUxGC9&+9=sr5yGsS&;1RhcJ^Q_{Zi^&n5R6r-atz*#%_y~3o zD`%_vyg$Rjeq=iiKmZVGsL_naGgI%V>_0e9-W7*&CIuYUfZMD@O%!UQRpf%Cu3*ZI zl~Ou(1u4C_TBE4CETu;p($7fgU+G`)=2H3)qzgu?zGI_U^0mlPc|hD!DVO9@Q2G`r zcab4|ft0=*&bM|+=_}=QzAdi*H{Za>eoKty+&~Nk`pd*XEUuCe=**lrpBq$szfEg1 zYa?@4F?MVb=|Jzec2t(CjsNeDnXgV$7HEE9+;?9Iq?3rnj6P>DmnR9A_D%6h>>J_K zHRK%GJ0&PNILyT@NS*evl{^N;LZMVS(I`yXiXjiy_Q(CVokEfbCHol0+%*`DFHDGz zOh|}~PT*!GMnxqhMMWj178Pc=_4N(t*r6M+)Q-JE!a5+{sS7kO0X>qEdN3EK_~YW+ z4p`LOwt0Y~P1=eUZJYaJNxLdER(8{9Aa*coN(*ZO2WTL|$@sL3vfCtj0tP@Ui08=g zp>7^RSVOX}S$5w!dG=A>3)2v6UGa_3Na>>y{$2p!5a~eaqV$;zpRm?+rDu+Gf6xE8 z|CwN_w8vzXD*&pw1%bAv`hM>7a@>7#rRVUl;T|qRr^e(^Ga5?1mfb^lEr}n7D!f7w zP<;Qr2!;qVOpzP05-)IK1?e`t*FP6gAT;LZ88t!gveU#To1N84E|M2!PR?}eG|$tx`#aqI_8;$l zE8ksM>C}Dr$WPq;J-Vq|&D~N@tC)}`J)RrC6v3BH(3{!Q{&aP(?&y}?PEE)gmNd&9 z55JGwegEEEQlTY?F*?!BW^Vp~)68EW|R`<@x@XdAVi_Z}theyDs@fv;agp4|iVf&v!{Smas2*=+4!wZ^ zi)kn@K3lcm&$+)OCTnO|bb_>|aBfkF(vqTH%OYXXKazULO9&^eA6P?b6>kW8_fKmV zyaDi^SgGiHc$ItgA4}72_B<@gn}oL9KsBPTVsv6DGPfX4*!rMXy>S?sH`kPgBLUeJ_ErAXt9bXW$5$R~vp&B=jgG+06Yhb)R)f+^>L2N`35 zmd1-TNpAhw$gyqqh^gwCdBZ#h#@Mo%K@=F<9DEyol=u6}MvivFKhC>fJfqwIuL*d^ zNI-{HX8ZZq^r-SGyhglLv&aqmXnU0rw?$B^wks4>TQH`2!{U9LCLU`vTb@3)c_*#l z6F|*^6}OUO6)VTfM(|lH|1yG4p5BlCKojY6Vh#f(+o);%>04TUpYEk0vsVlzt;qb3 z?Bk8!eZG6p821eC$?;>dcV@sMtA|KcWe`*CP_H>`$l*G-ssLkRvOY?AQ*v=pLmH@U zCQo=0Ws12xyMN{@hK_sF-hv1m4%u@@o7L>T0mfGs+QuPK>VSB z_i(4wS<1W8_ABYbWUEn0LnH0P!n4BACksb@edbuouvKBXvA-{07i>V!FVi1ZDOE{IJ6LE;J3i-M;*MPXVe(QPFWtd% z;umGIMuT5gpsc%wU#2T{Qdwd0RTwDe6b3?y5Ez^!_(0rcEmGsrlMQpmIb+n$>ZQl3 z)@K~nKbhW2Xr)UfEy$#>^z<-Svq*{_y#*rhKndAG9omg#_kzGcHY%vm4q zw!C)%o>YL7#(hnS!b71L32(Ws4IuuwRwM5SG9hDbb}rQ*tsQ}X7Qf1eZO(-u0Y(70?+U@*_HzyX* zhjfbgD=fVZQ5FSzB(}0&uzd2+&oEex0j)CS+SNdrhaWSvtmT#2CFfehPvr~4rL!<|6P_sC0~@WrWI7OyvOiM%xB-@iO`1F`8AQ!m z%!aXaZQHO>$^5T0fa436EV+EJtab(=83S21YQ$p6xsr~ZmljPdy%y+~*thA`a`Mi0 zSy4gh)ezsrc&;$&Kk=MbIZJ;!J<>U(w`Z?tAHGui^U-I2T-)7k!)lO}8Zau0u?xeEX{pY<^}EoYHZ`^f&Pfw?`JA9q+Mk+a>sJsw+H2&Brk7+z){Q79CZ- zb_}j+Rlc}I(CPJ+Km3)W(n8Mh>6{iY{SfCdl!C_zNwivZ8OGx z_F_sKG`wVTR{d2ihc>I3v+Ur0niAK!&^ zadCGhuH&yQy+?~5fxxzH<%%sm9@63m_vp-rg!pb*v2wc~A&+VCedKuD1K+o?-h8R&6+Q;9Z!&_^mbKC%~z<(%DKyAuYO}A(|Ou=>?EO6A|aJ?D3R8 z=vGRPkmmGDI1NmFOeVi3y)H55+=pq^%tB)F4Z=T~tRucJvaS=yjl}dRjildaKB4pU z3b-(l!M7LWC~?XBk)%{jqpug!Z+_0YN0078#rI%S++wIWSc$2i^cgDN#u@^Hq2f^3 zN)=}+GkHtEZ%zs`*3Y~NO;D26mr3Kf#q`ZN>IFA>sQ05uf52~!B`W@!>U3EP!qzUP zFUe;*;(~AuueOko7g^7V|E5>J(O&eM%!jm0KV7cuhtjVjHckw&l{h8tTe4eR5rimAY1YTd&;r9?9n}Y_TDqk%pOa3;@rNQO*`M&eC|*h->&4_RGE8xNwyb{kdF7gz3bbxLmPSY z>Q+_gz)xpYfmKmQkE#zhJ@9?%yY-_l()a28O)4J?{lES|(Qm%Qc6Ocsh<(kQcf(+y zNE0W`!dJJF#=V;?uzh(~@d|lO)RwWK%<+otP!;QYv$Bx`ylz|cRaea%AvPleqyrL1r9dSaRsRoM@vM*Z8CqiNqSGka1!e6pS@OcZ&Ur_sSWj) zt<`Cw%$TIh91sjEwL#r}!$U{LQ9!EYf5{U*A5}Vv9;L zYnt!jLEpMrrD|uZ*JS?ki>Hp>@HWoVTUCvF(|=JlHy(Mwi{!3P_FebYd!Wi4%GY7l z*S(h=segF7@8*S`r+iT}s3>9OiZuAN>VaLW8Z6(&A@`5G{C6_zmWm5d<)sN*aBrEy zR{T%b?yt7r*tO7EpZHbwvL*gOmB21FNkOmJz2k*H_NX@5$Ezh{ueb4qwLdm;-lL_5 zdoKa>Hgk?KysuLP?r$kjz*?s&{E<&{RV(soM&vDD3tyD4>(`~~zSpqf>P_FDJaV(# znPyWv7H+z(_hS{jh0n}Q^F7+{%g6Q}@COAhJKMZ2FbP-j(gYsvqa1XuKJ!wA%-MNajGbAh`PU<4^qVVcv z;JYB~cT>Dwua%5BIPKs;{n};U-lnO2^Do~?(=^pi-y%)r^))K7W9hc2Z};!0&^W3} z11Hl|bt7>7IBj(`)7P4N_PuXPUd z;h8FzC{xbZu*Ek-m3B(co~?3uNr`@SVRf3WYg&HPt6sr^Mcb53Q?_-H(j^DZRTW2! z;Kyq=FPI+}XoHA77v~aP8}I%sn!otaVlwu#g}u<~aWA^)y@S5>2dpwYQFYKv@*ujz zJ>%&?-`0b>ciX9Vd+*~6xF6p~d3~bIvr-tt{^s&2?*YiDSt(wmtJ!nO7rmBst&;ZD zdqa0Toig?5j-lGTTutj1ELgW`uBPio*Qzyo9T#B_S%v(!xHq0#$I7P2#8;66p9jv8 zagp!cp?+z7k?EGIgz5{YR8;nAoh$S|G`u`Z=3ACVXzV<-I2`vrrJ6^}az}Mh370ZU z>VAiOZ|o*f6^0+|U!ilg?0)~7TUJ^BclJ@V-o&ljDPW8W@+*^GlkUVy0Qe^qcdZ~a_;agK5>OdD2j-hfI6@>Q+R(YYP7+JD2J$2&SNn<8uA{w^Bh z1Bc0}GQ~u6Tv@K~n(kQ^<(U7=oJJcO`tJYmq3h(Wo~KmZDUE~ez!J}zSNzqzlgnD1 z0CU#n?c?Hae&>PAz7LuWxZJeS_%1clEzG{)>D=P;W`Fp>q8+{@KO{}*1O=zhTQXCb z`jZ;)Wo$E1QeNAz(bwER-(Qq0z2txLx;5Fpz}Gx_a$v}1|BbjIEog`@#xz$L!V4v2 zCC3Y0c-paq_n9&8lz^9-dvBZO<+Gey22Rlf-zfJkQhK9V(SlU5*e6#qYWmori$4v| zRG>hnuvUi_hgK_Gpltrqi+wk5{Or5AsBD3<1&UM;U2?c(Sb_2d!arSdw^FykMJf&M z)2nysJYCzCiAh?haK#}LHuY(KWNDi=OOG_~vuVPRiiHa$jVaT%Yo1!urp;?qWN^1i zoG@OKDE&k2YG9L=ue^2&_A1x3&wMTJL|wY1Ui-X9mTJcA_ufWM>6Hl_%*Xd<^ZLC< zo1{y0HzKRX!NU;OYl{v1YI|?ER_w2MEJT^@qqT?n0pG73V_s>MQfpOIxfsW{JH~c) zzN{aVt@j;Yr#IuQ9^SzgT++$LgvZ3*u^bOeNLJKg6rb<-Ofb zuiFD+j%h_%^jcaK+6Eqk&gwnq%88ZtVK>fylkrY@zU~t^A@dqtyv^AAQkS7S8-34a zb7E9+VC_1CJ}Fx|OQ~F0Dle_ku78Ei-_ zi*WCIp|QsZ;occ8PtB%KUh@s*%K@4lcaZigYgd<3sQpJ(##z4IvljSD&7WsvkA7eE zRr^(knBCuTR(3f5cQHHk?!G9ncg}wOa zk5QVR)!V@d%Lj3-jowFVv&4R@%G+~!?=awbI4^a4$ddv8G;!A1x1+}UF6%LYG`>%I za;mz%-LpyKy!bTkQypW|cqm_78ujwO|E}$deM&ZvUK*md{Oj}@-b+WV)aDIpMf?l= z$R=L!rh_D!-jS5+8{*rp)q0^m@%8WbocAUF96f;A@v9yg9ZLIGCOuNcyv?L_e)Onj zOcV`^mhiGbrxUs09U6Nd1_`{N+j|)yZD>Tu2JGE(#DZwxqsPwf>pz%?f3Ko)tgnyK-RClu zb?8dj()Xu7^N;?<4E4-l27V6Idnk?1@FiY~XzXer0cK--ElxPus) z6;j}Rlt&Zv#5Y)qBe;&2WNt!a1=AVz@Hqy9bQtS#j7_8{YT+KdpIvSiu=0X=tZ7({ zU7-ELiX!`1N1NBY*dL=Az5?;t#Alxa@i{koLTT8#)*V*KoY|IA;nP#tXs%Xe9K3NSnotx@e#UU z1m{WTZJ+6|_QMOabegoV-s?-Y2I_liw9d(O)DbP2(wR zqa%iZW5$%5a1ysTYwAkd2kA?F9{0t2R!-7z$dKj(R77)p4bqZkAAZ17k+e2KQ5d8< z?L@p5NtX!OLHVWI58_Qnyy=NIJ@KX|-t@$qo_Ny}Z+hlSzXD8~{zouv1_wD%5$!Pw zD{vh5#rs6EWF*3jly^qTJ0s2xzih^w;QwI#jENsLH zMB)u!4o!mhP#T}%ON_=s?7;VUAd*EP4f3H9TA(+WHVe~cA$?R?$x8aN=0Fkjz&KDJ zv+f4TLDec3)GLiq(3j|&rACAQa`+(&kr)9 z5UQgsNXrM)LH+pPC~m+fk}oClpaPnr7sg{Awt>2lkM!l&K%LBA2sOd>mj8uF0k*9I z3@?xyB~TTuaZ%($_6Z*{?8Ca)EmAN)%Ag_0!$OTg85SA`%CHdA6rv0ZJr*f!fcXnE zf8l*1MGAwo7iC*4+71IT1M6`NH$j}mD3@ZCOR-PT0OVuwQDC~_Ojn%giZfjarYpg8 zB|Zkzm6!^~eUuhC@ilHETBKxhuzn@Wfi#yS%_T{5$t57oB}sEh()_W3^!N}}(Hi|Q z6>D%9KjVc+sRYP^5~zz#7=}6c-8;wwX)8_IN-x4rT);z-GL%Ib(piT5EYk;*u?h!q z6--k$Jz9eCWf@;i2X(R>b*~)z)^e@T7gIo4m7{)^i{W^i?V~))E>E2+-w53?7K^b9 zm+^~81(sid`sfAfSjA=7iz{HB zO3YJ<=_)Z@C8n!Ho>U@FDzhJ|OnFqEh!xlm=Bdm)RhXwrMifGIk*bAJ1MM&n(?qJV z&eh6-^{K}8R=pd>U=cQn)W`+K*I;}N*0;tKti~Z+!*h|E!N?4ztI4*=JH@2tNX*Ap zoWUKChqY3GIBPL&E#j<2oVCVcF?Qi19*NY}(HAVQPI7F#aa0PE0#{A+Op*F{<~t|jSdc|)XCZj?h~^bl#C2ETFM7X;R^ zO)=C)M-0JiP@ZiSQh|A>2GVY@Nc(&s?H!o6LvN9eiP0IXcgMLP4IL@Nj(0#Aeoh&F zo)zTb=U;*S;OFcII}u-})c61uL7sJ@Zg!$>cA{=}+Aq>MB}jW`(%zZ0cP1U3$6*O} zYCY5Rh-bI4CF&k z%B<&l90PT(=TnhhE%-#70haw0Y5AJ8e4PtrF$pV0dXtyES-(Ei-#+AJp9rv@>zf!k zP!jdg1=RPx^FST!7Y^35AM4qlyzWmK^!JGjAdd&+K?O8LFN_x%SP0e876ULH>u?k| z@JeJ*2(qCh>Z1!rU>>&NG#-l#W}OD7MSfI9OHfvWDXYP(%ix{3fQKSOG%)QDrX9kx zLk{B-ZsUc>&;-Z=mND#okl(`|hzwUqf^S4du#Jyk*htEK+5c{_GADC4ozxpCBiapdQ?!l(f@j&TDq16x5I z`=*}Ac%~aq9*n;Q%4h=dOd!7|kY5wXuLoQ?4Sk}ZkxGXZM6LyJAE{aj` zi%dB#GBpLhz(~x;cAUdKFwL}7$cq7(iZvqBQ-k=XpTJGL<`gjz$fp?}qXCF>264_H z&KblxgE(gp=M3VUNt`o@bLJ;#hOaOI%drnX;Hk(g6B$qt)zA+sz`D)4A~Ksio6Y*n zW}RoV&a=ti*{t*IyYPv8n-UGt4XpFGl))UffjO-~+0Si+v|L`*ZJeH1nfKJUlLhR8$zgx*LKBCk#*Uz5#-7GJlKloA{$C$4oKg|jG$aMQdc*n0Oh=CugGS~Y;zCzMYep7 z-$b@jPFq>#R@P_hDv@mk@KR*^c#-cI_uWVw7uit^ks>>pZ|7@~U5P+ic72Qn_ySD3 zYd*H)9PWwiw!w6}KS4W;#BvbwK(LQ%??4PY!R!DMaC& z$dP0q-;a=vBb_l8D?wV1kl#mjkcUS}>(P2(nxjl}j66QZJjdFhKc-u_qJ$Z5*_G`}gQ*=|l#erMQj z&V+&O<_vZ9OnVH%Ol$yUcZT|T=68{^i9z0+C2!7>H)p$m^*%R3R^*4a7y!!P$K+^&p7;hALHs}Q8}d^Lke@%@19j>u!>(2Vaa`+# z@i+kT;pfU|i9?{yTrY*OxG!>}Eau^j$j$y>8;WR+XCjfz7s)nqD>2yrMCHU+BDX2q z+e~}=w8)))puF$a#wC$^#CLC<$o(WB-UsC81Iqs)>+tZd$fMFA&c`2ud4Hk){W4VK z3DZ3xy-$hfSt3wgzm637jr{uUYh1=JBF|ap=hUGWxey`pvJS|vm*m4s^5GTBd=)A3 zx+xxu{5}agMcz>6Z{NozuwA`th*=`hX)qh4DS9_pr|6%-ywTBI(n^5z$c+-H3gV8T z++tX64EY?xGJTYrk2rkn>--inf@S$n;+7~L`co=7HsPHpjYr+Jj+hH>HP>E>(g%q$ z5(v*U;uCy^&%xt&<^(LnW>J=oQ+OoGrbX2*fI9dB1Mw}k<07I&agT>`dVqUdoYidQSWGHQu)b){1rg_v@far8zju{}%qPuVgH$@e*kQ%IaG1j{{ z^A~6S;*@RiHuwq)uoID@O0et_(Dw_c%@EMlkS5f6C=W=Z0<#vEPDo>o{ zse7~)sq(B-dFoLG=Bq$jD{L3_i9$wvfF|gV)i@%mViJ@=4{XFCJQGz(198$0q$<@# zTg=00_(fID4f3S&5^Te9QB|1!zm2l0asWT!0p5tJN*b$90%@yCnODn>FTlE0yCF+7oyCJYf58PkFTOhw0dWlei7aphIdT?TWVEsR@i!K<2Mc9oiApbfAAqz_4Q;VB|H(;%|RxVKz($@ z7%Ty4>Yf~=y?Z${2Jv+NPE-%Jy&j~i$4OB=8P;r`pg4q>pM_Xzr3Koe=$)5KEe;UCu$&R8Mp{Bq6V@3 z4<_FR6VG7MHJJ4ud|%X%N@xM<>5$R*mCNg-b13N?dRo-54x)xNfl z2+}v=TU-}4G9x}f8Pr8<^Z@aUoQfsb0^%Hb8|2xjCSY41bxYJ}_5q`7fV7OBiL;`{ zG(Ww&6+7MNQ6)w%9FdN)~*Kj+l+(Al*}w;1jT%siVL?bn1Cg)5>8Gh;P~p zQPUG4A1I$0EOSO-%)l#AGgW|6L0cSX%+S+mLi*@xj5^=)>LAK#L;Z%Nx6 z6GK6M&t?BIm-;y`FUYI;#54aRR6`q43mCtkkEn&ou~pQf5PS{NyNKx*ZNPp}i&=-o zl<(rfAZ<%n#uB=hycD%GAt>{uH$^QgfjOd<2Z6F!P90ia3dFtqnWz=y+X|*x(H<;k z1!c2h8TNv>Rub1r@?d2_>=3m|Ar+e81b!E_nz&apj`kC^hP13g7OcZI@^o8eG(;!Fh}xbSAE2hF?*ute1dT8bOK@J)juE&cYUdjKB5GG{ zP?oz`-mW9~0T1v_)b7kEjw&FY-PGmXOuL))+r1jQa1GBz?O~nvuugjlpbnUJ&rVT$ z$=|)CaqoSQxBDpnefvc1r#|e@f^ujK>d1cbXumg(X%Dci9T*1EdEg>Q^8wcLAmw-P zJ5h(~f^F__PLLOeSBN^|Vv?w%;h?@8y&&osd3>xaCV;#=c2m^xU=&6xF#JSfY`_^& zCkJ5xSjNc+QKu}_z)4Z3DcjQzMV!stMK3#eYpQy_$^Ku7F1o?cKv|ORwuTZzIv<7Ls zas|&s{g4LzME#fu^YKp9PX*(&C)|T4qOJ;(A~#B+CP>dU(sr#0z5w<98u@*V{QfyJ zmW#U1x?V4jxnTH>3fP3#qHYrZO{Td?x+BQ$3Y<8$1Lk{cPz#wQNN@FM#4nWh6Ai^NLDW;0{gnK8dP>wY z%JtVeU>#{YQNOXA=Y2)J2m#Z)VEta4#Vb)Si(nA8iF#EA^F+N)iYgc>>UY-Xcb4~t z^?matSngZ$$b@LCzG5mn1qH&j@ z_gPj=5vt9iX&<8jzQ9P##a5ib9ntjUsEWQgE}BsrQ*co*1yTNk(18P_k@9=N_)q7pA9T`&V^dHih`ZG5yk)~k8tbwqT(^c`th6S1fV-W(E~ zMbU01VsDlT|4T~z=kfZ^+ME6FqabWt$MJtZo_{@maFA5^GdsUT{*}v8!%Zyx;)gk@ zWWKW#Uii;V_Qu)IB+~tvc?th9|N0OmksfQ&zwP{gFfH-=kNkt_`N{!l`c=LlolW=< zW0#;3(%HQxpSwTMZAcedDmyzh< zR)5Q`L0$R>oM{qjQ%?5m*zs0D>dfEqFZg3v1u0||^sje*qiiDnT2RKn?sp1P=Kqcw z{`3EGx+e168y|Fl__|Xs|7_*o^#6I>f4_Uq-!02q-k-%UW1atz^Va{Es|D?Yllq?o zP4b@!%I$v^RMr2~ZR>v$h-ayE`m6Zj<_+4xe#jyJylkzX*Y6DG5$hg|PtEv$ zM@EUVFEDK}$zUg!iT|;M%=;e8{#T~{^>`-(-UmhrcoV*Xcu{+$UrD8>F6 zyRKCKheka%wS!H=m+JD49=RceNzl{IrpW_S4B!mCVx+Nq2Gyc>6+4TQ1{z&VVe>L$%S|{a1 zAoRLDAImU~Xop!>P)0HZ`n_TQO#FJBWO)x`mucUVk@l*8y!_y6G9q4rdom&@e!5;P z!_y}&jPL&+3H=KLasP|BjN~f6kw{AMN}lrZ-ELngMgDl@G%^r+-T%yd@-e_a*;0-> zei+>&u#$d5JK~R_n_<2)giB+m3B2x;2<~0d?@tw){>1pU3^TyZxK~Zdu;){_Ov789_hDhy+WC%iG4c z$>~7ob^pZ(ySj|viv9@apv*UlQEmbLsf5LiaZ+5LDoyqIa`Z3b40uHtz z8QyaK#40W||IAG$wf`$tV)iG0wu1inczz|m(o*k_{`lelL1?@Dj>iealSEcpo*-Va zSOMGP`s0WHDYP@nCOajsKWs?(aE|RAuUU;{8ed9#Wv7yZ&Rm)4?BzJ8tIT$yrK&U6 zf6DpEf0WjdlEJS3RL~0liJ+nW^FbT@=iE2`lR+W=lWvp$dYV9d#L51)r?bL;&kOBF zlHV@MZ(CzDxnly27D`JLm`P8>74oHGQgpn!B< zC~tVquwT$ci4IOJ(asy`=MLeRv4TV;NFucpv}XQ(GC#O7VHa7z@nd9y%(9N|`MkRI zyqiXr+pA?5b#1BrL@KxmIQQtzwz^$Tkfss;H&|2Ug!!0y(ntnbDOk3ryi5p$%{aa( zFMXW~GUShO@zeY%G=G)>|7w5wKQgX~%+j2`As5f_e*4P_p~7GO60nFw#=EsoP4 zLbw9M(Fq;!g*99nP={CBjY)SS&PV^?A8Lijc=COPIaG>K7AO8EI6b-f){+TMXMUer z$j1Lo?AJS4Q#eLpA8sZEzr$uye-F-o3b+-eoyQz6U95T3u{NwuwP}~3uAK79oKjzu#{4$5kqFjL zZrdk^JfvY4<7QhILRXi|=5gslt8o{)yU;z_ z>-Rz7AsbwZ$^kI3!bf5_&4@J@wE1+G^Qs^pwqdPT8bqkfY9X>XpOsB;9}T#$}Y1^n1fk z=;>tLALG)pyu<-(`7PaIm6Nr09hLNNyhp#sLP{iv3z?36e;v6&|9?D>l~PWciTp9v zY1z*Hs-am-I+}ZAi^py#-vlL=dmgXbIxk(RdtJE$v#V2%efeb>WQz}awB%O_dQq`C% zql}NGI$>?{yt;N$KICcj+Qwk%>&2;__%HLR@V@E+aZl%Xj%65MGW{g!huV5D{f<=A z&PqPxE4qtIZYz_#Z)B9BUbm5!bp0Z2_1-LRF~^n1q>B+jy<8;yc{@OBUVmD{I6(hi z>7d<|?I?+}$YxxZRRKTCq5of{wU>NKooj3qmX1a(X<@Wydn?F#SCRVq9nL>%O9Q$a z>bkG8@o!FRbmX|&(?Qm0OJoU({NI>2D4R46>L!idErbK51?L=HtoNlpF9|9iR9YGb zYwVK}NDDW;JPuwfk3&8nTq;$AcS`l(&1ff8gPu!O^J^_T`Ou9o$gk4t%NwhTs^KwP z$rW>uw=Kvdvx!_HJdcao1RALA{=G^&sJ1ap@xxb4}#UPa^NaMBeVh zX$g9JS)8{%JeCB}8N_^hk>S5FO)5zk?Ml$Q#$v|ok&t&?CBZxH$A0@TFug>lWY~U5 z@U{ZeG-SR!48Nc~6!ECLT!PBR`9f;mijbZC-=Nt2puUFj`x(!j>fZj5{Yqe3c`kv! z1SZFXuVhW|SF$G1rW|*iY^RlzL4#Dvko_uU2EzDm!sZNX&ame3-9dx28ps}}hBr^L zQnB-TA=7QdW>11eDkVbb{f$)2D>GCqjkg1_reEv4f3PeF;5 z^S6R$%Qt^zzq|!SUg--it%85O2tdqT%IIs&hUJ+ z5e$;=f_^0rVx^7`-Bv1fa0RA;bx@vr5>=EiwB|m1N;0}*T)#K${{^kRb^m{XcO2)P zd&Qs2h0vB{KjZi=jr_{7+_IpR^m7hK_act{=JWfwEiirtWHQG|DO22G^1wTEieg2lF%oEH=_@L3^c(LSJ#b#`T_^F@*}G;z z8-L*3-MiN1wEmXx1TlZ$v0*K=|TS;vESYl>+Kc7TcW)Sa#KiC z?>xZboFX8E>t~6iu$7ejPOBV_Gq!k$o7M99w7U|mC**i8Sh(Tq-2=i6?BlbMhCLil z4be?0$!|q%J-y7;YRYuxYtM1gDcT5zu-sYnhm(%CEdK)i7fA0Vy1n0v#~zk@l<;R< zrQP^iNH?kJTC&hNBkfq8;ymOl?>xl}k+zggFYB%HnD#5 zz0ey*MksGy%J?YraKB14Y4%k&>Pjcp{frlS=YsJhB)YP9j^(A9@{FPmF7iT-MNg3a zS;RR(J1FbOn>73uhuO(wh8ZNKG)E>=uP*QkpGlZV-expHWPw>#85AnF^xD#rd^kb=Ev8+ffgVJe263(w*Y-)?v~^p{Ha9tGxhZ{|CNhxm z+*l{my>)d~kT*x9E@f4i-{%jA_l4I^?3It*goo`CsANV`xu8$;M{^E7z$-KFoSby6 z;9O>j@kq{aC(uTF8Rr8zWW85s^)$36G~|Kl`_d^+E5cUHQ{9tz7VSt?*iN|48#uS* z-UqH{1hyfD2d<|lT*Nf1*f+2}dDnTl9vPXij8r$Du-^!h!MY=jo#eE;{OQ_+(@eUt zJ*@M#(crC8)2SzACFo5J>fZqGe3WC8dDItEmU%%%G#%h`*olznEeEJ)Mpzr{8&i?Z(M9hW(cr9z^2M48-sUC*+!Y=k#-Zh9RUK@o)y8>xD zVK$UTT6Nl+>&Zy!5dh`aeA+Q}Z;vA@vD$lm`4fE6^O;hoGTsW09 ztuT|xPLsAq*2g>k+l!NQ&&D{MLuZDOf8JkoOZt7W)3AS&ciuLB+ACj1_M(3z{p$(6 zczC9geV0TNhvyy70KV&s-t>EMcEkv<4|~@(w)^co#$}>=H#%WHzcsHZr#>7LjK?5nf$qdu;Auy31bsAmi3C%|vfsjmh5jOB$#04B}ec^7hqU z+oRX6;_bt|{e@TmSY|uo8OXG0!G8B0>-o-G$4T^WBrHS7I=&r?yQDiK$Iy&_Qi-bRb(6PUSxe++vm0$gmh84F%Q!8+^sp+*9DW1Cv^Mg!*RR!;Wz_pQ zfi}(hw8?!YecWc=vFzJ~)Ccc8i2C_9DtMio)b_C5g-S;2xb*d|nFY0zGwdHXv5y)+ zothfhm!^^5+~%@@;TsZklppmvGK%@rlCM_6th8Y@lutx|cgWj%i2GJ-7)}41g8}-x zow38-+HvEkTW=P4$n%xnzSnDa_Sn0nn$bt)@_s|uKdfcjh>?WvPCB#`dihU2tO?F2 zJFL&7jI&L)d+nDVFJ7-b)BCj*#bM2g80uPvL9ZiTyhz{C8}jEr_ct-@JnDs*oQY+# zW;5<$Y^YzA{W|@cm^wo>F(O3s^P|d^9UDvSI@RjPehKsYW0w)MLR-P8`Cj~%I9?DY z3HWcoiz7>Hck;>fdFjYP7$ic!k(_j^)(o^ModK$%I;1_-{CY;crru0%p?BB6(g*5e z^l|z^J<^zK_|3c_A7?0=p;Crw8ER&zo#E3AjWV>!Fek%;47)PC3{4c8A~Zv2_Rx<* z%ZFAAZ4mldXrs_3q5VTghOQ6Y5_&lFV(7Kdr=c%GePO|2*~6NJeHqp}Y+%^vu<>DY z!uEyT2)iHlEL`z6V=LU{?Z&CXGlypj&lR30Jb!rc@M_^T!s~?h4IdRgD|}V>#_+A- zyTZ?hUkJYxelz?|_`UFlnY2t+rbL;NW=fkWW2Ri0DrRb)sZC}*vza+{=IohsWge7y zWahD%&t=J+rG1ujSsrFxlyz0s%~`i+-IMh|)?-;uWj&YmZq}#SB%773M79>$+GJah zJz4ft+3RO-oqbgHr`g};vT`NMl|FaB+ymeD=SjV6{&N4yJP{HR9FZ%cazu@Y#u3dU zIz)7g7!)x*Vspfvh&vH?BhyFbj4T}aQDoD|)=$h=hkWn*_<|j|A0`V_WpzY*ri&h~ z*V3EoE%hFHAAK0PJYHX{KQk7@RZhz?C0nmRNrG)HKu(2Aio z<8rxK=%CP1p<Cg&qyP5_&!Kx6oH%5|%hDZ&=r`9$|gL28E3Yn;5nr>{=j~gC(#aW~?5WX8x`kwqd)MmBq*$mOuOTqdJw_jnWd&$e#zd+GhfT#XHRDt*?g zGxyoM-{;rk{%{OM-urp(XMe=+(VgOvZSEB0dH*N3LhqEgHTKq+Tcdg6e-p;U$8dWu z&;0Y7?)}~2ci_(W*lyyvc>naBmUq}9@65he!5eyO_nkg>df#k#yYHQ(_q*I-$o(>m zO@5~u|BKzecKgQd+jp|uNq@(Wy>;kT?OR16i{0GpEg}9d(!JR&GDXDgh^UC=5yK(|M-;xf^XB%OV{Q(;xj2%u zgKM|1ox1kmr@@!MzINt^Os(>?IM;k(wp(G-!mfwE5Xm$dZ!)`C)@OMplJ)bfowBmt zyf;u~GqZ(yU5T~?ZwUI8r}$fIVR~1iCHtH$7Sq~QJ$7yO`C_-V$2pG6IPZ_MO9@IJ zhu`nmKW~Wlm!L#!82g`l$|b=}@REguX#;QbB>xiDO*kasEke)3gujIZg;b26Dy5;?a91b}f+eOY!GV__8%__zdtFifk*~u(!mN3_v zQ_a3+Ewi6l%?vRUnTgG$W->FmnbJ&UrZ&@<1I;1kcyqEj!7ON&<@cksRN^e8nT(ci zWT6~UF5e+Ztum`zs+8)b`l|tIteT~ksw3(+Uv{{xelb5XYnmUMYs{5aTlKs4u~tE= zt+m#MYh$#j+H&oXc1pXbJ=0$6wq9H>t(VtZvHu#XFVR=%8})7a8MCxm-7I6ywkDee zjHkx0W>w>vS;O3KwKq4IJI!(C3bVGk-s)`bFlU-~%)3@=eWbb99BK75Z=1W!Z>+jj zZL6MHgx^Ms-z9@zD~FFfRgvb>LRxaRbCNTT(_D=jt8(*Il?ps$T}G8Qr>nAjaASp9 z$wOj4=s)S*w1n!7rnFR=qb1YQYn8QjT6?X7)<#>eZO}GqD~+t$?|K3~p&p{Ux?|4J zgY?n-){SLPywk|0Z&eSj`QnlpV~vUI?|fAShUeT zm$q6bX{U9T_F5O2sC~mZ#dw*lO^_+tMDAyrFDtcqoX@T1I>9D6r)`$=+E)2qTVYSu z4yqvSs7j=raVo1c+BKC{`&p&auG_P;t13*pq~6zjeA3LX^77+dNPDX)>WNe(J+Z2+ zCs951qH3UCO%2kktHF8=HBN7wVR?dOv%$-bbz0hpRREIJH*) zMy=DwtM&Q>wLzb#PUx%EkNPh4lX{|GP*3%X>Y0AYX`q$j9C3hFnr}{@mfBKTt0;}7 zo;_Tv&(-5T_6pj3#u&fJ1pS>hTYiw^Dy4Q>yX@3*TB(9sjOwP!>B06qr<3ZVe`Ie` zGxRU*F;05Dr&{RjP>a+ueT4qn-l(qV->H}SS$mv4-pTA_F_V}noKsGI_pZ~=>F*41 zLZzwJ+@7g2X(#P()yKLeAsVll(YC27dQu+Eo1`}BlhtN@irS)2Ra^CG+E7WPxsq5* zz;&4nT(29)HMmJCv36Ef)sv}edUE?4CtN#b50NHXQ<`6|fc0{{i&(_O0`J4h;Gp(i8!a3_~ z*T2?AJ6WAuPLz{Po1@J&&pRc|3+7d4k(1qCX5KU-&E94oJKFr*e(QYWjCBe+h3)h9 z1^c3X&gy7&cj`DfoRv;4_qNl*DQ54tU)nF6@y6~zmId`19&OPV8V>+K&eXOso!PZc#pYxS9z#3-tw+30m zt=`rUr=C;S>TBP&2HG+9EBl@O+9_@ybT&Dg?K9R0XM(fE+30-al;r!8-&o_Van>kn zq*LFHvd`N0tkKpOJHndiw6rET7o0=(Rr@DrE#EkuXy0Y)UT^H`VG}rzsaXjBlQS%NsrWT z$yF6)S`ahkJv};V}@%4*~g7wBcYMh zNMMlvd05UO!}9 z(6<)*al`o8h%#<-I5tQdtj%!p8u#_C+J5bTcEX4>ZfVn?5R!#d!1g)Uf_IT zFLb)vi<}daN?HJAw_d~a!TS%2K_Pd3Rn>@l_LXR)fl1v)og0&K_((RoRV`+EdA=rRBB9 z>1a_6l~LLdBivbPuXL8#yWQXHo$ga3lkr#;bIPgWP8s#3UPN_wI;tMd=WY?VsD45} zqMy`{>ZkN$_8|L-Tg)wPZ+7qNK4Yi4Xk2tlxF4A(&C})?^P+j#{L%c`ylzHYrsY_! z+tcmke&v2G$+eWc>bImgrgJ*BJGOU7!WWV$v*mTC)SnYKulb0@|kZJMm$O7sbBjU3ZfsU+Gtl~g;gl4;+o z^x6%TLA%K(MI%(G7RggTFH~0TrOKwgQu%aE<=1t-HDIU@byL;V)2VuTdR1S~pc?S$ z&ad>6>TCUDHB7IqhU<0I2)(Wv$<^OU`sZr0-bqc-JFBUB7d1`)Le1rKr1SKFYQ8>5 zEzk$6@AR2!hdxW~)Mu+*`nPJgK1UtZm#Jg=a&=N)qfY5-)oFdDI-{>sXZ7{!yuL|& zuWwe@^gZfV{j&N^zoMS&KWIz!A^HY=ua;CBsf}=ZtC?;eNudQxO4{2~X_}BE;-~q$tfFUlWdkPvQ=n_k?)MI#+ODnqr1_==xOva zzT%rNKg)HwAvYz0miJrgo-yB8U@SBi8H&}XV!aWNwbt$$SiDr=q@(*nT^cG z?hP!gYpNM#esBJ2{$@Tmf8iU?SNPIQ z1}meL+Dc=-Fn_l+E7;v)zB7HMpGJP(0%uv4?PN5Sshhz@v}qZB<9E|F-kG-6%6MtK z<(t!{yVZDOiVVuZ-vJccx>!FoVp5?hbdSZP~Wf!fI|UG&iZyYLvOf z+-h!iZ&~%N&#XpPL+ewkfiufl;LLNTJ5!x+o!QPLXQng9ne5DWrZ_X4Y0g}yn{(dT z<>YkUb5=X6oa9bhXPcAKIcKe~c3Nw#UDh^hx3$UI%(?PbE86l~@62QRHS>@;&HB}P zZT)V&wcc3gtxMJg>q@{m>!S6&bvfXs6=@!~ezI0t>#Xh88f&AqLtCqD(ROM3w8MG@ zy{cYc|J2-V?lGU5&&-$REAzGa#(ZlTR*;pzN@%6E(m6NX&CYG7k<-j+>@;^5x#Qhw z?nHNnJK3G(&T|*oK6{_D&vESs_Cx!Tec4e?QYVp<(5dYlbecN5onS|tG4`)ckP~9x zw|}`a(BmRW_+YsrN1gfMF?t_9IN5zG95FncW1 zJA2Q8_h|hoPM9;6Nh>{DU4Y3I3bwxhldC3di2-IU!aT9eeuQ~rnY7l3w~YM68A4b9 zv=VVWL)b5PSFeS(c#&eUOj?q}TQ~@34|ZV;w^|GrDAa& zFPz86;`B$##PNoC<2;p6E>2y-@^P9G(&iB0wdH&g=Nm$=6~(g<-u#{;@LDCHTtYA3 zp}h6=+AW|`6MA_8<&{tMSjx-S8nINV|Bth`4wu^M!oIV!lk6l=>R#p?C{m@9nH&z( zfiqKgceIqEMe6Qe>fTa!H|o^Alp6Iy-QD%OSMC+y>Ggi^A8&j8xF?xp>)Jb8a%Mrd zBxYZzlr)YiTN73 z3kju+#XdkNY1xg0QpQ+m62cpyQbr)W4my}bdqRg0BQ`sf;FlUa*>M$oDc9k|N8Y>< z#Fuk&Kk$!%%ANr5PlWD8e6hVz#J>i*H}M~Xjwb$d&@se+1v-}a-$BO_>?wQRcw!xN z0>PfX=j}tR*vUj<8_-F_N{YPqo7h}z+MU6kJxLW`xAQ`^Z;V-h8{@l3($i| zDDfUlLa`C4dk~8K9!kOspwkH6$)zpA9`R1I=Uq;MZ=qL^;CrZ~34~&gSCK%<h*=H#GI$kjxdDBR7_p7li4psmO~P}aZxAyG`X+b>_o9w5#w### z?R&(^_wN%s5juzX3qj`+^E>nd;v49P#9taJWeuWmIz7q0ATP`td=Rky=^3BM)7!u%3jTlw zL>wTRkYJq@Kg&ys=Y+#&fVETn>@F#u8OV=3Tl`I-NVg!*5F>E|tg+&!afv)njKl%3 z?pi#Dif7UG_`ERjcZ5n>fjbH+=>S-t#ZTN4>8B0qPw@AKE=UpLDWe;gF{A$U`vT?y8O@pHGtJ003WuvYAuR)RN|JkyO} z{n#_ziFYP+MS?YD&-5VDFB;g8;9m+wy$aIDncf6z&-nRU;=KS}nP5HI!#YZVv|D+8 z3s|G}q&nl4mS(o_eGt7F#oey1~ z_-{c6C{iZ_i7)-sAVtcfgZOAq(tj05*))ldwq-U@q?|S+7FA;;4}#=%6XO2?mG&UW zwVM&VkAa_7RW^cdLF^*XEfooCD`FRgZmmp#ZbPh;*|y4I(Cvtoc%&@}hl3r6l{lqc z2}gjPh?V$vR!)ZQLhPQL~9Z#&} zWrA`GbRS|RFB6qpp_7Q63Z1Mx1C_b~R?@bw@&<-~) zJV`OWKMtQkF@HE7p8@ucJaYn(vA8*r$ar7o0D_b7qz-^DwkYKeu-k;6=Oi-5G*Z66 zT?>^m1y15Qop=(q^fdtcQ~2pk;>mqy5&I|fY=Ye@{M06qv4%O9$hgLwrz{0MpZJnr zxd-^KK`$iu+eG}tCc*pC_?bC z66dYNO8wtP?5|Ks2XJ!k4&`;|oy1Ou-lhBuy_?t|7PC2=?Ccf^-E|DIr<7(XFNWc|SWNU(Q| zpO7S;l+Vuu`^oqjNh0$_BkcjiuR?!Qs?gsF_MP!_lEjlT{F7iW8b2#ZWK9Sw^#y(f z`j0Xk`Y*Ao(w@YoyhZUD;TAY3P72;)P^+Nsup>|)>k!x(AmgF1SHasGD)$Q$Kuo+> zph#;0+N+-unalZ|6tr=v`=b6ghb~0ylF%+h#xmGrFR)8NQLn|E17$9A3Bhg&m2?An z7Rek;uvwl1aMmQAq-8DQNjle7Hh``}WZvViOXRsHYi)uZ0bQTi zm!Jc{K!pDebP$pCPV5pEn8%@V4DkMh=QoLW094`=_5>S}V$Qh{J_`?ljfs`;HX&Bx zLH|f_fQ^$4pvTr4k5AF z(NN;1LWhyyF6eOL-hfKo2p0k=(~;mju$OW(bQB53K=&r@Oz3Du%0a#pB+RkOZ0I-= zOa8`#3E&5?kMccqqVgA1%1-zlOeXFk=oDhbX7?rTVyM_Iz~A0@{{AFB2r9M$tk}qb zM7)$^N3_6786Hfm)WadfNN6|jv@H% zJT{FUP_#VF^yPhUs8V{&Y+i*xDLHSkv1W9BMb#nM#2yv z=>zeL&}&G15A<4M#dfY!q#mS9LEIC11Go{NKY-pu;$Bc`8@B+-)2$?Y33?le*M{Cs zLdn-1Bzy}hbpv9_hqOr$_lDk0oTOLM2g3KE(@7}hb}zUO=f!^RC+;uk10);`eUP|6 zpbwE)?B!vC-!Sw186<9lK0@$&o}R4l2u||y7PmyR6RO}DL z+d!Wo_|24JoGoK*{6?oI`yxWTD)f1hd<1=g#8O{UPas|sD)9j)>6J7A_cL@BaX&#N zeIPy+`U;7qt-MMSDZ|$Y{$9uPUnlY5(Agv&4t;|})KxSA`ZkHAoxVe&(a?8E zGy*DZ6~tmc5+8`AZNi22p1^61_NEqLcID~#n;vJ#ifq!ug?z0|=4ul#Kp?M$L0p$ifG?V@M9ka%0@ z!X!Efx(IP7J6T5)qQjtz5%)I~buYMIpi2<LA#RpPH2V1=o@S|&>i8d16`3sCqa9Fo=Ed4&|V~h4cp!%Iv%NH?lpuCUGA?rK~}G3v_LQzrponeMCqk z{p*tWap-y^-WR$)i6!g-#61EXNMf<)K_uP++CgFmZID>BN$}fio{S3x{JmH)hLCmB z_z!&ElDJvWt-u~gn-3jK;u+8(#Jvxda-4)~7KKg*QxMKxP)RqCb!{1c3;1oTV%<~L zJ`-t=2Z2NIS?ogE5(uU4#HNAlvB>_A5RHUN`vH-}Ben>OQ@6HoGV4v~4b%is_tTOM(oAJh>cvLybHaQm=Vxv%6rhuh^)QZD-@}( zD~YVt$rwwJwGex?G6#AMF|R_e1=j(&=6d2ues3VMUSh@WK_Kar_5gwg^kx!l3zhtX zU>sEH0|Zh(w~?SXRQjE}aDD*vZg3AiZw;Le?#1WP(ECU%<$pg3U^g-k6!05no_&zS zVlxksKy2z^Wi{vw@Cd>@9Qr7D0-uk8K1l+plcyAd+TRa1!)I5=gzxB=BtE$y`xzZ$oF1Sn?`;kd*yz;58D6UA#_W$;)g2TTZ0Rr9Oa@ z`jN0eEM@!-acDnQYz4%NK*c_Q6Pp#A0P&{KImBH9mHGy;*v@w(-U#|ViI0c=Kx7VS zembJ9JqhdyK(yij=|f zisW?#B73JnSK{3dm2v@Q0<;BmhYdUqT@grGN_q4o4)rK|@C8yfy%i~sl>pjMk-ycU zsJ9|rl7Ap;S3w5q0PQ%)6-h%Ik$Gp(S9t&`d6P1J2uR*QJP5j`B5ido; z?nq=V66^$a26MqKMCP@@t|XQ;?M4!*o85^O8`wj69Xgn}OQAzZjJ6yMCGL6XFl7#O zIB~~9M-cpOix=!k+&$2dB>4)u7je^}qe${KbZ_GBf{rH17tk@p-3=W}k}si>Cg7yp z#uNAs@d7C$;I4q~L*UQA3nnTKI*G{mE|{#W2%VxxdiEvmEa-j&zwhb=`xAFF^Z+7b zz2HFNra=!Pv83x@;x2<8Lh!r0o;mKg7b)zFwZB+H_!`+ycZ+S#e&D6 z7b%kWi8UZuPMy;|uCy+-*Idacp|y-xWY zdOdL{_dwzR_}wTkxRE$fi37xULB*bcy9KHwbMX0A;zVyF$z15|#Jmi>LwOZ?r_vcJ z;R@1@?pC@$?@``>PFEI&N?8kU0Hv7_Lti7ZClkC*yyKy> ziLA2*QU^jeAmt8XvAeg36PtRQ#8Uq65GVEUF2OH$c)@$bNu9k<5=s9Yr8`vYM)(SR zK+KxZ4+(w`)eAl%W-aK)BpwL;gqVGxpAwn-2A>fleX7_!i1&tmLCj>R*ayIG2{Ufk zMI!fpLyEDrq!kon@$c{%$XGiN`v5XF4M8@gCPsAM#{h2rk`xo#l;*vc6 zMx3;j-$^2A|AW|npnob-hJO(wb^Es>pXIuL5$4*MudYGF2D_|BLbSWCgGdN_?79I7 zk(aI;f{kzwY_RKQB%BG|f`kaa>y{*h?R4Fmgs_*c+mjHs(sc*0Bf^0#blru7sQ<1* zNr<#}9Y&%MIvk9^+&P9`L_(Bd*J&h#-FLm8gs_XQ4+E5AvMyA@lKf8byoyJ>C7_1* zOF@0&!A>fc_$Y%)Ks@=3bO=6dtP&AVK0D$!ph%zKp$sYsk^QPlN<8Gd(uv6aQUzr# zcqog?Ld4%0+J$&>&BDY-IaL-Ro?Npi@ppwTMm)J@apLa=m3#tk40K5%`#BZKGw{Yj zmnO2WQ(1<1srL016`XKDdTmBtY25wB}U3`J>vfaU7r{!%K^my z87g)UjFhX`I`DsiihTnkd2J9`Z>}_nk$i7JWZk*4Au&=0=qChOhpuc)jFiVFMAoA# zn-a4v6#a=H>$R25iP;Xi1(CJe%9g}z58aB$I&NiaVx)a-Lu5_2BH;qFA5_8uvQAl% z`+?aXD)#_cv#dxv1m27HcOzEf+?|-?pnDK2@ed~E zbm$ObM?;4ad9SWAj96*2!->3SR~bR9wAnq0ISV?HSZT9+5py`&w!w8{ZQ))XrT67vA`AR_CFm4k_S5_$-cwZMwx4Vb5(k{=-J zf)&XFFwa6I-9Xma;| zOL>TGfkf&}>J|6_RQh+|Een-;0)7a+o_NbaZy0_Ar>HzYyh+dpi7(~<5b>n_Jxt_1i^>e*O@Tf_jMVMN zMD|iDpAaMU{3(%rmC9$tNS%L9WRIot1u-+AUlKbF`V}!^3tto2d#QXw%%jk6iM<^9 z9g%l?E8i2@pQ-#njFgA;H9+<&DnAh;W%Dz!l7?T1k#hQ#$bLrUH)5pBekZcOQTYS> zi#`Ol+TsC+ISk6JB?b%Q#EQ^Gz>+w>33M6I73U9uwgS|NtUY@Drm>~ z3DACEJ)B3~wyX~tNPi#bhF~+;$w=syU!;`B!1XL%j39rPw122DSRFUeHuK2>!nQ4-?X5g@$QA9j}biF(}F%m zNKS#GpAiz|r)4IA4^pq?CGaxBlrnpTBxgd=XSB@5c`2tiz}pD(L+HCCk@AF13-H10 zwY*OfDVsUq1KfKyRPF)E1yHde*n+H&wus$)iqCTWX8>*0h@zbeM&kV%e2aT8g#G}2 z!u3+Fzkpxy`3~rB#EgahPRw}dAH+%+e-bNc`HNTy<8P9Pt^Pw2^a-uVYHKIV!IA#f zMM#XgYh9GY1E7nMa9il&B-{qN1XvRD{q3Mjkp%I!E=}TD&}G1~xCZsux*Q4jfi6#C z*lp_ypn_}0L0d=+J8wneTD#%=_0aAl+yS~G33rC}AhCqmlZ1ytdyx>f-rAeQ>qFNd z5$e6Q3Nqw81r9dSI*_>8&_N{J3EDv-^o^|z5=z)j5=wX*fDMthzR-=LAk%oVu7m&z8F9a9i z-UvF4z;}b!dKn1~^l}o)^-{hdl(?iELGTw;$_|7Q&ecTL=~}NLvi{e4EeR9obwt+u zTCXRegWf>=VNfY|AZv=PHxXGcY`q!Wg17?ctt7b%dK;1T#n#(N=t1uQD39Q8s9Xm^ zDYv`9Jt!;D=|t8mTkj>Ze%X2-k@e2j`w4!F+G~A)gfa9%BI}^750Nm1iv59bA?VxS z9mFMJzYE?&TadCs|0pC9_ID&f*xiusZYcX`C=}%`M5u>u$dC{Xf#QB48Vp653K8n2 z+u|hN3Az-CE`u&jLX=H6)UjYrfVL2GJhT;bLz+=u-MW(y<=1URl6(N|MXY>Y1+0pA zVF%s%kO+0&4Sj^*!KS;dMM9Kwx6Mej2NZ2kNKk&=wjq(|&Lr9%x(kUUFT0XR&h17b zxpsFF?Ff}{L4-EkP09tt=R>8uKs*gPl*E@nhmrUk=x`FB1sy@+3!!_G_yXui5~D44 z+l$2KK}V7JBIw>EJ_9g!d|m(0;qU2i`{;^r0Vt zkMSAi+U-*keF^=7L|@@mH(V!#k3!M@gzzaS+Mgir{d8ZLgpWfPCE;Vx#Yl)ecVCW# zPeLmsd<42G37>#&NJ5lLci68Gq8z)!KD&>==c$-7SQ32$MOuXDTj(+*`Wo7kMBhVu zf!?_0S195VqFaU}WydJ>6#guY0kKcKJ!A^P3(dZ14b;+vsJV-K_kC+ASd zJ#dYSp(sPab@#lU)4=7p_bn*uSqRaNd!p`z2zAyIbuC1wtDXo)h+c-?L!#HAsB57( zk2>!u^)BaOPeO#ad%}i<=oRP;63v35tcB<`DC$Wl&Od?Apg51Z=?Nm(N6)87G#C0T z37>{ON1`{O5}%aG8_-WkxFhsi;sVb@@fSoNK~Yz|B3%C&bZruS2pvMAkD((-gz$Qy z+=OVh=k;EkL@z*>CK2kV_x2>3107DHPoal{<5@4gkscvI+I#;@BDA^QzmN#^*c96gHAYcF0?aP6`wzct_C*7 zT1_i-6C!_OF=tcaqc54W8S!C5b2cab!_X~=5Br$2CD;|=NL;%S+l1~;tc14*v8abR zgNcO=%t4*b8HN5~XXxIW#{rDW%TC@uE6B3Pw z{z&5Yp+AuX_s@~ILHrREHY3ElKv9hxcdoH6g`dA#I&d^RMx1PU7vl4(#&9Kx83auM9aP}rgn%V*fE z5GPOvpzd=h%1&^vK|7IH;z2nIF>HM9LL^=o+J(e&PL4smHFOaIU-jPHMG1W5cyr}` z5TkzQE>7T|+nc)ti9P6&Bt8+k6mj1}mnN~K5p6|?CH`fJLw_;Zu3m!vOOo$A z^ZgnHUU(a{3N}J|20`J^1$g0f=;#73yvH-YZCT(&*F(21@S*vl3d|t@3Vo!+Icky!n8~wb9m)h?7c~P&kT}?kPHvc@T zU@6;==Z*1Ju$${=-&@n}t)H#ev{&lqz+29Kp`SxG|bvmM!u-$QzHh2M)l_#wc&3w-UC3~>y{w^MN4*7!UUpT>AYaAzIiRK3jWkCn--y=}bBz*-C3yE@Lyzju3l zme@ui=5a{jf_F1*t0S}_UK>KJ!um$w-=Y7%p)FVz+u^EK+&K>E{NGXf%BmHyNIPemp)&i(=`w;@pVh-n|e8+tmLp)cK_(AxM2sD#~zD zQGZga2O>NPe*n(24Ua2QB_%BB8nHm#?pdT`;sR%+9QR+~cwCX{5h%;?s2>S=b>vE{ zR>BiYnO|#@ab9Xcaz6j;{4$W#mDl{AQnx`7zO)*#yWvIJO52#^ZHKxRoBZDtjQXFr zBvoP+d!qKmvL++7QsNVenBf5%-;eMH;Ty3Vv9=+&uGQP%KcP%0>TR1M?;~-=2!u1K z2uVUX09Oz3cEG2y58bASO==epXMq3ysd_Vt5C8cm!5G6c#y8dkCNz<8CWarI)O0eP z%|h^Jv#?pjENT`ri<>3Pl4dEhG(6laYnC(1n-xq~Q!y=gwskYz&5EXn>1leI-tdpG zvRMT_a8@&`n?7a@Q#F~XnYzhMo9PQ51N}^Yv!+?gtZmjY>zeh<`ep#U%nULe>Tza6 zvk|;_ZDKYxo0-kc7G_JcmD$>CW41NhneELEW=FG=+1c!3b~U@1-OV0muo+^8nqly@ zHp1*_Mw-3MD6_X2ZN}hNxyPCDW`fxVK2s){$z}??^6Y2!HwTyl%|Yhi!b8tt=5TX_ zIno?ujyA`bW6g2qc>GfJiSXQWvN^?^YECm#&FSV0bEY}VoNdlA=bH22)8_(np}ELh zY%VdEnrY@TcwM;yo*=F=SI_g4bA!3j++=Pxx0qYaZRU1!hq=?-W$rfjnCa$TbDz22 zJYXI)51EI}4D*P2)I4S$ho7J)%~S9d^o)7dJZGLaFPInMH|QlZ%e-t}F|Wdd(CcQl zc?14r-ZF2Scg(xyJ@dYqW9FI<%!lS9^RfBFd^+#<$-gpRn{Ujw<~#Gf`N8~XelkCs zU(B!OH}kvs!~ALfGJl(Y%)h<|Pd>hH{lE|X$anDRllZCM$?xnh`K$YV z{5AZlpZPVv?&p4+-`8*V`}zI-HT|{xwf%Mcb>RbPeSd&I(1#xazu`Ci4g3w^cV%OL z6Ms{GGktE+z@896xh+h)FSv?}%?%#o56~D{B+rP)3?%(U*hhG?f z0KQ}%!tadFfai-x;rr=v_;-2If69N_f5v|no}ixhU+`b_XZkPsv;3Fg7wT32HF%ks z4L>t)`fvGf`|tSg`tSMg`*Zxc{s;bt{zv}D{wMyY{%8K@{uln2{#X9j{x|SB_#OPw zh*z4Q{Ga__{9paw{NMdQ{6FEN=5PNWcqH_!vA(r7u%V6Mc`Am_rqp&)|4j?qMeL$> zF}t{3!Y*l-vP;`#?6P(_yS!b&c7->?7TapO+3t2l+r##>y=-s0l3m%ZVpp}R+0|_y zyN0dW%+_q(=C;lDwe7Z_?QhqFf2+0aI(A*Vo?RcFt_Ipc@WIo-FRpK3H-xX8jo~S0 zQ@fen+-?DXiCfvN?KXB>3lFgHp|c}A>FjKGvAf#c?C$WTIM@!cL+vm-+>Wq&+L3lI zJId~DN82%WtQ}{^+X;3bI}!dCC)+9TwX>hyA3k>uv{NTYJ;R=9&$4IRbL_eHJbS*qz+PxCvKQM+?4@=ZJUCts z?}AstgU{9W8u;qE4xW5&us7P9?9KKTc#gQu-fr)(ciOw)!|NV9-QH{Ov-jHv?1T0p z`>>s1AF+?x$L!hYv~%03PM9?!zJ$Mg0D`=Xs`UxG)Vm+dR|Rr{KK-OjdezylY& z(%5(GyY@Z%zMUh!XW)C_qyKtbfJcJ=_(ib4*k9>Y#{OylvVYru?7#5*Vget2Ujle5 zi2@hI;_(IkUOL0$OBeVxStM9=0nabuL8kEj0=^76>>TV8>>BL$Uq2D^{X2-ionS2d@QnYj=Zau|`g#yg z55b|qVZq_S5y6qcQNhu{F#-MYoDiG{FFYp)rv#@4rv+1k(}OdDGlR3}2||281Q!Gs z1{c9&&n5r$dJ$anU*8nLt-)=4p^J(x|@Hu?ad>MQdd>woPFLB=m-v>VgKL$U+bHgw2((qgGd+*KZ&CGwx8yuec*}*$hbx3#!%El^wuarp z?%|4IkFaOhE9@Pv6s{bu60RDq7Oo!l3DR}GAdE&XEU)Vofv+%dK4!l{c z2Y(g=;L~nU*bz3uX1GDPVYpGaakxpiDZKD)4)1nb!Xw|-@TRe?_|t&jj2*+B!kxwQ zMYvnId$>n9I2;lV4Tpup!x7=0;mB~W!r#Vd`1Bh~j~n4W>RV$9y=#a+Ecp35I6MUY zHx3IA5040s437$r4vz_s4UY?t4^I&98}O!g3cUTD7ETRMhtIz=;T!Pm@SN~mc-A{V zydb7lF z-Qhjqba>~x58n75fLDo!;KO4^_(=FD{8c<2J`p|{J{3M4J_GMP&lUcAUJPf3FTr=m z%kbp$Dt!689?ph8pEtv|;DPHMc=dS?{=MeF!`BD!@bQs&{0lz~KMOw(zX-n!zbbrv zd<(x7-xr=gep3GxzljG6c>DM({Cl3q4<9~10(c0DA}3yg;N7BA;oqW5v~aXYv}m+g zw0N{cv}CkYw6u5)5x*DeL!>2Yjk-nMqZOkbQO~GX)H_-!S~*%JS~XfNT0QC$tr1nD zEUHEID398rzEOMBFX|ty8Lbtq9jz0s8?6_u9}S2GMuVb`s1Y@z4WbRBjiQaCO`=Vs z&7#etEut->t>CqA8~85V4t_&+fX|Sf;5lTMXjk!?673NUj)p`-qhZnTXhgJUG&0&N z8U?>*qoXm=Sokg*UwAK@7)^>MM^oU%Y(ID>I{-e)4vG$jXR<@1!{D9li0DZ8D?1uq z%8reWgV(VWq7&hR?Bv1=*=f<#==A6e_-HvRIy*WiIyX8mIzPG~x-hyZx;VNdx-^;= zT^3y)T@hUwT@_s&T?4-)*G1PyH^7_7P4FsmOLQx|irlXLN$!T1k?GOB@LX~~yp}u| zJrq40&4?a}9*rK09*>@go{XM~o{pZ0o{gT1o{wILUW{hKcgZaHEqMhVOkRTrliAT5 z@K^Fy^mg=4^ltQC^nNranj3u(eHeWdeH?ufeHwiheI9)geHncfeI0!heH(oTKPW#$ zKSn=AKS#e59#MXWPn195E9LL#pXgubIpch1UEo6T*WzNAxYTuWo!vsNi(A+&;udv_ zxy9WQZb`S4TiPw-mUYXy<=qOdtE;#c*Xp{t?rufb!}WB%TyM9MTiLDRR&}en)muFdsz?XF+x!^ExQ)^+Q-_1yqB&<%1OuHl+)1Gk~u$ZhO4fydL$+~#fz zx24+(zE8Jt+q&)C_HGBaqua^t>~?Xxy4~FFZVxxu4RJ%=FgM(dfOpi9ZZ9{=?d?Xp zF>b6I=f=AUZXY+%O>&dn6t}P2&+YFHa0j}B+`;Y;cPM;y9S*NtN4lfj(e4;`tUJyf z?@n+hx|85H@f3HeJIzgXr@J%UneHriwmZk2>&|oMy9?Zf?jm=wyTo1Urn$@9*ua^*T8?{b?$n1gS*k)F!>4pS#~Z;2wmpmxtkT z?-BQ?d#v=g=AL%XxM$sS?s@kDJm1ZPufAD@x4u{1YwmS7+r8o5g!j9*;VI@_c!hc2 z&2e+x2kt}nk^9(v;y#5Bna>MPGhex{-8b%A_nrG5-ei7sKf$x#FYZ_OoBQ4U0q=W% z!3*C%?q6BVjQ!ZcM_L$1@SF$tvhYRI34Ui5io3v5%_8tZvlx5;`Xz@GuE4guUY4@Fuu2y!EUauNJQ!_lehlAHyuJ#q~Ic=fS>l zJG>h9kJpUXiq{rjfAE#Gemo!^7!Qg&;Ipp@uZSDMuieJ+Ch?~5-nKb>`E3c$ms`V2 z;kNJ}xP81sykopmyfggm>o|F;<$Kx zJR#l(K7=O4li^8e-*`WGgF65|0uNFzn1{i~;SuqX@N0N9w4FMdCs6VENY zKYldN3*+bU7x9(#Nh4_{8zdVh z8zmbjnnnUL(0OiU&vlS|)s$pOiM3;IG!j!2G7j!KSB zj!BM9j+^f-44%PGg>SH_$?5RrbSAukoeh6r=O*XDuhRwe{RRI{mnPGa%i#6tisZ`w z^}_YPKDd%Qk~@>T#7|Z-T|8qY_a_e|4<-*K4<|E{N0LXA$CAgBCz27m^o~naNAZtmNh7mE_grwdD0=cJfB@X7X0@cJfa0F8qeRpUg?-CLbgpCLbjq zC!ZvrCZEBt3$q&ho$xq48$uG&T$#2Q;$sfs|$zRFe$v?@z zDV#{9ernSo4bv!fX`Ci$ns!P%rwgTB(uLDS(nZt7(#6vy(k0WS(xua7(q+@-(&f_? z(ynPGZAn|xZfW;)#k5D-Gwqf3PFG4-PFG1+O;<}-Py3{6q}4P_YiT{r)3&s4+Mf1H z`=@KBYo%+a>!j!s_b1JZ%%ptK`xq|J1Lbi;I`bmMfBbklURbn|qJbjx(BbnA4R zblY^hbo+FNbjNh3bmw%Jbk}sZboX?RbZ|N(9hweHho>XbJ=2ltUg@ZG?{suJCLNoO zOUI`Z(tXm2>7;aWIwjpV-7nogJs>?WJt#dmJtRFeJuE#uJt93aJt{pqJtjRiJuW>y zJs~|YJt;joJtaLgJuRJ@o}QkOo|&GNo}HePo|~SRo}XTjUYK5#UYuT%UYbrzFH0{^ zuSl;uS>5_Z%A)UZ%S`YZ%J=WZ%c1a??~@V?@I4Z?@6bp_onxy_ook} z52g>L52rKIN76^r$I{2sC(XVPcW=hElX7t$BgndwXEtn}sdmGss0we*jnSPaioqm&kn|_ym zpZ?&cj2l(0<{5QRu3A^Es+Ql^^ti3itT{lm(Wvr#R^|2Cykmx!4eH?a9Sv%O*VXj; znqFV4^_B0l2G3`W0mXIDB7A5O9#pRz(2v&-DAIxRgY>wFCua%1NHua#r@TK zf99*+kKr||46j-3Uxd@FGTdf$pdK^)X0^yq)~qs~X0^%h2kQL;_5Ojy{nc7s!x>nF zgW_iX^Nv!PzGgqYzn|XUPw(re@%PjC`)U0BH2!{N{Kfak7vrf8Vm`Bm)=!h)=N($l zxt0sdALXv)Q{{cNoOY1)V>#s+!>RYDR_A@+F8Qxk2T?P2K)yTAk_4 zSpL;|v&c8>k?G5rf83|_srAvA7ml81d1ehwU&ivQW=+laAlhp+R~=N8Gt#T^4Prf2 z2WfiBa57CtrsbINzAV#vWqDO=WqH+De+}M;^w6#vybs5$&qk)@p!U+Boxonp^O~*L2YiQ18rNy|g2Zx0$IuY5dJh?Mc(o%+#J(E?HB{CC?aMuI)6h zsvUGN-f9^?+Y$0tq`Q{YOZ!lJXlOb1S9@Z-)r{9yvl`n$R@3@wXug_ikNh6pLh(Jc z2nSkx4=vIOE$)LB@j{FGfEM|O7Ud7s_K|CSvEGmlrnAO$q1kA;^E{4=@S&{#jK|en z?LKEeg=5-P&i)E^$o$m%vpni$`&N5t*0g>YF3eWzr$&2d*0g?Vw2Nj<+dJ(R^~L<; zWj*$1zMB0t-2Sw?Ci{h~*Jd1Qd%ktuNSs6}U>z(1F9r5~F+0NA-8`?gz{$)8bU3Kjr>e~M|>zePn=DX~7 z+0SIndJ#WV^Ig|`*EQcAdVh!B-=XE!q2;UXJfCM@MR>5MB0Ojj9<&IrfsRZ1MQG7( zplZLF+AsSFoLBp0e}QAQU$$Qy7wLf(>46sMfolA$cN}Z{nZ{qXo0`T?d&c8hSXFcMWT@T{+5WSpri;(HtigU1TAnZS z&G<4c=UksZIqePOh@xH)E&I(}``Nr~7wu(x(Qve%sOGGnYT1u>u%EBe{$XZpm(>o2 zTkT-KUDa_zR+hi!H*3>&T;{u>>2I*SYkXd#eY1RO+8@-k|EOtyP%G_$;iEi?>$3*K zhiZS!{szxM{hs5ftikj`3p;`q`G;z`YI|;U6zRfwy`SUJtTAt##B|o#A6Dz-xJ&D& z$$l|wvR;Q|+k9dWM}aJxv|o{38SkrReQ77Pay-Q2tkGBNwXf!{uhv^%rZ4C79d=o?pRB>> z70RW!9^ukXGu~gVmE)|wn*P3;{=Qn@?P{-_FCbja2itwMuH{*6W4p)(ltx7vW zx3B#m?Fs2%dNan0W6eL~MYpc;wrhH|U1i$-vJUMZ`24A68h%a3p|x^6$@{ZLyOtN* zIgYj7+BM(o4`A0?o@KvF`@(rGmxh*0Q|m{^-&NWP!qw~ASx(h9O=lT@zv4c0>spWf zG+jEcYH&P?`qK32yr#i+g~tQSBiH#!o%M|CS>D+|+Eukf`!Vg;GUgYLvohW?A9`Gl zA36TY8rmLf+Hchduzu_1_<4Y~W5$~`+sfl2UK|&8fcC|FG#f?waLn>zm^;4Q?P5=b4|yg*+5Mn$33+{`dqE{)pp&`=M3Y+{Fmu#4Agcq zko`e}<%ju&+Ov+&s_gG@UvVC)=_=dV0Oqg3azX!H#;fhFgYBZm@dEDG^k}-OWxqOr z?Xb%B zT&?N2t*X!GD%(Bmm3Etz@#uUx}WxJc`f>mE2}{p7S)m<{{+T*n9byys3w=RGD2nK-%6 zo_h=(GHFCnXw~vztdquuP9hr|1XOG6Bw!?rq^1w~tZd9oJPM;oB<4WcNpKQ^Ig1)k zQ;kl)ukvAvNhS+1XJ?GW7mcx6W4fSvzb<~%wDM}@LtP)<89OP&ua&^`Abc$>p2u+! z9<(q9bWSwJTo>=EeYH~AIlu_C@Y#7F{Nj7uuZ>$LKQ$d3RLj9xqxc^8^P!sQq$-DSTztTNT0i=*Y_Qxg8PjstaBJnDt{gP!q$|^h zLruf2^<}x$^tzf(8Z&m9h))}3*;$p7Ii>^gYW?V6)kUo;+bz~S ziu_|R&2&|@ldr0sR5=){W@?|A+E=EXP^Obj^lF8DVRlw%O((lGcKX$twv!s$368bg zO1mm2@eDs}FnnlHPG~1ZxKJ%$4jvGle$PPyjQ&GEGmWgYjDV(B?5FwS_%Ewfq?$j*EQa zImY_TxQT_yq~=p6k5x{tP=9O>wQ|szWR(YULn__apsUzU|sxX_q)(#E*8V-?P2oSnZ7c434!t%ICQD zt5uz3)^zcwQBK;*Nmv)@?gwr}lUGHzz#xla46>Le#)x?s0uyv6qz$7sClk1-k6a%pP0m5WpQoXNHQ<}4Si z8M3|R|=jrBcRX3IEy17)>NpyYQqA~lSy7q5%odndmiHx}!pIddE>^9YY>*c1ZjzgPl z2iVIg(g~$~HFa^RsqLz%i%d;zUrn|P?3EYsKv@sXa?_$*bkNP~rcT0}9KYgv)?c%1 zkDSzF?#OX)T_?TuvK?vubM0SqE#G|JVs+6UVs5G9+H!oWla`!|XP7&d?Xcpxv!LF+l!&Dvb+JLhIA*8ExjxxSQ;YrmW8O9@rA>uOW&s4V}o zzVu~C|V5qm(aubMsw zYdW5-X+KfZ=XFyz(%Qd3(KFjAg!Y9s7a0 zz9dxFmn!NyE~x9~QeDT_P2IF;>iE0K`4kpWwO#0DMpMV7O)P2F^8>Nu^bn-5JLuQhcOqN(GyrmlZ9 zb^O-U#qcJdC+MHG{PZQICZ8`julA(l@20-A)YQe*CZCg-E@*ko+ayxE<8vA78!Y!+ z*Bf%$3DyGjygmnWeQxFDCaR7Ta~;>^IuFmeI9bg(-at6o4{N>V`tne&^Zs1tbGdG^ z=335eWk0L)>|7U>bKO+U^*NjCB3rKYk?UrDuH)*w++5Z9X;h}DIu6q3V^v=gscN}Y%SB1{M_AS=>H}JgC$T75)`-7xQ22R*GV8g!VeGKGcqNQ=q1c`%pe#v|Mo?>s?#{viK3x3nS z;5T`-xJP z6yMMyxJ{183roXWH)U~X3(#!pYe2Y8djM|B<5*iNTN*4yv(G04b|bV0VN1jJT3p(~ zYTC2bbfm7^X0R}A>9k-Jt6ElFi?KdG6PN}T=8a~m&4a@&Yz1jEW4DT9HOF%Jr^_03 zHXkHTyET1W&D*P)*L`T=aCr=`60^H2w*$&%Qf^P^J51P8VmDOPVNz8eyJfdpE1O$; zgEms1Uw6nT(F_5}`_3my#2=6!>m;ssl2 zJCnmkrY|?>x*2Mz=y#x6Av$iy296s4{940{l0_9m`$tnU4B`0<(2Xr5lnqZ`+{7{a zFuaIWT;5lOBa3Rea>OSGR*;JG4Sk|O%c?J%D`%SJ6HZ^ptRd+|yU>+G95YqAB8>8* zz3Vm`CMd;m)}bq`9lEmJp*vX}tXh0um{!)IBf5@qg_G&VZXHXkrZcJz9TC)YMB2fT zF0L!mgSR<~bV7^#;4NTwcQqZ+)N};fp(EW6eJ!G+oLOlTsOgGwOV$Y9beNu8{fqK!A2A^>FzNi}(UtAB>{z+$89UOV%wT3c0t$&VKvC*aRbL9%htp6%!q6n`@Z`Q%`#rI{r zMR+)0bOF$!9B@7DrCN4Dtlvi2)b+`Xw@_)#RnEY1tmVoXIF7YkIRnSBmMd3iajfOa zktU9{TxmauuMCg&TIEO_*J(L%q=xG>-JBWYxQGW@lnYeLy=+gk51cQ<(ef@|7vKmD z-xuY8x9AHyf)@FO7Uc^q(g)Qpnln8d)1LJ;e;jK%IK#rR)_=JZ$(;|JFVX?ka^TJj zcI`EO&RlV<@pDBB#~Oe6+6HH|IIrcvl^YyuIdH`o$Auk0wH&x(gJX@qTxsXbvQcF_ zhHCt5cR1Ggbw*r{$TQt>(Q-z+E5gMBHS1G%25?-Sr(NpK0nQic!gEyZh$CY>;Vl%b^7NuIA(vOBYM2WQj{-t2H7vvX{YGC`z$>7s*FP($>q=r>SLo{c+HhT8x323-X1#oUL|5kO`dVpSUn{EX zYZY}}8LaDyWnD+abzO<9>u|EJD~5Gl!K~|uysk5~x{hn=I#a2aGZ;QeQNBfaF<<_E`WM_jpu9k3tK*KP0=R{JY= zNVWge*X^-E#dNhd+vF+TPaj(un<4h^ifY4UOm2I#FE8Vv?$6>frb=JN$K_0QR>r2i zb;bc6uGjC`nsKbDcnWErlXB59$UzK!nSd( z5`U;bi|EU_Cx)ha%(XGRVnYjU*THmOwb;IDu>)209UctSn4h}NT(o84y>5n6=iC?X zYnI2%UtOPonU;sH3E(>BQ(GpE^?EG_UDK=Si;_^aB^|kCx;CPFWk?@eUdA51mhp)I zWeaZOURP}(U+BlH2l@on>vRtTTjWfK?q%SZHmiFYIA*$aj{(OFC)X!M&L=S5n`U|E zTHiUJz&Ou*y7zG-sxGUrxhex-r7maCGlK(-$!H4@7W(VVBUNT%el1dPgx|saGi(rADb! za!S!>A|X6#r}U$6l2jkSBTjzmgLtGdG7rX2*-TnXJzYNfCusK&2vQ0aIH=QVz=_~TgP=R63<8o$0lrQ<1_*Z4VZ!m-A$GuTYu)X>(2 zo$4YUtnw81;fx$fZSWjV2z#E$Kt zE_)P%)?pLJPb!DCjf}&+MyA8a8ap|xC$swN^ESAPP6iv=EY@6ybGa^z`ugxh7_@u*?tBq%T6=_y;d?itm~9+aknXv(Z<5itu$W*MFKkQ@);`l9DT52QU9 zO%3PSBh@(5#Vby%%JO+zz8h25y|0?SbDPh5H%zmue@LHc&s8f|DmYF=4^kEjO$;vq zaR$dRINs4I#t~5MY07ZQcK~#ctES_POjnx9ce!fX9KMV39MnuzXE*EnuN6QYUMbT6)6zC)yYk9B>g1p~MuUv+KL^?57hMGuG>TT#AP zA?J0u&hT?CGGp(K%Q zF^?IsXKBmmml#Q2z8J^H1&l!}rQE>Q{-$0Uk8bQ_qcj;e;tvRFY@XJ zXKkKQYoY7LQ(i7Vve6)XeN2@btjs6+DL!uNx^b+N3KVkrxaWQKvj5a{W@<#48c$aC z%lg7$O*PkL-dr0|O(z8yKNOQX{i|!Fqj;>Nzhpht%NMcvm_qq#|F0XLHGM&=RvLNv z;+Fo^a9wvcG966oUk~Ds{j|Jw@SU+4q&j)TbAX*uUH^b2*X83(UxcjbMtohLBbjzmxh~sgy0M#;&jddAP(Ru! zb5e@uWnnjHA4PfL`~Q! z0=7pGMKpp6DCnSwf`ARo4B&xibVWr(85GY&*JCy+4&J)Dvg#_UnEsyX?#yInGF*bk z|1~jmeV0A%jqDJ<#fo)N_Mz+8ni=Bi(SZR zKo2<`KtfIjkdV_cB;+*ngpzNACiAmxm(l;gj<1lTv_ejK6mmLlhwSPL=Q-)-DCLlo zUqZ?J;WX=nlFGs9Kpt|cFCnL6OUS7N;c-}Ml_OK&| zJsmmh>D;fUbHAR>b$i;^<)vyXU(v7J%IB;teZ<;IZ`M}%%G%N^tgUi^wH5!Yt@LJX zm20f6e9hW2npj)qDr>9!W^LtH)>gU0+PS}N_x8wfI_~8-9rtpa7g2I-hbg~1_jfw< z<=FAfap(Sae6#P|-!4ztckXW+o9sLHxAhvnFX#D_&6vq%N!$40cjx)-@{WDy`JImR zInGd4ccEiGQav#6;=gW2EE7y^)++;JD6Q0~;bC?sJTw5-%%bfo^ za**p(7MvF{c$wMOUrvW)_O0`=8}0PWbgJERy<)}+P^z*;j?c) zpJPumIEDS3&ZuYX+t2B|EzQ0i9!IaU@7P;TGjI>58Mv2Ym*?2&IrvyxE(iB=_WRh) zPxNQC?#J4SSJu}3SX=SR+PWWWD_&V!_hW56KWpnbSzF~0Yb$*Im-T=8m08!r47TDCyUxB|Pe)&el5QtQ|MYb9j^iZ8 ztz+9iJso?ar!BXLrF}ie`Hg!gN6bAU$)+jQXDvz0gJyjc=|1Ky>Bq4F(gQ3Xl$%I0 zGmp$+d6Rr6%f+(6a;5wx%eUokS^ii4p5<<3up~2=#Bi1;D5F@Orkum_JY^Qk8dDzUz9IlmLIqX6(jEd$THzdFgux~iutnKsz=OJ#$07G zqwF_inW-MZlCktzwo}`&JX+0WIYcESYK}UL<#8&{#n|{Kvphv*rZmR5pTY7v^?H_b zRGyA8=?R;*Mwowwenny z=604D4PIr*kgzOkGXt}%HP8qrBfYm}`LXt~Br`I21D0*vgqbnFJF@KJ?!vO4o3vvL z?-N*#bdO^>-aVe>MQ&zvV@&QTEE$JeaxoJ3m26+-zM5^u;AXkfT`b9rLCrNi?LF;T z4)vVHa;#@8%WFNeSkCs$W;xe0m*vf#TUp-bxsByQ&q9`r&&={}52?&Z%xhUP7BkCr zp7ktao*2u=J)}NkFF(z4i|1vQuX$dRT%I>PZ?OF)vll9ito%MlKJ|Rc@^j`klo?N% z`0+4?GDm*){4B|gnauoWjFnuQ?YhiiC^JfOCd;PG{VOw8ax;Eqv}Cp!C7ESAFDWa= zM`qd8+nr^|8)Dhp+nePOZw^bwKxTQO_e7R|@&1J?FxD~4G0cA`i}8-x9><)+vKZx< z<)zGTEHkPx@yW=>#3!R0U&Z#d-fP*O>7B{;0x$W65sHahF*Y$v#v*3E@ zQ+GPs*JY48jF)>m%Ox30SU%2-+%CqteTHpDwPpMDjJH_+Gvhs$j9<&~&oVw^$#}Ia z8L!qV4@8+ziy7TUNJ>ubNu#8Clg_z(3UkOY=b$7}YA_EW=P8owJpD3V%Dm`;OQ%RJ zCZBVunBz?RB0jQnCC*}?YsEzJt)pJnwIoeyz`2Ul0mQt4wWURpS6U&xEiIJ(DSalr z#9T7X_Uom^mM&>EWk)LOdj+f+Zu79fS<(IT3S`(!iV~O9Y_=F@Xosh)E zN@pR1N)ItcxRS;A;H#9Lj1C@Cj`2L|*{BQ=a;KcYxYg$=qeQwXr-~7tmD9us&&nB$ z?)`?C}%Rp@{!6}jI!KDIh*m7k51)c%UC%%zz-nw-((Hi{ejdt0+slczOXRQbBiN-FQyv^RNLAtJyRsXi@DUKceWA$HF&&wNC`DoE{d%tM8{au+={af5#9J80ze@#77yw3WbV6SV+ z0mbdROzT>&xP8}M6%s*C$zy|2O?_6nVM-w*KD?=wd(nfGz_@ z4#_#LgS|&Cuax)2o(S1VDIq=S$H_aYrsC>(lcyE0%j4^$z<#Yq)G1y!^2YuDN73?d zx74$(xLr9ab5y1Xqge0#d&(K3GEccwoFkSsNr!!WR5v?rNA-5%*pBHPqi*}_@X0%p zGIw@j?4;!O{;bE|W`9>^tsXJ9Wc3J^A5{K|W8rR-Hj8!YckHf;y>K_qK{Hs0rTtwW zUVn~q&ZzUcjYE%&YXNhLz8GJxxTLsb{D$$FqVyyW0e$Cn-Wcf!Q+|DNET&}c%VqUBxTPMSJ%YQfay zQ`bygH*Mjxc*?Syz0lIP1C*8n@;yz-%iteP9Ip@e)^jErSnTy&zoO*_4hN5 zjgE|t6zdrc_#QhW%J;3JlA@Apy70?c(Qy`6M{k_}z5SiJdw%Jx)?9)8S-X=*#TD&i z^GmO9dVQ;TpUnGYZeniYraCvDyE5nIbLV|>^LTMge36PtE8d;AYrb!O@x1Tn7qiYi z&!#>{@`;2Vt|-YwjxKJ0i*)C|t-OupCA98} zcP*WgvvNdniO_k%9u#_!{KC_c6H3H3d1jrhqr`u08F9+$5y;0Twntb}+P;YYiQH54 z1^;7<9OkUqwlvb}PQ_~|hmjHfQNp$QTX}jOw&?=M#tuIoJA4p!_{-9K=~cduOWU!> zpOD^>K9EYJkEKuf<#WD&$3CASZI>4-r^v&s`5`6dhaAIvmSN>w=CM4Vc^&Ie?_bJn zl*^etF^Aa`cQfzfPt1O}TuHcUDF*W#4pAPUu0LG)h?|O=v;z`uE3bC+2MXm)e#2+P-40JTYTi7BjYe z!;E>~@jZsQ+I~`xWu7)g?ImjDYG3AMtEcwU8f%$qf97Osp$=p&wjTqUTJ4QX8+17fiCotPuKlMayfHpuqi5b@hsd?I9ZLm5*%(|xjg<02f)svZbZMZs8 z%)F+aB4%DwPi5w{k?QHpw05RCnwi$dsAr0q)zq_?S?v;ajCQ$pxq3eHsLfC>U>3D& z)$z=tHdCD-W>8ZnGK1O@brLhAtyE_)GunD}mY4%gEnx1mr`6k-@$4COF|(M()g{ba z_Mv(=Gnaj$E@j@bFV$t*ckbq@!Te%Js?RZ_SO@h*<`fI4FEOiFNPU^v!-lADF+bRe zYMGcFOx?+xV5h4eG9TDk>PO7Jb-(&CvubTozhI`U9qQL&_AB*!_ip!Yb+?E4t?Z_oU{xvhm%&DdfbazU1n=~S!*IZ1X@$(Not}sr{3ROYawd_qJFQnWrm|XtsS!&jn>*TbJ2y`QKC+-brAJIEx=qvv$c+5_93kkvkxuQx-kFH zBCRVk5E)uGQJdF#QICIA>&uKnk8Axz9bN06(JiB!Hh}qdLfSxTg}t;v)C&7+*`l7U z4HfllZJ4BLd1isO)-3QaFTBS?E!d?zCWYCP*pno;*wd~y4Q+GkV(Jsf$4DoZKl4VmpMov$96S%(;018v zL)jypn2ZzaYK^O0t#QiL8gsSAT&*!zYs}RebG61?t#QiL8YizNw_x_|urvgQLJkar zTsRJf!zefvPJ`3o4EQUIhBM(TI2*>mSP!FG5J zUWYf~EqEJB;Zyh=sj3I{p#e06M$i~Cp$RmFX5fS7&;nXQD>wpL!;#>JHqaK@L3=m~ zI>6BofR4}!Izt!e3f-VP1fd6HK?r)nvCs>8Lm%i1{h&V#fPpXwrot644M;cnDj@CT ztKk~B7NT$+%!FA$y2>{I>57jnjCVgQ&xM=dE^-*xRR+Tl7z#Ns3>Ly2un6u1aqePR z0?XkZFkl6&gjG-oMSyHrWf19uw?C}B46nee@OL1+6w*ui2fP8KnerCA4gZ8VyaVsT zd$0rEhceg+AHaw35qu1!vGN&^&dL|?FZdF^f`7x;l!KSTWx(}mKM2!q5O(c>pQW(s z0u?myLTx}!RAfX&MpWcOZ3;eU0j&U;P)Tz<_hGFL)P)i7v=nv|CvNWH<{8{PgPUh? zb3gZPN-@&GLwtIOKhG8@fvxZY5MSQWK-zkVcQ0}7CC{(CalxSVUvHuJS5 z=$JK$0__3T;<}HUQFK!j-4yj+Z$`a0m{F;9+AEAS=WAoYzS2Z(A=`Jrov?(^u3)_q z3Sl*@F^6jRbNm5t?&N;JobO%-4?+oSh3Cxq<#(=^_Rf0=d-*?)Nb}E|w2@{pVJ>#U zJc}?F6Xs&VTuhh^!dy(4iwQF`&%zq>?9`Ycyv2mKnD7=8-eSUAOn8gS@7h*=lQ@10 z-iA{6C&WRd!Ml)>4ssd$JK+QP5I%#?;Y-s{Gn{mqNV;4MmqTiLRf$Q@gUG{r(>Sal zF$jr4NQ^2WF^D6>NmHX*NYY8qB2pqoO2nL$C?F+bq(qFAh>;S@NQoFJ5hEpHq(qFA zn27YG-l>4ph>;pGQX@uc#7K=8sSzuWgZ;Eg5;2b_5!+u2#=M3+ca4;(tR`o!f&1YB zco5dZL+}VZ3V(ygu+JW6{RBJ-o8ei?qq8YjC@Yedqoip;p3kxo6T8YSN7Xu-VhKv; zDqgcdX$BXVx^lO9lk&P5R=#2Vt$CBnYwE5Hn8o(><|5Y(<}%lfY|n-{Fc)run_(Wz zhg;xQD1ZfU8{7^H;SN{?cfwt;7?uF{buEQuupI6I16IIFSOsed$3te=^)STX5qQir zT(6i*T(1(Yzq8)X`Zai+?SH@<@Fu(kZ$qiMOxdiGmxfGg zl^QBxgVz|c{VU-sr>b4TSBekYXM|P@qk(j(p>=<(2lRQAr!mlZy4Kq)(}uF0XZF$Z zC2ytjbT)B(iy71wv0g*ktTp}RR}ogh!C%EIte8q+$TQ!!?oTNz?kR~g^u3;;TGz1a zF+#saCBK|u7Ra@rHq?Q-ST)13W{!tZa5{{EbKqPU2eV+kxkg;gRUb_@6szFqa;qS} zlGkiDF*cW&xFu0WtVD?wQF|&7wI^>O8oY&EJF)&3-*HA_7xu;8?K-t3;12}qUm_ibi8OfUNjvqnvNGu z$BU-pMbq)3>3Gp}yl6UJG#xLRju%bGi>6EXYVo4!c+qscXgXdr9WR=W7fr{DrsGA^ zr7chbTLF(TUNjvqnvNGu$BU-pMbq)3>3Gp}yl6UJG#xLRju%bGi>Bj6)A6F|c+qsc zXgXdr9WR=W7fr{DrsGA^@uKN?(R93MI$ks#FPe@QO~;F-<3-c)qUm_ibi8P~+z#5q zQP2U7h5&SgPS6>;Kv(Dn-604)APYj!6OM&m&>Q+dU+4$@VE_z-K`<4rfN4Ow;YHK& zqUm_ibi8OfUNjvqnvNGu$BU-Rvw(EPi>Bj6)A6F|c+qscXgXdr9WR! z7oH@%YC2vu9j}_M422vR26*f6tm$~xbUbT1o;4lMnvQ2pSC+tXxCaba0V`n@6haXo zFTb>gsgT}y<#fDqI$k*)ubhroPRA>!3HRIymC5TIbGCt@yzLX=5#!Bx{G_@ znWNngi+2y}pCujdoQ`)+$2+IvozwBo>3HXKymLCssnXl1UyX}265}=UU=wqJajr9Ivo$4j)zXiL#N}R)A7*hc<6LIbUGe79S@z3 zhfc>sr{kg1@zCjb=yW`EIvzS551o#OPRBzhWPC8?&JY+1IWP=z;W!u$qu^9H4NiwM z;IDxHk5cT3tYtko5F&ccJUFW}KBNFE)98 zxEq$jGFT4xfB`FDC9Hx%Gpg2shL8#E&8Yi7w8q>Ac>6uib583&wGHxxEMqf=|7>|C zhy4Lso{?}r67I)lE;x*>(7!Kjldcu|Cwyq4l=+#K9~Y>g!5^U|TC0?b!uP_{&`$|_ z*z&}PGOw}ab1IdNN|yh>i}GBwv8|=Fs7Xr%yeDhAL90kl8>Ef7Ep1keHjv_JqY z5U|efYH8Ln)RnIUG%Pjt?UXp%Elt~tb$=KDbD=`>>a+<8ZL8BJsM98>(Vz(-ZH1=Q38k)V#pjhq+gkdH+KkprmZ<4$mwHqQ zwdk#r47KQaviDFEOIA;U`&g%c0$bNregebMxT#N&)VMnKg3!3)DZ}|jsgSwt`;@u#awhE3bU8&>b`^5AnQb9kcJ8pPw^TXmv`;x&&A&x{tw`Zt zCix;nNr@NvwL%W{aycY~)nqZ`$fDK5&9a=+OMW=TwolEg;c7h)k}_J^whte)bzC98 zmVKM@G}Uuf)lz7G%TBvLg`E~P)mntbos^EseJu7~Yf0MuNolE8a}l}H@**Y6(*2R1 z)DVZAQfYtFqIylmu3y<9tt>qir5M_*n)DoOd1;qiHQlLddFiuc^g!~s=n-Srk?a(+ z>qz!dR^ZfvC8*hst4VY{VzDfbe6bj7{w{P>u4AJK=ia=-Lh^n1J+jhj*a zPvJ8Vy`&zi94cXdVO+uv>L5Pp&0Z3|IS zc1V?!mLk#L`j6XEBz#cEBAdOSH}rwN&=2~<02l~^U@BYz)8I#VF@e;S|s+-GL)=mM61;^D%*LLEvAj+wx>YYDM_nb zlr*V+uou~X30{Un(`qEjfrDx_vV3x)oVpaNxoXRiu%v&+mU6+tw;Ji9PM~E_hpGdj zOp;I01crLG=@xQ0!^VA_@FtofR@k-j)2y1B>15X zw1sxi9*%+za5My!UN>)|1I7-H}UJPLn<$6y0I4o|?7fajLpP62v5 z1?cS*ptn1l=~MU|?{Gb+4-KFpG=j#E2~D6WGy@+rhZfKhTEP*}8jb`%w1KwJ4%)*}&;gEy z0Ca>-&>6ZwSLg=aAqYJn3qsHnj)h*(8~Q+B=m-5_01SjdFcq$VX+Zj6#|E%t1K6`PW6ag|)UN0del>)Th1h6>+*qi}u&H$}90a|YYYHdJf z=&2N-r&55PN&$K*1?Z_1pr=wmZ3V~&J(U93ngL4R0JdfT`_gJ{z`hLNzYn;%kDKRl z^E_^z$IU(IsT826Qh=UH0T1!%*#af76-ZAljXRH>`H+x*7zw7xC{tro~a*2S+f+qCZQmKW*pmpCc<_Z4{?iG}Zg=SMBvKO08-m zj3~dqQtPmd&Xm@#{VSDP(wUZr!tq218{72`HfOwuJ4-KFpG=j#E2~D6WGy@+rhgNU|w1!U58M;7M=my;(2t6PRLT~^h3f45% z672-ruwL4L@C&8HI^MyG@dN8r`c>2qQtJiD-f^Ur)guo3Uh=40%{l68@E&|=&hh%8 z4LoYjkzCv<%n?{ z{gRsOHC^6gTD&PzKs}&d}30KRln682T1jxJ~RO0 zMrs6&fjE+yKvQ7cB*_QOp#`*rR&WHgh9kibZJ;f*1L9XY3Oc~i5P*)*2|7a;=nCDS zI|QKzWI+ge!ZC0x^n%{d2l_%k=nn&6APj^4D8^~Mnwmt`VQ{}I?=D*=<*agUo{0)2y-@$+3d-#F+8!)( z3JoC>+F733u$E6LHUYVw0(!#GE`jNcuy8fZNR%NPVPqqWY=n`Guy=u}dlv#;VlQ4| z>5GE1ZKD~fZ8RgbjYe;c)>c9xtcEqPmiw>c-rq6i#(&{^_yKmq|KLaX3HHFx zkN}hS-6W7f0T-yCfg3#F1;#N!cSX@%QFK=n-4#W5MbTYRbXOGJ6-9SN(Opq=R}|e9 zMR!HfT~Tyb6x|g?cSX@%QFK=n-4#W5MbTYRbXOGJ6-9SN(Opq=R}|e9MR!HfN23{S zZZxCKjb^mD(Tp}Xn$hM)GfEXD6Zs_{Nh&~+3RE!?$1!LMVnAw%oEE4<$T^Hg#xL2G zYyx2mFgBIOxKzY#{(jg5#p0?p>c(>z^(sv6$VUPV^*X3oB1A~?kcd1aBCkRs7|Y~p z5M!ELONgRy9n6H;oOhEs4T;!Bh^HYD+X%HpsPmABJR~9yiO54D@{ou;Bq9%q$U`FX zw6&BC-*N7L;d}T2cEkVRNB9Z$z|W8XrXxZcaH4?%E>J-OH+aAc8BhyqLmj9K^`Jg9 zfQHZr8bc;Dfu_(5e9#F^#cNeNON{iL0o_*NSUV_-JiByyaU z+jMOq`*(mCz2;8VXmxD`>y=OltHB=C1_@1k>s|*BLJ4ez=Mvu%aT1|Gb7PGZXgXKE z1lA(A3eg(IKfE4$q2et);XAh4y0rTIrzKMC;-5l7El(|p@jg#-4SOj^o$Kv18zAKd z^Rw;5_naw~>Lkvd3{!v+BvlE$#incbbpp z$(O{K+vQ>6?uIm&d=^F*6sS37OdSTfa2yPW<0kBIaz?l}E!&J4zuEn0E9_(v;I*MVemW#aaKT_6=>f{ zdD?&Bd-wr%!~ft%_zCvF&yWC9%5zH~g90v4K?65A{HXXpZ5p&N9EAoPGN2uXR;@sx8y+h$vGkbFX&F&;00>Db&? zgRs46U7+lVQTD_rdt#J5G0L78WlxNl5I|m8!Jln>Ewf}VFrlN<7A`CUm#Y?oZ1f(CBzfEO~L7Sx71 zP#5Y!eP{p;p%FBOOlSg4p&9s~IkbS5&87G=|&YSTLsHj!Ln7bY^f1N6)al?%T~d%Rj_Oo zEL#Q3R>87Wuxu49TLsHj!Ln7bY!xh91-&>6ZwSLg=afpG_w9*_kg=n2QbvCs>8Lm%i1{h&V#fPs(; z$H8zo9!`K0;Uvg|5%3qFPN|#>BjFSn1*gJka5|g;e}&O-CY%Ll!x#v|IdCqV2j_zr z8+jaD2;*S_OoWSI5=;iXamvMjMWkR6DVM@!a5+R^DqI26;7Yg(ro+`R1FnHt9Dz#fLWI!#b4RxR{ z)Pwra02)FgXbhRq1e!uK@IiBE0WF~w909H2NI))J$b}2Ja3L2iNI2lI5MKB2_!xXp}bhrdAh06eW!~WH=e|79%9s5_u z{?)O6b?jdq`&Y;Q)v3?vSaZ61BP@ZtVHqq3dfQ>4>R6~c7OIYgs$-$*Sg1M{s*Z)K zW1;F;s5%y^j)kgYq3T$uIu@#qg{otr>R6~c7OIYgs$-$*)F0naUuXR`c6=%P6F$c7 z`ix_r!`EoydgdEiBXc`-nX|M^^CLVDZ!rE%Z_Q_xYR%bi!G0_3^&_y{TciJ}S!*X+ zz9VWP2_4^&L7mf}&S_K|6Z$6pGY>>Pb8R9UJ1&GB7s8GUVaJ8A<3iYRA?&yic3cQM zE`%Ky!j21J$Az%tLfCO3?6?qiTnIZZgdG>cjtgPOg|Op7*l{83xDa++2s9T&om z3t`8F+zp^1G=j#E2~D6WGy@+rhgNU|w1!U58M;7M=my;(2t6PRLS_g(y9_|jA(A;(8F)!=r$g z!zKKM8{lzx0-l78@DxzH%cf(Rx2Fu|dFkl6&gjG-o#0lwbklqGqnoX~xY|=EFG|eVWvq{rz z(lnbi%_dE=Nz-i7G@CTdCQY+R(`?c-n>5WPO|wbUY~nTB>i3&L9lH)RgiL5he747G z%_r_ASn()Y7qamnXX8Q6W8!13&{ec)$x8 zPz!299jFWSpguH!hR_HYw}v)?eA)=|X(Py|jUb;kf_&Nt@@XT;r;Q+=HiCSK@{2Zt zeA)=|B|o%*w$KjR!%@%yj)nkqgig>IxOdJ7zv*z(NRVG^TpReJi(eTQMG$78)i1RYyyo@+6vuZ=%(!*Z#LZLn( z>KT>xqUC!?U}89PYYdkZdh7KT?@FKhfFT*SFsy*(s>nF*pwqrDG(w(|W0VQ7nC0~Jef#mfrge7n{ZyB9J zPB@@;Hez%VF*=DDokWa|B}T^*qhpEDvBc6A=5C6i9cq*F5KluSA$lTOK`Q!?q4Ogbf#PRXQ`YNGGo zByvwh+h05OX`dn$bxJ0kl1W#8Kqm|TbG|u=RGmYrhAExqkg8!)mHIgClDyTd&4AgY z^eyOV;Z>$hh!ihxL!^Y!DPeRZU=k8A2?>~l1WclY(J5hc;gscWPjW>u@)Hux=;ZlY z9&L9SuAQ{vm{I}0&wO$@XG!bveF{6mpnlJNIIEFswi)Fbq75cry@;~lTEN>Zu8Ea_ zcN8x)t#w>Gn`>t?@_AT05i21tp);oUF1(?5y3lA%DBaSxVZOt0{0Wp$1|^h%eNu)F ze3`30fo<}M*2DZ(J0|hHdt4&wM$&nH=Fmwn?@=Op$ge6{SDj0lg+~=s(7+8I@InSK zN;qYfL78PxW*L-Ov^YZppbeHX%b?7n%@vveEj^T324$8(nPpIB(e41P;0VCxqRcWV zvkb~CgEGsY%rYpm49YBnGRvUM;yn@Q2%Vrabb+qW4Z1@RdO#M0peGyy$3idY4Sk?5 z^n?B|00zP!$R-V_(=Peufsp! z4S3Uj(*&)hqqTIjmX6la(ONoMOGhSjWI{(KbhMU^*3!{hI$BFdYw2h$9j&EP#v0_i zJn~%uUi7G{nDem=M7wB3|6AIK$%B66>Iw2(0r|*}9Qn~+ezcd4_R>91VykVmMsf6e zwlS~P0!pXbSTAHvyFdA=z`K-&>6ZwSLg=aAqYJn3qsHnj)7yL7xacc&=>kae;5D*VGv}Sr3WEJL8K^% z6a^{SgOuz+O7B=R!pef0Nw&7El8vo}Zq6YrkRXMGFY3I)JjrQ6_k zpuCXofJJa8<=-)K16lMJ84N>UDCEE}$c5uzI1mPzFvx^KCJZuRkO_lK7-YgA69$;21*gJka5|g;e}&O-CY%Ll!x$I~VK@iQ1^hcQ{v8?rj*Ndt#=j%u-;pQ4M7Rhh z!DN^M_;+L-E`dwoGPoQffCWdcJ}}8C;y=Z(8rA^TflQ4|#;%d?hX-ICJP7OIA$S;K z@CZB#e}l(h13V7Y-sC5N+ME0oY=Wm@Gdu&&!WJljt?01lfE=Xw@VoDCTS037&5d#c z1)+!^tobPJvNyDx3zV z!x`{b7!7B_S#UOtfw2&VbAWmUcC;Tm+K(OW$By=6NBgm({n*id>}WrBv>!X#j~(sD zj`m|m`>~__*wKFMXg_weA3NHQ9qq@C_G3r;v7`Oi(SFyv*wJOMGqHe zPv!Yko=@fZRGv@e`BdI8R?ma;;Q|;37s7a$02ARlm5l=D~cp1#X1` zSOB-d?XVE;fJJa8+y#q)xWuOyRUcz}13V5-!qc!Bo`Gj!3zWbM@FKhfFT*SFD*PR` z!<+CH#Ni!y7iiy7KVbb4d;*`sSC%%?H3@581_fx_&}b9FcNoRm31gc_@f}97YNFWY zQH}NtjW!^y6>HitD4G2laY~)0fci{pMBD8#lF_BC}h@|{7R z6a8d_H%Qb)4bsfOhBinm1J9+XeT+qy#?hs5bZH!28b_DL(WP;8X&hY|N0-LYrEzp= z96cIGkH*oXar9^$JsL-k#?hm3^k^JC8b^=D(W7y6XdE3HM~BAIp>cF*932`*hsM#N zadc=L9U4c6#?hg1bZ8tM8b^o5(V=m4XdE3HM~BAIp>cF*932`*hsM#Nadc=L9U4c6 z#?hg1bZ8tM8b^o5(V=m4XdE3HM~BAIp>cF*932`*hsM#Nadc=L9U4c6#?hg1bZ8tM z8b^o5(V=m4XdE3HM~BAIp>cF*932`*hsG)I;*@W3%C|V>S)B4LPCks2598#+c&hZ0 zm*V81IC&`UnG0)S9Xv-oDH5&Wq(cFz@q+n1zLpQo54BIIQGaUQu6<^HrG3u+7t&GM zzs!%dFU_ww?+f!C$?HDS{KVbX{LtObT<&gfe(gSr{SH!F_tEBO?tuBVB)dD9J0#Vr z-_$jWk%AbhKbn5lYbiUTlqa+4r$iY+-v`Ov7y3be7{Cm?16dD(Y#0nfAYYQWs;F}) zEW5Z*GK(dx+SLYFXLaCBQ;kwZ_`k9#S%m*98&64gRr{{8eJd%1Gm6bvpiC#vmr(O6 zq2^UW&8vi(R|z$*5^7#0)VxZld6iJ}Dxv08Ld~m$npX)muM%orCDgo1sCku8^D3d{ zRYJ|Hgql|gHLntCUM1ALN~n32Q1dFG=2b$?tAv_Y2{o@0YF;JOyh^Bfl~D64q2^UW z&8vi(R|z#Q#)*KA&FY#7Y= zJ40Y7wIdCqV2j{~DFb*z+@h|}YK{2d`HLw=$h5O)scmUSHgRmYRf`=gnkHDkwH+T#-z~k@) zJP8}&DcA&0!)AB}o`o$?0$Y_M8Nt)XNI5=6%JIMzO`#e1IJY_L7SIw}!4c3Jjs!onfws^t z5tG}qJ_s$H(Y7K1R>+F?x=V(Q|x^ zp5v2yLm%i1{h&V#fPpXwvdsv3Ac7uY>VGESNR&yJ5x^2|yw#nNP`SJ_!BD@4I!z=JA{N3Dx zr)UqJqCI$u_TVYngQsW@o}x{7FgD@A*n|gT6CR9BcrZ5M!PtZcV-p^XO?WUi;lbF1 z2V)Z+j7@kjHsQh8ga>029*j+RFgD3wNp0kR!`HA2{sZ5@x9}bO7ruudq&AG<;Zp{~ z5Eu$MFbqf!h4fHJ4~6tlNDpN(EP>^44;ZilRsv;|QV5h$3S|`U6#5vc$;U`dK1OQt zF;bI{k(zvr)Z}BNCLbd;`539m$GccQMr!ggQj?F7ntVze-hp@FJ=g*7LmBLZ58y-i z2tEeN8AfXIDU>yg)Z}BNCZF;pd}Q)Es+ex0We&)3`qUC6;MEsj=2v>ZEZGttIER;+!Kmr-%Hrc8v6qHZ(C@J0X#; zohY?t5j9a<(=SPLaLZC^$9INjnY3aBM95VK|5V+3ep!YxJ#*x=|oW+5)%@ zZij_ZrgjIv-wAiIzZjOVy^Qs8xCaba!LgN42u17{!)mtIzU!Joa_(USEgvIj`S5n`VH7PNqiFf?dhYqt z+WXVm!;0H~Yj574)*f1)QteM`4@>J$Ywu5M?@w#*PiyZ_Ywr(X?a>S9O?=gF!P`&@ z|AaW;x2FD9secjmH-q|{LH*63{$@~rGpN5A)Zau)y@9=IV6W2m2M>9WK9@l};X&(N z9Yv!}mKKBp{6PwB>n>1112=fU3mH%gY6GoRcoV~T6T^5D!*~C;$v+F7tkZe3-rKo zT@N?Vino^aV^&K-*!3#=+u=2M%Ut4m8)y-trj?D~nto%nAc^Oftn2lb%=G=xUb7&4&= zG=*m1gXYi*j)2zC2|7a;=nCDSI|QKzWI+g!QujkZ>x-LK8hUAxBFb=PB0L^O!Rast z&Vh4b9L$3C<{BZ%H>X^jw;Ym;Dyr3139Z*&6m~m(!l1?_D8M z;1R9cE?R*#(Tj05@#^$Yq)mW)VWs5N9OWH#S{Ou*@mM21a!<~Va(1?JO+#Fhyta}S z`Bm^1azRfnr^W6TMn71CmtVXqN4~P!tw>>dMjP~uHe^zme_CU%&@y55W0dMyvM8R8 zek44VL1=XPCYI4RQOH*xs}JgIp5_+%+|WydJLD5azm#s?qcBez#s49mHp)A@<>%T+u6y{y(&$RrExAo-l|fjY_F=d6xfIYQA5&Y=3ju4B|F5M>#o!HXiX_ z=NjUQe5-9GJyjtqPP&O)6y2}Ub*#5diSID|e1pWb!8Jwc>9;1x}R?^wYK4AGTLJ@+%!M@ta7JNeg++H>78-^|99`9-W#$e1@ksi|!4s`%YB4lb-h zf|6;^R<@O*L9>pyGBI1%{4Vt_9Fxq>)^EJYz?ke&vCYx%?KN9|d&_Kq6qVUmCTzXU zkCJyu6eQ36C2MoO__rw~_7Y!a2gyDwwC_8a`*BX{RqXqx9yw&&+Yi~54)8+e>*5cI z-FwSX;y3d>bB}$F`Re}M!u;h=jJUd z>&FVWh%Iww)$_PU*glq$R@Q-o%TZOYpWII$r~DdCp0OY6aJq9Ua#rPEt3FTVUw@0e z3VHqIcQ^BrWt4rbDtl;s-m8%u8-cC8eUci3o^sB|yi9DE4?f@_ z@W+r-%kr!Ubeb*mThi}i@q_tcnxCs3+H0v)?d<(OAoOa@XD3T^yCkdmywqPR)%X~Z zBK5Ze+fM%1E-CQIRQe=;wGRrdB|>?yc^EzM3qB$>t&cn1MUwe9&2Ql}$9~mAm1D8m zt!q^~@+%xL-$-|p1ChaW|37@k4mxi}4_}z7UYS1A)jsCmsvSx>V7`*F6HVDZ%$p*& zC;bxGQ0&R;~lgai07r6v?UfWJAXCN`)0PlaV)HGd}bbmympA>GfGRh06B*WSkFUy^e4 z7j7P^wE2a>NdNco=@0+vM=cBUSHG)uLtzZqFu<%GodHP!PI`R1|Cx$&wtmpGox!NPAs z=@hk&<(sX<+WrX7>cM=>4bK0IlUrgRAI@g``2H@_)S}D(TA@$uLy7g}KOMk^txe4i z)bfO9qWp6prBu4O6){?Vu__zs%hM_+RogY6O&&56$t~`pTT)GHvWU(b9^ z{HLl^)>Kxfzh`GtYp@B4_kMVv!u zi_MDvH|0pOOxS8)!*teCDD|4MU+kq1X+=y{&0BaWH;exr*vFQkz15oceZ61y@8tFO zaTPszUirE}Y{|}Ua-ICu+TT?XTjf6K>esRV5>5W|_q&A6cB+P(qa{VKZvdU59i)4F2bGeLp&V9Q130Q=`E*pVM>3j=5i|i`N^ZyAHO2au$avs zlkKI+-zu+b4t>=cgZ;m%wqC{64zk9V&v*n(@PQ zeq`V8puO|ef?HVz?KG-((rGfM?--O5;pFc%ualmsiZl3M1F=`VOtr3URGj&T+R8pWp*7z< z$m^b1`G4k5*8VY-k0$rh+Zf4T_q9%hNlhzFQ_oENn7WtT7P2GC-|C+O3xh2^iS0H2 zi#}A&P4=b@>{B>5J57j;>c^5ts!MP3mp{gO?`6xOdxrFF$cOIwhw4fdeR>Yn6@P!% zsi}ucm9`Sy33+l|@gSSo3_H7e`Id9Q`pwG-@P5g#4n?h{RH=tw*g5vwuNWUh1mgE- zG1-xGsC+r}xX+eqDEALdGE`VNhvs^R?<(m$O9yke)Ha;G|KGN!YC0#Wp~Ua$yvRxI zCTj2KD8o9hd@1%5QE@EY2Rkb}-SNYHtfm}QQ%ux!d|%l;)R3y(&it9O`Lk+=e}4y3Jg&b^;LJDoc^_?`XZ$KBnE&NAO%Co>j9&YP`ItZa zdO`gqwiKiGmVfp`iptMDxQ&|XJqLHS-`Bs=^(X#)h0qSoLA8S(k_S2H{M+e}-2M<< z#N2*}E+i%W@rUYq;yQ^xf_^-d56rcGJBdD!2RUfzKaiUoqI1p9xsW1V2Y0fyLV8|W z#JJU;OHaue%1CL4GKz0NIgM{ePv;##A+RF7+|nxWQmtyAl& zbzSS#25KYMLu#hl()EbiT5avxsJ2yyx}H*V)m+#6>LhiBt4zI4z25bWI!Arf^}YI- z`h?nE-Kg$R1L{uoWA#M!Q}thJzWSB=wR);1X^MJ=mZ4>+XKHn{2I^T_BdxJ|j@C>& zQaw-WrwvdiX@j&u>c!e%ZHTICIa-c-sg|qds+VcQwc+aJ+6Zlg8qxB#k?K_KOzlkd zN^OibM!ia#piNY#Ym>A~)EV04+U4pjZMrr?ySC=>Tdm%s-K#yIuF@XV)~lGk zSbIhLhx(}YrWRK>YVT_As?TaWv=7uR+Q-_b>Nf2Q?O*Ck+E?0F>MPoJ?&j*N?pE&B z>UZuo?l$TV?so2W>TY)jcL()Jm^`k1wD^>9@nxwPkJ_L$9T4QUetPdUiQ4K z4f1^D`C7~NHt{ymhI*TOn`=4VcHVZ{FmE?+cP-aD#G9iH_vU(YwG+L3wUfMg-aIYO zJK8&18{xgsd!hCh??mrKTE6#6@0Hp}?`-dE?G*0-vI zBiDNvx&CIUALCjqlG>41dEXHj=N^UE+mFmcY7*D;9oGo9@h&+rz&Rhyp<*TKm zi}T(ej%W_z`~iS4K5Eo_&_ z%%mW1m7kY7$=jIyv$Onn`3 zex)O`m3CITuV$wp!&X$!W$`Y=2x3ZKY%amnYXE|eK%gSnHjZ{ZjtK27bQ|?zD zV0)diPRdXoR32jcVI{`#M;QI6jP-Xem;}-*>G!69Ou2-}d>v{o_qO`#bBbeVsLX_F8+-%-Tq^UabfHvU(Z( z4e+|1sosEp?S$H)cA(^U;a5AQb}Q`ar{05q?UXvC4uL+7{h*{ep-!MZpQ+E#p3l`O zaK2DqAkE*g8@-x+YuV#g<`Ep3TRZR-r|GFV5~5x3|}-4gWG`fB0mR=SmFtgq2+ z!MR?y6ZQ2Cy1hv08?ghFUw70UQNqpoW^g*`PM~kmgTNoGe2aV-bty{zsjdP&Nk5K#tC#2{B7m{@3E-3ZDbWxk@(SRydX*^A&+F%rceVZv zVqefNpgk|@*FbO9n?Y~YTS336-xB$HyM7xfcWCTVh;e+6sH5N4?~B_oqVI**sr`Dt z=!!A@@1l`DqtBpiU+S}>4vp_3hVk7HQNx6H@EpT7Y++!m_lYbc!^i*~gjaBhu|5|& ze$<60aAnjt>VuyTZ{Xjh(O>k$=${go8wEyzXoPXT2x*FqwjyX;j~%0OjCMvl(apHQ zxIuI$4T0Tip&{Tk92x>Cr($O&ZOk_w1--ynAbJ=-H&%&k<9XwG5rF3Sji_t9V5|{E z&>z1QCB`~qo#7maZ&Sk9fSsF^@rv;(=uO5Z#J*;1M(pd@#Yq}l zu#c0^cmq2*Nn)L4@6UFwtXTKy6phyKVa`C1ugeSr1=>8KQ%QD z8;8Xu#wW%nIQJvQ5#;)l@h8xKHvWurJO;n%VQ9in#U;>%LKK+NRPb;PjVS6uBWA%f zx*z`2uQmhlpnk0xgb($bpd&-#ax=%w5pAF;>xqtL9(<@@Zq|nf^{dS=e5hY*M$8B} zQ8S7(F*7CxnsGBO20^D@BbuA7&DNrYd98UZXy{ka*PGXaZfCXw4J|9KA}tGqmIY!@ zUF;Oo&Fn5hq-EiK4q6uU56vHn_U3SNxM&SsdzZM<9BGaO=f@bQTbtPBUff997c{i5 zXi3^vv?A>boMKKv2~*9f$TiKJCayE5o72Vh<_vQN=m*RPK+l4o_Ill6kIItVw2@rOJu*hxz z!fp_Q$!-us$ZimK!ft3NI#`XYD-jFpLBz>=0K$3z|4D0^2wA_fo)-0BL%a-ngY^pN z-PU`;AWK5nWJAD1JZuQybbGom>>2h9kwcb*s6&Azl!s z{i6M%xST8r5rZWGZDqd-FZ9LsCVLagd<~xH>)4y^&4_&+-stPtTi}mAO4bH;!v3@U zXW`h#Z0v+YHix)`Yz`o74pBrl2M{&~VqtTL0NETOK{f}{z~%rSHV62yIfNo>L$o40 zLo^~g12_-DUjd@=C}tI23Z@jmbD>aZFqKuWIH2^Er~E&5^=U9a$!mQ0anXl`3dkS ztcpywD(bUUVY5}CVO7N8aWVlLLcxYWjp}+>5)zg~KXBj!lWm3jMFX}H6s&~#h<#K& z3QJ-E?1PM2_CYq=2T8UMve`b!VEZ7O?SmxjgViEi{RUP-JGK&%uo7MZXRZ3Jh^Te2 z6*AaX$Yxt130q+UVqa0OAa;{_9k>N{gJioQs@{R!AlYunfZc%6neB!Q^)dF-kZe6@ zSP!3}ou9*2&}=J2)R(XlG^~VHumi{%&}m?$?@he~5Lzgzm2r8LZQk zGwc4VjrIm?O``{Pc+_kG1PrnOv~iztpSaqXY)nQ87g__I*czzA)_~7gja^1cU=zHE zTx(zxWEd|QFQqMmC~Sg_;J*qBAO#CxGx)DVqifdasahI63XQ%C{CAD_gl+6G_JaNZ zT0F&CJR4g4Bjh~*U9OFT(B+zSdB`{fU9O?aKS4W5e`gp+jibm#THME4JcqToq8Tl8 z4C!yl`dhO8E@AzB1?%rNtiPMF{=U+zi(ODk%zS9>64u;Tu;y;Yn)^!D+}&7nw_weE zDQoV=thp~`&E1$a_ob}48=E(pH$s!$WZne4*}NHu*%_<>%#zU_(&Ay(;(qgXXz{vc zU$ZZK!jdlcn}f{3;E+bYhBbOq*658`qhG@sy(w$-)~wN+vPQog8odfu3+Zw{>+(jd z%bT+<{|@W&<|gU#@31ZpvM%?VbIrM^i!{2QHF}UWx}PWkWh1d-y@e-@-b+A$0tk z(E6m^Z)NRX%-X#nwENr8);pl%Z-9>9DH=k%zl)UboA1M>A?@CowR=m}?(JE-cVO+_ z(mZG$goQzR{W{j`x0%PxW1{PMx;$YeM0YD?r9=7ME!)j`aYfIj76B z?B(`y=ylTQnXJWgp~a!6SbrO=zq43>=R$vPN$Y9NdRjRNCn-|U(@jK%b2+rNW^Jum zTl-jBYu47PmbUh#wKY}G%}uc+EOqvX0lR*EQ?)T-NJR-$dU;XnoS| zKGyD<22^NUjGiJ>V8*Nq^-9owYn*kjRc=)|^_=fJeVzW!0AIit^wss{`PRZ3s6e;| zIjaxrx6T=}m2Om2~Xl_%xL(6QIc zPt*;nBUbA=VMcy6R`Tvp?NxvLcg9NIKy|AcjJbFhnu)6)L%Tkr?k2qo-a=@^YG}d@ z>T$JEy{eW%@4ca(RBvLgyiD!UE!FeTUF~!(^wrHeqB~>dFG=%LeG_J*lfj#+SLxen zrm3qj$J_?q+xlI-faa1|4a6)GTI_&6seh?Y>C<`*RtL{wy$|k-^*ZPrTfaLpOkTD43^ryyP<14H%4#Nc3z)E5rGt0Qk8e$DGMp;9xp~g?FVb(BXwDlwFN56x;H{)&lOZ!V>C*51d@9Ew$c9A7)>~c|AJ83U?58`- z_=xT&baT52$6yuEVVc)~1_RaUrHx1u9-^-@St8YHvG2f?V zhVL)F6WHC$j~?F&cSl=<4hZB0v^$Qy5&9tvK^TreZ%mHG9a4@^h2K+QpH_k=zwB-U z&n#tp#To_rY3A?uQS5%=pA8ay=6MU2ufXyhA*DIHQ~p2B#Uy~mBL229jf3bC5M4C1Xv8;RY-9}IVZ_Q}mFLF_(J)4NYh!Hk zg&a5bJbs~&~zj;#f5h;0ULi|qvNiR}j-is5US*ooMwbG5kV7_X_fs87)V#MX^Ra4lRq zRd5D$m!h8k8pcchwe+>iKbJSYC61@I{{l9NH~)v}TgBTVO@}zfp!nE$Ij|}|6*x0K z2RJ{z2)Hzk(Ivhz{sM4ad?T=Xyf?64d?Fo7rbC7nx- zfo_^;0c@RU=jC#1PjpOl0l#OW&pCc#060ey2QP|4Id(*?G{V3O zfzuMRfO8WIfQu7P0+%ON0oNp#0oNxs0c*EyYXY9P6T1`pYVpw${5tvVSkkJ9BzYc| zw7rnSX+U0yRCRNh8Amw3_f63t_bY@AKb~)dS#ru;jg#hL<<}1nl6v=_eGgEWCShtqc{L~`wm!_Wf_^B6C80CN~8D07x z~Y*Q{~K7l-iw#-w(4B^lGB{NQ9)CZUO|kp5EOGts!FDU zZc)%0V++&&2n*VIDGT}(3_#wmVPP&^BNq!g7GV7OdYTJ3J-;bU!%)LKT<v6+KY8l7K|o7Sw!daDYl@Lv7(^*n_|Bq{j`Ev=Tg?HeQv=5l*ZU_0a?NYPg3j! zcp-mz!77x->1$)bnu7HnzhD#BvY_C&$Elt2>$Gc!7i=xqf!f(7Pvh=_ec&AAR-L5M z&Wo*`vKH;y;SJX`r1pFR(tNEp-@D2*7xw6L*S$~`I!Hg-Rd>uD~=nOrynB`hgiSc9_*=he`)`TvMshFseUcQUT1!9(1WR~N2j z&IZQKjBd*Rzwr?1&B8;4`w6*ihxndlx2$8%)R!8ZkLXJma4txLGk|7v=UELf5+VH%#^H=(8Os@~7^gDMWSqk|pK%f6 zD8_#^7uSoLpXS^v8DAizw&5Hh=Nim_EsZ|swb_*bc<7DiV}o_XX|NGtOM~r9?*hHI z!2zPF??If=EN*`- zY;gKQ&ezlYpK*$)VDWWqIG1Z=EV9ngwfX-Ux?y$0X*lQq8bn*#@%h%qeavxj2h+GO zkdl$+8jzujAy9cmvGdU#Cvk7~qm<{c;ijTO&fAEP>cy%l#wZ+lyeYw0;;ydXh&!~X zT~S9Muc9M8YH`tBGjUhiYd;@B+R>E8on01HFkQ_EnS+l$Ry4P00qS$tBzd*L9sP>u z6)!~Ws^UsYS?oth6s;jF9tQsUV%Q$V%?OJ&6>SC0>G2ElDcW7M4|uTXh{tzhYtkI| z_(dm+&VVkXTGDAIQ@v?=2Gg@^ah4P>tBFTesZd-9tabwWjw&FI$?Y;Ck zc0%Y{+zZ&Zc#y|Gzio7OY0k*vF`)m|wyhv}A>V4owU8}8KXOOu^z~v6(ro55wUEZ) zlD))5EJolG9`}oP7Vp9D{mea7d=&gzt7PY`;hZfoC{;-YW00{fV}vlRK~hY|ymH+2 zBK(35EooKKmSRb(y5oOMpX|;2euRi0g7{LVhS$PTh#6Z_4&>P-((rv$GLzG=hIH>5 z7paFM?INVBW&f8vU9u8fe!Ag~4Cys+cV#RsJ?j7IG`!xGUghTbuR9AaIZg9oyt0aW z)1C3*h+M!z#zu@y8Cx(y{)k1J(`#t1g~NIfyb%aI$H8$H0=F5*xd=Rhx%@PTXMdod zL|EQ%70{h$ZECocYr&lY-fqTyj0b^IudhS+8KK>VvCs$FNKmX%k7&G0McAGB-6;*; zlqPIJ99>QvVBdZ7 zMzp?{XkE_qHB7fATJm*N!?^ZGS%%arWg(YeK^*OJdN98gz2~C2Pnwqy z$M`#QCUNX=rum-LyP3Y!q4a&YoJLG@FVYP-eH-E{AJOVMLb;JStvI&dmro$?ATFnj zIOYv!f%-P$$bQ_yTPeNl$9W%OdKS|i7zccbw|ZnB7dcn(OT4Qm?;u)@`V#N^s2$8_ zIqM=S!FZW#$zlF)xy+ZiG?uO85mIuW*FU6Kox`!KIpqMR$5PwmN-pgrada7{ETb~@ zVCHmUPFL$IaE3Fd>sL%WKsoSByy>VHa{A}F%zn&ylsM)HrkfD0VpNWLpK0#l>bp$; zm~yFJMAHBX`j3qJIJO)7g-W@HX!)AsN9@fMD__e1t#9J?JWL#2!6oqhsNEjem-#m_ ze+Z|%g0VmIV@$^=)|f`LF^chV#wnD>n8tY>=B&dWuu`X(<7y>Md>v)vvoqQ`>yhh4 zP8sEt3651M1=19S42&fwO5$ea?+`xtZD5~{Pz zpUGpz{hYoN>Xb$cu9xLwT!y#Rq~XfE9_!H2oN_#uHil@mmO1WyRK%S1gnwT}h_^$5 zPK5G0V~N(w35`}<3+KYuG~n2L?d<-P67S~{=PA;CKGt0JQX#?Ny!Kv-wdzng_727s zoc;l(Co#=;vAu;ke2r|r_w5Hb_HM3a8^^AubF|km&DYU>n(OVzoO`%l)`R$d2Q`|k zRqdar^HLigX8K8zq|JTLUP5E6y@bY6Aig>PQpzQqav{^dB-&gBA3_+J>FOJP;^@;9 zt2Z!xlCcYMgWpm%bg;c-lFq*wn@zP zH^;KwsJjwJvh^ifOeRFIn!O34siJc znA3?lT?vg}69@0h0%d>Z=P})n_>widI>`L4oHtI|3SVF_65lRlx-HeNwh>2hUp1Bx zZE!C_iVTq_4hhx1L+74y)rf&(M#>jNYT&>TW7NpOgcXAa-hHQBKX~w6qtvv)W1C(f zHvyZ;t-veg4q$V+8+eu62W%k^0>2}V09(rAz^moS!DFvzD$f9~P-@7CAO1i&Lq`7i zF6AFOdf;H=_=q159-(p>^BEH(@40KVD*Ey0AtTk;QTU-6-%TxPcJ~iQ4plAhzPsra zstvH2Y7fMl-oWOn>)rPZx?A*PyaHNB>w26F-vMi!gt(FR14JxUtV>=yW;)u{nSu|kqBcEDi9_k%tV-run=LXT5brn8edLr zQrpxnwND)~a@8?)Qk}&+*_QTS@LyMd{XeFQ&iikoTj(~rgYKex!9zqpJyegxH_sJ# zgM6Kyspsm2`0{Bv-Yj3IH{reVU3#BBq>t&NLg>Rn-*A1;gwgoc+d3zV(cN#mHDSC! z*IhI*P5}EGr-1|TEseyNs~NySW(YVK-^t*;VlxH2(`*DBYBmG@z@+z(hvDm0DSpW1 zaPJbAF&$v^GiEWeWd)A`RO9y;hvVBMDf$@0fZsQU0{a^D{xbJl@m)^C_blFUrd&OM ztQYy%3-3G&d^>PCyt-Z~$j-JAYv3C}8{ZOS(ES9SykstX3*eaBMX-i*Hn@Cyg!|n= zRv~gA9%pRO5#K!VF*7gCr#gtgG|ew_^BeTGHSznp<$C#y$?5cyT|Uc=(zUAj&FwJT zqJJJ)ZGbdOFyH=eH|>eJiP{Fr;R)9v+jcH3tT zbC3Ga`A3tk1M=ewVm@Zj^~G=B*ff8%dqnvx7k$kAZBze1I=f9e{-Arzp6?z*P1F26 z>3kLL@0?!l5$EOB*CKr$81uQ_0qzms>GN;B+C5^<$-mX-?$N||IF#NBruhflqn$nv zJtNKEp5`x3ANO;83irz4G^Y-2ILY9~t|ON2zOsEe^MAK#kBL_(xQ zp(qk1q7kRPF0*}R@5~XIm6>zuEY5r~Yo32homF)2Kyg8dw=H0$YRKv#R|a0}+3}K=Z(%Kgm}nK<5k9^r z@GT;~Aqc=8$%YrYx}qM=qdv|gjB|4$;@*!;%H2)`I9tG zdVexB3_g8jsG97=P*<^+5tdzOGJPWznt|&nLo_DK&~RK+*(3rg7e|B;dViBV9C7zB zpK>%oFc2CeAdcd*akqrJ2o>^&LcqR4;oCp*!h$+4+aBtJ#^5_#{W)vBy6LiK3Yq7Q5SeLC6*vbtA8}-;5dxhrl?1OX_(k&BeIBO;I7`x; z+c`}kIP+_9sNEr*3BK6J2Gc;@d(J#5>EE6?D?U! z*_GLyv%6*w$%b6A4+#g?;6{8I+TR>#R`T^w*$2UG4{itZCisQ8IenF&2ZMd-Y_rK$ zC#k7mcd9qLP5QUYt`-JL#((fhZcjL!t}w`}bx3zbnv)kigJ0C-W7i5NxS;lbU_Zwf;GEBjEOkKrK^;_o z#Mk8?tHbIObwvG19aVo;#}MCIWa(b`(yq7up6;W+ulwpdU^DgC1N1;WC|!PE;S07t z|36U4H8e=4XeBa&`4|2N-2PaMGYp9Uz9hZWYHVF*HL)(Ynp#&_&8#b}?^rFZ7FKiX zDzs#{2;i&a0KP_sw=FXl-yqk62a)=?6Ye$3`HNl^Jc=|4Gij#G0<+L;U>2FhW{KI* zY-~<4tIhjNe6byD88{poldQlfE&@lt`5&n^iXcjk;#=l8a$jaPF)zpccDdcuzQX>Y zJ>32gtREHJC$i18=5OJ}qLp=x)!Mq&YGYkzwY9Fd+F2c}o2(nH8?5$7H(%shaVr5| z7%6-=TWB?aCyZjNfhtrDV1F0G-&#ZXS%X(4bs22& z%T-hOTWf~zH=C=gV3~hMwZvDPt<*KDwYnB|I>wan263tRx%pS~r1>}Vl=+2u+WfnD z#{AMeYhqI{OIiv}i44oMEX%eW%V%X+b*xM)%koGogWzt+ncV~9uJ9hx?U3}GT4l(aEhnhdYef+4o0N+?IG#@h;nZGa>;|^Xz z-&W(x>gDhdvfg@`JcQsY<5#Us^p&yoy0yi6!-A)dy2t;i8irl0j*Hij(?K-(cdymA z-+%DRr1BcWBhKUhgq;43v&i#f-1;|r+{MnKM$5^|cZgPjc7YCoPJu3g?txx`K7oFL zL4l!x;enBX(SfmnvOq;cIIuLZEU+9F+v>oYz`DSOz^1^K zz_!4Sz^=faz`no%SZ+rG#{wq;Cj+MgXM-we1v7&FU?^A@V@@oX3Kj`@d2iIbBCsm( zLSSuRePCl?b6{&=dthf^cVKT|f8b!?Fvf!8fzJb{0%u?a8bK$R84LzR4VDKhgVn*Q!5P6> z!8t-+(@tDhe|xsd?vy<_R1%t+7sG9FBs4d7U3NyOd1y)Y%$$Ywhh+OhZL_=Pbjn#7 zI-R#W)H%CXXk~WaTqm?X-^mVT56Ye!>K)pa*Co4dPDW0C_QKq**~3CZavEhX&Dm6c zes+FnRQAZ6zBzkxM%K>=m1mF1X_Z};TN2s}4H?5IEDK=Uvw# zG)eX4Trw5{k5|?3yG6Qvu;OA!3(nOpC*()nEkp1s1Kw5CqR=SJ!CK=utQM~?H2zWW zde-7~1aBXBZEJWcbU4%;-0djKE6>Oqo;N%+Jh=fW={XReb#gg=^%6Ri8_JDzW*+Rd zBxZ21+EhqHS~3r%z@{`Jg?UYqlR;5lBNEKZPmU(L6oLL=J!WqVk*#VG6)j5hRzx9z zkSBrfq|X;)e#nWqnjdmTTABSh@=c8#;WopE9!A8K+31nkyc&rV9l?|2smNaJ9>HT- zIZcHO9s&=?G|#M8M*rDm_-ajNmx1fHa7bb;eh-1=mdZ|r`!H8$XJ%(ca2>Nt@taC$ znQjqm2K41Yk>1R`Ce7^(Zs*|sNIT|Um*(Qy2Db#aL|}EJgd4zB!BzG=%ur9F#W;e? zXJA)>w;!9()}*6F7qwN~;aGlwg$Em4gRfM&Z@vF3uhkaf_PT~bp2IefmI1^3y(s2 zx(}p2NW(odV z23qF3s}eUNMh9Ynn5D4dF#z>5g>rCB@yjp|gWmyZ43|bs7s}&5;y+@dUO#4OE`=EC zx5~fWM6G^!-SKaCX~d+Z9!Lo*kaGY1tMl`?b?uOg+6{vw!2kaF{`vLKa2#qzITij2 zJpGi$`g1gL+{ST({DaUwnRNznX&P~9S@>59+rKjX-@)IZ{*zqlO+sCA2EJ5Yhd-7# z%&qXYwhew*wv%@?^1Fh6_*R4OmEGoh^Mv`C`49E_uzaku?U%oC4@`QlNrK>S=R6px8T>ff`czjdDV?K3Q_0eG{JOTBrB zQ2D*Z)8?9QYT>_Y#hEY3S^wUg;oIht-!_NT!}Z;IJkQKKSq(9BztH|4#&fsH-YlOpAK1fcW_6fMX{>;RF@A)hO(W315kEp*1R8H7d{Y6f zhk(kqY^<3_{E=M5wnTs~MT(h>j{>!vsfXd+9E^_ay%*yYR&VOU_i>3mnCbfPeSE1s z6tt3g>K)X&6#*k-csl}gEmoH1n$O@UQ5PXv;b4@F#>Egv{1=Ybd+t8SB2+>7XTMfJnHL4XMj7O z-agXddErIj*_0N3x!^?)@qUw@vzg&J;fnC&@XT;2mB-%Z1ibfr7b7ixW4?POmc_`= z<0br?ygv%8h;+j$oE@GTE)7?P2ZTq2hlWQZUZd0?3JsaLpzE6ODTz8A{Ve>6bu)XI z-^Hxom5c*FW3Ay|>^kze%{+zH$Z%VfLb3^>g;a{6C- z%#Eyw42@JoT1C1>LXo2Iv4{w-3vUZA4zCDLgGBdldE zwgL7)docQ(C!O6P9T^ZA7Kubs;?n4d=-6mwbXs&ybYb+#=*sBY=%(oQ z=$`1o=&|Ujn2Ke_>c$eWMzQ9xHnEPe?yrx$?8Jibd9D5p`N!G`z1JXjODZbZ&G}bXjy&bX|0FbVqb=^icG8 z^fa6a`(t^rRIG8VMXYVCQ>qr~T0Jc+^r7YO z1Nppq9)2m;s5S84xK6Eu7s~Yt-htU0q=~-uDx6hqR-3Wh{5LzO%LTHW92B9rNJB0QK9S}MqbVBHi&;_9@LU)9o2)z(`BlJP&i_i~Y0Ky=I zAqYbeh9L|`7=bVnVHCn>gfR$X5lRut5XuoM5GoO>5ULR-BTPk@hA;zRCc-R)*$8tG z<|52Pn2)dkVIjgIgvAI;5SAi5iLeaeX@unnD-c#9tU_3g@B+dbgtZ9kM9YMczbJoM z!k@n?e_bLke=|mcz4?dokGtbUB1I!bqA`sX35*uuPT`*6e&J!^(c$v&tnmCq zr|^>S@Ina{oy0w&%@G^S9;i#<+Ae|72K% zGs3y?ZQ)qBB)&V`EZjPNAlxC`HQXmWBs>x$cU5>sT-86DZ^bk6{rPp{q5N2WQEY4d zQ#j9yUn6=}SZfU7F*(6wav_h&4dA16G@gp9*Z^E%g?kxmudxxhswy@b*HgtxaV1r( z0@qOC9-juBhU=zcvv9>!Y%Z>qj-8C1iDPt%!_jaY&n?KiQM@jWx$*pX0>@aqFy08G z-Zi*iugC1HCp_Za51kGFxA0x-hqwF!c_}pOSa_+efOpzQ;P?Jjc%yv_p7H+tjiY3K zE$i(H^D6TeXswy%gYF0pE%h__I)27lW4&a(X>Ai`Y z&v>8sfcVh(i1=vyf(Ie;AH@ELtaxR7a(qU7c6?rZA>!u77sMCGpNub$ufngV$rllM zB8ua=dwfHDb9`HTXM9h5zp&%G1@cTskRQznhNMs~}iMqm0WRj1c zL@WXCK8dFIU6g2?XqIT1Xp?B4=!D;G6CDzr6WtTN6a5lH@Vif9Kw@ZOL;_xR5*5Np zj7gLwDif0vGZM2C^AZce;bUS+Vp(EEVl`GG9QT;mkl38qme`rtgDWcGznicJ<98Wb z6Y6J$@51zn{lW*&Dx(rR$TLskAUyUQPn<-$!-->w&l9JU0uHS+lc8iD(q$xr$-2o% zGLNM_ zg77KREZOp#+s0mJ6z0Hx#aX{$o&;_+{|0;$?-D4?iN658Wu69ZH~$XYVSWjG$2<$% zX?_L#J(eJqx!Zz$XufB`b~X1{u))mtEv$K&d-3|FGC#1ewq@?Ke83N_4B$r=R&dM% zRu=FNSSL~DK`Q|K*n$OOeqzD*zj+k4sxtp<Z!|0OGb;xC zixmN$pl1@0&Oef1-?Rj?S%M++8QA9W^W;dn`fU^I3F-i!r8a+S?y@i!z|-A#u}-3O zFFs3cK5p)}>VV(aJY;3#7&QNgw=XoFZXLFAaI9w@vG4>J&$<3&VXVSj&`sBY&qd>j zCY=rW!cDgxKANA!^`~=?+zSlu1>^<48?G+(0w4E+Ozs6ad=9zX`Xu*)OQ{$AGovv^ zJillHOF02Q>M1)Vn%Z|@{&5AYmIR(*zixicmUkn*J~R)xl&_Hio76p9nvYz@SB&OE zP57!AuvIVTD`(=az_r5@zz*=?e0}kbLn(t{I-(b%mVr zabDap86TQpuLfI>Tn| z4O?7cI=y@Pr;7o}uA+4~9JRDf1~&pM5FkTf?p4c<&}3KH^$Jdvr{6 zh3*)T7?v0XjZt}iY4IVowOo9r$R{6q=kwxo$m<^Y+&ib`;@ji9;(N*a9eb_|CmUfz zY?W+>vATP*4@T)5OQVD?9U7kb(a z;uq*^KM_mV1N(F2TUV@tzx8fnn=#RtEI#0!RsO(U)c?qPr+mqt(9e>WT=5loHpj9C ze40zV?QDE1wdt6SG|1<;G~t!@_tJ9mochus56&`!yv)iv&fU)4GRv9jz^gI*$UY$h z&I)IR%yITO@5@|Yp|42R^)>P}lJ$L8`>vMx@FrU&!@m1`_sOX5cfR#9=G)}kBopLE zRwi*zb^g|S>cDw-Rj+^QzN&2}e$(3vjWBkm-$AIc1iUv|u>O*^Cm+LThuh)@SuGVc-TG+JZ^smJZb+8 z_;>s7KzJR-^C`nIfVSfRGn@=yrjrTu(|0RQwu8NZoU5Iyfwwug0ed>I|KJT9yTLej zI9M-(SM2`4u@2^iPMK2%ta7S=YaPtcoOKS`>AdWqoz6xF-`zN0I9~wIIA`%RQSo;N z4n9 zB;ecb+XejCM>}UgQV8^JTpirO4rU?miaFvvtg*a-*~k>}KD=}PN%o=rF63I>UbmO8 z>DToea3)$7h+XRvyQygI9$&Q9m|>i5pO&TjRtv)9?H-gEXj`_vv^ z+!t5x`;xw-+UqO!6{`F!du?iSIsT30 zs3pl!E0UwuBu5N+kfXLqj@ltPY9Gl_XOJ9q9g?HYBsuCVlB4#M9PyngI$|I8_vm)~&OCrl7FGMy(wnlbE_D7CjMeA(TiH4$) zXi>Cjv=!FQx%o5SU};VrE%_`DAO%BD-SlI0SmOG*N}w;@rd{%n(;4)?rq- zBe55H^*Cm7M$(_m!>p`vvIS;josvBJ}v6JFR&^8~8TsUeFib$VL^E6;v0@ESOiYxZvr6)dlMdwiN6v*jI44;6%Zh zLaQ)Xm|s{}*rc#!VY|Z4g}n*~6b>&OQ&>?rwQzRfg2JVRD+< zU`B+;U`?nxJOgX+3$P;eba+*GZFnPAgm#Aah7X31Vom5w#E4`@apE7jMjL82Ho@+5H!?Bu7# zkFZYroOqbl`^6)8+j57iTlIHk49~f4 zm&JHn@_Vub+JCfc2+Ml1yc#?f2Cv^1`ov zVt-|SrN%gT2~XYQ;N>MXmiDGn<6sR%RVn=P7pV&P;%~0*b6Pqr)dS>_U(JL^{#(^U zPFJU!dc?Wixm`UgTjim0AcJYNUFMY$&zFx!1W@{gOQOtEJ9FXQFz7 ztSa@S^9$z}>M7@O=LxlpY%BF^+OtZnaDL;wsGfD+aJH&d&NgS8TJ7v|cB$Vu?>X-uSmU&F9=K2CRk*bs@Jd=#^vgD+6zOyLDretN;_hx zH)$^nd}H-fUzvK#SMDoUZ~H2I6>5jC(l1AunHegM!eu;8Fw@DJ^R zy)&R){^&cT4$uw(>Y(q4?^Ea)>=2;-WZ!`2dbW)<2YS+mf2H-~ww4(}WAG*BCcrC15sw(eW`HS8$4FnfoA>gVjcqV=cE( z4&IkUUc58;G{?`jUPz~V5pA1|{|8Y!ojv{InV7yI} z7+Oy8)S9hcxiyr>qf~CJmk#Bmc|^JC9z!W^I-(Y!RSw38+0e?5VH|jhp7r9MCd-N1 zOMfm+Q-3{ zt=1_(c#rJl4KWHuR?MI)5jj^WB>HATl&}!$4zNTdKBexd6dhgD4$DF zPM7lX4&>U1H<0UdDKGCpyzk-W7>Jg7l$V!e>hgNj(*J;Q7~>Bahco_& zaRlRCj3XJbM>cYeV*Cjsp6`K!ci@3z81G>m%Q%j)jPYK^QpTS$mNSlL^Z_k9gRu@{ zCL^96fRCpKKs-GF1{t#%@gxD997a4(0DTE#UB-Hhc(wq3ea3u7JX-(<&l7-no&dxX z24I{q!I)%BF%~cuGB#i=VuU4*TqTSR85=QP%Gj9kGDg_#NO?J9Q%0;DfYXfeO2+1l zS24C={0?JFMp!9G4=V+D4P$G@>loWIUdz~q@p{H~gc$c*iT?{vORZi*^AAUqf!-Od;CBS9-WhALL_?^syVt!TDOH0_SLzOY|ZnW(9RQca~*>nDKI;r$1B^>e`S zdL{F}0G8_0#KBH^uC{tGO;MX%9$Li|jf5WM#nPzf@@TyBC@+@ArU&uPG-?;PQdYIV z2;&Tr=xI1F^f8oPv3fvS#56VLH>3%>OH}npS=x zD~vf-72a4@)>OPPiF3!hy@-{#gHQ|ZCaX%~&a%cy+)bzvcN5yspJOp@fP?YGDw7yb ztV)UT1QPxouvESRoG#Y`%jC71nf`RUj5U3i5dabg6tDI8kl|j+b;s(E8n<>RrI;`W;}kewWYd ze?XUthkzAWgG5R(3pi0c3>+tB1FNxKKzGffz$!T(I8~Ai@0SaJhE8X_7dTGs15T$o98&J*vwjA2ss0skqJ9cEUjG_6T`vb#YwGi5dIj)4 zIRRKICjlqOiNGpZ2^=S@fcMJ#fYW6)uo`Q!XoJ2LbgAwJoS<(5R_QLlak?w;UflyY zU3Ujo(^IQV z;Qi_=;5e;;)3pLtYY8mV29>W)fu5v?0!#H>xOVIG4?$Pyk)RJ_-G|QW2f&GXIB=XE z0i3RX1gw@1V^&#;;~X5Ta71rID|Z7Y%J+cdC0)zulCEpDq-$9w=~`Awx|ZegC~%7W z5I9M%0ha2QfD`p^faCRg;B@_4V72}ouuQ)Utki3P<$5b{ie3l25B}Itf}-nPs$Kw2 zz`76h%hkXt^(=5Ac67$|Q_FD9j^ZApsK=D47lD;(C9qskf0~3HvQdtpJ8FV>3s@m` z0ILMmI8nRlV*XrXu;SS|Rj#y;98O>6^}i|xQE;!WTrL1V!z@fzeb9%T>2 zuTnwsoFMK5RtS=Fl_0536@!2i1>}#Bimt`IVlZ&L_z7^jpet1^1^~;%Xkeun0xTDF zji!jZfs@3KfwSPth2${`I6+a#6^hENQdG`VRfg+(T%q6Ee^Kbe_6bFGO;lrm_bc>a z`!hx5+^eXCpA1LN9{e`6+Ocx(7H*jKO(N z#2Mei$1?27NWUw^I6h7ici~u$_z`?8lQa&OO1eHjm2}-E$Y+2RlCETxq^mbkQh&K$ z(iOf};;N#rQBRo;e>}>1Kt2I1lhivZ<z*7An@TdA` zzzO;RV1<4NSf!@}C+hjY`!$V__v(kK2WgC=PKL&~>SXHKK)QA@v%xi&&M+OnK8~9UQ7dSx&ffYIgtkOy9KRQMIM;B24(SGnJ>O$%{ z`V!Fh>Uu002lRNnwnvi52Pa$C2VJc*fn_=Ytkf~^zpn$J%XJiVf1Lw*iVlNbt9_s+ z=?Lg`IuH1=?1QsMkCNZ#W0~yB$4Uv`2;fhWU2!C7^}w+jM|dot9wvM7u?&8&TPr;c8lHe42`tMA`>JP3ryrw8?CRVI)KJp7-sr)<2-z&caejv{R_bHOX z1bG@*A-|&96_4ghfj+K~7k4b`!W}D-W}-ryaj#O_?p0KmU$Mj$wPCu#Svc7$19Y{b z_LM0)mr6y~vRu)*Ou^Ftv{2Dm+^4AhGZn5J#*ql5QUQ5H`B(0^#@9ailt=-Sk-7NdI=zV_m~~IX$!a zZVffChU!s6^{=72)lgnul9pQv){kl^FE7c=i}mu7+*}?>&ZE4%v~K3{yu2hqkLTqj zDY`t8qepppNtPbZ%S-Zfc_dMf^74{YJ)W1BB!r0hFRv$O;(2*JITO#z>&Y3ZYVuMarS=ie%S-*#<9T^| z)YR+AnN|Y5yjZ78=kVlAv0h$J&a`6awVC>^TZboSiuLOCh3WHB&XX5n}7k=YJ=Qz;QVI}EXSMk+JA^ty219!&& literal 0 HcmV?d00001 diff --git a/src/assets/fonts/Inter/Inter-Regular.ttf b/src/assets/fonts/Inter/Inter-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..8d4eebf20665d5ae746c622a2bd42274b54d2bf1 GIT binary patch literal 309828 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

V7T@aTyAqtk8R znEGA$bV0vzn0E5`7bG)ih75J%mri_;V5V{y(!f_c^&t~?CF9$ez{`N+o1H5EW@j!a zRns>!K?(1I(%w)d{#A%lbRNdR+0tx&&iv#X%@SbT@O4RqK%59^WoIinCl*66sao%1 z$$HZTYYNKep8vh2qUGajCrO@y?He)*FW#}FOvoY%pW33f$?3dp=GR5hwkZCkP&|Qk zMyu;|pDCxPfbq@({$!Vq;bc(DppPynhZ)wncxOi_Uz%+^$uXW(^Cu67pST(g=??NI zdqPG(1&eI`kruUCDWT`#e!+8lzfg%zDk1uZY7G`q|G@Hp%JI#PTES3x0VV8Gpc2p&)NV-wCG65b3ALP;u%v<#cBxPa(ky3`Asu`Vp@@HR z7COoC%`!$Y%$Kmh5^eik9Xn|r6fY%Cj419j@Vimd;xOQ_DS?5`Kffo-E&n{E7s~xK zxLC#;JHFzBOYYYTX#na6kr;jO%X^h>OuQ`^Tl!GWr~2!iAL;urw%C-WPB#D39G2*f zy;HwN|NGxyjK0~i17A2_1%9ewD7!Hdk}+e(F_9!7LbX`-iS2rGtrDlC>xEO@vnHJt zl{LFy_L7~KvK*G1v*|AUk`*;G;p~g2>IKR)<*CfGG|ihByXui(j@*6c{ih}jXxdqs zfolVY(X|7RQkSa$s^%wKPQy4Pg?cgYIV(J0lSG98fK-b39g~uRO7 zKcgj}ic@Lbe5S_Cg;S|6yG!x>76h)KeyqX2SxMpI8+UfHhE$&qO!I=sh2R7UMqjhpau!&{J z@v={j$9dOAxj`Qc_66F5z2ZcrUs5xaz5rs*f%MUS{7qNj@&O6?*2y@UAdRplESYI-U>{f*7dzkGRl z@sn#-{BDC|SbLGBJ@*=m-Er`dH$Fb7cPG_;_1KaJt}1RWU-QgjZ&6cu+3st9`rxw1 zzN&rr=!4IUoEw|0fBWW>`nL_DpSZ@sa4cd7a6`UykeE4IgYJOeU#?`a^gx$Vq_hSK zF}2nzm4T|!8bfW!IZ?>zz}1z;(PJUOIJv>=)l2+rka<~ha8P#ZK3&yg9G!v6U^nQL z;p?s#6YxnmExku0AV8=0GFb0%dYU_)_iVk#w0E@J6SX6xQ=(*N=YwQE3s zSN}3t>GwhNa{@RY4Cm<$z2WG;^=Dr6vS~+IEZ|~PSFKc!HV2B)-aKgg0Iv%3KjhAJ z3L2%zvNj_xw|e`<6H?Uye^5=1x!HGku$ir9=Rj}aZUuVv*Yw=a(O}cHr1KXu(D)O$ zm9!ank{^~&KU)2Lz9i2o;U{7Q>#-V~YK%2o(13onw$Gc}^f0<5gb8(;rwR%!iIV7QA zzlSUVx{5`-?r1qW;2I2*fVK1b$I_AUr65Tg1f2x_^*Li>86WRSn5b~~mC*o+@vnHJ z=IX{@Kd|u9d$#Re(x?C7ai|)4Cs^3<%uh~9oSra{Fg@{t^ zLA%JDAY>0_t?FnA_CsO7Py^r19#g5hz#D8Hzg~wYkgIgbb>r7=3~|&h8byh5G-qPt zHJgrbV~E0DWNN)c{O6CNQ48*-MzJ41KAP}RvIcG)PU;`oG@B>LJ5{)Cl^a6 z+k4S@Nh4kU8tZLu(9H(%(NC^MCJky>32zv--)I-twk#%HH1aJ{YUSdsa-KDj;_HCM zOxo^D_1dOVuxQMte2(U{r|_-4@G!H}rPUZaFg|7NfM0Dk=V*(tnqw@AOc!7ZROvXx zk3)DIs!*I9NWKW7;0HmundNpifm>M(+c#!vKJOV*FgZC_Z!G+ARH`x?cf8yj~dPQT=ZJFUIEs?V3P~WG7v1!3`svo8#0DTiG$XKn;vvBj%81 zZy;yl(=Z_^;ub7?xQl;vM02Lh6^qO`EHZh1gTotW(-WDLa`?!B|GoX* zBl{b=J@Fwa{#kaxKaaBVLtXlw&qwrEpH&Mnk!JJ{9b%Vt4)(E250<~Xy^H<$+0XPF z^?&;Gf9f}V`W!nKo(EEHqARgRnJK*m6LG8Kzwjlj>Wuf@Xgzbwoxpf3OM`bJR@WHN z{L8vzHQ@A_Hy(30NGrqF#rM5ieB(RKa(b}$bNz$*dX_aTw*_)pq8_UcI8&FlZ`}A? z$-r+|;=zL~>G4r~t(~~g%jqj@Sf7$h=XCv?HPLDY@v8C(630I|z;UgJb7YE+#~kQD zSzLCkkkr%^$`nL4H+?#R93*`18M6__mD2I4-uTWRndd*fY{Bm*;5)pvfBeNhJ@nxH zBYUd307`PIgj>bLcfWB`*;<+iEP>{Tez1xQ8XZR=$7PqiphlJ~sb_>mDpBdg%JUvt3=j z9qbgg_P<%lN9@|}H}&6sqSy53kLgDrdXPC-F>WOGvu&Ra@6!*r=|esGE3b93D?VV= zxNYuNpVjLPL;91iqhk+*25`M(5)}PMWbtqiIRO#hWQa4)5GSRSq`;ZtXXN2iA>jt! z5;`#O{BE%P7e_1t7S$gdWIzAxGxoE#qkU?Y{`F`7*1uv4+373&tK8@9JLKry{XD)| zJsSN-b{|;IXQ#1UfBQ_oO8>C2JA<9WZqRq>Z|QA%zutQOoZho800TI|IEWkKlPC#p zezG))Yd>jP9J&#K1?pJHkVXlmY$MEoD@V&&7JKv$AM2HRU_{^3>F60PDEs93Zl>I^ zup#hL$x~bBEJ%9rzgfVL8t{GiT16IdkUB zIcLbdU%&8BV4oT!6$Kt;n4wJFhqgB9j{MM|3aoG*%qxx0%zAB0V)612D%D83Blw&U}dS}^1!RTTsvm0GBhN3UcC+W`x=9^5v z0*fc2+c+j3fsG}*g&L_(*vtx2?~ORLFTy+e$$|F6?CMw|;U-y4=6jzt%%5{RpIs!& z*2wlI9a}A#6^tFLg*fg%M;x^ezxR(hX-RI7_yaJmV$Mq9yr7R7m!?%(LZo|J0<^UO&>ndhthz>L#z$EdEYtizL4^|z6^0KKl3SOh8f<`l)Pc6@2r-yOT&7oW&1RpYsV7Vixd)We%Rd>5 z$r#dee=)ssY1{eu*s8tT-ZR8jY71y;F3JA2^lcLP*_R~pY?LW1o%oW6(u$|jn{+3A zir#La``@U|y1qGssE+2{%E|iqWnjnrW!M;Mpg1561J-pB1aSLJq!*E8uH%{#*E(xh zm^C}~&S0-pu~xpBM!pRO0zQ|fQx{vIHnMxrm*B2kPs6WS!L=)#ufNfx!}$xdZPY+^ z0X>shj8<-LJ|b>>cc{ICp^do(i6R1QL?np6w)Y4b_)d29mdE0JFIp;kJ!#yZl2(xz zUuIfVlsw9%*iz;j6}=*1&gd0~n`}aG~JNo%M&pZ12 zJI_1%{X5S)`u{u6JLtfkchI2|{|qbxJe=XN1)3bxlzkP2XLRs0GF1KgtcyFTv58j>w-q{|1j>QTSS=|8Xct5}9#Bsd9 z+-J3lLoPRP`S`f8)KuNQmD#O+kb3ZFMz*ml#A($5+VJ|KFQQ$Ls4Al(;rTtNOIcN3l zL)C^|Q#QOFoj2>(YF+T&)*MW8cARd;DI25?Zdiu+M$-nOB9LEj(rC28-zHhgY4x@j z3I=q{(B7cV)lEm((@@CKU?vij03aqQ`%0?b${NFNbafpvG-TjFH}-^^f4EH#-6J~E z=T_3OXSxx>%JoeGgYijAId(x`YUfhv1>3G(UEjEUdhx1uR`pT`{{z-v#s~q@cqV(-*50r{%XJHmVW_PtjstJ zcE=zfB6kE|p&YL1L4423FP~L&-(SUlT)F=V7zYIjH8tf)d#7AEQT%$pmcPUwu7Bwi z{eJ)7R(?m;)SUcc$-}wC2`MhL``lXYt=PTy?L$Y(MepR%OUEQ-nlqD1S3R}p;@T(H zrH%=YSdj6==1WP57d9HrYv&u735{dM#aVJbL>An^8L5gn3I%#?m+n%QJ;LyI`_)H9d7_-F9k~( zaq<+o_Z?dEX|iBbu%36G{_|AHuWK3N%_DHdsl`JFU&Ff;QW2;zgz58-`6JeUav z-`H@3!@7?v*y)Ev0i57Hr z%6)iAU8(3jCUxBtYcDQ(YE>zx^O&Whlfw&A4fEHUjTqGRFGt_eVZt7}Y44uCD=Z z<@x(QHd>!MNz}&>3q1$5fIA zE%L8m|M;ltX{P@SfVURYSmBJzl8vkX=d_gSNRsQLlg9e`I{W%P7nrh6?`|*tpOLq* zUcam?K`j=0^qsLM&ibc_?cfT&40C>V%EBcDa>PGoU>Ep)lC4DWcZY9MW#6@YE{+dN z?^6F31n=Dqo`;j-PB;_mGCq5VCk`J4RhGR;?F~uSAM%Sy1o^Z<3De>SfVh{)4_TfO ztAWD^kN#4zi3TL^pSmoe{OEh@7w3dUESi~KRX=3Tw&$t46wy|pQ1Im;8*pZTfQ-FMnkXb&>`1fy=AqBTH;T!9Z81_P1QExn+KmT*oO^p z7#>sz@Grycy??o8Nw$rXUA$_j;M=dCl~ZN33SqGQmLN%vh(Wr>|tcJl;4CLxG3MA zbw@ogZ16eaf_C*?%5P~8=Jiwo?$rgJM_V|&p4G$oO2%g^l2fw!EAD{jw}*3hGjEsi zg}9GX;Yvdg7Qq1oIc(L1sV5(!Ir^}N zr)AE9mtokUt0M&Go`b@ieVl?H7}k1Nh%tCmqes>z$*Z^^G11+#M(18q+G_H9Myk4Yr~UJzs_IYZKT3 z#D)0Sid%!AYYcVgx(D1}6kBdzw~GhKy`}j-9hsU> z8!HPw-8!VeKW;#r)SRjH$JOgZ_L6R|^Z-w9Vlc6+9bEm((_$C-Im8@IICZR&Wr7bBQ; z9ao1liyFTo*mTk$e2eX3tLazqL(x(TU6ew&+H}6 zhf}bl)1^e)=(Tlw=-1z^B>^OYtx2qYE`hU{q}8N)x;UU*(#lX{EnkUPSuT|s6c!%R zAg@py&MZ6}4(8$VRIZydl?>lcSyv-hHvavp2=Ssp3TZ*%vt6f#jH01HU`Bs!2?p6-is|eZ01^r>3<-%f_n58Gfy0- zAR%XF)zacyP4x8TY0vCV&5l~|cWDi|x4w}K*eE4cWd%Kk$~_P5z{-7fAHCYJW^E%0 zJhqqg{Vu9ZUwkQTFKswgLV9k?CuH|9zm|H;Du#|X4kdc?dDUTQ92(R|_K(ma(MWHR zdn-av!N$le>U~9I9xN++jg0?i<#qDRYp>DM*J~TS5B#ud)ei@Xq4+`_O^$QKSZ`x&g{1$DYtFH)6R@hDK z!PluZ?N!n%JMO)zwCiX~U~9seaGQEej5Nr@T19N%|! zNyXlb_$|-)A|=luO0Tbk@%ghKz9H2#_zQYvPbHbxUPDYJB{Zw1o$jdILk4}po_+Jf zI$E~!IuS5!IDULu?vbaZh#gf2oJ~s(cghk2I6KPaJK_5UIcM9Q@J%pivgvUrJeSDR z>`wR=A)ZgaJK=e7mt@nD!?{`{JF26^}LLI0F&Wtf!d@wi+ zdtw;tcW3{8=Xpmzf9H8ee}CtBN56mPc}M?$=XnPm*z=D5cH-YbkKcLTK^I;>6Ib2) z-;F-ZiC-CaPM;3C{r0_m82?UwVPZ!fZ`@pXCB?;kJaOM!M!buU(GM?Qrk6^{G%_Roy&O6ahgJ(N zZJJw@I$XG^3(tud;;hji9PoTjRxy43=D+EIxBfw1Bwj@V5nP=lsZYz^?Dpfu*7VU? zRjVnbmmn|e;J|^U91dysvXj0g%#RWFV=X6v#)mmGGFujOMu*Emosil>d=F<#-k)fy zFQCq(Ic>v+H2lt;ku~PPW*la#>dUit-tTNUvSQiUq`K7jtg&3O2OJlEKM%FCU z1|}$HlZz+h^2S=P!k&lK7EJXxa$=p6vrNGw^iFTcVDsN1f_!@hiwN#+%PGXIA1(g( zj-`4b_py{c-|ZI+trmL{DQ5slPt*U6T^6pwf_a+}%>x8uCT_Ue$sT}+tpK(@#3Ur! z^NA;{hSqdJMLgjNnFLSB7L(OvZx)?}W_vPxh}g&3)-2@Olh_B`Yoac?M&6+cCM9&D z7EQ4Rk#)ibP4#bVA?dV(@=;;K!>ph@a!~ew8G;~O_$irg@rwh-N>_1o61 zFH^TjIW2_;eqOU};nWxPd9=0oAf-Dq=9rzZ)dj{?(q)KQYE>^oY#jO)@QW0Wyi`wEeTnn=|X^NN+ zgY*s?A^F?|9TTM7_5!88O4R2p`Sam9kt^; zT*$KQqd&Z!M~~iDb)V^Q+|t()>?XN28(PAc)KM38vxaryU3pBTO#J4ostM(&yC{w_ z-~{{+M_az2lR{E~FkNS2!>M}`4a~8C#k=+bVQ9^$$BcoN_h+bw?amyoo2UzZf06cJ z!T&eZkauNWYXdQ(Fs~5I&%$Pz0}(q%WkbZAexZ0rg^r3F_Mp~FQd#ZQp1Pp9N6nU@ z8*jfW6u0887rW&x`t5tO(BCKw8Sp`W&-4BYl9}Cwq>6&aWLLPT_QrEAL9|A+>bNR~ z$94y?dB8d%c?+KPc4MVI)e>n{7g`MbBSQFm4;fSa;unRu?Pqgm#dV=OM?*v{vYtlM3x^|B{9*WWvs^b!S`@C15_t= zsZv{M&%(XryjHfkv3IMP)d1gXhE6X~mh9`?#+6v_HAXh zU^7PEAeUiYbgYzFs;4@u8t!qe7PT(~ZjQZK12<0epG62h%+IheKqBlFTu=863hM0# z&c*t}bYdj8gf1_uiSS@xxrU&-gCX@+YeBoJJU+ghs0#FYfB$7C77v|OO*ZKD1%$(K z4eIja47S(b-rU3amu6yJ{4w!8RYnF}S$w;?R?41n@JcF6%wDSrUVMdq1qW5j$BS#H z9sGC+OWWR-iY}QzYz!ldndCB-O|E_da@ceddpS!EUb%=3@yVlG9UfPWGGw8k?Cr>@~8#YIos?&AO^-lMU%}E?MF4B(_*_nX> zVi-yPv99nyc!*&s1}uct3sZoxI^#ua1;XFr#5aEcRg1#D0V3OiH

NU^a~Y-YT{n`0xQzR2cZRm6M*N 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

qEIEEraMLk+K zjxQU0mQQ0#h!GTMgoE*hH|YByB!Y^9;p)a|5rl9)PI&O)^w$CO7bL}~>xnO7ZNw_t zPRHrn2n$Y-x(hz1za60gWcR4yqbAbZbe8Z?si(dO`<^LR@`<*fSMSlK{VRvgC{-C) zM(WWNf`^SG+sSApP)R2_#AU+h;iDMzZ;1W;h4hi|TzJ4w+y3MIx{oH>{3}yt+!+J# zpNr$9C7MeZ@iOEAo-HJHYIs0RlG~b!>GTkMl=e_wP%HA$x%il{XapUu5h|PT7(SfNPXZS}&MN)x#=wVI$+o$VvkifdCIvPPT}MW$R(X zf?8uJ@hHUp33hajUBP|Q_aV6T<4>N^&h+qA;xK6*y?=T2FOzCZ9Tt@yoh5lsFFhyi z-bmWMgPNamnC8!=6BIa4B`G%up5hk3q1T>gGxW5ckVXy4e7aK@NOj6m(3eBtCMJOz zehk$bw!In4Yog3{AlfDcJ19iBW79K4B}ogntrIV)50;)Dd~W8}pR&5ne!QXIzAb*f zE)zB%j3S?stv}tNnf2}=LRq6L^jy>Vmok?Uo1G7*-CNneX5$ZtN6p3!?SG{MC|s5O zK_gfc-4Vc|E58$R$(Nj}y2N?mr^-W3e~>AO z^iRz9Yv}Wq-LP?zSuba1Zp0f6YQ*E(Nt{Ul%cB{`HY9 z2)DX57+olVLVX$xSvg{eMX0f5oTSQ@Q4?|bk95r$GWN`&uTR9L)$UlYS)9is;&_&> zske%>d8Cfktvz|_)JZYEAXZY7PpzucrxaY`FZA>(to&KDF7%3+Z-9C*66D$ijf`Uf zLSJ`m8LZt7(CHg5p9J3imZb zS={&;)9D{4R{XrUc_-33aAs7(?0|P(w5~c$x5*ZL$4y52o26QEm1=^q(a5Q=E!zS_ zz*8fj$weG4@1s*d)x(*;>I>hHJ!HPJ=PX-dA>DD|OZ$t|3d&AjLRv4^^n zTl=Q9o;Fr?r6)=I(&JLcQVZ!#=~p|YH~J4sf0jPLS#cTaCrNw>YTyp8ArACrsusq@ z$QVSN6lP3KUf`?1RO6xBnhc4;O7N$-BwP4mJ+V2FPDgDzp!CaH*-v^^db~Wk13EEu z189*HOur|eh})TX0s80v6XYcoo|iO`E}5pt7HDJi;P%4{KR}*od`P{NMKnXW{ES>t z7Iu9KpA_k(H-*!5ucqf)$h6+7G@)DHs>A{G8F3h)G!X7Vk75nfW{hq{G+ZTz1u*2> zlZ}YFViSMp&qUD~@(AA2m8ayYvY>oR0REiVNt;*~4^-YLmf;3viad=8CyWAO#9=zZ zx8??H!D*cEf!?v@shY!tVXW^~PL?((k7T50B6{}wbS6AArl$(qIH6RDQBtP#n3?s4 zz%hl%td|F`k~s~3{rc>Dzl`uu_s%{4AZOGF zHZ+02s1k1cZUP|_2eN_|(o=)Nq6ZR^78#xC&kkEit4((pev;fGO;s zJ9uc!bfdrj>8eYgAKN`RVnN_%@soFxpBMBG>JhsrWKLxKtbiqcVPSspOTvrin!bcH zCF7Z5U1^P`5#PaBM_5RZDBIf$y`q02jxGK=Z52{~k|^kc+bVoygY<4CRRF{dhEEsD(Hkh>^~ z(|?Noj?5^1N@kyqy(`uglE_AeG!0jl;V>;Q{3vgb9bmMe@?|Uv7jEDLK%7P=kxO{F zoPkStks>-<3!=p_dUL~e((LfKvvZs0g&d`~_tt0^H8pnd%CLS*k|Sp%`Pi%_PFq6; zH=Fl;1K})5{q+e+JQMpx4$aW(MXA^3&tpd2ojv=fvGI$)@DnAyo@VCkNx`B8GTN^Y zJcKq%&JV1zC2ZV%hfoKFK>-?hN>MFQ-fEi^R6&y_&@8_DDMp-D% z2p*Zj8T=P>`C=;uyCEf{)`pNDN#NIq=}!8aXa3oO?4u*{3eM(FxTDOKT+#z2 z;!w-xcY{&~g!#H^uV$#GHjp-o^DA0PfEyQ?rXv=1BWADnFMo@F>K}^rzEmz32rX&g zZW=5!AER85KGy#t*4?LE9*NZ8oitQvJ_@N#%a`3nLwH&8a69cMd|aqp+b&kqzuG0Z z6)M-IAf7l{xw2if(ZARwd^{SyA~si25=$!$#HJ_4zdjdB;lj#%*Vs8SpY5`&%N(zF2~?T1GN4~}Tv zG)PTPGz|KUpjtam$v)wxV3E(yJqBwuO>FF(~>^lx+3i0;Q?O|c~8_B6?tbTq!_3eff-SC zg}S})&OwZL^$I(0voMVg6o+8v(RaVoU(rt%aV=gO1#i93^71irz2Gr%!LdUqh%(iD zH&cKiWAGE9rl+U<`}YHO=Mvw2O=>P$2QlAMdUWkklK6Vzt-QexcZXk}&_8Tlmzbpf zvDxbfwT^n-C1zoG_s_C(=J#AH=@-$5r;6#NZ8yjk(lMNblQ+aBZfj2bo}Buhymof# z(#)gJs2}K~<*~{1n*Zn7*_)!GHf3*ux}B<6UMyw9n|^g3Hp7Y2LA+zs!VRzy+qRiR zB!-(e6{3nCnwvn6ZzMHdXs%4(xpR8Q*w`NM;Q*ovAj_%*0s}`5MESu8Bqx#H`-9Y2 zuemmL*RH7m0_XM|$O!-$WU&pHe26i0;%Bd$(c`C^GnS6gDGWQ5HDWq}+mTz>b%c_H z?A(OtXZFdFxJ86jd-#Nqu>nAE+qUVQ281Uq5kGQjR)2bCoPT!85I`?st5dmK}^u|q{@|3x`*>Ue4M(U)zK+3Qf zflB;FZ1hd#juqd^(;mKxnDGVx8RK(udL#}aM1SKdC9oIH%T8#roQzNEl@#8gaffB& zQkwVe-M6`G2hEk4yLQd&7(ReJ_%vz$r=N6n|2T0;J=c1^SgXG(IrO+8OVVgx>pB^3 zt3=%)WdxmX7-1qb-~`=mMbmkyJM^}h(8lGhGJ;7pNaGtf=nXF45a0`F9?h^w$GOQa zcV#|g;7SIU_j0aV^b5CFR5>WDb_+!L>|QmVe&IMd;k`8u(Grac14Kcq@Qx+ZkFlFqt#C>=e~LOoS54?~QAx&pEm5w~xj6a3gZO~a;Not* zD|`aETxLFjGL&ni(Bb@fTbLCIx+U@yI@clu!eJ;882uPAlGV^vV-}N_-b)DXAD0js zoM7?I5rnQ9^M)2__xMIeckL1pv1Ik?+PKHIaRjKT@I|!T(hBV|Q0D4J_Rt8k^wil4 zqyruF6n-vx42+CQO^=93)pj|1)&?@2B5UH%J8fVbT7SHv?d!=WbK{b$qo`2D~I(>_w+~&7?=A+Ow1R#IB>ftQ#9YR z16O*=xxAqwlx2~A5ZvftE#ud(BVCqLoAXp!U40lYEXGtkjSKw^rI?mVDpGzM0W_`RgF2#eLa5KXSM=!=@Q*gD`f)r`C_d6yS= z@um^$kxBH)^WW(cGD$f9UG;u_lloYm_%5rP){1`l?YG2l{u;G&qfea|jz|j%v{VVC z9)P-8gaIg+N)u25(TquE>xefgcjkBq4(MhPNH%_d1{={OBydVrM9W^@K5j0p$pn%a z>E_?PhigN3pnM!CcO(Ov2TiW$Qm;cJmw>5to$LBw26sw1!f-BYguT1yypx>1@)6$B z)}UuQ!DSn>zyY&N5uuNGfh$)&y21*T&LS}=N=jd;Bb1%mBCcZ3!rF0%O}5I;uDLyr zc=~9I=-{Fd-RZrvyp@uev9h)JLdOjhp zJ&{sPc?I;(tKSJx+QF=09tW6vYSWx=8{<*jxRs=S_f^8SNv_#lx2A7F;eF~*AzK^A zA7~iM=H}#B3yzG*sM>vc)TmCpH5ScVTB}1l|3Ku?nORe)?)wgK3UvzM@WyH5a5(Eq zZLkK3YOgv<$T6eOxC#(jjqToUc|gAlQAZJrm~Z!b4~jfLk^TkOR|JD|*gQC<;x%pc z#5g$W2x1j;W*>@Q8b|*G^n>DRX@oS1cNb*zpm;=FjT;G3O;lE?w}JO*h$R7e4-4hU zU)0Oq0Zqa@F1fEIwhbuo7fFn`nLgU`D=k^Pgm^qYNF0}obd7q}#EDZ{d^(kW+di%P z!WT2XCH*c6i_VjN-_53mtyycQUrJL_(=Sa!qn|39gr7)PevgH8O9hJMW^Z)8PsWl2 z`sPKeuvQKq^lliGM7q)f9et>+MjBgK**nM z_e}D=*`V{s#Qn~|Q+s*_`c7RE{Q|`|Q#-*5mq@G^CNvbR@bqS_NCM1&^r;#_Db}8c z+zAf$Je)L+O3)Jm7xfyrAUSf4-FZsXU8Hm@5=)~=rfD&I0T7OMwykZ2No?lYbtGbA z%%R`mHa^-oO8EkhIXj-lMB1hG}!+7X}FEz@lRHncx5I;M!OK zNtK=Ji;klC^1veK8sD2e)!A@h(#t-0VC&hp3fGbL_wSJo8|G8p7u9RkXq{g;r16oC zbH^0S?J^^>X0y75i@Pg&;$q)5=;NU;h<0JUpGnm5uj!uK_4d*qzp5jUW|?_|n@KI} zO}H_p;Kr1C%kOz<)dgok+(YE;hPoDkz$EY85-f93Z>gPUIBUfu`9>#=Oa@WzV0J3^ zT^Rrixd^&~M)n>uq<26@26@*jE2~%EL4z!dND$pY?FaewPEGCYH^}@6zTrFh6kTsQ z9Mj57xET+?AEMavKzY~%^t*KCKOLJYZ-2zUZqKFfB4Nlx<9DDC2izokmW1l63gbqv%2}%*>4-5`XO$`kmNLQDg+M52p z$%#FB#Km{(o|4kNTVkSc^V~Tb2s_8sKw~@6vnkrEWfKEGkz)DYaTO0^PxT3VF4BeZ zLH!aFdB;dnNJxBazmO#DRr;9Jri0C$>KYa8;}Z)FE8SdlWvRt4Wz$j~a=Gs!mV<6? zGI}vEG-#kOKP@D9AnVB^;y};RvBn-Sr<^^KjXk(Vqu~2U)E(76pi8Q;XY&6z?e@4K zm5%%8v?szZWd)bEVtqJi1z?RpmsmFVUjx<%<~3ygsnGE8V|qYnp)l13Z)h>X zN3G<_UtrvXjWXVfRrs`MjZclRv6>w|@e*fv0HhA`Mpu?(z`eP?9M1A!g)jzOGZ5)y>wuYfHN@E=5U;M8F7>$pa((wML&ne z80vta)z`I9THs*FF+5a%1FRcE!o(DNj8|voOVRX7R}*t-Qp@6GS(b#mlkaVBf6V_x za^a5XhP?};LdW=P#1^Fq%Zc;1_eqD1DM#t=^?XMKACC+kbb6X+;;t!u{XZY#K$Vrx zNZ_7xbooQiRrJMa_WU(MnWFxcvA9BahA2eXx%d=RgOpX$3EcI$I~iZw*6e!kC>rl= zw&eYJi}7<%kspX_saH~SZQV|dGYgd;JyM#=wSC;O^2u;|Q!B?P#G-~Jy)Vl{2ED_3 zX$?#Akt}DY$uaNN=;>>;maObi??!7bToaLTU+j)(q`Zzq)5zGa@#(*V)RIZB$|EFs z4!BjkQr41*xZRnbcBSyNm1K$#A+5IpL@2@mq)N zI1?I758Z#1mh0`&p;JF!yPWwmqUkZY7qG2f&4?}5(hg;h?0|skY#^FrcQi6;Ab3H+ z#JM3{Cz<^dSi@-v96^EyVwy-0cffy%m_zasqUyBy=;M@@k4lw}pS@Zz@AW(~_w~Hb zUwtNg&?ef8j0ouv<4K0AKi~ImY+(>v9yAV!zuF>_zene%e)XMcP)=a0^x#`Z`{ zZxQ1=DBUzQr?6s-o_(m@sOBz(Orhk=&mOdLa1UTHctU)Xk@FS}YRI^y?jklB!!74Oj z@5w$)%L^eB@l*?4D<{+bVjGO@CI0@z2oQe6b|>i7Ed;`vrp2Tl39LyM+mD+VH^t9y zn)Ho+<_Nk(e6Fa(T>VTjgZ=_{L*G37hBRCQal&tt#zn6k_)F^gIAsTv{63V1>N3@H zl^@x6!HGT~%)0Tq;a6cc6XB~{@=MtQ<)NG}<8Njug?#?E7Mhqw%PDALZo$eXc(mCg ze+9w`;^E`uNFWep>>HR?qpBFBSXgm{_lvopVWM5m0CC5sL{>Kul#AQxl!4#TYsa&H z+&h?P?~lH*yBoQ?mNpB#RX8Ayz{B;>^#fbPZO#3e+|#d>Ra9AHW4}tjtmygIgFQ1h zW^KRFCB=h&c7~*PO80Kv($~5B(CNOBbNdl1!O8|Gu0dBO14S^^|Btu#fQ#zr-p6``McF?KY0Z86;n zdxzgM_bx`?wDGR>8cPQ=Z{q^F@YpIA0;QJgEQ_-&4Yrpa~W{*`&Ms)qdD zo+<^1`yJqS{sFj(3dNYu*mQEm?l%64(TpCh)Of)%NkRTsf(nBKryh1h@;8S6ypayhmOKTQ>*O_#VN^cI!y-A z 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� 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 z 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 literal 0 HcmV?d00001 diff --git a/src/assets/fonts/Inter/Inter-Thin.ttf b/src/assets/fonts/Inter/Inter-Thin.ttf new file mode 100644 index 0000000000000000000000000000000000000000..7aed55d560065b7a5a1975121e0b13ac25e798c8 GIT binary patch literal 310516 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

_l*o+mcntCJeTvro_NJ}L$i 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 z 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 SMb literal 0 HcmV?d00001 diff --git a/src/assets/fonts/Roboto/LICENSE.txt b/src/assets/fonts/Roboto/LICENSE.txt new file mode 100644 index 0000000..d645695 --- /dev/null +++ b/src/assets/fonts/Roboto/LICENSE.txt @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/src/assets/fonts/Roboto/Roboto-Black.ttf b/src/assets/fonts/Roboto/Roboto-Black.ttf new file mode 100644 index 0000000000000000000000000000000000000000..0112e7da626ca2f959eca850c806779ba55dbfbd GIT binary patch literal 168060 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

TJYyt(6q>rW4S(W4gHIq&3$utU3y8!9=k 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 WVelBb2)1!{_R^~ms-+tiJp5mlrotHj literal 0 HcmV?d00001 diff --git a/src/assets/fonts/Roboto/Roboto-BlackItalic.ttf b/src/assets/fonts/Roboto/Roboto-BlackItalic.ttf new file mode 100644 index 0000000000000000000000000000000000000000..b2c6aca57bc0d92ab3197d595766bf9285deea00 GIT binary patch literal 174108 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�F&NCn`4h6Jwu5<*7c}sDG#+fU0|H$I~Vf#luN%s1ahGFcr$1D8Ug)q`sx+0M_ zP1(oggDE@Nlw?hg7}#VZeKB%C{`z`RtdtCtx7kT25Lwv$=l5*h$p5Lr=H!TdL+7*Q z%Of{*IZJO5(xWcBQhuATL-k2b@b?4hSg7o>)dzp;4Ul)ZEIZJyC70MNVR9>QkV8Un z@!$<61>ZpP6@2O^Rwy4u_mvC_qSAQWG1r^!>=~u0fI$_)SC;14*36;2!+P?CPF3aXPtbB(Cdqxi{nV!xT|cLo(TPw z)%GMpe+4R_e3CZ}in$?ZsYD@?8-fT3P=Oln3EVwB>ms56`rLH%l^RV1`7c_+8pta6 z?Kd#t;F=-=tJDIQ3q+91iavAPMs%TAF3*)mj`RRo2@QBiV(n3H_Ut|QncZJD39zS zV-!=A&&lvPGX3(k{6-1v9@)OjCiiAty3zQ}EhjwD836<$cFAh1gBzWrN}`j5cDx1L zU*8>F6>=QCp#*}9b(@CQNSF785%)??*iRR>0A}w+62!Yzkc9+)g)=G0M41lFXY7EX zn`~Yi00x=?dWm1J{c@+Yg;n7geex-w(i%*kG~%PTFx1ZDj76hUl~(7hjo##bitW;= zS@cvL{7K^pQzeb4A6f?{NT4qO$&a4FA`xSPR)~O+qvYj^b0-Qld7F+#3l9E0$)3bE zvtMG@!q({Dt8@q!gm>;>yH~Q`Ut~YBm#lwSAAK-ly384K_{y-aq%$H<*IxDWV9h;X z8dHkSo60e>N2*jy#ev4f(4CTx(w2hjVdbrZ5Glaff_pod4Nk++i3|_;^7N9iLxK}8 zRqKRRrMIQrjqK6&4UgJ?l3(26Vzk5t%k?4Ao@ZMG`$>l7b53GJJ0l9fCEa_hmr%@xDLXBEN+>W>`S>#eZHJjjzDvLPFfZ&qpE8 z4I2)(OxrzEB*7#Ch0M@%Jl@b+q(#V#$ZTVsu}Z8Q(aOWEpu7v^?hXOxu;hXT$ zJ;-h)1G9=my@1dNVx;<+HsNo5@gFD-?;JFX7bcq_%cv56&Hx6dheyUllV`#+r@leM zj6&ID23voC4XR!(b!BP`)cc|Ascnn&Rj#bV@GJguUnaB3p1o`V(k3%bpC+*4EVHrj zGS)i8GX7sKxEP>*+r8J3t2sR&p!!(_jKDAZc#dClKTh_-dw&_Kd%18h6g{Xxgy&VT z>|(Vs2_%8RS0i2DH-sH1W3}M251L6Pk)!U%q$-<9^WCq?hX9sGhcS02H$NY}vBJpq zqT*nbN(?Ma|6Ph?8oH3oJfG!9MeV9D}CtcD#|A{g1YI-P;A{XZC}&J5cQo%SbiM!>eY~Ol}hZ&=ex^sth}Vq|dmgsC}Q*a^L&?jYUI zD!yLpZvSb+xgAGNkSXiwQQkb>(+(93t(A8X`^rPkHl}VpF86?BsOE|Hn3DU+2=OHA z7s6|f@W}{e!EZU01MwjNDq_A^F(Z1A%0iR!Wi>1u)-l7^M^eqy@QDB( z*6{rhr?SvuXCij1Eu#ZVg|LKf=^}HhFCt$?uNGH}pv6T|#2-fz8rV z*erdt_vuz4v5VOb>r(uDC@Rh*k52M%BAbM^*FEHCRM$jY${7sY5`-v)qBl|tbC5+K zzj8i_Cko@pLH1#mbf7x>dt50?a|Lqh6^_OR66nNRpSMd=M3t@1UYm zXvW9xE8eO~=*F{H=|f_rzt&b%?kKFoK3M6aVx|A~>_Ats(m)l0x0l=Yom9oZTVS#d z#Y}X$;57(ki^#Pih7L3u4s(R>YHOAt&-B3h3&d z{HUB#YkyATBGity@!P&9?&@AtkM78es_gii{q9d5a9awNxcmsK8DVLzhT8dkw(wS; z{B#Q6TVF$cWa2xz^5!n9i58N>rL`&`op3WAxWr+z`ycpgdU#uQs4b{AJ8qf*gZY+& zk{MrY@Kc33c_)A*n8n713ozY~cnW zOMo~B1X7}5qfxkL0P1i_#Kk!l6Incm&Z+}kub%$1+Bj7UkV}XqNI7TO7jvA}xpVzK zk)$S7-Xh5dpZj2nLIV@a-wp8(S}^hOhxYMTD@{L`Np9QxC0k)M*-etvWarmsNZlb> z$4JC#S$gufP2IYyq@ZEZFiC01zRj2AqtfP8sWr1Yf~AF4d&v4>{uH^MUWaR zsBL)K-OzL#ON4d_Vu2z#^qFVhI8%2t=;y7HzBcsW;%}w~Jh?zQOS`rw&P&VQEDVow zKS_G^Trp*7!=Ea*99e~+AFmV~Ns2#Rkn+)sr17w-*KaFy>96aTl5S%pdD6*VL#08q zXk1ci@=)OivgefXIGYaG`5^|TSYd$ar$Cr9`U_zN>qeVy+o+M6FAP7>V3h&i70TBO zg|KFe5R?W-T?J|Bjt4*687;xj2B{0gu zdJkC8lrv)#wCL~~IYA5ReYs&x`4gYOChIp1z}iLd65+()PM${G^O%s(UvNo`cxR7_ zFY*2!9@!KU8mMCazKCh^=u0cn@i7w7mjJr!2G~vFkG1q%{9y>=8WnAjYmXr+l-hox-2_ zznn)JFQLry%!548_%2Sz{&fC{Ug-@pW+%1Km@u$KV83{L^5U&;gLashWU6}ucE>a2Kyjm{ut+G{;1t%iusQM}(V1dl=cs*xcAIgYesj6qaG z4w*1)Bw7~b!dgvAo+7GMBp{5VbCD*1zy|W?>vu`z#j&voW$gV!r`%)W5~Z1rOb<4)4XbtJW6 zjoy`cN2FNb*S^ErBv{6Ju;d0;R~J2Ayc)OVd~;AeT(1dQ8Dc`Vu`FCw5=2i0SkQLE zN5bsYpbo*&Qd0DHi_bjfSZ{nRsn7@!6%ZKBb~6v7)$!PsVpO)v#EPMEZ}(@VU_6-KAO5TP`+n z`P$&XE$sgKPs?Q_NISOgy*xO)&$JblBy?4mzhfIR9v)cq)@bBvPq!7`J?U1>l85O-NIuZW;8Wn%S_EEQi zf=2DcA12_TMorw5t@w>b51^X_`&3B1*75-HyEG4=8@-O3L6N8Ay+nBz+GtA`HB?A> zSjwb+?M$IpiFnbA}IWR0kZ!)H0}oS^vUl zV{w1`sQ%jh1vVhwGg?#R&ue37Qa?<#J;#1K^4!6sf>oWjAjLy>S8G3TYDiFVm(B`}A_}Rm$m40l$D^wCSFCdv zr4Jc8WC$HH_*-`16-nyfV`vXbZ=R`7I)aS<+!yB+sbx#ZwtbM}pWz%-gJt6IbbIr< zrn+p)#Ij_Hm8h;op+RHglULkaG@M*DS_T1hy^>6m*{!B#@{dBOL1?GjJ;?TSyTV!I z1xVW#1(Y2+Q23T6kLLI_Zp!Y~I5YdXVE+z-*#4TN_P#r#{rnCeFP`mZOB}ceSqsu8 zMDbt4Zl2n9Fn}y8L_2E)5Qp?>(o`aNA`Lq}d&Z0Plb)Z}Ix0)Clc2jp24hifv4gKj z^z=5YK=+Do<==6itAf)qQ*c6Rr^Ja#J9Uk(+ma@_2mdhM)<=!4#=r0m&M}7kkTa|_ z#diqQ%EErd^tqEEM7THs;7Z^z4=hO@e_Je#X1d{#enF({LFq|~97XDd2Skkde%nHZIg8z|{MDP^`$=5}KhaSEU^q88X!DcPI(DEPI&5Rtx0B-O?c=Hi z&<8{rm{kW00t)jT8w#e@c1-BZE$l&TzT6kP??OIP7Fbma=Hc`4^aGHDwMgOzfK(Qj z9EEJgcm+~p##}|XM(~_u00~o zT*qg2dzU>t(kbC`OH!>r1uSnj)lnpcFh7i$HfvTY^1f9U+X zk@8mePWBP|Rcn}XZwMXp_|qzVQSTOdLkO}v?7(SRzK*KrimQ@ALdvu%o;q;z4OvXcBv-2!G5kl2W2q*eM-Bz z+r-8?T2lFgvo-qnqy73_VyBKt^u`(C{es7!C-yNBtRM-Zx1%PPOqR6?`l%Oc`TR=E z-YBWn01H3RYJ&J88n_;p671;Rs<&|c2bw}xSO%G#$2}|lPuZ^0#(k#*>btm{{c`y9 zJ0S@ya40)ePI`R~+I9d9}3e!~ISZ`gtm2$OH3@%b6lE4jle6V%0l~WX1?flCc>n?mTB_CYG&>2K3eZ6~Ey7yi7 z%@%%6Qz~ww%DXepX-hT6a86Ay1wCSDx_d};BS;6}f*}M2gRvHH2^g$ZkWL^!fXUc0 z1mxZtO;cMpll@4&pr9GwEMNca_z*dfbo=q(m^S_94_h841^4}}|EK|^|LRZ1O7b&* ztgrNlWKr6@qRHNcaWlkd=T&^KAZ`o0x1;K(<4+NWF$L*GOo<;bvoGg~%cJVmP#&X( zQeG*G)1w9EMO!kcCY-0DjB(w zAE9@|Rr!wXJI${OR(LSZ%1gK*F&MMIAz!JxXyU$mQiq~U_ zG>r5JIeGA>-R$vfvhwlpoGnH3&X1Lp?@qUFN2Q+aI`u?%<#IA&Si2syds|XAd6XoL zJqz#gG;59O3yuU3u{7FE-mH6-N<8*B!y;m7w41bEc$FW^6QyR#HK1%m;bC$bX~b@M z5kOfiQk*f!X_i>Q7@b{$HVBjhYVCPZ1f-mp3T{nC9{K$F%j~y4_xAumSGRkshBkQ{ zsSA=#P&IWYGh*5y#PMuL_|Nmnuk=s)2fF-*i|orkUoWA}-C~4ozr5?zTaK2-vX$_9T)bxw+)%x@xUM6Ys}{ z7h5yCwp!X@-;VLH87%9h+q4pf=7--T`ExVYpl5^wh*W`qB*Rt%n#M}1tZP&+IN^Sb zQ@Y)C;N0fBwgS#XD&AmklS0eim|v`F^Wz6n&>ZR8B7TS6rTvPY>jpYf$`e87*Y$;` zPapr7-;RsY9r88C0iH+IKadwQVjS7pE@Cl+ThDh6TbB^%XG>nux>aDT)v~8Un}Rm& zJH1`B8!LZSj*zxtRWisza7WsJrYjP=woAG#t-|llAW!qMa6nMT@>5jtDmy_>lVFTF z)KV2)qy#sV9~Zxt66Bb)u_IN26)2!6aw^8jF3EJ@MkesLM)PS*=thsRcNr@GjQ zF54F0ymWVWmqX)zdiz_<4sM0q2aM-*H{5ka{@+Tx6IK-VFC@9{;(;T zB1WO(H1(*5n1-GSHzhvd_!@Et98wmBf>vBd4$(s9j;HFlNumG8kt+D_E%rJnshhGl zGfBOk?5#{vw*hI3S!A-;d!m|a0NDMjt z@@sW9{zfk@;CQpqC>!)q?m@im0SI5I$T zSc?N8LTFlQ7M)BIYBf(!YnqcpNMfyK>6Mz|o8w)LtH(xVHcZ#PHn3PNrz-B)5|I0g zf}C@qUcafOqvfnxyHjV}kP_7F1I3R=uuk9+rDS-_6_0IkhAVl|<)(CyogHMH#5Ig-6+Ct1a~0;#nK;@`U|)Y1}4uM5$I~OhkZEwMtfN ze{xjGa*ehJC{?QBRk;mcYc%r@R4P}`YUNMYC z|EWAIZ@*2_*yqO=%EJoz$sa{G(?66_#C}uomp1FDeXnT}j7!T;dONy8DpJls8$O|i z7`mRD(pDx{OdK{lG!mD3BC5z=AT$_cqDYD2x73F61|I9+U&*5Wi)Ty^>T%G7v=hlqHC5Iqj#BD=P=InK@F;n{sp~+AaI>uQdwW#)R!nUKhG1X?buo348y- zS28=NOqvlB>`rli_C%5|@<1fd~|AwmWnt{8$UIAK_p&@$B-DUPHw+Zaf~hdq)P=gCmp zk99%kmuN>0B4u25+SA~gaD*X(hYpRGkLME*Gj& zX8qX?H(B%n@%L|;N7`f`e%!E5(c+N6t{w8FPAsf?JxP9$K?1n0f2Sgaa*07Je()QPwaT#MLI>I`h4Qobs#s7GV&#$ZB>3k3$7*GoDPr<8_0uMnQ&(4NGUa9=m_0m-%TId^yG-aVqxsAe$^pJZ zsfK8&Ib2nkcXn|kp*T?s>=4Hd>^#^Fl)~W{Lft{Rr5Zk*rv06?Y|ibHQKnY*j01!> zhM%hH`6*;MeDCs8%u9s$4Y#3flbs*tyc`$*hqn!z_ z>UuNbYj%gd5Tdee)-MxYr-u_(;XDUzXhTwB`y>o=KP*ZdLVobib6*S2mEZc|hwbCG zm*1wD?$4xHJpJK^ADE4fqm%HD{kCiOPQdhN#qZdtSa?$*$k|R)6^(BM_fO}_GZ}rR z*ss0^Vne*U1Dn7Q7UT&JV=_pI&?r2z)v!R3#t!4!ic5KoSrsBNo;oE3E+&s2%1-IZ zYug>!?079j@}Iz_@Di3s#iXDk88v8N*d$VbjxXcbYjR!dTbIEFRo#`)Ng}+*5PEUE z!|H=Qv>V;(9{l=s=&7a^KgkzRdzWfiWQrr1q@6C{)DSV^D!YFVkpw|o2)Nrq6b zrV~(U08y0$dYz=?B*e~=4IjV(!@Z3V9ANRL9<5G96F>}#j^Z920B%WyNfD2#B&FM& zC=43GK1qJud0^<%Q@8&)De6$-w&)#+8``2zjdk$i*6lm7$9+j|0{bu;b;RZ6GEHW` zBv5JbFB|CgS=&HPM8YZ9EPhLpt?Uo7Z5EUw`mmxI7w%##Zeto`+9@?wlW8b+hs?!e znt0T4WFk(iCpWw`W{RIwRXwU8-jI(6F5hLtj4PKtiE{85qjz%ryyXg5(AA?Tc~JB5 zz}L~=@EJ$}r~=$X3<7I~6NpO(4m{jP7w5?;K`0~5RA-7Kla>dW55`4MLg9(ahEzcs zbrM_~B|RO|&R#1o-9||dc3|=Pq!sopN$cv+)R!JR-%nl>7`!K`qy#2WL?G*72kd=5 zDNM}&d45V$b~S((xJkC{Qe$a5L9BDvQnFokCd=E|ZSs+`F}Z3@kgTjnFvwSNt{Pxj zS7Jruz@HZ(SXedbWePZZ??-HyiJuWK4e?1n;mB-IqJ%{P03#$=3D~lXcr-ZiC|8D( z;8ia^MS@%8;+Yay&^8iO{pd+!ZT0e@`Iz$Tz~=Dnot{>(L-p4;zsd`~;yB<|1L8?irgU$5ma#aij#1#hy_j6Kh9g1B5l~ zTYeaN$D8nT0FAechyyWgD%sXr@qSi3x0MBsx1SX=^5NvsAc3fEWEfXcE78~wv zI&X~*Lm$^xs>eP^Vh565uX)CPspe}lsNb(7E;N)~{5$=Qoz(g3)jm(v4+`ke=;s3m z4v-M3kwil2F~a`%^aJ)dkjQx53hhr?H)?_Ab+YAW2KHY(%CS1|GX!j z+bz?53)?O^z~)zPLFFY)>ofslPpv<=*Nc<(pyCHP1T`t~$Q=(?W3;Xsu$OfjD`7S0 z>#E0%(CSLW8~n3N{d_JUKSD6O;(Z|#e!8F^U}OBF*=Hr55x3g%piXmvAmNb&94a2H z2j)!#1#EQw8|+a+aEQ`sWO%`_rpbSvS$`}*4rT17pTF$CVaDbJn-m+@B*x*teR<;! zF~Rf|8bpSDORS1~adWlJ?EcWoIj(8`ZxQ7vA&6PhvWLES>vYHjmubj-bgXfteL$ zP^LiYCi-5gm0YPferl%pf>VVEGG}QJ%Oo5Ie!8M_A#rf~5LvMT!wcEtv_q7}xZjMU z_1(XPezb1Yonj?`hs|a4tzmG0W!X$k|@z{6dtF=pYRz$?yiT1qvTY^zQEbE{16Gg+n^33+xS30p7AEB;zplbskYTjxquq++nM zr_`>;eY)2xegmR;lf^~eM5JdCzOE&yP>42KiHBM&VdmZ9ctFdjir=hll~WcMO|~qc zYsF`Fcs_H=_Zb~#AwDw?pQ(ux;G#~;Gl(|vzq8i!8E^*be@BM~iqDkdGk(gh|A)Ny zj*p^R^H6LPD-9mu|vkVzp2q(TIm>2_U& z)E66gJPugA8@4tMQXU;L6uLt_q1-+P$|Dd1b;r9Q?< zr}*yhnsZ|#;#vN$L+^}6R>a-MisKurE_K50XEmPezSN7e&Eouv;u|saGnFs>Wz+Ah zj`&kqy)w4nPR+?mmyN^Z9kJq9;AU3A{;urD#Ca6>;&)lKd9bYs0`q3SP)(%_{{Xy5QC z*pBqsz{>$FaYqJD3>>y*r#o1XGPX}TZy20sG1AEn!Pm&IHIXrd=zl%iPb8ir_%)}r zQG%bsrjvXCh!)TeC`u~@pHs8gI%2ojdnMYcyFV@dkN9Qndt)L~Sf_99`K00GKkr%d z?&yfPUE=y=yDq3jdL!_itbET$UEpWMb3G2V?oxd&Jv1U+39?pi7xk zeQ44Bt2w{#+Qz5FKdad3{-gNQv*L##JN(z2dJS$F$@rsF;#({q#I>iei&W83Y45Cs ztlzQ#tO@C3uo6q#ne*=n9W?reRUm!{5)^oGS@)_s;{`qzzbBk&( zNe$JtOq{7<&*wirfn{~5-K4|yN_mMB(bmyZZKrO+ zY!OB!1T336uS#1>m!FW1=yVWe`z;JM83Uq&1{kb7S57Ic%2K!PRy18xUh`bOXVJ)) zideHnVoV`VxNGs?Q}xBm3)xmy>&=c!kdDp|;Nzt(vvI2NEn@o@9VMz$eZeu#kq$n5 zzTDCDVWzVKHN!o>Q;vBB%0P?}^no_zGRGYLsS-t~2L2)wfANv;FYfdH1^FUI(8nTt zNKTL7ghKUt8loIcyb*D7FfjXRv=j^<8*oY_3?oQ>k(>p`pP_z;U1yn}ic)d$BCr4J z(5pzwiuW|*-?FK2K&?aaJmg+$$3fmiqnKO__|Nkc4Rk!Fe1e^J3*X3Rs!hQweE2O= z1F+Nq$)D*0+`<8^SGq4Ln(HFX1pjLGc6t1($2vd8H?o~#INOQSR8=#XIaw;6m}M|; zbX_kxlCIa+%XMYgq5JghI_xvKi%D02G%Djr^xd_2KtkNRAHT4#&s~+%7>yg=TJ24A zd(U-rfz;F;UHC|R<&I|Hp&ubTJPw>~=}o#mNC^;dZmszQWHd>Xv~Lc*%66qmai(L6v7l+4@cSYl7;sw95-W?yz~*EeqoH zkL$d(p0B6&yj_)E-?RMpzvQfm_`Lz|drK<&zPbw5Jd<;;<#fX`o?@uB$~mb7Sab6& z4-HycFxGT@e*J*yKq0V6L=v|_w%JMF2DTQNbKVJfr&SEtt_0OT{+tyUj z0@g~>-I|5nxtc#1f)@{;svEo44_)WHTQ5zSv=>n))dA3PI>$qW6 z!4vIRl6mBLlq-xpU@uE2`T!#cNqXcJwUGrsh?X%!{GLw<4u|kJpLA^ZKs6?ZEa<4#cEUpI!bD;XnjDj z9LGi@(iU}<`^X}atPim0A}4HJ$bDp8NWxll@tv~l|EK6#RXY5Me$tTeg4;0(yUUD| z#rxu9rGTR#Y(lt_<*ox*p;D~n@9T#cSzKAdErT~AMz$<}XO^!xibW>eC-LawDETZLOtKDvEY3X5NiHZ-D*>d9?S^DQ zI-)wov#4jM6^BG1vb0$JTW?c7U^Kd9DM+oV-@4&|kjNiW86pVF7fib2@E@Et zPgeNTJ8H3CzIVje>=x65T5J1Z(bU2TZ{lbLZ0;_OUg*9w1n8Ngp=V44&eI&AJ}q=C zaV&SNa;!yb>#A0!?b8kG(2ZOW3%ei?a_2mJ%w2+yMa_}K*Db1Q@VTnt=c-1XtLk{p z2yWGptbt(Et&!`Hd|1+b4=16iG8(;W$-0Q%MF*$)BOFFt@2T?dkfiDVDR~xiZI=i< z!FyQ;sF6`-PltnzZNF_5Rdw6Bs`2Nl#sKN_+`)3c^PuY1b5)h+swSVSYI%-;$lCzo zJL+Ip+YLj`RaKm;8hsA?p{h$%RZpqY_OU%2I{6&i<=m*MrRS>djH+68u4-OX)yi{K z3!|#;IajqPs%rJQswGiXYiM6NX#>G9DZzGeQ9qBkSSoHo4l_VOrOiyKrm$U@8<;WF zNZl4)3x4Bb05~wXrLur?Nnul_1F^6qk3v51YRP{t+xHBGB_&0iVINYW0L58z zY~L$kK`Sao%~tiGr7z9mVIy`|jH*+blMe*f5#njRQM2+vA(48MCT;qMC~uE#7IbT` z!DILUwSPg2;A>-=OwE2FR;`IWnLWA5wZjcrVchd++J!h))Npd@^>0%qOm#)}WbNWu zRGep09E*(eOpap_ac{=n@B?;BzXeettusbezcsaBYV4GHQx8lnn4&u-7fg5j#r_LWPp5-}A>Cz^*MQV6?UZ(*H>sHpA^8pnYnlGO!3v;>LYu#{vCCt>rDCIwIY4E#LD(r7cHOkLCncSr|8c#(lvDQ)pI1aaU?Y=pHcY21i74^|bn5jF=b zqd0d~9AM_+vgn_hpq!{~UENNNOwH~x^sxu;+s@zM&FVI7GHgiEnKNg)sw!7iXP@c@ z)eV%hzcg!>khi?cqK&H-7B?zyRMDdK&~8JX@N`o{w!-RTH5Z`d-lOEe9v$q%8t`d& ziCzJ1DXa(M{rNoxk0&GDP$FfJ82;!W|1V8j$%u_7mp0`!mgZn$rnX9o4HCzp)$o>{ zEy=9j+z34_Bd;{%KTc!Gs?CbJ{w!;;?P^7v^gPzQh|k;3`Q20RnzWkmpyyz;d5R19 zUL~d?BK=y{Fnys}RU=m@5}yw$wlQ%WzKkrFUYb+N9=k9EjS}W2^62b?GYP*kqULA5 z6?6zk46~CFZFZ83j;hkVx})?>TQ9QcQ3X#)wCxRWSS0u_sl-B_bDA#}Q9*e~F5u>I zwo6&v6%U5Eq7ScGxgiW+n9^pb%dIHsS%ckS>f`J7Z`!Y_Rjc=JdV>93Zzxwb9;%lI zJXNHUa7W*oACy1T?XXBP977D%>}^Fm&pT2X$Fe|jEkB;!(ls=fOc;SlA8(U_h*8;e zQDnn`0}=Nj`346bpejK;)(}wnv^kye-|jqAGHT3Yhr)u_e6!%x2d>~;F+=Q+t;L#^ zH;qRLY4d?0L5;3xBd2zFXYZUdGngu>Kkh5ufM1QVY5DV;4joliZ- zOe5XY+u(t7nRn|1N%>~=k*&ru@3Fd2>FH9$=((Nwn?^M z;1f&Msgyy_!g`gIlzL^ksQ_T6kn}FVH`AoyQc}JOIdOlGQ;2h}S1$!=(`Mf3)R^Oq zqZh<1y;*UKetJ;LhE4mIMGPxy8>HtK6qhN3_l&7{Y};|B7#k|qlnl9V%Q4Omcox<# zE^AoSq8$$z)VO}#QdWlj4SQX!tFFfWZe}o@GRkb*+?u%`>D7%!`s+%aw;entXlu~m=`BdGD9h3?DDYNS>1qkB3J4hCXSZ|Y# zDN?sk6vF+f8-^Yy1-6b&NNx&&asFon`o<%vhXD(a^b<3MY38JCg@RIYMQa>(9~ z+uyc&(}7TZ&A0PE`YP6$!44o{;rV`@Lp4R8*s>xtsD-*${H;z~Jc#r6ADevw_%BR9 z-wb}q+dQLrtMbg0is5Zqv;+k?PRAusFcs(v?lh{zHYq5H_OCesde2Tlomq3T_4Nkq z0&Ovxnr)_rE1o*38mY-5F{P$OEeaCmXv zP}d?$J`(==a5Ent(Hp0Cy`*Vi%}ttFbTU{7RqY@bG0+Z&8AU0aMo>7(9RzW$=88%d zsSfCKrAe^tTV@r^$`?oTML`rF#8^MieTSOFBPrycZ@<07j|Fkioy8?Xg8WqTqw<%! z1M+aXktOqJOp42mV~xtP>d?T5U>_uaBT>{=O=$!(NoTA{o((4=Hc#?$I1@Ad`^-qQ z;&^VHS19Vax<+iutd^BafUI_;#F$EY9=mHgns({U8dauqj0{-k^w- zcWnRqP1&Hf{K)rEk9JSHbzh(1;}NiBj@=l07j-2#P3!;8X{@mW$wMZ!kU+I90$1p# zG(?vMp~_c^XI6+$3iyCbC8Al)VbBONqvm_%H+82Y3f{m@MyweTgipqb2ue@FjkF>& z-)_881l<2#uUth7MH4*Csd}@crP^G|j-UDHxdCM*wrwVI(2Ap^>_(&)+x*cKE zk;dHB0pqnInD$7Fp#ob6=MGb_Z|+c?g0W!E6#6M`Y=X7y<*^0T&1!Y!y*-~6DsRIg zy65}$ z;z)PF`tujro7L4~4nUmFGt6`m-myW>wC_#caZ}zRhvE~#<_is{d@mw86n{2?Q5q)a z3;bL7^C-}j!|Q#?R)~(!1Xj-e0RuSo6&tVAWuutqfaesOAU5(LyaAmo#~sMf3&ohi zfHb3p6H~qk^<`R~HT?j>Se|S-PU*NLhUidafLxOSawEj)T@YkV)A;Z|1OUJI9zB@K z#KGimgi#+YGpj+wpZK=xGkAZ`lj>^EScGLUK47`1-+&|g)s_!7gI_p~td zYNJ=?Fb@x6i`i(;<6`wm)|Pchh*P>;pP@=kHy@drD?x!6#O^}8NPDE0%Oh#MC}1;M z8{md2Wn_?2;FVHI5hFr!h`Mq?lKAw}iucEaFJN8fYih{MooNd(xA?cdSJ{-87V#fE zuADSPV~_A3FjwF!s;e;)9r!4If?7kcjsQ7$1EVR}>mVv+rK=U{=_1S(IOiHNxVFYgVDw zCfoMYbe?T)M%ck#W~L8o@Qd*lz3 zxA%vpa+D41%6U`p!J5mUVjEB~0$%pfUc_DE^buYeE?4hgM5PtC6fl$yOM#BSlnpQ2 z2xVrO(hYUd@bXdayA+77xD3UVlX-dUpXF`Eku&VlYnOubWw$>rwtxCayD?$GO-r6* zcZmh+YNj37x_oZ~Q5waUF(Aq`ZH^2wj_k)Q^-gscB4=6P2K)gu!btnpiW z9w{a__AE%Z^Kt4~pu-s=)k1WdjN}|$U8M`e85fJ)3b3wT+s=QUoU-xa_$XeB4gd2! z##IG=>@QUwv+}m}uHZgB#;uDVxMAB_&iHz!?~G+JtcOz(Uwz%AJ`z{+zgJRxpzboO*(EHHVLwk^u~0uzur z171<*L$`>ACfmt~lbS44a9>V(z|ptl^iAYufJp~?6r`3F|76i2Wt4he;1HO^X5yjG z#z(5IeJo-mI z+Wto*ft^2*?4-T^0_YozOl!$8VTzsq{}a)Ul3I@7W|bh0kT3`O}{6U|rq$)8>1%tMZJE2*5!P;F*$PS+BQvrW~al7+E?r7HLIG zHQGU^&d|*-A@U2B*+t9^ePxh1r2{)~cqJNZKKF(=l(kIEJinx8vN(JO<4WdVU!QS` zcdq_bDfUd=g|SKMD4p<~2A`{Z)lHASotavklnrH93aj5d1B6yZc<=}>t>418VUBKw z!zL;JJIO67%Xdo|Y6?fvOhP zUVK|a=(6vyBqzujbLy(9zVjk$FiN>Mhh|@m;~a@MD$p+Fd;(V2+FVjY&0y_m3Y~Gc zxkFFjyHI$!<=;sq!P*r8I*;`b|56dTOlY%t@Mr@*gn;0d&_{jxxDOw8lgoU&q$W}H z5AjSlv7{Sq;V!+|{NCtX{|rzhSEDucJCKR_H9x7-p)aR7ZZlGC_$C3$jiO4M zuWpL^)#n*Q$0093aoCWo2XCpRLToP zNH#L~O?p<>l!u~OMn$$56o`3}w87!gTp<%fEx&*Ql z0;rir2~I|i`FFqr%J<)jU2WB^6?v1h+T zP3Oz3bShVN&0yG9pTL&=1N$lg`3nwPT|$6O;A7~HFlhz^G3f+Fm7H>J9z;(kOZ zrI=kXAs>}qiR$x!!;K7U8%%{Mz49=mQvBmTR96=$Y9r6S0^V{RGyOcXv-Gzi%d0K9N8i!(SBC*to_VtzQBGSh&P1+MapT@ zdIEGyOG?_!r7BJ4;Ml8mbUMdoMy^5`xh}pR7G5$~QVN@LAwk(!;Q4hOA1L-CbMG;B znr%WpuJ{k_^K66#Uscz@Mo)m2KFx?WwRA*{Q2K>WtKLIqf?1r_(lQN4jI0<3YJnak zc`j0OLnLDbuR*{f*)K_~DiGUGB=?c#oeJ&)L4y1PYI_KK)7Ze=M(pSupngOZ84tH@BS4&n|Th6 zni0+3PCHzcDH=vEASu!ZbNw6?cRPj|@wObX0Od8n@hKCmtXa#=NQzUON@YM*amXP! zMe2+KipA zQq>5T?YAKp!DJ(BI}WL90r|(0P30iu5f7v|9h0P)W7XIO@ob^;Nr5<=Q(1ZTmw2?R zOYAiw#Qk!+2}8vZa{WMop!L;xLaC_=Co%yK$E8GF-OUO+ZA` zCnq9RDZml7v@5>x@~88VRtbEt__pz=w^iaHM3%&_$M=U^@mcYFnjJ!pq^QlgY^2Hu zU?Y-G$ns3YyK|(W3{8f@wYxri zZkZ9zHr@5|tqNbqw8!Jo->AD&{rXMzq?3=H0kE&iTNS1E0Fuqm!Pof@RxiPk;h1kY z&3G=NaY<4xB1wWCzx4L~z)$Svu#= zEJ7S{(Mfazpx5$bIIrp}uC4QYzV*un#p}M<($-yS)K46!Om210XAqL(8tv$Jdw58P zPHfkl=O%My<#*yo@%v(?1=nGb_pu{lCu0|C3!sq>>e#fS=Jmulzs1~L$f-CC4Y5MVg#XI`m0cv&T&#`wTX{v~7rt#w0N@N<)sYz#z&Np~3o$okcZ|k-W zhXK?HAczll<6q|+0uV>stNI?ip(iEAZyso3zLbg-c$_C!e0j;;P#kI;)_rvAi2;ZC z>U+S5YdK~RSLi4czZFlZqziNoAAP&<}Pu z7l)gRMKGtgu=QJ57x5J9r>-U^GwrZ%YpT_T7)Lm&>P8wdvPT097GL}+fVWuQ5L$E_ zTf_t;WCIe{Py}T=T4Y+=m=Bl+z$;9lOf~1MB(G6kmabHL&bm)s{4_CUXN}`Qk#I(t z-Z6Xe_5;MO zC0y-eCWFO!4il*gA^?HFl?M119c|eW3M;MU;Lz*N`V;QR>ZB~%vgKBBq^W0SGja4* z_8uEM^{2#`Qk>aOj<6lob36xGS8ec=R~k~P4> z4p8-Fg0&@cjIfqut)1q#NIP zP*u0z_jF~>vVNzBlqvkhU2IH;R#T~C0#^B3Xxyex7k|CD{Vl|%@dq4)0QEoM z{np7g;PVCrVUpOb0wYAm1Th@iEI1f)kFXzSc9w3sZWDh(Y-IUq0FPl$z|y7NaN6?} z(FM|5eFNi)L?l7Abr%ird0H_9xveb&fL7cVO^1`g4kCcD$bAdd$}5W1H{K9Owtm&I zt?+!%*IoEb!&(ERRk%{@6d!strs=sXWHUQLdvrc3JinA2q@AJKI)VmxL;?~ttdnOr zBq{6(2^b1|z)q*0CxQ4`4zFbKsQmr1^7T8Xxmq{xnFH9FK71Fl;2(Z^6+$>6T7!B@ zYx2xoMzKaB#u4i1U(_L$c_S z;nh88`)WU5`%{u69@20Nqfe70rc9Kp;;hCvA{~Q_Q171ozslx--SXd;h`fS?ipOjV zMT2st$i@0+DUEE>|{cXN&*|p3DKAbxZgZQdH(J*BVt^SitB4d!WOZxfS+zTw)X@+ zq{sHgN|7?!n7Q!81XRV5J+ssEJ|En!d1s*bevHaK=p4>w7=JED87^>Dzf$W`Et%9s zn#lE!Mb8(%E~0qn6|nR^jv4Hfxi`q2hwd3*F5hU7QR5%X0xEkvunii+49!#26xZXT zdJVJ=)}iHri@$ol?KO@M?Xsg0+qLlIc+xva_xxBKzyw-$;+O#K)EdaRHjr^CKuS^m zo6p#)y|8<33_XTYn&!c&lwc@2dGGYLD8W0lL|;!|TyU1c{<2#u@E+S%%LtbbFjA7p zCxU&1tOcO>xH6>uWhQwMh(2Upb{^{xvbX>2Jn?-2Q$p7ay**4k6TS7H`(L;m6V_?> zPY<3IH7eV%>PNPUq@ZFH0+=<_G5}c*x^WwR4A& zYSzO8uga>D4A5i(&Vj`>C1dw74>Pr79z1Xf0VVUuceBCwNQv*4?Z|2(3@j;s+)}K| zoLkq8@$fH~d^DFm*iFW=df(BTwfunGmb{kOU5JqQ3NuzaVO?CbGV9zTCUEpc0sHA6 zm6O{tR{RV<)?67A_l9h>!%q+mAU4#g@MVRA3Zs!mA))u6Jz8fjfM;4~PEOl$EFfMY z9a_jwu*03PP??_q=@wvYWHCxCE=D#Klrtn8=0))ME^O4Q5N+{K>)88e#F2J$uCu5$ z1-Eq?8Q+x0joUSO_b_&S2D@9#ijm)rQx%Rg#k^RzWM%}6*ir_- z*kyJW7`wxUvVz)QnNRs|AuP2=z-vKIQHuHD6FtO{9?xeyKSb$W;JH?KlD#ZivX@Wr zQ1}GVcof>OI4rf{M8^RiVmtwGTUM&2DoN$mx{%eO)`dk+`8SqoFE4y7!5xwy519=F zT_F(kCGPcvHD%8`bLeseZF!30P-ka&oQu4u~A?+;+o*f8Q4BiK!5TG_o2b@KSfL-RBdw4L}V)M{a z9>zfU`fxG^!rS5t0tX1Z+FWynBS^Zk0_P5vVw-ZPIy8~P{0n?DCkCax?gsWk<3y?WSOXyfnHUc&zZphlWR=p2<*>aabssOtzsi<~Wv_|5D(mJyUZ(*tEoexdf;n)-eh^_(7af{^sGt!Nv({8$@dXc)LSO zg4W~vfQ<(~zfGY+KQm$(SQ4psCn9^d}TvFVU`i;pT zOC}AT&l>dzVw{E4tGcK@o(7{FRkWt2AVrk5pDd+C4&GwcRY@|C8CGO(N<{{)d) zk~A8~M6<0(j`>s67S{D+Qc!Yg9tkH(w6U6g$D=%uT2l~04G@|L8wEvK2!SG_cl95; z_CNlzIKMtxuf+yjPaD5FR*l}UXON4#S*^F1zc?r|EM?z4p0AZbd*Vab@Im9$h~PpL zv9D)g2U}lfjhy0V<%xBv>z@ig_ImsutUy&4eRtoeQxNJc*7lx!W?-F1oa*sCsBpJ( zNpq>0AG+P;)_BCr;8=@rHYxuz5}n{fyxO20CB!0Mz}d9yDM?Ffhg%RtArg4VP-J*1 zV7p5U@Ya?Hbx;6M#Ffb9ne zYis=jyatdVka4LIXD-?cdd6>>^ z&z*2RF-N7>`iO%EEXw8=2{=#zV!+yyMx+^-gCw<&O_2~3#Hyj~o7n?ofKYhE?C1KAcNm0u~<8!sD4k_)C5^n3X3a|#WbS^D1!AwmDVioH`2GaEeirR#C8`E-Xg*XC+ zIz^gD;sEPSCQ_W>IM2OnesKn?hv5y*aZEOtsfi)hp5{Hz0ejHb%O@jQsu%zYwkh^- zbP~EB%n>y1v9*jr*Wx(h5-3=+c~k1uIit8w^>=D=6 zmuq`=hE^-;(2lI{7h69Y<4X3RnE-##Xf)EsDRda_NPxb*Tdjibl?sa|%8Vnzfn`RADFvdPO~=B zSN5%15Bn<-*-TNk{y8_D56!~9P|Qsd&xm(OyUqloxxto01j7cJX@o^mOL9z5_Cb{a z9GgE3fGujhT=C}gWlsIBpEjJj!aA&NIV>c8TgCxuwN>Gq0yxbh zXPuupuR4`s<>6`0A}3*N(l4CTC>bE#o_uufP({d;5c-Rd&qA(-$iE0F3MmWe8A88s zPBRXK;Mop*R3UpI)b_V76GiDN<$d*F%S6A5hiba^F=R1z#Y=U`vwSQoW%QQNvm$Az!; zYZflDNI)X{2HFE4^dPF0qVhm@N`a0OQ<4r+4C2$hc+ zT)p3xXU%Kgg$+bp-R($stTxg!GD)6-hE~)zz&~f145$cF>K>sJz7S{LNCP9FgRa@E zaCXi}L-OpAir^{13xk0X3vM4``#sV!OFCSuCQ8+-_p7{z9B2{o0?zw!%8-?NtPSBEt^Ez?pBq!F9yWIr47!Cj!-1J zh5?xB1UrjZ^pP-z`gdHz`*2YASB@hd;Vp%%%CuVc7%`c$5RxK7wmYqekPB!5W+9|r zQUW0kJ0m_$Zk9Y8G6_|Zb+u1%YhA0I)i&uXeed0?cPYx&IsEj4i}&yk^?`*Q^ze}* z*acocFC{}QVH5A<%A8TN+T<^uxoBUp;_P}4k>Np+6=01^b9BTp=Yp8;UM)i*kh3vF#Fhn%) z0mKP^N(}!SAhR>l_-ww)GmDSrRp93i(CU7iL84V%_?2Qz)M4miU=R4TP`_l_i1kX# zmND|p?7RG;Lq!A*IQ>XiesX@jeDtufAvhR3UoLxiLO$&YXmP3jVUkqL@?T=Ogd!l7 zPHY9_;{k;Vet0wGn+lPA7y=DT&@Slik(~9tf5^%$in6IMsJH0O%|bZqrDvDv&iwS; z^16D<^ai>!H6^2%cbwX><+N@Sn{s9DnEBmWR!myRXNzuGX|;1Ra|+n#7P;vu*>!0D z6avL!qohfiV~kPD)KLM86Y7<2(rmYA;m3yX&jQ#G-tH7f!n9(-6pYFR-G zJ$#$iwr7FLSIu0wkMpP3)%)f9Aw&%)Z3hxanNGe2czh>+*vJXO8sewMnx&K&03{Y6KtgG@?NBoHt^p;`lr?Y*x{sUAciYaf@DVWEmRc~q<8aAZwl)FMBZ@JLh z*`ay6k?76du0`8XVaoQABi&Czc@58uY6|G!Z7XhjVw}=(PLG|#o3tnyUf5{cn9R+m zLV&<|{msG#4O^6#bVQEc$ri0yx90IJ+Cbf}g~gWUm})Td>_gC6J_LF8 ztrd{wn|0yi!xW|Pd#E{a0wX+B223D1?ameO0hsOG6Z{uLgy z_Q|mo5z$-+SnK{$pq6VqWbvaXM=uTwZ`=Djp6j`Q)=^)cn!dYDuCaJ#+T@aS)@n)q zq`En`Yb=V5?%QLGM3;b%)}gJ!JdyEYo^W}nt%*rNW?cj1GfP8j3B&1MS91=>@^_;1fm%C=3a^=v?dG;s^_6T^?xwWqGw2@tfGp zkc;2T>8O5!v9-eKISDyI)LIH^g*f^`ucZ7&b7%p(LGnn8XaQTp=Tn35pk1$-UxFm= zg}Dc;V#rfdB#9=nuTc27mMs*c`JEoT+Vcn>1yH}L59I=+27EPTAs8zVr^PA^A=<6ga@*ykG zLl(8fF4>8bjC8B|Cm<`x=d(f{tSyd9PN@J#ZNRo-$?^RRcwsAf? zl&!gCx;JIp$(k}`ILValZ(e760rs?eQvE|RVOy!W4E|FLYK8+dE!DB#NHD#%=wGhhFHDFn_=k`xra_9#eX> zjA*2sXWArywGsZ(QtYqLhP>Dr zgxWWk5#+7PLZe2h)?ur-p{c^|EMfQTZCX1t>D%~hXHeJMMwG04_!7z0AJrF>!_HCA zv?76S4SmmuL{%DDvCg9M;7F(Gyj0<~B{dPz$AiJLcrfFmTE7p1ZdDZtFBqyRkYYfM znw-u&c);9FH~MlFyLIKTc4pVZN3~a#l^YYqrZZz7(hkqMOHme2Q*P6y9XJAtdNS1G zHTOH`z=IVB6wVt)5N?ft+^0}W5&cB29LhJK)rHvxf^kLKE|J=S<{ubcEIg#}Lm!EZ zO^Ypxg)2e=^Or|Q#-zm*#gxVLjH!s360&crC)BZ@n{g={|zK5a>ozq zRc(NCE^NaPM}L_PfQXH?EH`S~hErzACW7V(IA@7KrB5(aIQ5_^V#dM94)kjHM zw%Nv5yo+p-81E&eIuScL0gIkUxxEILKl4)`fy59rMh!`WqgsxIMv~*!(99N&%Gq0g zVJ8GqNIbN+kS|5&j)v1W7)@b)f(c?1bWXI&hOpY0oHYYDO*JVxb+#?EW z8N{`=>G-Bah@y41Y_U>wK+;jQt9Vi9iPPQGB%^a_Grlk$*jZ$4@t;`dF=pv5+8@8- zIVFpCx#Nm@Tsh<%E%{F`Nx%O`*5iVf=!C{UwKnU|RiyfG4h`c+;{${Cs(cQJ^ zK1k25HQ#ETwbx)(_AmR?l9Ek(*&vj0*pA?$Dm zG?17W#DW|MFiL9?E=XxSs+Z&Ti%U;_B>qU%!bZN!l6L&UTw&r#ZRGfMFQvw)+W4W< zHYBs3w*4>#bKR?`;+N~}p6QBK{oc-wOO`3>U9)K>t!sYJx@)h)Yd^|J zxzTHH%|vSDG?UD5iLH@YWJG65hbnn_{G$gKw)e9pxcUscn*oR#Sy^TpkTo}Gr0_h% zIn7WQ!D_tTU3|1J^f__qZnu{BE-QQPCl(eZo{4z&!S~XGoV>;CKJ$9j`=Ac5^Yrja z)QNR@DgPZd{5ch&!tdE9IyAKROX@eQ*x8S1jXwRAajxeB=xQ0DMK`{_I6)2GCH6?+xA(Q1kis83k78eqOL-eHctn+gZ z{P;k0^vKV}M=V&GJG1JNuGXK_bIOtFaT=@r`=B8WPqBV4sLIlR9(hVUBEGs`nYi-= zn#VpRu8n+hn4+#@3B&`t)F|3w?F{IggL$ZCrV8SJSzb!Z%p+?aR`OyMWdPge0l#;q z{}OsFI57CJoDACF(p-SMYtF?44lapNYoGk;@`z5C#QFH3P+rU)Wf>1&y&nlDA?4z_ zK4;F>cQbfU$lSRzjVVh%e6l(Y^%(W84;~iD`m={MWkt=_!9&Z$!#wE86RK9@xEMEL z-z(^Rh8`-+u@K@n^o`%ArRl9h=*#5(kL# z;kK)Bph5zwEiE(=Z`GZ&RzQycw}rQ&Ni$n%LxDy4f!#vIBD?+GY9ql-su_46GWBJe z3V9!Mp7mw|IyU+5?_rBpu6<6jbOBCOi#g3G} zx9t3NsiKViYY5-D_`J?`!}fYxTvVgf`=qYW|0YPWQbbt`YS~@^37YU~Bli>;%lO6& z)ImfCoiid3Y?s3ZfIMj{rK~YZj$FDjV{O6OVsWI{^KJ~k2$UfhK`c0 z9Nma^Nzj>EiKHVS4NWHOl@M^XMPC^IU|T4f8+%e|Qs}ubu+zd5r(z?X6yI(C_|@4$~(2`(1k5kbd3JHy6EzL?W4`tRw(M7-;Lz_`KNjgXn|AG6g1w5SvY}PNHzkA zKY74uW7rD1fH&z~X?SX|*y=1#s(6&Y>lsprE^eo<$EiuLFfe7%6^J#S(G7YjE8;m3qM+O0R_Y?hw-oo<*Pcn@ulC;xw=?bu7P)h9 z)eyeB(DP#|d%jS#%i)pLy}IAMVcPxi!K|ovBvP~fZulq*x{t9a1X)D&2T=;&8pfa4 zHmrWv%Gy%;h?gW%LLyL?`x&uj_i~u$nUFpNt${7+OTs{O#O`I);=G0K2b27Vig;E4 z6aaOfha}<>{N0NcD7h4iN0S(@k`^1!=1kht;jRatKJE(NdTsT_PsYT=<-IJv-+R~5 zTP86!ZbF8pbZ9?hLAb`snkp-v0^Bl-{&?MA(9kxDYug_BOKf>kQCj_6z}`~JpKUT> z3g!XycEvCa7@Q4L;wLq#f^;4Sl%gRdA;+bgp@iAL;rV zob!C}QYY`8D6gd#bvv%R){y?(9KU}^y_Y!=L-h6Lv>1WZ?bA?&IT%$`PCmAp{-QhRd9}^>vY`{t2hDvPbcrI(RFS7eg-scC-PtE`hCb_fX?C#UE1ID4ZWVv{?dUds7npa z)c6CEm1P8plAdT?QW4!t#f9CnrMyL3xf)i7qMnq6Q(B4*M3qjm%*idoD%fm!>|(?E zjk?6N88R~aiP|k^=iDw{oL`HvbMxLG_xG$N&Y*Ah-!q-X*6%*GmBP+Gi)i>Ko`(F= z``@a{oy$BayQe+zG3Vvr8d(_saL_%*kpbN-%|z4yP#f8&G}-{JVfmLypxBQ+Y?T1d zDOLe;+C1r{5G*iIv{FjZZi^us{&pidoN%aRy&k*bBJaOWRJ;#HPN*OYDMCX3FV@BQ?9n2GU3IWcsa<0?i`2wus zix*lq-KnTOMAOb(*?j*PP%RDfa-sil3iM27t6L0c>1O4C1h7Rln$p?f{ffpHfH&Fq z0u*zMF$W<9ROrFVpy9`5pnQXJ@8j98od!j)#vv>Iv+(}+Mn@_!JH)2vFN(L89IL~F zl#r{uPa8h>xp9iR=AVrT+nM8DRsH_dUfn6)j_S~G4{`GxjQW^djZ{Q5&8`L1HCe@K zcq=g^&8^k2f>m-eTe(e!QzZ=zK63hE&vvDy2oPE54~{9g;XltHCXZ!6;y2cz)P--I zdO_@c=kB_9zytt2{3$L4&)cx&xeyfyZ@g{Upx%9QM+{pW%`^5geUYL~<~jd3?p&|% zFHe@W>_2cKSNgJJ-BrG870oMK^j2>}L^>IHmrIOHGw(93*`;sp z*r5wzc+z(957@{=;nXg$aSM=g@M5_eb5nbY7C`IXc`uzv%IfELdSZ6}?T{ zimv@?j~IjvnX!|p_bBSp+3cTO6wRvqo8zroluVe*)gJ8CPMoh>PUkbL<_B2i{bbe2 zT*G0;G2Pxp449SA_D?c#5t51yr6m<50Zr*d65^9U}Qa zj&{kcGwuv=DNC>39|x(?%BhO;U$11tMsv0O`=TQy&=wVk6>1t3f$fGsh-^P0ND=xkJg77# z#zi7UGGc{?KHfK<le$K$FpFT?|G)rDNP;74);_Q@gC`x`=MJd)eb_xhyzZp;&6i_ zt%8Rp1-!Ze_IymkVlY3QD=>Nwns%`3bM@LOW9zkcB@`5==9GG7vxq}#QRBYk5BeMAnE*Q> z+|kMiv(=Xe)bUw5kzD~coU*r$5oWd6fyxV|SC;^XrToBeWd!H_#*hga<9o8MWxw;M z+K7jQhlkaAE}6X|9&U|&Thjw-I^}LeLYrM-#K=w%v?^Ba#!W{d*TYhCP)#U>BdQ5) zb|7&bTNuiSHgAd!EIEYV)uzH5G1g3^jY~ZSDR_m?VwW~Y^iSiV1=Yur#rfG{HUC6) z0FF6<9j(qi+LV3ru@I+EBWY0V6W_20X=cbuQGSqgjRy`1Gkw*_SBtjGK+9Jpx1Cf# zkM1^&d!Cbc&kC* z?vp}8+5om=15-YDa^CS<5h4Cfe9L(6b}d^g$aFkV^SXLTeHk9#G+3mSMy_df=Sn{r zKCS$-0GK*UaW)cTq^_JKzhD9F>2pS=P9^b1mi&T9+QA(E5g~Q~3xkZ0JUx%#B+V2% zH*ynEAPL!y)_P{HotieM!MB>Ht6r|b0@!8y&_y?+v>EdT%W=Y zhp1v?e&-46la)UXf0h53_!atF_gU=C!(V5y5Y|EEJ!Ub_)ShMRt$JMB{ixchwJ5I3 zm8Z57ABFotYmQZO!6&oMP$b$U1*9#p5x^e;+`9oD8DFYLoar`=D>@VvmmY_F7+0L^ z;Ne0X(S>?`J4ypQ8MeYD$QR@`!Z%rkR3^lKCD<2I$H?JyfIFqg z%qdgH38;SySaKOavgCzN9YD0mmSc-bMG7t%(eew}pA&)}ehW16EM+tWhFScX`11>0 zhtw`EoSmbHzimwq!cSl3JeoNomEF;3B-h>B00CTmG5dx8#s7r89}W8+h%;ENa9EMl zeQAvmZE9*jrnRJ=6+R4P;Hrs8rWPHFRMS)l`7#wLN!!!|>IoI4J5z9Vkl9??W^M+; z-Bj0stP=2eTlG8zyzM~`n3>6NHc}gNu#JW)#W=9NbwE$J8^#dqV4hN(KKap%M<=nT zo@YtTi(~a#Z;R)i+jFLD%%KmX^y$-=l)b_4Ji%wP(@$+Y(DD`W(qYc;6zdsFVfD5@ zs-lm@|F7o`)O&aj+QFhsa?Caoy_t0hHW!+ux?0J;er=WX@uCDuH=~cF1ZfT@1)!xE zJX#7ANDw;~B90@R&~VOD$eLwIu(PGN$2^n8{I~Pzwqidi<}|T)lkCGlK8VOdYN8w$*>B$4@L;m=n?*&r+~kA0_m2K;urA?xWk(@SNH|3BTm;sBgE!!ke)J&$P(Sfx{w1VK?d(w zjLiXy>eCebKXAktsOFah#P9$$jB+5j{E=>mG8cCd5u76RAh=YXb+QyMy2G;{u53x!%6UpcYi zdloK!`+fuY4A)>UeXf`ATtqq@On0dltKnyMv{# zKiq$hdc}6nR>wCtd19pP?(g&_zW46|_D=)v6XR_6{H#a&?x}QCPIi5q-RKhXi$~@7nI3#a_9|-4W)zcfp^bBQo3({`0kGP zjUe#ut&X!dxjP}?ZW^ySl1j(d=6I3hiZ0g_FvMA*7)&|pqSyWtLtlSoK%;*xd!_o~Iddv(Vw2L40m9!L=NZ1=?b?r}P{LhbQp zZTX&Ozt`ndeDB^6@ROV8R1HG^KBFdR04>4yjzBFpf`1~-|&ZK+u zeD@Mv5+NBu7v%hAnKOY$Iq-Q~QBvZii|=_k_ItI9zIRt9F`5saR_9_>fw{^N;2E{F zE4T-7Ba#6%(`&9+Pn74HR?gxXxLfJqyW8oQ)x>wNRPICbj>@)jAL5Sei&c5%iqu1lYrGuQAag}XH?rvF^QBw-@y5Gnu^#3eq+~GX z5O@#H66y@?8IZJUZtooAy>f)~cBi8f5an0}JT3X61kZr9y@;+>tYQ&#GgYGbwkIVX~dbO zW9ZLE5j1j*$r48rI&@)q4dq2ZY(w&BG8X;KhYep&LXw;ppd!&n^#bUXlur@5*Q=1i* z*J;`g+Fs0)`BR6to!aQS_*tv^rx#CSf6~nU5+jta;rlLhG;!=O5}P(7KOizhioG+- zL9922Hp9PWR*2seN+%8Ge3O|KN;^HW$VhbM$cJLfBg*R6f{lzs`bBwgSVnS2y^Iza zsH#BbN|FB#4CG+3-^Yyfi$F4z<~EiJa7lJCT!v(L5M(G~BNVFBbK*-&^Wal-#w!Eu zBw7_T<>A%G(8fLa&&gq`I^eed!`yqoS5-8B<9ph@2@nXq1VR!>=)EIN3`ihU5$PR7 zK!`w8swf?mCWsR+c|Gfl(U(UK-Pk^3b3@Oqc=R68q3<>wkijVC!@F@ELdp)oiW#Hgwx~5L zwbRtW%7+Wy)3h!tKJsX_8dl7HM(?l^E2lRuR*CFK*eE5rriA^-EM|sQk|6AHW;O}F8ZY;9+#L0 z#9xVJAvUC7{sN1wsb$R_Xkl@Sg(3wb5y2TyQ;c;FW&}a^9E9!(5~JhuTI1-b zFtW*G>l}7a*={J?JiIH56Z>u_@FZJ+k(i|=F`+f+g|f39cnl8a53H;4U2B& z@xDXT6N(3$$EQ!LMoo2anXSIXEyk1mg?6}1+Stl!9`ysyV$TDgLN)X~ zBMz@KU8oX@m#H*?Z2WYgngqWpFXb4bg_L3v2P9Z<3cU zBJ$&lX5~@QMbU*-v`kTWwc=XIF02Ax^@7iRJCx%Kh0>r!w7t{!=U|Jw zmr_r|MBt{SK3Tc&5iQZh9a`GfsBcR}xgG6Xd&AK{El8=E^ySX>f!WiBsqI@&9&n`o z`w`T+rDt9GLB#^)>)6V=LxT_{{|;=wsZ?>P6YhUI;oaVvK0vvxw(nbj`nfF0zs03S z%Gf;dw^utjlAqNoKO}8+Tz-zs&MRQctXuj={M`!GS;^!*Tx*?5l#Mu4Xa?xww-Ra#i&qPt#tDibW;cSH^3NeakRDa z4Pney#<8#R!p`l_ZC=?jUTjW~?Mc|Vwr_x}>>|cp;E^`@V)ISx4F^0vFoY+P^`OKP zWA^pxL8m?LW4Eg>jPD$bF=k=((pdTTij_~eJ8}L=+zZU*GXD_2+u{t-nA^DLU|e8! zhjlJ#v|!BXp3Z6?BMvaYLu1k&lhr?@nm}3*dmW~0`PGD)L~hj2N^D*H%Balqn zOC1QYa?Yx6FbXj}p1I;r;ITA{8kbzz6X6Rl2Ggh&f=7M(E>j8oOywV5{yL@9w(cv##>ws)3vFY?ss$LmfJORF z$!A-Qu`EUzWS^~1*^oXF@)@?_v@UMNEd$u=wkL_Pa7mU}V#EPil7Ypx>7}=Xd=e5% zOf@daz+%-Z7A;hgC6)zPPngRMu%z?3uuno_SumLS4lL>YyVSoSvHYk^k^LL8j9MOB znI`gJ5+3qkK9?R$U~;@SOwlyf3KG{6r5z}et-$AS7? z;G4vjY({I;$YEI9I7^|zFrj57;#98GcwuASZoKdaZL;5eeGKus99@+evjy!TAmkn> zn65EG3lq@4*ELcFqju36kwYT0XE$0e%=_zCVHFL>1`ql^u~)W*O6vtK-FPSZT&aad z+>3^*9=wseYH{20u2s=J?&b__{fh?WOEqkPjZIwIdZer*T4KF0{yr2VrV8*lbD1*7 z`Aqcl?&7w?#Bqzz8y+`cJ4{01Jqe`;%-8gKgF-Ez$xA~0;t}i=uo~)~9)~lP->J-S+LepERsn2(!oXkNH zF2h>!4VIU=%2aP@bF`Ul@$^O6yu{k9orD%=ArY4DbL=C#&HQrjLAw5}S9%Z9dlaE5 zGdh?ZUxr=tOU%@JA^RnqzA$(XvYq2TYUs_Apf-rpR*R{PRknK5=2-5w#Q|u&1g8z% z7OeXVc+=+iTz#N{n`~8yd!h2Zv{f;r+p2LWe%;016p3-6NR=&<^f16fHi^VDPxxp% zheq2bA&il%oe3kfbEv~3he8{69&)y$yDl()F4LnXz_)GXm7_;(j=Ie2u0d?Gjaz2XhpBr0xV%3}hw7kxM_*Jxs z4zHhMExJ<>3+k}f+x&lmm3G$9zb0ChQ&iJouZ8F4P{`XDgjaF}BMs7Gixj_Lgt5gR zPB9I5v%Sy+{h1GRtn!f;+Ma1-`=1zhR|guUqr_CG<<$@{I zsQ2u)IYCtCRLi(~*XL9N!s$OZU!V<|m9Qw6S!yHAUfwvll}vG3ZEAwnYB9hqh8qD;JpB#bP2_ z(MYvV?|CpRq~RRzd6^4EeZ!Ra=y;`6pp2p>^M zu|pPPnLgOuww_>YoKgwVyC0_$5Jk^n{YY+k6hj&&a2lWip_?PcG;bQX(xo)m7TL?t zu}T}623ShAzDo~-G}Lp_;NY`uGlpdfDR%T@wPgx{&1+G0fNZT{3Xd{{u}TFmgE$3UkWg0?Y>F96@Pi$wsfv7+5N_DpxLejR(hPVy`jz zMeR8o>E`zRvysAv%_~LOgO=O?*BMf7NIy!b6C&^EzJI zeP45BMzD8Pue8swrk9VYGO5EF-vz!%mtZBiPl&gqOSoqKKym=BJKItxm=7HoB?kNXCKBmRrI%#T9PBpr-whc@78*3zxlO3_&#(ASN>eED&pq zh17MN%TnLOly!3XwYshl=dy%d5X0D@o9y~rYEGh>Ajq#0BB=%pOFoZh?ab@OVpZJu zEHC#RkN}ch`akJAc%|FGrx)RsZUgT->Ndbc>DP7}AlzDYc7d-*#CSeTzXq+3NDReZ zsI(xhRe$tlu1h}6i*oYW;i+w{7Blba1Gr3H|{!pKKPkY7i@V zYO@i)sXnYhWre?ViG}{0Vy{OQwf!wUiBoooIX71%0=Gp8Hv)ZhGe%sy^!*%5BH0D- zP3-r4C;6i_U@QsDpV)8*hhq!bbz_pp&>Aofz%q`*o|!fd9lm#kZ~(VjM~hA8(*z|{ zpHRv4#elLDkk(p;>sy%$S)ax#UwG5PK1xc9-3CZXOQq4{h!4=5*U_Gd4i@MRt5%*T z#(J?hQfjx7Wc^1uDeJ$O*4!hA`p?!^vc9F^j)A`3)y37{Gc;? zGxpOK_Vx~)c5P2EjU5>1=>|?dJGO`e3x8OcJ|8gxAKQ@i*h54(MlmH64=Cx(lpv+n z=rYW`&)~JtNfH#dXSN6s@y#-$H!uz-IVy%NdBy}wo-n=TP~+s2?P+T2!MdQ#7q{_ZO$1>_QWp$y-coHN4zwDmPZnjhUQPvg?yalYi`upweoWv-B1kB(Iy&IeuNjstKCcBfyLLBV?V;N$0{{t zob=Yh)9H^HyGt(W!f0nf~E&KZ_IIFm45WB%kVGEG=xKL)jkZ5{xyalMeycq^bxdl z)fMPz$id+rjQ#-pbKtqk;WfKU_$3r>Zb5iq4&P+K_u}wN<|8fEbrJFY$sAebNke}q zR)T@-1)ZbO?O4b=Shg-XP4FVSC{4&q^s>U2P0ta|Ge$w+8EHeDl%^nlu4TVB=I}H3 z^T~0~{EW0oeB3wZ!lM4xv+EJRhYe}Hr@kW>^#$RXds~d%ct+dZdXH8A@m!Ig*(=S@ zRr#4cQ2bnzp3OO+ZxBD%;P-h^!~FZ`=l{x&#VZKZ=luVT`MOd(LH@yB&FhSn#rp8q z^m+_~EfP>itQ6NB7)zg;chO2H#4x{GFb5@!PoG*v^O1U#>U+*Zmsq*!7R7`dw4_l~ zGq0j8mI8>qz~U0CvI@#$EG$vz98K9O6c`sFTWuLAPkDV3!RK&@a!Py zSvwU5_${<8GHvO!?GT%8e}ub8&ZJ_Oh#%V!!d zCR(JQbDkZO>1nxy?4+7ROsxtubX}8&4l>TRXB9re5Sl z`ZJ+?ls2e;N0tv7-+If^&AHEEa3QyKiNAGu)THEZ?{tZ?paFUf>T&y)3aP_+`851OxcyD(aBl-reS;SkM}f~ z=2G5sbsf}dpfd5JT9H2}8Ha4^t?DWJTlP@ZmTz|-S$gur5nFqyYW=syol{~4HYKTt zCg2eeE*jM!pZ{Gm(6|MCBI}dV{1y01`vs^jIj({9rLmm(4gH3ki^Z0)c3-Sr=q71Xmd@Uzs*cR|Ngj^iBD;q+2N zW7xGRzIjFW`s(hNbuXp$M~-8i9jD=|i+Kbh=IXd0KSa|@y7^^YEaxSlU)e>Yh5^r` z@bs2=j-qECYtWAS-tHj{F0tS)?4Yo^a~Lc2UnV zaseI7JO;=`BX;nd3E2L1^gq@OtFJ~IPk^Nff8`Ilw=)g*B@IdsNY1nnP?-2EPy8f_8<$_m_Iei@VD6PJb)Js17VUY^F5_aqiO&qYHU&bA) zE|%pH@!MtgWsI>(vKQkkJ!}#q^@F{^sqc*iL%AOp7#&Z(V4Pf|w3AQ*a!&P5Iw)z2 z(CChu3>E1+)6MCv%V3T3c)7POvbB?LN9gU57hSa9l_lVk3oBPrPB+(fs|o09a>2_$ z&pFYan~Wah2w{LOw=h)Jc|01ciSZB=&1Q<`nI#}|(i*XSJTtUwYGJ~yjA2}?YgjLq z<8NZs_1^q*#>Ck@C6Az)T;iwxxsVptj~u_OEz@z4+muufT6)El+LL%LwPz&urf_OaXH1mkHGXB@Pvk$( zBeHaw0A|u@p^b#pRIp34}rKM57m#d=g$m>9pb5|46Z;r#6>m&v+X6?T7wk zdj=BFLGQ`&HuN;`-;ec#c?=YV8!|kHC$oNlEvd7>>sFg9?_ti8DGW~*?FLpliV#$4 z5H6mX0}aD~hrzBK}?Mo9m%$xcFwu>QyOy#c<7Z$yBW)z~&^E#-aS%;8Friw9P&PADXapgHB zQVZ}XBdG=CctPK?N~O#0JGzbBY-g;nN;dkAYCFB^&KLk2R_Yf@uf*)kN(EQ4+oezH z3Z_xoKfT{&8hv48`8n~qGkryTMNN(zg5Hie7gtR3H5D*tnC5E|lc4b*fXd-J z`w@Ho=mw|Wl$f$ICZ3UD&)a27nsZ26(lO$w90vwV+OA8uM&x{fHU&j78F(BR>R7w3 zlJ+>|hQ!ia+>rDDi+4tx#6uDz@$?R1dVt4)5rkEkVoJAu)vEgTyPqfblAyo3$s8eyEpcOKAJM0~A(V0||d&(?R`Ye}^R zyxG>g)ey9ieq_6%0Z9&O>aWw))GPF4tEQgiQ&YRe3f&KD^w}#0Yy_vnIlg5^1*H^e zWO&1Etu1E+j|L2Cd2nZ$-T`Yy0R}DPs+MMles$G#e{SPZt6;35zfCvWpj3V{+qEOL zM~uF%XbY!Ht&;N?@e&vz-{oZ9kiOL$4A7iZN#8)pe$oW}R= zKO8!%iOax=n33L0=dd*pOAXZnf4b1C!6|mB)dF6N3DoU&FjZ&jUV{nq!KXWzs=tmV z(E?7 z$)~(wr5=2=R*@h+rn-7LG}nkUym?dEH*e-Rm@54vrl+p=9ZZ$}36oz%2UAV#jac-x zG(C6G=xmZfms+#(!`IW~m&3u-Ov$N~@M5B^aUk)Ox+mY!A!SFG}8?-$*=* z#XdPU7-9F6> zPsDGo{(wOniD6>Q%aq$*81!3@_L;{7S=C~=&e`vo zKVcaT_6&u!Lu*99bIUS6gvavB*&alvw6B&KRVAJ1DY7(}^q;$^E|Ol~W%>|V7qN{i z`x=4A^)^c-_W zsDr(ju+{?AI}%gXQZ^>o4wko?FwJENl$ffC>kdunF(q)lBQaGg{(4MxSOO)c>i>Zz zs&^!&>aU}T@`oi5m;^~6R)Aq?LO$8j8rCZa6W~+v*18e>Ttl?{VGS_V1OK6NLcIaWPOE!@0n|~R1q*D7e zxNVK~GVVx>OL!Hx-TN+aZwD78-OG$xO2t>`wkeUgNj4?j%k(jj&6jt` z731k{E{5DlFDl6g;5o-F8wG7Hd-S#Rosv|@cG)uhJt-A{vC|~+(EKHd$FWhk?Ivw5 ziHFJs;X%15!t<8^Ve!#S@O)w9a0zHCw2(v*w3g>$jbs)i|KAd+m{*aTkRHfwBk6f|Jmi#p z?A%B8#Rtg!#{<%@wkXFfVSPv}>YX9oNL6QXNGxbkL0xuvfajNwz6$-Sx3;BB+N?LO zs8iBn)G6E4E?Bo>B}OGog+&QjeTfRvy8pMRz>1FV9c%1a*LZ2@(kANl(w=T1$CRy} zy2{pV$`;RyjVSC`BU2djz>6GWNW7La7o<_Lgcr)NCE97F5oPQgq`}?vz+M<)R+g-^ zaxumPuMY58Oj9|8WkC6bT4uGs%iG)T;*G*+#Sm&YU|Grva#13Shgg-jf_i*exX%Xj zf77P(+jfLvVTP0w4^>+82ooJe_M^%@{=-iyx|NL0x@aSR&bygj#`vw^KPHg)mo+1=35x~Jeb$7H z*JY^tP#ji@@jnzFz|X`+tZD-yeW<5_Vjk@guhtITC_IWBQwLE_)`?e{oun}faPjl4aJVK27OVGc8 zx^f;$-D<9ji*wx?VP^Hz0$gLYu5njuDC#S#Mv0z1>kw=zV7sFpcEP`fXLwa_=>7OP zH$MmAeYCL_@AL3;3AAF!YI0GJ7U187PqCfBdt>FGXWA=koZJhGpNC=$d3$~?!0?^$ z{Xq2lxkL_r|MEIDv8thP{~G3Fynb~W8WB?!>5|@DyLAN*Qo1!LB9$h%;&*6=M~4a|c+4IwBN^~f7XH7W2Q2)Kp9Fp) zIa<#|9~U;}ApFu(vRo_a#qac-8|P4v*q7KFX2%8N4B(~LWVw0;tpy7|!;|Vvb{%CSF^BA_F{DuJ4RN^S(8Gp20(3*HWpS` z$~M(b{~T5=mL6Hp2~d5J$I>3^PVI=5X|iXPe4{iTHUhRgw=eY3~CZzWsVxfTAaOdHycKI_n+O=%F1(W(J2yz9_7 zypW!?{m5G`32J3SU`&bhtYOZh>=hpVPEA2b%pD$EQN@y&otzp- zp6{w6z*C(iZyfOZtOtVdRg9-HJf=SDfdKz`mONRaDD_;T)XMs0nR?mZXpJ4FF@3Aq z15lk)wis)b)TET5b!+#h@_1nyr7zk72JPQ`4_<;G+GHIEEG+#On6?(k85(KKUvhX; z4xi(h?8{RHETf(Sp41~=hX2*2kb@Fa8i zQ44+u$J+_v6B*A#3qAwmVLCAf#zpg1ffwsN>6jIR=koFy-v#h9v=H9!!E;-Bruh#9 zkLPXte1)H1fL@w&=AzkU)_a;A=2D=Y<+G8@&ll}yo^j=(nN=v+JTppP0C<)y#{VY6 zpX2w?BRprvMKkpQ-vQ5S`2A7FHxkd^^0Ukb(4+n9tZRwoUuK6;O8;%HIl%<+43e8x z=?(DCU*Q^y=C4@eCk4%VqS;U`nhgcsyv)1*igucRThQltq#IsZthF$<`ooB0{RNAXv{5LY9Fa=1pmFK=Pa~%|I<++L&4FHN3i1{)O z=m)$17gWC@7d~?JTDdsMaV9%)`pOB<9>!_~E}CHsIeAHL%ye=BE6U{w(6e9epkD+1mozX;k-dUav%`jqj3 zg(DCYhxyle58=GJpx12?pTBTH*&>u1XSogDZ530lXnQRe?aUDoQOU@GJz25Q8nzwJ z@NF*tsx`U?d$2i1=6(B<+!>BHYN8px$Gz)W-+Jg5%G)Cwb@C7VW>&bm!5Cbwa6watjYBeB0`ELH{Fi$}xrLt0Be=a4f z(%7Y6+pYZU=khH2uQtfu8^d!GQJ(D)$%RqYcIuO$ckXl9d12l%9w6UQ$55=w zB{e^XH^C?vUfoz7Na5(msK?>FvleL>HCBexiV{eTA1q6s*`2T~gV?eh0zA&FKH!N| zN;3S*;jzj?Z#Zk?2Ztm|2`LD!=t8QB-17$fvSx-mkFltI=Qp^wvz5n6;+ z4Ugyb^iDTMVUbdYErM`ZUcO@#776HI;2(oRV z(|_HgD_6vDax81gEN%wh`K4J|Py8c+D6UTUH0NC`bRcYagEW~HvOLmhx^%<^jW zw2!r)wWC_99*F&~o9XfTW%NVu#5&3&T#w!1?sa~}{VMy__3Q38$uG`7#Q#)=kPP!P zDjDC&I49%DOm#Dj%k*QWivi&Q(E+mq&SkEVd2;4wS=wef7N`V91r7<^n>A#XDgYlQMMD=BeT!R;m$EK$LX9sbH?YqpDQxg7rAET4#?dh_u4$+d8X&N zkhfLdxV&b*viU~l`#UI8P*l*&pp`+-^ViEiCjX5BZ42xSE*ac3IHh2@g4aSihx84Z z68c`~C!xQG`G<81I}~=WP~Acw6`E0KSE1*HTNLhC_|wAE3NH^23Lg{xdqnk!8AUP{ zxly!Z(M`q56#Kq-q2l98g{-^RcEBIF^R-t@_4=T*A@Oy=`6-!pESh0P@8I|%> zs$c1+N~bF4uROK#qbj|s+^;&I>d)0mR@+uRr20qI@4ZpzjnCeAUZZ7=4K?%C99Q#j zt^Bp7)Ot`mruM@+Z`b+j&GK)qsav7$s<#5(YX8>8$gGiH)C;WFxZbRKm+H5!Kdt_` zw}apA`}Up&6&s9=Qlq|#y4~=@hAEBmHyYUJdi00UzeGQ4T(|M0#%G&kYVt;tBTX|k zZPj#U(}ZSkG+WdxrFqBZ_gXY-aqOKc@2qNBq2;`m7vF9A?$%Z%T5W!>(R+*DOKIJ& zbz+;gZT7T%ukF=#6WW(KCJWMj()}Zjqf+T-~4`_{$2a` z>p!Ib*#6UE{95%{M`{L7ypHBaD?x#CHy)`(?;4*`o5AHDdgTZqLCk|;iNIKHq|1}5PM$v{VoIASyQY?#I&x~-w06@bPrLO^>2ErJ z^UF8Srk9u=GkwmC>@x<=IQ?yjZzp{F*UUUKYtI}rbL-4A-xc|8#&-w5Z}$D~vm$1- zm^I-C*AG>H81uuXAJS$IoPBi8n{yV=4VgQ4Ub%T+&O122*!+?6Qx^#p{F73Q@)6bcH?)dYPU&4Nw z^vlC#{g)S6esIO$70*@( z%-IvS=Z`(7_uSg6?#;2c$lh9e-`(4H?`M0z-Mf76*1gB}Ufug-Uxt0T_J!@My078B z&ie-Jo3L-*zIFR{?>n>a-hOp|p8du4zp=l?{_gvS?Eh;2-2HL;ckMs5|K|SZ2YMaM zaWLXw)q_nB_Bi;-!3hU{IJo@a)`NQvCLVlnNI#VGP?1B`4y`!+_Ti3)`yU>Ac=q9y zhqoO*eE9O=9JrQ=I z;)!}ETA%21V#JB5Cp;%(PL4Y{_vEi9_ny3P^3kbGr-DzFJ@xjf4yOj48hdKaskNsr zp3ZPO*XdHHBTu(I-RJc1(^F2*KE3qx*3-vNC!J0`ljThKnHp!Bp6PPt(=!v#%s;dG z%%5k@oVk5gJ)7ffiL-B>edp{SXOEq|dG^J*fOEm;DxRx%?!9w=pSy4_<-F^Bp7Vvz zS3e(pzT5fO^CQnsJ-_t)+VgwPpE!T({F4irFXX#W?n2!QEib%(Veo}97rwo)^upE) zdoG;4kbKd&nDt`V#R?beU2J`^&&2~5uU>qf5RgzXpU z`$#7v1f67wgPNvxaLGO=gkr->61=O!*mT$#8o zaqFdsOVutly42xP|4W}=nto~7<|Q zf8)T76E`m1xO-FF%yzT*%^Ejb-t2jE@Xar8&b=9TbMMWoH&btAxK-d*nOk*lwY>HI zt--gZ-&%QV)2*GiPTjhB>&5MW+u^sX+-`ci%k4q8$KL+__OjbMZztS-a7Vurcqjjz zqIW9Zseh;Soj!Ml-7wG_{zoR3O9s`seFqu57ZKU(}~%cJ9u?mQNc^E@v5xW?lKk6S+O z{J8Jqk&nN6{N3Y4kJmlk^Z3N$OONk9e)h!mB-@kVC&i!CeA4tumnR=S8T@3-lc`VU zJo)*_<|hZ9Tzqot$&*wqHA`wxYLV0mskKuZrM{QiEwz8@(A06MlT&A=&P)9%bye#6 z)NQG|QV*t{Oud+TEj2my$uJo>aZkU0y5Q;0Pgg(P_;l~n zqfgI1z5Mjn(}z!=KhvINeD?LTE6?jcZ}PnD^O)zKKcDb?#`6WwS3KYN{IBPSpPzqz z{dvj@@gmcUJTD5rDEp!YtV6O8)k4`m+V#z~PFZR^5_$a)AjFP)SxeLPxYFYAvo>kR z{rCF~gi+~FzDD}fzD56=^`|@q8XTC5ms1@nn(JSg&oQ3AqOlL&uX-X2ym4LBU81A< zmpMyYEV}7sM2H${PS(bW&(*G?u==Oj8Sss8Be)F-P~9bMzZxhQ8B0 zsa7|SX>G(fTtC%DiE`Q}W?yx=*sm8gpXj~JM|w6SzUwVY>X}3fW4Y+7`SS}7{y@}IJDErHd7_~nkF>pO-q&l245|yTnAM^siX*Nt(O&yRtjAo2 zGJ3QaLC<=2C9hUcB zDE1lW#X47v7^8X2GwxRAJUv`wF}es{KOy{#93rplJK@p?A?>lEJkk@OcQ=bwaZ2k3+NYuABho72*dfG= zlem75>sTBgs~+WDeSo;Cju+E)cwCJ`=6s`SmFT?fi=3(6}S|d&Q^nM}&Jc=ONL0fxum8huKGrz>F#7LtCs0y0>wJ3}!cbkLV8O&{Z0Qipm7trV74_X%+=%wXn3JVgojo*-ehjHIg zw0Dg)Z@Zfy?kMrLYboIR0+%T?S99R+V{Rb1#&dSp@8%N7^KJco&<;HAm7<>O7sTCH zWN1SwVmNaOiw0uH%I^%d#h-YnZtaXKfc3Sxx zbm)mF+dWXuItx`>iM%84M{V=2-!5~OdxE*mcntnG5&lLa@bEn7{seimOtf{CM_yD# znzrLQ67cZ&yEd73UC>!ZRZ-e#0o~BtT?d1;jBHdT9x0KsnIAfW8`Sp4B&rU~L9Qb1p|b zzd#Qph(hijqN{6xcoSv$CqotQ>U%_2eYSYt{e^kdwaYx^-he#nYo5frV7(ILY=jtz zapm0%KT*^*1#!gS@3+RePJ#hQOX*YwujLOlRI=K4_NaV3bHepA7ZA4CIpDdxcq=Z;42?x2YpPN}(=!OBc|Y2Fal)r?wDpsv|`!WxW|^ya8SO6teb6 zRCZ60hfz#acKv2z>>>E~z+B{q{8k^BXVeGc6C9cK0^%JUbS;OY01g#LfL;J{SHL`v z`$afH^)Pb}c+vs#GtxL9hJeoY`sbpU-b^&r>kB{qQ_MMB0{zpQufh5n=%}k^lC~7j zEpa`Form+AFZ8u|9xaMNu9NVcKfVdmzBkWmTk$;1oPy_Ix@ybem*0o5cg;lOjwoy_ z5iRt^z_|$V^%Di$4b08%%6MLfXM#iBWy~=@b$wt1{rC0BY>jHC(@&qzFR@{LO z3Dxe1TQ~%chkSsCcz2r)$mr)Jr#O1y7=dF9j)6E97}cQ1Jgw&u)d-jJ++5{q2O2&X4b>3X1ry9gICkQ=CJ)H@1n_7A>W~TG z&ji>&6T~s~T~8Vxs87{8<`|XgRZ7QPQAn>K>gpp=R;uH>5s;hDL}47c^byc|!|@ym zn9osy{^<&Pm2F1i9i{1& zt2tdQX^y6F*Dll(O<;q;wk11>?OWKGWaE;ZDX-=#zWyPfH9w(KJ`jIiz9Q@z)>+J)pN!e;W>$M(5H+c=4_*}=eg0=+@h{BFR{)*8;#2W^2u(O zk<7l_9wXV{d_~)f~5wD<&kyONWfBCk@Nu3N9{t=PgLf~eg+-fmLuIH z+iQ#I9ogU9uA?>}^b)rN$^Hh6Ez2)oIlXw#?PqFNw@3RL<(up*qKVp%ww|(Swdvrt z3)&mD4eb{zg8gGr#?Y3~VgK8DjN^cfP5hv?h8yhzy0`J#SGx>3`itz-aOgW6_ID0$ z@QiptyyL5_OKiK|x>7rZ+7i^JVP3s-rS=WCL9hoTw>{9Nw(0qQb+yy?FIWAa-m_e> zzD7AMY3_eTf7-nGx2xU${kQAOdedqz8~<{(W$Tse7&C$8n%aRD|EbJy`_XE{P`$+M z%mn0JNAoJ)O*IOMEP6ZW5z@nMQIpFB`7EfcHb6arcET&Zo!Mx&#KE?iEr#OS$*B|V zddaGbZCXpQM}|IVjqolwac(w2N}yfOG)p;U!v>xJh#-=p4)ny*-9Vf zIjFBPJ8_)=+l}-+>rhL-lP)JapLI9sZLg&mb;nuOw+R&O!egb<_`TQZrG<}XXnpXHSW*HUG_ADr` z81>wfnxS;azXU8w+f0PeNV^aUdAn)TwvDr{MuG zMxcL2G;~!})eOV!QZ!9BR9(Y^{m1vZp9_D6;c{t)3+pA@f4DO=UDI{>0nVywsDAXV zh96*YqiXmHx2j8bW91mPp&OcpwGZ$@H?Uc(?uVByH+@9-4b5fv`>8HmfZWh^LsvnT zP88#h@M6Rc-eKiY`UdD^RJbAxc<{pCpGNig6PMwv>@-;deg$2kGfw-RqN#k%74>t9&>aN^~xQ~wF}b>WQIAW6U6IEyn7Ng)BNRVl%A1I|+x;172)Mtb1rER8`4#UE=KQmv$I za^MUdiL37Fhii%$37`5P+^HD(KSIpMo);^`HnCG26iFgkc$6#{iWaUE!QRd9D4mq| zl@ZEk%4B7lvOtMb?kT1kq*hVesGHSY>TdPC`cQ+u)%>+AS|M$s_LVkGTcE{h8@1iq z0qqDzorddWu*PUpy{q0|AFPkn=jlIV{pU^k0sW+&sH65a0*&m!N^tGqF~RqP9|k`y z*f_*LBx6X{kengGAz>j!Ldu3z2&o=YBP23pP{?N?i$Z=0Sst=FWK+nNPy>SkbA^V5 zMue6Q?HHzpxx%u9Wedv}793V0tU*}kupZ%i?y8Ufd=3+a)`WvWAv>IF#kO0iw+ z5{JY!te0pifl4+dLMf`0Q(9tWtzK5D=PRp_>Sx&2T&8*_Qhf@k#tI`=sz)Q$leBNN zAGOumCT)*)7^%h_BE76$A7in)=`s2ceY`$j{{`c+e$x-?r}RtuV`OO7U=ds^cx3SW z;0G87)fg38hLFIJ>>;^BLPElk>hdAgoK*i9vLs{~QoS)`bGlTwvr?VaC)M4NY6YoQ zkm?smHFDp4Y+g}LnV1}A{*Eeh8;(sl*5O!-BOb>uIF_5aOt)!xQa!hnyTmMvNRLzs zrJYJUnYKG^ZQ9bbpVAhl%}JXGj2@HR^dc<-?k~LXym*d28Q^>YTrYmYu>c44)l9|v zqBz2F59{;lCG?2Db9Ka(YgdO|9iBKKabRM9Arkv0_DTF8vCHM36Wd%~kk~9SG!dg4 z6W|FL9Kdl&!lpl~N76sbC-o1&UZk**k@vlI!paQovqGM=c=?*$vE{Fb(y+cU7@Z- zdwaZ?pvI}I)p&J{x)!}~L&TTjD|MLoTD`1ZQLm~=>NWHLOj2*CH`QC}ZS{_NS4~#$ ziOFJ$dS88@K2%fGN9tqsiI^&;sj2Ey^_luyeW9j_Z^U#hlNO)_YFV{xT6T4~Izkx4@HW$Q#{gk zX@85y+HUa#IwDEi3(xjGsLuV+lLxg!imn*gf%LF;O*?{_S$>MY{<(HtyP@P(@?Z{a zKJBIkPqua&`l*;wTq&WCR7xtPl+sEWrL6viJ_=f^yi!4_sNL0)l}cFErixNkAFYqk z?rHb+PxMc<2iiku-*Nh9O0?2gAFhwkQnW|fW6XtYiuFO7D=nbyTcSsGus%d-rM#!K z))in^2@(pDd;57UG6{Ma|Pz0yHJPrg1u>7*CXCo27E7P9gMR_^~&nW=xQ z%n>3^lx!5|->mg&MVZuQgJO<}i!89(U+dJdRGd;WB&6O4k#S1rQgLd@IHh=KsW`1< zNc}i1ync(;h1!Hn44D|!ePT%ckX~K7$LZmG#fu&j+ms236YsSC0OyviL*weS336_G zv}selRGdy|@CBeJwgH0P76M#3s7zX^IHP2vkT@-(S?lJl<3>gX#np*y6BHU6QZH_M zv(|CjBZETQv?&$ma%cpt!#~I)sdbl(a}_TY=O;0|(>ktBP@HHpaU$V+r*)ywxRDbl z22Df??C0(2pEoGt<$yZA0pLKr4a&%7K!r=8&>#vZ6j~@06t;;h73W{F(L1f{fy7Xd zn4x4`iF&2tGM0=hiA$!EtBWY(Lngk{dSe}-i*6hI#Q2u2H;NM4^_Vt6afLu^$oLI` z;F}djsSGF?S7-c&5Ye{v>XITdXrm~pU5`X~rV??Ygosx%t0lyGrDS;i9GQh*iS=sT zO2tER(4FRl=~F*xU%e2886S6URJj1%xeDdanP&q?H|9c|=ZSiOA~OE&|ndBAZ*M*0c4O zMQkE#PDjrd&oPttipYZ}d9R90;$!Px6A{q+GFf)O&z|aSn2H~zRzV7yqFchB`suklMh%fqs3Zk(zD6Al=V5N1N z;wtHImHMyZ`v4S&fR+%%H2~M{i04CG2Y|{D#MKjLUoMnR_muukH^6@gj`m`14g|&z zfQhJ;d?3yYLVT2hXij?%+!4pR111*t6#D?&4+0M2_?yTZ;+T9&|4m7}e;rrKaxMxYmj)4e?2H)Qj^-xaU!MPN3x@g>!FMxQfzG>4$TS5`*(5v=TJsH|2MsDo2zggxpka;`~r~i1Q=m5za3Z z4-F|%K{HzIpjmaRZk+wqj5udiv*Mgf&4Y736{%2*A|DjB1nLz`XSqda(DSkiW z_X~c@@LP`cGr@DT4~yWv0l8TOSy(}>C_D?SUs)J3tVh<5ZYfH48$6(|DEL~gG?DSAh}hV@R>S20s&QlplQl0bDr{k73M8s?9>9#t`F64FJ#A$-s2 zli^YM>t7&VMCEVNuR*T{>zee6%GRV=lU7Z7;b|f)A#tFc<&OV~TcYzh@Xz+f#QD`7c}BTL;qsV` zZM`HU~(%TQ4<&34$-Xx;cC0K3nq4@k|v+vEzCiyqyUsn6Z z=h+D}uh4pGFaOaBdh*X)W*#>&UW)$An>cRBdwxzd$0Fnrg}?k~-ZBrFDYTXcLmV)Z z&GBY$h9aFR%=!vB@$#Sf6Uy^XW?4`*-fV4dG*<#55N*p<=3109r(B?% zf$QddbFar^j({Wvnwvd%YYxLv^wqq2U2c2hM{L_)rbIpycV(>JxL*(X--JS^prqk^ zhjoK?)!f|M8FX6CG$dm}p~|hyN2aR&R^Gj)ME=tki1W3YM@piZh}z}2d6A?PetulKl@smf z-0*tl75PLETFeDt8ApgBq9|5LEDpbQNqCe>!^=b-#`5srRmA?=mEpy!iq*%e!ucA7@9TYdenz1;>?`zKO-0`n`kBNUu~z&l*1>nXf%=og5%_JmPe_~;r^IR53nb1{ zpN~j@ALo*|EUv(llLSxBb?og_2L6~z=zXaMU(B1zTS`483O<-Pm`|4?_RJJr9{ zJ?cL7fO<$hq8?LEpm+L=dQQEdCa9OtUw0LKbvMvUcLzOm_t7)=2>o%-&===H4>raw zVc3WtdfhUi*DVk|ayhhIS{^N*mR}3jLbNcguojLLa*LsVu9P-b_Qs)?|4Z)io-F(1 zs7H?a3XAcShuQWmpPT@ym%^ zt_>NfC+b5wqC`V@TcYs`!5U9ZMJQHLX$kL3EBqovYy65}Ex8Vmo=*6c6ch0)1>fJd zkfAyFm4RIR3RzkYd8h=h-*1Rv3x3rwdf<1&M1H>-;xGJa!uNLol63^X`jDCn@Z%<+ zC$I(j0q?^{{aB>J&-xsz#`MHE3n6;J%V&r_N(S^8^iu+q0MQ@4efdO;5~hTSf#}^U zD+ZA~iBBL=Rm2cTRW&gblJ$ld2HA>4-$F~JrT7dzcCExn$XILfIr`>0iZ7JW$`~<5 z8K+DTUCdLzSLcgg)rIO}u?2m{tHkf>T6MG71-aZR z4na1zi^Gu5Kg1Ep=nioda(WQ+T_Bs{0;KbtNQ8u55SJjO3F0y&^^&*(Nxg>ooHx|} z)83iKM_FY3{;4G$mXII>42Xb$`-TV#xPb^Fh^!(CxUh{2NEEkmoEdRJ$C+`|ab_AF z1lI|KIHThNDkNdwLSn#1pdoZfx|^ia-Puq;dG5EW6B2xN=Dl;@KknyqZ}Ry)RsF10 z=bSoqs!lD3oFEcg>4cElDkqHO#+V;kjsLhpy3)mi3gMh@&9Erv2$GxX97THDI>(UU zcFuQ5Zg=N@`aTcEBCE_ymj(SI2PH*IUqQ6?EmWcrh2^Ry6*H~PMgs&7= zBiF0MPw}*ZL#C5 z0(y97uqsIJfzBBrZ#wTSC_ zUC#CRA>QjMK49NYj#g7M&HFp(C^t+ZKh!>XDJUgg|E@H*!{X7K0_=O=h^i1>Oel zfOkPQSPpW)`{3{3A8v*G0DK7k2|jYelF`NT6W;$R?^!{(lJGOa&k0xYOfJX=Yr%T3 z5kLpI6%>F%@Fmy*z5=^Ix!YSFAv^}YXO?m*JZuZvfevnkIu&#Rr-9Q!H_($A^L^Yr z1szmh&<|V&E(iU=C~y-P4HmeA)QjK^-u)KOl4tcE&o3pujCeNThi-30z8LM1uGYHy z)jG~^0PvBScVR{PRWacnP|AG=xhKfEN`9O57pp-n@o%|yglk6$j}fweg%&`96p#wq zf^xgEM=5g)Ndxkz|H^Yqz&qTtln|L?Mo_w5%YEy? zR%Rd5QsqK-A3CK3 zol=5MDN)^-tK5Tgy+9u)RdJ8%3;F?8AXb-y{$Lci35*86<=)r8B9PBJcJPj`z%HbEDvC%&6{#p96-A_?h*T7j zitVJLh*WGR6;-67iaw5uXgv>L{?(trpTS>%7nHkEl@2L0bRj|%mtce=L1D` zKF^QBDr<`lZ;SPnjyJg-`Z0`t45J^z=*O^G2_DaId-P!#eHcau8vPeW|Ao$zUqD3;Y!<1=-|VI)`1Kc-HkggP>Og zdPSgD1bRiFR|Hx`pj8A~MW9s#T1B8$1X@L)RRmf^pj8A~MW9s#T1B8s1iD0^O9Z+^ zpi2b0M4(Fqxih)@n9W?mfSAVTZHLoZcpa2q`+Q^6{5*sZ4? zuNBX@HE_E|JO`c!zj14*FKekUYpJVhsc&kjM{21T+&MTgd+Lu=8GwdluM+B|1-JRe*N`hlmxAAuMA6Re|*?jSWSz^ULga60G) z&H#hKy`*X=7zT!e8^8ka5_lQB0(hr<6?_3!gFLVX6ajJ|=|hq}@GUqBz9R=0f)~JF z0F+TYqpASwJ?Pe;4M+ncz>VN0Fb0eR6Tn0;2|!&v1>6qq1dG86@-~Rv2g!Yq+y}{h zklY8!eURJ-$$ijS;jV!KZJ|IA3Iw4*5DEmLKoAN9p+FD{1ff6>3Iw4*5DEmLKoAN9 zp+FD{1ff6>3Iw4*5DEmLKoAN9p+FD{1ff6>3Iw4*5DEmLKoAN9p+FD{1ff6>3Iw4* z5DEmLKoAN9p+FD{1ff6>3Iw45GsVC-Facm+LV+L@2tt7%6bM3rAQT8ffgtwjnbe0@ zy2aEYJFqy*usF+{b;$l6w-~FkOk7Gh1WaY^gJ_Vrriqs+4#QVLiXU zC4Q9pPO+|0SHkX~2j~UP0_TA9zy;tU&>QpteL<$XgW78cwbu@6t{qqjWwg=Ty2B{L z!^mj?IV>QD1QNs(=(1km3STTtJEoNO1uvE+BVDkDt27Pu=6E?(tLi_~kM;A8qbKoBPn_KD4^o-SNW-{{M1!`>MB2Vm7luGFAG2+_!8^@Ux8hqhVPJ1c^G^Hj_{3R;Ct6c z`(PjKgMG9Q_R&7rNBdwO?Sp;j+yHf)UoCO-vHAB=tN7G=oLfqK8S!kwbzEQ1^$q;q zNC@50(E;j1zhWkZ`VtiLdk+W@4{|<4Sjq1Q@oG>@++|e*0VHVQ=Cd+VJ~fw*y3?=Q z5~jNW^m;&NfG%7+o%5H20pJR76}Scr21CG5Fp}p+fzeRLZ_t)IHq zPwnTUzV%~|@53J7hdsUzdwie156l5`!2^7E9(Wi$!S}u3uRODaXW!xaQsUX*W6pmH z)^gu^5e1aF{Im%bo-I+IMN+Qx?@Op9O?EW)e*`{ z8WLTBM8}cnI1;@biH;%BAtW}AbjFcNKT;V-D&t6D9I1;Vb#bIFPOZ9!T6GV#>KN^0xHwW3L#kp(RSc<$AyqM?Duz_~k*YWn6+@c*NK*_+iXlmH zq$iH__>rDCQsYNz{A#behgyCQwfr8WCywO!ksQYCgIeOQ8%J{DNKPDSi6bd~B*l-U z_>q!0QW8f>;z&sxDTyN`aik=Ul*EyeIFb-Y65>cg94Uw+1u>)`h7`n*f*4W|LkeO@ zK@2JIBL#k>zz_H1a6Sg-<8VF>$Ng~JPk$z(d$I6S;CKj*hv0Y!j)&lQ2rh@%m6A`{7gwPKDr92u_9IR0vLm;8X~1grI&1>W83w2r7r5a0m*Apl%52hM;Z; z>V}|b2#SWFXb6giplAq+hM;H&iiV(Q2#SWFXb6giplAq6g`iRhDuu8xw;;<^w22Pm z`8ZDNZ6KEU9OPVZCXeG5ti;vamtuRdo41ojaBd{+g7Lh;w3lw!6|N)Z0EF*>BKt|zl2ufrK~vdChe*pw$122p$@2^ z4yd3GsGts@uZY#2J_i3`yA2&*A&-IYO<#}Gn!cV~`g(Hd>&aF9z-8ca&>sw-Jv;61>=?BVHV>mY!j05ArZD2B(0;YmF;C?U{%ya8mEv=r_&g#`8 z;4yj!=JUR%fN4|GhoRmhUCRhf`w}gO42IQa&Y5;*F(JB>_GSw0%@o?3DadA+@vN

d571S3M)E5=h7Zu2KQ#*=>k`g4v|aUD&aDSqS%I*SzJwxH;wdJ+pD+L_h*xvI4%E}bafI+F zEe}%)O0kZhr*k`q0?LKxi(J7Q!8vsnI0u{uwt&MttHEaOWyS%mtJ^^oi?1)Z4)B|& zYIv%Kr)qerhNo(Hs)na(@buiqcyaUOR6<$})IN3g4V~S(=5L`^sH0Y>LyOn(##-K3 z%NtGGtPagxXWv{*xCc~%TG05VbXFqk2r|F}U>H%KgvCa@l79hzZ5Oqa(ak%Qa=VoclRK+ zy~$0C9;0IP&N}S;I_MLl_o!H0k7aiQfCA7fCZ_S+bV~aSwC`+p20Cgpb?FxB(k;}b zTc}I7P?v6zrX9fg5l|&a?^7|oPsQ{;72EbePtKV(foTsU+5&aTv<2Sd{Ks%EpZnH8 zq0Ri>LLEq}NSXG*9>Tru7V5n%)O%a#t=b7SgSO33OIUBI8l%ln2M=SqJ={;Hh0}qs zBjKrp8HAm%LQEUs0pg~eFpto*6&@yhl=jBYxo+AGxy0AFJK;o-Uay^SBgni25Bj(@ z=+8cs0~wQeCDzAPZZ>v$F?M<}HhM9(H=aDM?_>;wk8lt7>?6J(9UWjiQV=^j!aZ?N z4QfFhpydOX3b40}vA2t{w~OIeG4^&bwstXG+lYN#49DWw*u`*c5ggklXt`l)n-*Fe zt}TLV<#4TB+(=L67`Qc_Yd3>iz!X5O4kx$6#R@Tt>$BZA;N*5Om-sW3t7pM;;Cb*H z`~eHyY;1C~>RvJSaxwODG4^sXoLvNG7s1&@a5fvRX2aENxSCB1FAi6;v6GA8Y6VB@`?EhusZuvJg%d z!pTB7SqLW!;bbA4Tn{G;;iS<=F}PU>H{XDpd2q83ZWh8#qo+(ceB(qpG#nkzwVS~$ zU<#OOb(txf1#mPBHy6Xr4RG=UIQapb`~XgV04G0ylUZ=G5Kb1t$wD|;2qz2S)~b=+%!7Ylu@H+V{o+)t`@@82waW8)rc*hT{xHNX2I1gxS9o5->~KK z3C=Izx0mo^@F~dU+8TE~TwTwsp#JV^I2eF~0XP^yha2q}Lp#POm#l@%bsq?#4I})H zgK9u~3(f`LTma6Mz_|dN3&6PmoD0CY0Gtb;J*&{1F*Ii-91Os@0GwM5=StvQ0L}&A z*lNn&AvhI)Qvo;?fKvghIp??s;6OlrL~G(>P(z&W!ifN!2*8QeaAGx_Sgm@Z{g!a< zJ;Ho`({_U50W@Qb@)LmK0kmTb%@~8y0Vo|nBgUv-3}pjQHh>0(ngOV}8jTl2+r^xFp=OY>5o#zKAt>vEvZg1(N7<-`qCO}Z zgrdQQvJs_hgrRN_>iQ@f)lk?6g?&)i2Zeo5*awA+ps)`L`=GE73j3h24+{Gz8zCs` zYbYDlP}m2BgHU)o6!t-3UqjibhSEXGMi^}uhT1-;?StArsO@Vg7uA%D5aptZauK9l z6j263aKH!UeNf&9<$X}z2jzoMJ_zN5lz|XsAVe7mQ3gT{WgrAMe3XGG+z2+50n@_w zQ3k5vh!2kVC<7t5;e#7KlW3avw$RqsV<24*8J#5ON=;9Y_l_IVVw=-&j*)+exSd50PY2EO3jYLExkfFgkZRqg~nz>4YeDEJOrI@LXZL>xdO4j>UFNJNRckn;=h@w`Cz zTYkSt{4c~`BfbdmEk)aeKH4x+asX*4QKg)#AYR3}IH=*=x12lbwAHQQZX1vWjAhc9 z)z`XmzB}jvdV#Y5J(&7DZ~?do^ag!EUoe7aZv;1iF<=~+049P-fN=%%`-bWF4b$%% zM#4&vuo5J!1PMD}HS6Pq3;4Z|_buk06(E;$Yrs0>qMvgbbzgtV^FVCNg#8&uda4_& zoNCH{U4xZVOZl%xI_j)#Ie@saDTfjoYsA=+)8O(9kgz`BIBT`i&jZD)p?EbEuZH4r zC?1E(ai|-o3>rHzPWh{aveni`+|BO_&esrP|53i`C{wkRsancZEjf*o(>OVelhbN) z7$;ZNB z<1JP6Y}9c7VM^i=%F=N(j&{;0CuvY2DDV(BXt0nNLOh|h$|)O0bCpvz!qgXKl#Nu% z20PahPUE>5U>5O&<_b|RQYjZ{l!G+NK^o;CjdGAiIY^@%q)`sipkfetPeb0*koUA7 zXf&eMxIS*H_q+mTq(aR2x|asGUPT5xlLoOpj6$S zwp<5rDloPf<4%y>G-Njo*-b-s(~#XXWH$}jO+$9mkli$7Hx1cMLw3{Pkg>vz1#YZw zqwUJ|B zD8JZR$wLXRhoX38tYtinwh%rzsQV`MLLv52F7{F`_EIkPQZDvVF4W9{f{T&K#mMAh zWHJW|=0Lq1D3=4(avE%+#ZW5;+b0*>Cl}i%7piTBYB|VbbK53Jj&sOy4mr*t$BW5v zklf~w)5XZ;W^%fj@u&UiqrZ~2!c}-Liiz(e?jzi7y)xyLv~qHM$f?1G*Wgm*XaKFb zA%sH-#}Lw9r?iz*%F4-Q8KtaTWYYJ6M}%A*Bv%K?)j@JqMy`y9#&~DSC~4*7tc;u; zLKY5E(#px5@y?V{%E~Ea<>cxRrR)%;><~FBBS&TAsEiyPBsXQ`<{yz%P*fW0!;s2 zl;3gU)c`BasRQ-kFxS2%JPMA1<5-x?0>U1OVR6=BZB}Cw#b_&-mR}5cj$sSMu!Ul@ z5#rcBF>Ie0woeS(Cq`R6j!eg}bBu)#?uvv9IgNMI9-xBgMvdT~8|ONrh=s z{+JKD9{aZ*8@C?&wjP_d9$U5^TehB3)ZB+%uWDIUIvsQb8Q=jxKN>b{J+^8+wrV}~ z(^zOY4om=Md`SdUVa>z|t3fTO1NDI3A?O`NTUSBzC^U~c-(iy;ccaif3f-g7I|{9% ztKngSSEM(=ASy|0z@zE&#ZV|j;nEd$24vVqX}SB!7P_)!{tD9!yR zDfAc^A4*%o(+U5b?_?zRjRK>=SO6dN&EOW$+^=#6zm0Fj_)L}%Z}gckl967}N_s&n z=>e@|rhtbY%+>(U3|!8`f0Bp)B#-gwZRq>YGoxVObY8Q*|2$_Qzdr}2@1GV5oX^9j zl81-vD>Tt2H100v8+scQ(C#i_M$s4_0HaiphCI=oKK>qr*MhNJzmxDTFr9m5g8PVP za{d{70MCNw!1LfY;D6dTfb}QoPh!kzTw(!AxX75(xLg9>q<`uy@HTh{ybFG8Bv7N@ z;8UJi2`CLnWgb$QC-cEtupVp#&`C085Z_Q9zM(vPLwRxs_zLU-%|{je-{(WfL&8fN zdD`{6PyXo2IqqF!G+*ra0#FvlQE>GMCIuL;0kaRxCRUc zL%>k*uSRLz%Js=$Dlj9q?jmgNgFtpDVR@9WQc74J{l4!&rjDfUh*Mw0 zS#_nOZ5a>5t{l$q5%`@=3wI82TCwQ&IJ!N~43g{7=)=JcU?iXhK|4n&t5M2olrkEn zjG9`@v?o&e%0bGgsih85JFVbr2Pv;nzLrWEjZ!{M?erOC)YMD|`SNbQoJv`ZQdXms zQByM=Bo(QYlPKjRN;!#APNI~PDDodg{-el$6#0)L|54;Wiu^~B|0wbwMgF76e-!zT zBL7k3KZ+KOB2!W1DT?NdqB)~z&M5K{MMk2?NE8`~A|Ix9JBZed!s94Bj>6+8JdVQS zC_IkB<0w3iq8X#`F$y1}@X*wT2jN>3o<-qV)Ous`ur$zU;4pJbk8sw|zookuYXgl1 z-3Pj?UPG=&fay-Mn29wq$NjbZh*JA8(%cigXG#HJL@?F{(hh2oigeHsWB|skVrArE zW#nOHvmPQ_yMxN8N!7mgiHFczh_8%6JvFxx5NfG>EG+bxCY^*h7osH%9?M50H z(bn8o)Z`yBp8X&ChZ0uUzwr-Q3&Dql;KRx?<3fE{2tF(X9~Od7?FD{NLJiOXYxDr= zJOK3`fqH95>kg>58_Mk^tp}i9SJHa`3a+tM&h5mflkS<=Z*$y)hgIIFqRZUnRZ}d=55&&EOl? zOL_8A_hnL^yp$&|WywqV@lt-glpn9icQYtEUdoP_vg4)fcquzx>X=NdoJ_2oOst$t ztei~Blb7=3r962lPhQHCm-6JLJb5WkUdoe~^5msFc_~j`%9EG!=& z^R{x{c8Ir?vnEv{T~YI0mY(vtpNhSdTVW+cJB*`r22-Bzq6IaImO)2Ge(q$vQ5B<7 zPH~Watf!Duz?-&{w%usy3R>WYk;j2x1f}Ul%H1e@JCo=EnuaAb11o9{=S;8WUQ%98 z-}5Cr!>U~LoV9ayv-U!eu#$II(U%dUoPJL)sG#g5Q~J8l=Y5g8PxQt*qc>L!0wZ|O zD8?+^;jR+*aPMr=W=4gZ_CX%8D)(-lGi`^UyO#6D^R$x`Zl~uX^n;#{C8X|4<|s~d zf8|WZQ#t2&we!UBI%odzY-fRcyYm}&Bs6%?$z|T~TDO(6!5xe>nG7xNh8AhiA{APs zkdNu)BMEw}A}=>MRmYE$m-c-9Zt{~#3hs7Xw>|kv7SicW-cl*~r-&}cLujAnu)T;|N0wfwSpGk7hKQ9Q{Og^LCBCiG-x@+7qXWO~?NgXSxcjg?R|AupSd zk@j$5J#^Rt4T{Lye7G=^ygf_aX2HjO(I7dy530TbRdbN*Um(|MQ1|5qov{)+u7r*&p-p0*%qirm)W|ec-p$qBT-^OueJ+hMk-~G8JeS(QvxFw{K%a7GVWhl_D-qsk+V)jEHy^2{ zx80%51V1XEMhVh<0G=H{gV8tOXt=$RnBjH}PqCgJXILxGj17aYuaPbfGq79pFW^dB z&Y3yGlu?46n00*vbFa;;>(lLg>#labHDhu3@99io{l#8( zruEr&ru8|@vHplRnR(S0GOIeDxz}bT#f#~;{|ddfi~m0K+wWoCm!E$7zRar*GNV7j z|JAIv9A)mqH~bG`ZuNK2=(yuL*P1nzo$KuE>S1AV4Rgbjus&BIMs>j-S z)#L2E>hX47HM6RjSIw+y=2f#6GV`h@*?HBsGOzjt);)cZaf;LJyy}^DM)fQ^qxxrd zM)f^*M)hnvqk4{=QJraLR6k&6R6l5ERL`?Bsvov9svl)W^}Ehvb{6$wW>K$m-nFx( zKe4l=^XzQtwRX1jIy+l>y`3$+ftmf~%(pgkrZ?F+)0^#_=`D87^j14(dYhdyU0~-- z@3C{H_u4tremiG+pPe(k-_DsXVdj6jbAZ|Z9i0Fx0Ax6&tOC&4Imk)?U7Rvj1L*3M z+j-UaRMmM-$jqf?g=^+gGxwUg)Q)TCQcF9RS}8M^x`mxf-P+EjPO)>T+u6C)J?vcS zo^~#EFFTj|OgoqQEVFNbILFSS?qg?B_hT0IHgScWKYgv8KYg8@KRwjWpB`rCPmi$k zr^nd&(_@)GeN2qEGpFycGpFyeGpA?TnbSYBGpFyiGpFa;nbTf7b9$kjIsG?1O-~b9 zdWN3CjA}EBdYPR?{SP~f`U5+Q`k!_d^+$FV^(S@~^`~|g^$I(SdX=3;z1q&A&a<wIQW?_d`7R%Tb5`P2LC{OSF6{&b0* zKYhT?pAOjh)1`L)^g%m+8oetXvgNarEuWoi`8>mx&od~WXHr(r;=c>)9Gp!}aSs22 zvUV{DP`+4=lk(LUtI4dTkV;SZ0PY#c|LM%SzJe7uuH?TRv#+m0 z7hTQ&DU|u4q+l5T$&~)OAkYgR&}RIQf63Y$|0Hc6@h`2WXlXTtwwfZ@YKrbwN3=sj>?hx4 z{C7uB1UVW_(b;MW=2`QfY&AtUG{teJ8`{F9m1*=vH>)qYS$!eV7a3TaokS<+bkUi9 zwU+3Pi@5V*ak0}w^hS?#Mvq+Tv=e2|G#PGSM$pwF-?Hgpm%pk>amTILL^WqMjI(*`Yb!09CdBH(mI z*Hlu&MA$>FjbMx}akG*`SF3lrTD{Z8>YX&JciLOMV^&!G1uLwYl^jyhJI^|jl}8ph z?OA=~1t*Ce1779opQM+4#}~?ljKzM9bsjwOP5CA}eVf%DTA-(vu`ql#Yd$En)yGat z)+G6a_k1cp<<1p&ETvp2R}%jW&!v=~%g>2_!Riq0NFB z7P8hv3%OhFCY?r0wz68XwbhatR!e4BEtz4pWClAHu%;?|7SwSxyB28HNconpACX7M z<59_KvFu-PjQDr*JL2EV?}?k0C^}fJ+QDko4pyt0byOH1ZMABu)vB$mR&8aqYAdT% zTUo8z%4*eCR;!+dR_(zE;GU`{yK?tp6@wI3UOCe_MV+M>HDFe;AbyTw^nh8*g7|r8 z;kIbu-t_lfqAqcIsy=AsG^>#r)r>|?Ga8wzGu2FXot~xcae5iO%o*0W;Qj@Q9jaN= zN7Wa)Qy+FLM45>JLsAR(N@dt1qjU`QoeWywI9eUjD+JUgc#ig@tM% zIeksN##683eQw9z3yX*^QA-?cv^<-nuwn)|V#N&NIVy*@z0ZCNJ=BNlL#LHl8HRU$ zjK}&+)`vlgSR>|BzPm!L;GUIgCHJpViM4-o`C^_zT2wx>@KaegW({9l%f1U9wN9;b zT2NbT;42%|MkiTqQk%@4xb%~@WWR+i%-Y|okQTK~ZF4$PqtJK3x-&bR(@ed>k##vZ z?pC`={~ktWw^V!SPwhkuh+2BM2ceWCgIPY}XNwEdB z7pqva`+{=Xu>*r<7JO@s?WI##7g(A4jAJ|9&Pisioc8QknNII*OWgrK{+YTXBg0$j zQ}O4YsWWs2@vivurS7J?IUd~|zrNIG=rf4-z`rkbPu-JvFZ}$H{d&$Meir_Isn6DD z6F&#PztrdIbBUja|6l6!_4&jvU>tzd7wQX%U&MF-$xc5P6YtHq0I4t0mk{rx*>PQ8 zsxKwpSNA2}Pxm8!nZAsj>o3=rlgIwLKk)&20P%r(An_~o6~wR9R}#NUUq$?CeKqlG z^fkl>=|RK?>%qjY)z=aqqK6Q_PG3iSs2)mugdPE{MryPF`;GcW;-mB^;y3A=h>zBz ziH~8IJfX+xvBbyeam2@KYA8KHPauA?zM1$$J(2h=`WE7>ufh>4fjvsG5;$hEib#rn zfPU(h`axC`NzwBdGv87_#Hu1G`eDY-w=^~cBP@QQf8q3C_lzf;&US@rt>^3cPIvv3 zev0#~%EHJCR%PKSul71xFJ#Pw)URpmZvDD`oqR3Ui%H26y@WKdP76B*yr|{HOX;jw|#E?p&!?vhvAi`ZM0Z ziY~m96DE_i{8T9 zwz8r@nz3EXYyeg^NHewz>sYh)3p-V__6u>=e&IZ8ziWO;=bV3%i9i%{j%Y zeAr87=Y8Eb|(eoajGSq4MGkGz&Fn=l$G#nH8 zKl%Oa!AV=rwEGf&W>rjwGd*nB-5!5*joSQg`xSCsNjw(x&$+ z`%FS&8lNyUGJj3nN<5u7`%}kmNVr)`I2}1RM-wLgI-iLB)U*E+=Z#GNyT4OuH}vAB zcC-yxYY>}0f#%PdbB%xO`a+LE^S=!HjKlMZzb?%${%AaLhk4F?z41A7Yx6Jt=%Xi{ zG2l47;ZQInf{cf{~!CZNmb&%6`ITZr_gF?{-4lUiE^8G zuhCbH|4Ha8^WTzx56?Bi$Y^sIN&Yc3zo$vA8`IxB?AiRsN%6+AW^{om!HsBs6V@`? z`DB<9*@#x;;m6RCds4`o(dKCHo*1rv);V_&5Do=Ks`&CmPS2H#YwL z*ty1QO=04$#BVnFv;PVCZ~TS{d+{Z9xwC(b8qe(CWBwAqo7Yl_Jf)y}Os);b3~i0J zHY+10GW=_;{EzyPMSEF7~yw^~<5r*1EOPN1& zR92?UFY}c7Ga5RvmqtPtnkUR!%BDVOls|J{qr4^bZ{kcsRuU3o-eL0PP}8(LfrO4W z^>O37{<~r0_kKD|q@hthe>`knZj3C86LOj0grR*C60&LJ)6k%)j!94|@x8`l^A%j1 zYl+6|CTyg(;k}`5fCfn8=Y;e&T{>CYCdyk2G}8L=XW#$u9MOOF-08E$)%JLu zJ&xe?gJR5Fb9G{-IZl~3XL_cXHg8_GNsX6EiH^Zn7Fyqlr=%QHb*0krnH!&u~7ti#~h7jX|#8ZBnYc_ zgsm;j{x{}~kp|P(Z;nRm2+F*bFcD0I>TCOEPtx+F)k#H3rAc)jPvQ!pkxt=h+wlAG zhVZe5@TrFDPyUzCe!=t1iTe`2pKSR3tA?=g_frkOy$#`C8^SdWVK@;cr#6Ir6SPR~ z)9{wR*9&HvA=G$s9{&BI`))0EWQ!niX-BvIL6*m-;3jzKtdm9`)MWF z0$h67U#bPWOSO`%Yt^SssrrOJN*@3;LPGzs&PV7?LMRt{^n;tUy$NH#C zRbSOlU8XKq{nY?9P+g&}R9C61)ir968mz9R-|RXyR1H(ttKsSfHA0P4H`0rClNznY zsIh9C8c%Q9&1#~$MNLw-s@v3LHAPKTx2rqUo$4+%O-^uax@exaUFzf`|czgADG`RXb4w0cH8i^*o% z(%WMCF>RAVNSAyf(56|N!2MwG*YSP=tarT&YY`SYm z@sD!8xupE46r73#Jn|p&{i**Q&i^0t{l9YkYxrxpoZxOk1}ZE!s|_D14~Luc+;IG4 zzRHXfob7mmx5f$(9{RjI4_U2eY;tqvIxy{|GyN0yakcRtc181CebPPMIm6jz_fR`{ zIyan=o(%f@?_yWCX>z)})9kUsjJ?&-01r3(q=Fk;msL^MpMSPYq2To!lZhB{@C0OLC9oi;}NQ9+W&Hd0g_O zGr3&}4gzmojtoyx{pw`$L}C}oi-}FZ zKQa`*$}l-x-XMP_@0Rz-d*yv{ww%LN_Q{m@%eitc@iDAYe4D&oPLemvTjWGJnH|)p z$|-WR93e-_8|5f@6D|HOa=e_$-B;7w`>M>;zt=D7Kj@eA%W{@}MgNieZsN|7JT=ql zEXQ;I2=4CAyC?Iurnle9n{T7{qWL=cW|jPO?(WLFU)HZQy`6Xe(OMN5SQn>pPiOAz zLSNvkoM+OMNMMhdc25;%&v=SS|2C-gtlilSRvWM&`dr3Tv$r5kN)z0JWIQfvg zMh=pL<+XB%ypAXT|LXk<{~uhv-|TJK3h(eRyu!or36F3_;uRjn&Yz>5G1fCY9*^+N z_=9g@+|RA}geT(O?0KHN^jF5C_?oACU8>l{HA%_{ugJB$-S6$l|&P#*6uHhwbp zeP4Fd>@Nn2E5)^VZik5xVwAW|KEYn)&2~+fOYn-mCEu3s$am#?@^3OrF2y%`Vi)zM z9n|H=_(oUa2VI5FGavuvdOVt&@m?0-sr*vzkYCANcq{kHeX>Lb*kL^=!|bdcVORAy zzR5a#l1K1AelK0TjY=h{WYv;=(%Yysc2RGyI;c}sCv}=SU3F7u;6XeKKjC@or+(3i zebC>=7soE>>TfDbEyWj?t(N0ATc_5WRqFASZN@{k70+11UgYdTUaWR1pZXe4SPWlQ zE#9aWIu#$&ukctKAIyw6}+MWb5z^yvB(_t4MzVuS9@Y6M=i5!h`LvC*dC3!H*wb}v@gBiLKC7}R6<@*c3!KaywXLAXZT8@8mg<8$oj}&{LvS$S|FL>)ZC{+Yy{9G|dkMiRc46}1Z z9ezB4zmI)Lxpr8Qe)XM}4RoVk#8)Tq(FuHW3a?yOylo2q+d0;Ab^(5}B)nz)@pN5> z@5*D2c&H}oDfpX&z73xZF@3kbpQrA{^YjS*p@;P2-1)eEQZLZIqlWNu?j`+a?)bC* zD?Xwm{6+6E`s72rJ<=Y9_4|Cr8@~Xnxg!sM&Nl3{uZeTSrYyrplVpxqj)(Pk#5pEO zc%JGcnPXCVQs*S<|0HrnURx;B=VQG6pW}-!z+#?cxG#ReH;*Ubfk^W3q_Chpm;@d8 zA8C(f4_(2&9j1MBF&e?NL(gV>%K3~!>DQn$Mlx>1Xb98Cbb~We-pjrCL#d@4IZMu> zzR8rCc)5O0jfDlvf8yHB@^&XOMQhaw(e1;#-oO#}!xy;6&VP?;KeAV=?bTX)^%HYO|Ak|g`~$~jNRx7w@xGVMUC6C@ALCN_@{Js``X(J7zIA%*D0n79fj?3}+^IcDjp9JBHAo2#=pE=Aj#t9NtE()V)A z*0VV-(?8?5RL|v@qwnFErSIdIt+D&L`Yy+%Vl^^5!WktDMMsHT`)iCavNA?|&T)ju z=Qv3iYMPXu;+V0t4!Z9`YRZclf!6}fcm;h>X16MK9zpwcL~oA5N*|3zG$U#!(~oLw yrSqKm{9oWa&HshiO$!*;XLd2a7|ZGRjO+6{ud^0G5&!+H_8P&_r0y2yPyY*OzB)tz literal 0 HcmV?d00001 diff --git a/src/assets/fonts/Roboto/Roboto-Bold.ttf b/src/assets/fonts/Roboto/Roboto-Bold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..43da14d84ecb949ca5f5e8ecca3a514aa7fe1c7d GIT binary patch literal 167336 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

CI1`9yZA;krY|pfYv_=)r#TI})&gnG! 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 }T0zx*PitjbVP(pkGu*HnX1(-EMz?0WEMAX) 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 literal 0 HcmV?d00001 diff --git a/src/assets/fonts/Roboto/Roboto-Italic.ttf b/src/assets/fonts/Roboto/Roboto-Italic.ttf new file mode 100644 index 0000000000000000000000000000000000000000..1b5eaa361c7306b4246c48497c79475c0e05c5e2 GIT binary patch literal 170504 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 JyV?28{{co6(@+2a literal 0 HcmV?d00001 diff --git a/src/assets/fonts/Roboto/Roboto-Light.ttf b/src/assets/fonts/Roboto/Roboto-Light.ttf new file mode 100644 index 0000000000000000000000000000000000000000..e7307e72c5e7bced5d36c776d0986bf71b605f15 GIT binary patch literal 167000 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 T&&O!b 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

1!1exG)EK6u~BkmExnKuQI2?mS0J2 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 Og7zwfTI$9`zx;34o!sdF literal 0 HcmV?d00001 diff --git a/src/assets/fonts/Roboto/Roboto-LightItalic.ttf b/src/assets/fonts/Roboto/Roboto-LightItalic.ttf new file mode 100644 index 0000000000000000000000000000000000000000..2d277afb231f7613a49d983217c1aba871741433 GIT binary patch literal 173172 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 literal 0 HcmV?d00001 diff --git a/src/assets/fonts/Roboto/Roboto-Medium.ttf b/src/assets/fonts/Roboto/Roboto-Medium.ttf new file mode 100644 index 0000000000000000000000000000000000000000..ac0f908b9c9c73da558b45d65cc5c6094874d3e8 GIT binary patch literal 168644 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 X76wnEi(n^v8!x?bp_;lO!DIggn3ZN8 literal 0 HcmV?d00001 diff --git a/src/assets/fonts/Roboto/Roboto-MediumItalic.ttf b/src/assets/fonts/Roboto/Roboto-MediumItalic.ttf new file mode 100644 index 0000000000000000000000000000000000000000..fc36a4785c50c04c9b18260e4709cda077ed352d GIT binary patch literal 173416 zcma&P2Vhgx7eD^)cuCr(ZQ8U=TT1s}7brBe>^)^~WbeH<$SzB!$es$y)bv>t6hWDS zs6`M5h^RPFz=eRcdHsLxO<$Av_4oh%zJ5vik~Z(&bI(2Jb3W&s8-*x}5{?J1B(`kU zyhTA1*FuF>Xr?H1P|J=Tx*YmFZ=^yi?N^kc)mnDx)@0U#CDRqU<_krMT-%{bX3b4M z<_}S5`S6 z_^VH+DU?|7``IJ#g7rrD8+d;Pu2V;hoibzUH(Tc8{YHusQD@Bf!2?}EmETgxqn{Ne zFn;X7857J6SOTs;!0#uH8#s1o^V})t6`F?6V<8j9Po7dTP{DjEM2q()Od2{N=j-Kv zD>S7m#?(_$@t(pes4j&mCM7_zDxu1F&1wq^3(s*`Z7!uyJeuTVfP4%tR9s5)o-UeM zE}teg=p`={Tqw2%y);f0{H3OPp3I&ni+pkg-qfs~7lJ)6P@5~{X7w6LNnuGWjF2$G zl1Ocm#45P!(X-k51O07cy+fI<6Y6%WuBUrdvwJR`UKB=Wxckw5%V2D;A-=l?ox0&&*etcbdG=RbDP79)k*9L7Dj$pLc_> z7I@L-3dc}wt_b>|7M0pi~-{lZRt7_CEc zppZ(FlB&FuX`516S*RscsfuYRuE0z=y#P!vz?gUym zL`6BG%qElBoZ?JRcREbC%%*xkr(atg3<>K4Vwb*1$682?A+jhjz2d%78-Q_ zMC$gm{jPxf=3#?It|N=uO&sK0@X5h1Bfq+p@aL&{s~DXysNI-hRTqAB0Q+Ccq435HHoRGiR|Ra!>9`eJe!HkVo`9XnUR%a8WCOtHD*3SDuTt`u8-RiD@6Z27gkmk<*~194

>Lm_m;)d~S=y9Q;dl?qBN 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 z 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

S&jh1n&JeeMOkU4{=4@cYr6k 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≤FHXCuU9Qce=@vmZ{%9^5??OaVQJ8!4u8-w;yt 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 Aj{pDw literal 0 HcmV?d00001 diff --git a/src/assets/fonts/Roboto/Roboto-ThinItalic.ttf b/src/assets/fonts/Roboto/Roboto-ThinItalic.ttf new file mode 100644 index 0000000000000000000000000000000000000000..084f9c0f5365952d4d860431a1c2dca147e4a9b5 GIT binary patch literal 172860 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 E0iT6KoB#j- literal 0 HcmV?d00001 diff --git a/src/assets/i18n/en-US.json b/src/assets/i18n/en-US.json new file mode 100644 index 0000000..266b162 --- /dev/null +++ b/src/assets/i18n/en-US.json @@ -0,0 +1,7 @@ +{ + "i18n": { + "switch_lang": "Language selection", + "select_lang": "Select a language", + "help_us_translate": "Help us translate this website" + } +} diff --git a/src/assets/i18n/fr-FR.json b/src/assets/i18n/fr-FR.json new file mode 100644 index 0000000..2b7ea29 --- /dev/null +++ b/src/assets/i18n/fr-FR.json @@ -0,0 +1,7 @@ +{ + "i18n": { + "switch_lang": "Choix de la langue", + "select_lang": "Sélectionnez une langue", + "help_us_translate": "Aidez-nous à traduire ce site" + } +} diff --git a/src/assets/i18n/languages.json b/src/assets/i18n/languages.json new file mode 100644 index 0000000..e427f06 --- /dev/null +++ b/src/assets/i18n/languages.json @@ -0,0 +1,72 @@ +[ + { + "codes": ["en", "en-US", "en-GB"], + "filename": "en-US", + "label": "English", + "image": "assets/flags/en-GB.svg", + "direction": "ltr" + }, + { + "codes": ["fr", "fr-FR"], + "filename": "fr-FR", + "label": "Français", + "image": "assets/flags/fr-FR.svg", + "direction": "ltr" + }, + { + "codes": ["es", "es-ES"], + "filename": "es-ES", + "label": "Español", + "image": "assets/flags/es-ES.svg", + "direction": "ltr" + }, + { + "codes": ["de", "de-DE"], + "filename": "de-DE", + "label": "Deutsch", + "image": "assets/flags/de-DE.svg", + "direction": "ltr" + }, + { + "codes": ["it", "it-IT"], + "filename": "it-IT", + "label": "Italiano", + "image": "assets/flags/it-IT.svg", + "direction": "ltr" + }, + { + "codes": ["ru", "ru-RU"], + "filename": "ru-RU", + "label": "Русский", + "image": "assets/flags/ru-RU.svg", + "direction": "ltr" + }, + { + "codes": ["uk", "uk-UA"], + "filename": "uk-UA", + "label": "Українська", + "image": "assets/flags/uk-UA.svg", + "direction": "ltr" + }, + { + "codes": ["zh", "zh-CN"], + "filename": "zh-CN", + "label": "中文", + "image": "assets/flags/zh-CN.svg", + "direction": "ltr" + }, + { + "codes": ["ja", "ja-JP"], + "filename": "ja-JP", + "label": "日本語", + "image": "assets/flags/ja-JP.svg", + "direction": "ltr" + }, + { + "codes": ["ar", "ar-SA"], + "filename": "ar-SA", + "label": "العربية", + "image": "assets/flags/ar-SA.svg", + "direction": "rtl" + } +] diff --git a/src/main.ts b/src/main.ts index c58dc05..73754b1 100644 --- a/src/main.ts +++ b/src/main.ts @@ -1,7 +1,9 @@ import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; - import { AppModule } from './app/app.module'; +import './utils'; -platformBrowserDynamic().bootstrapModule(AppModule) - .catch(err => console.error(err)); +platformBrowserDynamic() + .bootstrapModule(AppModule) + // eslint-disable-next-line no-console + .catch((err) => console.error(err)); diff --git a/src/styles.scss b/src/styles.scss deleted file mode 100644 index 90d4ee0..0000000 --- a/src/styles.scss +++ /dev/null @@ -1 +0,0 @@ -/* You can add global styles to this file, and also import other style files */ diff --git a/src/utils/document.spec.ts b/src/utils/document.spec.ts new file mode 100644 index 0000000..0e063ae --- /dev/null +++ b/src/utils/document.spec.ts @@ -0,0 +1,13 @@ +import { isRTL } from './document'; + +describe('document', () => { + it('should be able to determine if the document is in rtl mode', () => { + document.documentElement.dir = 'rtl'; + expect(isRTL()).toBe(true); + }); + + it('should be able to determine if the document is in ltr mode', () => { + document.documentElement.dir = 'ltr'; + expect(isRTL()).toBe(false); + }); +}); diff --git a/src/utils/document.ts b/src/utils/document.ts new file mode 100644 index 0000000..8e50c70 --- /dev/null +++ b/src/utils/document.ts @@ -0,0 +1,7 @@ +/** + * Determines if the document is in rtl mode. + * @returns {boolean} true if the text is rtl, false otherwise + */ +export function isRTL(): boolean { + return document.documentElement.dir === 'rtl'; +} diff --git a/src/utils/i18n.spec.ts b/src/utils/i18n.spec.ts new file mode 100644 index 0000000..4783aa5 --- /dev/null +++ b/src/utils/i18n.spec.ts @@ -0,0 +1,91 @@ +import { TestBed } from '@angular/core/testing'; +import { HttpClient } from '@angular/common/http'; +import { HttpClientTestingModule, HttpTestingController } from '@angular/common/http/testing'; +import { HttpLoaderFactory, TranslateHttpLoader, getAllKeysOfObject, getLanguage, getLanguageDirection } from './i18n'; + +describe('i18n', () => { + let httpTestingController: HttpTestingController; + let translateHttpLoader: TranslateHttpLoader; + + beforeEach(() => { + TestBed.configureTestingModule({ + imports: [HttpClientTestingModule], + providers: [{ provide: TranslateHttpLoader, useFactory: HttpLoaderFactory, deps: [HttpClient] }], + }); + + httpTestingController = TestBed.inject(HttpTestingController); + translateHttpLoader = TestBed.inject(TranslateHttpLoader); + }); + + afterEach(() => { + httpTestingController.verify(); + }); + + describe('getLanguage', () => { + it('should return the language filename for the given language code', () => { + expect(getLanguage('en')).toBe('en-US'); + }); + + it('should return the default language filename if no matching language is found', () => { + expect(getLanguage('does-not-exist')).toBe('en-US'); + }); + }); + + describe('getLanguageDirection', () => { + it('should return the direction of the given language', () => { + expect(getLanguageDirection('ar-SA')).toBe('rtl'); + }); + + it('should return the default language direction if no matching language is found', () => { + expect(getLanguageDirection('does-not-exist')).toBe('ltr'); + }); + }); + + describe('getAllKeysOfObject', () => { + it('should return all keys of the object and its nested objects', () => { + const obj = { a: 1, b: { c: 2, d: 3 } }; + expect(getAllKeysOfObject(obj)).toEqual(['a', 'b.c', 'b.d']); + }); + }); + + describe('TranslateHttpLoader', () => { + it('should load the base language file and merge it with the given language file', () => { + const langData = { + greeting: 'Hello', + farewell: 'Goodbye', + }; + + const baseLangData = { + greeting: 'Hello', + question: 'How are you?', + }; + + translateHttpLoader.getTranslation('fr-FR').subscribe((mergedData) => { + expect(mergedData).toEqual(Object.merge(baseLangData, langData)); + }); + + const langRequest = httpTestingController.expectOne('./assets/i18n/fr-FR.json'); + langRequest.flush(langData); + + const baseLangRequest = httpTestingController.expectOne('./assets/i18n/en-US.json'); + baseLangRequest.flush(baseLangData); + }); + + it('should gracefully handle errors when loading the language file', () => { + const baseLangData = { + greeting: 'Hello', + question: 'How are you?', + }; + + translateHttpLoader.getTranslation('invalid').subscribe((mergedData) => { + expect(mergedData).toEqual(Object.merge(baseLangData)); + }); + + const langRequest = httpTestingController.expectOne('./assets/i18n/invalid.json'); + langRequest.error(new ProgressEvent('error'), { status: 404 }); + + const baseLangRequest = httpTestingController.expectOne('./assets/i18n/en-US.json'); + baseLangRequest.flush(baseLangData); + }); + }); +}); diff --git a/src/utils/i18n.ts b/src/utils/i18n.ts new file mode 100644 index 0000000..63b527d --- /dev/null +++ b/src/utils/i18n.ts @@ -0,0 +1,118 @@ +import LANGS from '../assets/i18n/languages.json'; +import { Observable, catchError, forkJoin, from, map, of, switchMap } from 'rxjs'; +import { TranslateLoader } from '@ngx-translate/core'; +import { HttpClient } from '@angular/common/http'; +import { Inject, Injectable } from '@angular/core'; + +export const LANGUAGES: ILanguage[] = LANGS as unknown as ILanguage[]; +export const DEFAULT_LANGUAGE = 'en-US'; + +export interface ILanguage { + /** Accepted codes for the language, ex: 'en-US', 'en', 'en-GB' */ + codes: string[]; + /** The name of the file within the i18n asset folder */ + filename: string; + /** The label to display in the language selector */ + label: string; + /** The image to display in the language selector */ + image: string; + /** The direction of the language */ + direction: 'ltr' | 'rtl'; +} + +/** + * Get the language filename from the given language code + * @param {string} lang language code to be analyzed + * @returns {string} The filename of the language within the i18n asset folder + * + * @example getLanguage('en-US') // en-US.json + * @example getLanguage('en') // en-US.json + * @example getLanguage('does-not-exist') // en-US.json + */ +export function getLanguage(lang: string): string { + const language = LANGUAGES.filter((l) => l.codes.includes(lang))[0]; + return language?.filename ?? DEFAULT_LANGUAGE; +} + +/** + * Get the read direction of the given language + * @param {string} lang language code to be analyzed + * @returns {ILanguage['direction']} The read direction of the language + */ +export function getLanguageDirection(lang: string): ILanguage['direction'] { + const language: ILanguage | undefined = LANGUAGES.filter((l) => l.codes.includes(lang))[0]; + return language?.direction ?? getLanguageDirection(DEFAULT_LANGUAGE); +} + +/** + * Get all keys of an object recursively + * @param {Record} obj the object to get the keys from + * @returns {Array} The keys of the object & its nested objects + * + * @example getAllKeysOfObject({ a: 1, b: { c: 2, d: 3 } }) // ['a', 'b.c', 'b.d'] + */ +export function getAllKeysOfObject(obj: Record): string[] { + const keys: string[] = []; + for (const key in obj) { + if (typeof obj[key] === 'object') { + const nestedKeys = getAllKeysOfObject(obj[key] as Record); + keys.push(...nestedKeys.map((nestedKey) => `${key}.${nestedKey}`)); + } else keys.push(key); + } + return keys; +} + +/** + * Get the completion of a language based on the default language (English) + * @param {string} lang the language to get the completion of + * @returns {Observable} The completion of the language in percentage + */ +export function getLanguageCompletion(lang: string): Observable { + return from(import(`../assets/i18n/${DEFAULT_LANGUAGE}.json`)).pipe( + switchMap((base) => + from(import(`../assets/i18n/${getLanguage(lang)}.json`)).pipe( + map((language) => { + const baseKeys = getAllKeysOfObject(base); + const languageKeys = getAllKeysOfObject(language); + const missingKeys = baseKeys.filter((key) => !languageKeys.includes(key)); + return Math.floor((1 - missingKeys.length / baseKeys.length) * 100); + }), + catchError(() => of(0)), + ), + ), + ); +} + +/** + * Reimplement the TranslateHttpLoader to load the base language (English) + * and merge it with the given language + */ +@Injectable() +export class TranslateHttpLoader implements TranslateLoader { + public constructor( + private http: HttpClient, + @Inject(String) public prefix: string, + @Inject(String) public suffix: string, + ) {} + + public getTranslation(lang: string): Observable { + const langFile = `${this.prefix}${lang}${this.suffix}`; + const baseLangFile = `${this.prefix}${DEFAULT_LANGUAGE}${this.suffix}`; + + const langFile$ = this.http.get(langFile).pipe(catchError(() => of({}))); + const baseLangFile$ = this.http.get(baseLangFile); + + return forkJoin([langFile$, baseLangFile$]).pipe( + map(([langData, baseLangData]) => Object.merge(baseLangData, langData)), + ); + } +} + +/** + * Factory function to create the TranslateHttpLoader + * @param {HttpClient} http the HttpClient to be used by the TranslateHttpLoader + * @returns {TranslateHttpLoader} The TranslateHttpLoader + */ +export function HttpLoaderFactory(http: HttpClient): TranslateHttpLoader { + return new TranslateHttpLoader(http, './assets/i18n/', '.json'); +} diff --git a/src/utils/index.ts b/src/utils/index.ts new file mode 100644 index 0000000..1061599 --- /dev/null +++ b/src/utils/index.ts @@ -0,0 +1,3 @@ +export * from './i18n'; +export * from './object'; +export * from './document'; diff --git a/src/utils/object.spec.ts b/src/utils/object.spec.ts new file mode 100644 index 0000000..cda42fe --- /dev/null +++ b/src/utils/object.spec.ts @@ -0,0 +1,29 @@ +import './object'; + +describe('object', () => { + describe('isObject', () => { + it('should return true if the given item is a JS Object', () => { + expect(Object.isObject({})).toBeTrue(); + expect(Object.isObject({ a: 1 })).toBeTrue(); + expect(Object.isObject({ a: 1, b: {} })).toBeTrue(); + }); + + it('should return false if the given item is not a JS Object', () => { + expect(Object.isObject([])).toBeFalse(); + expect(Object.isObject('')).toBeFalse(); + expect(Object.isObject(1)).toBeFalse(); + expect(Object.isObject(true)).toBeFalse(); + expect(Object.isObject(null)).toBeFalse(); + expect(Object.isObject(undefined)).toBeFalse(); + }); + }); + + describe('merge', () => { + it('should merge two or more objects into the first one', () => { + expect(Object.merge({ a: 1, b: 2 }, { b: 3, c: { d: 1 } })).toEqual({ a: 1, b: 3, c: { d: 1 } }); + expect(Object.merge({}, { a: 1 })).toEqual({ a: 1 }); + expect(Object.merge({ a: 1 }, {})).toEqual({ a: 1 }); + expect(Object.merge({ a: true }, { b: '2' }, { c: 3 })).toEqual({ a: true, b: '2', c: 3 }); + }); + }); +}); diff --git a/src/utils/object.ts b/src/utils/object.ts new file mode 100644 index 0000000..c32df62 --- /dev/null +++ b/src/utils/object.ts @@ -0,0 +1,59 @@ +export {}; + +declare global { + interface Object { + /** + * Deep merge two or more objects into the first one + * @param {object} target The object to merge into + * @param {...object} sources The objects to merge into the target + * + * @example Object.merge({ a: 1, b: 2 }, { b: 3, c: 4 }) // { a: 1, b: 3, c: 4 } + * @example Object.merge({ a: 1, b: { c: 2, d: 3 } }, { b: { d: 4, e: 5 } }) // { a: 1, b: { c: 2, d: 4, e: 5 } } + */ + merge(target: object, ...sources: object[]): object; + + /** + * Check if the given item is a JS Object + * @param {unknown} item to be tested + * @returns {boolean} true if the item is a JS Object + * + * @example Object.isObject({}) // true + * @example Object.isObject({ a: 1 }) // true + * @example Object.isObject({ a: 1, b: {} }) // true + * @example Object.isObject([]) // false + */ + isObject(item: unknown): boolean; + } +} + +if (!Object.prototype.isObject) { + Object.defineProperty(Object.prototype, 'isObject', { + value: (item: unknown): boolean => { + return item !== undefined && item !== null && typeof item === 'object' && !Array.isArray(item); + }, + configurable: true, + writable: true, + }); +} + +if (!Object.prototype.merge) { + Object.defineProperty(Object.prototype, 'merge', { + value: (target: object, ...sources: object[]) => { + if (!sources.length) return target; + const source: Record = sources.shift() as Record; + + if (Object.isObject(target) && Object.isObject(source)) { + for (const key in source) { + if (Object.isObject(source[key])) { + if (!(target as Record)[key]) Object.assign(target, { [key]: {} }); + Object.merge((target as Record)[key], source[key] as object); + } else Object.assign(target, { [key]: source[key] }); + } + } + + return Object.merge(target, ...sources); + }, + configurable: true, + writable: true, + }); +} diff --git a/tsconfig.json b/tsconfig.json index ed966d4..67c0fc7 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -19,6 +19,9 @@ "target": "ES2022", "module": "ES2022", "useDefineForClassFields": false, + "resolveJsonModule": true, + "esModuleInterop": true, + "allowSyntheticDefaultImports": true, "lib": [ "ES2022", "dom" From 3c153ee73a348e30baad64bb9e7e3b8eb992c8ba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Th=C3=A9o=20Durr?= <03ht@theodurr.fr> Date: Fri, 13 Oct 2023 22:11:33 +0200 Subject: [PATCH 004/146] feat(core) : Upgraded to angular v16 and added angular-eslint (#19) * Upgraded packages to their latest version * Specified minimum version of node to use * Upgraded to angular v16 * Setup up eslint to angular standards * Edited component prefix to 'sith' * Fixed prefixes and eslint issues * Fixed last eslint error * Fixed prettier config & formatted files * Fixed prettier config (again) --- .editorconfig | 4 + .eslintrc.js | 23 - .eslintrc.json | 47 + .github/CODE_OF_CONDUCT.md | 20 +- .github/CONTRIBUTING.md | 8 +- .github/ISSUE_TEMPLATE/bug_report.yml | 6 +- .github/ISSUE_TEMPLATE/feature_report.yml | 7 +- .github/PULL_REQUEST_TEMPLATE.md | 34 +- .github/workflows/linting.yml | 1 - .github/workflows/update.yml | 4 +- .gitignore | 3 + .prettierignore | 9 + .prettierrc | 25 +- .stylelintrc.js | 18 +- .vscode/launch.json | 21 +- README.md | 3 +- angular.json | 20 +- package.json | 65 +- pnpm-lock.yaml | 5231 ++++++++++------- src/app/app.component.ts | 6 +- .../common/icons/expand_less/expand_less.ts | 2 +- .../common/icons/expand_more/expand_more.ts | 2 +- src/app/components/common/icons/icons.scss | 4 +- .../common/select/select.component.ts | 2 +- src/app/components/common/select/select.html | 39 +- src/app/components/common/select/select.scss | 162 +- .../lang-selector/lang-selector.component.ts | 2 +- .../mobile/lang-selector/lang-selector.html | 10 +- .../mobile/lang-selector/lang-selector.scss | 56 +- .../mobile/subtitle/subtitle.component.ts | 2 +- .../components/mobile/subtitle/subtitle.scss | 26 +- .../pages/404/not-found.component.ts | 2 +- .../components/pages/home/home.component.ts | 2 +- src/app/components/pages/home/home.html | 2 +- src/app/styles/inter.scss | 72 +- src/app/styles/roboto.scss | 96 +- src/app/styles/styles.scss | 16 +- src/assets/i18n/languages.json | 153 +- src/index.html | 20 +- tsconfig.json | 4 +- 40 files changed, 3639 insertions(+), 2590 deletions(-) delete mode 100644 .eslintrc.js create mode 100644 .eslintrc.json create mode 100644 .prettierignore diff --git a/.editorconfig b/.editorconfig index a31c901..f844960 100644 --- a/.editorconfig +++ b/.editorconfig @@ -7,6 +7,7 @@ indent_style = tab indent_size = 2 insert_final_newline = true trim_trailing_whitespace = true +end_of_line = lf [*.ts] quote_type = single @@ -17,3 +18,6 @@ trim_trailing_whitespace = false [*.yml] indent_style = space + +[*.json] +indent_style = space diff --git a/.eslintrc.js b/.eslintrc.js deleted file mode 100644 index 60a3af1..0000000 --- a/.eslintrc.js +++ /dev/null @@ -1,23 +0,0 @@ -module.exports = { - parser: '@typescript-eslint/parser', - parserOptions: { - project: 'tsconfig.json', - tsconfigRootDir: __dirname, - sourceType: 'module', - }, - plugins: ['@typescript-eslint/eslint-plugin', 'html'], - extends: ['plugin:@typescript-eslint/recommended', 'plugin:prettier/recommended'], - root: true, - env: { - node: true, - jest: true, - }, - ignorePatterns: ['.eslintrc.js'], - rules: { - '@typescript-eslint/interface-name-prefix': 'off', - '@typescript-eslint/explicit-function-return-type': 'off', - '@typescript-eslint/explicit-module-boundary-types': 'off', - '@typescript-eslint/explicit-member-accessibility': 'error', - 'no-console': 'warn', - }, -}; diff --git a/.eslintrc.json b/.eslintrc.json new file mode 100644 index 0000000..6ccfd5c --- /dev/null +++ b/.eslintrc.json @@ -0,0 +1,47 @@ +{ + "root": true, + "ignorePatterns": [ + "projects/**/*" + ], + "overrides": [ + { + "files": [ + "*.ts" + ], + "extends": [ + "eslint:recommended", + "plugin:@typescript-eslint/recommended", + "plugin:@angular-eslint/recommended", + "plugin:@angular-eslint/template/process-inline-templates" + ], + "rules": { + "@angular-eslint/directive-selector": [ + "error", + { + "type": "attribute", + "prefix": "sith", + "style": "camelCase" + } + ], + "@angular-eslint/component-selector": [ + "error", + { + "type": "element", + "prefix": "sith", + "style": "kebab-case" + } + ] + } + }, + { + "files": [ + "*.html" + ], + "extends": [ + "plugin:@angular-eslint/template/recommended", + "plugin:@angular-eslint/template/accessibility" + ], + "rules": {} + } + ] +} diff --git a/.github/CODE_OF_CONDUCT.md b/.github/CODE_OF_CONDUCT.md index 09759bc..67cada0 100644 --- a/.github/CODE_OF_CONDUCT.md +++ b/.github/CODE_OF_CONDUCT.md @@ -8,19 +8,19 @@ Dans le but de favoriser un environnement ouvert et accueillant, nous, en tant q Les exemples de comportements qui contribuent à un environnement positif pour notre communauté : -* Faire preuve d'empathie et de gentillesse envers les autres. -* Respecter les opinions, les points de vue et les expériences différentes. -* Émettre et accepter les commentaires constructifs -* Accepter la responsabilité et s'excuser auprès des personnes affectées par nos erreurs, et apprendre de l'expérience -* Se concentrer sur ce qui est le mieux non seulement pour nous en tant qu'individus, mais pour la communauté dans son ensemble +- Faire preuve d'empathie et de gentillesse envers les autres. +- Respecter les opinions, les points de vue et les expériences différentes. +- Émettre et accepter les commentaires constructifs +- Accepter la responsabilité et s'excuser auprès des personnes affectées par nos erreurs, et apprendre de l'expérience +- Se concentrer sur ce qui est le mieux non seulement pour nous en tant qu'individus, mais pour la communauté dans son ensemble Voici quelques exemples de comportements inacceptables : -* l'utilisation d'un langage ou d'images à caractère sexuel, et les attentions ou avances sexuelles. -* le trollage, les commentaires insultants ou désobligeants et les attaques personnelles ou politiques -* le harcèlement public ou privé -* la publication d'informations privées d'autrui, telles qu'une adresse physique ou électronique, sans leur permission explicite. -* toute autre conduite qui pourrait raisonnablement être considérée comme inappropriée dans un cadre professionnel. +- l'utilisation d'un langage ou d'images à caractère sexuel, et les attentions ou avances sexuelles. +- le trollage, les commentaires insultants ou désobligeants et les attaques personnelles ou politiques +- le harcèlement public ou privé +- la publication d'informations privées d'autrui, telles qu'une adresse physique ou électronique, sans leur permission explicite. +- toute autre conduite qui pourrait raisonnablement être considérée comme inappropriée dans un cadre professionnel. ## Nos responsabilités diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index 94b8b34..79cd9b0 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -1,4 +1,5 @@ + # Contribuer au Sith 4 Premièrement, merci de prendre le temps de contribuer ! ❤️ @@ -13,6 +14,7 @@ Tout type de contributions sont encouragée et valorisée. Veuillez consulter la > - Mentioner le projet lors de réunion locales et parler-en à vos amis/collègues + ## Table des matières - [Code de conduite](#code-de-conduite) @@ -49,13 +51,14 @@ Nous nous occuperons alors du problème dans les plus brefs délais. ### Rapporter des Bugs + #### Avant de rapporter un bug Une bonne issue ne doit pas laisser les autres vous courir après afin d'obtenir davantage d'information. Ainsi, nous vous demandons d'enquêter attentivement, de collecter des informations et décrire le problème en détail dans votre rapport. Veuillez compléter les étapes suivantes à l'avance pour nous aider à résoudre le bug potentiel le plus rapidement possible. - Assurez-vous d'utiliser la dernière version. - Vérifiez si votre bug n'est pas en fait une erreur de votre côté, par exemple en utilisant des composants d'environnement/incompatibles (assurez-vous d'avoir lu la [documentation](https://github.com/ae-utbm/api/wiki). -Si vous recherchez de l'aide, vous pouvez consulter [cette section](#jai-une-question)). + Si vous recherchez de l'aide, vous pouvez consulter [cette section](#jai-une-question)). - Pour voir si d'autres utilisateurs ont expérimentés (et potentiellement déjà résolu) le même problème que vous rencontrez, vérifiez si il n'y a pas déjà un rapport de bug existant pour votre bug ou erreur dans le [bug tracker](https://github.com/ae-utbm/sith4/issues?q=is%3Aissue+is%3Aclosed) - Assurez-vous de rechercher sur internet (y compris Stack Overflow) pour voir si d'autres utilisateurs hors de la communauté GitHub ont discuté du problème. - Collectez des informations sur le bug : @@ -73,7 +76,7 @@ Nous utilisons les issues GitHub pour suivre les bugs et les erreurs. Si vous re - Ouvrez une [issue](https://github.com/ae-utbm/sith4/issues/new). (Comme nous ne pouvons pas être sûrs à ce stade de savoir si c'est un bug ou non, nous vous demandons de ne pas parler de bug et de ne pas ajouter de tag sur l'issue.) - Expliquer le comportement que vous attendez et le comportement réel. -- Veuillez fournir autant de contexte que possible et décrire les *étapes de reproduction* que quelqu'un d'autre peut suivre pour recréer le problème sur son propre ordinateur. Cela inclut généralement votre code. Pour de bons rapports de bugs, vous devez isoler le problème et créer un cas de test réduit. +- Veuillez fournir autant de contexte que possible et décrire les _étapes de reproduction_ que quelqu'un d'autre peut suivre pour recréer le problème sur son propre ordinateur. Cela inclut généralement votre code. Pour de bons rapports de bugs, vous devez isoler le problème et créer un cas de test réduit. - Si vous en avez la possibilité, incluez des captures d'écran et des vidéos qui montrent le problème. Une fois que c'est fait : @@ -89,6 +92,7 @@ Cette section vous guide Cette section vous guide tout au long de la soumission d'une suggestion d'amélioration pour le Sith 4, **incluant des fonctionnalités entièrement nouvelles et des améliorations mineures des fonctionnalités existantes**. Suivre ces directives aidera les mainteneurs et la communauté à comprendre votre suggestion et à trouver des suggestions connexes. + #### Avant de soumettre une amélioration - Assurez-vous que vous utilisez la dernière version. diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml index c3a6e9d..cc93dd0 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -1,8 +1,8 @@ name: 🐛 Rapport de bug description: Remplissez un rapport de bug -title: "[BUG] " -labels: ["type: bug", "status: triage"] -assignees: "developers-v4" +title: '[BUG] ' +labels: ['type: bug', 'status: triage'] +assignees: 'developers-v4' body: - type: markdown attributes: diff --git a/.github/ISSUE_TEMPLATE/feature_report.yml b/.github/ISSUE_TEMPLATE/feature_report.yml index 2d963a9..03d2c6d 100644 --- a/.github/ISSUE_TEMPLATE/feature_report.yml +++ b/.github/ISSUE_TEMPLATE/feature_report.yml @@ -1,8 +1,8 @@ name: ✨ Suggestion d'amélioration description: Suggérez une idée pour le projet -title: "[FEATURE] " -labels: ["type: feature", "status: triage"] -assignees: "developers-v4" +title: '[FEATURE] ' +labels: ['type: feature', 'status: triage'] +assignees: 'developers-v4' body: - type: markdown attributes: @@ -37,4 +37,3 @@ body: options: - label: "J'accepte de suivre le code de conduite de ce projet" required: true - \ No newline at end of file diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index b5bc85b..889c469 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -1,28 +1,32 @@ - - [ ] J'ai lu [le code de conduite]('https://github.com/ae-utbm/sith4/blob/main/.github/CODE_OF_CONDUCT.md'). ## Ajouts -- -- -- + +- +- +- ## Changements -- -- -- + +- +- +- ## Fixes -- -- -- + +- +- +- ## Autre informations -- -- -- + +- +- +- diff --git a/.github/workflows/linting.yml b/.github/workflows/linting.yml index c968191..a16d899 100644 --- a/.github/workflows/linting.yml +++ b/.github/workflows/linting.yml @@ -5,7 +5,6 @@ on: workflow_dispatch: jobs: - lint: runs-on: ubuntu-latest diff --git a/.github/workflows/update.yml b/.github/workflows/update.yml index 3d7dfb9..e2a7cc8 100644 --- a/.github/workflows/update.yml +++ b/.github/workflows/update.yml @@ -3,9 +3,9 @@ name: PR/Push update on: pull_request: - branches: [ main, develop ] + branches: [main, develop] push: - branches: [ main, develop ] + branches: [main, develop] jobs: execute-lint: diff --git a/.gitignore b/.gitignore index 0711527..7ab6a4a 100644 --- a/.gitignore +++ b/.gitignore @@ -40,3 +40,6 @@ testem.log # System files .DS_Store Thumbs.db + +# Eslint reports +eslint.json diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 0000000..a333abc --- /dev/null +++ b/.prettierignore @@ -0,0 +1,9 @@ +# ignore generated files +.angular +coverage +dist +temp +src/database/migrations +src/exported/api/@types/i18n.d.ts +pnpm-lock.yaml +package.json diff --git a/.prettierrc b/.prettierrc index 71eac2b..e25d51d 100644 --- a/.prettierrc +++ b/.prettierrc @@ -1,10 +1,19 @@ { - "singleQuote": true, - "trailingComma": "all", - "semi": true, - "printWidth": 120, - "useTabs": true, - "bracketSpacing": true, - "arrowParens": "always", - "parser": "typescript" + "singleQuote": true, + "trailingComma": "all", + "semi": true, + "printWidth": 120, + "useTabs": true, + "bracketSpacing": true, + "arrowParens": "always", + "endOfLine": "lf", + "overrides": [ + { + "files": "*.json", + "options": { + "printWidth": 10, + "useTabs": false + } + } + ] } diff --git a/.stylelintrc.js b/.stylelintrc.js index 477423a..e09d7e5 100644 --- a/.stylelintrc.js +++ b/.stylelintrc.js @@ -1,10 +1,10 @@ module.exports = { - extends: ['stylelint-config-standard-scss'], - plugins: ['stylelint-scss'], - overrides: [ - { - files: ['*.scss', '**/*.scss'], - customSyntax: 'postcss-scss', - }, - ] -} + extends: ['stylelint-config-standard-scss'], + plugins: ['stylelint-scss'], + overrides: [ + { + files: ['*.scss', '**/*.scss'], + customSyntax: 'postcss-scss', + }, + ], +}; diff --git a/.vscode/launch.json b/.vscode/launch.json index 98d4130..9b64eda 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -7,24 +7,33 @@ "type": "node", "request": "launch", "runtimeExecutable": "pnpm", - "args": ["run", "start"], - "console": "integratedTerminal", + "args": [ + "run", + "start" + ], + "console": "integratedTerminal" }, { "name": "Run tests", "type": "node", "request": "launch", "runtimeExecutable": "pnpm", - "args": ["run", "test"], - "console": "integratedTerminal", + "args": [ + "run", + "test" + ], + "console": "integratedTerminal" }, { "name": "Lint", "type": "node", "request": "launch", "runtimeExecutable": "pnpm", - "args": ["run", "lint"], - "console": "integratedTerminal", + "args": [ + "run", + "lint" + ], + "console": "integratedTerminal" } ] } diff --git a/README.md b/README.md index 915f9cf..f236790 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,7 @@ # Sith v4 + [![Discord](https://img.shields.io/badge/Discord-%235865F2.svg?style=for-the-badge&logo=discord&logoColor=white)](https://discord.gg/XK9WfPsUFm) [![GitHub issues](https://img.shields.io/github/issues/ae-utbm/sith4?style=for-the-badge)](https://GitHub.com/ae-utbm/sith4/issues) -[![GitHub pull requests](https://img.shields.io/github/issues-pr/ae-utbm/sith4?style=for-the-badge)](https://GitHub.com/ae-utbm/sith4/issues) \ No newline at end of file +[![GitHub pull requests](https://img.shields.io/github/issues-pr/ae-utbm/sith4?style=for-the-badge)](https://GitHub.com/ae-utbm/sith4/issues) diff --git a/angular.json b/angular.json index 0badad2..239d675 100644 --- a/angular.json +++ b/angular.json @@ -12,7 +12,7 @@ }, "root": "", "sourceRoot": "src", - "prefix": "app", + "prefix": "sith", "architect": { "build": { "builder": "@angular-devkit/build-angular:browser", @@ -93,17 +93,29 @@ "src/assets" ], "styles": [ - "src/app/styles/styles.scss" + "src/app/styles/styles.scss" ], "scripts": [], "karmaConfig": "karma.conf.js", - "codeCoverage": true + "codeCoverage": true + } + }, + "lint": { + "builder": "@angular-eslint/builder:lint", + "options": { + "lintFilePatterns": [ + "src/**/*.ts", + "src/**/*.html" + ] } } } } }, "cli": { - "analytics": false + "analytics": false, + "schematicCollections": [ + "@angular-eslint/schematics" + ] } } diff --git a/package.json b/package.json index c167154..d67266b 100644 --- a/package.json +++ b/package.json @@ -1,53 +1,64 @@ { + "engines": { + "node": ">=18.0.0" + }, "name": "sith", "version": "4.0.0", "scripts": { "ng": "ng", "start": "ng serve", "build": "ng build", - "lint": "eslint \"{src,test}/**/*.{ts,js,html}\" --fix && npx stylelint {src,test}/**/*.scss --fix", + "lint": "ng lint", + "lint:report": "eslint src/app -f json -o ./eslint.json", + "lint:fix": "ng lint --fix", + "prettier": "prettier --write .", "watch": "ng build --watch --configuration development", "test": "ng test" }, "private": true, "dependencies": { - "@angular/animations": "^15.2.7", - "@angular/common": "^15.2.7", - "@angular/compiler": "^15.2.7", - "@angular/core": "^15.2.7", - "@angular/forms": "^15.2.7", - "@angular/platform-browser": "^15.2.7", - "@angular/platform-browser-dynamic": "^15.2.7", - "@angular/router": "^15.2.7", + "@angular/animations": "^16.2.9", + "@angular/common": "^16.2.9", + "@angular/compiler": "^16.2.9", + "@angular/core": "^16.2.9", + "@angular/forms": "^16.2.9", + "@angular/platform-browser": "^16.2.9", + "@angular/platform-browser-dynamic": "^16.2.9", + "@angular/router": "^16.2.9", "@ngx-translate/core": "^14.0.0", "@ngx-translate/http-loader": "^7.0.0", - "rxjs": "~7.8.0", - "tslib": "^2.5.0", - "zone.js": "~0.12.0" + "rxjs": "~7.8.1", + "tslib": "^2.6.2", + "zone.js": "~0.13.3" }, "devDependencies": { - "@angular-devkit/build-angular": "^15.2.6", - "@angular/cli": "~15.2.6", - "@angular/compiler-cli": "^15.2.7", - "@types/jasmine": "~4.3.1", - "@types/node": "^18.15.11", - "@typescript-eslint/eslint-plugin": "^5.58.0", - "@typescript-eslint/parser": "^5.58.0", - "eslint": "^8.38.0", - "eslint-config-prettier": "^8.8.0", + "@angular-devkit/build-angular": "^16.2.6", + "@angular-eslint/builder": "16.2.0", + "@angular-eslint/eslint-plugin": "16.2.0", + "@angular-eslint/eslint-plugin-template": "16.2.0", + "@angular-eslint/schematics": "16.2.0", + "@angular-eslint/template-parser": "16.2.0", + "@angular/cli": "~16.2.6", + "@angular/compiler-cli": "^16.2.9", + "@types/jasmine": "~4.3.6", + "@types/node": "^18.18.5", + "@typescript-eslint/eslint-plugin": "5.62.0", + "@typescript-eslint/parser": "5.62.0", + "eslint": "^8.49.0", + "eslint-config-prettier": "^8.10.0", "eslint-plugin-html": "^7.1.0", "eslint-plugin-prettier": "^4.2.1", "jasmine-core": "~4.5.0", - "karma": "~6.4.1", + "karma": "~6.4.2", "karma-chrome-launcher": "~3.1.1", - "karma-coverage": "^2.2.0", + "karma-coverage": "^2.2.1", "karma-jasmine": "~5.1.0", "karma-jasmine-html-reporter": "~2.0.0", - "prettier": "^2.8.7", - "puppeteer": "^19.9.0", - "stylelint": "^15.4.0", + "prettier": "^2.8.8", + "puppeteer": "^19.11.1", + "stylelint": "^15.10.3", "stylelint-config-standard-scss": "^8.0.0", - "stylelint-scss": "^4.6.0", + "stylelint-scss": "^4.7.0", "typescript": "~4.9.5" }, "browser": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index cade81f..0272932 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1,125 +1,141 @@ lockfileVersion: '6.0' +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + dependencies: '@angular/animations': - specifier: ^15.2.7 - version: 15.2.7(@angular/core@15.2.7) + specifier: ^16.2.9 + version: 16.2.9(@angular/core@16.2.9) '@angular/common': - specifier: ^15.2.7 - version: 15.2.7(@angular/core@15.2.7)(rxjs@7.8.0) + specifier: ^16.2.9 + version: 16.2.9(@angular/core@16.2.9)(rxjs@7.8.1) '@angular/compiler': - specifier: ^15.2.7 - version: 15.2.7(@angular/core@15.2.7) + specifier: ^16.2.9 + version: 16.2.9(@angular/core@16.2.9) '@angular/core': - specifier: ^15.2.7 - version: 15.2.7(rxjs@7.8.0)(zone.js@0.12.0) + specifier: ^16.2.9 + version: 16.2.9(rxjs@7.8.1)(zone.js@0.13.3) '@angular/forms': - specifier: ^15.2.7 - version: 15.2.7(@angular/common@15.2.7)(@angular/core@15.2.7)(@angular/platform-browser@15.2.7)(rxjs@7.8.0) + specifier: ^16.2.9 + version: 16.2.9(@angular/common@16.2.9)(@angular/core@16.2.9)(@angular/platform-browser@16.2.9)(rxjs@7.8.1) '@angular/platform-browser': - specifier: ^15.2.7 - version: 15.2.7(@angular/animations@15.2.7)(@angular/common@15.2.7)(@angular/core@15.2.7) + specifier: ^16.2.9 + version: 16.2.9(@angular/animations@16.2.9)(@angular/common@16.2.9)(@angular/core@16.2.9) '@angular/platform-browser-dynamic': - specifier: ^15.2.7 - version: 15.2.7(@angular/common@15.2.7)(@angular/compiler@15.2.7)(@angular/core@15.2.7)(@angular/platform-browser@15.2.7) + specifier: ^16.2.9 + version: 16.2.9(@angular/common@16.2.9)(@angular/compiler@16.2.9)(@angular/core@16.2.9)(@angular/platform-browser@16.2.9) '@angular/router': - specifier: ^15.2.7 - version: 15.2.7(@angular/common@15.2.7)(@angular/core@15.2.7)(@angular/platform-browser@15.2.7)(rxjs@7.8.0) + specifier: ^16.2.9 + version: 16.2.9(@angular/common@16.2.9)(@angular/core@16.2.9)(@angular/platform-browser@16.2.9)(rxjs@7.8.1) '@ngx-translate/core': specifier: ^14.0.0 - version: 14.0.0(@angular/core@15.2.7)(rxjs@7.8.0) + version: 14.0.0(@angular/core@16.2.9)(rxjs@7.8.1) '@ngx-translate/http-loader': specifier: ^7.0.0 - version: 7.0.0(@angular/common@15.2.7)(@ngx-translate/core@14.0.0)(rxjs@7.8.0) + version: 7.0.0(@angular/common@16.2.9)(@ngx-translate/core@14.0.0)(rxjs@7.8.1) rxjs: - specifier: ~7.8.0 - version: 7.8.0 + specifier: ~7.8.1 + version: 7.8.1 tslib: - specifier: ^2.5.0 - version: 2.5.0 + specifier: ^2.6.2 + version: 2.6.2 zone.js: - specifier: ~0.12.0 - version: 0.12.0 + specifier: ~0.13.3 + version: 0.13.3 devDependencies: '@angular-devkit/build-angular': - specifier: ^15.2.6 - version: 15.2.6(@angular/compiler-cli@15.2.7)(karma@6.4.1)(typescript@4.9.5) + specifier: ^16.2.6 + version: 16.2.6(@angular/compiler-cli@16.2.9)(@types/node@18.18.5)(karma@6.4.2)(typescript@4.9.5) + '@angular-eslint/builder': + specifier: 16.2.0 + version: 16.2.0(eslint@8.51.0)(typescript@4.9.5) + '@angular-eslint/eslint-plugin': + specifier: 16.2.0 + version: 16.2.0(eslint@8.51.0)(typescript@4.9.5) + '@angular-eslint/eslint-plugin-template': + specifier: 16.2.0 + version: 16.2.0(eslint@8.51.0)(typescript@4.9.5) + '@angular-eslint/schematics': + specifier: 16.2.0 + version: 16.2.0(@angular/cli@16.2.6)(eslint@8.51.0)(typescript@4.9.5) + '@angular-eslint/template-parser': + specifier: 16.2.0 + version: 16.2.0(eslint@8.51.0)(typescript@4.9.5) '@angular/cli': - specifier: ~15.2.6 - version: 15.2.6 + specifier: ~16.2.6 + version: 16.2.6 '@angular/compiler-cli': - specifier: ^15.2.7 - version: 15.2.7(@angular/compiler@15.2.7)(typescript@4.9.5) + specifier: ^16.2.9 + version: 16.2.9(@angular/compiler@16.2.9)(typescript@4.9.5) '@types/jasmine': - specifier: ~4.3.1 - version: 4.3.1 + specifier: ~4.3.6 + version: 4.3.6 '@types/node': - specifier: ^18.15.11 - version: 18.15.11 + specifier: ^18.18.5 + version: 18.18.5 '@typescript-eslint/eslint-plugin': - specifier: ^5.58.0 - version: 5.58.0(@typescript-eslint/parser@5.58.0)(eslint@8.38.0)(typescript@4.9.5) + specifier: 5.62.0 + version: 5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.51.0)(typescript@4.9.5) '@typescript-eslint/parser': - specifier: ^5.58.0 - version: 5.58.0(eslint@8.38.0)(typescript@4.9.5) + specifier: 5.62.0 + version: 5.62.0(eslint@8.51.0)(typescript@4.9.5) eslint: - specifier: ^8.38.0 - version: 8.38.0 + specifier: ^8.49.0 + version: 8.51.0 eslint-config-prettier: - specifier: ^8.8.0 - version: 8.8.0(eslint@8.38.0) + specifier: ^8.10.0 + version: 8.10.0(eslint@8.51.0) eslint-plugin-html: specifier: ^7.1.0 version: 7.1.0 eslint-plugin-prettier: specifier: ^4.2.1 - version: 4.2.1(eslint-config-prettier@8.8.0)(eslint@8.38.0)(prettier@2.8.7) + version: 4.2.1(eslint-config-prettier@8.10.0)(eslint@8.51.0)(prettier@2.8.8) jasmine-core: specifier: ~4.5.0 version: 4.5.0 karma: - specifier: ~6.4.1 - version: 6.4.1 + specifier: ~6.4.2 + version: 6.4.2 karma-chrome-launcher: specifier: ~3.1.1 version: 3.1.1 karma-coverage: - specifier: ^2.2.0 - version: 2.2.0 + specifier: ^2.2.1 + version: 2.2.1 karma-jasmine: specifier: ~5.1.0 - version: 5.1.0(karma@6.4.1) + version: 5.1.0(karma@6.4.2) karma-jasmine-html-reporter: specifier: ~2.0.0 - version: 2.0.0(jasmine-core@4.5.0)(karma-jasmine@5.1.0)(karma@6.4.1) + version: 2.0.0(jasmine-core@4.5.0)(karma-jasmine@5.1.0)(karma@6.4.2) prettier: - specifier: ^2.8.7 - version: 2.8.7 + specifier: ^2.8.8 + version: 2.8.8 puppeteer: - specifier: ^19.9.0 - version: 19.9.0(typescript@4.9.5) + specifier: ^19.11.1 + version: 19.11.1(typescript@4.9.5) stylelint: - specifier: ^15.4.0 - version: 15.4.0 + specifier: ^15.10.3 + version: 15.10.3(typescript@4.9.5) stylelint-config-standard-scss: specifier: ^8.0.0 - version: 8.0.0(postcss@8.4.21)(stylelint@15.4.0) + version: 8.0.0(postcss@8.4.31)(stylelint@15.10.3) stylelint-scss: - specifier: ^4.6.0 - version: 4.6.0(stylelint@15.4.0) + specifier: ^4.7.0 + version: 4.7.0(stylelint@15.10.3) typescript: specifier: ~4.9.5 version: 4.9.5 packages: - /@ampproject/remapping@2.2.0: - resolution: {integrity: sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==} - engines: {node: '>=6.0.0'} - dependencies: - '@jridgewell/gen-mapping': 0.1.1 - '@jridgewell/trace-mapping': 0.3.18 + /@aashutoshrathi/word-wrap@1.2.6: + resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==} + engines: {node: '>=0.10.0'} dev: true /@ampproject/remapping@2.2.1: @@ -127,32 +143,34 @@ packages: engines: {node: '>=6.0.0'} dependencies: '@jridgewell/gen-mapping': 0.3.3 - '@jridgewell/trace-mapping': 0.3.18 + '@jridgewell/trace-mapping': 0.3.19 dev: true - /@angular-devkit/architect@0.1502.6(chokidar@3.5.3): - resolution: {integrity: sha512-n4oJ9vzFWwabf+AfgqqevVzdJhNKNCav7ytefjD/Y01vkNwlXqWnHcvyyHCLkVibJ6WR8J9lK4t77j/HFlDvWQ==} - engines: {node: ^14.20.0 || ^16.13.0 || >=18.10.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} + /@angular-devkit/architect@0.1602.6(chokidar@3.5.3): + resolution: {integrity: sha512-b1NNV3yNg6Rt86ms20bJIroWUI8ihaEwv5k+EoijEXLoMs4eNs5PhqL+QE8rTj+q9pa1gSrWf2blXor2JGwf1g==} + engines: {node: ^16.14.0 || >=18.10.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} dependencies: - '@angular-devkit/core': 15.2.6(chokidar@3.5.3) - rxjs: 6.6.7 + '@angular-devkit/core': 16.2.6(chokidar@3.5.3) + rxjs: 7.8.1 transitivePeerDependencies: - chokidar dev: true - /@angular-devkit/build-angular@15.2.6(@angular/compiler-cli@15.2.7)(karma@6.4.1)(typescript@4.9.5): - resolution: {integrity: sha512-OmMcdXXUrAdZNxwxDE8SUx1FMcq9FyMnrSv1PmP9sHPBoxAdBVc/qNdGA9V7C5yHvWHGgzsx7ZK5TDuvifzS5g==} - engines: {node: ^14.20.0 || ^16.13.0 || >=18.10.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} + /@angular-devkit/build-angular@16.2.6(@angular/compiler-cli@16.2.9)(@types/node@18.18.5)(karma@6.4.2)(typescript@4.9.5): + resolution: {integrity: sha512-QdU/q77K1P8CPEEZGxw1QqLcnA9ofboDWS7vcLRBmFmk2zydtLTApbK0P8GNDRbnmROOKkoaLo+xUTDJz9gvPA==} + engines: {node: ^16.14.0 || >=18.10.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} peerDependencies: - '@angular/compiler-cli': ^15.0.0 - '@angular/localize': ^15.0.0 - '@angular/platform-server': ^15.0.0 - '@angular/service-worker': ^15.0.0 + '@angular/compiler-cli': ^16.0.0 + '@angular/localize': ^16.0.0 + '@angular/platform-server': ^16.0.0 + '@angular/service-worker': ^16.0.0 + jest: ^29.5.0 + jest-environment-jsdom: ^29.5.0 karma: ^6.3.0 - ng-packagr: ^15.0.0 + ng-packagr: ^16.0.0 protractor: ^7.0.0 tailwindcss: ^2.0.0 || ^3.0.0 - typescript: '>=4.8.2 <5.0' + typescript: '>=4.9.3 <5.2' peerDependenciesMeta: '@angular/localize': optional: true @@ -160,6 +178,10 @@ packages: optional: true '@angular/service-worker': optional: true + jest: + optional: true + jest-environment-jsdom: + optional: true karma: optional: true ng-packagr: @@ -169,104 +191,112 @@ packages: tailwindcss: optional: true dependencies: - '@ampproject/remapping': 2.2.0 - '@angular-devkit/architect': 0.1502.6(chokidar@3.5.3) - '@angular-devkit/build-webpack': 0.1502.6(chokidar@3.5.3)(webpack-dev-server@4.11.1)(webpack@5.76.1) - '@angular-devkit/core': 15.2.6(chokidar@3.5.3) - '@angular/compiler-cli': 15.2.7(@angular/compiler@15.2.7)(typescript@4.9.5) - '@babel/core': 7.20.12 - '@babel/generator': 7.20.14 - '@babel/helper-annotate-as-pure': 7.18.6 - '@babel/helper-split-export-declaration': 7.18.6 - '@babel/plugin-proposal-async-generator-functions': 7.20.7(@babel/core@7.20.12) - '@babel/plugin-transform-async-to-generator': 7.20.7(@babel/core@7.20.12) - '@babel/plugin-transform-runtime': 7.19.6(@babel/core@7.20.12) - '@babel/preset-env': 7.20.2(@babel/core@7.20.12) - '@babel/runtime': 7.20.13 - '@babel/template': 7.20.7 + '@ampproject/remapping': 2.2.1 + '@angular-devkit/architect': 0.1602.6(chokidar@3.5.3) + '@angular-devkit/build-webpack': 0.1602.6(chokidar@3.5.3)(webpack-dev-server@4.15.1)(webpack@5.88.2) + '@angular-devkit/core': 16.2.6(chokidar@3.5.3) + '@angular/compiler-cli': 16.2.9(@angular/compiler@16.2.9)(typescript@4.9.5) + '@babel/core': 7.22.9 + '@babel/generator': 7.22.9 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + '@babel/plugin-proposal-async-generator-functions': 7.20.7(@babel/core@7.22.9) + '@babel/plugin-transform-async-to-generator': 7.22.5(@babel/core@7.22.9) + '@babel/plugin-transform-runtime': 7.22.9(@babel/core@7.22.9) + '@babel/preset-env': 7.22.9(@babel/core@7.22.9) + '@babel/runtime': 7.22.6 + '@babel/template': 7.22.5 '@discoveryjs/json-ext': 0.5.7 - '@ngtools/webpack': 15.2.6(@angular/compiler-cli@15.2.7)(typescript@4.9.5)(webpack@5.76.1) + '@ngtools/webpack': 16.2.6(@angular/compiler-cli@16.2.9)(typescript@4.9.5)(webpack@5.88.2) + '@vitejs/plugin-basic-ssl': 1.0.1(vite@4.4.7) ansi-colors: 4.1.3 - autoprefixer: 10.4.13(postcss@8.4.21) - babel-loader: 9.1.2(@babel/core@7.20.12)(webpack@5.76.1) + autoprefixer: 10.4.14(postcss@8.4.31) + babel-loader: 9.1.3(@babel/core@7.22.9)(webpack@5.88.2) babel-plugin-istanbul: 6.1.1 - browserslist: 4.21.5 - cacache: 17.0.4 + browserslist: 4.22.1 chokidar: 3.5.3 - copy-webpack-plugin: 11.0.0(webpack@5.76.1) - critters: 0.0.16 - css-loader: 6.7.3(webpack@5.76.1) - esbuild-wasm: 0.17.8 - glob: 8.1.0 + copy-webpack-plugin: 11.0.0(webpack@5.88.2) + critters: 0.0.20 + css-loader: 6.8.1(webpack@5.88.2) + esbuild-wasm: 0.18.17 + fast-glob: 3.3.1 + guess-parser: 0.4.22(typescript@4.9.5) https-proxy-agent: 5.0.1 inquirer: 8.2.4 jsonc-parser: 3.2.0 - karma: 6.4.1 + karma: 6.4.2 karma-source-map-support: 1.4.0 less: 4.1.3 - less-loader: 11.1.0(less@4.1.3)(webpack@5.76.1) - license-webpack-plugin: 4.0.2(webpack@5.76.1) + less-loader: 11.1.0(less@4.1.3)(webpack@5.88.2) + license-webpack-plugin: 4.0.2(webpack@5.88.2) loader-utils: 3.2.1 - magic-string: 0.29.0 - mini-css-extract-plugin: 2.7.2(webpack@5.76.1) - open: 8.4.1 + magic-string: 0.30.1 + mini-css-extract-plugin: 2.7.6(webpack@5.88.2) + mrmime: 1.0.1 + open: 8.4.2 ora: 5.4.1 parse5-html-rewriting-stream: 7.0.0 - piscina: 3.2.0 - postcss: 8.4.21 - postcss-loader: 7.0.2(postcss@8.4.21)(webpack@5.76.1) + picomatch: 2.3.1 + piscina: 4.0.0 + postcss: 8.4.31 + postcss-loader: 7.3.3(postcss@8.4.31)(typescript@4.9.5)(webpack@5.88.2) resolve-url-loader: 5.0.0 - rxjs: 6.6.7 - sass: 1.58.1 - sass-loader: 13.2.0(sass@1.58.1)(webpack@5.76.1) - semver: 7.3.8 - source-map-loader: 4.0.1(webpack@5.76.1) + rxjs: 7.8.1 + sass: 1.64.1 + sass-loader: 13.3.2(sass@1.64.1)(webpack@5.88.2) + semver: 7.5.4 + source-map-loader: 4.0.1(webpack@5.88.2) source-map-support: 0.5.21 - terser: 5.16.3 + terser: 5.19.2 text-table: 0.2.0 tree-kill: 1.2.2 - tslib: 2.5.0 + tslib: 2.6.1 typescript: 4.9.5 - webpack: 5.76.1(esbuild@0.17.8) - webpack-dev-middleware: 6.0.1(webpack@5.76.1) - webpack-dev-server: 4.11.1(webpack@5.76.1) - webpack-merge: 5.8.0 - webpack-subresource-integrity: 5.1.0(webpack@5.76.1) + vite: 4.4.7(@types/node@18.18.5)(less@4.1.3)(sass@1.64.1)(terser@5.19.2) + webpack: 5.88.2(esbuild@0.18.17) + webpack-dev-middleware: 6.1.1(webpack@5.88.2) + webpack-dev-server: 4.15.1(webpack@5.88.2) + webpack-merge: 5.9.0 + webpack-subresource-integrity: 5.1.0(webpack@5.88.2) optionalDependencies: - esbuild: 0.17.8 + esbuild: 0.18.17 transitivePeerDependencies: - '@swc/core' - - bluebird + - '@types/node' - bufferutil + - canvas - debug - fibers - html-webpack-plugin + - lightningcss - node-sass - sass-embedded + - stylus + - sugarss - supports-color - uglify-js - utf-8-validate - webpack-cli dev: true - /@angular-devkit/build-webpack@0.1502.6(chokidar@3.5.3)(webpack-dev-server@4.11.1)(webpack@5.76.1): - resolution: {integrity: sha512-X7XQ11QDz2Bs5qpJ3a5glIytvI+S74ORQxdzvT6a6KB8ayW0SgZEhTwD+GF7pa5My8draIaXBGzzQR1qmpWK5Q==} - engines: {node: ^14.20.0 || ^16.13.0 || >=18.10.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} + /@angular-devkit/build-webpack@0.1602.6(chokidar@3.5.3)(webpack-dev-server@4.15.1)(webpack@5.88.2): + resolution: {integrity: sha512-BJPR6xdq7gRJ6bVWnZ81xHyH75j7lyLbegCXbvUNaM8TWVBkwWsSdqr2NQ717dNLLn5umg58SFpU/pWMq6CxMQ==} + engines: {node: ^16.14.0 || >=18.10.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} peerDependencies: webpack: ^5.30.0 webpack-dev-server: ^4.0.0 dependencies: - '@angular-devkit/architect': 0.1502.6(chokidar@3.5.3) - rxjs: 6.6.7 - webpack: 5.76.1(esbuild@0.17.8) - webpack-dev-server: 4.11.1(webpack@5.76.1) + '@angular-devkit/architect': 0.1602.6(chokidar@3.5.3) + rxjs: 7.8.1 + webpack: 5.88.2(esbuild@0.18.17) + webpack-dev-server: 4.15.1(webpack@5.88.2) transitivePeerDependencies: - chokidar dev: true - /@angular-devkit/core@15.2.6(chokidar@3.5.3): - resolution: {integrity: sha512-YVTWZ+M+xNKdFX4EnY9QX49PZraawiaA0iTd2CUW8ZoTUvU7yOGMKZLSdz6aokTMRVfm0449wt6YL994ibOo1g==} - engines: {node: ^14.20.0 || ^16.13.0 || >=18.10.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} + /@angular-devkit/core@16.2.6(chokidar@3.5.3): + resolution: {integrity: sha512-iez/8NYXQT6fqVQLlKmZUIRkFUEZ88ACKbTwD4lBmk0+hXW+bQBxI7JOnE3C4zkcM2YeuTXIYsC5SebTKYiR4Q==} + engines: {node: ^16.14.0 || >=18.10.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} peerDependencies: chokidar: ^3.5.2 peerDependenciesMeta: @@ -277,1386 +307,1522 @@ packages: ajv-formats: 2.1.1(ajv@8.12.0) chokidar: 3.5.3 jsonc-parser: 3.2.0 - rxjs: 6.6.7 + picomatch: 2.3.1 + rxjs: 7.8.1 source-map: 0.7.4 dev: true - /@angular-devkit/schematics@15.2.6: - resolution: {integrity: sha512-f7VgnAcok7AwR/DhX0ZWskB0rFBo/KsvtIUA2qZSrpKMf8eFiwu03dv/b2mI0vnf+1FBfIQzJvO0ww45zRp6dA==} - engines: {node: ^14.20.0 || ^16.13.0 || >=18.10.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} + /@angular-devkit/schematics@16.2.6: + resolution: {integrity: sha512-PhpRYHCJ3WvZXmng6Qk8TXeQf83jeBMAf7AIzI8h0fgeBocOl97Xf7bZpLg6GymiU+rVn15igQ4Rz9rKAay8bQ==} + engines: {node: ^16.14.0 || >=18.10.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} dependencies: - '@angular-devkit/core': 15.2.6(chokidar@3.5.3) + '@angular-devkit/core': 16.2.6(chokidar@3.5.3) jsonc-parser: 3.2.0 - magic-string: 0.29.0 + magic-string: 0.30.1 ora: 5.4.1 - rxjs: 6.6.7 + rxjs: 7.8.1 transitivePeerDependencies: - chokidar dev: true - /@angular/animations@15.2.7(@angular/core@15.2.7): - resolution: {integrity: sha512-Vmy0AljHc/GOp87O2x0mxUDiyfJFW8ndDE9Xrm/g0rnLnNWsaLtLXr1TWbwF7eTqKA3k/QcUvYAjLMWKvjyKgQ==} - engines: {node: ^14.20.0 || ^16.13.0 || >=18.10.0} + /@angular-eslint/builder@16.2.0(eslint@8.51.0)(typescript@4.9.5): + resolution: {integrity: sha512-SZjXOi3YIjuX2CocuRsR2QH6k1ca9lRO6IMm0YIYMmBPFCRP2KFHkL6aQnXM6DSaymQNN2TXfpuvUd45NxhU1w==} + peerDependencies: + eslint: ^7.20.0 || ^8.0.0 + typescript: '*' + dependencies: + '@nx/devkit': 16.5.1(nx@16.5.1) + eslint: 8.51.0 + nx: 16.5.1 + typescript: 4.9.5 + transitivePeerDependencies: + - '@swc-node/register' + - '@swc/core' + - debug + dev: true + + /@angular-eslint/bundled-angular-compiler@16.2.0: + resolution: {integrity: sha512-ct9orDYxkMl2+uvM7UBfgV28Dq57V4dEs+Drh7cD673JIMa6sXbgmd0QEtm8W3cmyK/jcTzmuoufxbH7hOxd6g==} + dev: true + + /@angular-eslint/eslint-plugin-template@16.2.0(eslint@8.51.0)(typescript@4.9.5): + resolution: {integrity: sha512-YFdQ6hHX6NlQj0lfogZwfyKjU8pqkJU+Zsk0ehjlXP8VfKFVmDeQT5/Xr6Df9C8pveC3hvq6Jgd8vo67S9Enxg==} peerDependencies: - '@angular/core': 15.2.7 + eslint: ^7.20.0 || ^8.0.0 + typescript: '*' dependencies: - '@angular/core': 15.2.7(rxjs@7.8.0)(zone.js@0.12.0) - tslib: 2.5.0 + '@angular-eslint/bundled-angular-compiler': 16.2.0 + '@angular-eslint/utils': 16.2.0(eslint@8.51.0)(typescript@4.9.5) + '@typescript-eslint/type-utils': 5.62.0(eslint@8.51.0)(typescript@4.9.5) + '@typescript-eslint/utils': 5.62.0(eslint@8.51.0)(typescript@4.9.5) + aria-query: 5.3.0 + axobject-query: 3.2.1 + eslint: 8.51.0 + typescript: 4.9.5 + transitivePeerDependencies: + - supports-color + dev: true + + /@angular-eslint/eslint-plugin@16.2.0(eslint@8.51.0)(typescript@4.9.5): + resolution: {integrity: sha512-zdiAIox1T+B71HL+A8m+1jWdU34nvPGLhCRw/uZNwHzknsF4tYzNQ9W7T/SC/g/2s1yT2yNosEVNJSGSFvunJg==} + peerDependencies: + eslint: ^7.20.0 || ^8.0.0 + typescript: '*' + dependencies: + '@angular-eslint/utils': 16.2.0(eslint@8.51.0)(typescript@4.9.5) + '@typescript-eslint/utils': 5.62.0(eslint@8.51.0)(typescript@4.9.5) + eslint: 8.51.0 + typescript: 4.9.5 + transitivePeerDependencies: + - supports-color + dev: true + + /@angular-eslint/schematics@16.2.0(@angular/cli@16.2.6)(eslint@8.51.0)(typescript@4.9.5): + resolution: {integrity: sha512-2JUVR7hAKx37mgWeDjvyWEMH5uSeeksYuaQT5wwlgIzgrO4BNFuqs6Rgyp2jiYa7BFMX/qHULSa+bSq5J5ceEA==} + peerDependencies: + '@angular/cli': '>= 16.0.0 < 17.0.0' + dependencies: + '@angular-eslint/eslint-plugin': 16.2.0(eslint@8.51.0)(typescript@4.9.5) + '@angular-eslint/eslint-plugin-template': 16.2.0(eslint@8.51.0)(typescript@4.9.5) + '@angular/cli': 16.2.6 + '@nx/devkit': 16.5.1(nx@16.5.1) + ignore: 5.2.4 + nx: 16.5.1 + strip-json-comments: 3.1.1 + tmp: 0.2.1 + transitivePeerDependencies: + - '@swc-node/register' + - '@swc/core' + - debug + - eslint + - supports-color + - typescript + dev: true + + /@angular-eslint/template-parser@16.2.0(eslint@8.51.0)(typescript@4.9.5): + resolution: {integrity: sha512-v2jVKTy2wN7iM9nHpBkxLn2wfL8jSl4IlPrXThIqj8No2VHtpLQZPKuXbGPUXQX05VS2Mj5feScQ36ZVGS8Rbw==} + peerDependencies: + eslint: ^7.20.0 || ^8.0.0 + typescript: '*' + dependencies: + '@angular-eslint/bundled-angular-compiler': 16.2.0 + eslint: 8.51.0 + eslint-scope: 7.2.2 + typescript: 4.9.5 + dev: true + + /@angular-eslint/utils@16.2.0(eslint@8.51.0)(typescript@4.9.5): + resolution: {integrity: sha512-NxMRwnlIgzmbJQfWkfd9y3Sz0hzjFdK5LH44i+3D5NhpPdZ6SzwHAjMYWoYsmmNQX5tlDXoicYF9Mz9Wz8DJ/A==} + peerDependencies: + eslint: ^7.20.0 || ^8.0.0 + typescript: '*' + dependencies: + '@angular-eslint/bundled-angular-compiler': 16.2.0 + '@typescript-eslint/utils': 5.62.0(eslint@8.51.0)(typescript@4.9.5) + eslint: 8.51.0 + typescript: 4.9.5 + transitivePeerDependencies: + - supports-color + dev: true + + /@angular/animations@16.2.9(@angular/core@16.2.9): + resolution: {integrity: sha512-J+nsc2x/ZQuh+YwwTzxXUrV+7SBpJq6DDStfTFkZls9PWGRj9fjqQeRCWrfNLllpxopAEjhFkoyK06oSjcwqAw==} + engines: {node: ^16.14.0 || >=18.10.0} + peerDependencies: + '@angular/core': 16.2.9 + dependencies: + '@angular/core': 16.2.9(rxjs@7.8.1)(zone.js@0.13.3) + tslib: 2.6.2 dev: false - /@angular/cli@15.2.6: - resolution: {integrity: sha512-wNkQ/qCVbd4pERaGVagKJPifEvjRNY5otwsd4iRVubY/XOcIHcYChUThZwgQdVfNAImfJPMZNrhbGxejuWLA9w==} - engines: {node: ^14.20.0 || ^16.13.0 || >=18.10.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} + /@angular/cli@16.2.6: + resolution: {integrity: sha512-9poPvUEmlufOAW1Cjk+aA5e2x3mInLtbYYSL/EYviDN2ugmavsSIvxAE/WLnxq6cPWqhNDbHDaqvcmqkcFM3Cw==} + engines: {node: ^16.14.0 || >=18.10.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} hasBin: true dependencies: - '@angular-devkit/architect': 0.1502.6(chokidar@3.5.3) - '@angular-devkit/core': 15.2.6(chokidar@3.5.3) - '@angular-devkit/schematics': 15.2.6 - '@schematics/angular': 15.2.6 + '@angular-devkit/architect': 0.1602.6(chokidar@3.5.3) + '@angular-devkit/core': 16.2.6(chokidar@3.5.3) + '@angular-devkit/schematics': 16.2.6 + '@schematics/angular': 16.2.6 '@yarnpkg/lockfile': 1.1.0 ansi-colors: 4.1.3 - ini: 3.0.1 + ini: 4.1.1 inquirer: 8.2.4 jsonc-parser: 3.2.0 npm-package-arg: 10.1.0 npm-pick-manifest: 8.0.1 - open: 8.4.1 + open: 8.4.2 ora: 5.4.1 - pacote: 15.1.0 - resolve: 1.22.1 - semver: 7.3.8 + pacote: 15.2.0 + resolve: 1.22.2 + semver: 7.5.4 symbol-observable: 4.0.0 - yargs: 17.6.2 + yargs: 17.7.2 transitivePeerDependencies: - bluebird - chokidar - supports-color dev: true - /@angular/common@15.2.7(@angular/core@15.2.7)(rxjs@7.8.0): - resolution: {integrity: sha512-CbmrQeZ0yChQrF/ab3v+gv6x2uLbv/s1wZNUBSO/p1STz6BZzHRJqObVlfPlQvyBx5btBBy/+I1sUh1yumARDA==} - engines: {node: ^14.20.0 || ^16.13.0 || >=18.10.0} + /@angular/common@16.2.9(@angular/core@16.2.9)(rxjs@7.8.1): + resolution: {integrity: sha512-5Lh5KsxCkaoBDeSAghKNF5lCi0083ug4X2X7wnafsSd6Z3xt/rDjH9hDOP5SF5IDLtCVjJgHfs3cCLSTjRuNwg==} + engines: {node: ^16.14.0 || >=18.10.0} peerDependencies: - '@angular/core': 15.2.7 + '@angular/core': 16.2.9 rxjs: ^6.5.3 || ^7.4.0 dependencies: - '@angular/core': 15.2.7(rxjs@7.8.0)(zone.js@0.12.0) - rxjs: 7.8.0 - tslib: 2.5.0 + '@angular/core': 16.2.9(rxjs@7.8.1)(zone.js@0.13.3) + rxjs: 7.8.1 + tslib: 2.6.2 dev: false - /@angular/compiler-cli@15.2.7(@angular/compiler@15.2.7)(typescript@4.9.5): - resolution: {integrity: sha512-4v51dOaT8GDUzRh6+mCLZOaYuU9FYX6vOHaLod9np3tVWPhcpoF2ZklRSiQDeFqrhr5B4vuCp/Lh9N2wzc22XQ==} - engines: {node: ^14.20.0 || ^16.13.0 || >=18.10.0} + /@angular/compiler-cli@16.2.9(@angular/compiler@16.2.9)(typescript@4.9.5): + resolution: {integrity: sha512-ecH2oOlijJdDqioD9IfgdqJGoRRHI6hAx5rwBxIaYk01ywj13KzvXWPrXbCIupeWtV/XUZUlbwf47nlmL5gxZg==} + engines: {node: ^16.14.0 || >=18.10.0} hasBin: true peerDependencies: - '@angular/compiler': 15.2.7 - typescript: '>=4.8.2 <5.0' + '@angular/compiler': 16.2.9 + typescript: '>=4.9.3 <5.2' dependencies: - '@angular/compiler': 15.2.7(@angular/core@15.2.7) - '@babel/core': 7.19.3 + '@angular/compiler': 16.2.9(@angular/core@16.2.9) + '@babel/core': 7.22.5 '@jridgewell/sourcemap-codec': 1.4.15 chokidar: 3.5.3 convert-source-map: 1.9.0 - dependency-graph: 0.11.0 - magic-string: 0.27.0 reflect-metadata: 0.1.13 - semver: 7.4.0 - tslib: 2.5.0 + semver: 7.5.4 + tslib: 2.6.2 typescript: 4.9.5 - yargs: 17.7.1 + yargs: 17.7.2 transitivePeerDependencies: - supports-color dev: true - /@angular/compiler@15.2.7(@angular/core@15.2.7): - resolution: {integrity: sha512-SesyYI2ExUa13XukXgIsmfg3ar90HbWeWDJTgmzsIfph0M9t6+SaPGpf3FCtdBgNADIpUFp3cieCOJgLESzxYQ==} - engines: {node: ^14.20.0 || ^16.13.0 || >=18.10.0} + /@angular/compiler@16.2.9(@angular/core@16.2.9): + resolution: {integrity: sha512-lh799pnbdvzTVShJHOY1JC6c1pwBsZC4UIgB3Itklo9dskGybQma/gP+lE6RhqM4FblNfaaBXGlCMUuY8HkmEQ==} + engines: {node: ^16.14.0 || >=18.10.0} peerDependencies: - '@angular/core': 15.2.7 + '@angular/core': 16.2.9 peerDependenciesMeta: '@angular/core': optional: true dependencies: - '@angular/core': 15.2.7(rxjs@7.8.0)(zone.js@0.12.0) - tslib: 2.5.0 + '@angular/core': 16.2.9(rxjs@7.8.1)(zone.js@0.13.3) + tslib: 2.6.2 - /@angular/core@15.2.7(rxjs@7.8.0)(zone.js@0.12.0): - resolution: {integrity: sha512-iS7JCJubRFqdndoUdAnvNkQRT3tY5tNFupBQS/sytkwxVrdBg+Is5jpdgk741n824vTMsE+CnuY0SETar8rN6g==} - engines: {node: ^14.20.0 || ^16.13.0 || >=18.10.0} + /@angular/core@16.2.9(rxjs@7.8.1)(zone.js@0.13.3): + resolution: {integrity: sha512-chvPX29ZBcMDuh7rLIgb0Cru6oJ/0FaqRzfOI3wT4W2F9W1HOlCtipovzmPYaUAmXBWfVP4EBO9TOWnpog0S0w==} + engines: {node: ^16.14.0 || >=18.10.0} peerDependencies: rxjs: ^6.5.3 || ^7.4.0 - zone.js: ~0.11.4 || ~0.12.0 || ~0.13.0 + zone.js: ~0.13.0 dependencies: - rxjs: 7.8.0 - tslib: 2.5.0 - zone.js: 0.12.0 + rxjs: 7.8.1 + tslib: 2.6.2 + zone.js: 0.13.3 - /@angular/forms@15.2.7(@angular/common@15.2.7)(@angular/core@15.2.7)(@angular/platform-browser@15.2.7)(rxjs@7.8.0): - resolution: {integrity: sha512-rzrebDIrtxxOeMcBzRBxqaOBZ+T1DJrysG/6YWZy428W/Z3MfPxUarPxgfx/oZI+x5uUsDaZmyoRdhVPJ2KhZg==} - engines: {node: ^14.20.0 || ^16.13.0 || >=18.10.0} + /@angular/forms@16.2.9(@angular/common@16.2.9)(@angular/core@16.2.9)(@angular/platform-browser@16.2.9)(rxjs@7.8.1): + resolution: {integrity: sha512-rxlg2iNJNBH/uc7b5YqybfYc8BkLzzPv1d/nMsQUlY0O2UV2zwNRpcIiWbWd7+ZaKjcyPynVe9FsXC8wgWIABw==} + engines: {node: ^16.14.0 || >=18.10.0} peerDependencies: - '@angular/common': 15.2.7 - '@angular/core': 15.2.7 - '@angular/platform-browser': 15.2.7 + '@angular/common': 16.2.9 + '@angular/core': 16.2.9 + '@angular/platform-browser': 16.2.9 rxjs: ^6.5.3 || ^7.4.0 dependencies: - '@angular/common': 15.2.7(@angular/core@15.2.7)(rxjs@7.8.0) - '@angular/core': 15.2.7(rxjs@7.8.0)(zone.js@0.12.0) - '@angular/platform-browser': 15.2.7(@angular/animations@15.2.7)(@angular/common@15.2.7)(@angular/core@15.2.7) - rxjs: 7.8.0 - tslib: 2.5.0 + '@angular/common': 16.2.9(@angular/core@16.2.9)(rxjs@7.8.1) + '@angular/core': 16.2.9(rxjs@7.8.1)(zone.js@0.13.3) + '@angular/platform-browser': 16.2.9(@angular/animations@16.2.9)(@angular/common@16.2.9)(@angular/core@16.2.9) + rxjs: 7.8.1 + tslib: 2.6.2 dev: false - /@angular/platform-browser-dynamic@15.2.7(@angular/common@15.2.7)(@angular/compiler@15.2.7)(@angular/core@15.2.7)(@angular/platform-browser@15.2.7): - resolution: {integrity: sha512-t1Nf7hgbcYvhmxuzgUtsV47jrI5CXUBqrtz5I0ilWG92zZTig5qvfd1/2Ub8NHz87uHNrnggyZpL2+4MJ26nyQ==} - engines: {node: ^14.20.0 || ^16.13.0 || >=18.10.0} + /@angular/platform-browser-dynamic@16.2.9(@angular/common@16.2.9)(@angular/compiler@16.2.9)(@angular/core@16.2.9)(@angular/platform-browser@16.2.9): + resolution: {integrity: sha512-ztpo0939vTZ/5CWVSvo41Yl6YPoTZ0If+yTrs7dk1ce0vFgaZXMlc+y5ZwjJIiMM5CvHbhL48Uk+HJNIojP98A==} + engines: {node: ^16.14.0 || >=18.10.0} peerDependencies: - '@angular/common': 15.2.7 - '@angular/compiler': 15.2.7 - '@angular/core': 15.2.7 - '@angular/platform-browser': 15.2.7 + '@angular/common': 16.2.9 + '@angular/compiler': 16.2.9 + '@angular/core': 16.2.9 + '@angular/platform-browser': 16.2.9 dependencies: - '@angular/common': 15.2.7(@angular/core@15.2.7)(rxjs@7.8.0) - '@angular/compiler': 15.2.7(@angular/core@15.2.7) - '@angular/core': 15.2.7(rxjs@7.8.0)(zone.js@0.12.0) - '@angular/platform-browser': 15.2.7(@angular/animations@15.2.7)(@angular/common@15.2.7)(@angular/core@15.2.7) - tslib: 2.5.0 + '@angular/common': 16.2.9(@angular/core@16.2.9)(rxjs@7.8.1) + '@angular/compiler': 16.2.9(@angular/core@16.2.9) + '@angular/core': 16.2.9(rxjs@7.8.1)(zone.js@0.13.3) + '@angular/platform-browser': 16.2.9(@angular/animations@16.2.9)(@angular/common@16.2.9)(@angular/core@16.2.9) + tslib: 2.6.2 dev: false - /@angular/platform-browser@15.2.7(@angular/animations@15.2.7)(@angular/common@15.2.7)(@angular/core@15.2.7): - resolution: {integrity: sha512-aCbd7xyuP7c2eDITkOTDO2mqP550WHCBN8U6VnjysqtB5ocbJtR6z/MIRItN/Zx+xj3piiaKei//XIkb3Q5fXQ==} - engines: {node: ^14.20.0 || ^16.13.0 || >=18.10.0} + /@angular/platform-browser@16.2.9(@angular/animations@16.2.9)(@angular/common@16.2.9)(@angular/core@16.2.9): + resolution: {integrity: sha512-9Je7+Jmx0AOyRzBBumraVJG3M0R6YbT4c9jTUbLGJCcPxwDI3/u2ZzvW3rBqpmrDaqLxN5f1LcZeTZx287QeqQ==} + engines: {node: ^16.14.0 || >=18.10.0} peerDependencies: - '@angular/animations': 15.2.7 - '@angular/common': 15.2.7 - '@angular/core': 15.2.7 + '@angular/animations': 16.2.9 + '@angular/common': 16.2.9 + '@angular/core': 16.2.9 peerDependenciesMeta: '@angular/animations': optional: true dependencies: - '@angular/animations': 15.2.7(@angular/core@15.2.7) - '@angular/common': 15.2.7(@angular/core@15.2.7)(rxjs@7.8.0) - '@angular/core': 15.2.7(rxjs@7.8.0)(zone.js@0.12.0) - tslib: 2.5.0 + '@angular/animations': 16.2.9(@angular/core@16.2.9) + '@angular/common': 16.2.9(@angular/core@16.2.9)(rxjs@7.8.1) + '@angular/core': 16.2.9(rxjs@7.8.1)(zone.js@0.13.3) + tslib: 2.6.2 dev: false - /@angular/router@15.2.7(@angular/common@15.2.7)(@angular/core@15.2.7)(@angular/platform-browser@15.2.7)(rxjs@7.8.0): - resolution: {integrity: sha512-Wkk+oJSUrVafJjmv9uE1SoY4wDE9bjX7ald+UXePz+QyM/PFoLkm/CzLYjFBkJnsOkOVxw1VmvacoUjWN6BCTQ==} - engines: {node: ^14.20.0 || ^16.13.0 || >=18.10.0} + /@angular/router@16.2.9(@angular/common@16.2.9)(@angular/core@16.2.9)(@angular/platform-browser@16.2.9)(rxjs@7.8.1): + resolution: {integrity: sha512-5vrJNMblTDx3WC3dtaqLddWNtR0P9iwpqffeZL1uobBIwP4hbJx+8Dos3TwxGR4hnopFKahoDQ5nC0NOQslyog==} + engines: {node: ^16.14.0 || >=18.10.0} peerDependencies: - '@angular/common': 15.2.7 - '@angular/core': 15.2.7 - '@angular/platform-browser': 15.2.7 + '@angular/common': 16.2.9 + '@angular/core': 16.2.9 + '@angular/platform-browser': 16.2.9 rxjs: ^6.5.3 || ^7.4.0 dependencies: - '@angular/common': 15.2.7(@angular/core@15.2.7)(rxjs@7.8.0) - '@angular/core': 15.2.7(rxjs@7.8.0)(zone.js@0.12.0) - '@angular/platform-browser': 15.2.7(@angular/animations@15.2.7)(@angular/common@15.2.7)(@angular/core@15.2.7) - rxjs: 7.8.0 - tslib: 2.5.0 + '@angular/common': 16.2.9(@angular/core@16.2.9)(rxjs@7.8.1) + '@angular/core': 16.2.9(rxjs@7.8.1)(zone.js@0.13.3) + '@angular/platform-browser': 16.2.9(@angular/animations@16.2.9)(@angular/common@16.2.9)(@angular/core@16.2.9) + rxjs: 7.8.1 + tslib: 2.6.2 dev: false /@assemblyscript/loader@0.10.1: resolution: {integrity: sha512-H71nDOOL8Y7kWRLqf6Sums+01Q5msqBW2KhDUTemh1tvY04eSkSXrK0uj/4mmY0Xr16/3zyZmsrxN7CKuRbNRg==} dev: true - /@babel/code-frame@7.21.4: - resolution: {integrity: sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g==} + /@babel/code-frame@7.22.13: + resolution: {integrity: sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==} engines: {node: '>=6.9.0'} dependencies: - '@babel/highlight': 7.18.6 + '@babel/highlight': 7.22.20 + chalk: 2.4.2 dev: true - /@babel/compat-data@7.21.4: - resolution: {integrity: sha512-/DYyDpeCfaVinT40FPGdkkb+lYSKvsVuMjDAG7jPOWWiM1ibOaB9CXJAlc4d1QpP/U2q2P9jbrSlClKSErd55g==} + /@babel/compat-data@7.23.2: + resolution: {integrity: sha512-0S9TQMmDHlqAZ2ITT95irXKfxN9bncq8ZCoJhun3nHL/lLUxd2NKBJYoNGWH7S0hz6fRQwWlAWn/ILM0C70KZQ==} engines: {node: '>=6.9.0'} dev: true - /@babel/core@7.19.3: - resolution: {integrity: sha512-WneDJxdsjEvyKtXKsaBGbDeiyOjR5vYq4HcShxnIbG0qixpoHjI3MqeZM9NDvsojNCEBItQE4juOo/bU6e72gQ==} + /@babel/core@7.22.5: + resolution: {integrity: sha512-SBuTAjg91A3eKOvD+bPEz3LlhHZRNu1nFOVts9lzDJTXshHTjII0BAtDS3Y2DAkdZdDKWVZGVwkDfc4Clxn1dg==} engines: {node: '>=6.9.0'} dependencies: '@ampproject/remapping': 2.2.1 - '@babel/code-frame': 7.21.4 - '@babel/generator': 7.21.4 - '@babel/helper-compilation-targets': 7.21.4(@babel/core@7.19.3) - '@babel/helper-module-transforms': 7.21.2 - '@babel/helpers': 7.21.0 - '@babel/parser': 7.21.4 - '@babel/template': 7.20.7 - '@babel/traverse': 7.21.4 - '@babel/types': 7.21.4 + '@babel/code-frame': 7.22.13 + '@babel/generator': 7.23.0 + '@babel/helper-compilation-targets': 7.22.15 + '@babel/helper-module-transforms': 7.23.0(@babel/core@7.22.5) + '@babel/helpers': 7.23.2 + '@babel/parser': 7.23.0 + '@babel/template': 7.22.15 + '@babel/traverse': 7.23.2 + '@babel/types': 7.23.0 convert-source-map: 1.9.0 debug: 4.3.4 gensync: 1.0.0-beta.2 json5: 2.2.3 - semver: 6.3.0 + semver: 6.3.1 transitivePeerDependencies: - supports-color dev: true - /@babel/core@7.20.12: - resolution: {integrity: sha512-XsMfHovsUYHFMdrIHkZphTN/2Hzzi78R08NuHfDBehym2VsPDL6Zn/JAD/JQdnRvbSsbQc4mVaU1m6JgtTEElg==} + /@babel/core@7.22.9: + resolution: {integrity: sha512-G2EgeufBcYw27U4hhoIwFcgc1XU7TlXJ3mv04oOv1WCuo900U/anZSPzEqNjwdjgffkk2Gs0AN0dW1CKVLcG7w==} engines: {node: '>=6.9.0'} dependencies: '@ampproject/remapping': 2.2.1 - '@babel/code-frame': 7.21.4 - '@babel/generator': 7.21.4 - '@babel/helper-compilation-targets': 7.21.4(@babel/core@7.20.12) - '@babel/helper-module-transforms': 7.21.2 - '@babel/helpers': 7.21.0 - '@babel/parser': 7.21.4 - '@babel/template': 7.20.7 - '@babel/traverse': 7.21.4 - '@babel/types': 7.21.4 + '@babel/code-frame': 7.22.13 + '@babel/generator': 7.23.0 + '@babel/helper-compilation-targets': 7.22.15 + '@babel/helper-module-transforms': 7.23.0(@babel/core@7.22.9) + '@babel/helpers': 7.23.2 + '@babel/parser': 7.23.0 + '@babel/template': 7.22.15 + '@babel/traverse': 7.23.2 + '@babel/types': 7.23.0 convert-source-map: 1.9.0 debug: 4.3.4 gensync: 1.0.0-beta.2 json5: 2.2.3 - semver: 6.3.0 + semver: 6.3.1 transitivePeerDependencies: - supports-color dev: true - /@babel/core@7.21.4: - resolution: {integrity: sha512-qt/YV149Jman/6AfmlxJ04LMIu8bMoyl3RB91yTFrxQmgbrSvQMy7cI8Q62FHx1t8wJ8B5fu0UDoLwHAhUo1QA==} + /@babel/core@7.23.2: + resolution: {integrity: sha512-n7s51eWdaWZ3vGT2tD4T7J6eJs3QoBXydv7vkUM06Bf1cbVD2Kc2UrkzhiQwobfV7NwOnQXYL7UBJ5VPU+RGoQ==} engines: {node: '>=6.9.0'} dependencies: '@ampproject/remapping': 2.2.1 - '@babel/code-frame': 7.21.4 - '@babel/generator': 7.21.4 - '@babel/helper-compilation-targets': 7.21.4(@babel/core@7.21.4) - '@babel/helper-module-transforms': 7.21.2 - '@babel/helpers': 7.21.0 - '@babel/parser': 7.21.4 - '@babel/template': 7.20.7 - '@babel/traverse': 7.21.4 - '@babel/types': 7.21.4 - convert-source-map: 1.9.0 + '@babel/code-frame': 7.22.13 + '@babel/generator': 7.23.0 + '@babel/helper-compilation-targets': 7.22.15 + '@babel/helper-module-transforms': 7.23.0(@babel/core@7.23.2) + '@babel/helpers': 7.23.2 + '@babel/parser': 7.23.0 + '@babel/template': 7.22.15 + '@babel/traverse': 7.23.2 + '@babel/types': 7.23.0 + convert-source-map: 2.0.0 debug: 4.3.4 gensync: 1.0.0-beta.2 json5: 2.2.3 - semver: 6.3.0 + semver: 6.3.1 transitivePeerDependencies: - supports-color dev: true - /@babel/generator@7.20.14: - resolution: {integrity: sha512-AEmuXHdcD3A52HHXxaTmYlb8q/xMEhoRP67B3T4Oq7lbmSoqroMZzjnGj3+i1io3pdnF8iBYVu4Ilj+c4hBxYg==} + /@babel/generator@7.22.9: + resolution: {integrity: sha512-KtLMbmicyuK2Ak/FTCJVbDnkN1SlT8/kceFTiuDiiRUUSMnHMidxSCdG4ndkTOHHpoomWe/4xkvHkEOncwjYIw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.21.4 + '@babel/types': 7.23.0 '@jridgewell/gen-mapping': 0.3.3 + '@jridgewell/trace-mapping': 0.3.19 jsesc: 2.5.2 dev: true - /@babel/generator@7.21.4: - resolution: {integrity: sha512-NieM3pVIYW2SwGzKoqfPrQsf4xGs9M9AIG3ThppsSRmO+m7eQhmI6amajKMUeIO37wFfsvnvcxQFx6x6iqxDnA==} + /@babel/generator@7.23.0: + resolution: {integrity: sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.21.4 + '@babel/types': 7.23.0 '@jridgewell/gen-mapping': 0.3.3 - '@jridgewell/trace-mapping': 0.3.18 + '@jridgewell/trace-mapping': 0.3.19 jsesc: 2.5.2 dev: true - /@babel/helper-annotate-as-pure@7.18.6: - resolution: {integrity: sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.21.4 - dev: true - - /@babel/helper-builder-binary-assignment-operator-visitor@7.18.9: - resolution: {integrity: sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-explode-assignable-expression': 7.18.6 - '@babel/types': 7.21.4 - dev: true - - /@babel/helper-compilation-targets@7.21.4(@babel/core@7.19.3): - resolution: {integrity: sha512-Fa0tTuOXZ1iL8IeDFUWCzjZcn+sJGd9RZdH9esYVjEejGmzf+FFYQpMi/kZUk2kPy/q1H3/GPw7np8qar/stfg==} + /@babel/helper-annotate-as-pure@7.22.5: + resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==} engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 dependencies: - '@babel/compat-data': 7.21.4 - '@babel/core': 7.19.3 - '@babel/helper-validator-option': 7.21.0 - browserslist: 4.21.5 - lru-cache: 5.1.1 - semver: 6.3.0 + '@babel/types': 7.23.0 dev: true - /@babel/helper-compilation-targets@7.21.4(@babel/core@7.20.12): - resolution: {integrity: sha512-Fa0tTuOXZ1iL8IeDFUWCzjZcn+sJGd9RZdH9esYVjEejGmzf+FFYQpMi/kZUk2kPy/q1H3/GPw7np8qar/stfg==} + /@babel/helper-builder-binary-assignment-operator-visitor@7.22.15: + resolution: {integrity: sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==} engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 dependencies: - '@babel/compat-data': 7.21.4 - '@babel/core': 7.20.12 - '@babel/helper-validator-option': 7.21.0 - browserslist: 4.21.5 - lru-cache: 5.1.1 - semver: 6.3.0 + '@babel/types': 7.23.0 dev: true - /@babel/helper-compilation-targets@7.21.4(@babel/core@7.21.4): - resolution: {integrity: sha512-Fa0tTuOXZ1iL8IeDFUWCzjZcn+sJGd9RZdH9esYVjEejGmzf+FFYQpMi/kZUk2kPy/q1H3/GPw7np8qar/stfg==} + /@babel/helper-compilation-targets@7.22.15: + resolution: {integrity: sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw==} engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 dependencies: - '@babel/compat-data': 7.21.4 - '@babel/core': 7.21.4 - '@babel/helper-validator-option': 7.21.0 - browserslist: 4.21.5 + '@babel/compat-data': 7.23.2 + '@babel/helper-validator-option': 7.22.15 + browserslist: 4.22.1 lru-cache: 5.1.1 - semver: 6.3.0 + semver: 6.3.1 dev: true - /@babel/helper-create-class-features-plugin@7.21.4(@babel/core@7.20.12): - resolution: {integrity: sha512-46QrX2CQlaFRF4TkwfTt6nJD7IHq8539cCL7SDpqWSDeJKY1xylKKY5F/33mJhLZ3mFvKv2gGrVS6NkyF6qs+Q==} + /@babel/helper-create-class-features-plugin@7.22.15(@babel/core@7.22.9): + resolution: {integrity: sha512-jKkwA59IXcvSaiK2UN45kKwSC9o+KuoXsBDvHvU/7BecYIp8GQ2UwrVvFgJASUT+hBnwJx6MhvMCuMzwZZ7jlg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.20.12 - '@babel/helper-annotate-as-pure': 7.18.6 - '@babel/helper-environment-visitor': 7.18.9 - '@babel/helper-function-name': 7.21.0 - '@babel/helper-member-expression-to-functions': 7.21.0 - '@babel/helper-optimise-call-expression': 7.18.6 - '@babel/helper-replace-supers': 7.20.7 - '@babel/helper-skip-transparent-expression-wrappers': 7.20.0 - '@babel/helper-split-export-declaration': 7.18.6 - transitivePeerDependencies: - - supports-color + '@babel/core': 7.22.9 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-function-name': 7.23.0 + '@babel/helper-member-expression-to-functions': 7.23.0 + '@babel/helper-optimise-call-expression': 7.22.5 + '@babel/helper-replace-supers': 7.22.20(@babel/core@7.22.9) + '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + semver: 6.3.1 dev: true - /@babel/helper-create-regexp-features-plugin@7.21.4(@babel/core@7.20.12): - resolution: {integrity: sha512-M00OuhU+0GyZ5iBBN9czjugzWrEq2vDpf/zCYHxxf93ul/Q5rv+a5h+/+0WnI1AebHNVtl5bFV0qsJoH23DbfA==} + /@babel/helper-create-regexp-features-plugin@7.22.15(@babel/core@7.22.9): + resolution: {integrity: sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.20.12 - '@babel/helper-annotate-as-pure': 7.18.6 + '@babel/core': 7.22.9 + '@babel/helper-annotate-as-pure': 7.22.5 regexpu-core: 5.3.2 + semver: 6.3.1 dev: true - /@babel/helper-define-polyfill-provider@0.3.3(@babel/core@7.20.12): - resolution: {integrity: sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==} + /@babel/helper-define-polyfill-provider@0.4.3(@babel/core@7.22.9): + resolution: {integrity: sha512-WBrLmuPP47n7PNwsZ57pqam6G/RGo1vw/87b0Blc53tZNGZ4x7YvZ6HgQe2vo1W/FR20OgjeZuGXzudPiXHFug==} peerDependencies: - '@babel/core': ^7.4.0-0 + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.20.12 - '@babel/helper-compilation-targets': 7.21.4(@babel/core@7.20.12) - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.22.9 + '@babel/helper-compilation-targets': 7.22.15 + '@babel/helper-plugin-utils': 7.22.5 debug: 4.3.4 lodash.debounce: 4.0.8 - resolve: 1.22.2 - semver: 6.3.0 + resolve: 1.22.8 transitivePeerDependencies: - supports-color dev: true - /@babel/helper-environment-visitor@7.18.9: - resolution: {integrity: sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==} + /@babel/helper-environment-visitor@7.22.20: + resolution: {integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==} engines: {node: '>=6.9.0'} dev: true - /@babel/helper-explode-assignable-expression@7.18.6: - resolution: {integrity: sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==} + /@babel/helper-function-name@7.23.0: + resolution: {integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.21.4 + '@babel/template': 7.22.15 + '@babel/types': 7.23.0 dev: true - /@babel/helper-function-name@7.21.0: - resolution: {integrity: sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==} + /@babel/helper-hoist-variables@7.22.5: + resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/template': 7.20.7 - '@babel/types': 7.21.4 + '@babel/types': 7.23.0 dev: true - /@babel/helper-hoist-variables@7.18.6: - resolution: {integrity: sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==} + /@babel/helper-member-expression-to-functions@7.23.0: + resolution: {integrity: sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.21.4 + '@babel/types': 7.23.0 dev: true - /@babel/helper-member-expression-to-functions@7.21.0: - resolution: {integrity: sha512-Muu8cdZwNN6mRRNG6lAYErJ5X3bRevgYR2O8wN0yn7jJSnGDu6eG59RfT29JHxGUovyfrh6Pj0XzmR7drNVL3Q==} + /@babel/helper-module-imports@7.22.15: + resolution: {integrity: sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.21.4 + '@babel/types': 7.23.0 dev: true - /@babel/helper-module-imports@7.21.4: - resolution: {integrity: sha512-orajc5T2PsRYUN3ZryCEFeMDYwyw09c/pZeaQEZPH0MpKzSvn3e0uXsDBu3k03VI+9DBiRo+l22BfKTpKwa/Wg==} + /@babel/helper-module-transforms@7.23.0(@babel/core@7.22.5): + resolution: {integrity: sha512-WhDWw1tdrlT0gMgUJSlX0IQvoO1eN279zrAUbVB+KpV2c3Tylz8+GnKOLllCS6Z/iZQEyVYxhZVUdPTqs2YYPw==} engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 dependencies: - '@babel/types': 7.21.4 + '@babel/core': 7.22.5 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-module-imports': 7.22.15 + '@babel/helper-simple-access': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + '@babel/helper-validator-identifier': 7.22.20 dev: true - /@babel/helper-module-transforms@7.21.2: - resolution: {integrity: sha512-79yj2AR4U/Oqq/WOV7Lx6hUjau1Zfo4cI+JLAVYeMV5XIlbOhmjEk5ulbTc9fMpmlojzZHkUUxAiK+UKn+hNQQ==} + /@babel/helper-module-transforms@7.23.0(@babel/core@7.22.9): + resolution: {integrity: sha512-WhDWw1tdrlT0gMgUJSlX0IQvoO1eN279zrAUbVB+KpV2c3Tylz8+GnKOLllCS6Z/iZQEyVYxhZVUdPTqs2YYPw==} engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 dependencies: - '@babel/helper-environment-visitor': 7.18.9 - '@babel/helper-module-imports': 7.21.4 - '@babel/helper-simple-access': 7.20.2 - '@babel/helper-split-export-declaration': 7.18.6 - '@babel/helper-validator-identifier': 7.19.1 - '@babel/template': 7.20.7 - '@babel/traverse': 7.21.4 - '@babel/types': 7.21.4 - transitivePeerDependencies: - - supports-color + '@babel/core': 7.22.9 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-module-imports': 7.22.15 + '@babel/helper-simple-access': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + '@babel/helper-validator-identifier': 7.22.20 dev: true - /@babel/helper-optimise-call-expression@7.18.6: - resolution: {integrity: sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==} + /@babel/helper-module-transforms@7.23.0(@babel/core@7.23.2): + resolution: {integrity: sha512-WhDWw1tdrlT0gMgUJSlX0IQvoO1eN279zrAUbVB+KpV2c3Tylz8+GnKOLllCS6Z/iZQEyVYxhZVUdPTqs2YYPw==} engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 dependencies: - '@babel/types': 7.21.4 + '@babel/core': 7.23.2 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-module-imports': 7.22.15 + '@babel/helper-simple-access': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + '@babel/helper-validator-identifier': 7.22.20 dev: true - /@babel/helper-plugin-utils@7.20.2: - resolution: {integrity: sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==} + /@babel/helper-optimise-call-expression@7.22.5: + resolution: {integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==} engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.23.0 dev: true - /@babel/helper-remap-async-to-generator@7.18.9(@babel/core@7.20.12): - resolution: {integrity: sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==} + /@babel/helper-plugin-utils@7.22.5: + resolution: {integrity: sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helper-remap-async-to-generator@7.22.20(@babel/core@7.22.9): + resolution: {integrity: sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.20.12 - '@babel/helper-annotate-as-pure': 7.18.6 - '@babel/helper-environment-visitor': 7.18.9 - '@babel/helper-wrap-function': 7.20.5 - '@babel/types': 7.21.4 - transitivePeerDependencies: - - supports-color + '@babel/core': 7.22.9 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-wrap-function': 7.22.20 dev: true - /@babel/helper-replace-supers@7.20.7: - resolution: {integrity: sha512-vujDMtB6LVfNW13jhlCrp48QNslK6JXi7lQG736HVbHz/mbf4Dc7tIRh1Xf5C0rF7BP8iiSxGMCmY6Ci1ven3A==} + /@babel/helper-replace-supers@7.22.20(@babel/core@7.22.9): + resolution: {integrity: sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==} engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 dependencies: - '@babel/helper-environment-visitor': 7.18.9 - '@babel/helper-member-expression-to-functions': 7.21.0 - '@babel/helper-optimise-call-expression': 7.18.6 - '@babel/template': 7.20.7 - '@babel/traverse': 7.21.4 - '@babel/types': 7.21.4 - transitivePeerDependencies: - - supports-color + '@babel/core': 7.22.9 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-member-expression-to-functions': 7.23.0 + '@babel/helper-optimise-call-expression': 7.22.5 dev: true - /@babel/helper-simple-access@7.20.2: - resolution: {integrity: sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==} + /@babel/helper-simple-access@7.22.5: + resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.21.4 + '@babel/types': 7.23.0 dev: true - /@babel/helper-skip-transparent-expression-wrappers@7.20.0: - resolution: {integrity: sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg==} + /@babel/helper-skip-transparent-expression-wrappers@7.22.5: + resolution: {integrity: sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.21.4 + '@babel/types': 7.23.0 dev: true - /@babel/helper-split-export-declaration@7.18.6: - resolution: {integrity: sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==} + /@babel/helper-split-export-declaration@7.22.6: + resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.21.4 + '@babel/types': 7.23.0 dev: true - /@babel/helper-string-parser@7.19.4: - resolution: {integrity: sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==} + /@babel/helper-string-parser@7.22.5: + resolution: {integrity: sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==} engines: {node: '>=6.9.0'} dev: true - /@babel/helper-validator-identifier@7.19.1: - resolution: {integrity: sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==} + /@babel/helper-validator-identifier@7.22.20: + resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} engines: {node: '>=6.9.0'} dev: true - /@babel/helper-validator-option@7.21.0: - resolution: {integrity: sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==} + /@babel/helper-validator-option@7.22.15: + resolution: {integrity: sha512-bMn7RmyFjY/mdECUbgn9eoSY4vqvacUnS9i9vGAGttgFWesO6B4CYWA7XlpbWgBt71iv/hfbPlynohStqnu5hA==} engines: {node: '>=6.9.0'} dev: true - /@babel/helper-wrap-function@7.20.5: - resolution: {integrity: sha512-bYMxIWK5mh+TgXGVqAtnu5Yn1un+v8DDZtqyzKRLUzrh70Eal2O3aZ7aPYiMADO4uKlkzOiRiZ6GX5q3qxvW9Q==} + /@babel/helper-wrap-function@7.22.20: + resolution: {integrity: sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/helper-function-name': 7.21.0 - '@babel/template': 7.20.7 - '@babel/traverse': 7.21.4 - '@babel/types': 7.21.4 - transitivePeerDependencies: - - supports-color + '@babel/helper-function-name': 7.23.0 + '@babel/template': 7.22.15 + '@babel/types': 7.23.0 dev: true - /@babel/helpers@7.21.0: - resolution: {integrity: sha512-XXve0CBtOW0pd7MRzzmoyuSj0e3SEzj8pgyFxnTT1NJZL38BD1MK7yYrm8yefRPIDvNNe14xR4FdbHwpInD4rA==} + /@babel/helpers@7.23.2: + resolution: {integrity: sha512-lzchcp8SjTSVe/fPmLwtWVBFC7+Tbn8LGHDVfDp9JGxpAY5opSaEFgt8UQvrnECWOTdji2mOWMz1rOhkHscmGQ==} engines: {node: '>=6.9.0'} dependencies: - '@babel/template': 7.20.7 - '@babel/traverse': 7.21.4 - '@babel/types': 7.21.4 + '@babel/template': 7.22.15 + '@babel/traverse': 7.23.2 + '@babel/types': 7.23.0 transitivePeerDependencies: - supports-color dev: true - /@babel/highlight@7.18.6: - resolution: {integrity: sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==} + /@babel/highlight@7.22.20: + resolution: {integrity: sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/helper-validator-identifier': 7.19.1 + '@babel/helper-validator-identifier': 7.22.20 chalk: 2.4.2 js-tokens: 4.0.0 dev: true - /@babel/parser@7.21.4: - resolution: {integrity: sha512-alVJj7k7zIxqBZ7BTRhz0IqJFxW1VJbm6N8JbcYhQ186df9ZBPbZBmWSqAMXwHGsCJdYks7z/voa3ibiS5bCIw==} + /@babel/parser@7.23.0: + resolution: {integrity: sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==} engines: {node: '>=6.0.0'} hasBin: true dependencies: - '@babel/types': 7.21.4 + '@babel/types': 7.23.0 dev: true - /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.18.6(@babel/core@7.20.12): - resolution: {integrity: sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==} + /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.22.15(@babel/core@7.22.9): + resolution: {integrity: sha512-FB9iYlz7rURmRJyXRKEnalYPPdn87H5no108cyuQQyMwlpJ2SJtpIUBI27kdTin956pz+LPypkPVPUTlxOmrsg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.20.12 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.22.9 + '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.20.7(@babel/core@7.20.12): - resolution: {integrity: sha512-sbr9+wNE5aXMBBFBICk01tt7sBf2Oc9ikRFEcem/ZORup9IMUdNhW7/wVLEbbtlWOsEubJet46mHAL2C8+2jKQ==} + /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.22.15(@babel/core@7.22.9): + resolution: {integrity: sha512-Hyph9LseGvAeeXzikV88bczhsrLrIZqDPxO+sSmAunMPaGrBGhfMWzCPYTtiW9t+HzSE2wtV8e5cc5P6r1xMDQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.13.0 dependencies: - '@babel/core': 7.20.12 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/helper-skip-transparent-expression-wrappers': 7.20.0 - '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.20.12) + '@babel/core': 7.22.9 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + '@babel/plugin-transform-optional-chaining': 7.23.0(@babel/core@7.22.9) dev: true - /@babel/plugin-proposal-async-generator-functions@7.20.7(@babel/core@7.20.12): + /@babel/plugin-proposal-async-generator-functions@7.20.7(@babel/core@7.22.9): resolution: {integrity: sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA==} engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-async-generator-functions instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.20.12 - '@babel/helper-environment-visitor': 7.18.9 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/helper-remap-async-to-generator': 7.18.9(@babel/core@7.20.12) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.20.12) - transitivePeerDependencies: - - supports-color + '@babel/core': 7.22.9 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.22.9) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.22.9) dev: true - /@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.20.12): - resolution: {integrity: sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==} + /@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.22.9): + resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.20.12 - '@babel/helper-create-class-features-plugin': 7.21.4(@babel/core@7.20.12) - '@babel/helper-plugin-utils': 7.20.2 - transitivePeerDependencies: - - supports-color + '@babel/core': 7.22.9 dev: true - /@babel/plugin-proposal-class-static-block@7.21.0(@babel/core@7.20.12): - resolution: {integrity: sha512-XP5G9MWNUskFuP30IfFSEFB0Z6HzLIUcjYM4bYOPHXl7eiJ9HFv8tWj6TXTN5QODiEhDZAeI4hLok2iHFFV4hw==} - engines: {node: '>=6.9.0'} + /@babel/plugin-proposal-unicode-property-regex@7.18.6(@babel/core@7.22.9): + resolution: {integrity: sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==} + engines: {node: '>=4'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-unicode-property-regex instead. peerDependencies: - '@babel/core': ^7.12.0 + '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.20.12 - '@babel/helper-create-class-features-plugin': 7.21.4(@babel/core@7.20.12) - '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.20.12) - transitivePeerDependencies: - - supports-color + '@babel/core': 7.22.9 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.22.9) + '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-proposal-dynamic-import@7.18.6(@babel/core@7.20.12): - resolution: {integrity: sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==} - engines: {node: '>=6.9.0'} + /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.22.9): + resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.20.12 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.20.12) + '@babel/core': 7.22.9 + '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-proposal-export-namespace-from@7.18.9(@babel/core@7.20.12): - resolution: {integrity: sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==} - engines: {node: '>=6.9.0'} + /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.22.9): + resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.20.12 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.20.12) + '@babel/core': 7.22.9 + '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-proposal-json-strings@7.18.6(@babel/core@7.20.12): - resolution: {integrity: sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==} + /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.22.9): + resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.20.12 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.20.12) + '@babel/core': 7.22.9 + '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-proposal-logical-assignment-operators@7.20.7(@babel/core@7.20.12): - resolution: {integrity: sha512-y7C7cZgpMIjWlKE5T7eJwp+tnRYM89HmRvWM5EQuB5BoHEONjmQ8lSNmBUwOyy/GFRsohJED51YBF79hE1djug==} - engines: {node: '>=6.9.0'} + /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.22.9): + resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.20.12 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.20.12) + '@babel/core': 7.22.9 + '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-proposal-nullish-coalescing-operator@7.18.6(@babel/core@7.20.12): - resolution: {integrity: sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==} - engines: {node: '>=6.9.0'} + /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.22.9): + resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.20.12 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.20.12) + '@babel/core': 7.22.9 + '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-proposal-numeric-separator@7.18.6(@babel/core@7.20.12): - resolution: {integrity: sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==} + /@babel/plugin-syntax-import-assertions@7.22.5(@babel/core@7.22.9): + resolution: {integrity: sha512-rdV97N7KqsRzeNGoWUOK6yUsWarLjE5Su/Snk9IYPU9CwkWHs4t+rTGOvffTR8XGkJMTAdLfO0xVnXm8wugIJg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.20.12 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.20.12) + '@babel/core': 7.22.9 + '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-proposal-object-rest-spread@7.20.7(@babel/core@7.20.12): - resolution: {integrity: sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==} + /@babel/plugin-syntax-import-attributes@7.22.5(@babel/core@7.22.9): + resolution: {integrity: sha512-KwvoWDeNKPETmozyFE0P2rOLqh39EoQHNjqizrI5B8Vt0ZNS7M56s7dAiAqbYfiAYOuIzIh96z3iR2ktgu3tEg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/compat-data': 7.21.4 - '@babel/core': 7.20.12 - '@babel/helper-compilation-targets': 7.21.4(@babel/core@7.20.12) - '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.20.12) - '@babel/plugin-transform-parameters': 7.21.3(@babel/core@7.20.12) + '@babel/core': 7.22.9 + '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-proposal-optional-catch-binding@7.18.6(@babel/core@7.20.12): - resolution: {integrity: sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==} - engines: {node: '>=6.9.0'} + /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.22.9): + resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.20.12 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.20.12) + '@babel/core': 7.22.9 + '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-proposal-optional-chaining@7.21.0(@babel/core@7.20.12): - resolution: {integrity: sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==} - engines: {node: '>=6.9.0'} + /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.22.9): + resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.20.12 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/helper-skip-transparent-expression-wrappers': 7.20.0 - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.20.12) + '@babel/core': 7.22.9 + '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-proposal-private-methods@7.18.6(@babel/core@7.20.12): - resolution: {integrity: sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==} - engines: {node: '>=6.9.0'} + /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.22.9): + resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.20.12 - '@babel/helper-create-class-features-plugin': 7.21.4(@babel/core@7.20.12) - '@babel/helper-plugin-utils': 7.20.2 - transitivePeerDependencies: - - supports-color + '@babel/core': 7.22.9 + '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-proposal-private-property-in-object@7.21.0(@babel/core@7.20.12): - resolution: {integrity: sha512-ha4zfehbJjc5MmXBlHec1igel5TJXXLDDRbuJ4+XT2TJcyD9/V1919BA8gMvsdHcNMBy4WBUBiRb3nw/EQUtBw==} - engines: {node: '>=6.9.0'} + /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.22.9): + resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.20.12 - '@babel/helper-annotate-as-pure': 7.18.6 - '@babel/helper-create-class-features-plugin': 7.21.4(@babel/core@7.20.12) - '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.20.12) - transitivePeerDependencies: - - supports-color + '@babel/core': 7.22.9 + '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-proposal-unicode-property-regex@7.18.6(@babel/core@7.20.12): - resolution: {integrity: sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==} - engines: {node: '>=4'} + /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.22.9): + resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.20.12 - '@babel/helper-create-regexp-features-plugin': 7.21.4(@babel/core@7.20.12) - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.22.9 + '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.20.12): - resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} + /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.22.9): + resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.20.12 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.22.9 + '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.20.12): - resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} + /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.22.9): + resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.20.12 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.22.9 + '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.20.12): - resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} + /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.22.9): + resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.9 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.22.9): + resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.20.12 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.22.9 + '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.20.12): - resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} + /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.22.9): + resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.20.12 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.22.9 + '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.20.12): - resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==} + /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.22.9): + resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.22.9 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.22.9) + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-arrow-functions@7.22.5(@babel/core@7.22.9): + resolution: {integrity: sha512-26lTNXoVRdAnsaDXPpvCNUq+OVWEVC6bx7Vvz9rC53F2bagUWW4u4ii2+h8Fejfh7RYqPxn+libeFBBck9muEw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.20.12 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.22.9 + '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-import-assertions@7.20.0(@babel/core@7.20.12): - resolution: {integrity: sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ==} + /@babel/plugin-transform-async-generator-functions@7.23.2(@babel/core@7.22.9): + resolution: {integrity: sha512-BBYVGxbDVHfoeXbOwcagAkOQAm9NxoTdMGfTqghu1GrvadSaw6iW3Je6IcL5PNOw8VwjxqBECXy50/iCQSY/lQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.20.12 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.22.9 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.22.9) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.22.9) dev: true - /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.20.12): - resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} + /@babel/plugin-transform-async-to-generator@7.22.5(@babel/core@7.22.9): + resolution: {integrity: sha512-b1A8D8ZzE/VhNDoV1MSJTnpKkCG5bJo+19R4o4oy03zM7ws8yEMK755j61Dc3EyvdysbqH5BOOTquJ7ZX9C6vQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.20.12 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.22.9 + '@babel/helper-module-imports': 7.22.15 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.22.9) dev: true - /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.20.12): - resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} + /@babel/plugin-transform-block-scoped-functions@7.22.5(@babel/core@7.22.9): + resolution: {integrity: sha512-tdXZ2UdknEKQWKJP1KMNmuF5Lx3MymtMN/pvA+p/VEkhK8jVcQ1fzSy8KM9qRYhAf2/lV33hoMPKI/xaI9sADA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.20.12 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.22.9 + '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.20.12): - resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} + /@babel/plugin-transform-block-scoping@7.23.0(@babel/core@7.22.9): + resolution: {integrity: sha512-cOsrbmIOXmf+5YbL99/S49Y3j46k/T16b9ml8bm9lP6N9US5iQ2yBK7gpui1pg0V/WMcXdkfKbTb7HXq9u+v4g==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.20.12 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.22.9 + '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.20.12): - resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} + /@babel/plugin-transform-class-properties@7.22.5(@babel/core@7.22.9): + resolution: {integrity: sha512-nDkQ0NfkOhPTq8YCLiWNxp1+f9fCobEjCb0n8WdbNUBc4IB5V7P1QnX9IjpSoquKrXF5SKojHleVNs2vGeHCHQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.20.12 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.22.9 + '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.22.9) + '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.20.12): - resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} + /@babel/plugin-transform-class-static-block@7.22.11(@babel/core@7.22.9): + resolution: {integrity: sha512-GMM8gGmqI7guS/llMFk1bJDkKfn3v3C4KHK9Yg1ey5qcHcOlKb0QvcMrgzvxo+T03/4szNh5lghY+fEC98Kq9g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.12.0 + dependencies: + '@babel/core': 7.22.9 + '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.22.9) + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.22.9) + dev: true + + /@babel/plugin-transform-classes@7.22.15(@babel/core@7.22.9): + resolution: {integrity: sha512-VbbC3PGjBdE0wAWDdHM9G8Gm977pnYI0XpqMd6LrKISj8/DJXEsWqgRuTYaNE9Bv0JGhTZUzHDlMk18IpOuoqw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.20.12 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.22.9 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-compilation-targets': 7.22.15 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-function-name': 7.23.0 + '@babel/helper-optimise-call-expression': 7.22.5 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-replace-supers': 7.22.20(@babel/core@7.22.9) + '@babel/helper-split-export-declaration': 7.22.6 + globals: 11.12.0 dev: true - /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.20.12): - resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} + /@babel/plugin-transform-computed-properties@7.22.5(@babel/core@7.22.9): + resolution: {integrity: sha512-4GHWBgRf0krxPX+AaPtgBAlTgTeZmqDynokHOX7aqqAB4tHs3U2Y02zH6ETFdLZGcg9UQSD1WCmkVrE9ErHeOg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.20.12 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.22.9 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/template': 7.22.15 dev: true - /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.20.12): - resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} + /@babel/plugin-transform-destructuring@7.23.0(@babel/core@7.22.9): + resolution: {integrity: sha512-vaMdgNXFkYrB+8lbgniSYWHsgqK5gjaMNcc84bMIOMRLH0L9AqYq3hwMdvnyqj1OPqea8UtjPEuS/DCenah1wg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.20.12 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.22.9 + '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.20.12): - resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} + /@babel/plugin-transform-dotall-regex@7.22.5(@babel/core@7.22.9): + resolution: {integrity: sha512-5/Yk9QxCQCl+sOIB1WelKnVRxTJDSAIxtJLL2/pqL14ZVlbH0fUQUZa/T5/UnQtBNgghR7mfB8ERBKyKPCi7Vw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.20.12 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.22.9 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.22.9) + '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.20.12): - resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} + /@babel/plugin-transform-duplicate-keys@7.22.5(@babel/core@7.22.9): + resolution: {integrity: sha512-dEnYD+9BBgld5VBXHnF/DbYGp3fqGMsyxKbtD1mDyIA7AkTSpKXFhCVuj/oQVOoALfBs77DudA0BE4d5mcpmqw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.20.12 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.22.9 + '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-arrow-functions@7.20.7(@babel/core@7.20.12): - resolution: {integrity: sha512-3poA5E7dzDomxj9WXWwuD6A5F3kc7VXwIJO+E+J8qtDtS+pXPAhrgEyh+9GBwBgPq1Z+bB+/JD60lp5jsN7JPQ==} + /@babel/plugin-transform-dynamic-import@7.22.11(@babel/core@7.22.9): + resolution: {integrity: sha512-g/21plo58sfteWjaO0ZNVb+uEOkJNjAaHhbejrnBmu011l/eNDScmkbjCC3l4FKb10ViaGU4aOkFznSu2zRHgA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.20.12 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.22.9 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.22.9) dev: true - /@babel/plugin-transform-async-to-generator@7.20.7(@babel/core@7.20.12): - resolution: {integrity: sha512-Uo5gwHPT9vgnSXQxqGtpdufUiWp96gk7yiP4Mp5bm1QMkEmLXBO7PAGYbKoJ6DhAwiNkcHFBol/x5zZZkL/t0Q==} + /@babel/plugin-transform-exponentiation-operator@7.22.5(@babel/core@7.22.9): + resolution: {integrity: sha512-vIpJFNM/FjZ4rh1myqIya9jXwrwwgFRHPjT3DkUA9ZLHuzox8jiXkOLvwm1H+PQIP3CqfC++WPKeuDi0Sjdj1g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.20.12 - '@babel/helper-module-imports': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/helper-remap-async-to-generator': 7.18.9(@babel/core@7.20.12) - transitivePeerDependencies: - - supports-color + '@babel/core': 7.22.9 + '@babel/helper-builder-binary-assignment-operator-visitor': 7.22.15 + '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-block-scoped-functions@7.18.6(@babel/core@7.20.12): - resolution: {integrity: sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==} + /@babel/plugin-transform-export-namespace-from@7.22.11(@babel/core@7.22.9): + resolution: {integrity: sha512-xa7aad7q7OiT8oNZ1mU7NrISjlSkVdMbNxn9IuLZyL9AJEhs1Apba3I+u5riX1dIkdptP5EKDG5XDPByWxtehw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.20.12 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.22.9 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.22.9) dev: true - /@babel/plugin-transform-block-scoping@7.21.0(@babel/core@7.20.12): - resolution: {integrity: sha512-Mdrbunoh9SxwFZapeHVrwFmri16+oYotcZysSzhNIVDwIAb1UV+kvnxULSYq9J3/q5MDG+4X6w8QVgD1zhBXNQ==} + /@babel/plugin-transform-for-of@7.22.15(@babel/core@7.22.9): + resolution: {integrity: sha512-me6VGeHsx30+xh9fbDLLPi0J1HzmeIIyenoOQHuw2D4m2SAU3NrspX5XxJLBpqn5yrLzrlw2Iy3RA//Bx27iOA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.20.12 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.22.9 + '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-classes@7.21.0(@babel/core@7.20.12): - resolution: {integrity: sha512-RZhbYTCEUAe6ntPehC4hlslPWosNHDox+vAs4On/mCLRLfoDVHf6hVEd7kuxr1RnHwJmxFfUM3cZiZRmPxJPXQ==} + /@babel/plugin-transform-function-name@7.22.5(@babel/core@7.22.9): + resolution: {integrity: sha512-UIzQNMS0p0HHiQm3oelztj+ECwFnj+ZRV4KnguvlsD2of1whUeM6o7wGNj6oLwcDoAXQ8gEqfgC24D+VdIcevg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.20.12 - '@babel/helper-annotate-as-pure': 7.18.6 - '@babel/helper-compilation-targets': 7.21.4(@babel/core@7.20.12) - '@babel/helper-environment-visitor': 7.18.9 - '@babel/helper-function-name': 7.21.0 - '@babel/helper-optimise-call-expression': 7.18.6 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/helper-replace-supers': 7.20.7 - '@babel/helper-split-export-declaration': 7.18.6 - globals: 11.12.0 - transitivePeerDependencies: - - supports-color + '@babel/core': 7.22.9 + '@babel/helper-compilation-targets': 7.22.15 + '@babel/helper-function-name': 7.23.0 + '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-computed-properties@7.20.7(@babel/core@7.20.12): - resolution: {integrity: sha512-Lz7MvBK6DTjElHAmfu6bfANzKcxpyNPeYBGEafyA6E5HtRpjpZwU+u7Qrgz/2OR0z+5TvKYbPdphfSaAcZBrYQ==} + /@babel/plugin-transform-json-strings@7.22.11(@babel/core@7.22.9): + resolution: {integrity: sha512-CxT5tCqpA9/jXFlme9xIBCc5RPtdDq3JpkkhgHQqtDdiTnTI0jtZ0QzXhr5DILeYifDPp2wvY2ad+7+hLMW5Pw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.20.12 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/template': 7.20.7 + '@babel/core': 7.22.9 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.22.9) dev: true - /@babel/plugin-transform-destructuring@7.21.3(@babel/core@7.20.12): - resolution: {integrity: sha512-bp6hwMFzuiE4HqYEyoGJ/V2LeIWn+hLVKc4pnj++E5XQptwhtcGmSayM029d/j2X1bPKGTlsyPwAubuU22KhMA==} + /@babel/plugin-transform-literals@7.22.5(@babel/core@7.22.9): + resolution: {integrity: sha512-fTLj4D79M+mepcw3dgFBTIDYpbcB9Sm0bpm4ppXPaO+U+PKFFyV9MGRvS0gvGw62sd10kT5lRMKXAADb9pWy8g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.20.12 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.22.9 + '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-dotall-regex@7.18.6(@babel/core@7.20.12): - resolution: {integrity: sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==} + /@babel/plugin-transform-logical-assignment-operators@7.22.11(@babel/core@7.22.9): + resolution: {integrity: sha512-qQwRTP4+6xFCDV5k7gZBF3C31K34ut0tbEcTKxlX/0KXxm9GLcO14p570aWxFvVzx6QAfPgq7gaeIHXJC8LswQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.20.12 - '@babel/helper-create-regexp-features-plugin': 7.21.4(@babel/core@7.20.12) - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.22.9 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.22.9) dev: true - /@babel/plugin-transform-duplicate-keys@7.18.9(@babel/core@7.20.12): - resolution: {integrity: sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==} + /@babel/plugin-transform-member-expression-literals@7.22.5(@babel/core@7.22.9): + resolution: {integrity: sha512-RZEdkNtzzYCFl9SE9ATaUMTj2hqMb4StarOJLrZRbqqU4HSBE7UlBw9WBWQiDzrJZJdUWiMTVDI6Gv/8DPvfew==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.20.12 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.22.9 + '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-exponentiation-operator@7.18.6(@babel/core@7.20.12): - resolution: {integrity: sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==} + /@babel/plugin-transform-modules-amd@7.23.0(@babel/core@7.22.9): + resolution: {integrity: sha512-xWT5gefv2HGSm4QHtgc1sYPbseOyf+FFDo2JbpE25GWl5BqTGO9IMwTYJRoIdjsF85GE+VegHxSCUt5EvoYTAw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.20.12 - '@babel/helper-builder-binary-assignment-operator-visitor': 7.18.9 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.22.9 + '@babel/helper-module-transforms': 7.23.0(@babel/core@7.22.9) + '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-for-of@7.21.0(@babel/core@7.20.12): - resolution: {integrity: sha512-LlUYlydgDkKpIY7mcBWvyPPmMcOphEyYA27Ef4xpbh1IiDNLr0kZsos2nf92vz3IccvJI25QUwp86Eo5s6HmBQ==} + /@babel/plugin-transform-modules-commonjs@7.23.0(@babel/core@7.22.9): + resolution: {integrity: sha512-32Xzss14/UVc7k9g775yMIvkVK8xwKE0DPdP5JTapr3+Z9w4tzeOuLNY6BXDQR6BdnzIlXnCGAzsk/ICHBLVWQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.20.12 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.22.9 + '@babel/helper-module-transforms': 7.23.0(@babel/core@7.22.9) + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-simple-access': 7.22.5 dev: true - /@babel/plugin-transform-function-name@7.18.9(@babel/core@7.20.12): - resolution: {integrity: sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==} + /@babel/plugin-transform-modules-systemjs@7.23.0(@babel/core@7.22.9): + resolution: {integrity: sha512-qBej6ctXZD2f+DhlOC9yO47yEYgUh5CZNz/aBoH4j/3NOlRfJXJbY7xDQCqQVf9KbrqGzIWER1f23doHGrIHFg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.20.12 - '@babel/helper-compilation-targets': 7.21.4(@babel/core@7.20.12) - '@babel/helper-function-name': 7.21.0 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.22.9 + '@babel/helper-hoist-variables': 7.22.5 + '@babel/helper-module-transforms': 7.23.0(@babel/core@7.22.9) + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-validator-identifier': 7.22.20 dev: true - /@babel/plugin-transform-literals@7.18.9(@babel/core@7.20.12): - resolution: {integrity: sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==} + /@babel/plugin-transform-modules-umd@7.22.5(@babel/core@7.22.9): + resolution: {integrity: sha512-+S6kzefN/E1vkSsKx8kmQuqeQsvCKCd1fraCM7zXm4SFoggI099Tr4G8U81+5gtMdUeMQ4ipdQffbKLX0/7dBQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.20.12 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.22.9 + '@babel/helper-module-transforms': 7.23.0(@babel/core@7.22.9) + '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-member-expression-literals@7.18.6(@babel/core@7.20.12): - resolution: {integrity: sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==} + /@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.22.9): + resolution: {integrity: sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.22.9 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.22.9) + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-new-target@7.22.5(@babel/core@7.22.9): + resolution: {integrity: sha512-AsF7K0Fx/cNKVyk3a+DW0JLo+Ua598/NxMRvxDnkpCIGFh43+h/v2xyhRUYf6oD8gE4QtL83C7zZVghMjHd+iw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.20.12 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.22.9 + '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-modules-amd@7.20.11(@babel/core@7.20.12): - resolution: {integrity: sha512-NuzCt5IIYOW0O30UvqktzHYR2ud5bOWbY0yaxWZ6G+aFzOMJvrs5YHNikrbdaT15+KNO31nPOy5Fim3ku6Zb5g==} + /@babel/plugin-transform-nullish-coalescing-operator@7.22.11(@babel/core@7.22.9): + resolution: {integrity: sha512-YZWOw4HxXrotb5xsjMJUDlLgcDXSfO9eCmdl1bgW4+/lAGdkjaEvOnQ4p5WKKdUgSzO39dgPl0pTnfxm0OAXcg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.20.12 - '@babel/helper-module-transforms': 7.21.2 - '@babel/helper-plugin-utils': 7.20.2 - transitivePeerDependencies: - - supports-color + '@babel/core': 7.22.9 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.22.9) dev: true - /@babel/plugin-transform-modules-commonjs@7.21.2(@babel/core@7.20.12): - resolution: {integrity: sha512-Cln+Yy04Gxua7iPdj6nOV96smLGjpElir5YwzF0LBPKoPlLDNJePNlrGGaybAJkd0zKRnOVXOgizSqPYMNYkzA==} + /@babel/plugin-transform-numeric-separator@7.22.11(@babel/core@7.22.9): + resolution: {integrity: sha512-3dzU4QGPsILdJbASKhF/V2TVP+gJya1PsueQCxIPCEcerqF21oEcrob4mzjsp2Py/1nLfF5m+xYNMDpmA8vffg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.20.12 - '@babel/helper-module-transforms': 7.21.2 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/helper-simple-access': 7.20.2 - transitivePeerDependencies: - - supports-color + '@babel/core': 7.22.9 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.22.9) dev: true - /@babel/plugin-transform-modules-systemjs@7.20.11(@babel/core@7.20.12): - resolution: {integrity: sha512-vVu5g9BPQKSFEmvt2TA4Da5N+QVS66EX21d8uoOihC+OCpUoGvzVsXeqFdtAEfVa5BILAeFt+U7yVmLbQnAJmw==} + /@babel/plugin-transform-object-rest-spread@7.22.15(@babel/core@7.22.9): + resolution: {integrity: sha512-fEB+I1+gAmfAyxZcX1+ZUwLeAuuf8VIg67CTznZE0MqVFumWkh8xWtn58I4dxdVf080wn7gzWoF8vndOViJe9Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.20.12 - '@babel/helper-hoist-variables': 7.18.6 - '@babel/helper-module-transforms': 7.21.2 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/helper-validator-identifier': 7.19.1 - transitivePeerDependencies: - - supports-color + '@babel/compat-data': 7.23.2 + '@babel/core': 7.22.9 + '@babel/helper-compilation-targets': 7.22.15 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.22.9) + '@babel/plugin-transform-parameters': 7.22.15(@babel/core@7.22.9) dev: true - /@babel/plugin-transform-modules-umd@7.18.6(@babel/core@7.20.12): - resolution: {integrity: sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==} + /@babel/plugin-transform-object-super@7.22.5(@babel/core@7.22.9): + resolution: {integrity: sha512-klXqyaT9trSjIUrcsYIfETAzmOEZL3cBYqOYLJxBHfMFFggmXOv+NYSX/Jbs9mzMVESw/WycLFPRx8ba/b2Ipw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.20.12 - '@babel/helper-module-transforms': 7.21.2 - '@babel/helper-plugin-utils': 7.20.2 - transitivePeerDependencies: - - supports-color + '@babel/core': 7.22.9 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-replace-supers': 7.22.20(@babel/core@7.22.9) dev: true - /@babel/plugin-transform-named-capturing-groups-regex@7.20.5(@babel/core@7.20.12): - resolution: {integrity: sha512-mOW4tTzi5iTLnw+78iEq3gr8Aoq4WNRGpmSlrogqaiCBoR1HFhpU4JkpQFOHfeYx3ReVIFWOQJS4aZBRvuZ6mA==} + /@babel/plugin-transform-optional-catch-binding@7.22.11(@babel/core@7.22.9): + resolution: {integrity: sha512-rli0WxesXUeCJnMYhzAglEjLWVDF6ahb45HuprcmQuLidBJFWjNnOzssk2kuc6e33FlLaiZhG/kUIzUMWdBKaQ==} engines: {node: '>=6.9.0'} peerDependencies: - '@babel/core': ^7.0.0 + '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.20.12 - '@babel/helper-create-regexp-features-plugin': 7.21.4(@babel/core@7.20.12) - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.22.9 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.22.9) dev: true - /@babel/plugin-transform-new-target@7.18.6(@babel/core@7.20.12): - resolution: {integrity: sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==} + /@babel/plugin-transform-optional-chaining@7.23.0(@babel/core@7.22.9): + resolution: {integrity: sha512-sBBGXbLJjxTzLBF5rFWaikMnOGOk/BmK6vVByIdEggZ7Vn6CvWXZyRkkLFK6WE0IF8jSliyOkUN6SScFgzCM0g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.20.12 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.22.9 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.22.9) dev: true - /@babel/plugin-transform-object-super@7.18.6(@babel/core@7.20.12): - resolution: {integrity: sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==} + /@babel/plugin-transform-parameters@7.22.15(@babel/core@7.22.9): + resolution: {integrity: sha512-hjk7qKIqhyzhhUvRT683TYQOFa/4cQKwQy7ALvTpODswN40MljzNDa0YldevS6tGbxwaEKVn502JmY0dP7qEtQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.20.12 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/helper-replace-supers': 7.20.7 - transitivePeerDependencies: - - supports-color + '@babel/core': 7.22.9 + '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-parameters@7.21.3(@babel/core@7.20.12): - resolution: {integrity: sha512-Wxc+TvppQG9xWFYatvCGPvZ6+SIUxQ2ZdiBP+PHYMIjnPXD+uThCshaz4NZOnODAtBjjcVQQ/3OKs9LW28purQ==} + /@babel/plugin-transform-private-methods@7.22.5(@babel/core@7.22.9): + resolution: {integrity: sha512-PPjh4gyrQnGe97JTalgRGMuU4icsZFnWkzicB/fUtzlKUqvsWBKEpPPfr5a2JiyirZkHxnAqkQMO5Z5B2kK3fA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.20.12 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.22.9 + '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.22.9) + '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-property-literals@7.18.6(@babel/core@7.20.12): - resolution: {integrity: sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==} + /@babel/plugin-transform-private-property-in-object@7.22.11(@babel/core@7.22.9): + resolution: {integrity: sha512-sSCbqZDBKHetvjSwpyWzhuHkmW5RummxJBVbYLkGkaiTOWGxml7SXt0iWa03bzxFIx7wOj3g/ILRd0RcJKBeSQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.20.12 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.22.9 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.22.9) + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.22.9) dev: true - /@babel/plugin-transform-regenerator@7.20.5(@babel/core@7.20.12): - resolution: {integrity: sha512-kW/oO7HPBtntbsahzQ0qSE3tFvkFwnbozz3NWFhLGqH75vLEg+sCGngLlhVkePlCs3Jv0dBBHDzCHxNiFAQKCQ==} + /@babel/plugin-transform-property-literals@7.22.5(@babel/core@7.22.9): + resolution: {integrity: sha512-TiOArgddK3mK/x1Qwf5hay2pxI6wCZnvQqrFSqbtg1GLl2JcNMitVH/YnqjP+M31pLUeTfzY1HAXFDnUBV30rQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.20.12 - '@babel/helper-plugin-utils': 7.20.2 - regenerator-transform: 0.15.1 + '@babel/core': 7.22.9 + '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-reserved-words@7.18.6(@babel/core@7.20.12): - resolution: {integrity: sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==} + /@babel/plugin-transform-regenerator@7.22.10(@babel/core@7.22.9): + resolution: {integrity: sha512-F28b1mDt8KcT5bUyJc/U9nwzw6cV+UmTeRlXYIl2TNqMMJif0Jeey9/RQ3C4NOd2zp0/TRsDns9ttj2L523rsw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.20.12 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.22.9 + '@babel/helper-plugin-utils': 7.22.5 + regenerator-transform: 0.15.2 dev: true - /@babel/plugin-transform-runtime@7.19.6(@babel/core@7.20.12): - resolution: {integrity: sha512-PRH37lz4JU156lYFW1p8OxE5i7d6Sl/zV58ooyr+q1J1lnQPyg5tIiXlIwNVhJaY4W3TmOtdc8jqdXQcB1v5Yw==} + /@babel/plugin-transform-reserved-words@7.22.5(@babel/core@7.22.9): + resolution: {integrity: sha512-DTtGKFRQUDm8svigJzZHzb/2xatPc6TzNvAIJ5GqOKDsGFYgAskjRulbR/vGsPKq3OPqtexnz327qYpP57RFyA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.20.12 - '@babel/helper-module-imports': 7.21.4 - '@babel/helper-plugin-utils': 7.20.2 - babel-plugin-polyfill-corejs2: 0.3.3(@babel/core@7.20.12) - babel-plugin-polyfill-corejs3: 0.6.0(@babel/core@7.20.12) - babel-plugin-polyfill-regenerator: 0.4.1(@babel/core@7.20.12) - semver: 6.3.0 + '@babel/core': 7.22.9 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-runtime@7.22.9(@babel/core@7.22.9): + resolution: {integrity: sha512-9KjBH61AGJetCPYp/IEyLEp47SyybZb0nDRpBvmtEkm+rUIwxdlKpyNHI1TmsGkeuLclJdleQHRZ8XLBnnh8CQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.9 + '@babel/helper-module-imports': 7.22.15 + '@babel/helper-plugin-utils': 7.22.5 + babel-plugin-polyfill-corejs2: 0.4.6(@babel/core@7.22.9) + babel-plugin-polyfill-corejs3: 0.8.5(@babel/core@7.22.9) + babel-plugin-polyfill-regenerator: 0.5.3(@babel/core@7.22.9) + semver: 6.3.1 transitivePeerDependencies: - supports-color dev: true - /@babel/plugin-transform-shorthand-properties@7.18.6(@babel/core@7.20.12): - resolution: {integrity: sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==} + /@babel/plugin-transform-shorthand-properties@7.22.5(@babel/core@7.22.9): + resolution: {integrity: sha512-vM4fq9IXHscXVKzDv5itkO1X52SmdFBFcMIBZ2FRn2nqVYqw6dBexUgMvAjHW+KXpPPViD/Yo3GrDEBaRC0QYA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.20.12 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.22.9 + '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-spread@7.20.7(@babel/core@7.20.12): - resolution: {integrity: sha512-ewBbHQ+1U/VnH1fxltbJqDeWBU1oNLG8Dj11uIv3xVf7nrQu0bPGe5Rf716r7K5Qz+SqtAOVswoVunoiBtGhxw==} + /@babel/plugin-transform-spread@7.22.5(@babel/core@7.22.9): + resolution: {integrity: sha512-5ZzDQIGyvN4w8+dMmpohL6MBo+l2G7tfC/O2Dg7/hjpgeWvUx8FzfeOKxGog9IimPa4YekaQ9PlDqTLOljkcxg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.20.12 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/helper-skip-transparent-expression-wrappers': 7.20.0 + '@babel/core': 7.22.9 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 dev: true - /@babel/plugin-transform-sticky-regex@7.18.6(@babel/core@7.20.12): - resolution: {integrity: sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==} + /@babel/plugin-transform-sticky-regex@7.22.5(@babel/core@7.22.9): + resolution: {integrity: sha512-zf7LuNpHG0iEeiyCNwX4j3gDg1jgt1k3ZdXBKbZSoA3BbGQGvMiSvfbZRR3Dr3aeJe3ooWFZxOOG3IRStYp2Bw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.20.12 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.22.9 + '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-template-literals@7.18.9(@babel/core@7.20.12): - resolution: {integrity: sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==} + /@babel/plugin-transform-template-literals@7.22.5(@babel/core@7.22.9): + resolution: {integrity: sha512-5ciOehRNf+EyUeewo8NkbQiUs4d6ZxiHo6BcBcnFlgiJfu16q0bQUw9Jvo0b0gBKFG1SMhDSjeKXSYuJLeFSMA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.20.12 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.22.9 + '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-typeof-symbol@7.18.9(@babel/core@7.20.12): - resolution: {integrity: sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==} + /@babel/plugin-transform-typeof-symbol@7.22.5(@babel/core@7.22.9): + resolution: {integrity: sha512-bYkI5lMzL4kPii4HHEEChkD0rkc+nvnlR6+o/qdqR6zrm0Sv/nodmyLhlq2DO0YKLUNd2VePmPRjJXSBh9OIdA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.20.12 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.22.9 + '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-unicode-escapes@7.18.10(@babel/core@7.20.12): - resolution: {integrity: sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==} + /@babel/plugin-transform-unicode-escapes@7.22.10(@babel/core@7.22.9): + resolution: {integrity: sha512-lRfaRKGZCBqDlRU3UIFovdp9c9mEvlylmpod0/OatICsSfuQ9YFthRo1tpTkGsklEefZdqlEFdY4A2dwTb6ohg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.20.12 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.22.9 + '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-unicode-regex@7.18.6(@babel/core@7.20.12): - resolution: {integrity: sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==} + /@babel/plugin-transform-unicode-property-regex@7.22.5(@babel/core@7.22.9): + resolution: {integrity: sha512-HCCIb+CbJIAE6sXn5CjFQXMwkCClcOfPCzTlilJ8cUatfzwHlWQkbtV0zD338u9dZskwvuOYTuuaMaA8J5EI5A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.20.12 - '@babel/helper-create-regexp-features-plugin': 7.21.4(@babel/core@7.20.12) - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.22.9 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.22.9) + '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/preset-env@7.20.2(@babel/core@7.20.12): - resolution: {integrity: sha512-1G0efQEWR1EHkKvKHqbG+IN/QdgwfByUpM5V5QroDzGV2t3S/WXNQd693cHiHTlCFMpr9B6FkPFXDA2lQcKoDg==} + /@babel/plugin-transform-unicode-regex@7.22.5(@babel/core@7.22.9): + resolution: {integrity: sha512-028laaOKptN5vHJf9/Arr/HiJekMd41hOEZYvNsrsXqJ7YPYuX2bQxh31fkZzGmq3YqHRJzYFFAVYvKfMPKqyg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/compat-data': 7.21.4 - '@babel/core': 7.20.12 - '@babel/helper-compilation-targets': 7.21.4(@babel/core@7.20.12) - '@babel/helper-plugin-utils': 7.20.2 - '@babel/helper-validator-option': 7.21.0 - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.18.6(@babel/core@7.20.12) - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.20.7(@babel/core@7.20.12) - '@babel/plugin-proposal-async-generator-functions': 7.20.7(@babel/core@7.20.12) - '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.20.12) - '@babel/plugin-proposal-class-static-block': 7.21.0(@babel/core@7.20.12) - '@babel/plugin-proposal-dynamic-import': 7.18.6(@babel/core@7.20.12) - '@babel/plugin-proposal-export-namespace-from': 7.18.9(@babel/core@7.20.12) - '@babel/plugin-proposal-json-strings': 7.18.6(@babel/core@7.20.12) - '@babel/plugin-proposal-logical-assignment-operators': 7.20.7(@babel/core@7.20.12) - '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.20.12) - '@babel/plugin-proposal-numeric-separator': 7.18.6(@babel/core@7.20.12) - '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.20.12) - '@babel/plugin-proposal-optional-catch-binding': 7.18.6(@babel/core@7.20.12) - '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.20.12) - '@babel/plugin-proposal-private-methods': 7.18.6(@babel/core@7.20.12) - '@babel/plugin-proposal-private-property-in-object': 7.21.0(@babel/core@7.20.12) - '@babel/plugin-proposal-unicode-property-regex': 7.18.6(@babel/core@7.20.12) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.20.12) - '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.20.12) - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.20.12) - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.20.12) - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.20.12) - '@babel/plugin-syntax-import-assertions': 7.20.0(@babel/core@7.20.12) - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.20.12) - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.20.12) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.20.12) - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.20.12) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.20.12) - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.20.12) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.20.12) - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.20.12) - '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.20.12) - '@babel/plugin-transform-arrow-functions': 7.20.7(@babel/core@7.20.12) - '@babel/plugin-transform-async-to-generator': 7.20.7(@babel/core@7.20.12) - '@babel/plugin-transform-block-scoped-functions': 7.18.6(@babel/core@7.20.12) - '@babel/plugin-transform-block-scoping': 7.21.0(@babel/core@7.20.12) - '@babel/plugin-transform-classes': 7.21.0(@babel/core@7.20.12) - '@babel/plugin-transform-computed-properties': 7.20.7(@babel/core@7.20.12) - '@babel/plugin-transform-destructuring': 7.21.3(@babel/core@7.20.12) - '@babel/plugin-transform-dotall-regex': 7.18.6(@babel/core@7.20.12) - '@babel/plugin-transform-duplicate-keys': 7.18.9(@babel/core@7.20.12) - '@babel/plugin-transform-exponentiation-operator': 7.18.6(@babel/core@7.20.12) - '@babel/plugin-transform-for-of': 7.21.0(@babel/core@7.20.12) - '@babel/plugin-transform-function-name': 7.18.9(@babel/core@7.20.12) - '@babel/plugin-transform-literals': 7.18.9(@babel/core@7.20.12) - '@babel/plugin-transform-member-expression-literals': 7.18.6(@babel/core@7.20.12) - '@babel/plugin-transform-modules-amd': 7.20.11(@babel/core@7.20.12) - '@babel/plugin-transform-modules-commonjs': 7.21.2(@babel/core@7.20.12) - '@babel/plugin-transform-modules-systemjs': 7.20.11(@babel/core@7.20.12) - '@babel/plugin-transform-modules-umd': 7.18.6(@babel/core@7.20.12) - '@babel/plugin-transform-named-capturing-groups-regex': 7.20.5(@babel/core@7.20.12) - '@babel/plugin-transform-new-target': 7.18.6(@babel/core@7.20.12) - '@babel/plugin-transform-object-super': 7.18.6(@babel/core@7.20.12) - '@babel/plugin-transform-parameters': 7.21.3(@babel/core@7.20.12) - '@babel/plugin-transform-property-literals': 7.18.6(@babel/core@7.20.12) - '@babel/plugin-transform-regenerator': 7.20.5(@babel/core@7.20.12) - '@babel/plugin-transform-reserved-words': 7.18.6(@babel/core@7.20.12) - '@babel/plugin-transform-shorthand-properties': 7.18.6(@babel/core@7.20.12) - '@babel/plugin-transform-spread': 7.20.7(@babel/core@7.20.12) - '@babel/plugin-transform-sticky-regex': 7.18.6(@babel/core@7.20.12) - '@babel/plugin-transform-template-literals': 7.18.9(@babel/core@7.20.12) - '@babel/plugin-transform-typeof-symbol': 7.18.9(@babel/core@7.20.12) - '@babel/plugin-transform-unicode-escapes': 7.18.10(@babel/core@7.20.12) - '@babel/plugin-transform-unicode-regex': 7.18.6(@babel/core@7.20.12) - '@babel/preset-modules': 0.1.5(@babel/core@7.20.12) - '@babel/types': 7.21.4 - babel-plugin-polyfill-corejs2: 0.3.3(@babel/core@7.20.12) - babel-plugin-polyfill-corejs3: 0.6.0(@babel/core@7.20.12) - babel-plugin-polyfill-regenerator: 0.4.1(@babel/core@7.20.12) - core-js-compat: 3.30.0 - semver: 6.3.0 + '@babel/core': 7.22.9 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.22.9) + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-unicode-sets-regex@7.22.5(@babel/core@7.22.9): + resolution: {integrity: sha512-lhMfi4FC15j13eKrh3DnYHjpGj6UKQHtNKTbtc1igvAhRy4+kLhV07OpLcsN0VgDEw/MjAvJO4BdMJsHwMhzCg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.22.9 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.22.9) + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/preset-env@7.22.9(@babel/core@7.22.9): + resolution: {integrity: sha512-wNi5H/Emkhll/bqPjsjQorSykrlfY5OWakd6AulLvMEytpKasMVUpVy8RL4qBIBs5Ac6/5i0/Rv0b/Fg6Eag/g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/compat-data': 7.23.2 + '@babel/core': 7.22.9 + '@babel/helper-compilation-targets': 7.22.15 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-validator-option': 7.22.15 + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.22.15(@babel/core@7.22.9) + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.22.15(@babel/core@7.22.9) + '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.22.9) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.22.9) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.22.9) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.22.9) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.22.9) + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.22.9) + '@babel/plugin-syntax-import-assertions': 7.22.5(@babel/core@7.22.9) + '@babel/plugin-syntax-import-attributes': 7.22.5(@babel/core@7.22.9) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.22.9) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.22.9) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.22.9) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.22.9) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.22.9) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.22.9) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.22.9) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.22.9) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.22.9) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.22.9) + '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.22.9) + '@babel/plugin-transform-arrow-functions': 7.22.5(@babel/core@7.22.9) + '@babel/plugin-transform-async-generator-functions': 7.23.2(@babel/core@7.22.9) + '@babel/plugin-transform-async-to-generator': 7.22.5(@babel/core@7.22.9) + '@babel/plugin-transform-block-scoped-functions': 7.22.5(@babel/core@7.22.9) + '@babel/plugin-transform-block-scoping': 7.23.0(@babel/core@7.22.9) + '@babel/plugin-transform-class-properties': 7.22.5(@babel/core@7.22.9) + '@babel/plugin-transform-class-static-block': 7.22.11(@babel/core@7.22.9) + '@babel/plugin-transform-classes': 7.22.15(@babel/core@7.22.9) + '@babel/plugin-transform-computed-properties': 7.22.5(@babel/core@7.22.9) + '@babel/plugin-transform-destructuring': 7.23.0(@babel/core@7.22.9) + '@babel/plugin-transform-dotall-regex': 7.22.5(@babel/core@7.22.9) + '@babel/plugin-transform-duplicate-keys': 7.22.5(@babel/core@7.22.9) + '@babel/plugin-transform-dynamic-import': 7.22.11(@babel/core@7.22.9) + '@babel/plugin-transform-exponentiation-operator': 7.22.5(@babel/core@7.22.9) + '@babel/plugin-transform-export-namespace-from': 7.22.11(@babel/core@7.22.9) + '@babel/plugin-transform-for-of': 7.22.15(@babel/core@7.22.9) + '@babel/plugin-transform-function-name': 7.22.5(@babel/core@7.22.9) + '@babel/plugin-transform-json-strings': 7.22.11(@babel/core@7.22.9) + '@babel/plugin-transform-literals': 7.22.5(@babel/core@7.22.9) + '@babel/plugin-transform-logical-assignment-operators': 7.22.11(@babel/core@7.22.9) + '@babel/plugin-transform-member-expression-literals': 7.22.5(@babel/core@7.22.9) + '@babel/plugin-transform-modules-amd': 7.23.0(@babel/core@7.22.9) + '@babel/plugin-transform-modules-commonjs': 7.23.0(@babel/core@7.22.9) + '@babel/plugin-transform-modules-systemjs': 7.23.0(@babel/core@7.22.9) + '@babel/plugin-transform-modules-umd': 7.22.5(@babel/core@7.22.9) + '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.22.9) + '@babel/plugin-transform-new-target': 7.22.5(@babel/core@7.22.9) + '@babel/plugin-transform-nullish-coalescing-operator': 7.22.11(@babel/core@7.22.9) + '@babel/plugin-transform-numeric-separator': 7.22.11(@babel/core@7.22.9) + '@babel/plugin-transform-object-rest-spread': 7.22.15(@babel/core@7.22.9) + '@babel/plugin-transform-object-super': 7.22.5(@babel/core@7.22.9) + '@babel/plugin-transform-optional-catch-binding': 7.22.11(@babel/core@7.22.9) + '@babel/plugin-transform-optional-chaining': 7.23.0(@babel/core@7.22.9) + '@babel/plugin-transform-parameters': 7.22.15(@babel/core@7.22.9) + '@babel/plugin-transform-private-methods': 7.22.5(@babel/core@7.22.9) + '@babel/plugin-transform-private-property-in-object': 7.22.11(@babel/core@7.22.9) + '@babel/plugin-transform-property-literals': 7.22.5(@babel/core@7.22.9) + '@babel/plugin-transform-regenerator': 7.22.10(@babel/core@7.22.9) + '@babel/plugin-transform-reserved-words': 7.22.5(@babel/core@7.22.9) + '@babel/plugin-transform-shorthand-properties': 7.22.5(@babel/core@7.22.9) + '@babel/plugin-transform-spread': 7.22.5(@babel/core@7.22.9) + '@babel/plugin-transform-sticky-regex': 7.22.5(@babel/core@7.22.9) + '@babel/plugin-transform-template-literals': 7.22.5(@babel/core@7.22.9) + '@babel/plugin-transform-typeof-symbol': 7.22.5(@babel/core@7.22.9) + '@babel/plugin-transform-unicode-escapes': 7.22.10(@babel/core@7.22.9) + '@babel/plugin-transform-unicode-property-regex': 7.22.5(@babel/core@7.22.9) + '@babel/plugin-transform-unicode-regex': 7.22.5(@babel/core@7.22.9) + '@babel/plugin-transform-unicode-sets-regex': 7.22.5(@babel/core@7.22.9) + '@babel/preset-modules': 0.1.6(@babel/core@7.22.9) + '@babel/types': 7.23.0 + babel-plugin-polyfill-corejs2: 0.4.6(@babel/core@7.22.9) + babel-plugin-polyfill-corejs3: 0.8.5(@babel/core@7.22.9) + babel-plugin-polyfill-regenerator: 0.5.3(@babel/core@7.22.9) + core-js-compat: 3.33.0 + semver: 6.3.1 transitivePeerDependencies: - supports-color dev: true - /@babel/preset-modules@0.1.5(@babel/core@7.20.12): - resolution: {integrity: sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==} + /@babel/preset-modules@0.1.6(@babel/core@7.22.9): + resolution: {integrity: sha512-ID2yj6K/4lKfhuU3+EX4UvNbIt7eACFbHmNUjzA+ep+B5971CknnA/9DEWKbRokfbbtblxxxXFJJrH47UEAMVg==} peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.20.12 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-proposal-unicode-property-regex': 7.18.6(@babel/core@7.20.12) - '@babel/plugin-transform-dotall-regex': 7.18.6(@babel/core@7.20.12) - '@babel/types': 7.21.4 + '@babel/core': 7.22.9 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-proposal-unicode-property-regex': 7.18.6(@babel/core@7.22.9) + '@babel/plugin-transform-dotall-regex': 7.22.5(@babel/core@7.22.9) + '@babel/types': 7.23.0 esutils: 2.0.3 dev: true @@ -1664,46 +1830,55 @@ packages: resolution: {integrity: sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==} dev: true - /@babel/runtime@7.20.13: - resolution: {integrity: sha512-gt3PKXs0DBoL9xCvOIIZ2NEqAGZqHjAnmVbfQtB620V0uReIQutpel14KcneZuer7UioY8ALKZ7iocavvzTNFA==} + /@babel/runtime@7.22.6: + resolution: {integrity: sha512-wDb5pWm4WDdF6LFUde3Jl8WzPA+3ZbxYqkC6xAXuD3irdEHN1k0NfTRrJD8ZD378SJ61miMLCqIOXYhd8x+AJQ==} engines: {node: '>=6.9.0'} dependencies: regenerator-runtime: 0.13.11 dev: true - /@babel/template@7.20.7: - resolution: {integrity: sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==} + /@babel/template@7.22.15: + resolution: {integrity: sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==} engines: {node: '>=6.9.0'} dependencies: - '@babel/code-frame': 7.21.4 - '@babel/parser': 7.21.4 - '@babel/types': 7.21.4 + '@babel/code-frame': 7.22.13 + '@babel/parser': 7.23.0 + '@babel/types': 7.23.0 dev: true - /@babel/traverse@7.21.4: - resolution: {integrity: sha512-eyKrRHKdyZxqDm+fV1iqL9UAHMoIg0nDaGqfIOd8rKH17m5snv7Gn4qgjBoFfLz9APvjFU/ICT00NVCv1Epp8Q==} + /@babel/template@7.22.5: + resolution: {integrity: sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/code-frame': 7.21.4 - '@babel/generator': 7.21.4 - '@babel/helper-environment-visitor': 7.18.9 - '@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.21.4 - '@babel/types': 7.21.4 + '@babel/code-frame': 7.22.13 + '@babel/parser': 7.23.0 + '@babel/types': 7.23.0 + dev: true + + /@babel/traverse@7.23.2: + resolution: {integrity: sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.22.13 + '@babel/generator': 7.23.0 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-function-name': 7.23.0 + '@babel/helper-hoist-variables': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + '@babel/parser': 7.23.0 + '@babel/types': 7.23.0 debug: 4.3.4 globals: 11.12.0 transitivePeerDependencies: - supports-color dev: true - /@babel/types@7.21.4: - resolution: {integrity: sha512-rU2oY501qDxE8Pyo7i/Orqma4ziCOrby0/9mvbDUGEfvZjb279Nk9k19e2fiCxHbRRpY2ZyrgW1eq22mvmOIzA==} + /@babel/types@7.23.0: + resolution: {integrity: sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/helper-string-parser': 7.19.4 - '@babel/helper-validator-identifier': 7.19.1 + '@babel/helper-string-parser': 7.22.5 + '@babel/helper-validator-identifier': 7.22.20 to-fast-properties: 2.0.0 dev: true @@ -1712,38 +1887,38 @@ packages: engines: {node: '>=0.1.90'} dev: true - /@csstools/css-parser-algorithms@2.1.1(@csstools/css-tokenizer@2.1.1): - resolution: {integrity: sha512-viRnRh02AgO4mwIQb2xQNJju0i+Fh9roNgmbR5xEuG7J3TGgxjnE95HnBLgsFJOJOksvcfxOUCgODcft6Y07cA==} + /@csstools/css-parser-algorithms@2.3.2(@csstools/css-tokenizer@2.2.1): + resolution: {integrity: sha512-sLYGdAdEY2x7TSw9FtmdaTrh2wFtRJO5VMbBrA8tEqEod7GEggFmxTSK9XqExib3yMuYNcvcTdCZIP6ukdjAIA==} engines: {node: ^14 || ^16 || >=18} peerDependencies: - '@csstools/css-tokenizer': ^2.1.1 + '@csstools/css-tokenizer': ^2.2.1 dependencies: - '@csstools/css-tokenizer': 2.1.1 + '@csstools/css-tokenizer': 2.2.1 dev: true - /@csstools/css-tokenizer@2.1.1: - resolution: {integrity: sha512-GbrTj2Z8MCTUv+52GE0RbFGM527xuXZ0Xa5g0Z+YN573uveS4G0qi6WNOMyz3yrFM/jaILTTwJ0+umx81EzqfA==} + /@csstools/css-tokenizer@2.2.1: + resolution: {integrity: sha512-Zmsf2f/CaEPWEVgw29odOj+WEVoiJy9s9NOv5GgNY9mZ1CZ7394By6wONrONrTsnNDv6F9hR02nvFihrGVGHBg==} engines: {node: ^14 || ^16 || >=18} dev: true - /@csstools/media-query-list-parser@2.0.4(@csstools/css-parser-algorithms@2.1.1)(@csstools/css-tokenizer@2.1.1): - resolution: {integrity: sha512-GyYot6jHgcSDZZ+tLSnrzkR7aJhF2ZW6d+CXH66mjy5WpAQhZD4HDke2OQ36SivGRWlZJpAz7TzbW6OKlEpxAA==} + /@csstools/media-query-list-parser@2.1.5(@csstools/css-parser-algorithms@2.3.2)(@csstools/css-tokenizer@2.2.1): + resolution: {integrity: sha512-IxVBdYzR8pYe89JiyXQuYk4aVVoCPhMJkz6ElRwlVysjwURTsTk/bmY/z4FfeRE+CRBMlykPwXEVUg8lThv7AQ==} engines: {node: ^14 || ^16 || >=18} peerDependencies: - '@csstools/css-parser-algorithms': ^2.1.1 - '@csstools/css-tokenizer': ^2.1.1 + '@csstools/css-parser-algorithms': ^2.3.2 + '@csstools/css-tokenizer': ^2.2.1 dependencies: - '@csstools/css-parser-algorithms': 2.1.1(@csstools/css-tokenizer@2.1.1) - '@csstools/css-tokenizer': 2.1.1 + '@csstools/css-parser-algorithms': 2.3.2(@csstools/css-tokenizer@2.2.1) + '@csstools/css-tokenizer': 2.2.1 dev: true - /@csstools/selector-specificity@2.2.0(postcss-selector-parser@6.0.11): - resolution: {integrity: sha512-+OJ9konv95ClSTOJCmMZqpd5+YGsB2S+x6w3E1oaM8UuR5j8nTNHYSz8c9BEPGDOCMQYIEEGlVPj/VY64iTbGw==} + /@csstools/selector-specificity@3.0.0(postcss-selector-parser@6.0.13): + resolution: {integrity: sha512-hBI9tfBtuPIi885ZsZ32IMEU/5nlZH/KOVYJCOh7gyMxaVLGmLedYqFN6Ui1LXkI8JlC8IsuC0rF0btcRZKd5g==} engines: {node: ^14 || ^16 || >=18} peerDependencies: - postcss-selector-parser: ^6.0.10 + postcss-selector-parser: ^6.0.13 dependencies: - postcss-selector-parser: 6.0.11 + postcss-selector-parser: 6.0.13 dev: true /@discoveryjs/json-ext@0.5.7: @@ -1751,8 +1926,8 @@ packages: engines: {node: '>=10.0.0'} dev: true - /@esbuild/android-arm64@0.17.8: - resolution: {integrity: sha512-oa/N5j6v1svZQs7EIRPqR8f+Bf8g6HBDjD/xHC02radE/NjKHK7oQmtmLxPs1iVwYyvE+Kolo6lbpfEQ9xnhxQ==} + /@esbuild/android-arm64@0.18.17: + resolution: {integrity: sha512-9np+YYdNDed5+Jgr1TdWBsozZ85U1Oa3xW0c7TWqH0y2aGghXtZsuT8nYRbzOMcl0bXZXjOGbksoTtVOlWrRZg==} engines: {node: '>=12'} cpu: [arm64] os: [android] @@ -1760,8 +1935,8 @@ packages: dev: true optional: true - /@esbuild/android-arm@0.17.8: - resolution: {integrity: sha512-0/rb91GYKhrtbeglJXOhAv9RuYimgI8h623TplY2X+vA4EXnk3Zj1fXZreJ0J3OJJu1bwmb0W7g+2cT/d8/l/w==} + /@esbuild/android-arm@0.18.17: + resolution: {integrity: sha512-wHsmJG/dnL3OkpAcwbgoBTTMHVi4Uyou3F5mf58ZtmUyIKfcdA7TROav/6tCzET4A3QW2Q2FC+eFneMU+iyOxg==} engines: {node: '>=12'} cpu: [arm] os: [android] @@ -1769,8 +1944,8 @@ packages: dev: true optional: true - /@esbuild/android-x64@0.17.8: - resolution: {integrity: sha512-bTliMLqD7pTOoPg4zZkXqCDuzIUguEWLpeqkNfC41ODBHwoUgZ2w5JBeYimv4oP6TDVocoYmEhZrCLQTrH89bg==} + /@esbuild/android-x64@0.18.17: + resolution: {integrity: sha512-O+FeWB/+xya0aLg23hHEM2E3hbfwZzjqumKMSIqcHbNvDa+dza2D0yLuymRBQQnC34CWrsJUXyH2MG5VnLd6uw==} engines: {node: '>=12'} cpu: [x64] os: [android] @@ -1778,8 +1953,8 @@ packages: dev: true optional: true - /@esbuild/darwin-arm64@0.17.8: - resolution: {integrity: sha512-ghAbV3ia2zybEefXRRm7+lx8J/rnupZT0gp9CaGy/3iolEXkJ6LYRq4IpQVI9zR97ID80KJVoUlo3LSeA/sMAg==} + /@esbuild/darwin-arm64@0.18.17: + resolution: {integrity: sha512-M9uJ9VSB1oli2BE/dJs3zVr9kcCBBsE883prage1NWz6pBS++1oNn/7soPNS3+1DGj0FrkSvnED4Bmlu1VAE9g==} engines: {node: '>=12'} cpu: [arm64] os: [darwin] @@ -1787,8 +1962,8 @@ packages: dev: true optional: true - /@esbuild/darwin-x64@0.17.8: - resolution: {integrity: sha512-n5WOpyvZ9TIdv2V1K3/iIkkJeKmUpKaCTdun9buhGRWfH//osmUjlv4Z5mmWdPWind/VGcVxTHtLfLCOohsOXw==} + /@esbuild/darwin-x64@0.18.17: + resolution: {integrity: sha512-XDre+J5YeIJDMfp3n0279DFNrGCXlxOuGsWIkRb1NThMZ0BsrWXoTg23Jer7fEXQ9Ye5QjrvXpxnhzl3bHtk0g==} engines: {node: '>=12'} cpu: [x64] os: [darwin] @@ -1796,8 +1971,8 @@ packages: dev: true optional: true - /@esbuild/freebsd-arm64@0.17.8: - resolution: {integrity: sha512-a/SATTaOhPIPFWvHZDoZYgxaZRVHn0/LX1fHLGfZ6C13JqFUZ3K6SMD6/HCtwOQ8HnsNaEeokdiDSFLuizqv5A==} + /@esbuild/freebsd-arm64@0.18.17: + resolution: {integrity: sha512-cjTzGa3QlNfERa0+ptykyxs5A6FEUQQF0MuilYXYBGdBxD3vxJcKnzDlhDCa1VAJCmAxed6mYhA2KaJIbtiNuQ==} engines: {node: '>=12'} cpu: [arm64] os: [freebsd] @@ -1805,8 +1980,8 @@ packages: dev: true optional: true - /@esbuild/freebsd-x64@0.17.8: - resolution: {integrity: sha512-xpFJb08dfXr5+rZc4E+ooZmayBW6R3q59daCpKZ/cDU96/kvDM+vkYzNeTJCGd8rtO6fHWMq5Rcv/1cY6p6/0Q==} + /@esbuild/freebsd-x64@0.18.17: + resolution: {integrity: sha512-sOxEvR8d7V7Kw8QqzxWc7bFfnWnGdaFBut1dRUYtu+EIRXefBc/eIsiUiShnW0hM3FmQ5Zf27suDuHsKgZ5QrA==} engines: {node: '>=12'} cpu: [x64] os: [freebsd] @@ -1814,8 +1989,8 @@ packages: dev: true optional: true - /@esbuild/linux-arm64@0.17.8: - resolution: {integrity: sha512-v3iwDQuDljLTxpsqQDl3fl/yihjPAyOguxuloON9kFHYwopeJEf1BkDXODzYyXEI19gisEsQlG1bM65YqKSIww==} + /@esbuild/linux-arm64@0.18.17: + resolution: {integrity: sha512-c9w3tE7qA3CYWjT+M3BMbwMt+0JYOp3vCMKgVBrCl1nwjAlOMYzEo+gG7QaZ9AtqZFj5MbUc885wuBBmu6aADQ==} engines: {node: '>=12'} cpu: [arm64] os: [linux] @@ -1823,8 +1998,8 @@ packages: dev: true optional: true - /@esbuild/linux-arm@0.17.8: - resolution: {integrity: sha512-6Ij8gfuGszcEwZpi5jQIJCVIACLS8Tz2chnEBfYjlmMzVsfqBP1iGmHQPp7JSnZg5xxK9tjCc+pJ2WtAmPRFVA==} + /@esbuild/linux-arm@0.18.17: + resolution: {integrity: sha512-2d3Lw6wkwgSLC2fIvXKoMNGVaeY8qdN0IC3rfuVxJp89CRfA3e3VqWifGDfuakPmp90+ZirmTfye1n4ncjv2lg==} engines: {node: '>=12'} cpu: [arm] os: [linux] @@ -1832,8 +2007,8 @@ packages: dev: true optional: true - /@esbuild/linux-ia32@0.17.8: - resolution: {integrity: sha512-8svILYKhE5XetuFk/B6raFYIyIqydQi+GngEXJgdPdI7OMKUbSd7uzR02wSY4kb53xBrClLkhH4Xs8P61Q2BaA==} + /@esbuild/linux-ia32@0.18.17: + resolution: {integrity: sha512-1DS9F966pn5pPnqXYz16dQqWIB0dmDfAQZd6jSSpiT9eX1NzKh07J6VKR3AoXXXEk6CqZMojiVDSZi1SlmKVdg==} engines: {node: '>=12'} cpu: [ia32] os: [linux] @@ -1841,8 +2016,8 @@ packages: dev: true optional: true - /@esbuild/linux-loong64@0.17.8: - resolution: {integrity: sha512-B6FyMeRJeV0NpyEOYlm5qtQfxbdlgmiGdD+QsipzKfFky0K5HW5Td6dyK3L3ypu1eY4kOmo7wW0o94SBqlqBSA==} + /@esbuild/linux-loong64@0.18.17: + resolution: {integrity: sha512-EvLsxCk6ZF0fpCB6w6eOI2Fc8KW5N6sHlIovNe8uOFObL2O+Mr0bflPHyHwLT6rwMg9r77WOAWb2FqCQrVnwFg==} engines: {node: '>=12'} cpu: [loong64] os: [linux] @@ -1850,8 +2025,8 @@ packages: dev: true optional: true - /@esbuild/linux-mips64el@0.17.8: - resolution: {integrity: sha512-CCb67RKahNobjm/eeEqeD/oJfJlrWyw29fgiyB6vcgyq97YAf3gCOuP6qMShYSPXgnlZe/i4a8WFHBw6N8bYAA==} + /@esbuild/linux-mips64el@0.18.17: + resolution: {integrity: sha512-e0bIdHA5p6l+lwqTE36NAW5hHtw2tNRmHlGBygZC14QObsA3bD4C6sXLJjvnDIjSKhW1/0S3eDy+QmX/uZWEYQ==} engines: {node: '>=12'} cpu: [mips64el] os: [linux] @@ -1859,8 +2034,8 @@ packages: dev: true optional: true - /@esbuild/linux-ppc64@0.17.8: - resolution: {integrity: sha512-bytLJOi55y55+mGSdgwZ5qBm0K9WOCh0rx+vavVPx+gqLLhxtSFU0XbeYy/dsAAD6xECGEv4IQeFILaSS2auXw==} + /@esbuild/linux-ppc64@0.18.17: + resolution: {integrity: sha512-BAAilJ0M5O2uMxHYGjFKn4nJKF6fNCdP1E0o5t5fvMYYzeIqy2JdAP88Az5LHt9qBoUa4tDaRpfWt21ep5/WqQ==} engines: {node: '>=12'} cpu: [ppc64] os: [linux] @@ -1868,8 +2043,8 @@ packages: dev: true optional: true - /@esbuild/linux-riscv64@0.17.8: - resolution: {integrity: sha512-2YpRyQJmKVBEHSBLa8kBAtbhucaclb6ex4wchfY0Tj3Kg39kpjeJ9vhRU7x4mUpq8ISLXRXH1L0dBYjAeqzZAw==} + /@esbuild/linux-riscv64@0.18.17: + resolution: {integrity: sha512-Wh/HW2MPnC3b8BqRSIme/9Zhab36PPH+3zam5pqGRH4pE+4xTrVLx2+XdGp6fVS3L2x+DrsIcsbMleex8fbE6g==} engines: {node: '>=12'} cpu: [riscv64] os: [linux] @@ -1877,8 +2052,8 @@ packages: dev: true optional: true - /@esbuild/linux-s390x@0.17.8: - resolution: {integrity: sha512-QgbNY/V3IFXvNf11SS6exkpVcX0LJcob+0RWCgV9OiDAmVElnxciHIisoSix9uzYzScPmS6dJFbZULdSAEkQVw==} + /@esbuild/linux-s390x@0.18.17: + resolution: {integrity: sha512-j/34jAl3ul3PNcK3pfI0NSlBANduT2UO5kZ7FCaK33XFv3chDhICLY8wJJWIhiQ+YNdQ9dxqQctRg2bvrMlYgg==} engines: {node: '>=12'} cpu: [s390x] os: [linux] @@ -1886,8 +2061,8 @@ packages: dev: true optional: true - /@esbuild/linux-x64@0.17.8: - resolution: {integrity: sha512-mM/9S0SbAFDBc4OPoyP6SEOo5324LpUxdpeIUUSrSTOfhHU9hEfqRngmKgqILqwx/0DVJBzeNW7HmLEWp9vcOA==} + /@esbuild/linux-x64@0.18.17: + resolution: {integrity: sha512-QM50vJ/y+8I60qEmFxMoxIx4de03pGo2HwxdBeFd4nMh364X6TIBZ6VQ5UQmPbQWUVWHWws5MmJXlHAXvJEmpQ==} engines: {node: '>=12'} cpu: [x64] os: [linux] @@ -1895,8 +2070,8 @@ packages: dev: true optional: true - /@esbuild/netbsd-x64@0.17.8: - resolution: {integrity: sha512-eKUYcWaWTaYr9zbj8GertdVtlt1DTS1gNBWov+iQfWuWyuu59YN6gSEJvFzC5ESJ4kMcKR0uqWThKUn5o8We6Q==} + /@esbuild/netbsd-x64@0.18.17: + resolution: {integrity: sha512-/jGlhWR7Sj9JPZHzXyyMZ1RFMkNPjC6QIAan0sDOtIo2TYk3tZn5UDrkE0XgsTQCxWTTOcMPf9p6Rh2hXtl5TQ==} engines: {node: '>=12'} cpu: [x64] os: [netbsd] @@ -1904,8 +2079,8 @@ packages: dev: true optional: true - /@esbuild/openbsd-x64@0.17.8: - resolution: {integrity: sha512-Vc9J4dXOboDyMXKD0eCeW0SIeEzr8K9oTHJU+Ci1mZc5njPfhKAqkRt3B/fUNU7dP+mRyralPu8QUkiaQn7iIg==} + /@esbuild/openbsd-x64@0.18.17: + resolution: {integrity: sha512-rSEeYaGgyGGf4qZM2NonMhMOP/5EHp4u9ehFiBrg7stH6BYEEjlkVREuDEcQ0LfIl53OXLxNbfuIj7mr5m29TA==} engines: {node: '>=12'} cpu: [x64] os: [openbsd] @@ -1913,8 +2088,8 @@ packages: dev: true optional: true - /@esbuild/sunos-x64@0.17.8: - resolution: {integrity: sha512-0xvOTNuPXI7ft1LYUgiaXtpCEjp90RuBBYovdd2lqAFxje4sEucurg30M1WIm03+3jxByd3mfo+VUmPtRSVuOw==} + /@esbuild/sunos-x64@0.18.17: + resolution: {integrity: sha512-Y7ZBbkLqlSgn4+zot4KUNYst0bFoO68tRgI6mY2FIM+b7ZbyNVtNbDP5y8qlu4/knZZ73fgJDlXID+ohY5zt5g==} engines: {node: '>=12'} cpu: [x64] os: [sunos] @@ -1922,8 +2097,8 @@ packages: dev: true optional: true - /@esbuild/win32-arm64@0.17.8: - resolution: {integrity: sha512-G0JQwUI5WdEFEnYNKzklxtBheCPkuDdu1YrtRrjuQv30WsYbkkoixKxLLv8qhJmNI+ATEWquZe/N0d0rpr55Mg==} + /@esbuild/win32-arm64@0.18.17: + resolution: {integrity: sha512-bwPmTJsEQcbZk26oYpc4c/8PvTY3J5/QK8jM19DVlEsAB41M39aWovWoHtNm78sd6ip6prilxeHosPADXtEJFw==} engines: {node: '>=12'} cpu: [arm64] os: [win32] @@ -1931,8 +2106,8 @@ packages: dev: true optional: true - /@esbuild/win32-ia32@0.17.8: - resolution: {integrity: sha512-Fqy63515xl20OHGFykjJsMnoIWS+38fqfg88ClvPXyDbLtgXal2DTlhb1TfTX34qWi3u4I7Cq563QcHpqgLx8w==} + /@esbuild/win32-ia32@0.18.17: + resolution: {integrity: sha512-H/XaPtPKli2MhW+3CQueo6Ni3Avggi6hP/YvgkEe1aSaxw+AeO8MFjq8DlgfTd9Iz4Yih3QCZI6YLMoyccnPRg==} engines: {node: '>=12'} cpu: [ia32] os: [win32] @@ -1940,8 +2115,8 @@ packages: dev: true optional: true - /@esbuild/win32-x64@0.17.8: - resolution: {integrity: sha512-1iuezdyDNngPnz8rLRDO2C/ZZ/emJLb72OsZeqQ6gL6Avko/XCXZw+NuxBSNhBAP13Hie418V7VMt9et1FMvpg==} + /@esbuild/win32-x64@0.18.17: + resolution: {integrity: sha512-fGEb8f2BSA3CW7riJVurug65ACLuQAzKq0SSqkY2b2yHHH0MzDfbLyKIGzHwOI/gkHcxM/leuSW6D5w/LMNitA==} engines: {node: '>=12'} cpu: [x64] os: [win32] @@ -1949,29 +2124,29 @@ packages: dev: true optional: true - /@eslint-community/eslint-utils@4.4.0(eslint@8.38.0): + /@eslint-community/eslint-utils@4.4.0(eslint@8.51.0): resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 dependencies: - eslint: 8.38.0 - eslint-visitor-keys: 3.4.0 + eslint: 8.51.0 + eslint-visitor-keys: 3.4.3 dev: true - /@eslint-community/regexpp@4.5.0: - resolution: {integrity: sha512-vITaYzIcNmjn5tF5uxcZ/ft7/RXGrMUIS9HalWckEOF6ESiwXKoMzAQf2UW0aVd6rnOeExTJVd5hmWXucBKGXQ==} + /@eslint-community/regexpp@4.9.1: + resolution: {integrity: sha512-Y27x+MBLjXa+0JWDhykM3+JE+il3kHKAEqabfEWq3SDhZjLYb6/BHL/JKFnH3fe207JaXkyDo685Oc2Glt6ifA==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} dev: true - /@eslint/eslintrc@2.0.2: - resolution: {integrity: sha512-3W4f5tDUra+pA+FzgugqL2pRimUTDJWKr7BINqOpkZrC0uYI0NIc0/JFgBROCU07HR6GieA5m3/rsPIhDmCXTQ==} + /@eslint/eslintrc@2.1.2: + resolution: {integrity: sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: ajv: 6.12.6 debug: 4.3.4 - espree: 9.5.1 - globals: 13.20.0 + espree: 9.6.1 + globals: 13.23.0 ignore: 5.2.4 import-fresh: 3.3.0 js-yaml: 4.1.0 @@ -1981,17 +2156,13 @@ packages: - supports-color dev: true - /@eslint/js@8.38.0: - resolution: {integrity: sha512-IoD2MfUnOV58ghIHCiil01PcohxjbYR/qCxsoC+xNgUwh1EY8jOOrYmu3d3a71+tJJ23uscEV4X2HJWMsPJu4g==} + /@eslint/js@8.51.0: + resolution: {integrity: sha512-HxjQ8Qn+4SI3/AFv6sOrDB+g6PpUTDwSJiQqOrnneEk8L71161srI9gjzzZvYVbzHiVg/BvcH95+cK/zfIt4pg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /@gar/promisify@1.1.3: - resolution: {integrity: sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==} - dev: true - - /@humanwhocodes/config-array@0.11.8: - resolution: {integrity: sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==} + /@humanwhocodes/config-array@0.11.11: + resolution: {integrity: sha512-N2brEuAadi0CcdeMXUkhbZB84eskAc8MEX1By6qEchoVywSgXPIjou4rYsl0V3Hj0ZnuGycGCjdNgockbzeWNA==} engines: {node: '>=10.10.0'} dependencies: '@humanwhocodes/object-schema': 1.2.1 @@ -2010,6 +2181,18 @@ packages: resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==} dev: true + /@isaacs/cliui@8.0.2: + resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} + engines: {node: '>=12'} + dependencies: + string-width: 5.1.2 + string-width-cjs: /string-width@4.2.3 + strip-ansi: 7.1.0 + strip-ansi-cjs: /strip-ansi@6.0.1 + wrap-ansi: 8.1.0 + wrap-ansi-cjs: /wrap-ansi@7.0.0 + dev: true + /@istanbuljs/load-nyc-config@1.1.0: resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==} engines: {node: '>=8'} @@ -2026,25 +2209,17 @@ packages: engines: {node: '>=8'} dev: true - /@jridgewell/gen-mapping@0.1.1: - resolution: {integrity: sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==} - engines: {node: '>=6.0.0'} - dependencies: - '@jridgewell/set-array': 1.1.2 - '@jridgewell/sourcemap-codec': 1.4.15 - dev: true - /@jridgewell/gen-mapping@0.3.3: resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==} engines: {node: '>=6.0.0'} dependencies: '@jridgewell/set-array': 1.1.2 '@jridgewell/sourcemap-codec': 1.4.15 - '@jridgewell/trace-mapping': 0.3.18 + '@jridgewell/trace-mapping': 0.3.19 dev: true - /@jridgewell/resolve-uri@3.1.0: - resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==} + /@jridgewell/resolve-uri@3.1.1: + resolution: {integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==} engines: {node: '>=6.0.0'} dev: true @@ -2053,67 +2228,63 @@ packages: engines: {node: '>=6.0.0'} dev: true - /@jridgewell/source-map@0.3.3: - resolution: {integrity: sha512-b+fsZXeLYi9fEULmfBrhxn4IrPlINf8fiNarzTof004v3lFdntdwa9PF7vFJqm3mg7s+ScJMxXaE3Acp1irZcg==} + /@jridgewell/source-map@0.3.5: + resolution: {integrity: sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==} dependencies: '@jridgewell/gen-mapping': 0.3.3 - '@jridgewell/trace-mapping': 0.3.18 - dev: true - - /@jridgewell/sourcemap-codec@1.4.14: - resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} + '@jridgewell/trace-mapping': 0.3.19 dev: true /@jridgewell/sourcemap-codec@1.4.15: resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} dev: true - /@jridgewell/trace-mapping@0.3.18: - resolution: {integrity: sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==} + /@jridgewell/trace-mapping@0.3.19: + resolution: {integrity: sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==} dependencies: - '@jridgewell/resolve-uri': 3.1.0 - '@jridgewell/sourcemap-codec': 1.4.14 + '@jridgewell/resolve-uri': 3.1.1 + '@jridgewell/sourcemap-codec': 1.4.15 dev: true /@leichtgewicht/ip-codec@2.0.4: resolution: {integrity: sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==} dev: true - /@ngtools/webpack@15.2.6(@angular/compiler-cli@15.2.7)(typescript@4.9.5)(webpack@5.76.1): - resolution: {integrity: sha512-I+kekKItfsCLdX+ZjjmsWqd0AyoYGTQPjlbQAiPtmdH73/rfPOF4Q/3AU4tzTdn0n0GXqZWv6VOs91w99ydi0A==} - engines: {node: ^14.20.0 || ^16.13.0 || >=18.10.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} + /@ngtools/webpack@16.2.6(@angular/compiler-cli@16.2.9)(typescript@4.9.5)(webpack@5.88.2): + resolution: {integrity: sha512-d8ZlZL6dOtWmHdjG9PTGBkdiJMcsXD2tp6WeFRVvTEuvCI3XvKsUXBvJDE+mZOhzn5pUEYt+1TR5DHjDZbME3w==} + engines: {node: ^16.14.0 || >=18.10.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} peerDependencies: - '@angular/compiler-cli': ^15.0.0 - typescript: '>=4.8.2 <5.0' + '@angular/compiler-cli': ^16.0.0 + typescript: '>=4.9.3 <5.2' webpack: ^5.54.0 dependencies: - '@angular/compiler-cli': 15.2.7(@angular/compiler@15.2.7)(typescript@4.9.5) + '@angular/compiler-cli': 16.2.9(@angular/compiler@16.2.9)(typescript@4.9.5) typescript: 4.9.5 - webpack: 5.76.1(esbuild@0.17.8) + webpack: 5.88.2(esbuild@0.18.17) dev: true - /@ngx-translate/core@14.0.0(@angular/core@15.2.7)(rxjs@7.8.0): + /@ngx-translate/core@14.0.0(@angular/core@16.2.9)(rxjs@7.8.1): resolution: {integrity: sha512-UevdwNCXMRCdJv//0kC8h2eSfmi02r29xeE8E9gJ1Al4D4jEJ7eiLPdjslTMc21oJNGguqqWeEVjf64SFtvw2w==} peerDependencies: '@angular/core': '>=13.0.0' rxjs: ^6.5.3 || ^7.4.0 dependencies: - '@angular/core': 15.2.7(rxjs@7.8.0)(zone.js@0.12.0) - rxjs: 7.8.0 - tslib: 2.5.0 + '@angular/core': 16.2.9(rxjs@7.8.1)(zone.js@0.13.3) + rxjs: 7.8.1 + tslib: 2.6.2 dev: false - /@ngx-translate/http-loader@7.0.0(@angular/common@15.2.7)(@ngx-translate/core@14.0.0)(rxjs@7.8.0): + /@ngx-translate/http-loader@7.0.0(@angular/common@16.2.9)(@ngx-translate/core@14.0.0)(rxjs@7.8.1): resolution: {integrity: sha512-j+NpXXlcGVdyUNyY/qsJrqqeAdJdizCd+GKh3usXExSqy1aE9866jlAIL+xrfDU4w+LiMoma5pgE4emvFebZmA==} peerDependencies: '@angular/common': '>=13.0.0' '@ngx-translate/core': '>=14.0.0' rxjs: ^6.5.3 || ^7.4.0 dependencies: - '@angular/common': 15.2.7(@angular/core@15.2.7)(rxjs@7.8.0) - '@ngx-translate/core': 14.0.0(@angular/core@15.2.7)(rxjs@7.8.0) - rxjs: 7.8.0 - tslib: 2.5.0 + '@angular/common': 16.2.9(@angular/core@16.2.9)(rxjs@7.8.1) + '@ngx-translate/core': 14.0.0(@angular/core@16.2.9)(rxjs@7.8.1) + rxjs: 7.8.1 + tslib: 2.6.2 dev: false /@nodelib/fs.scandir@2.1.5: @@ -2137,23 +2308,15 @@ packages: fastq: 1.15.0 dev: true - /@npmcli/fs@2.1.2: - resolution: {integrity: sha512-yOJKRvohFOaLqipNtwYB9WugyZKhC/DZC4VYPmpaCzDBrA8YpK3qHZ8/HGscMnE4GqbkLNuVcCnxkeQEdGt6LQ==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - dependencies: - '@gar/promisify': 1.1.3 - semver: 7.4.0 - dev: true - /@npmcli/fs@3.1.0: resolution: {integrity: sha512-7kZUAaLscfgbwBQRbvdMYaZOWyMEcPTH/tJjnyAWJ/dvvs9Ef+CERx/qJb9GExJpl1qipaDGn7KqHnFGGixd0w==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: - semver: 7.4.0 + semver: 7.5.4 dev: true - /@npmcli/git@4.0.4: - resolution: {integrity: sha512-5yZghx+u5M47LghaybLCkdSyFzV/w4OuH12d96HO389Ik9CDsLaDZJVynSGGVJOLn6gy/k7Dz5XYcplM3uxXRg==} + /@npmcli/git@4.1.0: + resolution: {integrity: sha512-9hwoB3gStVfa0N31ymBmrX+GuDGdVA/QWShZVqE0HK2Af+7QGGrCTbZia/SW0ImUTjTne7SP91qxDmtXvDHRPQ==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: '@npmcli/promise-spawn': 6.0.2 @@ -2162,58 +2325,187 @@ packages: proc-log: 3.0.0 promise-inflight: 1.0.1 promise-retry: 2.0.1 - semver: 7.4.0 - which: 3.0.0 + semver: 7.5.4 + which: 3.0.1 transitivePeerDependencies: - bluebird dev: true - /@npmcli/installed-package-contents@2.0.2: - resolution: {integrity: sha512-xACzLPhnfD51GKvTOOuNX2/V4G4mz9/1I2MfDoye9kBM3RYe5g2YbscsaGoTlaWqkxeiapBWyseULVKpSVHtKQ==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - hasBin: true - dependencies: - npm-bundled: 3.0.0 - npm-normalize-package-bin: 3.0.0 + /@npmcli/installed-package-contents@2.0.2: + resolution: {integrity: sha512-xACzLPhnfD51GKvTOOuNX2/V4G4mz9/1I2MfDoye9kBM3RYe5g2YbscsaGoTlaWqkxeiapBWyseULVKpSVHtKQ==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + hasBin: true + dependencies: + npm-bundled: 3.0.0 + npm-normalize-package-bin: 3.0.1 + dev: true + + /@npmcli/node-gyp@3.0.0: + resolution: {integrity: sha512-gp8pRXC2oOxu0DUE1/M3bYtb1b3/DbJ5aM113+XJBgfXdussRAsX0YOrOhdd8WvnAR6auDBvJomGAkLKA5ydxA==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + dev: true + + /@npmcli/promise-spawn@6.0.2: + resolution: {integrity: sha512-gGq0NJkIGSwdbUt4yhdF8ZrmkGKVz9vAdVzpOfnom+V8PLSmSOVhZwbNvZZS1EYcJN5hzzKBxmmVVAInM6HQLg==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + dependencies: + which: 3.0.1 + dev: true + + /@npmcli/run-script@6.0.2: + resolution: {integrity: sha512-NCcr1uQo1k5U+SYlnIrbAh3cxy+OQT1VtqiAbxdymSlptbzBb62AjH2xXgjNCoP073hoa1CfCAcwoZ8k96C4nA==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + dependencies: + '@npmcli/node-gyp': 3.0.0 + '@npmcli/promise-spawn': 6.0.2 + node-gyp: 9.4.0 + read-package-json-fast: 3.0.2 + which: 3.0.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@nrwl/devkit@16.5.1(nx@16.5.1): + resolution: {integrity: sha512-NB+DE/+AFJ7lKH/WBFyatJEhcZGj25F24ncDkwjZ6MzEiSOGOJS0LaV/R+VUsmS5EHTPXYOpn3zHWWAcJhyOmA==} + dependencies: + '@nx/devkit': 16.5.1(nx@16.5.1) + transitivePeerDependencies: + - nx + dev: true + + /@nrwl/tao@16.5.1: + resolution: {integrity: sha512-x+gi/fKdM6uQNIti9exFlm3V5LBP3Y8vOEziO42HdOigyrXa0S0HD2WMpccmp6PclYKhwEDUjKJ39xh5sdh4Ig==} + hasBin: true + dependencies: + nx: 16.5.1 + transitivePeerDependencies: + - '@swc-node/register' + - '@swc/core' + - debug + dev: true + + /@nx/devkit@16.5.1(nx@16.5.1): + resolution: {integrity: sha512-T1acZrVVmJw/sJ4PIGidCBYBiBqlg/jT9e8nIGXLSDS20xcLvfo4zBQf8UZLrmHglnwwpDpOWuVJCp2rYA5aDg==} + peerDependencies: + nx: '>= 15 <= 17' + dependencies: + '@nrwl/devkit': 16.5.1(nx@16.5.1) + ejs: 3.1.9 + ignore: 5.2.4 + nx: 16.5.1 + semver: 7.5.3 + tmp: 0.2.1 + tslib: 2.6.2 + dev: true + + /@nx/nx-darwin-arm64@16.5.1: + resolution: {integrity: sha512-q98TFI4B/9N9PmKUr1jcbtD4yAFs1HfYd9jUXXTQOlfO9SbDjnrYJgZ4Fp9rMNfrBhgIQ4x1qx0AukZccKmH9Q==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@nx/nx-darwin-x64@16.5.1: + resolution: {integrity: sha512-j9HmL1l8k7EVJ3eOM5y8COF93gqrydpxCDoz23ZEtsY+JHY77VAiRQsmqBgEx9GGA2dXi9VEdS67B0+1vKariw==} + engines: {node: '>= 10'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@nx/nx-freebsd-x64@16.5.1: + resolution: {integrity: sha512-CXSPT01aVS869tvCCF2tZ7LnCa8l41wJ3mTVtWBkjmRde68E5Up093hklRMyXb3kfiDYlfIKWGwrV4r0eH6x1A==} + engines: {node: '>= 10'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /@nx/nx-linux-arm-gnueabihf@16.5.1: + resolution: {integrity: sha512-BhrumqJSZCWFfLFUKl4CAUwR0Y0G2H5EfFVGKivVecEQbb+INAek1aa6c89evg2/OvetQYsJ+51QknskwqvLsA==} + engines: {node: '>= 10'} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@nx/nx-linux-arm64-gnu@16.5.1: + resolution: {integrity: sha512-x7MsSG0W+X43WVv7JhiSq2eKvH2suNKdlUHEG09Yt0vm3z0bhtym1UCMUg3IUAK7jy9hhLeDaFVFkC6zo+H/XQ==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@nx/nx-linux-arm64-musl@16.5.1: + resolution: {integrity: sha512-J+/v/mFjOm74I0PNtH5Ka+fDd+/dWbKhpcZ2R1/6b9agzZk+Ff/SrwJcSYFXXWKbPX+uQ4RcJoytT06Zs3s0ow==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@nx/nx-linux-x64-gnu@16.5.1: + resolution: {integrity: sha512-igooWJ5YxQ94Zft7IqgL+Lw0qHaY15Btw4gfK756g/YTYLZEt4tTvR1y6RnK/wdpE3sa68bFTLVBNCGTyiTiDQ==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + requiresBuild: true dev: true + optional: true - /@npmcli/move-file@2.0.1: - resolution: {integrity: sha512-mJd2Z5TjYWq/ttPLLGqArdtnC74J6bOzg4rMDnN+p1xTacZ2yPRCk2y0oSWQtygLR9YVQXgOcONrwtnk3JupxQ==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - deprecated: This functionality has been moved to @npmcli/fs - dependencies: - mkdirp: 1.0.4 - rimraf: 3.0.2 + /@nx/nx-linux-x64-musl@16.5.1: + resolution: {integrity: sha512-zF/exnPqFYbrLAduGhTmZ7zNEyADid2bzNQiIjJkh8Y6NpDwrQIwVIyvIxqynsjMrIs51kBH+8TUjKjj2Jgf5A==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + requiresBuild: true dev: true + optional: true - /@npmcli/node-gyp@3.0.0: - resolution: {integrity: sha512-gp8pRXC2oOxu0DUE1/M3bYtb1b3/DbJ5aM113+XJBgfXdussRAsX0YOrOhdd8WvnAR6auDBvJomGAkLKA5ydxA==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + /@nx/nx-win32-arm64-msvc@16.5.1: + resolution: {integrity: sha512-qtqiLS9Y9TYyAbbpq58kRoOroko4ZXg5oWVqIWFHoxc5bGPweQSJCROEqd1AOl2ZDC6BxfuVHfhDDop1kK05WA==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [win32] + requiresBuild: true dev: true + optional: true - /@npmcli/promise-spawn@6.0.2: - resolution: {integrity: sha512-gGq0NJkIGSwdbUt4yhdF8ZrmkGKVz9vAdVzpOfnom+V8PLSmSOVhZwbNvZZS1EYcJN5hzzKBxmmVVAInM6HQLg==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dependencies: - which: 3.0.0 + /@nx/nx-win32-x64-msvc@16.5.1: + resolution: {integrity: sha512-kUJBLakK7iyA9WfsGGQBVennA4jwf5XIgm0lu35oMOphtZIluvzItMt0EYBmylEROpmpEIhHq0P6J9FA+WH0Rg==} + engines: {node: '>= 10'} + cpu: [x64] + os: [win32] + requiresBuild: true dev: true + optional: true - /@npmcli/run-script@6.0.0: - resolution: {integrity: sha512-ql+AbRur1TeOdl1FY+RAwGW9fcr4ZwiVKabdvm93mujGREVuVLbdkXRJDrkTXSdCjaxYydr1wlA2v67jxWG5BQ==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + /@parcel/watcher@2.0.4: + resolution: {integrity: sha512-cTDi+FUDBIUOBKEtj+nhiJ71AZVlkAsQFuGQTun5tV9mwQBQgZvhCzG+URPQc8myeN32yRVZEfVAPCs1RW+Jvg==} + engines: {node: '>= 10.0.0'} + requiresBuild: true dependencies: - '@npmcli/node-gyp': 3.0.0 - '@npmcli/promise-spawn': 6.0.2 - node-gyp: 9.3.1 - read-package-json-fast: 3.0.2 - which: 3.0.0 - transitivePeerDependencies: - - bluebird - - supports-color + node-addon-api: 3.2.1 + node-gyp-build: 4.6.1 + dev: true + + /@pkgjs/parseargs@0.11.0: + resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} + engines: {node: '>=14'} + requiresBuild: true dev: true + optional: true - /@puppeteer/browsers@0.4.1(typescript@4.9.5): - resolution: {integrity: sha512-4IICvy1McAkT/HyNZHIs7sp8ngBX1dmO0TPQ+FWq9ATQMqI8p+Ulm5A3kS2wYDh5HDHHkYrrETOu6rlj64VuTw==} + /@puppeteer/browsers@0.5.0(typescript@4.9.5): + resolution: {integrity: sha512-Uw6oB7VvmPRLE4iKsjuOh8zgDabhNX67dzo8U/BB0f9527qx+4eeUs+korU98OhG5C4ubg7ufBgVi63XYwS6TQ==} engines: {node: '>=14.1.0'} hasBin: true peerDependencies: @@ -2235,26 +2527,59 @@ packages: - supports-color dev: true - /@schematics/angular@15.2.6: - resolution: {integrity: sha512-OcBUvVAxZEMBX+fi0ytybeAdmStra+GwtlvipS70yOxcAgJ84ZrnZGN7a072cCVQcq7AgqUfssnyqCx1wu+yCg==} - engines: {node: ^14.20.0 || ^16.13.0 || >=18.10.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} + /@schematics/angular@16.2.6: + resolution: {integrity: sha512-fM09WPqST+nhVGV5Q3fhG7WKo96kgSVMsbz3wGS0DmTn4zge7ZWnrW3VvbxnMapmGoKa9DFPqdqNln4ADcdIMQ==} + engines: {node: ^16.14.0 || >=18.10.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} dependencies: - '@angular-devkit/core': 15.2.6(chokidar@3.5.3) - '@angular-devkit/schematics': 15.2.6 + '@angular-devkit/core': 16.2.6(chokidar@3.5.3) + '@angular-devkit/schematics': 16.2.6 jsonc-parser: 3.2.0 transitivePeerDependencies: - chokidar dev: true - /@sigstore/protobuf-specs@0.1.0: - resolution: {integrity: sha512-a31EnjuIDSX8IXBUib3cYLDRlPMU36AWX4xS8ysLaNu4ZzUesDiPt83pgrW2X1YLMe5L2HbDyaKK5BrL4cNKaQ==} + /@sigstore/bundle@1.1.0: + resolution: {integrity: sha512-PFutXEy0SmQxYI4texPw3dd2KewuNqv7OuK1ZFtY2fM754yhvG2KdgwIhRnoEE2uHdtdGNQ8s0lb94dW9sELog==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + dependencies: + '@sigstore/protobuf-specs': 0.2.1 + dev: true + + /@sigstore/protobuf-specs@0.2.1: + resolution: {integrity: sha512-XTWVxnWJu+c1oCshMLwnKvz8ZQJJDVOlciMfgpJBQbThVjKTCG8dwyhgLngBD2KN0ap9F/gOV8rFDEx8uh7R2A==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + dev: true + + /@sigstore/sign@1.0.0: + resolution: {integrity: sha512-INxFVNQteLtcfGmcoldzV6Je0sbbfh9I16DM4yJPw3j5+TFP8X6uIiA18mvpEa9yyeycAKgPmOA3X9hVdVTPUA==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + dependencies: + '@sigstore/bundle': 1.1.0 + '@sigstore/protobuf-specs': 0.2.1 + make-fetch-happen: 11.1.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@sigstore/tuf@1.0.3: + resolution: {integrity: sha512-2bRovzs0nJZFlCN3rXirE4gwxCn97JNjMmwpecqlbgV9WcxX7WRuIrgzx/X7Ib7MYRbyUTpBYE0s2x6AmZXnlg==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + dependencies: + '@sigstore/protobuf-specs': 0.2.1 + tuf-js: 1.1.7 + transitivePeerDependencies: + - supports-color dev: true /@socket.io/component-emitter@3.1.0: resolution: {integrity: sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg==} dev: true + /@tootallnate/once@1.1.2: + resolution: {integrity: sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==} + engines: {node: '>= 6'} + dev: true + /@tootallnate/once@2.0.0: resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==} engines: {node: '>= 10'} @@ -2265,170 +2590,183 @@ packages: engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dev: true - /@tufjs/models@1.0.2: - resolution: {integrity: sha512-uxarDtxTIK3f8hJS4yFhW/lvTa3tsiQU5iDCRut+NCnOXvNtEul0Ct58NIIcIx9Rkt7OFEK31Ndpqsd663nsew==} + /@tufjs/models@1.0.4: + resolution: {integrity: sha512-qaGV9ltJP0EO25YfFUPhxRVK0evXFIAGicsVXuRim4Ed9cjPxYhNnNJ49SFmbeLgtxpslIkX317IgpfcHPVj/A==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: '@tufjs/canonical-json': 1.0.0 - minimatch: 8.0.4 + minimatch: 9.0.3 dev: true - /@types/body-parser@1.19.2: - resolution: {integrity: sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==} + /@types/body-parser@1.19.3: + resolution: {integrity: sha512-oyl4jvAfTGX9Bt6Or4H9ni1Z447/tQuxnZsytsCaExKlmJiU8sFgnIBRzJUpKwB5eWn9HuBYlUlVA74q/yN0eQ==} dependencies: - '@types/connect': 3.4.35 - '@types/node': 18.15.11 + '@types/connect': 3.4.36 + '@types/node': 18.18.5 dev: true - /@types/bonjour@3.5.10: - resolution: {integrity: sha512-p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw==} + /@types/bonjour@3.5.11: + resolution: {integrity: sha512-isGhjmBtLIxdHBDl2xGwUzEM8AOyOvWsADWq7rqirdi/ZQoHnLWErHvsThcEzTX8juDRiZtzp2Qkv5bgNh6mAg==} dependencies: - '@types/node': 18.15.11 + '@types/node': 18.18.5 dev: true - /@types/connect-history-api-fallback@1.3.5: - resolution: {integrity: sha512-h8QJa8xSb1WD4fpKBDcATDNGXghFj6/3GRWG6dhmRcu0RX1Ubasur2Uvx5aeEwlf0MwblEC2bMzzMQntxnw/Cw==} + /@types/connect-history-api-fallback@1.5.1: + resolution: {integrity: sha512-iaQslNbARe8fctL5Lk+DsmgWOM83lM+7FzP0eQUJs1jd3kBE8NWqBTIT2S8SqQOJjxvt2eyIjpOuYeRXq2AdMw==} dependencies: - '@types/express-serve-static-core': 4.17.33 - '@types/node': 18.15.11 + '@types/express-serve-static-core': 4.17.37 + '@types/node': 18.18.5 dev: true - /@types/connect@3.4.35: - resolution: {integrity: sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==} + /@types/connect@3.4.36: + resolution: {integrity: sha512-P63Zd/JUGq+PdrM1lv0Wv5SBYeA2+CORvbrXbngriYY0jzLUWfQMQQxOhjONEz/wlHOAxOdY7CY65rgQdTjq2w==} dependencies: - '@types/node': 18.15.11 + '@types/node': 18.18.5 dev: true /@types/cookie@0.4.1: resolution: {integrity: sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==} dev: true - /@types/cors@2.8.13: - resolution: {integrity: sha512-RG8AStHlUiV5ysZQKq97copd2UmVYw3/pRMLefISZ3S1hK104Cwm7iLQ3fTKx+lsUH2CE8FlLaYeEA2LSeqYUA==} + /@types/cors@2.8.14: + resolution: {integrity: sha512-RXHUvNWYICtbP6s18PnOCaqToK8y14DnLd75c6HfyKf228dxy7pHNOQkxPtvXKp/hINFMDjbYzsj63nnpPMSRQ==} dependencies: - '@types/node': 18.15.11 + '@types/node': 18.18.5 dev: true - /@types/eslint-scope@3.7.4: - resolution: {integrity: sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==} + /@types/eslint-scope@3.7.5: + resolution: {integrity: sha512-JNvhIEyxVW6EoMIFIvj93ZOywYFatlpu9deeH6eSx6PE3WHYvHaQtmHmQeNw7aA81bYGBPPQqdtBm6b1SsQMmA==} dependencies: - '@types/eslint': 8.37.0 - '@types/estree': 0.0.51 + '@types/eslint': 8.44.4 + '@types/estree': 1.0.2 dev: true - /@types/eslint@8.37.0: - resolution: {integrity: sha512-Piet7dG2JBuDIfohBngQ3rCt7MgO9xCO4xIMKxBThCq5PNRB91IjlJ10eJVwfoNtvTErmxLzwBZ7rHZtbOMmFQ==} + /@types/eslint@8.44.4: + resolution: {integrity: sha512-lOzjyfY/D9QR4hY9oblZ76B90MYTB3RrQ4z2vBIJKj9ROCRqdkYl2gSUx1x1a4IWPjKJZLL4Aw1Zfay7eMnmnA==} dependencies: - '@types/estree': 0.0.51 - '@types/json-schema': 7.0.11 + '@types/estree': 1.0.2 + '@types/json-schema': 7.0.13 dev: true - /@types/estree@0.0.51: - resolution: {integrity: sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==} + /@types/estree@1.0.2: + resolution: {integrity: sha512-VeiPZ9MMwXjO32/Xu7+OwflfmeoRwkE/qzndw42gGtgJwZopBnzy2gD//NN1+go1mADzkDcqf/KnFRSjTJ8xJA==} dev: true - /@types/express-serve-static-core@4.17.33: - resolution: {integrity: sha512-TPBqmR/HRYI3eC2E5hmiivIzv+bidAfXofM+sbonAGvyDhySGw9/PQZFt2BLOrjUUR++4eJVpx6KnLQK1Fk9tA==} + /@types/express-serve-static-core@4.17.37: + resolution: {integrity: sha512-ZohaCYTgGFcOP7u6aJOhY9uIZQgZ2vxC2yWoArY+FeDXlqeH66ZVBjgvg+RLVAS/DWNq4Ap9ZXu1+SUQiiWYMg==} dependencies: - '@types/node': 18.15.11 - '@types/qs': 6.9.7 - '@types/range-parser': 1.2.4 + '@types/node': 18.18.5 + '@types/qs': 6.9.8 + '@types/range-parser': 1.2.5 + '@types/send': 0.17.2 dev: true - /@types/express@4.17.17: - resolution: {integrity: sha512-Q4FmmuLGBG58btUnfS1c1r/NQdlp3DMfGDGig8WhfpA2YRUtEkxAjkZb0yvplJGYdF1fsQ81iMDcH24sSCNC/Q==} + /@types/express@4.17.19: + resolution: {integrity: sha512-UtOfBtzN9OvpZPPbnnYunfjM7XCI4jyk1NvnFhTVz5krYAnW4o5DCoIekvms+8ApqhB4+9wSge1kBijdfTSmfg==} dependencies: - '@types/body-parser': 1.19.2 - '@types/express-serve-static-core': 4.17.33 - '@types/qs': 6.9.7 - '@types/serve-static': 1.15.1 + '@types/body-parser': 1.19.3 + '@types/express-serve-static-core': 4.17.37 + '@types/qs': 6.9.8 + '@types/serve-static': 1.15.3 dev: true - /@types/http-proxy@1.17.10: - resolution: {integrity: sha512-Qs5aULi+zV1bwKAg5z1PWnDXWmsn+LxIvUGv6E2+OOMYhclZMO+OXd9pYVf2gLykf2I7IV2u7oTHwChPNsvJ7g==} + /@types/http-errors@2.0.2: + resolution: {integrity: sha512-lPG6KlZs88gef6aD85z3HNkztpj7w2R7HmR3gygjfXCQmsLloWNARFkMuzKiiY8FGdh1XDpgBdrSf4aKDiA7Kg==} + dev: true + + /@types/http-proxy@1.17.12: + resolution: {integrity: sha512-kQtujO08dVtQ2wXAuSFfk9ASy3sug4+ogFR8Kd8UgP8PEuc1/G/8yjYRmp//PcDNJEUKOza/MrQu15bouEUCiw==} dependencies: - '@types/node': 18.15.11 + '@types/node': 18.18.5 dev: true - /@types/jasmine@4.3.1: - resolution: {integrity: sha512-Vu8l+UGcshYmV1VWwULgnV/2RDbBaO6i2Ptx7nd//oJPIZGhoI1YLST4VKagD2Pq/Bc2/7zvtvhM7F3p4SN7kQ==} + /@types/jasmine@4.3.6: + resolution: {integrity: sha512-3N0FpQTeiWjm+Oo1WUYWguUS7E6JLceiGTriFrG8k5PU7zRLJCzLcWURU3wjMbZGS//a2/LgjsnO3QxIlwxt9g==} dev: true - /@types/json-schema@7.0.11: - resolution: {integrity: sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==} + /@types/json-schema@7.0.13: + resolution: {integrity: sha512-RbSSoHliUbnXj3ny0CNFOoxrIDV6SUGyStHsvDqosw6CkdPV8TtWGlfecuK4ToyMEAql6pzNxgCFKanovUzlgQ==} dev: true - /@types/mime@3.0.1: - resolution: {integrity: sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA==} + /@types/mime@1.3.3: + resolution: {integrity: sha512-Ys+/St+2VF4+xuY6+kDIXGxbNRO0mesVg0bbxEfB97Od1Vjpjx9KD1qxs64Gcb3CWPirk9Xe+PT4YiiHQ9T+eg==} dev: true - /@types/minimist@1.2.2: - resolution: {integrity: sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==} + /@types/mime@3.0.2: + resolution: {integrity: sha512-Wj+fqpTLtTbG7c0tH47dkahefpLKEbB+xAZuLq7b4/IDHPl/n6VoXcyUQ2bypFlbSwvCr0y+bD4euTTqTJsPxQ==} dev: true - /@types/node@18.15.11: - resolution: {integrity: sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q==} + /@types/minimist@1.2.3: + resolution: {integrity: sha512-ZYFzrvyWUNhaPomn80dsMNgMeXxNWZBdkuG/hWlUvXvbdUH8ZERNBGXnU87McuGcWDsyzX2aChCv/SVN348k3A==} dev: true - /@types/normalize-package-data@2.4.1: - resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==} + /@types/node@18.18.5: + resolution: {integrity: sha512-4slmbtwV59ZxitY4ixUZdy1uRLf9eSIvBWPQxNjhHYWEtn0FryfKpyS2cvADYXTayWdKEIsJengncrVvkI4I6A==} dev: true - /@types/parse-json@4.0.0: - resolution: {integrity: sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==} + /@types/normalize-package-data@2.4.2: + resolution: {integrity: sha512-lqa4UEhhv/2sjjIQgjX8B+RBjj47eo0mzGasklVJ78UKGQY1r0VpB9XHDaZZO9qzEFDdy4MrXLuEaSmPrPSe/A==} dev: true - /@types/qs@6.9.7: - resolution: {integrity: sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==} + /@types/qs@6.9.8: + resolution: {integrity: sha512-u95svzDlTysU5xecFNTgfFG5RUWu1A9P0VzgpcIiGZA9iraHOdSzcxMxQ55DyeRaGCSxQi7LxXDI4rzq/MYfdg==} dev: true - /@types/range-parser@1.2.4: - resolution: {integrity: sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==} + /@types/range-parser@1.2.5: + resolution: {integrity: sha512-xrO9OoVPqFuYyR/loIHjnbvvyRZREYKLjxV4+dY6v3FQR3stQ9ZxIGkaclF7YhI9hfjpuTbu14hZEy94qKLtOA==} dev: true /@types/retry@0.12.0: resolution: {integrity: sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==} dev: true - /@types/semver@7.3.13: - resolution: {integrity: sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==} + /@types/semver@7.5.3: + resolution: {integrity: sha512-OxepLK9EuNEIPxWNME+C6WwbRAOOI2o2BaQEGzz5Lu2e4Z5eDnEo+/aVEDMIXywoJitJ7xWd641wrGLZdtwRyw==} + dev: true + + /@types/send@0.17.2: + resolution: {integrity: sha512-aAG6yRf6r0wQ29bkS+x97BIs64ZLxeE/ARwyS6wrldMm3C1MdKwCcnnEwMC1slI8wuxJOpiUH9MioC0A0i+GJw==} + dependencies: + '@types/mime': 1.3.3 + '@types/node': 18.18.5 dev: true - /@types/serve-index@1.9.1: - resolution: {integrity: sha512-d/Hs3nWDxNL2xAczmOVZNj92YZCS6RGxfBPjKzuu/XirCgXdpKEb88dYNbrYGint6IVWLNP+yonwVAuRC0T2Dg==} + /@types/serve-index@1.9.2: + resolution: {integrity: sha512-asaEIoc6J+DbBKXtO7p2shWUpKacZOoMBEGBgPG91P8xhO53ohzHWGCs4ScZo5pQMf5ukQzVT9fhX1WzpHihig==} dependencies: - '@types/express': 4.17.17 + '@types/express': 4.17.19 dev: true - /@types/serve-static@1.15.1: - resolution: {integrity: sha512-NUo5XNiAdULrJENtJXZZ3fHtfMolzZwczzBbnAeBbqBwG+LaG6YaJtuwzwGSQZ2wsCrxjEhNNjAkKigy3n8teQ==} + /@types/serve-static@1.15.3: + resolution: {integrity: sha512-yVRvFsEMrv7s0lGhzrggJjNOSmZCdgCjw9xWrPr/kNNLp6FaDfMC1KaYl3TSJ0c58bECwNBMoQrZJ8hA8E1eFg==} dependencies: - '@types/mime': 3.0.1 - '@types/node': 18.15.11 + '@types/http-errors': 2.0.2 + '@types/mime': 3.0.2 + '@types/node': 18.18.5 dev: true - /@types/sockjs@0.3.33: - resolution: {integrity: sha512-f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw==} + /@types/sockjs@0.3.34: + resolution: {integrity: sha512-R+n7qBFnm/6jinlteC9DBL5dGiDGjWAvjo4viUanpnc/dG1y7uDoacXPIQ/PQEg1fI912SMHIa014ZjRpvDw4g==} dependencies: - '@types/node': 18.15.11 + '@types/node': 18.18.5 dev: true - /@types/ws@8.5.4: - resolution: {integrity: sha512-zdQDHKUgcX/zBc4GrwsE/7dVdAD8JR4EuiAXiiUhhfyIJXXb2+PrGshFyeXWQPMmmZ2XxgaqclgpIC7eTXc1mg==} + /@types/ws@8.5.7: + resolution: {integrity: sha512-6UrLjiDUvn40CMrAubXuIVtj2PEfKDffJS7ychvnPU44j+KVeXmdHHTgqcM/dxLUTHxlXHiFM8Skmb8ozGdTnQ==} dependencies: - '@types/node': 18.15.11 + '@types/node': 18.18.5 dev: true - /@types/yauzl@2.10.0: - resolution: {integrity: sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==} + /@types/yauzl@2.10.1: + resolution: {integrity: sha512-CHzgNU3qYBnp/O4S3yv2tXPlvMTq0YWSTVg2/JYLqWZGHwwgJGAwd00poay/11asPq8wLFwHzubyInqHIFmmiw==} requiresBuild: true dependencies: - '@types/node': 18.15.11 + '@types/node': 18.18.5 dev: true optional: true - /@typescript-eslint/eslint-plugin@5.58.0(@typescript-eslint/parser@5.58.0)(eslint@8.38.0)(typescript@4.9.5): - resolution: {integrity: sha512-vxHvLhH0qgBd3/tW6/VccptSfc8FxPQIkmNTVLWcCOVqSBvqpnKkBTYrhcGlXfSnd78azwe+PsjYFj0X34/njA==} + /@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.51.0)(typescript@4.9.5): + resolution: {integrity: sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: '@typescript-eslint/parser': ^5.0.0 @@ -2438,25 +2776,25 @@ packages: typescript: optional: true dependencies: - '@eslint-community/regexpp': 4.5.0 - '@typescript-eslint/parser': 5.58.0(eslint@8.38.0)(typescript@4.9.5) - '@typescript-eslint/scope-manager': 5.58.0 - '@typescript-eslint/type-utils': 5.58.0(eslint@8.38.0)(typescript@4.9.5) - '@typescript-eslint/utils': 5.58.0(eslint@8.38.0)(typescript@4.9.5) + '@eslint-community/regexpp': 4.9.1 + '@typescript-eslint/parser': 5.62.0(eslint@8.51.0)(typescript@4.9.5) + '@typescript-eslint/scope-manager': 5.62.0 + '@typescript-eslint/type-utils': 5.62.0(eslint@8.51.0)(typescript@4.9.5) + '@typescript-eslint/utils': 5.62.0(eslint@8.51.0)(typescript@4.9.5) debug: 4.3.4 - eslint: 8.38.0 - grapheme-splitter: 1.0.4 + eslint: 8.51.0 + graphemer: 1.4.0 ignore: 5.2.4 natural-compare-lite: 1.4.0 - semver: 7.4.0 + semver: 7.5.4 tsutils: 3.21.0(typescript@4.9.5) typescript: 4.9.5 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/parser@5.58.0(eslint@8.38.0)(typescript@4.9.5): - resolution: {integrity: sha512-ixaM3gRtlfrKzP8N6lRhBbjTow1t6ztfBvQNGuRM8qH1bjFFXIJ35XY+FC0RRBKn3C6cT+7VW1y8tNm7DwPHDQ==} + /@typescript-eslint/parser@5.62.0(eslint@8.51.0)(typescript@4.9.5): + resolution: {integrity: sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 @@ -2465,26 +2803,26 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 5.58.0 - '@typescript-eslint/types': 5.58.0 - '@typescript-eslint/typescript-estree': 5.58.0(typescript@4.9.5) + '@typescript-eslint/scope-manager': 5.62.0 + '@typescript-eslint/types': 5.62.0 + '@typescript-eslint/typescript-estree': 5.62.0(typescript@4.9.5) debug: 4.3.4 - eslint: 8.38.0 + eslint: 8.51.0 typescript: 4.9.5 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/scope-manager@5.58.0: - resolution: {integrity: sha512-b+w8ypN5CFvrXWQb9Ow9T4/6LC2MikNf1viLkYTiTbkQl46CnR69w7lajz1icW0TBsYmlpg+mRzFJ4LEJ8X9NA==} + /@typescript-eslint/scope-manager@5.62.0: + resolution: {integrity: sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - '@typescript-eslint/types': 5.58.0 - '@typescript-eslint/visitor-keys': 5.58.0 + '@typescript-eslint/types': 5.62.0 + '@typescript-eslint/visitor-keys': 5.62.0 dev: true - /@typescript-eslint/type-utils@5.58.0(eslint@8.38.0)(typescript@4.9.5): - resolution: {integrity: sha512-FF5vP/SKAFJ+LmR9PENql7fQVVgGDOS+dq3j+cKl9iW/9VuZC/8CFmzIP0DLKXfWKpRHawJiG70rVH+xZZbp8w==} + /@typescript-eslint/type-utils@5.62.0(eslint@8.51.0)(typescript@4.9.5): + resolution: {integrity: sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: '*' @@ -2493,23 +2831,23 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 5.58.0(typescript@4.9.5) - '@typescript-eslint/utils': 5.58.0(eslint@8.38.0)(typescript@4.9.5) + '@typescript-eslint/typescript-estree': 5.62.0(typescript@4.9.5) + '@typescript-eslint/utils': 5.62.0(eslint@8.51.0)(typescript@4.9.5) debug: 4.3.4 - eslint: 8.38.0 + eslint: 8.51.0 tsutils: 3.21.0(typescript@4.9.5) typescript: 4.9.5 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/types@5.58.0: - resolution: {integrity: sha512-JYV4eITHPzVQMnHZcYJXl2ZloC7thuUHrcUmxtzvItyKPvQ50kb9QXBkgNAt90OYMqwaodQh2kHutWZl1fc+1g==} + /@typescript-eslint/types@5.62.0: + resolution: {integrity: sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /@typescript-eslint/typescript-estree@5.58.0(typescript@4.9.5): - resolution: {integrity: sha512-cRACvGTodA+UxnYM2uwA2KCwRL7VAzo45syNysqlMyNyjw0Z35Icc9ihPJZjIYuA5bXJYiJ2YGUB59BqlOZT1Q==} + /@typescript-eslint/typescript-estree@5.62.0(typescript@4.9.5): + resolution: {integrity: sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: typescript: '*' @@ -2517,152 +2855,180 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/types': 5.58.0 - '@typescript-eslint/visitor-keys': 5.58.0 + '@typescript-eslint/types': 5.62.0 + '@typescript-eslint/visitor-keys': 5.62.0 debug: 4.3.4 globby: 11.1.0 is-glob: 4.0.3 - semver: 7.4.0 + semver: 7.5.4 tsutils: 3.21.0(typescript@4.9.5) typescript: 4.9.5 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/utils@5.58.0(eslint@8.38.0)(typescript@4.9.5): - resolution: {integrity: sha512-gAmLOTFXMXOC+zP1fsqm3VceKSBQJNzV385Ok3+yzlavNHZoedajjS4UyS21gabJYcobuigQPs/z71A9MdJFqQ==} + /@typescript-eslint/utils@5.62.0(eslint@8.51.0)(typescript@4.9.5): + resolution: {integrity: sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.38.0) - '@types/json-schema': 7.0.11 - '@types/semver': 7.3.13 - '@typescript-eslint/scope-manager': 5.58.0 - '@typescript-eslint/types': 5.58.0 - '@typescript-eslint/typescript-estree': 5.58.0(typescript@4.9.5) - eslint: 8.38.0 + '@eslint-community/eslint-utils': 4.4.0(eslint@8.51.0) + '@types/json-schema': 7.0.13 + '@types/semver': 7.5.3 + '@typescript-eslint/scope-manager': 5.62.0 + '@typescript-eslint/types': 5.62.0 + '@typescript-eslint/typescript-estree': 5.62.0(typescript@4.9.5) + eslint: 8.51.0 eslint-scope: 5.1.1 - semver: 7.4.0 + semver: 7.5.4 transitivePeerDependencies: - supports-color - typescript dev: true - /@typescript-eslint/visitor-keys@5.58.0: - resolution: {integrity: sha512-/fBraTlPj0jwdyTwLyrRTxv/3lnU2H96pNTVM6z3esTWLtA5MZ9ghSMJ7Rb+TtUAdtEw9EyJzJ0EydIMKxQ9gA==} + /@typescript-eslint/visitor-keys@5.62.0: + resolution: {integrity: sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - '@typescript-eslint/types': 5.58.0 - eslint-visitor-keys: 3.4.0 + '@typescript-eslint/types': 5.62.0 + eslint-visitor-keys: 3.4.3 + dev: true + + /@vitejs/plugin-basic-ssl@1.0.1(vite@4.4.7): + resolution: {integrity: sha512-pcub+YbFtFhaGRTo1832FQHQSHvMrlb43974e2eS8EKleR3p1cDdkJFPci1UhwkEf1J9Bz+wKBSzqpKp7nNj2A==} + engines: {node: '>=14.6.0'} + peerDependencies: + vite: ^3.0.0 || ^4.0.0 + dependencies: + vite: 4.4.7(@types/node@18.18.5)(less@4.1.3)(sass@1.64.1)(terser@5.19.2) dev: true - /@webassemblyjs/ast@1.11.1: - resolution: {integrity: sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==} + /@webassemblyjs/ast@1.11.6: + resolution: {integrity: sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==} dependencies: - '@webassemblyjs/helper-numbers': 1.11.1 - '@webassemblyjs/helper-wasm-bytecode': 1.11.1 + '@webassemblyjs/helper-numbers': 1.11.6 + '@webassemblyjs/helper-wasm-bytecode': 1.11.6 dev: true - /@webassemblyjs/floating-point-hex-parser@1.11.1: - resolution: {integrity: sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==} + /@webassemblyjs/floating-point-hex-parser@1.11.6: + resolution: {integrity: sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==} dev: true - /@webassemblyjs/helper-api-error@1.11.1: - resolution: {integrity: sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==} + /@webassemblyjs/helper-api-error@1.11.6: + resolution: {integrity: sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==} dev: true - /@webassemblyjs/helper-buffer@1.11.1: - resolution: {integrity: sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==} + /@webassemblyjs/helper-buffer@1.11.6: + resolution: {integrity: sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==} dev: true - /@webassemblyjs/helper-numbers@1.11.1: - resolution: {integrity: sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==} + /@webassemblyjs/helper-numbers@1.11.6: + resolution: {integrity: sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==} dependencies: - '@webassemblyjs/floating-point-hex-parser': 1.11.1 - '@webassemblyjs/helper-api-error': 1.11.1 + '@webassemblyjs/floating-point-hex-parser': 1.11.6 + '@webassemblyjs/helper-api-error': 1.11.6 '@xtuc/long': 4.2.2 dev: true - /@webassemblyjs/helper-wasm-bytecode@1.11.1: - resolution: {integrity: sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==} + /@webassemblyjs/helper-wasm-bytecode@1.11.6: + resolution: {integrity: sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==} dev: true - /@webassemblyjs/helper-wasm-section@1.11.1: - resolution: {integrity: sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==} + /@webassemblyjs/helper-wasm-section@1.11.6: + resolution: {integrity: sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==} dependencies: - '@webassemblyjs/ast': 1.11.1 - '@webassemblyjs/helper-buffer': 1.11.1 - '@webassemblyjs/helper-wasm-bytecode': 1.11.1 - '@webassemblyjs/wasm-gen': 1.11.1 + '@webassemblyjs/ast': 1.11.6 + '@webassemblyjs/helper-buffer': 1.11.6 + '@webassemblyjs/helper-wasm-bytecode': 1.11.6 + '@webassemblyjs/wasm-gen': 1.11.6 dev: true - /@webassemblyjs/ieee754@1.11.1: - resolution: {integrity: sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==} + /@webassemblyjs/ieee754@1.11.6: + resolution: {integrity: sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==} dependencies: '@xtuc/ieee754': 1.2.0 dev: true - /@webassemblyjs/leb128@1.11.1: - resolution: {integrity: sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==} + /@webassemblyjs/leb128@1.11.6: + resolution: {integrity: sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==} dependencies: '@xtuc/long': 4.2.2 dev: true - /@webassemblyjs/utf8@1.11.1: - resolution: {integrity: sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==} + /@webassemblyjs/utf8@1.11.6: + resolution: {integrity: sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==} dev: true - /@webassemblyjs/wasm-edit@1.11.1: - resolution: {integrity: sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==} + /@webassemblyjs/wasm-edit@1.11.6: + resolution: {integrity: sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==} dependencies: - '@webassemblyjs/ast': 1.11.1 - '@webassemblyjs/helper-buffer': 1.11.1 - '@webassemblyjs/helper-wasm-bytecode': 1.11.1 - '@webassemblyjs/helper-wasm-section': 1.11.1 - '@webassemblyjs/wasm-gen': 1.11.1 - '@webassemblyjs/wasm-opt': 1.11.1 - '@webassemblyjs/wasm-parser': 1.11.1 - '@webassemblyjs/wast-printer': 1.11.1 + '@webassemblyjs/ast': 1.11.6 + '@webassemblyjs/helper-buffer': 1.11.6 + '@webassemblyjs/helper-wasm-bytecode': 1.11.6 + '@webassemblyjs/helper-wasm-section': 1.11.6 + '@webassemblyjs/wasm-gen': 1.11.6 + '@webassemblyjs/wasm-opt': 1.11.6 + '@webassemblyjs/wasm-parser': 1.11.6 + '@webassemblyjs/wast-printer': 1.11.6 dev: true - /@webassemblyjs/wasm-gen@1.11.1: - resolution: {integrity: sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==} + /@webassemblyjs/wasm-gen@1.11.6: + resolution: {integrity: sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==} dependencies: - '@webassemblyjs/ast': 1.11.1 - '@webassemblyjs/helper-wasm-bytecode': 1.11.1 - '@webassemblyjs/ieee754': 1.11.1 - '@webassemblyjs/leb128': 1.11.1 - '@webassemblyjs/utf8': 1.11.1 + '@webassemblyjs/ast': 1.11.6 + '@webassemblyjs/helper-wasm-bytecode': 1.11.6 + '@webassemblyjs/ieee754': 1.11.6 + '@webassemblyjs/leb128': 1.11.6 + '@webassemblyjs/utf8': 1.11.6 dev: true - /@webassemblyjs/wasm-opt@1.11.1: - resolution: {integrity: sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==} + /@webassemblyjs/wasm-opt@1.11.6: + resolution: {integrity: sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==} dependencies: - '@webassemblyjs/ast': 1.11.1 - '@webassemblyjs/helper-buffer': 1.11.1 - '@webassemblyjs/wasm-gen': 1.11.1 - '@webassemblyjs/wasm-parser': 1.11.1 + '@webassemblyjs/ast': 1.11.6 + '@webassemblyjs/helper-buffer': 1.11.6 + '@webassemblyjs/wasm-gen': 1.11.6 + '@webassemblyjs/wasm-parser': 1.11.6 dev: true - /@webassemblyjs/wasm-parser@1.11.1: - resolution: {integrity: sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==} + /@webassemblyjs/wasm-parser@1.11.6: + resolution: {integrity: sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==} dependencies: - '@webassemblyjs/ast': 1.11.1 - '@webassemblyjs/helper-api-error': 1.11.1 - '@webassemblyjs/helper-wasm-bytecode': 1.11.1 - '@webassemblyjs/ieee754': 1.11.1 - '@webassemblyjs/leb128': 1.11.1 - '@webassemblyjs/utf8': 1.11.1 + '@webassemblyjs/ast': 1.11.6 + '@webassemblyjs/helper-api-error': 1.11.6 + '@webassemblyjs/helper-wasm-bytecode': 1.11.6 + '@webassemblyjs/ieee754': 1.11.6 + '@webassemblyjs/leb128': 1.11.6 + '@webassemblyjs/utf8': 1.11.6 dev: true - /@webassemblyjs/wast-printer@1.11.1: - resolution: {integrity: sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==} + /@webassemblyjs/wast-printer@1.11.6: + resolution: {integrity: sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==} dependencies: - '@webassemblyjs/ast': 1.11.1 + '@webassemblyjs/ast': 1.11.6 '@xtuc/long': 4.2.2 dev: true + /@wessberg/ts-evaluator@0.0.27(typescript@4.9.5): + resolution: {integrity: sha512-7gOpVm3yYojUp/Yn7F4ZybJRxyqfMNf0LXK5KJiawbPfL0XTsJV+0mgrEDjOIR6Bi0OYk2Cyg4tjFu1r8MCZaA==} + engines: {node: '>=10.1.0'} + deprecated: this package has been renamed to ts-evaluator. Please install ts-evaluator instead + peerDependencies: + typescript: '>=3.2.x || >= 4.x' + dependencies: + chalk: 4.1.2 + jsdom: 16.7.0 + object-path: 0.11.8 + tslib: 2.6.2 + typescript: 4.9.5 + transitivePeerDependencies: + - bufferutil + - canvas + - supports-color + - utf-8-validate + dev: true + /@xtuc/ieee754@1.2.0: resolution: {integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==} dev: true @@ -2675,6 +3041,21 @@ packages: resolution: {integrity: sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==} dev: true + /@yarnpkg/parsers@3.0.0-rc.46: + resolution: {integrity: sha512-aiATs7pSutzda/rq8fnuPwTglyVwjM22bNnK2ZgjrpAjQHSSl3lztd2f9evst1W/qnC58DRz7T7QndUDumAR4Q==} + engines: {node: '>=14.15.0'} + dependencies: + js-yaml: 3.14.1 + tslib: 2.6.2 + dev: true + + /@zkochan/js-yaml@0.0.6: + resolution: {integrity: sha512-nzvgl3VfhcELQ8LyVrYOru+UtAy1nrygk2+AGbTm8a5YcO6o8lSjAT+pfg3vJWxIoZKOUhrK6UU7xW/+00kQrg==} + hasBin: true + dependencies: + argparse: 2.0.1 + dev: true + /abab@2.0.6: resolution: {integrity: sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==} dev: true @@ -2691,24 +3072,42 @@ packages: negotiator: 0.6.3 dev: true - /acorn-import-assertions@1.8.0(acorn@8.8.2): - resolution: {integrity: sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==} + /acorn-globals@6.0.0: + resolution: {integrity: sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==} + dependencies: + acorn: 7.4.1 + acorn-walk: 7.2.0 + dev: true + + /acorn-import-assertions@1.9.0(acorn@8.10.0): + resolution: {integrity: sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==} peerDependencies: acorn: ^8 dependencies: - acorn: 8.8.2 + acorn: 8.10.0 dev: true - /acorn-jsx@5.3.2(acorn@8.8.2): + /acorn-jsx@5.3.2(acorn@8.10.0): resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: - acorn: 8.8.2 + acorn: 8.10.0 + dev: true + + /acorn-walk@7.2.0: + resolution: {integrity: sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==} + engines: {node: '>=0.4.0'} + dev: true + + /acorn@7.4.1: + resolution: {integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==} + engines: {node: '>=0.4.0'} + hasBin: true dev: true - /acorn@8.8.2: - resolution: {integrity: sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==} + /acorn@8.10.0: + resolution: {integrity: sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==} engines: {node: '>=0.4.0'} hasBin: true dev: true @@ -2730,15 +3129,11 @@ packages: - supports-color dev: true - /agentkeepalive@4.3.0: - resolution: {integrity: sha512-7Epl1Blf4Sy37j4v9f9FjICCh4+KAQOyXgHEwlyBiAQLbhKdq/i2QQU3amQalS/wPhdPzDXPL5DMR5bkn+YeWg==} + /agentkeepalive@4.5.0: + resolution: {integrity: sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew==} engines: {node: '>= 8.0.0'} dependencies: - debug: 4.3.4 - depd: 2.0.0 humanize-ms: 1.2.1 - transitivePeerDependencies: - - supports-color dev: true /aggregate-error@3.1.0: @@ -2818,6 +3213,11 @@ packages: engines: {node: '>=8'} dev: true + /ansi-regex@6.0.1: + resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} + engines: {node: '>=12'} + dev: true + /ansi-styles@3.2.1: resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} engines: {node: '>=4'} @@ -2832,6 +3232,11 @@ packages: color-convert: 2.0.1 dev: true + /ansi-styles@6.2.1: + resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} + engines: {node: '>=12'} + dev: true + /anymatch@3.1.3: resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} engines: {node: '>= 8'} @@ -2862,6 +3267,12 @@ packages: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} dev: true + /aria-query@5.3.0: + resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==} + dependencies: + dequal: 2.0.3 + dev: true + /array-flatten@1.1.1: resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} dev: true @@ -2885,40 +3296,64 @@ packages: engines: {node: '>=8'} dev: true - /autoprefixer@10.4.13(postcss@8.4.21): - resolution: {integrity: sha512-49vKpMqcZYsJjwotvt4+h/BCjJVnhGwcLpDt5xkcaOG3eLrG/HUYLagrihYsQ+qrIBgIzX1Rw7a6L8I/ZA1Atg==} + /async@3.2.4: + resolution: {integrity: sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==} + dev: true + + /asynckit@0.4.0: + resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} + dev: true + + /autoprefixer@10.4.14(postcss@8.4.31): + resolution: {integrity: sha512-FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ==} engines: {node: ^10 || ^12 || >=14} hasBin: true peerDependencies: postcss: ^8.1.0 dependencies: - browserslist: 4.21.5 - caniuse-lite: 1.0.30001478 - fraction.js: 4.2.0 + browserslist: 4.22.1 + caniuse-lite: 1.0.30001547 + fraction.js: 4.3.7 normalize-range: 0.1.2 picocolors: 1.0.0 - postcss: 8.4.21 + postcss: 8.4.31 postcss-value-parser: 4.2.0 dev: true - /babel-loader@9.1.2(@babel/core@7.20.12)(webpack@5.76.1): - resolution: {integrity: sha512-mN14niXW43tddohGl8HPu5yfQq70iUThvFL/4QzESA7GcZoC0eVOhvWdQ8+3UlSjaDE9MVtsW9mxDY07W7VpVA==} + /axios@1.5.1: + resolution: {integrity: sha512-Q28iYCWzNHjAm+yEAot5QaAMxhMghWLFVf7rRdwhUI+c2jix2DUXjAHXVi+s1ibs3mjPO/cCgbA++3BjD0vP/A==} + dependencies: + follow-redirects: 1.15.3 + form-data: 4.0.0 + proxy-from-env: 1.1.0 + transitivePeerDependencies: + - debug + dev: true + + /axobject-query@3.2.1: + resolution: {integrity: sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==} + dependencies: + dequal: 2.0.3 + dev: true + + /babel-loader@9.1.3(@babel/core@7.22.9)(webpack@5.88.2): + resolution: {integrity: sha512-xG3ST4DglodGf8qSwv0MdeWLhrDsw/32QMdTO5T1ZIp9gQur0HkCyFs7Awskr10JKXFXwpAhiCuYX5oGXnRGbw==} engines: {node: '>= 14.15.0'} peerDependencies: '@babel/core': ^7.12.0 webpack: '>=5' dependencies: - '@babel/core': 7.20.12 - find-cache-dir: 3.3.2 - schema-utils: 4.0.0 - webpack: 5.76.1(esbuild@0.17.8) + '@babel/core': 7.22.9 + find-cache-dir: 4.0.0 + schema-utils: 4.2.0 + webpack: 5.88.2(esbuild@0.18.17) dev: true /babel-plugin-istanbul@6.1.1: resolution: {integrity: sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==} engines: {node: '>=8'} dependencies: - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@istanbuljs/load-nyc-config': 1.1.0 '@istanbuljs/schema': 0.1.3 istanbul-lib-instrument: 5.2.1 @@ -2927,38 +3362,38 @@ packages: - supports-color dev: true - /babel-plugin-polyfill-corejs2@0.3.3(@babel/core@7.20.12): - resolution: {integrity: sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==} + /babel-plugin-polyfill-corejs2@0.4.6(@babel/core@7.22.9): + resolution: {integrity: sha512-jhHiWVZIlnPbEUKSSNb9YoWcQGdlTLq7z1GHL4AjFxaoOUMuuEVJ+Y4pAaQUGOGk93YsVCKPbqbfw3m0SM6H8Q==} peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/compat-data': 7.21.4 - '@babel/core': 7.20.12 - '@babel/helper-define-polyfill-provider': 0.3.3(@babel/core@7.20.12) - semver: 6.3.0 + '@babel/compat-data': 7.23.2 + '@babel/core': 7.22.9 + '@babel/helper-define-polyfill-provider': 0.4.3(@babel/core@7.22.9) + semver: 6.3.1 transitivePeerDependencies: - supports-color dev: true - /babel-plugin-polyfill-corejs3@0.6.0(@babel/core@7.20.12): - resolution: {integrity: sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==} + /babel-plugin-polyfill-corejs3@0.8.5(@babel/core@7.22.9): + resolution: {integrity: sha512-Q6CdATeAvbScWPNLB8lzSO7fgUVBkQt6zLgNlfyeCr/EQaEQR+bWiBYYPYAFyE528BMjRhL+1QBMOI4jc/c5TA==} peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.20.12 - '@babel/helper-define-polyfill-provider': 0.3.3(@babel/core@7.20.12) - core-js-compat: 3.30.0 + '@babel/core': 7.22.9 + '@babel/helper-define-polyfill-provider': 0.4.3(@babel/core@7.22.9) + core-js-compat: 3.33.0 transitivePeerDependencies: - supports-color dev: true - /babel-plugin-polyfill-regenerator@0.4.1(@babel/core@7.20.12): - resolution: {integrity: sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==} + /babel-plugin-polyfill-regenerator@0.5.3(@babel/core@7.22.9): + resolution: {integrity: sha512-8sHeDOmXC8csczMrYEOf0UTNa4yE2SxV5JGeT/LP1n0OYVDUUFPxG9vdk2AlDlIit4t+Kf0xCtpgXPBwnn/9pw==} peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.20.12 - '@babel/helper-define-polyfill-provider': 0.3.3(@babel/core@7.20.12) + '@babel/core': 7.22.9 + '@babel/helper-define-polyfill-provider': 0.4.3(@babel/core@7.22.9) transitivePeerDependencies: - supports-color dev: true @@ -3074,15 +3509,19 @@ packages: fill-range: 7.0.1 dev: true - /browserslist@4.21.5: - resolution: {integrity: sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==} + /browser-process-hrtime@1.0.0: + resolution: {integrity: sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==} + dev: true + + /browserslist@4.22.1: + resolution: {integrity: sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: - caniuse-lite: 1.0.30001478 - electron-to-chromium: 1.4.361 - node-releases: 2.0.10 - update-browserslist-db: 1.0.10(browserslist@4.21.5) + caniuse-lite: 1.0.30001547 + electron-to-chromium: 1.4.553 + node-releases: 2.0.13 + update-browserslist-db: 1.0.13(browserslist@4.22.1) dev: true /buffer-crc32@0.2.13: @@ -3103,7 +3542,7 @@ packages: /builtins@5.0.1: resolution: {integrity: sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==} dependencies: - semver: 7.4.0 + semver: 7.5.4 dev: true /bytes@3.0.0: @@ -3116,79 +3555,29 @@ packages: engines: {node: '>= 0.8'} dev: true - /cacache@16.1.3: - resolution: {integrity: sha512-/+Emcj9DAXxX4cwlLmRI9c166RuL3w30zp4R7Joiv2cQTtTtA+jeuCAjH3ZlGnYS3tKENSrKhAzVVP9GVyzeYQ==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - dependencies: - '@npmcli/fs': 2.1.2 - '@npmcli/move-file': 2.0.1 - chownr: 2.0.0 - fs-minipass: 2.1.0 - glob: 8.1.0 - infer-owner: 1.0.4 - lru-cache: 7.18.3 - minipass: 3.3.6 - minipass-collect: 1.0.2 - minipass-flush: 1.0.5 - minipass-pipeline: 1.2.4 - mkdirp: 1.0.4 - p-map: 4.0.0 - promise-inflight: 1.0.1 - rimraf: 3.0.2 - ssri: 9.0.1 - tar: 6.1.13 - unique-filename: 2.0.1 - transitivePeerDependencies: - - bluebird - dev: true - - /cacache@17.0.4: - resolution: {integrity: sha512-Z/nL3gU+zTUjz5pCA5vVjYM8pmaw2kxM7JEiE0fv3w77Wj+sFbi70CrBruUWH0uNcEdvLDixFpgA2JM4F4DBjA==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dependencies: - '@npmcli/fs': 3.1.0 - fs-minipass: 3.0.1 - glob: 8.1.0 - lru-cache: 7.18.3 - minipass: 4.2.8 - minipass-collect: 1.0.2 - minipass-flush: 1.0.5 - minipass-pipeline: 1.2.4 - p-map: 4.0.0 - promise-inflight: 1.0.1 - ssri: 10.0.3 - tar: 6.1.13 - unique-filename: 3.0.0 - transitivePeerDependencies: - - bluebird - dev: true - - /cacache@17.0.5: - resolution: {integrity: sha512-Y/PRQevNSsjAPWykl9aeGz8Pr+OI6BYM9fYDNMvOkuUiG9IhG4LEmaYrZZZvioMUEQ+cBCxT0v8wrnCURccyKA==} + /cacache@17.1.4: + resolution: {integrity: sha512-/aJwG2l3ZMJ1xNAnqbMpA40of9dj/pIH3QfiuQSqjfPJF747VR0J/bHn+/KdNnHKc6XQcWt/AfRSBft82W1d2A==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: '@npmcli/fs': 3.1.0 - fs-minipass: 3.0.1 - glob: 9.3.5 + fs-minipass: 3.0.3 + glob: 10.3.10 lru-cache: 7.18.3 - minipass: 4.2.8 + minipass: 7.0.4 minipass-collect: 1.0.2 minipass-flush: 1.0.5 minipass-pipeline: 1.2.4 p-map: 4.0.0 - promise-inflight: 1.0.1 - ssri: 10.0.3 - tar: 6.1.13 + ssri: 10.0.5 + tar: 6.2.0 unique-filename: 3.0.0 - transitivePeerDependencies: - - bluebird dev: true /call-bind@1.0.2: resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} dependencies: - function-bind: 1.1.1 - get-intrinsic: 1.2.0 + function-bind: 1.1.2 + get-intrinsic: 1.2.1 dev: true /callsites@3.1.0: @@ -3196,13 +3585,14 @@ packages: engines: {node: '>=6'} dev: true - /camelcase-keys@6.2.2: - resolution: {integrity: sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==} - engines: {node: '>=8'} + /camelcase-keys@7.0.2: + resolution: {integrity: sha512-Rjs1H+A9R+Ig+4E/9oyB66UC5Mj9Xq3N//vcLf2WzgdTi/3gUu3Z9KoqmlrEG4VuuLK8wJHofxzdQXz/knhiYg==} + engines: {node: '>=12'} dependencies: - camelcase: 5.3.1 + camelcase: 6.3.0 map-obj: 4.3.0 - quick-lru: 4.0.1 + quick-lru: 5.1.1 + type-fest: 1.4.0 dev: true /camelcase@5.3.1: @@ -3210,8 +3600,13 @@ packages: engines: {node: '>=6'} dev: true - /caniuse-lite@1.0.30001478: - resolution: {integrity: sha512-gMhDyXGItTHipJj2ApIvR+iVB5hd0KP3svMWWXDvZOmjzJJassGLMfxRkQCSYgGd2gtdL/ReeiyvMSFD1Ss6Mw==} + /camelcase@6.3.0: + resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} + engines: {node: '>=10'} + dev: true + + /caniuse-lite@1.0.30001547: + resolution: {integrity: sha512-W7CrtIModMAxobGhz8iXmDfuJiiKg1WADMO/9x7/CLNin5cpSbuBjooyoIUVB5eyCc36QuTVlkVa1iB2S5+/eA==} dev: true /chalk@2.4.2: @@ -3247,7 +3642,7 @@ packages: normalize-path: 3.0.0 readdirp: 3.6.0 optionalDependencies: - fsevents: 2.3.2 + fsevents: 2.3.3 dev: true /chownr@1.1.4: @@ -3264,8 +3659,8 @@ packages: engines: {node: '>=6.0'} dev: true - /chromium-bidi@0.4.6(devtools-protocol@0.0.1107588): - resolution: {integrity: sha512-TQOkWRaLI/IWvoP8XC+7jO4uHTIiAUiklXU1T0qszlUFEai9LgKXIBXy3pOS3EnQZ3bQtMbKUPkug0fTAEHCSw==} + /chromium-bidi@0.4.7(devtools-protocol@0.0.1107588): + resolution: {integrity: sha512-6+mJuFXwTMU6I3vYLs6IL8A1DyQTPjCfIL971X0aMPVGRbGnNfl6i6Cl0NMbxi2bRYLGESt9T2ZIMRM5PAEcIQ==} peerDependencies: devtools-protocol: '*' dependencies: @@ -3285,8 +3680,13 @@ packages: restore-cursor: 3.1.0 dev: true - /cli-spinners@2.8.0: - resolution: {integrity: sha512-/eG5sJcvEIwxcdYM86k5tPwn0MUzkX5YY3eImTGpJOZgVe4SdTMY14vQpcxgBzJ0wXwAYrS8E+c3uHeK4JNyzQ==} + /cli-spinners@2.6.1: + resolution: {integrity: sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==} + engines: {node: '>=6'} + dev: true + + /cli-spinners@2.9.1: + resolution: {integrity: sha512-jHgecW0pxkonBJdrKsqxgRX9AcG+u/5k0Q7WPDfi8AogLAdwxEkyYYNWwZ5GvVFoFx2uiY1eNcSK00fh+1+FyQ==} engines: {node: '>=6'} dev: true @@ -3356,16 +3756,23 @@ packages: resolution: {integrity: sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==} dev: true - /colorette@2.0.19: - resolution: {integrity: sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==} + /colorette@2.0.20: + resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} + dev: true + + /combined-stream@1.0.8: + resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} + engines: {node: '>= 0.8'} + dependencies: + delayed-stream: 1.0.0 dev: true /commander@2.20.3: resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} dev: true - /commondir@1.0.1: - resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} + /common-path-prefix@3.0.0: + resolution: {integrity: sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==} dev: true /compressible@2.0.18: @@ -3431,6 +3838,10 @@ packages: resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} dev: true + /convert-source-map@2.0.0: + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + dev: true + /cookie-signature@1.0.6: resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==} dev: true @@ -3451,25 +3862,25 @@ packages: is-what: 3.14.1 dev: true - /copy-webpack-plugin@11.0.0(webpack@5.76.1): + /copy-webpack-plugin@11.0.0(webpack@5.88.2): resolution: {integrity: sha512-fX2MWpamkW0hZxMEg0+mYnA40LTosOSa5TqZ9GYIBzyJa9C3QUaMPSE2xAi/buNr8u89SfD9wHSQVBzrRa/SOQ==} engines: {node: '>= 14.15.0'} peerDependencies: webpack: ^5.1.0 dependencies: - fast-glob: 3.2.12 + fast-glob: 3.3.1 glob-parent: 6.0.2 - globby: 13.1.4 + globby: 13.2.2 normalize-path: 3.0.0 - schema-utils: 4.0.0 + schema-utils: 4.2.0 serialize-javascript: 6.0.1 - webpack: 5.76.1(esbuild@0.17.8) + webpack: 5.88.2(esbuild@0.18.17) dev: true - /core-js-compat@3.30.0: - resolution: {integrity: sha512-P5A2h/9mRYZFIAP+5Ab8ns6083IyVpSclU74UNvbGVQ8VM7n3n3/g2yF3AkKQ9NXz2O+ioxLbEWKnDtgsFamhg==} + /core-js-compat@3.33.0: + resolution: {integrity: sha512-0w4LcLXsVEuNkIqwjjf9rjCoPhK8uqA4tMRh4Ge26vfLtUutshn+aRJU21I9LCJlh2QQHfisNToLjw1XEJLTWw==} dependencies: - browserslist: 4.21.5 + browserslist: 4.22.1 dev: true /core-util-is@1.0.3: @@ -3484,35 +3895,41 @@ packages: vary: 1.1.2 dev: true - /cosmiconfig@7.1.0: - resolution: {integrity: sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==} - engines: {node: '>=10'} + /cosmiconfig@8.1.3: + resolution: {integrity: sha512-/UkO2JKI18b5jVMJUp0lvKFMpa/Gye+ZgZjKD+DGEN9y7NRcf/nK1A0sp67ONmKtnDCNMS44E6jrk0Yc3bDuUw==} + engines: {node: '>=14'} dependencies: - '@types/parse-json': 4.0.0 import-fresh: 3.3.0 + js-yaml: 4.1.0 parse-json: 5.2.0 path-type: 4.0.0 - yaml: 1.10.2 dev: true - /cosmiconfig@8.1.3: - resolution: {integrity: sha512-/UkO2JKI18b5jVMJUp0lvKFMpa/Gye+ZgZjKD+DGEN9y7NRcf/nK1A0sp67ONmKtnDCNMS44E6jrk0Yc3bDuUw==} + /cosmiconfig@8.3.6(typescript@4.9.5): + resolution: {integrity: sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==} engines: {node: '>=14'} + peerDependencies: + typescript: '>=4.9.5' + peerDependenciesMeta: + typescript: + optional: true dependencies: import-fresh: 3.3.0 js-yaml: 4.1.0 parse-json: 5.2.0 path-type: 4.0.0 + typescript: 4.9.5 dev: true - /critters@0.0.16: - resolution: {integrity: sha512-JwjgmO6i3y6RWtLYmXwO5jMd+maZt8Tnfu7VVISmEWyQqfLpB8soBswf8/2bu6SBXxtKA68Al3c+qIG1ApT68A==} + /critters@0.0.20: + resolution: {integrity: sha512-CImNRorKOl5d8TWcnAz5n5izQ6HFsvz29k327/ELy6UFcmbiZNOsinaKvzv16WZR0P6etfSWYzE47C4/56B3Uw==} dependencies: chalk: 4.1.2 - css-select: 4.3.0 - parse5: 6.0.1 - parse5-htmlparser2-tree-adapter: 6.0.1 - postcss: 8.4.21 + css-select: 5.1.0 + dom-serializer: 2.0.0 + domhandler: 5.0.3 + htmlparser2: 8.0.2 + postcss: 8.4.31 pretty-bytes: 5.6.0 dev: true @@ -3533,35 +3950,35 @@ packages: which: 2.0.2 dev: true - /css-functions-list@3.1.0: - resolution: {integrity: sha512-/9lCvYZaUbBGvYUgYGFJ4dcYiyqdhSjG7IPVluoV8A1ILjkF7ilmhp1OGUz8n+nmBcu0RNrQAzgD8B6FJbrt2w==} + /css-functions-list@3.2.0: + resolution: {integrity: sha512-d/jBMPyYybkkLVypgtGv12R+pIFw4/f/IHtCTxWpZc8ofTYOPigIgmA6vu5rMHartZC+WuXhBUHfnyNUIQSYrg==} engines: {node: '>=12.22'} dev: true - /css-loader@6.7.3(webpack@5.76.1): - resolution: {integrity: sha512-qhOH1KlBMnZP8FzRO6YCH9UHXQhVMcEGLyNdb7Hv2cpcmJbW0YrddO+tG1ab5nT41KpHIYGsbeHqxB9xPu1pKQ==} + /css-loader@6.8.1(webpack@5.88.2): + resolution: {integrity: sha512-xDAXtEVGlD0gJ07iclwWVkLoZOpEvAWaSyf6W18S2pOC//K8+qUDIx8IIT3D+HjnmkJPQeesOPv5aiUaJsCM2g==} engines: {node: '>= 12.13.0'} peerDependencies: webpack: ^5.0.0 dependencies: - icss-utils: 5.1.0(postcss@8.4.21) - postcss: 8.4.21 - postcss-modules-extract-imports: 3.0.0(postcss@8.4.21) - postcss-modules-local-by-default: 4.0.0(postcss@8.4.21) - postcss-modules-scope: 3.0.0(postcss@8.4.21) - postcss-modules-values: 4.0.0(postcss@8.4.21) + icss-utils: 5.1.0(postcss@8.4.31) + postcss: 8.4.31 + postcss-modules-extract-imports: 3.0.0(postcss@8.4.31) + postcss-modules-local-by-default: 4.0.3(postcss@8.4.31) + postcss-modules-scope: 3.0.0(postcss@8.4.31) + postcss-modules-values: 4.0.0(postcss@8.4.31) postcss-value-parser: 4.2.0 - semver: 7.4.0 - webpack: 5.76.1(esbuild@0.17.8) + semver: 7.5.4 + webpack: 5.88.2(esbuild@0.18.17) dev: true - /css-select@4.3.0: - resolution: {integrity: sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==} + /css-select@5.1.0: + resolution: {integrity: sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==} dependencies: boolbase: 1.0.0 css-what: 6.1.0 - domhandler: 4.3.1 - domutils: 2.8.0 + domhandler: 5.0.3 + domutils: 3.1.0 nth-check: 2.1.1 dev: true @@ -3584,10 +4001,34 @@ packages: hasBin: true dev: true + /cssom@0.3.8: + resolution: {integrity: sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==} + dev: true + + /cssom@0.4.4: + resolution: {integrity: sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==} + dev: true + + /cssstyle@2.3.0: + resolution: {integrity: sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==} + engines: {node: '>=8'} + dependencies: + cssom: 0.3.8 + dev: true + /custom-event@1.0.1: resolution: {integrity: sha512-GAj5FOq0Hd+RsCGVJxZuKaIDXDf3h6GQoNEjFgbLLI/trgtavwUbSnZ5pVfg27DVCaWjIohryS0JFwIJyT2cMg==} dev: true + /data-urls@2.0.0: + resolution: {integrity: sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==} + engines: {node: '>=10'} + dependencies: + abab: 2.0.6 + whatwg-mimetype: 2.3.0 + whatwg-url: 8.7.0 + dev: true + /date-format@4.0.14: resolution: {integrity: sha512-39BOQLs9ZjKh0/patS9nrT8wc3ioX3/eA/zgbKNopnF2wCqJEoxywwwElATYvRsXdnOxA/OQeQoFZ3rFjVajhg==} engines: {node: '>=4.0'} @@ -3606,6 +4047,7 @@ packages: /debug@3.2.7: resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} + requiresBuild: true peerDependencies: supports-color: '*' peerDependenciesMeta: @@ -3641,6 +4083,15 @@ packages: engines: {node: '>=0.10.0'} dev: true + /decamelize@5.0.1: + resolution: {integrity: sha512-VfxadyCECXgQlkoEAjeghAr5gY3Hf+IKjKb+X8tGVDtveCjN+USwprd2q3QXBR9T1+x2DG0XZF5/w+7HAtSaXA==} + engines: {node: '>=10'} + dev: true + + /decimal.js@10.4.3: + resolution: {integrity: sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==} + dev: true + /deep-is@0.1.4: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} dev: true @@ -3663,6 +4114,11 @@ packages: engines: {node: '>=8'} dev: true + /delayed-stream@1.0.0: + resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} + engines: {node: '>=0.4.0'} + dev: true + /delegates@1.0.0: resolution: {integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==} dev: true @@ -3677,9 +4133,9 @@ packages: engines: {node: '>= 0.8'} dev: true - /dependency-graph@0.11.0: - resolution: {integrity: sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg==} - engines: {node: '>= 0.6.0'} + /dequal@2.0.3: + resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} + engines: {node: '>=6'} dev: true /destroy@1.2.0: @@ -3706,16 +4162,12 @@ packages: path-type: 4.0.0 dev: true - /dlv@1.1.3: - resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} - dev: true - /dns-equal@1.0.0: resolution: {integrity: sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==} dev: true - /dns-packet@5.5.0: - resolution: {integrity: sha512-USawdAUzRkV6xrqTjiAEp6M9YagZEzWcSUaZTcIFAiyQWW1SoI6KyId8y2+/71wbgHKQAKd+iupLv4YvEwYWvA==} + /dns-packet@5.6.1: + resolution: {integrity: sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==} engines: {node: '>=6'} dependencies: '@leichtgewicht/ip-codec': 2.0.4 @@ -3737,14 +4189,6 @@ packages: void-elements: 2.0.1 dev: true - /dom-serializer@1.4.1: - resolution: {integrity: sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==} - dependencies: - domelementtype: 2.3.0 - domhandler: 4.3.1 - entities: 2.2.0 - dev: true - /dom-serializer@2.0.0: resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==} dependencies: @@ -3757,11 +4201,11 @@ packages: resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} dev: true - /domhandler@4.3.1: - resolution: {integrity: sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==} - engines: {node: '>= 4'} + /domexception@2.0.1: + resolution: {integrity: sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==} + engines: {node: '>=8'} dependencies: - domelementtype: 2.3.0 + webidl-conversions: 5.0.0 dev: true /domhandler@5.0.3: @@ -3771,34 +4215,51 @@ packages: domelementtype: 2.3.0 dev: true - /domutils@2.8.0: - resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==} - dependencies: - dom-serializer: 1.4.1 - domelementtype: 2.3.0 - domhandler: 4.3.1 - dev: true - - /domutils@3.0.1: - resolution: {integrity: sha512-z08c1l761iKhDFtfXO04C7kTdPBLi41zwOZl00WS8b5eiaebNpY00HKbztwBq+e3vyqWNwWF3mP9YLUeqIrF+Q==} + /domutils@3.1.0: + resolution: {integrity: sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==} dependencies: dom-serializer: 2.0.0 domelementtype: 2.3.0 domhandler: 5.0.3 dev: true + /dotenv@10.0.0: + resolution: {integrity: sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==} + engines: {node: '>=10'} + dev: true + + /duplexer@0.1.2: + resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} + dev: true + + /eastasianwidth@0.2.0: + resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} + dev: true + /ee-first@1.1.1: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} dev: true - /electron-to-chromium@1.4.361: - resolution: {integrity: sha512-VocVwjPp05HUXzf3xmL0boRn5b0iyqC7amtDww84Jb1QJNPBc7F69gJyEeXRoriLBC4a5pSyckdllrXAg4mmRA==} + /ejs@3.1.9: + resolution: {integrity: sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==} + engines: {node: '>=0.10.0'} + hasBin: true + dependencies: + jake: 10.8.7 + dev: true + + /electron-to-chromium@1.4.553: + resolution: {integrity: sha512-HiRdtyKS2+VhiXvjhMvvxiMC33FJJqTA5EB2YHgFZW6v7HkK4Q9Ahv2V7O2ZPgAjw+MyCJVMQvigj13H8t+wvA==} dev: true /emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} dev: true + /emoji-regex@9.2.2: + resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + dev: true + /emojis-list@3.0.0: resolution: {integrity: sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==} engines: {node: '>= 4'} @@ -3823,24 +4284,24 @@ packages: once: 1.4.0 dev: true - /engine.io-parser@5.0.6: - resolution: {integrity: sha512-tjuoZDMAdEhVnSFleYPCtdL2GXwVTGtNjoeJd9IhIG3C1xs9uwxqRNEu5WpnDZCaozwVlK/nuQhpodhXSIMaxw==} + /engine.io-parser@5.2.1: + resolution: {integrity: sha512-9JktcM3u18nU9N2Lz3bWeBgxVgOKpw7yhRaoxQA3FUDZzzw+9WlA6p4G4u0RixNkg14fH7EfEc/RhpurtiROTQ==} engines: {node: '>=10.0.0'} dev: true - /engine.io@6.4.1: - resolution: {integrity: sha512-JFYQurD/nbsA5BSPmbaOSLa3tSVj8L6o4srSwXXY3NqE+gGUNmmPTbhn8tjzcCtSqhFgIeqef81ngny8JM25hw==} - engines: {node: '>=10.0.0'} + /engine.io@6.5.3: + resolution: {integrity: sha512-IML/R4eG/pUS5w7OfcDE0jKrljWS9nwnEfsxWCIJF5eO6AHo6+Hlv+lQbdlAYsiJPHzUthLm1RUjnBzWOs45cw==} + engines: {node: '>=10.2.0'} dependencies: '@types/cookie': 0.4.1 - '@types/cors': 2.8.13 - '@types/node': 18.15.11 + '@types/cors': 2.8.14 + '@types/node': 18.18.5 accepts: 1.3.8 base64id: 2.0.0 cookie: 0.4.2 cors: 2.8.5 debug: 4.3.4 - engine.io-parser: 5.0.6 + engine.io-parser: 5.2.1 ws: 8.11.0 transitivePeerDependencies: - bufferutil @@ -3848,20 +4309,23 @@ packages: - utf-8-validate dev: true - /enhanced-resolve@5.12.0: - resolution: {integrity: sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ==} + /enhanced-resolve@5.15.0: + resolution: {integrity: sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==} engines: {node: '>=10.13.0'} dependencies: graceful-fs: 4.2.11 tapable: 2.2.1 dev: true - /ent@2.2.0: - resolution: {integrity: sha512-GHrMyVZQWvTIdDtpiEXdHZnFQKzeO09apj8Cbl4pKWy4i0Oprcq17usfDt5aO63swf0JOeMWjWQE/LzgSRuWpA==} + /enquirer@2.3.6: + resolution: {integrity: sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==} + engines: {node: '>=8.6'} + dependencies: + ansi-colors: 4.1.3 dev: true - /entities@2.2.0: - resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==} + /ent@2.2.0: + resolution: {integrity: sha512-GHrMyVZQWvTIdDtpiEXdHZnFQKzeO09apj8Cbl4pKWy4i0Oprcq17usfDt5aO63swf0JOeMWjWQE/LzgSRuWpA==} dev: true /entities@4.5.0: @@ -3893,44 +4357,44 @@ packages: is-arrayish: 0.2.1 dev: true - /es-module-lexer@0.9.3: - resolution: {integrity: sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==} + /es-module-lexer@1.3.1: + resolution: {integrity: sha512-JUFAyicQV9mXc3YRxPnDlrfBKpqt6hUYzz9/boprUJHs4e4KVr3XwOF70doO6gwXUor6EWZJAyWAfKki84t20Q==} dev: true - /esbuild-wasm@0.17.8: - resolution: {integrity: sha512-zCmpxv95E0FuCmvdw1K836UHnj4EdiQnFfjTby35y3LAjRPtXMj3sbHDRHjbD8Mqg5lTwq3knacr/1qIFU51CQ==} + /esbuild-wasm@0.18.17: + resolution: {integrity: sha512-9OHGcuRzy+I8ziF9FzjfKLWAPbvi0e/metACVg9k6bK+SI4FFxeV6PcZsz8RIVaMD4YNehw+qj6UMR3+qj/EuQ==} engines: {node: '>=12'} hasBin: true dev: true - /esbuild@0.17.8: - resolution: {integrity: sha512-g24ybC3fWhZddZK6R3uD2iF/RIPnRpwJAqLov6ouX3hMbY4+tKolP0VMF3zuIYCaXun+yHwS5IPQ91N2BT191g==} + /esbuild@0.18.17: + resolution: {integrity: sha512-1GJtYnUxsJreHYA0Y+iQz2UEykonY66HNWOb0yXYZi9/kNrORUEHVg87eQsCtqh59PEJ5YVZJO98JHznMJSWjg==} engines: {node: '>=12'} hasBin: true requiresBuild: true optionalDependencies: - '@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-arm': 0.18.17 + '@esbuild/android-arm64': 0.18.17 + '@esbuild/android-x64': 0.18.17 + '@esbuild/darwin-arm64': 0.18.17 + '@esbuild/darwin-x64': 0.18.17 + '@esbuild/freebsd-arm64': 0.18.17 + '@esbuild/freebsd-x64': 0.18.17 + '@esbuild/linux-arm': 0.18.17 + '@esbuild/linux-arm64': 0.18.17 + '@esbuild/linux-ia32': 0.18.17 + '@esbuild/linux-loong64': 0.18.17 + '@esbuild/linux-mips64el': 0.18.17 + '@esbuild/linux-ppc64': 0.18.17 + '@esbuild/linux-riscv64': 0.18.17 + '@esbuild/linux-s390x': 0.18.17 + '@esbuild/linux-x64': 0.18.17 + '@esbuild/netbsd-x64': 0.18.17 + '@esbuild/openbsd-x64': 0.18.17 + '@esbuild/sunos-x64': 0.18.17 + '@esbuild/win32-arm64': 0.18.17 + '@esbuild/win32-ia32': 0.18.17 + '@esbuild/win32-x64': 0.18.17 dev: true /escalade@3.1.1: @@ -3952,13 +4416,25 @@ packages: engines: {node: '>=10'} dev: true - /eslint-config-prettier@8.8.0(eslint@8.38.0): - resolution: {integrity: sha512-wLbQiFre3tdGgpDv67NQKnJuTlcUVYHas3k+DZCc2U2BadthoEY4B7hLPvAxaqdyOGCzuLfii2fqGph10va7oA==} + /escodegen@2.1.0: + resolution: {integrity: sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==} + engines: {node: '>=6.0'} + hasBin: true + dependencies: + esprima: 4.0.1 + estraverse: 5.3.0 + esutils: 2.0.3 + optionalDependencies: + source-map: 0.6.1 + dev: true + + /eslint-config-prettier@8.10.0(eslint@8.51.0): + resolution: {integrity: sha512-SM8AMJdeQqRYT9O9zguiruQZaN7+z+E4eAP9oiLNGKMtomwaB1E9dcgUD6ZAn/eQAb52USbvezbiljfZUhbJcg==} hasBin: true peerDependencies: eslint: '>=7.0.0' dependencies: - eslint: 8.38.0 + eslint: 8.51.0 dev: true /eslint-plugin-html@7.1.0: @@ -3967,7 +4443,7 @@ packages: htmlparser2: 8.0.2 dev: true - /eslint-plugin-prettier@4.2.1(eslint-config-prettier@8.8.0)(eslint@8.38.0)(prettier@2.8.7): + /eslint-plugin-prettier@4.2.1(eslint-config-prettier@8.10.0)(eslint@8.51.0)(prettier@2.8.8): resolution: {integrity: sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==} engines: {node: '>=12.0.0'} peerDependencies: @@ -3978,9 +4454,9 @@ packages: eslint-config-prettier: optional: true dependencies: - eslint: 8.38.0 - eslint-config-prettier: 8.8.0(eslint@8.38.0) - prettier: 2.8.7 + eslint: 8.51.0 + eslint-config-prettier: 8.10.0(eslint@8.51.0) + prettier: 2.8.8 prettier-linter-helpers: 1.0.0 dev: true @@ -3992,29 +4468,29 @@ packages: estraverse: 4.3.0 dev: true - /eslint-scope@7.2.0: - resolution: {integrity: sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==} + /eslint-scope@7.2.2: + resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: esrecurse: 4.3.0 estraverse: 5.3.0 dev: true - /eslint-visitor-keys@3.4.0: - resolution: {integrity: sha512-HPpKPUBQcAsZOsHAFwTtIKcYlCje62XB7SEAcxjtmW6TD1WVpkS6i6/hOVtTZIl4zGj/mBqpFVGvaDneik+VoQ==} + /eslint-visitor-keys@3.4.3: + resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /eslint@8.38.0: - resolution: {integrity: sha512-pIdsD2jwlUGf/U38Jv97t8lq6HpaU/G9NKbYmpWpZGw3LdTNhZLbJePqxOXGB5+JEKfOPU/XLxYxFh03nr1KTg==} + /eslint@8.51.0: + resolution: {integrity: sha512-2WuxRZBrlwnXi+/vFSJyjMqrNjtJqiasMzehF0shoLaW7DzS3/9Yvrmq5JiT66+pNjiX4UBnLDiKHcWAr/OInA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} hasBin: true dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.38.0) - '@eslint-community/regexpp': 4.5.0 - '@eslint/eslintrc': 2.0.2 - '@eslint/js': 8.38.0 - '@humanwhocodes/config-array': 0.11.8 + '@eslint-community/eslint-utils': 4.4.0(eslint@8.51.0) + '@eslint-community/regexpp': 4.9.1 + '@eslint/eslintrc': 2.1.2 + '@eslint/js': 8.51.0 + '@humanwhocodes/config-array': 0.11.11 '@humanwhocodes/module-importer': 1.0.1 '@nodelib/fs.walk': 1.2.8 ajv: 6.12.6 @@ -4023,44 +4499,41 @@ packages: debug: 4.3.4 doctrine: 3.0.0 escape-string-regexp: 4.0.0 - eslint-scope: 7.2.0 - eslint-visitor-keys: 3.4.0 - espree: 9.5.1 + eslint-scope: 7.2.2 + eslint-visitor-keys: 3.4.3 + espree: 9.6.1 esquery: 1.5.0 esutils: 2.0.3 fast-deep-equal: 3.1.3 file-entry-cache: 6.0.1 find-up: 5.0.0 glob-parent: 6.0.2 - globals: 13.20.0 - grapheme-splitter: 1.0.4 + globals: 13.23.0 + graphemer: 1.4.0 ignore: 5.2.4 - import-fresh: 3.3.0 imurmurhash: 0.1.4 is-glob: 4.0.3 is-path-inside: 3.0.3 - js-sdsl: 4.4.0 js-yaml: 4.1.0 json-stable-stringify-without-jsonify: 1.0.1 levn: 0.4.1 lodash.merge: 4.6.2 minimatch: 3.1.2 natural-compare: 1.4.0 - optionator: 0.9.1 + optionator: 0.9.3 strip-ansi: 6.0.1 - strip-json-comments: 3.1.1 text-table: 0.2.0 transitivePeerDependencies: - supports-color dev: true - /espree@9.5.1: - resolution: {integrity: sha512-5yxtHSZXRSW5pvv3hAlXM5+/Oswi1AUFqBmbibKb5s6bp3rGIDkyXU6xCoyuuLhijr4SFwPrXRoZjz0AZDN9tg==} + /espree@9.6.1: + resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - acorn: 8.8.2 - acorn-jsx: 5.3.2(acorn@8.8.2) - eslint-visitor-keys: 3.4.0 + acorn: 8.10.0 + acorn-jsx: 5.3.2(acorn@8.10.0) + eslint-visitor-keys: 3.4.3 dev: true /esprima@4.0.1: @@ -4131,6 +4604,10 @@ packages: strip-final-newline: 2.0.0 dev: true + /exponential-backoff@3.1.1: + resolution: {integrity: sha512-dX7e/LHVJ6W3DE1MHWi9S1EYzDESENfLrYohG2G++ovZrYOkm4Knwa0mc1cn84xJOR4KEU0WSchhLbd0UklbHw==} + dev: true + /express@4.18.2: resolution: {integrity: sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==} engines: {node: '>= 0.10.0'} @@ -4192,7 +4669,7 @@ packages: get-stream: 5.2.0 yauzl: 2.10.0 optionalDependencies: - '@types/yauzl': 2.10.0 + '@types/yauzl': 2.10.1 transitivePeerDependencies: - supports-color dev: true @@ -4201,12 +4678,23 @@ packages: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} dev: true - /fast-diff@1.2.0: - resolution: {integrity: sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==} + /fast-diff@1.3.0: + resolution: {integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==} + dev: true + + /fast-glob@3.2.7: + resolution: {integrity: sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==} + engines: {node: '>=8'} + dependencies: + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.5 dev: true - /fast-glob@3.2.12: - resolution: {integrity: sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==} + /fast-glob@3.3.1: + resolution: {integrity: sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==} engines: {node: '>=8.6.0'} dependencies: '@nodelib/fs.stat': 2.0.5 @@ -4259,7 +4747,13 @@ packages: resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} engines: {node: ^10.12.0 || >=12.0.0} dependencies: - flat-cache: 3.0.4 + flat-cache: 3.1.1 + dev: true + + /filelist@1.0.4: + resolution: {integrity: sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==} + dependencies: + minimatch: 5.1.6 dev: true /fill-range@7.0.1: @@ -4299,13 +4793,12 @@ packages: - supports-color dev: true - /find-cache-dir@3.3.2: - resolution: {integrity: sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==} - engines: {node: '>=8'} + /find-cache-dir@4.0.0: + resolution: {integrity: sha512-9ZonPT4ZAK4a+1pUPVPZJapbi7O5qbbJPdYw/NOQWZZbVLdDTYM3A4R9z/DpAM08IDaFGsvPgiGZ82WEwUDWjg==} + engines: {node: '>=14.16'} dependencies: - commondir: 1.0.1 - make-dir: 3.1.0 - pkg-dir: 4.2.0 + common-path-prefix: 3.0.0 + pkg-dir: 7.0.0 dev: true /find-up@4.1.0: @@ -4324,20 +4817,34 @@ packages: path-exists: 4.0.0 dev: true - /flat-cache@3.0.4: - resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==} - engines: {node: ^10.12.0 || >=12.0.0} + /find-up@6.3.0: + resolution: {integrity: sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + locate-path: 7.2.0 + path-exists: 5.0.0 + dev: true + + /flat-cache@3.1.1: + resolution: {integrity: sha512-/qM2b3LUIaIgviBQovTLvijfyOQXPtSRnRK26ksj2J7rzPIecePUIpJsZ4T02Qg+xiAEKIs5K8dsHEd+VaKa/Q==} + engines: {node: '>=12.0.0'} dependencies: - flatted: 3.2.7 + flatted: 3.2.9 + keyv: 4.5.4 rimraf: 3.0.2 dev: true - /flatted@3.2.7: - resolution: {integrity: sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==} + /flat@5.0.2: + resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==} + hasBin: true + dev: true + + /flatted@3.2.9: + resolution: {integrity: sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==} dev: true - /follow-redirects@1.15.2: - resolution: {integrity: sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==} + /follow-redirects@1.15.3: + resolution: {integrity: sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==} engines: {node: '>=4.0'} peerDependencies: debug: '*' @@ -4346,13 +4853,39 @@ packages: optional: true dev: true + /foreground-child@3.1.1: + resolution: {integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==} + engines: {node: '>=14'} + dependencies: + cross-spawn: 7.0.3 + signal-exit: 4.1.0 + dev: true + + /form-data@3.0.1: + resolution: {integrity: sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==} + engines: {node: '>= 6'} + dependencies: + asynckit: 0.4.0 + combined-stream: 1.0.8 + mime-types: 2.1.35 + dev: true + + /form-data@4.0.0: + resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} + engines: {node: '>= 6'} + dependencies: + asynckit: 0.4.0 + combined-stream: 1.0.8 + mime-types: 2.1.35 + dev: true + /forwarded@0.2.0: resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} engines: {node: '>= 0.6'} dev: true - /fraction.js@4.2.0: - resolution: {integrity: sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==} + /fraction.js@4.3.7: + resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==} dev: true /fresh@0.5.2: @@ -4364,6 +4897,15 @@ packages: resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} dev: true + /fs-extra@11.1.1: + resolution: {integrity: sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==} + engines: {node: '>=14.14'} + dependencies: + graceful-fs: 4.2.11 + jsonfile: 6.1.0 + universalify: 2.0.0 + dev: true + /fs-extra@8.1.0: resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} engines: {node: '>=6 <7 || >=8'} @@ -4380,31 +4922,31 @@ packages: minipass: 3.3.6 dev: true - /fs-minipass@3.0.1: - resolution: {integrity: sha512-MhaJDcFRTuLidHrIttu0RDGyyXs/IYHVmlcxfLAEFIWjc1vdLAkdwT7Ace2u7DbitWC0toKMl5eJZRYNVreIMw==} + /fs-minipass@3.0.3: + resolution: {integrity: sha512-XUBA9XClHbnJWSfBzjkm6RvPsyg3sryZt06BEQoXcF7EK/xpGaQYJgQKDJSUH5SGZ76Y7pFx1QBnXz09rU5Fbw==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: - minipass: 4.2.8 + minipass: 7.0.4 dev: true - /fs-monkey@1.0.3: - resolution: {integrity: sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q==} + /fs-monkey@1.0.5: + resolution: {integrity: sha512-8uMbBjrhzW76TYgEV27Y5E//W2f/lTFmx78P2w19FZSxarhI/798APGQyuGCwmkNxgwGRhrLfvWyLBvNtuOmew==} dev: true /fs.realpath@1.0.0: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} dev: true - /fsevents@2.3.2: - resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} + /fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} os: [darwin] requiresBuild: true dev: true optional: true - /function-bind@1.1.1: - resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} + /function-bind@1.1.2: + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} dev: true /gauge@4.0.4: @@ -4431,11 +4973,12 @@ packages: engines: {node: 6.* || 8.* || >= 10.*} dev: true - /get-intrinsic@1.2.0: - resolution: {integrity: sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==} + /get-intrinsic@1.2.1: + resolution: {integrity: sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==} dependencies: - function-bind: 1.1.1 - has: 1.0.3 + function-bind: 1.1.2 + has: 1.0.4 + has-proto: 1.0.1 has-symbols: 1.0.3 dev: true @@ -4474,8 +5017,20 @@ packages: resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} dev: true - /glob@7.2.3: - resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + /glob@10.3.10: + resolution: {integrity: sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==} + engines: {node: '>=16 || 14 >=14.17'} + hasBin: true + dependencies: + foreground-child: 3.1.1 + jackspeak: 2.3.6 + minimatch: 9.0.3 + minipass: 7.0.4 + path-scurry: 1.10.1 + dev: true + + /glob@7.1.4: + resolution: {integrity: sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==} dependencies: fs.realpath: 1.0.0 inflight: 1.0.6 @@ -4485,25 +5040,15 @@ packages: path-is-absolute: 1.0.1 dev: true - /glob@8.1.0: - resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} - engines: {node: '>=12'} + /glob@7.2.3: + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} dependencies: fs.realpath: 1.0.0 inflight: 1.0.6 inherits: 2.0.4 - minimatch: 5.1.6 + minimatch: 3.1.2 once: 1.4.0 - dev: true - - /glob@9.3.5: - resolution: {integrity: sha512-e1LleDykUz2Iu+MTYdkSsuWX8lvAjAcs0Xef0lNIu0S2wOAzuTxCJtcd9S3cijlwYF18EsU3rzb8jPVobxDh9Q==} - engines: {node: '>=16 || 14 >=14.17'} - dependencies: - fs.realpath: 1.0.0 - minimatch: 8.0.4 - minipass: 4.2.8 - path-scurry: 1.6.4 + path-is-absolute: 1.0.1 dev: true /global-modules@2.0.0: @@ -4527,8 +5072,8 @@ packages: engines: {node: '>=4'} dev: true - /globals@13.20.0: - resolution: {integrity: sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==} + /globals@13.23.0: + resolution: {integrity: sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==} engines: {node: '>=8'} dependencies: type-fest: 0.20.2 @@ -4540,18 +5085,18 @@ packages: dependencies: array-union: 2.1.0 dir-glob: 3.0.1 - fast-glob: 3.2.12 + fast-glob: 3.3.1 ignore: 5.2.4 merge2: 1.4.1 slash: 3.0.0 dev: true - /globby@13.1.4: - resolution: {integrity: sha512-iui/IiiW+QrJ1X1hKH5qwlMQyv34wJAYwH1vrf8b9kBA4sNiif3gKsMHa+BrdnOpEudWjpotfa7LrTzB1ERS/g==} + /globby@13.2.2: + resolution: {integrity: sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: dir-glob: 3.0.1 - fast-glob: 3.2.12 + fast-glob: 3.3.1 ignore: 5.2.4 merge2: 1.4.1 slash: 4.0.0 @@ -4565,8 +5110,22 @@ packages: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} dev: true - /grapheme-splitter@1.0.4: - resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==} + /graphemer@1.4.0: + resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} + dev: true + + /guess-parser@0.4.22(typescript@4.9.5): + resolution: {integrity: sha512-KcUWZ5ACGaBM69SbqwVIuWGoSAgD+9iJnchR9j/IarVI1jHVeXv+bUXBIMeqVMSKt3zrn0Dgf9UpcOEpPBLbSg==} + peerDependencies: + typescript: '>=3.7.5' + dependencies: + '@wessberg/ts-evaluator': 0.0.27(typescript@4.9.5) + typescript: 4.9.5 + transitivePeerDependencies: + - bufferutil + - canvas + - supports-color + - utf-8-validate dev: true /handle-thing@2.0.1: @@ -4588,6 +5147,11 @@ packages: engines: {node: '>=8'} dev: true + /has-proto@1.0.1: + resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==} + engines: {node: '>= 0.4'} + dev: true + /has-symbols@1.0.3: resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} engines: {node: '>= 0.4'} @@ -4597,11 +5161,9 @@ packages: resolution: {integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==} dev: true - /has@1.0.3: - resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} + /has@1.0.4: + resolution: {integrity: sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ==} engines: {node: '>= 0.4.0'} - dependencies: - function-bind: 1.1.1 dev: true /hdr-histogram-js@2.0.3: @@ -4616,10 +5178,6 @@ packages: resolution: {integrity: sha512-7kIufnBqdsBGcSZLPJwqHT3yhk1QTsSlFsVD3kx5ixH/AlgBs9yM1q6DPhXZ8f8gtdqgh7N7/5btRLpQsS2gHw==} dev: true - /hosted-git-info@2.8.9: - resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} - dev: true - /hosted-git-info@4.1.0: resolution: {integrity: sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==} engines: {node: '>=10'} @@ -4643,8 +5201,15 @@ packages: wbuf: 1.7.3 dev: true - /html-entities@2.3.3: - resolution: {integrity: sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA==} + /html-encoding-sniffer@2.0.1: + resolution: {integrity: sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==} + engines: {node: '>=10'} + dependencies: + whatwg-encoding: 1.0.5 + dev: true + + /html-entities@2.4.0: + resolution: {integrity: sha512-igBTJcNNNhvZFRtm8uA6xMY6xYleeDwn3PeBCkDz7tHttv4F2hsDI2aPgNERWzvRcNYHNT3ymRaQzllmXj4YsQ==} dev: true /html-escaper@2.0.2: @@ -4661,7 +5226,7 @@ packages: dependencies: domelementtype: 2.3.0 domhandler: 5.0.3 - domutils: 3.0.1 + domutils: 3.1.0 entities: 4.5.0 dev: true @@ -4698,6 +5263,17 @@ packages: resolution: {integrity: sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==} dev: true + /http-proxy-agent@4.0.1: + resolution: {integrity: sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==} + engines: {node: '>= 6'} + dependencies: + '@tootallnate/once': 1.1.2 + agent-base: 6.0.2 + debug: 4.3.4 + transitivePeerDependencies: + - supports-color + dev: true + /http-proxy-agent@5.0.0: resolution: {integrity: sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==} engines: {node: '>= 6'} @@ -4709,7 +5285,7 @@ packages: - supports-color dev: true - /http-proxy-middleware@2.0.6(@types/express@4.17.17): + /http-proxy-middleware@2.0.6(@types/express@4.17.19): resolution: {integrity: sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==} engines: {node: '>=12.0.0'} peerDependencies: @@ -4718,8 +5294,8 @@ packages: '@types/express': optional: true dependencies: - '@types/express': 4.17.17 - '@types/http-proxy': 1.17.10 + '@types/express': 4.17.19 + '@types/http-proxy': 1.17.12 http-proxy: 1.18.1 is-glob: 4.0.3 is-plain-obj: 3.0.0 @@ -4733,7 +5309,7 @@ packages: engines: {node: '>=8.0.0'} dependencies: eventemitter3: 4.0.7 - follow-redirects: 1.15.2 + follow-redirects: 1.15.3 requires-port: 1.0.0 transitivePeerDependencies: - debug @@ -4774,24 +5350,24 @@ packages: safer-buffer: 2.1.2 dev: true - /icss-utils@5.1.0(postcss@8.4.21): + /icss-utils@5.1.0(postcss@8.4.31): resolution: {integrity: sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - postcss: 8.4.21 + postcss: 8.4.31 dev: true /ieee754@1.2.1: resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} dev: true - /ignore-walk@6.0.2: - resolution: {integrity: sha512-ezmQ1Dg2b3jVZh2Dh+ar6Eu2MqNSTkyb32HU2MAQQQX9tKM3q/UQ/9lf03lQ5hW+fOeoMnwxwkleZ0xcNp0/qg==} + /ignore-walk@6.0.3: + resolution: {integrity: sha512-C7FfFoTA+bI10qfeydT8aZbvr91vAEU+2W5BZUlzPec47oNb07SsOfwYrtxuvOYdUApPP/Qlh4DtAO51Ekk2QA==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: - minimatch: 7.4.6 + minimatch: 9.0.3 dev: true /ignore@5.2.4: @@ -4807,8 +5383,8 @@ packages: dev: true optional: true - /immutable@4.3.0: - resolution: {integrity: sha512-0AOCmOip+xgJwEVTQj1EfiDDOkPmuyllDuTuEX+DDXUgapLAsBIfkg3sxCYyCEA8mQqZrrxPUGjcOQ2JS3WLkg==} + /immutable@4.3.4: + resolution: {integrity: sha512-fsXeu4J4i6WNWSikpI88v/PcVflZz+6kMhUfIwc5SY+poQRPnaf5V7qds6SUyUN3cVxEzuCab7QIoLOQ+DQ1wA==} dev: true /import-fresh@3.3.0: @@ -4834,8 +5410,9 @@ packages: engines: {node: '>=8'} dev: true - /infer-owner@1.0.4: - resolution: {integrity: sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==} + /indent-string@5.0.0: + resolution: {integrity: sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==} + engines: {node: '>=12'} dev: true /inflight@1.0.6: @@ -4857,9 +5434,9 @@ packages: resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} dev: true - /ini@3.0.1: - resolution: {integrity: sha512-it4HyVAUTKBc6m8e1iXWvXSTdndF7HbdN713+kvLrymxTaU4AUBWrJ4vEooP+V7fexnVD3LKcBshjGGPefSMUQ==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + /ini@4.1.1: + resolution: {integrity: sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dev: true /inquirer@8.2.4: @@ -4876,7 +5453,7 @@ packages: mute-stream: 0.0.8 ora: 5.4.1 run-async: 2.4.1 - rxjs: 7.8.0 + rxjs: 7.8.1 string-width: 4.2.3 strip-ansi: 6.0.1 through: 2.3.8 @@ -4892,8 +5469,8 @@ packages: engines: {node: '>= 0.10'} dev: true - /ipaddr.js@2.0.1: - resolution: {integrity: sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng==} + /ipaddr.js@2.1.0: + resolution: {integrity: sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ==} engines: {node: '>= 10'} dev: true @@ -4908,10 +5485,10 @@ packages: binary-extensions: 2.2.0 dev: true - /is-core-module@2.12.0: - resolution: {integrity: sha512-RECHCBCd/viahWmwj6enj19sKbHfJrddi/6cBDsNTKbNq0f7VeaUkBo60BqzvPqo/W54ChS62Z5qyun7cfOMqQ==} + /is-core-module@2.13.0: + resolution: {integrity: sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==} dependencies: - has: 1.0.3 + has: 1.0.4 dev: true /is-docker@2.2.1: @@ -4978,6 +5555,10 @@ packages: engines: {node: '>=0.10.0'} dev: true + /is-potential-custom-element-name@1.0.1: + resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==} + dev: true + /is-stream@2.0.1: resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} engines: {node: '>=8'} @@ -5026,21 +5607,21 @@ packages: resolution: {integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==} engines: {node: '>=8'} dependencies: - '@babel/core': 7.21.4 - '@babel/parser': 7.21.4 + '@babel/core': 7.23.2 + '@babel/parser': 7.23.0 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.0 - semver: 6.3.0 + semver: 6.3.1 transitivePeerDependencies: - supports-color dev: true - /istanbul-lib-report@3.0.0: - resolution: {integrity: sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==} - engines: {node: '>=8'} + /istanbul-lib-report@3.0.1: + resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==} + engines: {node: '>=10'} dependencies: istanbul-lib-coverage: 3.2.0 - make-dir: 3.1.0 + make-dir: 4.0.0 supports-color: 7.2.0 dev: true @@ -5055,12 +5636,32 @@ packages: - supports-color dev: true - /istanbul-reports@3.1.5: - resolution: {integrity: sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==} + /istanbul-reports@3.1.6: + resolution: {integrity: sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg==} engines: {node: '>=8'} dependencies: html-escaper: 2.0.2 - istanbul-lib-report: 3.0.0 + istanbul-lib-report: 3.0.1 + dev: true + + /jackspeak@2.3.6: + resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==} + engines: {node: '>=14'} + dependencies: + '@isaacs/cliui': 8.0.2 + optionalDependencies: + '@pkgjs/parseargs': 0.11.0 + dev: true + + /jake@10.8.7: + resolution: {integrity: sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w==} + engines: {node: '>=10'} + hasBin: true + dependencies: + async: 3.2.4 + chalk: 4.1.2 + filelist: 1.0.4 + minimatch: 3.1.2 dev: true /jasmine-core@4.5.0: @@ -5071,13 +5672,14 @@ packages: resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} engines: {node: '>= 10.13.0'} dependencies: - '@types/node': 18.15.11 + '@types/node': 18.18.5 merge-stream: 2.0.0 supports-color: 8.1.1 dev: true - /js-sdsl@4.4.0: - resolution: {integrity: sha512-FfVSdx6pJ41Oa+CF7RDaFmTnCaFhua+SNYQX74riGOpl96x+2jQCqEfQ2bnXu/5DPCqlRuiqyvTJM0Qjz26IVg==} + /jiti@1.20.0: + resolution: {integrity: sha512-3TV69ZbrvV6U5DfQimop50jE9Dl6J8O1ja1dvBbMba/sZ3YBEQqJ2VZRoQPVnhlzjNtU1vaXRZVrVjU4qtm8yA==} + hasBin: true dev: true /js-tokens@4.0.0: @@ -5099,6 +5701,48 @@ packages: argparse: 2.0.1 dev: true + /jsdom@16.7.0: + resolution: {integrity: sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==} + engines: {node: '>=10'} + peerDependencies: + canvas: ^2.5.0 + peerDependenciesMeta: + canvas: + optional: true + dependencies: + abab: 2.0.6 + acorn: 8.10.0 + acorn-globals: 6.0.0 + cssom: 0.4.4 + cssstyle: 2.3.0 + data-urls: 2.0.0 + decimal.js: 10.4.3 + domexception: 2.0.1 + escodegen: 2.1.0 + form-data: 3.0.1 + html-encoding-sniffer: 2.0.1 + http-proxy-agent: 4.0.1 + https-proxy-agent: 5.0.1 + is-potential-custom-element-name: 1.0.1 + nwsapi: 2.2.7 + parse5: 6.0.1 + saxes: 5.0.1 + symbol-tree: 3.2.4 + tough-cookie: 4.1.3 + w3c-hr-time: 1.0.2 + w3c-xmlserializer: 2.0.0 + webidl-conversions: 6.1.0 + whatwg-encoding: 1.0.5 + whatwg-mimetype: 2.3.0 + whatwg-url: 8.7.0 + ws: 7.5.9 + xml-name-validator: 3.0.0 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + dev: true + /jsesc@0.5.0: resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==} hasBin: true @@ -5110,6 +5754,10 @@ packages: hasBin: true dev: true + /json-buffer@3.0.1: + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} + dev: true + /json-parse-even-better-errors@2.3.1: resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} dev: true @@ -5147,6 +5795,14 @@ packages: graceful-fs: 4.2.11 dev: true + /jsonfile@6.1.0: + resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} + dependencies: + universalify: 2.0.0 + optionalDependencies: + graceful-fs: 4.2.11 + dev: true + /jsonparse@1.3.1: resolution: {integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==} engines: {'0': node >= 0.2.0} @@ -5158,21 +5814,21 @@ packages: which: 1.3.1 dev: true - /karma-coverage@2.2.0: - resolution: {integrity: sha512-gPVdoZBNDZ08UCzdMHHhEImKrw1+PAOQOIiffv1YsvxFhBjqvo/SVXNk4tqn1SYqX0BJZT6S/59zgxiBe+9OuA==} + /karma-coverage@2.2.1: + resolution: {integrity: sha512-yj7hbequkQP2qOSb20GuNSIyE//PgJWHwC2IydLE6XRtsnaflv+/OSGNssPjobYUlhVVagy99TQpqUt3vAUG7A==} engines: {node: '>=10.0.0'} dependencies: istanbul-lib-coverage: 3.2.0 istanbul-lib-instrument: 5.2.1 - istanbul-lib-report: 3.0.0 + istanbul-lib-report: 3.0.1 istanbul-lib-source-maps: 4.0.1 - istanbul-reports: 3.1.5 + istanbul-reports: 3.1.6 minimatch: 3.1.2 transitivePeerDependencies: - supports-color dev: true - /karma-jasmine-html-reporter@2.0.0(jasmine-core@4.5.0)(karma-jasmine@5.1.0)(karma@6.4.1): + /karma-jasmine-html-reporter@2.0.0(jasmine-core@4.5.0)(karma-jasmine@5.1.0)(karma@6.4.2): resolution: {integrity: sha512-SB8HNNiazAHXM1vGEzf8/tSyEhkfxuDdhYdPBX2Mwgzt0OuF2gicApQ+uvXLID/gXyJQgvrM9+1/2SxZFUUDIA==} peerDependencies: jasmine-core: ^4.0.0 @@ -5180,18 +5836,18 @@ packages: karma-jasmine: ^5.0.0 dependencies: jasmine-core: 4.5.0 - karma: 6.4.1 - karma-jasmine: 5.1.0(karma@6.4.1) + karma: 6.4.2 + karma-jasmine: 5.1.0(karma@6.4.2) dev: true - /karma-jasmine@5.1.0(karma@6.4.1): + /karma-jasmine@5.1.0(karma@6.4.2): resolution: {integrity: sha512-i/zQLFrfEpRyQoJF9fsCdTMOF5c2dK7C7OmsuKg2D0YSsuZSfQDiLuaiktbuio6F2wiCsZSnSnieIQ0ant/uzQ==} engines: {node: '>=12'} peerDependencies: karma: ^6.0.0 dependencies: jasmine-core: 4.5.0 - karma: 6.4.1 + karma: 6.4.2 dev: true /karma-source-map-support@1.4.0: @@ -5200,8 +5856,8 @@ packages: source-map-support: 0.5.21 dev: true - /karma@6.4.1: - resolution: {integrity: sha512-Cj57NKOskK7wtFWSlMvZf459iX+kpYIPXmkNUzP2WAFcA7nhr/ALn5R7sw3w+1udFDcpMx/tuB8d5amgm3ijaA==} + /karma@6.4.2: + resolution: {integrity: sha512-C6SU/53LB31BEgRg+omznBEMY4SjHU3ricV6zBcAe1EeILKkeScr+fZXtaI5WyDbkVowJxxAI6h73NcFPmXolQ==} engines: {node: '>= 10'} hasBin: true dependencies: @@ -5224,10 +5880,10 @@ packages: qjobs: 1.2.0 range-parser: 1.2.1 rimraf: 3.0.2 - socket.io: 4.6.1 + socket.io: 4.7.2 source-map: 0.6.1 tmp: 0.2.1 - ua-parser-js: 0.7.35 + ua-parser-js: 0.7.36 yargs: 16.2.0 transitivePeerDependencies: - bufferutil @@ -5236,6 +5892,12 @@ packages: - utf-8-validate dev: true + /keyv@4.5.4: + resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} + dependencies: + json-buffer: 3.0.1 + dev: true + /kind-of@6.0.3: resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} engines: {node: '>=0.10.0'} @@ -5246,11 +5908,18 @@ packages: engines: {node: '>= 8'} dev: true - /known-css-properties@0.27.0: - resolution: {integrity: sha512-uMCj6+hZYDoffuvAJjFAPz56E9uoowFHmTkqRtRq5WyC5Q6Cu/fTZKNQpX/RbzChBYLLl3lo8CjFZBAZXq9qFg==} + /known-css-properties@0.28.0: + resolution: {integrity: sha512-9pSL5XB4J+ifHP0e0jmmC98OGC1nL8/JjS+fi6mnTlIf//yt/MfVLtKg7S6nCtj/8KTcWX7nRlY0XywoYY1ISQ==} + dev: true + + /launch-editor@2.6.1: + resolution: {integrity: sha512-eB/uXmFVpY4zezmGp5XtU21kwo7GBbKB+EQ+UZeWtGb9yAM5xt/Evk+lYH3eRNAtId+ej4u7TYPFZ07w4s7rRw==} + dependencies: + picocolors: 1.0.0 + shell-quote: 1.8.1 dev: true - /less-loader@11.1.0(less@4.1.3)(webpack@5.76.1): + /less-loader@11.1.0(less@4.1.3)(webpack@5.88.2): resolution: {integrity: sha512-C+uDBV7kS7W5fJlUjq5mPBeBVhYpTIm5gB09APT9o3n/ILeaXVsiSFTbZpTJCJwQ/Crczfn3DmfQFwxYusWFug==} engines: {node: '>= 14.15.0'} peerDependencies: @@ -5259,7 +5928,7 @@ packages: dependencies: klona: 2.0.6 less: 4.1.3 - webpack: 5.76.1(esbuild@0.17.8) + webpack: 5.88.2(esbuild@0.18.17) dev: true /less@4.1.3: @@ -5269,7 +5938,7 @@ packages: dependencies: copy-anything: 2.0.6 parse-node-version: 1.0.1 - tslib: 2.5.0 + tslib: 2.6.2 optionalDependencies: errno: 0.1.8 graceful-fs: 4.2.11 @@ -5290,7 +5959,7 @@ packages: type-check: 0.4.0 dev: true - /license-webpack-plugin@4.0.2(webpack@5.76.1): + /license-webpack-plugin@4.0.2(webpack@5.88.2): resolution: {integrity: sha512-771TFWFD70G1wLTC4oU2Cw4qvtmNrIw+wRvBtn+okgHl7slJVi7zfNcdmqDL72BojM30VNJ2UHylr1o77U37Jw==} peerDependencies: webpack: '*' @@ -5300,7 +5969,7 @@ packages: webpack-sources: optional: true dependencies: - webpack: 5.76.1(esbuild@0.17.8) + webpack: 5.88.2(esbuild@0.18.17) webpack-sources: 3.2.3 dev: true @@ -5308,6 +5977,11 @@ packages: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} dev: true + /lines-and-columns@2.0.3: + resolution: {integrity: sha512-cNOjgCnLB+FnvWWtyRTzmB3POJ+cXxTA81LoW7u8JdmhfXzriropYwpjShnz1QLLWsQwY7nIxoDmcPTwphDK9w==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dev: true + /loader-runner@4.3.0: resolution: {integrity: sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==} engines: {node: '>=6.11.5'} @@ -5341,6 +6015,13 @@ packages: p-locate: 5.0.0 dev: true + /locate-path@7.2.0: + resolution: {integrity: sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + p-locate: 6.0.0 + dev: true + /lodash.debounce@4.0.8: resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} dev: true @@ -5371,13 +6052,18 @@ packages: dependencies: date-format: 4.0.14 debug: 4.3.4 - flatted: 3.2.7 + flatted: 3.2.9 rfdc: 1.3.0 streamroller: 3.1.5 transitivePeerDependencies: - supports-color dev: true + /lru-cache@10.0.1: + resolution: {integrity: sha512-IJ4uwUTi2qCccrioU6g9g/5rvvVl13bsdczUUcqbciD9iLr095yj8DQKdObriEvuNSx325N1rV1O0sJFszx75g==} + engines: {node: 14 || >=16.14} + dev: true + /lru-cache@5.1.1: resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} dependencies: @@ -5396,20 +6082,8 @@ packages: engines: {node: '>=12'} dev: true - /lru-cache@9.0.1: - resolution: {integrity: sha512-C8QsKIN1UIXeOs3iWmiZ1lQY+EnKDojWd37fXy1aSbJvH4iSma1uy2OWuoB3m4SYRli5+CUjDv3Dij5DVoetmg==} - engines: {node: 14 || >=16.14} - dev: true - - /magic-string@0.27.0: - resolution: {integrity: sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==} - engines: {node: '>=12'} - dependencies: - '@jridgewell/sourcemap-codec': 1.4.15 - dev: true - - /magic-string@0.29.0: - resolution: {integrity: sha512-WcfidHrDjMY+eLjlU+8OvwREqHwpgCeKVBUpQ3OhYYuvfaYCUgcbuBzappNzZvg/v8onU3oQj+BYpkOJe9Iw4Q==} + /magic-string@0.30.1: + resolution: {integrity: sha512-mbVKXPmS0z0G4XqFDCTllmDQ6coZzn94aMlb0o/A4HEHJCKcanlDZwYJgwnkmgD3jyWhUgj9VsPrfd972yPffA==} engines: {node: '>=12'} dependencies: '@jridgewell/sourcemap-codec': 1.4.15 @@ -5421,63 +6095,37 @@ packages: requiresBuild: true dependencies: pify: 4.0.1 - semver: 5.7.1 + semver: 5.7.2 dev: true optional: true - /make-dir@3.1.0: - resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} - engines: {node: '>=8'} - dependencies: - semver: 6.3.0 - dev: true - - /make-fetch-happen@10.2.1: - resolution: {integrity: sha512-NgOPbRiaQM10DYXvN3/hhGVI2M5MtITFryzBGxHM5p4wnFxsVCbxkrBrDsk+EZ5OB4jEOT7AjDxtdF+KVEFT7w==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + /make-dir@4.0.0: + resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} + engines: {node: '>=10'} dependencies: - agentkeepalive: 4.3.0 - cacache: 16.1.3 - http-cache-semantics: 4.1.1 - http-proxy-agent: 5.0.0 - https-proxy-agent: 5.0.1 - is-lambda: 1.0.1 - lru-cache: 7.18.3 - minipass: 3.3.6 - minipass-collect: 1.0.2 - minipass-fetch: 2.1.2 - 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.1 - transitivePeerDependencies: - - bluebird - - supports-color + semver: 7.5.4 dev: true - /make-fetch-happen@11.0.3: - resolution: {integrity: sha512-oPLh5m10lRNNZDjJ2kP8UpboUx2uFXVaVweVe/lWut4iHWcQEmfqSVJt2ihZsFI8HbpwyyocaXbCAWf0g1ukIA==} + /make-fetch-happen@11.1.1: + resolution: {integrity: sha512-rLWS7GCSTcEujjVBs2YqG7Y4643u8ucvCJeSRqiLYhesrDuzeuFIk37xREzAsfQaqzl8b9rNCE4m6J8tvX4Q8w==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: - agentkeepalive: 4.3.0 - cacache: 17.0.5 + agentkeepalive: 4.5.0 + cacache: 17.1.4 http-cache-semantics: 4.1.1 http-proxy-agent: 5.0.0 https-proxy-agent: 5.0.1 is-lambda: 1.0.1 lru-cache: 7.18.3 - minipass: 4.2.8 - minipass-fetch: 3.0.1 + minipass: 5.0.0 + minipass-fetch: 3.0.4 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.3 + ssri: 10.0.5 transitivePeerDependencies: - - bluebird - supports-color dev: true @@ -5504,28 +6152,28 @@ packages: engines: {node: '>= 0.6'} dev: true - /memfs@3.5.0: - resolution: {integrity: sha512-yK6o8xVJlQerz57kvPROwTMgx5WtGwC2ZxDtOUsnGl49rHjYkfQoPNZPCKH73VdLE1BwBu/+Fx/NL8NYMUw2aA==} + /memfs@3.5.3: + resolution: {integrity: sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==} engines: {node: '>= 4.0.0'} dependencies: - fs-monkey: 1.0.3 + fs-monkey: 1.0.5 dev: true - /meow@9.0.0: - resolution: {integrity: sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ==} - engines: {node: '>=10'} + /meow@10.1.5: + resolution: {integrity: sha512-/d+PQ4GKmGvM9Bee/DPa8z3mXs/pkvJE2KEThngVNOqtmljC6K7NMPxtc2JeZYTmpWb9k/TmxjeL18ez3h7vCw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: - '@types/minimist': 1.2.2 - camelcase-keys: 6.2.2 - decamelize: 1.2.0 + '@types/minimist': 1.2.3 + camelcase-keys: 7.0.2 + decamelize: 5.0.1 decamelize-keys: 1.1.1 hard-rejection: 2.1.0 minimist-options: 4.1.0 normalize-package-data: 3.0.3 - read-pkg-up: 7.0.1 - redent: 3.0.0 - trim-newlines: 3.0.1 - type-fest: 0.18.1 + read-pkg-up: 8.0.0 + redent: 4.0.0 + trim-newlines: 4.1.1 + type-fest: 1.4.0 yargs-parser: 20.2.9 dev: true @@ -5589,20 +6237,26 @@ packages: engines: {node: '>=4'} dev: true - /mini-css-extract-plugin@2.7.2(webpack@5.76.1): - resolution: {integrity: sha512-EdlUizq13o0Pd+uCp+WO/JpkLvHRVGt97RqfeGhXqAcorYo1ypJSpkV+WDT0vY/kmh/p7wRdJNJtuyK540PXDw==} + /mini-css-extract-plugin@2.7.6(webpack@5.88.2): + resolution: {integrity: sha512-Qk7HcgaPkGG6eD77mLvZS1nmxlao3j+9PkrT9Uc7HAE1id3F41+DdBRYRYkbyfNRGzm8/YWtzhw7nVPmwhqTQw==} engines: {node: '>= 12.13.0'} peerDependencies: webpack: ^5.0.0 dependencies: - schema-utils: 4.0.0 - webpack: 5.76.1(esbuild@0.17.8) + schema-utils: 4.2.0 + webpack: 5.88.2(esbuild@0.18.17) dev: true /minimalistic-assert@1.0.1: resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==} dev: true + /minimatch@3.0.5: + resolution: {integrity: sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw==} + dependencies: + brace-expansion: 1.1.11 + dev: true + /minimatch@3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} dependencies: @@ -5616,15 +6270,8 @@ packages: brace-expansion: 2.0.1 dev: true - /minimatch@7.4.6: - resolution: {integrity: sha512-sBz8G/YjVniEz6lKPNpKxXwazJe4c19fEfV2GDMX6AjFz+MX9uDWIZW8XreVhkFW3fkIdTv/gxWr/Kks5FFAVw==} - engines: {node: '>=10'} - dependencies: - brace-expansion: 2.0.1 - dev: true - - /minimatch@8.0.4: - resolution: {integrity: sha512-W0Wvr9HyFXZRGIDgCicunpQ299OKXs9RgZfaukz4qAW/pJhcpUfupc9c+OObPOFueNy8VSrZgEmDtk6Kh4WzDA==} + /minimatch@9.0.3: + resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} engines: {node: '>=16 || 14 >=14.17'} dependencies: brace-expansion: 2.0.1 @@ -5650,22 +6297,11 @@ packages: minipass: 3.3.6 dev: true - /minipass-fetch@2.1.2: - resolution: {integrity: sha512-LT49Zi2/WMROHYoqGgdlQIZh8mLPZmOrN2NdJjMXxYe4nkN6FUyuPuOAOedNJDrx0IRGg9+4guZewtp8hE6TxA==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - dependencies: - minipass: 3.3.6 - minipass-sized: 1.0.3 - minizlib: 2.1.2 - optionalDependencies: - encoding: 0.1.13 - dev: true - - /minipass-fetch@3.0.1: - resolution: {integrity: sha512-t9/wowtf7DYkwz8cfMSt0rMwiyNIBXf5CKZ3S5ZMqRqMYT0oLTp0x1WorMI9WTwvaPg21r1JbFxJMum8JrLGfw==} + /minipass-fetch@3.0.4: + resolution: {integrity: sha512-jHAqnA728uUpIaFm7NWsCnqKT6UqZz7GcI/bDpPATuwYyKwJwW0remxSCxUlKiEty+eopHGa3oc8WxgQ1FFJqg==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: - minipass: 4.2.8 + minipass: 7.0.4 minipass-sized: 1.0.3 minizlib: 2.1.2 optionalDependencies: @@ -5707,16 +6343,16 @@ packages: yallist: 4.0.0 dev: true - /minipass@4.2.8: - resolution: {integrity: sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ==} - engines: {node: '>=8'} - dev: true - /minipass@5.0.0: resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==} engines: {node: '>=8'} dev: true + /minipass@7.0.4: + resolution: {integrity: sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==} + engines: {node: '>=16 || 14 >=14.17'} + dev: true + /minizlib@2.1.2: resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==} engines: {node: '>= 8'} @@ -5746,6 +6382,11 @@ packages: hasBin: true dev: true + /mrmime@1.0.1: + resolution: {integrity: sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw==} + engines: {node: '>=10'} + dev: true + /ms@2.0.0: resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} dev: true @@ -5762,7 +6403,7 @@ packages: resolution: {integrity: sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==} hasBin: true dependencies: - dns-packet: 5.5.0 + dns-packet: 5.6.1 thunky: 1.1.0 dev: true @@ -5792,7 +6433,7 @@ packages: dependencies: debug: 3.2.7 iconv-lite: 0.6.3 - sax: 1.2.4 + sax: 1.3.0 transitivePeerDependencies: - supports-color dev: true @@ -5813,7 +6454,7 @@ packages: requiresBuild: true dependencies: node-addon-api: 3.2.1 - node-gyp-build: 4.6.0 + node-gyp-build: 4.6.1 dev: true optional: true @@ -5821,7 +6462,6 @@ packages: resolution: {integrity: sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==} requiresBuild: true dev: true - optional: true /node-fetch@2.6.7: resolution: {integrity: sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==} @@ -5840,35 +6480,34 @@ packages: engines: {node: '>= 6.13.0'} dev: true - /node-gyp-build@4.6.0: - resolution: {integrity: sha512-NTZVKn9IylLwUzaKjkas1e4u2DLNcV4rdYagA4PWdPwW87Bi7z+BznyKSRwS/761tV/lzCGXplWsiaMjLqP2zQ==} + /node-gyp-build@4.6.1: + resolution: {integrity: sha512-24vnklJmyRS8ViBNI8KbtK/r/DmXQMRiOMXTNz2nrTnAYUwjmEEbnnpB/+kt+yWRv73bPsSPRFddrcIbAxSiMQ==} hasBin: true requiresBuild: true dev: true - optional: true - /node-gyp@9.3.1: - resolution: {integrity: sha512-4Q16ZCqq3g8awk6UplT7AuxQ35XN4R/yf/+wSAwcBUAjg7l58RTactWaP8fIDTi0FzI7YcVLujwExakZlfWkXg==} + /node-gyp@9.4.0: + resolution: {integrity: sha512-dMXsYP6gc9rRbejLXmTbVRYjAHw7ppswsKyMxuxJxxOHzluIO1rGp9TOQgjFJ+2MCqcOcQTOPB/8Xwhr+7s4Eg==} engines: {node: ^12.13 || ^14.13 || >=16} hasBin: true dependencies: env-paths: 2.2.1 + exponential-backoff: 3.1.1 glob: 7.2.3 graceful-fs: 4.2.11 - make-fetch-happen: 10.2.1 + make-fetch-happen: 11.1.1 nopt: 6.0.0 npmlog: 6.0.2 rimraf: 3.0.2 - semver: 7.4.0 - tar: 6.1.13 + semver: 7.5.4 + tar: 6.2.0 which: 2.0.2 transitivePeerDependencies: - - bluebird - supports-color dev: true - /node-releases@2.0.10: - resolution: {integrity: sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==} + /node-releases@2.0.13: + resolution: {integrity: sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==} dev: true /nopt@6.0.0: @@ -5879,22 +6518,13 @@ packages: abbrev: 1.1.1 dev: true - /normalize-package-data@2.5.0: - resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} - dependencies: - hosted-git-info: 2.8.9 - resolve: 1.22.2 - semver: 5.7.1 - validate-npm-package-license: 3.0.4 - dev: true - /normalize-package-data@3.0.3: resolution: {integrity: sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==} engines: {node: '>=10'} dependencies: hosted-git-info: 4.1.0 - is-core-module: 2.12.0 - semver: 7.4.0 + is-core-module: 2.13.0 + semver: 7.5.4 validate-npm-package-license: 3.0.4 dev: true @@ -5903,8 +6533,8 @@ packages: engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: hosted-git-info: 6.1.1 - is-core-module: 2.12.0 - semver: 7.4.0 + is-core-module: 2.13.0 + semver: 7.5.4 validate-npm-package-license: 3.0.4 dev: true @@ -5922,18 +6552,18 @@ packages: resolution: {integrity: sha512-Vq0eyEQy+elFpzsKjMss9kxqb9tG3YHg4dsyWuUENuzvSUWe1TCnW/vV9FkhvBk/brEDoDiVd+M1Btosa6ImdQ==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: - npm-normalize-package-bin: 3.0.0 + npm-normalize-package-bin: 3.0.1 dev: true - /npm-install-checks@6.1.1: - resolution: {integrity: sha512-dH3GmQL4vsPtld59cOn8uY0iOqRmqKvV+DLGwNXV/Q7MDgD2QfOADWd/mFXcIE5LVhYYGjA3baz6W9JneqnuCw==} + /npm-install-checks@6.3.0: + resolution: {integrity: sha512-W29RiK/xtpCGqn6f3ixfRYGk+zRyr+Ew9F2E20BfXxT5/euLdA/Nm7fO7OeTGuAmTs30cpgInyJ0cYe708YTZw==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: - semver: 7.4.0 + semver: 7.5.4 dev: true - /npm-normalize-package-bin@3.0.0: - resolution: {integrity: sha512-g+DPQSkusnk7HYXr75NtzkIP4+N81i3RPsGFidF3DzHd9MT9wWngmqoeg/fnHFz5MNdtG4w03s+QnhewSLTT2Q==} + /npm-normalize-package-bin@3.0.1: + resolution: {integrity: sha512-dMxCf+zZ+3zeQZXKxmyuCKlIDPGuv8EF940xbkC4kQVDTtqoh6rJFO+JTKSA6/Rwi0getWmtuy4Itup0AMcaDQ==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dev: true @@ -5943,7 +6573,7 @@ packages: dependencies: hosted-git-info: 6.1.1 proc-log: 3.0.0 - semver: 7.4.0 + semver: 7.5.4 validate-npm-package-name: 5.0.0 dev: true @@ -5951,32 +6581,31 @@ packages: resolution: {integrity: sha512-d6RGEuRrNS5/N84iglPivjaJPxhDbZmlbTwTDX2IbcRHG5bZCdtysYMhwiPvcF4GisXHGn7xsxv+GQ7T/02M5Q==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: - ignore-walk: 6.0.2 + ignore-walk: 6.0.3 dev: true /npm-pick-manifest@8.0.1: resolution: {integrity: sha512-mRtvlBjTsJvfCCdmPtiu2bdlx8d/KXtF7yNXNWe7G0Z36qWA9Ny5zXsI2PfBZEv7SXgoxTmNaTzGSbbzDZChoA==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: - npm-install-checks: 6.1.1 - npm-normalize-package-bin: 3.0.0 + npm-install-checks: 6.3.0 + npm-normalize-package-bin: 3.0.1 npm-package-arg: 10.1.0 - semver: 7.4.0 + semver: 7.5.4 dev: true - /npm-registry-fetch@14.0.4: - resolution: {integrity: sha512-pMS2DRkwg+M44ct65zrN/Cr9IHK1+n6weuefAo6Er4lc+/8YBCU0Czq04H3ZiSigluh7pb2rMM5JpgcytctB+Q==} + /npm-registry-fetch@14.0.5: + resolution: {integrity: sha512-kIDMIo4aBm6xg7jOttupWZamsZRkAqMqwqqbVXnUqstY5+tapvv6bkH/qMR76jdgV+YljEUCyWx3hRYMrJiAgA==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: - make-fetch-happen: 11.0.3 - minipass: 4.2.8 - minipass-fetch: 3.0.1 + make-fetch-happen: 11.1.1 + minipass: 5.0.0 + minipass-fetch: 3.0.4 minipass-json-stream: 1.0.1 minizlib: 2.1.2 npm-package-arg: 10.1.0 proc-log: 3.0.0 transitivePeerDependencies: - - bluebird - supports-color dev: true @@ -6000,7 +6629,73 @@ packages: /nth-check@2.1.1: resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} dependencies: - boolbase: 1.0.0 + boolbase: 1.0.0 + dev: true + + /nwsapi@2.2.7: + resolution: {integrity: sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ==} + dev: true + + /nx@16.5.1: + resolution: {integrity: sha512-I3hJRE4hG7JWAtncWwDEO3GVeGPpN0TtM8xH5ArZXyDuVeTth/i3TtJzdDzqXO1HHtIoAQN0xeq4n9cLuMil5g==} + hasBin: true + requiresBuild: true + peerDependencies: + '@swc-node/register': ^1.4.2 + '@swc/core': ^1.2.173 + peerDependenciesMeta: + '@swc-node/register': + optional: true + '@swc/core': + optional: true + dependencies: + '@nrwl/tao': 16.5.1 + '@parcel/watcher': 2.0.4 + '@yarnpkg/lockfile': 1.1.0 + '@yarnpkg/parsers': 3.0.0-rc.46 + '@zkochan/js-yaml': 0.0.6 + axios: 1.5.1 + chalk: 4.1.2 + cli-cursor: 3.1.0 + cli-spinners: 2.6.1 + cliui: 7.0.4 + dotenv: 10.0.0 + enquirer: 2.3.6 + fast-glob: 3.2.7 + figures: 3.2.0 + flat: 5.0.2 + fs-extra: 11.1.1 + glob: 7.1.4 + ignore: 5.2.4 + js-yaml: 4.1.0 + jsonc-parser: 3.2.0 + lines-and-columns: 2.0.3 + minimatch: 3.0.5 + npm-run-path: 4.0.1 + open: 8.4.2 + semver: 7.5.3 + string-width: 4.2.3 + strong-log-transformer: 2.1.0 + tar-stream: 2.2.0 + tmp: 0.2.1 + tsconfig-paths: 4.2.0 + tslib: 2.6.2 + v8-compile-cache: 2.3.0 + yargs: 17.7.2 + yargs-parser: 21.1.1 + optionalDependencies: + '@nx/nx-darwin-arm64': 16.5.1 + '@nx/nx-darwin-x64': 16.5.1 + '@nx/nx-freebsd-x64': 16.5.1 + '@nx/nx-linux-arm-gnueabihf': 16.5.1 + '@nx/nx-linux-arm64-gnu': 16.5.1 + '@nx/nx-linux-arm64-musl': 16.5.1 + '@nx/nx-linux-x64-gnu': 16.5.1 + '@nx/nx-linux-x64-musl': 16.5.1 + '@nx/nx-win32-arm64-msvc': 16.5.1 + '@nx/nx-win32-x64-msvc': 16.5.1 + transitivePeerDependencies: + - debug dev: true /object-assign@4.1.1: @@ -6012,6 +6707,11 @@ packages: resolution: {integrity: sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==} dev: true + /object-path@0.11.8: + resolution: {integrity: sha512-YJjNZrlXJFM42wTBn6zgOJVar9KFJvzx6sTWDte8sWZF//cnjl0BxHNpfZx+ZffXX63A9q0b1zsFiBX4g4X5KA==} + engines: {node: '>= 10.12.0'} + dev: true + /obuf@1.1.2: resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==} dev: true @@ -6048,8 +6748,8 @@ packages: mimic-fn: 2.1.0 dev: true - /open@8.4.1: - resolution: {integrity: sha512-/4b7qZNhv6Uhd7jjnREh1NjnPxlTq+XNWPG88Ydkj5AILcA5m3ajvcg57pB24EQjKv0dK62XnDqk9c/hkIG5Kg==} + /open@8.4.2: + resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==} engines: {node: '>=12'} dependencies: define-lazy-prop: 2.0.0 @@ -6057,16 +6757,16 @@ packages: is-wsl: 2.2.0 dev: true - /optionator@0.9.1: - resolution: {integrity: sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==} + /optionator@0.9.3: + resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} engines: {node: '>= 0.8.0'} dependencies: + '@aashutoshrathi/word-wrap': 1.2.6 deep-is: 0.1.4 fast-levenshtein: 2.0.6 levn: 0.4.1 prelude-ls: 1.2.1 type-check: 0.4.0 - word-wrap: 1.2.3 dev: true /ora@5.4.1: @@ -6076,7 +6776,7 @@ packages: bl: 4.1.0 chalk: 4.1.2 cli-cursor: 3.1.0 - cli-spinners: 2.8.0 + cli-spinners: 2.9.1 is-interactive: 1.0.0 is-unicode-supported: 0.1.0 log-symbols: 4.1.0 @@ -6103,6 +6803,13 @@ packages: yocto-queue: 0.1.0 dev: true + /p-limit@4.0.0: + resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + yocto-queue: 1.0.0 + dev: true + /p-locate@4.1.0: resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} engines: {node: '>=8'} @@ -6117,6 +6824,13 @@ packages: p-limit: 3.1.0 dev: true + /p-locate@6.0.0: + resolution: {integrity: sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + p-limit: 4.0.0 + dev: true + /p-map@4.0.0: resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} engines: {node: '>=10'} @@ -6137,29 +6851,29 @@ packages: engines: {node: '>=6'} dev: true - /pacote@15.1.0: - resolution: {integrity: sha512-FFcjtIl+BQNfeliSm7MZz5cpdohvUV1yjGnqgVM4UnVF7JslRY0ImXAygdaCDV0jjUADEWu4y5xsDV8brtrTLg==} + /pacote@15.2.0: + resolution: {integrity: sha512-rJVZeIwHTUta23sIZgEIM62WYwbmGbThdbnkt81ravBplQv+HjyroqnLRNH2+sLJHcGZmLRmhPwACqhfTcOmnA==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} hasBin: true dependencies: - '@npmcli/git': 4.0.4 + '@npmcli/git': 4.1.0 '@npmcli/installed-package-contents': 2.0.2 '@npmcli/promise-spawn': 6.0.2 - '@npmcli/run-script': 6.0.0 - cacache: 17.0.5 - fs-minipass: 3.0.1 - minipass: 4.2.8 + '@npmcli/run-script': 6.0.2 + cacache: 17.1.4 + fs-minipass: 3.0.3 + minipass: 5.0.0 npm-package-arg: 10.1.0 npm-packlist: 7.0.4 npm-pick-manifest: 8.0.1 - npm-registry-fetch: 14.0.4 + npm-registry-fetch: 14.0.5 proc-log: 3.0.0 promise-retry: 2.0.1 - read-package-json: 6.0.1 + read-package-json: 6.0.4 read-package-json-fast: 3.0.2 - sigstore: 1.2.0 - ssri: 10.0.3 - tar: 6.1.13 + sigstore: 1.9.0 + ssri: 10.0.5 + tar: 6.2.0 transitivePeerDependencies: - bluebird - supports-color @@ -6180,7 +6894,7 @@ packages: resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} engines: {node: '>=8'} dependencies: - '@babel/code-frame': 7.21.4 + '@babel/code-frame': 7.22.13 error-ex: 1.3.2 json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 @@ -6199,12 +6913,6 @@ packages: parse5-sax-parser: 7.0.0 dev: true - /parse5-htmlparser2-tree-adapter@6.0.1: - resolution: {integrity: sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==} - dependencies: - parse5: 6.0.1 - dev: true - /parse5-sax-parser@7.0.0: resolution: {integrity: sha512-5A+v2SNsq8T6/mG3ahcz8ZtQ0OUFTatxPbeidoMB7tkJSGDY3tdfl4MHovtLQHkEn5CGxijNWRQHhRQ6IRpXKg==} dependencies: @@ -6231,6 +6939,11 @@ packages: engines: {node: '>=8'} dev: true + /path-exists@5.0.0: + resolution: {integrity: sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dev: true + /path-is-absolute@1.0.1: resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} engines: {node: '>=0.10.0'} @@ -6245,12 +6958,12 @@ packages: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} dev: true - /path-scurry@1.6.4: - resolution: {integrity: sha512-Qp/9IHkdNiXJ3/Kon++At2nVpnhRiPq/aSvQN+H3U1WZbvNRK0RIQK/o4HMqPoXjpuGJUEWpHSs6Mnjxqh3TQg==} + /path-scurry@1.10.1: + resolution: {integrity: sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==} engines: {node: '>=16 || 14 >=14.17'} dependencies: - lru-cache: 9.0.1 - minipass: 5.0.0 + lru-cache: 10.0.1 + minipass: 7.0.4 dev: true /path-to-regexp@0.1.7: @@ -6278,11 +6991,12 @@ packages: /pify@4.0.1: resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} engines: {node: '>=6'} + requiresBuild: true dev: true optional: true - /piscina@3.2.0: - resolution: {integrity: sha512-yn/jMdHRw+q2ZJhFhyqsmANcbF6V2QwmD84c6xRau+QpQOmtrBCoRGdvTfeuFDYXB5W2m6MfLkjkvQa9lUSmIA==} + /piscina@4.0.0: + resolution: {integrity: sha512-641nAmJS4k4iqpNUqfggqUBUMmlw0ZoM5VZKdQkV2e970Inn3Tk9kroCc1wpsYLD07vCwpys5iY0d3xI/9WkTg==} dependencies: eventemitter-asyncresource: 1.0.0 hdr-histogram-js: 2.0.3 @@ -6291,96 +7005,98 @@ packages: nice-napi: 1.0.2 dev: true - /pkg-dir@4.2.0: - resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} - engines: {node: '>=8'} + /pkg-dir@7.0.0: + resolution: {integrity: sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA==} + engines: {node: '>=14.16'} dependencies: - find-up: 4.1.0 + find-up: 6.3.0 dev: true - /postcss-loader@7.0.2(postcss@8.4.21)(webpack@5.76.1): - resolution: {integrity: sha512-fUJzV/QH7NXUAqV8dWJ9Lg4aTkDCezpTS5HgJ2DvqznexTbSTxgi/dTECvTZ15BwKTtk8G/bqI/QTu2HPd3ZCg==} + /postcss-loader@7.3.3(postcss@8.4.31)(typescript@4.9.5)(webpack@5.88.2): + resolution: {integrity: sha512-YgO/yhtevGO/vJePCQmTxiaEwER94LABZN0ZMT4A0vsak9TpO+RvKRs7EmJ8peIlB9xfXCsS7M8LjqncsUZ5HA==} engines: {node: '>= 14.15.0'} peerDependencies: postcss: ^7.0.0 || ^8.0.1 webpack: ^5.0.0 dependencies: - cosmiconfig: 7.1.0 - klona: 2.0.6 - postcss: 8.4.21 - semver: 7.4.0 - webpack: 5.76.1(esbuild@0.17.8) + cosmiconfig: 8.3.6(typescript@4.9.5) + jiti: 1.20.0 + postcss: 8.4.31 + semver: 7.5.4 + webpack: 5.88.2(esbuild@0.18.17) + transitivePeerDependencies: + - typescript dev: true /postcss-media-query-parser@0.2.3: resolution: {integrity: sha512-3sOlxmbKcSHMjlUXQZKQ06jOswE7oVkXPxmZdoB1r5l0q6gTFTQSHxNxOrCccElbW7dxNytifNEo8qidX2Vsig==} dev: true - /postcss-modules-extract-imports@3.0.0(postcss@8.4.21): + /postcss-modules-extract-imports@3.0.0(postcss@8.4.31): resolution: {integrity: sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - postcss: 8.4.21 + postcss: 8.4.31 dev: true - /postcss-modules-local-by-default@4.0.0(postcss@8.4.21): - resolution: {integrity: sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==} + /postcss-modules-local-by-default@4.0.3(postcss@8.4.31): + resolution: {integrity: sha512-2/u2zraspoACtrbFRnTijMiQtb4GW4BvatjaG/bCjYQo8kLTdevCUlwuBHx2sCnSyrI3x3qj4ZK1j5LQBgzmwA==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - icss-utils: 5.1.0(postcss@8.4.21) - postcss: 8.4.21 - postcss-selector-parser: 6.0.11 + icss-utils: 5.1.0(postcss@8.4.31) + postcss: 8.4.31 + postcss-selector-parser: 6.0.13 postcss-value-parser: 4.2.0 dev: true - /postcss-modules-scope@3.0.0(postcss@8.4.21): + /postcss-modules-scope@3.0.0(postcss@8.4.31): resolution: {integrity: sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - postcss: 8.4.21 - postcss-selector-parser: 6.0.11 + postcss: 8.4.31 + postcss-selector-parser: 6.0.13 dev: true - /postcss-modules-values@4.0.0(postcss@8.4.21): + /postcss-modules-values@4.0.0(postcss@8.4.31): resolution: {integrity: sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - icss-utils: 5.1.0(postcss@8.4.21) - postcss: 8.4.21 + icss-utils: 5.1.0(postcss@8.4.31) + postcss: 8.4.31 dev: true /postcss-resolve-nested-selector@0.1.1: resolution: {integrity: sha512-HvExULSwLqHLgUy1rl3ANIqCsvMS0WHss2UOsXhXnQaZ9VCc2oBvIpXrl00IUFT5ZDITME0o6oiXeiHr2SAIfw==} dev: true - /postcss-safe-parser@6.0.0(postcss@8.4.21): + /postcss-safe-parser@6.0.0(postcss@8.4.31): resolution: {integrity: sha512-FARHN8pwH+WiS2OPCxJI8FuRJpTVnn6ZNFiqAM2aeW2LwTHWWmWgIyKC6cUo0L8aeKiF/14MNvnpls6R2PBeMQ==} engines: {node: '>=12.0'} peerDependencies: postcss: ^8.3.3 dependencies: - postcss: 8.4.21 + postcss: 8.4.31 dev: true - /postcss-scss@4.0.6(postcss@8.4.21): - resolution: {integrity: sha512-rLDPhJY4z/i4nVFZ27j9GqLxj1pwxE80eAzUNRMXtcpipFYIeowerzBgG3yJhMtObGEXidtIgbUpQ3eLDsf5OQ==} + /postcss-scss@4.0.9(postcss@8.4.31): + resolution: {integrity: sha512-AjKOeiwAitL/MXxQW2DliT28EKukvvbEWx3LBmJIRN8KfBGZbRTxNYW0kSqi1COiTZ57nZ9NW06S6ux//N1c9A==} engines: {node: '>=12.0'} peerDependencies: - postcss: ^8.4.19 + postcss: ^8.4.29 dependencies: - postcss: 8.4.21 + postcss: 8.4.31 dev: true - /postcss-selector-parser@6.0.11: - resolution: {integrity: sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==} + /postcss-selector-parser@6.0.13: + resolution: {integrity: sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==} engines: {node: '>=4'} dependencies: cssesc: 3.0.0 @@ -6391,8 +7107,8 @@ packages: resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} dev: true - /postcss@8.4.21: - resolution: {integrity: sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==} + /postcss@8.4.31: + resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==} engines: {node: ^10 || ^12 || >=14} dependencies: nanoid: 3.3.6 @@ -6409,11 +7125,11 @@ packages: resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==} engines: {node: '>=6.0.0'} dependencies: - fast-diff: 1.2.0 + fast-diff: 1.3.0 dev: true - /prettier@2.8.7: - resolution: {integrity: sha512-yPngTo3aXUUmyuTjeTUT75txrf+aMh9FiD7q9ZE/i6r0bPb22g4FsE6Y338PQX1bmfy08i9QQCB7/rcUAVntfw==} + /prettier@2.8.8: + resolution: {integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==} engines: {node: '>=10.13.0'} hasBin: true dev: true @@ -6468,9 +7184,14 @@ packages: /prr@1.0.1: resolution: {integrity: sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==} + requiresBuild: true dev: true optional: true + /psl@1.9.0: + resolution: {integrity: sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==} + dev: true + /pump@3.0.0: resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} dependencies: @@ -6483,8 +7204,8 @@ packages: engines: {node: '>=6'} dev: true - /puppeteer-core@19.9.0(typescript@4.9.5): - resolution: {integrity: sha512-IJYfCE0oFpi5dTvNFqOwo8Dey6zzx7hANy7z6K2bjpCux9oPOSOIubq40awNhaHlfi8soYtgU4qabnzMXB7xBQ==} + /puppeteer-core@19.11.1(typescript@4.9.5): + resolution: {integrity: sha512-qcuC2Uf0Fwdj9wNtaTZ2OvYRraXpAK+puwwVW8ofOhOgLPZyz1c68tsorfIZyCUOpyBisjr+xByu7BMbEYMepA==} engines: {node: '>=14.14.0'} peerDependencies: typescript: '>= 4.7.4' @@ -6492,8 +7213,8 @@ packages: typescript: optional: true dependencies: - '@puppeteer/browsers': 0.4.1(typescript@4.9.5) - chromium-bidi: 0.4.6(devtools-protocol@0.0.1107588) + '@puppeteer/browsers': 0.5.0(typescript@4.9.5) + chromium-bidi: 0.4.7(devtools-protocol@0.0.1107588) cross-fetch: 3.1.5 debug: 4.3.4 devtools-protocol: 0.0.1107588 @@ -6511,16 +7232,16 @@ packages: - utf-8-validate dev: true - /puppeteer@19.9.0(typescript@4.9.5): - resolution: {integrity: sha512-JDx8WwGlkdQYTaa3OMYDF+uFWimiwNnacg5FGEC5J6+VxDsLK30wHKU/Db2LqEhtAoIu4RwS+BRH4zRPlCsFpA==} + /puppeteer@19.11.1(typescript@4.9.5): + resolution: {integrity: sha512-39olGaX2djYUdhaQQHDZ0T0GwEp+5f9UB9HmEP0qHfdQHIq0xGQZuAZ5TLnJIc/88SrPLpEflPC+xUqOTv3c5g==} requiresBuild: true dependencies: - '@puppeteer/browsers': 0.4.1(typescript@4.9.5) + '@puppeteer/browsers': 0.5.0(typescript@4.9.5) cosmiconfig: 8.1.3 https-proxy-agent: 5.0.1 progress: 2.0.3 proxy-from-env: 1.1.0 - puppeteer-core: 19.9.0(typescript@4.9.5) + puppeteer-core: 19.11.1(typescript@4.9.5) transitivePeerDependencies: - bufferutil - encoding @@ -6541,13 +7262,17 @@ packages: side-channel: 1.0.4 dev: true + /querystringify@2.2.0: + resolution: {integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==} + dev: true + /queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} dev: true - /quick-lru@4.0.1: - resolution: {integrity: sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==} - engines: {node: '>=8'} + /quick-lru@5.1.1: + resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==} + engines: {node: '>=10'} dev: true /randombytes@2.1.0: @@ -6586,36 +7311,36 @@ packages: engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: json-parse-even-better-errors: 3.0.0 - npm-normalize-package-bin: 3.0.0 + npm-normalize-package-bin: 3.0.1 dev: true - /read-package-json@6.0.1: - resolution: {integrity: sha512-AaHqXxfAVa+fNL07x8iAghfKOds/XXsu7zoouIVsbm7PEbQ3nMWXlvjcbrNLjElnUHWQtAo4QEa0RXuvD4XlpA==} + /read-package-json@6.0.4: + resolution: {integrity: sha512-AEtWXYfopBj2z5N5PbkAOeNHRPUg5q+Nen7QLxV8M2zJq1ym6/lCz3fYNTCXe19puu2d06jfHhrP7v/S2PtMMw==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: - glob: 9.3.5 + glob: 10.3.10 json-parse-even-better-errors: 3.0.0 normalize-package-data: 5.0.0 - npm-normalize-package-bin: 3.0.0 + npm-normalize-package-bin: 3.0.1 dev: true - /read-pkg-up@7.0.1: - resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} - engines: {node: '>=8'} + /read-pkg-up@8.0.0: + resolution: {integrity: sha512-snVCqPczksT0HS2EC+SxUndvSzn6LRCwpfSvLrIfR5BKDQQZMaI6jPRC9dYvYFDRAuFEAnkwww8kBBNE/3VvzQ==} + engines: {node: '>=12'} dependencies: - find-up: 4.1.0 - read-pkg: 5.2.0 - type-fest: 0.8.1 + find-up: 5.0.0 + read-pkg: 6.0.0 + type-fest: 1.4.0 dev: true - /read-pkg@5.2.0: - resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==} - engines: {node: '>=8'} + /read-pkg@6.0.0: + resolution: {integrity: sha512-X1Fu3dPuk/8ZLsMhEj5f4wFAF0DWoK7qhGJvgaijocXxBmSToKfbFtqbxMO7bVjNA1dmE5huAzjXj/ey86iw9Q==} + engines: {node: '>=12'} dependencies: - '@types/normalize-package-data': 2.4.1 - normalize-package-data: 2.5.0 + '@types/normalize-package-data': 2.4.2 + normalize-package-data: 3.0.3 parse-json: 5.2.0 - type-fest: 0.6.0 + type-fest: 1.4.0 dev: true /readable-stream@2.3.8: @@ -6646,20 +7371,20 @@ packages: picomatch: 2.3.1 dev: true - /redent@3.0.0: - resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==} - engines: {node: '>=8'} + /redent@4.0.0: + resolution: {integrity: sha512-tYkDkVVtYkSVhuQ4zBgfvciymHaeuel+zFKXShfDnFP5SyVEP7qo70Rf1jTOTCx3vGNAbnEi/xFkcfQVMIBWag==} + engines: {node: '>=12'} dependencies: - indent-string: 4.0.0 - strip-indent: 3.0.0 + indent-string: 5.0.0 + strip-indent: 4.0.0 dev: true /reflect-metadata@0.1.13: resolution: {integrity: sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==} dev: true - /regenerate-unicode-properties@10.1.0: - resolution: {integrity: sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==} + /regenerate-unicode-properties@10.1.1: + resolution: {integrity: sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==} engines: {node: '>=4'} dependencies: regenerate: 1.4.2 @@ -6673,10 +7398,10 @@ packages: resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==} dev: true - /regenerator-transform@0.15.1: - resolution: {integrity: sha512-knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg==} + /regenerator-transform@0.15.2: + resolution: {integrity: sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==} dependencies: - '@babel/runtime': 7.20.13 + '@babel/runtime': 7.22.6 dev: true /regex-parser@2.2.11: @@ -6689,7 +7414,7 @@ packages: dependencies: '@babel/regjsgen': 0.8.0 regenerate: 1.4.2 - regenerate-unicode-properties: 10.1.0 + regenerate-unicode-properties: 10.1.1 regjsparser: 0.9.1 unicode-match-property-ecmascript: 2.0.0 unicode-match-property-value-ecmascript: 2.1.0 @@ -6733,24 +7458,24 @@ packages: adjust-sourcemap-loader: 4.0.0 convert-source-map: 1.9.0 loader-utils: 2.0.4 - postcss: 8.4.21 + postcss: 8.4.31 source-map: 0.6.1 dev: true - /resolve@1.22.1: - resolution: {integrity: sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==} + /resolve@1.22.2: + resolution: {integrity: sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==} hasBin: true dependencies: - is-core-module: 2.12.0 + is-core-module: 2.13.0 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 dev: true - /resolve@1.22.2: - resolution: {integrity: sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==} + /resolve@1.22.8: + resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} hasBin: true dependencies: - is-core-module: 2.12.0 + is-core-module: 2.13.0 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 dev: true @@ -6789,6 +7514,14 @@ packages: glob: 7.2.3 dev: true + /rollup@3.29.4: + resolution: {integrity: sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==} + engines: {node: '>=14.18.0', npm: '>=8.0.0'} + hasBin: true + optionalDependencies: + fsevents: 2.3.3 + dev: true + /run-async@2.4.1: resolution: {integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==} engines: {node: '>=0.12.0'} @@ -6800,17 +7533,10 @@ packages: queue-microtask: 1.2.3 dev: true - /rxjs@6.6.7: - resolution: {integrity: sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==} - engines: {npm: '>=2.0.0'} - dependencies: - tslib: 1.14.1 - dev: true - - /rxjs@7.8.0: - resolution: {integrity: sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg==} + /rxjs@7.8.1: + resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==} dependencies: - tslib: 2.5.0 + tslib: 2.6.2 /safe-buffer@5.1.2: resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} @@ -6824,12 +7550,12 @@ packages: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} dev: true - /sass-loader@13.2.0(sass@1.58.1)(webpack@5.76.1): - resolution: {integrity: sha512-JWEp48djQA4nbZxmgC02/Wh0eroSUutulROUusYJO9P9zltRbNN80JCBHqRGzjd4cmZCa/r88xgfkjGD0TXsHg==} + /sass-loader@13.3.2(sass@1.64.1)(webpack@5.88.2): + resolution: {integrity: sha512-CQbKl57kdEv+KDLquhC+gE3pXt74LEAzm+tzywcA0/aHZuub8wTErbjAoNI57rPUWRYRNC5WUnNl8eGJNbDdwg==} engines: {node: '>= 14.15.0'} peerDependencies: fibers: '>= 3.1.0' - node-sass: ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 + node-sass: ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0 sass: ^1.3.0 sass-embedded: '*' webpack: ^5.0.0 @@ -6843,41 +7569,48 @@ packages: sass-embedded: optional: true dependencies: - klona: 2.0.6 neo-async: 2.6.2 - sass: 1.58.1 - webpack: 5.76.1(esbuild@0.17.8) + sass: 1.64.1 + webpack: 5.88.2(esbuild@0.18.17) dev: true - /sass@1.58.1: - resolution: {integrity: sha512-bnINi6nPXbP1XNRaranMFEBZWUfdW/AF16Ql5+ypRxfTvCRTTKrLsMIakyDcayUt2t/RZotmL4kgJwNH5xO+bg==} - engines: {node: '>=12.0.0'} + /sass@1.64.1: + resolution: {integrity: sha512-16rRACSOFEE8VN7SCgBu1MpYCyN7urj9At898tyzdXFhC+a+yOX5dXwAR7L8/IdPJ1NB8OYoXmD55DM30B2kEQ==} + engines: {node: '>=14.0.0'} hasBin: true dependencies: chokidar: 3.5.3 - immutable: 4.3.0 + immutable: 4.3.4 source-map-js: 1.0.2 dev: true - /sax@1.2.4: - resolution: {integrity: sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==} + /sax@1.3.0: + resolution: {integrity: sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==} + requiresBuild: true dev: true optional: true - /schema-utils@3.1.1: - resolution: {integrity: sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==} + /saxes@5.0.1: + resolution: {integrity: sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==} + engines: {node: '>=10'} + dependencies: + xmlchars: 2.2.0 + dev: true + + /schema-utils@3.3.0: + resolution: {integrity: sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==} engines: {node: '>= 10.13.0'} dependencies: - '@types/json-schema': 7.0.11 + '@types/json-schema': 7.0.13 ajv: 6.12.6 ajv-keywords: 3.5.2(ajv@6.12.6) dev: true - /schema-utils@4.0.0: - resolution: {integrity: sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==} + /schema-utils@4.2.0: + resolution: {integrity: sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==} engines: {node: '>= 12.13.0'} dependencies: - '@types/json-schema': 7.0.11 + '@types/json-schema': 7.0.13 ajv: 8.12.0 ajv-formats: 2.1.1(ajv@8.12.0) ajv-keywords: 5.1.0(ajv@8.12.0) @@ -6894,26 +7627,28 @@ packages: node-forge: 1.3.1 dev: true - /semver@5.7.1: - resolution: {integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==} + /semver@5.7.2: + resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} hasBin: true + requiresBuild: true dev: true + optional: true - /semver@6.3.0: - resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==} + /semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} hasBin: true dev: true - /semver@7.3.8: - resolution: {integrity: sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==} + /semver@7.5.3: + resolution: {integrity: sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ==} engines: {node: '>=10'} hasBin: true dependencies: lru-cache: 6.0.0 dev: true - /semver@7.4.0: - resolution: {integrity: sha512-RgOxM8Mw+7Zus0+zcLEUn8+JfoLpj/huFTItQy2hsM4khuC1HYRDp0cU482Ewn/Fcy6bCjufD8vAj7voC66KQw==} + /semver@7.5.4: + resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} engines: {node: '>=10'} hasBin: true dependencies: @@ -7005,11 +7740,15 @@ packages: engines: {node: '>=8'} dev: true + /shell-quote@1.8.1: + resolution: {integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==} + dev: true + /side-channel@1.0.4: resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} dependencies: call-bind: 1.0.2 - get-intrinsic: 1.2.0 + get-intrinsic: 1.2.1 object-inspect: 1.12.3 dev: true @@ -7017,16 +7756,22 @@ packages: resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} dev: true - /sigstore@1.2.0: - resolution: {integrity: sha512-Fr9+W1nkBSIZCkJQR7jDn/zI0UXNsVpp+7mDQkCnZOIxG9p6yNXBx9xntHsfUyYHE55XDkkVV3+rYbrkzAeesA==} + /signal-exit@4.1.0: + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} + engines: {node: '>=14'} + dev: true + + /sigstore@1.9.0: + resolution: {integrity: sha512-0Zjz0oe37d08VeOtBIuB6cRriqXse2e8w+7yIy2XSXjshRKxbc2KkhXjL229jXSxEm7UbcjS76wcJDGQddVI9A==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} hasBin: true dependencies: - '@sigstore/protobuf-specs': 0.1.0 - make-fetch-happen: 11.0.3 - tuf-js: 1.1.3 + '@sigstore/bundle': 1.1.0 + '@sigstore/protobuf-specs': 0.2.1 + '@sigstore/sign': 1.0.0 + '@sigstore/tuf': 1.0.3 + make-fetch-happen: 11.1.1 transitivePeerDependencies: - - bluebird - supports-color dev: true @@ -7063,8 +7808,8 @@ packages: - utf-8-validate dev: true - /socket.io-parser@4.2.2: - resolution: {integrity: sha512-DJtziuKypFkMMHCm2uIshOYC7QaylbtzQwiMYDuCKy3OPkjLzu4B2vAhTlqipRHHzrI0NJeBAizTK7X+6m1jVw==} + /socket.io-parser@4.2.4: + resolution: {integrity: sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew==} engines: {node: '>=10.0.0'} dependencies: '@socket.io/component-emitter': 3.1.0 @@ -7073,16 +7818,17 @@ packages: - supports-color dev: true - /socket.io@4.6.1: - resolution: {integrity: sha512-KMcaAi4l/8+xEjkRICl6ak8ySoxsYG+gG6/XfRCPJPQ/haCRIJBTL4wIl8YCsmtaBovcAXGLOShyVWQ/FG8GZA==} - engines: {node: '>=10.0.0'} + /socket.io@4.7.2: + resolution: {integrity: sha512-bvKVS29/I5fl2FGLNHuXlQaUH/BlzX1IN6S+NKLNZpBsPZIDH+90eQmCs2Railn4YUiww4SzUedJ6+uzwFnKLw==} + engines: {node: '>=10.2.0'} dependencies: accepts: 1.3.8 base64id: 2.0.0 + cors: 2.8.5 debug: 4.3.4 - engine.io: 6.4.1 + engine.io: 6.5.3 socket.io-adapter: 2.5.2 - socket.io-parser: 4.2.2 + socket.io-parser: 4.2.4 transitivePeerDependencies: - bufferutil - supports-color @@ -7121,7 +7867,7 @@ packages: engines: {node: '>=0.10.0'} dev: true - /source-map-loader@4.0.1(webpack@5.76.1): + /source-map-loader@4.0.1(webpack@5.88.2): resolution: {integrity: sha512-oqXpzDIByKONVY8g1NUPOTQhe0UTU5bWUl32GSkqK2LjJj0HmwTMVKxcUip0RgAYhY1mqgOxjbQM48a0mmeNfA==} engines: {node: '>= 14.15.0'} peerDependencies: @@ -7130,7 +7876,7 @@ packages: abab: 2.0.6 iconv-lite: 0.6.3 source-map-js: 1.0.2 - webpack: 5.76.1(esbuild@0.17.8) + webpack: 5.88.2(esbuild@0.18.17) dev: true /source-map-support@0.5.21: @@ -7154,7 +7900,7 @@ packages: resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} dependencies: spdx-expression-parse: 3.0.1 - spdx-license-ids: 3.0.13 + spdx-license-ids: 3.0.16 dev: true /spdx-exceptions@2.3.0: @@ -7165,11 +7911,11 @@ packages: resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} dependencies: spdx-exceptions: 2.3.0 - spdx-license-ids: 3.0.13 + spdx-license-ids: 3.0.16 dev: true - /spdx-license-ids@3.0.13: - resolution: {integrity: sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w==} + /spdx-license-ids@3.0.16: + resolution: {integrity: sha512-eWN+LnM3GR6gPu35WxNgbGl8rmY1AEmoMDvL/QD6zYmPWgywxWqJWNdLGT+ke8dKNWrcYgYjPpG5gbTfghP8rw==} dev: true /spdy-transport@3.0.0: @@ -7202,18 +7948,11 @@ packages: resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} dev: true - /ssri@10.0.3: - resolution: {integrity: sha512-lJtX/BFPI/VEtxZmLfeh7pzisIs6micwZ3eruD3+ds9aPsXKlYpwDS2Q7omD6WC42WO9+bnUSzlMmfv8uK8meg==} + /ssri@10.0.5: + resolution: {integrity: sha512-bSf16tAFkGeRlUNDjXu8FzaMQt6g2HZJrun7mtMbIPOddxt3GLMSz5VWUWcqTJUPfLEaDIepGxv+bYQW49596A==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: - minipass: 4.2.8 - dev: true - - /ssri@9.0.1: - resolution: {integrity: sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - dependencies: - minipass: 3.3.6 + minipass: 7.0.4 dev: true /statuses@1.5.0: @@ -7246,6 +7985,15 @@ packages: strip-ansi: 6.0.1 dev: true + /string-width@5.1.2: + resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} + engines: {node: '>=12'} + dependencies: + eastasianwidth: 0.2.0 + emoji-regex: 9.2.2 + strip-ansi: 7.1.0 + dev: true + /string_decoder@1.1.1: resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} dependencies: @@ -7265,14 +8013,26 @@ packages: ansi-regex: 5.0.1 dev: true + /strip-ansi@7.1.0: + resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} + engines: {node: '>=12'} + dependencies: + ansi-regex: 6.0.1 + dev: true + + /strip-bom@3.0.0: + resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} + engines: {node: '>=4'} + dev: true + /strip-final-newline@2.0.0: resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} engines: {node: '>=6'} dev: true - /strip-indent@3.0.0: - resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} - engines: {node: '>=8'} + /strip-indent@4.0.0: + resolution: {integrity: sha512-mnVSV2l+Zv6BLpSD/8V87CW/y9EmmbYzGCIavsnsI6/nwn26DwffM/yztm30Z/I2DY9wdS3vXVCMnHDgZaVNoA==} + engines: {node: '>=12'} dependencies: min-indent: 1.0.1 dev: true @@ -7282,11 +8042,21 @@ packages: engines: {node: '>=8'} dev: true + /strong-log-transformer@2.1.0: + resolution: {integrity: sha512-B3Hgul+z0L9a236FAUC9iZsL+nVHgoCJnqCbN588DjYxvGXaXaaFbfmQ/JhvKjZwsOukuR72XbHv71Qkug0HxA==} + engines: {node: '>=4'} + hasBin: true + dependencies: + duplexer: 0.1.2 + minimist: 1.2.8 + through: 2.3.8 + dev: true + /style-search@0.1.0: resolution: {integrity: sha512-Dj1Okke1C3uKKwQcetra4jSuk0DqbzbYtXipzFlFMZtowbF1x7BKJwB9AayVMyFARvU8EDrZdcax4At/452cAg==} dev: true - /stylelint-config-recommended-scss@10.0.0(postcss@8.4.21)(stylelint@15.4.0): + /stylelint-config-recommended-scss@10.0.0(postcss@8.4.31)(stylelint@15.10.3): resolution: {integrity: sha512-+YvPgUHi0W5mCJCKdupBCIsWPYNbWuJcRmFtSYujwNg+41ljFknhO9bpY6C+oahv659zW7W1AT7i6DQvJYYr1A==} peerDependencies: postcss: ^8.3.3 @@ -7295,22 +8065,22 @@ packages: postcss: optional: true dependencies: - postcss: 8.4.21 - postcss-scss: 4.0.6(postcss@8.4.21) - stylelint: 15.4.0 - stylelint-config-recommended: 11.0.0(stylelint@15.4.0) - stylelint-scss: 4.6.0(stylelint@15.4.0) + postcss: 8.4.31 + postcss-scss: 4.0.9(postcss@8.4.31) + stylelint: 15.10.3(typescript@4.9.5) + stylelint-config-recommended: 11.0.0(stylelint@15.10.3) + stylelint-scss: 4.7.0(stylelint@15.10.3) dev: true - /stylelint-config-recommended@11.0.0(stylelint@15.4.0): + /stylelint-config-recommended@11.0.0(stylelint@15.10.3): resolution: {integrity: sha512-SoGIHNI748OCZn6BxFYT83ytWoYETCINVHV3LKScVAWQQauWdvmdDqJC5YXWjpBbxg2E761Tg5aUGKLFOVhEkA==} peerDependencies: stylelint: ^15.3.0 dependencies: - stylelint: 15.4.0 + stylelint: 15.10.3(typescript@4.9.5) dev: true - /stylelint-config-standard-scss@8.0.0(postcss@8.4.21)(stylelint@15.4.0): + /stylelint-config-standard-scss@8.0.0(postcss@8.4.31)(stylelint@15.10.3): resolution: {integrity: sha512-TDT/gJD/0LUDoUgkjF1uoI/4DfczXHxg7gJVcWT4/JbE6k5hszVuI14reNX+tEwSyMNhcK2BA7izrK+uVAz7XA==} peerDependencies: postcss: ^8.3.3 @@ -7319,50 +8089,49 @@ packages: postcss: optional: true dependencies: - postcss: 8.4.21 - stylelint: 15.4.0 - stylelint-config-recommended-scss: 10.0.0(postcss@8.4.21)(stylelint@15.4.0) - stylelint-config-standard: 32.0.0(stylelint@15.4.0) + postcss: 8.4.31 + stylelint: 15.10.3(typescript@4.9.5) + stylelint-config-recommended-scss: 10.0.0(postcss@8.4.31)(stylelint@15.10.3) + stylelint-config-standard: 32.0.0(stylelint@15.10.3) dev: true - /stylelint-config-standard@32.0.0(stylelint@15.4.0): + /stylelint-config-standard@32.0.0(stylelint@15.10.3): resolution: {integrity: sha512-UnGJxYDyYFrIE9CjDMZRkrNh2o4lOtO+MVZ9qG5b8yARfsWho0GMx4YvhHfsv8zKKgHeWX2wfeyxmuoqcaYZ4w==} peerDependencies: stylelint: ^15.4.0 dependencies: - stylelint: 15.4.0 - stylelint-config-recommended: 11.0.0(stylelint@15.4.0) + stylelint: 15.10.3(typescript@4.9.5) + stylelint-config-recommended: 11.0.0(stylelint@15.10.3) dev: true - /stylelint-scss@4.6.0(stylelint@15.4.0): - resolution: {integrity: sha512-M+E0BQim6G4XEkaceEhfVjP/41C9Klg5/tTPTCQVlgw/jm2tvB+OXJGaU0TDP5rnTCB62aX6w+rT+gqJW/uwjA==} + /stylelint-scss@4.7.0(stylelint@15.10.3): + resolution: {integrity: sha512-TSUgIeS0H3jqDZnby1UO1Qv3poi1N8wUYIJY6D1tuUq2MN3lwp/rITVo0wD+1SWTmRm0tNmGO0b7nKInnqF6Hg==} peerDependencies: stylelint: ^14.5.1 || ^15.0.0 dependencies: - dlv: 1.1.3 postcss-media-query-parser: 0.2.3 postcss-resolve-nested-selector: 0.1.1 - postcss-selector-parser: 6.0.11 + postcss-selector-parser: 6.0.13 postcss-value-parser: 4.2.0 - stylelint: 15.4.0 + stylelint: 15.10.3(typescript@4.9.5) dev: true - /stylelint@15.4.0: - resolution: {integrity: sha512-TlOvpG3MbcFwHmK0q2ykhmpKo7Dq892beJit0NPdpyY9b1tFah/hGhqnAz/bRm2PDhDbJLKvjzkEYYBEz7Dxcg==} + /stylelint@15.10.3(typescript@4.9.5): + resolution: {integrity: sha512-aBQMMxYvFzJJwkmg+BUUg3YfPyeuCuKo2f+LOw7yYbU8AZMblibwzp9OV4srHVeQldxvSFdz0/Xu8blq2AesiA==} engines: {node: ^14.13.1 || >=16.0.0} hasBin: true dependencies: - '@csstools/css-parser-algorithms': 2.1.1(@csstools/css-tokenizer@2.1.1) - '@csstools/css-tokenizer': 2.1.1 - '@csstools/media-query-list-parser': 2.0.4(@csstools/css-parser-algorithms@2.1.1)(@csstools/css-tokenizer@2.1.1) - '@csstools/selector-specificity': 2.2.0(postcss-selector-parser@6.0.11) + '@csstools/css-parser-algorithms': 2.3.2(@csstools/css-tokenizer@2.2.1) + '@csstools/css-tokenizer': 2.2.1 + '@csstools/media-query-list-parser': 2.1.5(@csstools/css-parser-algorithms@2.3.2)(@csstools/css-tokenizer@2.2.1) + '@csstools/selector-specificity': 3.0.0(postcss-selector-parser@6.0.13) balanced-match: 2.0.0 colord: 2.9.3 - cosmiconfig: 8.1.3 - css-functions-list: 3.1.0 + cosmiconfig: 8.3.6(typescript@4.9.5) + css-functions-list: 3.2.0 css-tree: 2.3.1 debug: 4.3.4 - fast-glob: 3.2.12 + fast-glob: 3.3.1 fastest-levenshtein: 1.0.16 file-entry-cache: 6.0.1 global-modules: 2.0.0 @@ -7373,17 +8142,16 @@ packages: import-lazy: 4.0.0 imurmurhash: 0.1.4 is-plain-object: 5.0.0 - known-css-properties: 0.27.0 + known-css-properties: 0.28.0 mathml-tag-names: 2.1.3 - meow: 9.0.0 + meow: 10.1.5 micromatch: 4.0.5 normalize-path: 3.0.0 picocolors: 1.0.0 - postcss: 8.4.21 - postcss-media-query-parser: 0.2.3 + postcss: 8.4.31 postcss-resolve-nested-selector: 0.1.1 - postcss-safe-parser: 6.0.0(postcss@8.4.21) - postcss-selector-parser: 6.0.11 + postcss-safe-parser: 6.0.0(postcss@8.4.31) + postcss-selector-parser: 6.0.13 postcss-value-parser: 4.2.0 resolve-from: 5.0.0 string-width: 4.2.3 @@ -7392,10 +8160,10 @@ packages: supports-hyperlinks: 3.0.0 svg-tags: 1.0.0 table: 6.8.1 - v8-compile-cache: 2.3.0 - write-file-atomic: 5.0.0 + write-file-atomic: 5.0.1 transitivePeerDependencies: - supports-color + - typescript dev: true /supports-color@5.5.0: @@ -7441,6 +8209,10 @@ packages: engines: {node: '>=0.10'} dev: true + /symbol-tree@3.2.4: + resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} + dev: true + /table@6.8.1: resolution: {integrity: sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA==} engines: {node: '>=10.0.0'} @@ -7477,20 +8249,20 @@ packages: readable-stream: 3.6.2 dev: true - /tar@6.1.13: - resolution: {integrity: sha512-jdIBIN6LTIe2jqzay/2vtYLlBHa3JF42ot3h1dW8Q0PaAG4v8rm0cvpVePtau5C6OKXGGcgO9q2AMNSWxiLqKw==} + /tar@6.2.0: + resolution: {integrity: sha512-/Wo7DcT0u5HUV486xg675HtjNd3BXZ6xDbzsCUZPt5iw8bTQ63bP0Raut3mvro9u+CUyq7YQd8Cx55fsZXxqLQ==} engines: {node: '>=10'} dependencies: chownr: 2.0.0 fs-minipass: 2.1.0 - minipass: 4.2.8 + minipass: 5.0.0 minizlib: 2.1.2 mkdirp: 1.0.4 yallist: 4.0.0 dev: true - /terser-webpack-plugin@5.3.7(esbuild@0.17.8)(webpack@5.76.1): - resolution: {integrity: sha512-AfKwIktyP7Cu50xNjXF/6Qb5lBNzYaWpU6YfoX3uZicTx0zTy0stDDCsvjDapKsSDvOeWo5MEq4TmdBy2cNoHw==} + /terser-webpack-plugin@5.3.9(esbuild@0.18.17)(webpack@5.88.2): + resolution: {integrity: sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==} engines: {node: '>= 10.13.0'} peerDependencies: '@swc/core': '*' @@ -7505,33 +8277,33 @@ packages: uglify-js: optional: true dependencies: - '@jridgewell/trace-mapping': 0.3.18 - esbuild: 0.17.8 + '@jridgewell/trace-mapping': 0.3.19 + esbuild: 0.18.17 jest-worker: 27.5.1 - schema-utils: 3.1.1 + schema-utils: 3.3.0 serialize-javascript: 6.0.1 - terser: 5.16.9 - webpack: 5.76.1(esbuild@0.17.8) + terser: 5.21.0 + webpack: 5.88.2(esbuild@0.18.17) dev: true - /terser@5.16.3: - resolution: {integrity: sha512-v8wWLaS/xt3nE9dgKEWhNUFP6q4kngO5B8eYFUuebsu7Dw/UNAnpUod6UHo04jSSkv8TzKHjZDSd7EXdDQAl8Q==} + /terser@5.19.2: + resolution: {integrity: sha512-qC5+dmecKJA4cpYxRa5aVkKehYsQKc+AHeKl0Oe62aYjBL8ZA33tTljktDHJSaxxMnbI5ZYw+o/S2DxxLu8OfA==} engines: {node: '>=10'} hasBin: true dependencies: - '@jridgewell/source-map': 0.3.3 - acorn: 8.8.2 + '@jridgewell/source-map': 0.3.5 + acorn: 8.10.0 commander: 2.20.3 source-map-support: 0.5.21 dev: true - /terser@5.16.9: - resolution: {integrity: sha512-HPa/FdTB9XGI2H1/keLFZHxl6WNvAI4YalHGtDQTlMnJcoqSab1UwL4l1hGEhs6/GmLHBZIg/YgB++jcbzoOEg==} + /terser@5.21.0: + resolution: {integrity: sha512-WtnFKrxu9kaoXuiZFSGrcAvvBqAdmKx0SFNmVNYdJamMu9yyN3I/QF0FbH4QcqJQ+y1CJnzxGIKH0cSj+FGYRw==} engines: {node: '>=10'} hasBin: true dependencies: - '@jridgewell/source-map': 0.3.3 - acorn: 8.8.2 + '@jridgewell/source-map': 0.3.5 + acorn: 8.10.0 commander: 2.20.3 source-map-support: 0.5.21 dev: true @@ -7588,26 +8360,56 @@ packages: engines: {node: '>=0.6'} dev: true + /tough-cookie@4.1.3: + resolution: {integrity: sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==} + engines: {node: '>=6'} + dependencies: + psl: 1.9.0 + punycode: 2.3.0 + universalify: 0.2.0 + url-parse: 1.5.10 + dev: true + /tr46@0.0.3: resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} dev: true + /tr46@2.1.0: + resolution: {integrity: sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==} + engines: {node: '>=8'} + dependencies: + punycode: 2.3.0 + dev: true + /tree-kill@1.2.2: resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} hasBin: true dev: true - /trim-newlines@3.0.1: - resolution: {integrity: sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==} - engines: {node: '>=8'} + /trim-newlines@4.1.1: + resolution: {integrity: sha512-jRKj0n0jXWo6kh62nA5TEh3+4igKDXLvzBJcPpiizP7oOolUrYIxmVBG9TOtHYFHoddUk6YvAkGeGoSVTXfQXQ==} + engines: {node: '>=12'} + dev: true + + /tsconfig-paths@4.2.0: + resolution: {integrity: sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==} + engines: {node: '>=6'} + dependencies: + json5: 2.2.3 + minimist: 1.2.8 + strip-bom: 3.0.0 dev: true /tslib@1.14.1: resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} dev: true - /tslib@2.5.0: - resolution: {integrity: sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==} + /tslib@2.6.1: + resolution: {integrity: sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==} + dev: true + + /tslib@2.6.2: + resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} /tsutils@3.21.0(typescript@4.9.5): resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} @@ -7619,14 +8421,14 @@ packages: typescript: 4.9.5 dev: true - /tuf-js@1.1.3: - resolution: {integrity: sha512-jGYi5nG/kqgfTFQSdoN6PW9eIn+XRZqdXku+fSwNk6UpWIsWaV7pzAqPgFr85edOPhoyJDyBqCS+DCnHroMvrw==} + /tuf-js@1.1.7: + resolution: {integrity: sha512-i3P9Kgw3ytjELUfpuKVDNBJvk4u5bXL6gskv572mcevPbSKCV3zt3djhmlEQ65yERjIbOSncy7U4cQJaB1CBCg==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: - '@tufjs/models': 1.0.2 - make-fetch-happen: 11.0.3 + '@tufjs/models': 1.0.4 + debug: 4.3.4 + make-fetch-happen: 11.1.1 transitivePeerDependencies: - - bluebird - supports-color dev: true @@ -7637,11 +8439,6 @@ packages: prelude-ls: 1.2.1 dev: true - /type-fest@0.18.1: - resolution: {integrity: sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==} - engines: {node: '>=10'} - dev: true - /type-fest@0.20.2: resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} engines: {node: '>=10'} @@ -7652,14 +8449,9 @@ packages: engines: {node: '>=10'} dev: true - /type-fest@0.6.0: - resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==} - engines: {node: '>=8'} - dev: true - - /type-fest@0.8.1: - resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} - engines: {node: '>=8'} + /type-fest@1.4.0: + resolution: {integrity: sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==} + engines: {node: '>=10'} dev: true /type-is@1.6.18: @@ -7680,8 +8472,8 @@ packages: hasBin: true dev: true - /ua-parser-js@0.7.35: - resolution: {integrity: sha512-veRf7dawaj9xaWEu9HoTVn5Pggtc/qj+kqTOFvNiN1l0YdxwC1kvel57UCjThjGa3BHBihE8/UJAHI+uQHmd/g==} + /ua-parser-js@0.7.36: + resolution: {integrity: sha512-CPPLoCts2p7D8VbybttE3P2ylv0OBZEAy7a12DsulIEcAiMtWJy+PBgMXgWDI80D5UwqE8oQPHYnk13tm38M2Q==} dev: true /unbzip2-stream@1.4.3: @@ -7714,13 +8506,6 @@ packages: engines: {node: '>=4'} dev: true - /unique-filename@2.0.1: - resolution: {integrity: sha512-ODWHtkkdx3IAR+veKxFV+VBkUMcN+FaqzUUd7IZzt+0zhDZFPFxhlqwPF3YQvMHx1TD0tdgYl+kuPnJ8E6ql7A==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - dependencies: - unique-slug: 3.0.0 - dev: true - /unique-filename@3.0.0: resolution: {integrity: sha512-afXhuC55wkAmZ0P18QsVE6kp8JaxrEokN2HGIoIVv2ijHQd419H0+6EigAFcIzXeMIkcIkNBpB3L/DXB3cTS/g==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} @@ -7728,13 +8513,6 @@ packages: unique-slug: 4.0.0 dev: true - /unique-slug@3.0.0: - resolution: {integrity: sha512-8EyMynh679x/0gqE9fT9oilG+qEt+ibFyqjuVTsZn1+CMxH+XLlpvr2UZx4nVcCwTpx81nICr2JQFkM+HPLq4w==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - dependencies: - imurmurhash: 0.1.4 - dev: true - /unique-slug@4.0.0: resolution: {integrity: sha512-WrcA6AyEfqDX5bWige/4NQfPZMtASNVxdmWR76WESYQVAACSgWcR6e9i0mofqqBxYFtL4oAxPIptY73/0YE1DQ==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} @@ -7747,18 +8525,28 @@ packages: engines: {node: '>= 4.0.0'} dev: true + /universalify@0.2.0: + resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==} + engines: {node: '>= 4.0.0'} + dev: true + + /universalify@2.0.0: + resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} + engines: {node: '>= 10.0.0'} + dev: true + /unpipe@1.0.0: resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} engines: {node: '>= 0.8'} dev: true - /update-browserslist-db@1.0.10(browserslist@4.21.5): - resolution: {integrity: sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==} + /update-browserslist-db@1.0.13(browserslist@4.22.1): + resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} hasBin: true peerDependencies: browserslist: '>= 4.21.0' dependencies: - browserslist: 4.21.5 + browserslist: 4.22.1 escalade: 3.1.1 picocolors: 1.0.0 dev: true @@ -7769,6 +8557,13 @@ packages: punycode: 2.3.0 dev: true + /url-parse@1.5.10: + resolution: {integrity: sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==} + dependencies: + querystringify: 2.2.0 + requires-port: 1.0.0 + dev: true + /util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} dev: true @@ -7806,11 +8601,64 @@ packages: engines: {node: '>= 0.8'} dev: true + /vite@4.4.7(@types/node@18.18.5)(less@4.1.3)(sass@1.64.1)(terser@5.19.2): + resolution: {integrity: sha512-6pYf9QJ1mHylfVh39HpuSfMPojPSKVxZvnclX1K1FyZ1PXDOcLBibdq5t1qxJSnL63ca8Wf4zts6mD8u8oc9Fw==} + engines: {node: ^14.18.0 || >=16.0.0} + hasBin: true + peerDependencies: + '@types/node': '>= 14' + less: '*' + lightningcss: ^1.21.0 + sass: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + dependencies: + '@types/node': 18.18.5 + esbuild: 0.18.17 + less: 4.1.3 + postcss: 8.4.31 + rollup: 3.29.4 + sass: 1.64.1 + terser: 5.19.2 + optionalDependencies: + fsevents: 2.3.3 + dev: true + /void-elements@2.0.1: resolution: {integrity: sha512-qZKX4RnBzH2ugr8Lxa7x+0V6XD9Sb/ouARtiasEQCHB1EVU4NXtmHsDDrx1dO4ne5fc3J6EW05BP1Dl0z0iung==} engines: {node: '>=0.10.0'} dev: true + /w3c-hr-time@1.0.2: + resolution: {integrity: sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==} + deprecated: Use your platform's native performance.now() and performance.timeOrigin. + dependencies: + browser-process-hrtime: 1.0.0 + dev: true + + /w3c-xmlserializer@2.0.0: + resolution: {integrity: sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==} + engines: {node: '>=10'} + dependencies: + xml-name-validator: 3.0.0 + dev: true + /watchpack@2.4.0: resolution: {integrity: sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==} engines: {node: '>=10.13.0'} @@ -7835,75 +8683,91 @@ packages: resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} dev: true - /webpack-dev-middleware@5.3.3(webpack@5.76.1): + /webidl-conversions@5.0.0: + resolution: {integrity: sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==} + engines: {node: '>=8'} + dev: true + + /webidl-conversions@6.1.0: + resolution: {integrity: sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==} + engines: {node: '>=10.4'} + dev: true + + /webpack-dev-middleware@5.3.3(webpack@5.88.2): resolution: {integrity: sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==} engines: {node: '>= 12.13.0'} peerDependencies: webpack: ^4.0.0 || ^5.0.0 dependencies: - colorette: 2.0.19 - memfs: 3.5.0 + colorette: 2.0.20 + memfs: 3.5.3 mime-types: 2.1.35 range-parser: 1.2.1 - schema-utils: 4.0.0 - webpack: 5.76.1(esbuild@0.17.8) + schema-utils: 4.2.0 + webpack: 5.88.2(esbuild@0.18.17) dev: true - /webpack-dev-middleware@6.0.1(webpack@5.76.1): - resolution: {integrity: sha512-PZPZ6jFinmqVPJZbisfggDiC+2EeGZ1ZByyMP5sOFJcPPWSexalISz+cvm+j+oYPT7FIJyxT76esjnw9DhE5sw==} + /webpack-dev-middleware@6.1.1(webpack@5.88.2): + resolution: {integrity: sha512-y51HrHaFeeWir0YO4f0g+9GwZawuigzcAdRNon6jErXy/SqV/+O6eaVAzDqE6t3e3NpGeR5CS+cCDaTC+V3yEQ==} engines: {node: '>= 14.15.0'} peerDependencies: webpack: ^5.0.0 + peerDependenciesMeta: + webpack: + optional: true dependencies: - colorette: 2.0.19 - memfs: 3.5.0 + colorette: 2.0.20 + memfs: 3.5.3 mime-types: 2.1.35 range-parser: 1.2.1 - schema-utils: 4.0.0 - webpack: 5.76.1(esbuild@0.17.8) + schema-utils: 4.2.0 + webpack: 5.88.2(esbuild@0.18.17) dev: true - /webpack-dev-server@4.11.1(webpack@5.76.1): - resolution: {integrity: sha512-lILVz9tAUy1zGFwieuaQtYiadImb5M3d+H+L1zDYalYoDl0cksAB1UNyuE5MMWJrG6zR1tXkCP2fitl7yoUJiw==} + /webpack-dev-server@4.15.1(webpack@5.88.2): + resolution: {integrity: sha512-5hbAst3h3C3L8w6W4P96L5vaV0PxSmJhxZvWKYIdgxOQm8pNZ5dEOmmSLBVpP85ReeyRt6AS1QJNyo/oFFPeVA==} engines: {node: '>= 12.13.0'} hasBin: true peerDependencies: webpack: ^4.37.0 || ^5.0.0 webpack-cli: '*' peerDependenciesMeta: + webpack: + optional: true webpack-cli: optional: true dependencies: - '@types/bonjour': 3.5.10 - '@types/connect-history-api-fallback': 1.3.5 - '@types/express': 4.17.17 - '@types/serve-index': 1.9.1 - '@types/serve-static': 1.15.1 - '@types/sockjs': 0.3.33 - '@types/ws': 8.5.4 + '@types/bonjour': 3.5.11 + '@types/connect-history-api-fallback': 1.5.1 + '@types/express': 4.17.19 + '@types/serve-index': 1.9.2 + '@types/serve-static': 1.15.3 + '@types/sockjs': 0.3.34 + '@types/ws': 8.5.7 ansi-html-community: 0.0.8 bonjour-service: 1.1.1 chokidar: 3.5.3 - colorette: 2.0.19 + colorette: 2.0.20 compression: 1.7.4 connect-history-api-fallback: 2.0.0 default-gateway: 6.0.3 express: 4.18.2 graceful-fs: 4.2.11 - html-entities: 2.3.3 - http-proxy-middleware: 2.0.6(@types/express@4.17.17) - ipaddr.js: 2.0.1 - open: 8.4.1 + html-entities: 2.4.0 + http-proxy-middleware: 2.0.6(@types/express@4.17.19) + ipaddr.js: 2.1.0 + launch-editor: 2.6.1 + open: 8.4.2 p-retry: 4.6.2 rimraf: 3.0.2 - schema-utils: 4.0.0 + schema-utils: 4.2.0 selfsigned: 2.1.1 serve-index: 1.9.1 sockjs: 0.3.24 spdy: 4.0.2 - webpack: 5.76.1(esbuild@0.17.8) - webpack-dev-middleware: 5.3.3(webpack@5.76.1) - ws: 8.13.0 + webpack: 5.88.2(esbuild@0.18.17) + webpack-dev-middleware: 5.3.3(webpack@5.88.2) + ws: 8.14.2 transitivePeerDependencies: - bufferutil - debug @@ -7911,12 +8775,12 @@ packages: - utf-8-validate dev: true - /webpack-merge@5.8.0: - resolution: {integrity: sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q==} + /webpack-merge@5.9.0: + resolution: {integrity: sha512-6NbRQw4+Sy50vYNTw7EyOn41OZItPiXB8GNv3INSoe3PSFaHJEz3SHTrYVaRm2LilNGnFUzh0FAwqPEmU/CwDg==} engines: {node: '>=10.0.0'} dependencies: clone-deep: 4.0.1 - wildcard: 2.0.0 + wildcard: 2.0.1 dev: true /webpack-sources@3.2.3: @@ -7924,7 +8788,7 @@ packages: engines: {node: '>=10.13.0'} dev: true - /webpack-subresource-integrity@5.1.0(webpack@5.76.1): + /webpack-subresource-integrity@5.1.0(webpack@5.88.2): resolution: {integrity: sha512-sacXoX+xd8r4WKsy9MvH/q/vBtEHr86cpImXwyg74pFIpERKt6FmB8cXpeuh0ZLgclOlHI4Wcll7+R5L02xk9Q==} engines: {node: '>= 12'} peerDependencies: @@ -7935,11 +8799,11 @@ packages: optional: true dependencies: typed-assert: 1.0.9 - webpack: 5.76.1(esbuild@0.17.8) + webpack: 5.88.2(esbuild@0.18.17) dev: true - /webpack@5.76.1(esbuild@0.17.8): - resolution: {integrity: sha512-4+YIK4Abzv8172/SGqObnUjaIHjLEuUasz9EwQj/9xmPPkYJy2Mh03Q/lJfSD3YLzbxy5FeTq5Uw0323Oh6SJQ==} + /webpack@5.88.2(esbuild@0.18.17): + resolution: {integrity: sha512-JmcgNZ1iKj+aiR0OvTYtWQqJwq37Pf683dY9bVORwVbUrDhLhdn/PlO2sHsFHPkj7sHNQF3JwaAkp49V+Sq1tQ==} engines: {node: '>=10.13.0'} hasBin: true peerDependencies: @@ -7948,17 +8812,17 @@ packages: webpack-cli: optional: true dependencies: - '@types/eslint-scope': 3.7.4 - '@types/estree': 0.0.51 - '@webassemblyjs/ast': 1.11.1 - '@webassemblyjs/wasm-edit': 1.11.1 - '@webassemblyjs/wasm-parser': 1.11.1 - acorn: 8.8.2 - acorn-import-assertions: 1.8.0(acorn@8.8.2) - browserslist: 4.21.5 + '@types/eslint-scope': 3.7.5 + '@types/estree': 1.0.2 + '@webassemblyjs/ast': 1.11.6 + '@webassemblyjs/wasm-edit': 1.11.6 + '@webassemblyjs/wasm-parser': 1.11.6 + acorn: 8.10.0 + acorn-import-assertions: 1.9.0(acorn@8.10.0) + browserslist: 4.22.1 chrome-trace-event: 1.0.3 - enhanced-resolve: 5.12.0 - es-module-lexer: 0.9.3 + enhanced-resolve: 5.15.0 + es-module-lexer: 1.3.1 eslint-scope: 5.1.1 events: 3.3.0 glob-to-regexp: 0.4.1 @@ -7967,9 +8831,9 @@ packages: loader-runner: 4.3.0 mime-types: 2.1.35 neo-async: 2.6.2 - schema-utils: 3.1.1 + schema-utils: 3.3.0 tapable: 2.2.1 - terser-webpack-plugin: 5.3.7(esbuild@0.17.8)(webpack@5.76.1) + terser-webpack-plugin: 5.3.9(esbuild@0.18.17)(webpack@5.88.2) watchpack: 2.4.0 webpack-sources: 3.2.3 transitivePeerDependencies: @@ -7992,6 +8856,16 @@ packages: engines: {node: '>=0.8.0'} dev: true + /whatwg-encoding@1.0.5: + resolution: {integrity: sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==} + dependencies: + iconv-lite: 0.4.24 + dev: true + + /whatwg-mimetype@2.3.0: + resolution: {integrity: sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==} + dev: true + /whatwg-url@5.0.0: resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} dependencies: @@ -7999,6 +8873,15 @@ packages: webidl-conversions: 3.0.1 dev: true + /whatwg-url@8.7.0: + resolution: {integrity: sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==} + engines: {node: '>=10'} + dependencies: + lodash: 4.17.21 + tr46: 2.1.0 + webidl-conversions: 6.1.0 + dev: true + /which@1.3.1: resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} hasBin: true @@ -8014,8 +8897,8 @@ packages: isexe: 2.0.0 dev: true - /which@3.0.0: - resolution: {integrity: sha512-nla//68K9NU6yRiwDY/Q8aU6siKlSs64aEC7+IV56QoAuyQT2ovsJcgGYGyqMOmI/CGN1BOR6mM5EN0FBO+zyQ==} + /which@3.0.1: + resolution: {integrity: sha512-XA1b62dzQzLfaEOSQFTCOd5KFf/1VSzZo7/7TUjnya6u0vGGKzU96UQBZTAThCb2j4/xjBAyii1OhRLJEivHvg==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} hasBin: true dependencies: @@ -8028,13 +8911,8 @@ packages: string-width: 4.2.3 dev: true - /wildcard@2.0.0: - resolution: {integrity: sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==} - dev: true - - /word-wrap@1.2.3: - resolution: {integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==} - engines: {node: '>=0.10.0'} + /wildcard@2.0.1: + resolution: {integrity: sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==} dev: true /wrap-ansi@7.0.0: @@ -8046,16 +8924,38 @@ packages: strip-ansi: 6.0.1 dev: true + /wrap-ansi@8.1.0: + resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} + engines: {node: '>=12'} + dependencies: + ansi-styles: 6.2.1 + string-width: 5.1.2 + strip-ansi: 7.1.0 + dev: true + /wrappy@1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} dev: true - /write-file-atomic@5.0.0: - resolution: {integrity: sha512-R7NYMnHSlV42K54lwY9lvW6MnSm1HSJqZL3xiSgi9E7//FYaI74r2G0rd+/X6VAMkHEdzxQaU5HUOXWUz5kA/w==} + /write-file-atomic@5.0.1: + resolution: {integrity: sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: imurmurhash: 0.1.4 - signal-exit: 3.0.7 + signal-exit: 4.1.0 + dev: true + + /ws@7.5.9: + resolution: {integrity: sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==} + engines: {node: '>=8.3.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ^5.0.2 + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true dev: true /ws@8.11.0: @@ -8084,6 +8984,27 @@ packages: optional: true dev: true + /ws@8.14.2: + resolution: {integrity: sha512-wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + dev: true + + /xml-name-validator@3.0.0: + resolution: {integrity: sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==} + dev: true + + /xmlchars@2.2.0: + resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==} + dev: true + /y18n@5.0.8: resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} engines: {node: '>=10'} @@ -8097,11 +9018,6 @@ packages: resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} dev: true - /yaml@1.10.2: - resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} - engines: {node: '>= 6'} - dev: true - /yargs-parser@20.2.9: resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==} engines: {node: '>=10'} @@ -8125,8 +9041,8 @@ packages: yargs-parser: 20.2.9 dev: true - /yargs@17.6.2: - resolution: {integrity: sha512-1/9UrdHjDZc0eOU0HxOHoS78C69UD3JRMvzlJ7S79S2nTaWRA/whGCTV8o9e/N/1Va9YIV7Q4sOxD8VV4pCWOw==} + /yargs@17.7.1: + resolution: {integrity: sha512-cwiTb08Xuv5fqF4AovYacTFNxk62th7LKJ6BL9IGUpTJrWoU7/7WdQGTP2SjKf1dUNBGzDd28p/Yfs/GI6JrLw==} engines: {node: '>=12'} dependencies: cliui: 8.0.1 @@ -8138,8 +9054,8 @@ packages: yargs-parser: 21.1.1 dev: true - /yargs@17.7.1: - resolution: {integrity: sha512-cwiTb08Xuv5fqF4AovYacTFNxk62th7LKJ6BL9IGUpTJrWoU7/7WdQGTP2SjKf1dUNBGzDd28p/Yfs/GI6JrLw==} + /yargs@17.7.2: + resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} engines: {node: '>=12'} dependencies: cliui: 8.0.1 @@ -8163,7 +9079,12 @@ packages: engines: {node: '>=10'} dev: true - /zone.js@0.12.0: - resolution: {integrity: sha512-XtC+I5dXU14HrzidAKBNMqneIVUykLEAA1x+v4KVrd6AUPWlwYORF8KgsVqvgdHiKZ4BkxxjvYi/ksEixTPR0Q==} + /yocto-queue@1.0.0: + resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} + engines: {node: '>=12.20'} + dev: true + + /zone.js@0.13.3: + resolution: {integrity: sha512-MKPbmZie6fASC/ps4dkmIhaT5eonHkEt6eAy80K42tAm0G2W+AahLJjbfi6X9NPdciOE9GRFTTM8u2IiF6O3ww==} dependencies: - tslib: 2.5.0 + tslib: 2.6.2 diff --git a/src/app/app.component.ts b/src/app/app.component.ts index 264c7c5..b47a087 100644 --- a/src/app/app.component.ts +++ b/src/app/app.component.ts @@ -1,14 +1,14 @@ -import { Component, Inject } from '@angular/core'; +import { Component, Inject, OnInit } from '@angular/core'; import { DOCUMENT } from '@angular/common'; import { TranslateService } from '@ngx-translate/core'; import { getLanguage, getLanguageDirection } from 'src/utils'; @Component({ - selector: 'app-root', + selector: 'sith-root', template: '', styleUrls: [], }) -export class AppComponent { +export class AppComponent implements OnInit { public title = 'sith4'; public constructor( diff --git a/src/app/components/common/icons/expand_less/expand_less.ts b/src/app/components/common/icons/expand_less/expand_less.ts index 12c8e79..d100111 100644 --- a/src/app/components/common/icons/expand_less/expand_less.ts +++ b/src/app/components/common/icons/expand_less/expand_less.ts @@ -1,7 +1,7 @@ import { Component } from '@angular/core'; @Component({ - selector: 'icon-expand-less', + selector: 'sith-icon-expand-less', templateUrl: './expand_less.svg', styleUrls: ['../icons.scss'], }) diff --git a/src/app/components/common/icons/expand_more/expand_more.ts b/src/app/components/common/icons/expand_more/expand_more.ts index 6f1270e..4574184 100644 --- a/src/app/components/common/icons/expand_more/expand_more.ts +++ b/src/app/components/common/icons/expand_more/expand_more.ts @@ -1,7 +1,7 @@ import { Component } from '@angular/core'; @Component({ - selector: 'icon-expand-more', + selector: 'sith-icon-expand-more', templateUrl: './expand_more.svg', styleUrls: ['../icons.scss'], }) diff --git a/src/app/components/common/icons/icons.scss b/src/app/components/common/icons/icons.scss index 931d05c..ba5d02e 100644 --- a/src/app/components/common/icons/icons.scss +++ b/src/app/components/common/icons/icons.scss @@ -1,4 +1,4 @@ svg { - max-width: 100%; - max-height: 100%; + max-width: 100%; + max-height: 100%; } diff --git a/src/app/components/common/select/select.component.ts b/src/app/components/common/select/select.component.ts index aeb514b..6df5935 100644 --- a/src/app/components/common/select/select.component.ts +++ b/src/app/components/common/select/select.component.ts @@ -8,7 +8,7 @@ export interface ISelectOption { } @Component({ - selector: 'app-select', + selector: 'sith-select', templateUrl: './select.html', styleUrls: ['./select.scss'], }) diff --git a/src/app/components/common/select/select.html b/src/app/components/common/select/select.html index 75ffecf..edd1082 100644 --- a/src/app/components/common/select/select.html +++ b/src/app/components/common/select/select.html @@ -1,16 +1,27 @@
- - + +
diff --git a/src/app/components/common/select/select.scss b/src/app/components/common/select/select.scss index dfdfcba..f53f835 100644 --- a/src/app/components/common/select/select.scss +++ b/src/app/components/common/select/select.scss @@ -7,105 +7,105 @@ $background-color-hover: #1e242e; $text-color: #fff; .select { - width: 100%; - height: $height; - position: relative; + width: 100%; + height: $height; + position: relative; - > .selector { - cursor: pointer; - position: relative; - background-color: $background-color; - border: 0; - border-radius: $border-radius; - display: flex; - flex-direction: row; - height: $height; - width: 100%; - align-items: center; - justify-content: space-between; - padding: $padding; + > .selector { + cursor: pointer; + position: relative; + background-color: $background-color; + border: 0; + border-radius: $border-radius; + display: flex; + flex-direction: row; + height: $height; + width: 100%; + align-items: center; + justify-content: space-between; + padding: $padding; - &.active { - border-radius: $border-radius $border-radius 0 0; - } + &.active { + border-radius: $border-radius $border-radius 0 0; + } - > .content { - height: 100%; - display: flex; - flex-direction: row; - gap: $padding; - align-items: center; + > .content { + height: 100%; + display: flex; + flex-direction: row; + gap: $padding; + align-items: center; - > .image { - width: 16px; - height: 16px; - border-radius: 50%; - } + > .image { + width: 16px; + height: 16px; + border-radius: 50%; + } - > .label { - font-family: Inter, sans-serif; - font-size: 12px; - color: $text-color; - } - } + > .label { + font-family: Inter, sans-serif; + font-size: 12px; + color: $text-color; + } + } - > .icon { - position: absolute; - display: block; - fill: $text-color; - height: $icon-size; - width: $icon-size; - right: calc(($height - $icon-size) / 2); - top: calc(($height - $icon-size) / 2); + > .icon { + position: absolute; + display: block; + fill: $text-color; + height: $icon-size; + width: $icon-size; + right: calc(($height - $icon-size) / 2); + top: calc(($height - $icon-size) / 2); &.rtl { right: unset; left: calc(($height - $icon-size) / 2); } - } - } + } + } - > .dropdown { - position: absolute; - top: $height; - background-color: $background-color; - width: 100%; - margin: 0; - padding: 0; - border-top: 1px solid var(--user-custom-color); - border-radius: 0 0 $border-radius $border-radius; + > .dropdown { + position: absolute; + top: $height; + background-color: $background-color; + width: 100%; + margin: 0; + padding: 0; + border-top: 1px solid var(--user-custom-color); + border-radius: 0 0 $border-radius $border-radius; max-height: 200px; overflow-y: scroll; - > .item { - cursor: pointer; - list-style-type: none; - height: $height; - padding: $padding; - display: flex; - flex-direction: row; - gap: $padding; - align-items: center; + > .item { + cursor: pointer; + list-style-type: none; + height: $height; + padding: $padding; + display: flex; + flex-direction: row; + gap: $padding; + align-items: center; - &:hover { - background-color: $background-color-hover; + &:hover { + background-color: $background-color-hover; - &:last-of-type { - border-radius: 0 0 $border-radius $border-radius; - } - } + &:last-of-type { + border-radius: 0 0 $border-radius $border-radius; + } + } - > .image { - width: 16px; - height: 16px; + > .image { + width: 16px; + height: 16px; object-fit: contain; - } + } - > .label { - font-family: Inter, sans-serif; - font-size: 12px; - color: $text-color; - } - } - } + > .label { + font-family: Inter, sans-serif; + font-size: 12px; + color: $text-color; + } + } + } } diff --git a/src/app/components/mobile/lang-selector/lang-selector.component.ts b/src/app/components/mobile/lang-selector/lang-selector.component.ts index af9caa3..9e54eeb 100644 --- a/src/app/components/mobile/lang-selector/lang-selector.component.ts +++ b/src/app/components/mobile/lang-selector/lang-selector.component.ts @@ -5,7 +5,7 @@ import { ISelectOption } from '../../common/select/select.component'; import { Observable } from 'rxjs'; @Component({ - selector: 'app-mobile-lang-selector', + selector: 'sith-mobile-lang-selector', templateUrl: './lang-selector.html', styleUrls: ['./lang-selector.scss'], }) diff --git a/src/app/components/mobile/lang-selector/lang-selector.html b/src/app/components/mobile/lang-selector/lang-selector.html index 8241bfb..2416ad3 100644 --- a/src/app/components/mobile/lang-selector/lang-selector.html +++ b/src/app/components/mobile/lang-selector/lang-selector.html @@ -1,7 +1,7 @@ diff --git a/src/app/components/mobile/lang-selector/lang-selector.scss b/src/app/components/mobile/lang-selector/lang-selector.scss index a1c7fee..00831ee 100644 --- a/src/app/components/mobile/lang-selector/lang-selector.scss +++ b/src/app/components/mobile/lang-selector/lang-selector.scss @@ -1,36 +1,34 @@ $link-color: #0d80c8; .selector { - width: 100%; - height: 75px; - display: flex; - flex-direction: column; - gap: 10px; + width: 100%; + height: 75px; + display: flex; + flex-direction: column; + gap: 10px; - > div { - display: flex; - flex-direction: column; - gap: 2px; + > div { + display: flex; + flex-direction: column; + gap: 2px; - .link { - width: fit-content; - margin: 0 auto; - color: $link-color; - height: 16px; - text-decoration: none; - font-family: Inter, sans-serif; - font-size: 10px; - font-style: italic; - font-weight: 400; - line-height: 12px; - text-align: center; - cursor: pointer; + .link { + width: fit-content; + margin: 0 auto; + color: $link-color; + height: 16px; + text-decoration: none; + font-family: Inter, sans-serif; + font-size: 10px; + font-style: italic; + font-weight: 400; + line-height: 12px; + text-align: center; + cursor: pointer; - &:hover { - text-decoration: underline; - } - } - } + &:hover { + text-decoration: underline; + } + } + } } - - diff --git a/src/app/components/mobile/subtitle/subtitle.component.ts b/src/app/components/mobile/subtitle/subtitle.component.ts index 347a135..170fbbc 100644 --- a/src/app/components/mobile/subtitle/subtitle.component.ts +++ b/src/app/components/mobile/subtitle/subtitle.component.ts @@ -2,7 +2,7 @@ import { Component, Input } from '@angular/core'; import { isRTL } from 'src/utils/document'; @Component({ - selector: 'app-mobile-subtitle', + selector: 'sith-mobile-subtitle', templateUrl: './subtitle.html', styleUrls: ['./subtitle.scss'], }) diff --git a/src/app/components/mobile/subtitle/subtitle.scss b/src/app/components/mobile/subtitle/subtitle.scss index e928568..91ed524 100644 --- a/src/app/components/mobile/subtitle/subtitle.scss +++ b/src/app/components/mobile/subtitle/subtitle.scss @@ -2,18 +2,18 @@ $text-color: #000; $dark-mode-text-color: #fff; h2 { - font-family: Inter, sans-serif; - font-style: normal; - font-weight: 400; - font-size: 12px; - line-height: 15px; - text-transform: uppercase; - margin: 0; + font-family: Inter, sans-serif; + font-style: normal; + font-weight: 400; + font-size: 12px; + line-height: 15px; + text-transform: uppercase; + margin: 0; } .bordered { - border-left: 4px solid $text-color; - padding-left: 6px; + border-left: 4px solid $text-color; + padding-left: 6px; &.rtl { border-left: none !important; @@ -26,11 +26,11 @@ h2 { } } - &.dark-mode { - border-left: 4px solid $dark-mode-text-color; - } + &.dark-mode { + border-left: 4px solid $dark-mode-text-color; + } } .dark-mode { - color: $dark-mode-text-color; + color: $dark-mode-text-color; } diff --git a/src/app/components/pages/404/not-found.component.ts b/src/app/components/pages/404/not-found.component.ts index 9eeeb42..b8e7118 100644 --- a/src/app/components/pages/404/not-found.component.ts +++ b/src/app/components/pages/404/not-found.component.ts @@ -1,7 +1,7 @@ import { Component } from '@angular/core'; @Component({ - selector: 'app-not-found', + selector: 'sith-not-found', templateUrl: './not-found.html', styleUrls: [], }) diff --git a/src/app/components/pages/home/home.component.ts b/src/app/components/pages/home/home.component.ts index 03fc17a..957b274 100644 --- a/src/app/components/pages/home/home.component.ts +++ b/src/app/components/pages/home/home.component.ts @@ -1,7 +1,7 @@ import { Component } from '@angular/core'; @Component({ - selector: 'app-home', + selector: 'sith-home', templateUrl: './home.html', styleUrls: [], }) diff --git a/src/app/components/pages/home/home.html b/src/app/components/pages/home/home.html index fa564a3..56a8ef5 100644 --- a/src/app/components/pages/home/home.html +++ b/src/app/components/pages/home/home.html @@ -1 +1 @@ - + diff --git a/src/app/styles/inter.scss b/src/app/styles/inter.scss index b303f90..c15698c 100644 --- a/src/app/styles/inter.scss +++ b/src/app/styles/inter.scss @@ -1,62 +1,62 @@ @font-face { - font-family: Inter; - src: '../assets/fonts/Inter/Inter-Thin.ttf' format('truetype'); - font-weight: 100; - font-style: normal; + font-family: Inter; + src: '../assets/fonts/Inter/Inter-Thin.ttf' format('truetype'); + font-weight: 100; + font-style: normal; } @font-face { - font-family: Inter; - src: '../assets/fonts/Inter/Inter-ExtraLight.ttf' format('truetype'); - font-weight: 200; - font-style: normal; + font-family: Inter; + src: '../assets/fonts/Inter/Inter-ExtraLight.ttf' format('truetype'); + font-weight: 200; + font-style: normal; } @font-face { - font-family: Inter; - src: '../assets/fonts/Inter/Inter-Light.ttf' format('truetype'); - font-weight: 300; - font-style: normal; + font-family: Inter; + src: '../assets/fonts/Inter/Inter-Light.ttf' format('truetype'); + font-weight: 300; + font-style: normal; } @font-face { - font-family: Inter; - src: '../assets/fonts/Inter/Inter-Regular.ttf' format('truetype'); - font-weight: 400; - font-style: normal; + font-family: Inter; + src: '../assets/fonts/Inter/Inter-Regular.ttf' format('truetype'); + font-weight: 400; + font-style: normal; } @font-face { - font-family: Inter; - src: '../assets/fonts/Inter/Inter-Medium.ttf' format('truetype'); - font-weight: 500; - font-style: normal; + font-family: Inter; + src: '../assets/fonts/Inter/Inter-Medium.ttf' format('truetype'); + font-weight: 500; + font-style: normal; } @font-face { - font-family: Inter; - src: '../assets/fonts/Inter/Inter-SemiBold.ttf' format('truetype'); - font-weight: 600; - font-style: normal; + font-family: Inter; + src: '../assets/fonts/Inter/Inter-SemiBold.ttf' format('truetype'); + font-weight: 600; + font-style: normal; } @font-face { - font-family: Inter; - src: '../assets/fonts/Inter/Inter-Bold.ttf' format('truetype'); - font-weight: 700; - font-style: normal; + font-family: Inter; + src: '../assets/fonts/Inter/Inter-Bold.ttf' format('truetype'); + font-weight: 700; + font-style: normal; } @font-face { - font-family: Inter; - src: '../assets/fonts/Inter/Inter-ExtraBold.ttf' format('truetype'); - font-weight: 800; - font-style: normal; + font-family: Inter; + src: '../assets/fonts/Inter/Inter-ExtraBold.ttf' format('truetype'); + font-weight: 800; + font-style: normal; } @font-face { - font-family: Inter; - src: '../assets/fonts/Inter/Inter-Black.ttf' format('truetype'); - font-weight: 900; - font-style: normal; + font-family: Inter; + src: '../assets/fonts/Inter/Inter-Black.ttf' format('truetype'); + font-weight: 900; + font-style: normal; } diff --git a/src/app/styles/roboto.scss b/src/app/styles/roboto.scss index fbcb8bb..d686b43 100644 --- a/src/app/styles/roboto.scss +++ b/src/app/styles/roboto.scss @@ -1,83 +1,83 @@ @font-face { - font-family: Roboto; - src: '../assets/fonts/Roboto/Roboto-Thin.ttf' format('truetype'); - font-weight: 100; - font-style: normal; + font-family: Roboto; + src: '../assets/fonts/Roboto/Roboto-Thin.ttf' format('truetype'); + font-weight: 100; + font-style: normal; } @font-face { - font-family: Roboto; - src: '../assets/fonts/Roboto/Roboto-ThinItalic.ttf' format('truetype'); - font-weight: 100; - font-style: italic; + font-family: Roboto; + src: '../assets/fonts/Roboto/Roboto-ThinItalic.ttf' format('truetype'); + font-weight: 100; + font-style: italic; } @font-face { - font-family: Roboto; - src: '../assets/fonts/Roboto/Roboto-Light.ttf' format('truetype'); - font-weight: 300; - font-style: normal; + font-family: Roboto; + src: '../assets/fonts/Roboto/Roboto-Light.ttf' format('truetype'); + font-weight: 300; + font-style: normal; } @font-face { - font-family: Roboto; - src: '../assets/fonts/Roboto/Roboto-LightItalic.ttf' format('truetype'); - font-weight: 300; - font-style: italic; + font-family: Roboto; + src: '../assets/fonts/Roboto/Roboto-LightItalic.ttf' format('truetype'); + font-weight: 300; + font-style: italic; } @font-face { - font-family: Roboto; - src: '../assets/fonts/Roboto/Roboto-Regular.ttf' format('truetype'); - font-weight: 400; - font-style: normal; + font-family: Roboto; + src: '../assets/fonts/Roboto/Roboto-Regular.ttf' format('truetype'); + font-weight: 400; + font-style: normal; } @font-face { - font-family: Roboto; - src: '../assets/fonts/Roboto/Roboto-Italic.ttf' format('truetype'); - font-weight: 400; - font-style: italic; + font-family: Roboto; + src: '../assets/fonts/Roboto/Roboto-Italic.ttf' format('truetype'); + font-weight: 400; + font-style: italic; } @font-face { - font-family: Roboto; - src: '../assets/fonts/Roboto/Roboto-Medium.ttf' format('truetype'); - font-weight: 500; - font-style: normal; + font-family: Roboto; + src: '../assets/fonts/Roboto/Roboto-Medium.ttf' format('truetype'); + font-weight: 500; + font-style: normal; } @font-face { - font-family: Roboto; - src: '../assets/fonts/Roboto/Roboto-MediumItalic.ttf' format('truetype'); - font-weight: 500; - font-style: italic; + font-family: Roboto; + src: '../assets/fonts/Roboto/Roboto-MediumItalic.ttf' format('truetype'); + font-weight: 500; + font-style: italic; } @font-face { - font-family: Roboto; - src: '../assets/fonts/Roboto/Roboto-Bold.ttf' format('truetype'); - font-weight: 700; - font-style: normal; + font-family: Roboto; + src: '../assets/fonts/Roboto/Roboto-Bold.ttf' format('truetype'); + font-weight: 700; + font-style: normal; } @font-face { - font-family: Roboto; - src: '../assets/fonts/Roboto/Roboto-BoldItalic.ttf' format('truetype'); - font-weight: 700; - font-style: italic; + font-family: Roboto; + src: '../assets/fonts/Roboto/Roboto-BoldItalic.ttf' format('truetype'); + font-weight: 700; + font-style: italic; } @font-face { - font-family: Roboto; - src: '../assets/fonts/Roboto/Roboto-Black.ttf' format('truetype'); - font-weight: 900; - font-style: normal; + font-family: Roboto; + src: '../assets/fonts/Roboto/Roboto-Black.ttf' format('truetype'); + font-weight: 900; + font-style: normal; } @font-face { - font-family: Roboto; - src: '../assets/fonts/Roboto/Roboto-BlackItalic.ttf' format('truetype'); - font-weight: 900; - font-style: italic; + font-family: Roboto; + src: '../assets/fonts/Roboto/Roboto-BlackItalic.ttf' format('truetype'); + font-weight: 900; + font-style: italic; } diff --git a/src/app/styles/styles.scss b/src/app/styles/styles.scss index 03762a4..9b30c23 100644 --- a/src/app/styles/styles.scss +++ b/src/app/styles/styles.scss @@ -8,21 +8,21 @@ $background-color: #21262d; // -- :root { - --user-custom-color: $user-custom-color; + --user-custom-color: $user-custom-color; } *, *::before, *::after { - box-sizing: border-box; + box-sizing: border-box; } body, html { - margin: 0; - padding: 0; - height: 100%; - width: 100%; + margin: 0; + padding: 0; + height: 100%; + width: 100%; } /* Firefox */ @@ -48,8 +48,8 @@ html { // TODO: remove this once the theme is implemented body { - padding: 30px; - background-color: $background-color; + padding: 30px; + background-color: $background-color; } // -- diff --git a/src/assets/i18n/languages.json b/src/assets/i18n/languages.json index e427f06..d439203 100644 --- a/src/assets/i18n/languages.json +++ b/src/assets/i18n/languages.json @@ -1,72 +1,103 @@ [ { - "codes": ["en", "en-US", "en-GB"], + "codes": [ + "en", + "en-US", + "en-GB" + ], "filename": "en-US", "label": "English", "image": "assets/flags/en-GB.svg", - "direction": "ltr" - }, + "direction": "ltr" + }, { - "codes": ["fr", "fr-FR"], + "codes": [ + "fr", + "fr-FR" + ], "filename": "fr-FR", "label": "Français", "image": "assets/flags/fr-FR.svg", - "direction": "ltr" + "direction": "ltr" + }, + { + "codes": [ + "es", + "es-ES" + ], + "filename": "es-ES", + "label": "Español", + "image": "assets/flags/es-ES.svg", + "direction": "ltr" + }, + { + "codes": [ + "de", + "de-DE" + ], + "filename": "de-DE", + "label": "Deutsch", + "image": "assets/flags/de-DE.svg", + "direction": "ltr" + }, + { + "codes": [ + "it", + "it-IT" + ], + "filename": "it-IT", + "label": "Italiano", + "image": "assets/flags/it-IT.svg", + "direction": "ltr" + }, + { + "codes": [ + "ru", + "ru-RU" + ], + "filename": "ru-RU", + "label": "Русский", + "image": "assets/flags/ru-RU.svg", + "direction": "ltr" + }, + { + "codes": [ + "uk", + "uk-UA" + ], + "filename": "uk-UA", + "label": "Українська", + "image": "assets/flags/uk-UA.svg", + "direction": "ltr" + }, + { + "codes": [ + "zh", + "zh-CN" + ], + "filename": "zh-CN", + "label": "中文", + "image": "assets/flags/zh-CN.svg", + "direction": "ltr" + }, + { + "codes": [ + "ja", + "ja-JP" + ], + "filename": "ja-JP", + "label": "日本語", + "image": "assets/flags/ja-JP.svg", + "direction": "ltr" }, - { - "codes": ["es", "es-ES"], - "filename": "es-ES", - "label": "Español", - "image": "assets/flags/es-ES.svg", - "direction": "ltr" - }, - { - "codes": ["de", "de-DE"], - "filename": "de-DE", - "label": "Deutsch", - "image": "assets/flags/de-DE.svg", - "direction": "ltr" - }, - { - "codes": ["it", "it-IT"], - "filename": "it-IT", - "label": "Italiano", - "image": "assets/flags/it-IT.svg", - "direction": "ltr" - }, - { - "codes": ["ru", "ru-RU"], - "filename": "ru-RU", - "label": "Русский", - "image": "assets/flags/ru-RU.svg", - "direction": "ltr" - }, - { - "codes": ["uk", "uk-UA"], - "filename": "uk-UA", - "label": "Українська", - "image": "assets/flags/uk-UA.svg", - "direction": "ltr" - }, - { - "codes": ["zh", "zh-CN"], - "filename": "zh-CN", - "label": "中文", - "image": "assets/flags/zh-CN.svg", - "direction": "ltr" - }, - { - "codes": ["ja", "ja-JP"], - "filename": "ja-JP", - "label": "日本語", - "image": "assets/flags/ja-JP.svg", - "direction": "ltr" - }, - { - "codes": ["ar", "ar-SA"], - "filename": "ar-SA", - "label": "العربية", - "image": "assets/flags/ar-SA.svg", - "direction": "rtl" - } + { + "codes": [ + "ar", + "ar-SA" + ], + "filename": "ar-SA", + "label": "العربية", + "image": "assets/flags/ar-SA.svg", + "direction": "rtl" + } ] diff --git a/src/index.html b/src/index.html index 44a7271..4920d70 100644 --- a/src/index.html +++ b/src/index.html @@ -1,13 +1,13 @@ - - - Sith - - - - - - - + + + Sith + + + + + + + diff --git a/tsconfig.json b/tsconfig.json index 67c0fc7..ad06917 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -20,8 +20,8 @@ "module": "ES2022", "useDefineForClassFields": false, "resolveJsonModule": true, - "esModuleInterop": true, - "allowSyntheticDefaultImports": true, + "esModuleInterop": true, + "allowSyntheticDefaultImports": true, "lib": [ "ES2022", "dom" From 2f0674b9129f49a73433f8ae7282f2fd116a0712 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Th=C3=A9o=20Durr?= Date: Fri, 13 Oct 2023 22:27:45 +0200 Subject: [PATCH 005/146] feat(utils): Added conventional commits (#20) This uses husky as pre-commit hook to ensure better consistency with commit names, and follow conventional commit guidelines. --- .commitlintrc.js | 7 + .husky/commit-msg | 4 + package.json | 6 +- pnpm-lock.yaml | 2009 ++++++++++++++++++++++++++++++++------------- src/index.html | 2 +- 5 files changed, 1450 insertions(+), 578 deletions(-) create mode 100644 .commitlintrc.js create mode 100755 .husky/commit-msg diff --git a/.commitlintrc.js b/.commitlintrc.js new file mode 100644 index 0000000..be36c56 --- /dev/null +++ b/.commitlintrc.js @@ -0,0 +1,7 @@ +module.exports = { + extends: ['@commitlint/config-conventional'], + rules: { + 'body-max-line-length': [0, 'always'], + 'footer-max-line-length': [0, 'always'], + }, +}; diff --git a/.husky/commit-msg b/.husky/commit-msg new file mode 100755 index 0000000..5e563eb --- /dev/null +++ b/.husky/commit-msg @@ -0,0 +1,4 @@ +#!/usr/bin/env sh +. "$(dirname -- "$0")/_/husky.sh" + +npx --no-install commitlint --edit diff --git a/package.json b/package.json index d67266b..7d15dae 100644 --- a/package.json +++ b/package.json @@ -13,7 +13,8 @@ "lint:fix": "ng lint --fix", "prettier": "prettier --write .", "watch": "ng build --watch --configuration development", - "test": "ng test" + "test": "ng test", + "prepare": "husky install" }, "private": true, "dependencies": { @@ -40,6 +41,8 @@ "@angular-eslint/template-parser": "16.2.0", "@angular/cli": "~16.2.6", "@angular/compiler-cli": "^16.2.9", + "@commitlint/cli": "^17.7.2", + "@commitlint/config-conventional": "^17.7.0", "@types/jasmine": "~4.3.6", "@types/node": "^18.18.5", "@typescript-eslint/eslint-plugin": "5.62.0", @@ -48,6 +51,7 @@ "eslint-config-prettier": "^8.10.0", "eslint-plugin-html": "^7.1.0", "eslint-plugin-prettier": "^4.2.1", + "husky": "^8.0.3", "jasmine-core": "~4.5.0", "karma": "~6.4.2", "karma-chrome-launcher": "~3.1.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 0272932..b0f4373 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -70,6 +70,12 @@ devDependencies: '@angular/compiler-cli': specifier: ^16.2.9 version: 16.2.9(@angular/compiler@16.2.9)(typescript@4.9.5) + '@commitlint/cli': + specifier: ^17.7.2 + version: 17.7.2 + '@commitlint/config-conventional': + specifier: ^17.7.0 + version: 17.7.0 '@types/jasmine': specifier: ~4.3.6 version: 4.3.6 @@ -94,6 +100,9 @@ devDependencies: eslint-plugin-prettier: specifier: ^4.2.1 version: 4.2.1(eslint-config-prettier@8.10.0)(eslint@8.51.0)(prettier@2.8.8) + husky: + specifier: ^8.0.3 + version: 8.0.3 jasmine-core: specifier: ~4.5.0 version: 4.5.0 @@ -123,7 +132,7 @@ devDependencies: version: 15.10.3(typescript@4.9.5) stylelint-config-standard-scss: specifier: ^8.0.0 - version: 8.0.0(postcss@8.4.31)(stylelint@15.10.3) + version: 8.0.0(postcss@8.4.21)(stylelint@15.10.3) stylelint-scss: specifier: ^4.7.0 version: 4.7.0(stylelint@15.10.3) @@ -143,7 +152,7 @@ packages: engines: {node: '>=6.0.0'} dependencies: '@jridgewell/gen-mapping': 0.3.3 - '@jridgewell/trace-mapping': 0.3.19 + '@jridgewell/trace-mapping': 0.3.18 dev: true /@angular-devkit/architect@0.1602.6(chokidar@3.5.3): @@ -213,7 +222,7 @@ packages: autoprefixer: 10.4.14(postcss@8.4.31) babel-loader: 9.1.3(@babel/core@7.22.9)(webpack@5.88.2) babel-plugin-istanbul: 6.1.1 - browserslist: 4.22.1 + browserslist: 4.21.5 chokidar: 3.5.3 copy-webpack-plugin: 11.0.0(webpack@5.88.2) critters: 0.0.20 @@ -407,7 +416,7 @@ packages: dependencies: '@angular-eslint/bundled-angular-compiler': 16.2.0 eslint: 8.51.0 - eslint-scope: 7.2.2 + eslint-scope: 7.2.0 typescript: 4.9.5 dev: true @@ -490,10 +499,10 @@ packages: chokidar: 3.5.3 convert-source-map: 1.9.0 reflect-metadata: 0.1.13 - semver: 7.5.4 + semver: 7.4.0 tslib: 2.6.2 typescript: 4.9.5 - yargs: 17.7.2 + yargs: 17.7.1 transitivePeerDependencies: - supports-color dev: true @@ -590,6 +599,13 @@ packages: resolution: {integrity: sha512-H71nDOOL8Y7kWRLqf6Sums+01Q5msqBW2KhDUTemh1tvY04eSkSXrK0uj/4mmY0Xr16/3zyZmsrxN7CKuRbNRg==} dev: true + /@babel/code-frame@7.21.4: + resolution: {integrity: sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/highlight': 7.18.6 + dev: true + /@babel/code-frame@7.22.13: resolution: {integrity: sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==} engines: {node: '>=6.9.0'} @@ -598,43 +614,48 @@ packages: chalk: 2.4.2 dev: true + /@babel/compat-data@7.21.4: + resolution: {integrity: sha512-/DYyDpeCfaVinT40FPGdkkb+lYSKvsVuMjDAG7jPOWWiM1ibOaB9CXJAlc4d1QpP/U2q2P9jbrSlClKSErd55g==} + engines: {node: '>=6.9.0'} + dev: true + /@babel/compat-data@7.23.2: resolution: {integrity: sha512-0S9TQMmDHlqAZ2ITT95irXKfxN9bncq8ZCoJhun3nHL/lLUxd2NKBJYoNGWH7S0hz6fRQwWlAWn/ILM0C70KZQ==} engines: {node: '>=6.9.0'} dev: true - /@babel/core@7.22.5: - resolution: {integrity: sha512-SBuTAjg91A3eKOvD+bPEz3LlhHZRNu1nFOVts9lzDJTXshHTjII0BAtDS3Y2DAkdZdDKWVZGVwkDfc4Clxn1dg==} + /@babel/core@7.21.4: + resolution: {integrity: sha512-qt/YV149Jman/6AfmlxJ04LMIu8bMoyl3RB91yTFrxQmgbrSvQMy7cI8Q62FHx1t8wJ8B5fu0UDoLwHAhUo1QA==} engines: {node: '>=6.9.0'} dependencies: '@ampproject/remapping': 2.2.1 - '@babel/code-frame': 7.22.13 - '@babel/generator': 7.23.0 - '@babel/helper-compilation-targets': 7.22.15 - '@babel/helper-module-transforms': 7.23.0(@babel/core@7.22.5) - '@babel/helpers': 7.23.2 - '@babel/parser': 7.23.0 - '@babel/template': 7.22.15 - '@babel/traverse': 7.23.2 - '@babel/types': 7.23.0 + '@babel/code-frame': 7.21.4 + '@babel/generator': 7.21.4 + '@babel/helper-compilation-targets': 7.21.4(@babel/core@7.21.4) + '@babel/helper-module-transforms': 7.21.2 + '@babel/helpers': 7.21.0 + '@babel/parser': 7.21.4 + '@babel/template': 7.20.7 + '@babel/traverse': 7.21.4 + '@babel/types': 7.21.4 convert-source-map: 1.9.0 debug: 4.3.4 gensync: 1.0.0-beta.2 json5: 2.2.3 - semver: 6.3.1 + semver: 6.3.0 transitivePeerDependencies: - supports-color dev: true - /@babel/core@7.22.9: - resolution: {integrity: sha512-G2EgeufBcYw27U4hhoIwFcgc1XU7TlXJ3mv04oOv1WCuo900U/anZSPzEqNjwdjgffkk2Gs0AN0dW1CKVLcG7w==} + /@babel/core@7.22.5: + resolution: {integrity: sha512-SBuTAjg91A3eKOvD+bPEz3LlhHZRNu1nFOVts9lzDJTXshHTjII0BAtDS3Y2DAkdZdDKWVZGVwkDfc4Clxn1dg==} engines: {node: '>=6.9.0'} dependencies: '@ampproject/remapping': 2.2.1 '@babel/code-frame': 7.22.13 '@babel/generator': 7.23.0 '@babel/helper-compilation-targets': 7.22.15 - '@babel/helper-module-transforms': 7.23.0(@babel/core@7.22.9) + '@babel/helper-module-transforms': 7.23.0(@babel/core@7.22.5) '@babel/helpers': 7.23.2 '@babel/parser': 7.23.0 '@babel/template': 7.22.15 @@ -644,26 +665,26 @@ packages: debug: 4.3.4 gensync: 1.0.0-beta.2 json5: 2.2.3 - semver: 6.3.1 + semver: 6.3.0 transitivePeerDependencies: - supports-color dev: true - /@babel/core@7.23.2: - resolution: {integrity: sha512-n7s51eWdaWZ3vGT2tD4T7J6eJs3QoBXydv7vkUM06Bf1cbVD2Kc2UrkzhiQwobfV7NwOnQXYL7UBJ5VPU+RGoQ==} + /@babel/core@7.22.9: + resolution: {integrity: sha512-G2EgeufBcYw27U4hhoIwFcgc1XU7TlXJ3mv04oOv1WCuo900U/anZSPzEqNjwdjgffkk2Gs0AN0dW1CKVLcG7w==} engines: {node: '>=6.9.0'} dependencies: '@ampproject/remapping': 2.2.1 '@babel/code-frame': 7.22.13 - '@babel/generator': 7.23.0 + '@babel/generator': 7.22.9 '@babel/helper-compilation-targets': 7.22.15 - '@babel/helper-module-transforms': 7.23.0(@babel/core@7.23.2) + '@babel/helper-module-transforms': 7.23.0(@babel/core@7.22.9) '@babel/helpers': 7.23.2 '@babel/parser': 7.23.0 - '@babel/template': 7.22.15 + '@babel/template': 7.22.5 '@babel/traverse': 7.23.2 '@babel/types': 7.23.0 - convert-source-map: 2.0.0 + convert-source-map: 1.9.0 debug: 4.3.4 gensync: 1.0.0-beta.2 json5: 2.2.3 @@ -672,13 +693,23 @@ packages: - supports-color dev: true + /@babel/generator@7.21.4: + resolution: {integrity: sha512-NieM3pVIYW2SwGzKoqfPrQsf4xGs9M9AIG3ThppsSRmO+m7eQhmI6amajKMUeIO37wFfsvnvcxQFx6x6iqxDnA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.21.4 + '@jridgewell/gen-mapping': 0.3.3 + '@jridgewell/trace-mapping': 0.3.18 + jsesc: 2.5.2 + dev: true + /@babel/generator@7.22.9: resolution: {integrity: sha512-KtLMbmicyuK2Ak/FTCJVbDnkN1SlT8/kceFTiuDiiRUUSMnHMidxSCdG4ndkTOHHpoomWe/4xkvHkEOncwjYIw==} engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.23.0 '@jridgewell/gen-mapping': 0.3.3 - '@jridgewell/trace-mapping': 0.3.19 + '@jridgewell/trace-mapping': 0.3.18 jsesc: 2.5.2 dev: true @@ -688,7 +719,7 @@ packages: dependencies: '@babel/types': 7.23.0 '@jridgewell/gen-mapping': 0.3.3 - '@jridgewell/trace-mapping': 0.3.19 + '@jridgewell/trace-mapping': 0.3.18 jsesc: 2.5.2 dev: true @@ -706,6 +737,20 @@ packages: '@babel/types': 7.23.0 dev: true + /@babel/helper-compilation-targets@7.21.4(@babel/core@7.21.4): + resolution: {integrity: sha512-Fa0tTuOXZ1iL8IeDFUWCzjZcn+sJGd9RZdH9esYVjEejGmzf+FFYQpMi/kZUk2kPy/q1H3/GPw7np8qar/stfg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/compat-data': 7.21.4 + '@babel/core': 7.21.4 + '@babel/helper-validator-option': 7.21.0 + browserslist: 4.21.5 + lru-cache: 5.1.1 + semver: 6.3.0 + dev: true + /@babel/helper-compilation-targets@7.22.15: resolution: {integrity: sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw==} engines: {node: '>=6.9.0'} @@ -735,6 +780,17 @@ packages: semver: 6.3.1 dev: true + /@babel/helper-create-regexp-features-plugin@7.21.4(@babel/core@7.22.9): + resolution: {integrity: sha512-M00OuhU+0GyZ5iBBN9czjugzWrEq2vDpf/zCYHxxf93ul/Q5rv+a5h+/+0WnI1AebHNVtl5bFV0qsJoH23DbfA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.22.9 + '@babel/helper-annotate-as-pure': 7.22.5 + regexpu-core: 5.3.2 + dev: true + /@babel/helper-create-regexp-features-plugin@7.22.15(@babel/core@7.22.9): resolution: {integrity: sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==} engines: {node: '>=6.9.0'} @@ -757,16 +813,29 @@ packages: '@babel/helper-plugin-utils': 7.22.5 debug: 4.3.4 lodash.debounce: 4.0.8 - resolve: 1.22.8 + resolve: 1.22.2 transitivePeerDependencies: - supports-color dev: true + /@babel/helper-environment-visitor@7.18.9: + resolution: {integrity: sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==} + engines: {node: '>=6.9.0'} + dev: true + /@babel/helper-environment-visitor@7.22.20: resolution: {integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==} engines: {node: '>=6.9.0'} dev: true + /@babel/helper-function-name@7.21.0: + resolution: {integrity: sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/template': 7.22.5 + '@babel/types': 7.21.4 + dev: true + /@babel/helper-function-name@7.23.0: resolution: {integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==} engines: {node: '>=6.9.0'} @@ -775,6 +844,13 @@ packages: '@babel/types': 7.23.0 dev: true + /@babel/helper-hoist-variables@7.18.6: + resolution: {integrity: sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.21.4 + dev: true + /@babel/helper-hoist-variables@7.22.5: resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==} engines: {node: '>=6.9.0'} @@ -789,6 +865,13 @@ packages: '@babel/types': 7.23.0 dev: true + /@babel/helper-module-imports@7.21.4: + resolution: {integrity: sha512-orajc5T2PsRYUN3ZryCEFeMDYwyw09c/pZeaQEZPH0MpKzSvn3e0uXsDBu3k03VI+9DBiRo+l22BfKTpKwa/Wg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.21.4 + dev: true + /@babel/helper-module-imports@7.22.15: resolution: {integrity: sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==} engines: {node: '>=6.9.0'} @@ -796,27 +879,29 @@ packages: '@babel/types': 7.23.0 dev: true - /@babel/helper-module-transforms@7.23.0(@babel/core@7.22.5): - resolution: {integrity: sha512-WhDWw1tdrlT0gMgUJSlX0IQvoO1eN279zrAUbVB+KpV2c3Tylz8+GnKOLllCS6Z/iZQEyVYxhZVUdPTqs2YYPw==} + /@babel/helper-module-transforms@7.21.2: + resolution: {integrity: sha512-79yj2AR4U/Oqq/WOV7Lx6hUjau1Zfo4cI+JLAVYeMV5XIlbOhmjEk5ulbTc9fMpmlojzZHkUUxAiK+UKn+hNQQ==} engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.5 - '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-module-imports': 7.22.15 - '@babel/helper-simple-access': 7.22.5 - '@babel/helper-split-export-declaration': 7.22.6 - '@babel/helper-validator-identifier': 7.22.20 + '@babel/helper-environment-visitor': 7.18.9 + '@babel/helper-module-imports': 7.21.4 + '@babel/helper-simple-access': 7.20.2 + '@babel/helper-split-export-declaration': 7.18.6 + '@babel/helper-validator-identifier': 7.19.1 + '@babel/template': 7.20.7 + '@babel/traverse': 7.21.4 + '@babel/types': 7.21.4 + transitivePeerDependencies: + - supports-color dev: true - /@babel/helper-module-transforms@7.23.0(@babel/core@7.22.9): + /@babel/helper-module-transforms@7.23.0(@babel/core@7.22.5): resolution: {integrity: sha512-WhDWw1tdrlT0gMgUJSlX0IQvoO1eN279zrAUbVB+KpV2c3Tylz8+GnKOLllCS6Z/iZQEyVYxhZVUdPTqs2YYPw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.5 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-module-imports': 7.22.15 '@babel/helper-simple-access': 7.22.5 @@ -824,13 +909,13 @@ packages: '@babel/helper-validator-identifier': 7.22.20 dev: true - /@babel/helper-module-transforms@7.23.0(@babel/core@7.23.2): + /@babel/helper-module-transforms@7.23.0(@babel/core@7.22.9): resolution: {integrity: sha512-WhDWw1tdrlT0gMgUJSlX0IQvoO1eN279zrAUbVB+KpV2c3Tylz8+GnKOLllCS6Z/iZQEyVYxhZVUdPTqs2YYPw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.22.9 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-module-imports': 7.22.15 '@babel/helper-simple-access': 7.22.5 @@ -845,11 +930,31 @@ packages: '@babel/types': 7.23.0 dev: true + /@babel/helper-plugin-utils@7.20.2: + resolution: {integrity: sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==} + engines: {node: '>=6.9.0'} + dev: true + /@babel/helper-plugin-utils@7.22.5: resolution: {integrity: sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==} engines: {node: '>=6.9.0'} dev: true + /@babel/helper-remap-async-to-generator@7.18.9(@babel/core@7.22.9): + resolution: {integrity: sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.22.9 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-environment-visitor': 7.18.9 + '@babel/helper-wrap-function': 7.20.5 + '@babel/types': 7.21.4 + transitivePeerDependencies: + - supports-color + dev: true + /@babel/helper-remap-async-to-generator@7.22.20(@babel/core@7.22.9): resolution: {integrity: sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==} engines: {node: '>=6.9.0'} @@ -874,6 +979,13 @@ packages: '@babel/helper-optimise-call-expression': 7.22.5 dev: true + /@babel/helper-simple-access@7.20.2: + resolution: {integrity: sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.21.4 + dev: true + /@babel/helper-simple-access@7.22.5: resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==} engines: {node: '>=6.9.0'} @@ -888,6 +1000,13 @@ packages: '@babel/types': 7.23.0 dev: true + /@babel/helper-split-export-declaration@7.18.6: + resolution: {integrity: sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.21.4 + dev: true + /@babel/helper-split-export-declaration@7.22.6: resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==} engines: {node: '>=6.9.0'} @@ -895,21 +1014,48 @@ packages: '@babel/types': 7.23.0 dev: true + /@babel/helper-string-parser@7.19.4: + resolution: {integrity: sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==} + engines: {node: '>=6.9.0'} + dev: true + /@babel/helper-string-parser@7.22.5: resolution: {integrity: sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==} engines: {node: '>=6.9.0'} dev: true + /@babel/helper-validator-identifier@7.19.1: + resolution: {integrity: sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==} + engines: {node: '>=6.9.0'} + dev: true + /@babel/helper-validator-identifier@7.22.20: resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} engines: {node: '>=6.9.0'} dev: true + /@babel/helper-validator-option@7.21.0: + resolution: {integrity: sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==} + engines: {node: '>=6.9.0'} + dev: true + /@babel/helper-validator-option@7.22.15: resolution: {integrity: sha512-bMn7RmyFjY/mdECUbgn9eoSY4vqvacUnS9i9vGAGttgFWesO6B4CYWA7XlpbWgBt71iv/hfbPlynohStqnu5hA==} engines: {node: '>=6.9.0'} dev: true + /@babel/helper-wrap-function@7.20.5: + resolution: {integrity: sha512-bYMxIWK5mh+TgXGVqAtnu5Yn1un+v8DDZtqyzKRLUzrh70Eal2O3aZ7aPYiMADO4uKlkzOiRiZ6GX5q3qxvW9Q==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-function-name': 7.21.0 + '@babel/template': 7.22.5 + '@babel/traverse': 7.21.4 + '@babel/types': 7.21.4 + transitivePeerDependencies: + - supports-color + dev: true + /@babel/helper-wrap-function@7.22.20: resolution: {integrity: sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw==} engines: {node: '>=6.9.0'} @@ -919,6 +1065,17 @@ packages: '@babel/types': 7.23.0 dev: true + /@babel/helpers@7.21.0: + resolution: {integrity: sha512-XXve0CBtOW0pd7MRzzmoyuSj0e3SEzj8pgyFxnTT1NJZL38BD1MK7yYrm8yefRPIDvNNe14xR4FdbHwpInD4rA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/template': 7.20.7 + '@babel/traverse': 7.21.4 + '@babel/types': 7.21.4 + transitivePeerDependencies: + - supports-color + dev: true + /@babel/helpers@7.23.2: resolution: {integrity: sha512-lzchcp8SjTSVe/fPmLwtWVBFC7+Tbn8LGHDVfDp9JGxpAY5opSaEFgt8UQvrnECWOTdji2mOWMz1rOhkHscmGQ==} engines: {node: '>=6.9.0'} @@ -930,6 +1087,15 @@ packages: - supports-color dev: true + /@babel/highlight@7.18.6: + resolution: {integrity: sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-validator-identifier': 7.19.1 + chalk: 2.4.2 + js-tokens: 4.0.0 + dev: true + /@babel/highlight@7.22.20: resolution: {integrity: sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==} engines: {node: '>=6.9.0'} @@ -939,6 +1105,14 @@ packages: js-tokens: 4.0.0 dev: true + /@babel/parser@7.21.4: + resolution: {integrity: sha512-alVJj7k7zIxqBZ7BTRhz0IqJFxW1VJbm6N8JbcYhQ186df9ZBPbZBmWSqAMXwHGsCJdYks7z/voa3ibiS5bCIw==} + engines: {node: '>=6.0.0'} + hasBin: true + dependencies: + '@babel/types': 7.21.4 + dev: true + /@babel/parser@7.23.0: resolution: {integrity: sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==} engines: {node: '>=6.0.0'} @@ -977,10 +1151,12 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.22.9 - '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.22.9) + '@babel/helper-environment-visitor': 7.18.9 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-remap-async-to-generator': 7.18.9(@babel/core@7.22.9) '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.22.9) + transitivePeerDependencies: + - supports-color dev: true /@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.22.9): @@ -1000,7 +1176,7 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.22.9 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.22.9) + '@babel/helper-create-regexp-features-plugin': 7.21.4(@babel/core@7.22.9) '@babel/helper-plugin-utils': 7.22.5 dev: true @@ -1010,7 +1186,7 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.22.9 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-plugin-utils': 7.20.2 dev: true /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.22.9): @@ -1169,7 +1345,7 @@ packages: '@babel/core': ^7.0.0 dependencies: '@babel/core': 7.22.9 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.22.9) + '@babel/helper-create-regexp-features-plugin': 7.21.4(@babel/core@7.22.9) '@babel/helper-plugin-utils': 7.22.5 dev: true @@ -1277,7 +1453,7 @@ packages: dependencies: '@babel/core': 7.22.9 '@babel/helper-plugin-utils': 7.22.5 - '@babel/template': 7.22.15 + '@babel/template': 7.22.5 dev: true /@babel/plugin-transform-destructuring@7.23.0(@babel/core@7.22.9): @@ -1802,7 +1978,7 @@ packages: '@babel/plugin-transform-unicode-property-regex': 7.22.5(@babel/core@7.22.9) '@babel/plugin-transform-unicode-regex': 7.22.5(@babel/core@7.22.9) '@babel/plugin-transform-unicode-sets-regex': 7.22.5(@babel/core@7.22.9) - '@babel/preset-modules': 0.1.6(@babel/core@7.22.9) + '@babel/preset-modules': 0.1.5(@babel/core@7.22.9) '@babel/types': 7.23.0 babel-plugin-polyfill-corejs2: 0.4.6(@babel/core@7.22.9) babel-plugin-polyfill-corejs3: 0.8.5(@babel/core@7.22.9) @@ -1813,10 +1989,10 @@ packages: - supports-color dev: true - /@babel/preset-modules@0.1.6(@babel/core@7.22.9): - resolution: {integrity: sha512-ID2yj6K/4lKfhuU3+EX4UvNbIt7eACFbHmNUjzA+ep+B5971CknnA/9DEWKbRokfbbtblxxxXFJJrH47UEAMVg==} + /@babel/preset-modules@0.1.5(@babel/core@7.22.9): + resolution: {integrity: sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==} peerDependencies: - '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0 + '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.22.9 '@babel/helper-plugin-utils': 7.22.5 @@ -1837,6 +2013,15 @@ packages: regenerator-runtime: 0.13.11 dev: true + /@babel/template@7.20.7: + resolution: {integrity: sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.21.4 + '@babel/parser': 7.21.4 + '@babel/types': 7.21.4 + dev: true + /@babel/template@7.22.15: resolution: {integrity: sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==} engines: {node: '>=6.9.0'} @@ -1855,6 +2040,24 @@ packages: '@babel/types': 7.23.0 dev: true + /@babel/traverse@7.21.4: + resolution: {integrity: sha512-eyKrRHKdyZxqDm+fV1iqL9UAHMoIg0nDaGqfIOd8rKH17m5snv7Gn4qgjBoFfLz9APvjFU/ICT00NVCv1Epp8Q==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.21.4 + '@babel/generator': 7.21.4 + '@babel/helper-environment-visitor': 7.18.9 + '@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.21.4 + '@babel/types': 7.21.4 + debug: 4.3.4 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + dev: true + /@babel/traverse@7.23.2: resolution: {integrity: sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==} engines: {node: '>=6.9.0'} @@ -1873,6 +2076,15 @@ packages: - supports-color dev: true + /@babel/types@7.21.4: + resolution: {integrity: sha512-rU2oY501qDxE8Pyo7i/Orqma4ziCOrby0/9mvbDUGEfvZjb279Nk9k19e2fiCxHbRRpY2ZyrgW1eq22mvmOIzA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-string-parser': 7.19.4 + '@babel/helper-validator-identifier': 7.19.1 + to-fast-properties: 2.0.0 + dev: true + /@babel/types@7.23.0: resolution: {integrity: sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==} engines: {node: '>=6.9.0'} @@ -1887,6 +2099,181 @@ packages: engines: {node: '>=0.1.90'} dev: true + /@commitlint/cli@17.7.2: + resolution: {integrity: sha512-t3N7TZq7lOeqTOyEgfGcaltHqEJf7YDlPg75MldeVPPyz14jZq/+mbGF9tueDLFX8R6RwdymrN6D+U5XwZ8Iwg==} + engines: {node: '>=v14'} + hasBin: true + dependencies: + '@commitlint/format': 17.4.4 + '@commitlint/lint': 17.7.0 + '@commitlint/load': 17.7.2 + '@commitlint/read': 17.5.1 + '@commitlint/types': 17.4.4 + execa: 5.1.1 + lodash.isfunction: 3.0.9 + resolve-from: 5.0.0 + resolve-global: 1.0.0 + yargs: 17.7.1 + transitivePeerDependencies: + - '@swc/core' + - '@swc/wasm' + dev: true + + /@commitlint/config-conventional@17.7.0: + resolution: {integrity: sha512-iicqh2o6et+9kWaqsQiEYZzfLbtoWv9uZl8kbI8EGfnc0HeGafQBF7AJ0ylN9D/2kj6txltsdyQs8+2fTMwWEw==} + engines: {node: '>=v14'} + dependencies: + conventional-changelog-conventionalcommits: 6.1.0 + dev: true + + /@commitlint/config-validator@17.6.7: + resolution: {integrity: sha512-vJSncmnzwMvpr3lIcm0I8YVVDJTzyjy7NZAeXbTXy+MPUdAr9pKyyg7Tx/ebOQ9kqzE6O9WT6jg2164br5UdsQ==} + engines: {node: '>=v14'} + dependencies: + '@commitlint/types': 17.4.4 + ajv: 8.12.0 + dev: true + + /@commitlint/ensure@17.6.7: + resolution: {integrity: sha512-mfDJOd1/O/eIb/h4qwXzUxkmskXDL9vNPnZ4AKYKiZALz4vHzwMxBSYtyL2mUIDeU9DRSpEUins8SeKtFkYHSw==} + engines: {node: '>=v14'} + dependencies: + '@commitlint/types': 17.4.4 + lodash.camelcase: 4.3.0 + lodash.kebabcase: 4.1.1 + lodash.snakecase: 4.1.1 + lodash.startcase: 4.4.0 + lodash.upperfirst: 4.3.1 + dev: true + + /@commitlint/execute-rule@17.4.0: + resolution: {integrity: sha512-LIgYXuCSO5Gvtc0t9bebAMSwd68ewzmqLypqI2Kke1rqOqqDbMpYcYfoPfFlv9eyLIh4jocHWwCK5FS7z9icUA==} + engines: {node: '>=v14'} + dev: true + + /@commitlint/format@17.4.4: + resolution: {integrity: sha512-+IS7vpC4Gd/x+uyQPTAt3hXs5NxnkqAZ3aqrHd5Bx/R9skyCAWusNlNbw3InDbAK6j166D9asQM8fnmYIa+CXQ==} + engines: {node: '>=v14'} + dependencies: + '@commitlint/types': 17.4.4 + chalk: 4.1.2 + dev: true + + /@commitlint/is-ignored@17.7.0: + resolution: {integrity: sha512-043rA7m45tyEfW7Zv2vZHF++176MLHH9h70fnPoYlB1slKBeKl8BwNIlnPg4xBdRBVNPaCqvXxWswx2GR4c9Hw==} + engines: {node: '>=v14'} + dependencies: + '@commitlint/types': 17.4.4 + semver: 7.5.4 + dev: true + + /@commitlint/lint@17.7.0: + resolution: {integrity: sha512-TCQihm7/uszA5z1Ux1vw+Nf3yHTgicus/+9HiUQk+kRSQawByxZNESeQoX9ujfVd3r4Sa+3fn0JQAguG4xvvbA==} + engines: {node: '>=v14'} + dependencies: + '@commitlint/is-ignored': 17.7.0 + '@commitlint/parse': 17.7.0 + '@commitlint/rules': 17.7.0 + '@commitlint/types': 17.4.4 + dev: true + + /@commitlint/load@17.7.2: + resolution: {integrity: sha512-XA7WTnsjHZ4YH6ZYsrnxgLdXzriwMMq+utZUET6spbOEEIPBCDLdOQXS26P+v3TTO4hUHOEhzUquaBv3jbBixw==} + engines: {node: '>=v14'} + dependencies: + '@commitlint/config-validator': 17.6.7 + '@commitlint/execute-rule': 17.4.0 + '@commitlint/resolve-extends': 17.6.7 + '@commitlint/types': 17.4.4 + '@types/node': 20.5.1 + chalk: 4.1.2 + cosmiconfig: 8.1.3 + cosmiconfig-typescript-loader: 4.4.0(@types/node@20.5.1)(cosmiconfig@8.1.3)(ts-node@10.9.1)(typescript@4.9.5) + lodash.isplainobject: 4.0.6 + lodash.merge: 4.6.2 + lodash.uniq: 4.5.0 + resolve-from: 5.0.0 + ts-node: 10.9.1(@types/node@18.18.5)(typescript@4.9.5) + typescript: 4.9.5 + transitivePeerDependencies: + - '@swc/core' + - '@swc/wasm' + dev: true + + /@commitlint/message@17.4.2: + resolution: {integrity: sha512-3XMNbzB+3bhKA1hSAWPCQA3lNxR4zaeQAQcHj0Hx5sVdO6ryXtgUBGGv+1ZCLMgAPRixuc6en+iNAzZ4NzAa8Q==} + engines: {node: '>=v14'} + dev: true + + /@commitlint/parse@17.7.0: + resolution: {integrity: sha512-dIvFNUMCUHqq5Abv80mIEjLVfw8QNuA4DS7OWip4pcK/3h5wggmjVnlwGCDvDChkw2TjK1K6O+tAEV78oxjxag==} + engines: {node: '>=v14'} + dependencies: + '@commitlint/types': 17.4.4 + conventional-changelog-angular: 6.0.0 + conventional-commits-parser: 4.0.0 + dev: true + + /@commitlint/read@17.5.1: + resolution: {integrity: sha512-7IhfvEvB//p9aYW09YVclHbdf1u7g7QhxeYW9ZHSO8Huzp8Rz7m05aCO1mFG7G8M+7yfFnXB5xOmG18brqQIBg==} + engines: {node: '>=v14'} + dependencies: + '@commitlint/top-level': 17.4.0 + '@commitlint/types': 17.4.4 + fs-extra: 11.1.1 + git-raw-commits: 2.0.11 + minimist: 1.2.8 + dev: true + + /@commitlint/resolve-extends@17.6.7: + resolution: {integrity: sha512-PfeoAwLHtbOaC9bGn/FADN156CqkFz6ZKiVDMjuC2N5N0740Ke56rKU7Wxdwya8R8xzLK9vZzHgNbuGhaOVKIg==} + engines: {node: '>=v14'} + dependencies: + '@commitlint/config-validator': 17.6.7 + '@commitlint/types': 17.4.4 + import-fresh: 3.3.0 + lodash.mergewith: 4.6.2 + resolve-from: 5.0.0 + resolve-global: 1.0.0 + dev: true + + /@commitlint/rules@17.7.0: + resolution: {integrity: sha512-J3qTh0+ilUE5folSaoK91ByOb8XeQjiGcdIdiB/8UT1/Rd1itKo0ju/eQVGyFzgTMYt8HrDJnGTmNWwcMR1rmA==} + engines: {node: '>=v14'} + dependencies: + '@commitlint/ensure': 17.6.7 + '@commitlint/message': 17.4.2 + '@commitlint/to-lines': 17.4.0 + '@commitlint/types': 17.4.4 + execa: 5.1.1 + dev: true + + /@commitlint/to-lines@17.4.0: + resolution: {integrity: sha512-LcIy/6ZZolsfwDUWfN1mJ+co09soSuNASfKEU5sCmgFCvX5iHwRYLiIuoqXzOVDYOy7E7IcHilr/KS0e5T+0Hg==} + engines: {node: '>=v14'} + dev: true + + /@commitlint/top-level@17.4.0: + resolution: {integrity: sha512-/1loE/g+dTTQgHnjoCy0AexKAEFyHsR2zRB4NWrZ6lZSMIxAhBJnmCqwao7b4H8888PsfoTBCLBYIw8vGnej8g==} + engines: {node: '>=v14'} + dependencies: + find-up: 5.0.0 + dev: true + + /@commitlint/types@17.4.4: + resolution: {integrity: sha512-amRN8tRLYOsxRr6mTnGGGvB5EmW/4DDjLMgiwK3CCVEmN6Sr/6xePGEpWaspKkckILuUORCwe6VfDBw6uj4axQ==} + engines: {node: '>=v14'} + dependencies: + chalk: 4.1.2 + dev: true + + /@cspotcode/source-map-support@0.8.1: + resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} + engines: {node: '>=12'} + dependencies: + '@jridgewell/trace-mapping': 0.3.9 + dev: true + /@csstools/css-parser-algorithms@2.3.2(@csstools/css-tokenizer@2.2.1): resolution: {integrity: sha512-sLYGdAdEY2x7TSw9FtmdaTrh2wFtRJO5VMbBrA8tEqEod7GEggFmxTSK9XqExib3yMuYNcvcTdCZIP6ukdjAIA==} engines: {node: ^14 || ^16 || >=18} @@ -2134,6 +2521,11 @@ packages: eslint-visitor-keys: 3.4.3 dev: true + /@eslint-community/regexpp@4.5.0: + resolution: {integrity: sha512-vITaYzIcNmjn5tF5uxcZ/ft7/RXGrMUIS9HalWckEOF6ESiwXKoMzAQf2UW0aVd6rnOeExTJVd5hmWXucBKGXQ==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + dev: true + /@eslint-community/regexpp@4.9.1: resolution: {integrity: sha512-Y27x+MBLjXa+0JWDhykM3+JE+il3kHKAEqabfEWq3SDhZjLYb6/BHL/JKFnH3fe207JaXkyDo685Oc2Glt6ifA==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} @@ -2146,7 +2538,7 @@ packages: ajv: 6.12.6 debug: 4.3.4 espree: 9.6.1 - globals: 13.23.0 + globals: 13.20.0 ignore: 5.2.4 import-fresh: 3.3.0 js-yaml: 4.1.0 @@ -2161,6 +2553,10 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true + /@gar/promisify@1.1.3: + resolution: {integrity: sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==} + dev: true + /@humanwhocodes/config-array@0.11.11: resolution: {integrity: sha512-N2brEuAadi0CcdeMXUkhbZB84eskAc8MEX1By6qEchoVywSgXPIjou4rYsl0V3Hj0ZnuGycGCjdNgockbzeWNA==} engines: {node: '>=10.10.0'} @@ -2181,18 +2577,6 @@ packages: resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==} dev: true - /@isaacs/cliui@8.0.2: - resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} - engines: {node: '>=12'} - dependencies: - string-width: 5.1.2 - string-width-cjs: /string-width@4.2.3 - strip-ansi: 7.1.0 - strip-ansi-cjs: /strip-ansi@6.0.1 - wrap-ansi: 8.1.0 - wrap-ansi-cjs: /wrap-ansi@7.0.0 - dev: true - /@istanbuljs/load-nyc-config@1.1.0: resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==} engines: {node: '>=8'} @@ -2215,11 +2599,11 @@ packages: dependencies: '@jridgewell/set-array': 1.1.2 '@jridgewell/sourcemap-codec': 1.4.15 - '@jridgewell/trace-mapping': 0.3.19 + '@jridgewell/trace-mapping': 0.3.18 dev: true - /@jridgewell/resolve-uri@3.1.1: - resolution: {integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==} + /@jridgewell/resolve-uri@3.1.0: + resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==} engines: {node: '>=6.0.0'} dev: true @@ -2228,21 +2612,32 @@ packages: engines: {node: '>=6.0.0'} dev: true - /@jridgewell/source-map@0.3.5: - resolution: {integrity: sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==} + /@jridgewell/source-map@0.3.3: + resolution: {integrity: sha512-b+fsZXeLYi9fEULmfBrhxn4IrPlINf8fiNarzTof004v3lFdntdwa9PF7vFJqm3mg7s+ScJMxXaE3Acp1irZcg==} dependencies: '@jridgewell/gen-mapping': 0.3.3 - '@jridgewell/trace-mapping': 0.3.19 + '@jridgewell/trace-mapping': 0.3.18 + dev: true + + /@jridgewell/sourcemap-codec@1.4.14: + resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} dev: true /@jridgewell/sourcemap-codec@1.4.15: resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} dev: true - /@jridgewell/trace-mapping@0.3.19: - resolution: {integrity: sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==} + /@jridgewell/trace-mapping@0.3.18: + resolution: {integrity: sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==} + dependencies: + '@jridgewell/resolve-uri': 3.1.0 + '@jridgewell/sourcemap-codec': 1.4.14 + dev: true + + /@jridgewell/trace-mapping@0.3.9: + resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} dependencies: - '@jridgewell/resolve-uri': 3.1.1 + '@jridgewell/resolve-uri': 3.1.0 '@jridgewell/sourcemap-codec': 1.4.15 dev: true @@ -2308,6 +2703,14 @@ packages: fastq: 1.15.0 dev: true + /@npmcli/fs@2.1.2: + resolution: {integrity: sha512-yOJKRvohFOaLqipNtwYB9WugyZKhC/DZC4VYPmpaCzDBrA8YpK3qHZ8/HGscMnE4GqbkLNuVcCnxkeQEdGt6LQ==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + dependencies: + '@gar/promisify': 1.1.3 + semver: 7.5.4 + dev: true + /@npmcli/fs@3.1.0: resolution: {integrity: sha512-7kZUAaLscfgbwBQRbvdMYaZOWyMEcPTH/tJjnyAWJ/dvvs9Ef+CERx/qJb9GExJpl1qipaDGn7KqHnFGGixd0w==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} @@ -2315,8 +2718,8 @@ packages: semver: 7.5.4 dev: true - /@npmcli/git@4.1.0: - resolution: {integrity: sha512-9hwoB3gStVfa0N31ymBmrX+GuDGdVA/QWShZVqE0HK2Af+7QGGrCTbZia/SW0ImUTjTne7SP91qxDmtXvDHRPQ==} + /@npmcli/git@4.0.4: + resolution: {integrity: sha512-5yZghx+u5M47LghaybLCkdSyFzV/w4OuH12d96HO389Ik9CDsLaDZJVynSGGVJOLn6gy/k7Dz5XYcplM3uxXRg==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: '@npmcli/promise-spawn': 6.0.2 @@ -2326,7 +2729,7 @@ packages: promise-inflight: 1.0.1 promise-retry: 2.0.1 semver: 7.5.4 - which: 3.0.1 + which: 3.0.0 transitivePeerDependencies: - bluebird dev: true @@ -2337,7 +2740,16 @@ packages: hasBin: true dependencies: npm-bundled: 3.0.0 - npm-normalize-package-bin: 3.0.1 + npm-normalize-package-bin: 3.0.0 + dev: true + + /@npmcli/move-file@2.0.1: + resolution: {integrity: sha512-mJd2Z5TjYWq/ttPLLGqArdtnC74J6bOzg4rMDnN+p1xTacZ2yPRCk2y0oSWQtygLR9YVQXgOcONrwtnk3JupxQ==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + deprecated: This functionality has been moved to @npmcli/fs + dependencies: + mkdirp: 1.0.4 + rimraf: 3.0.2 dev: true /@npmcli/node-gyp@3.0.0: @@ -2349,19 +2761,20 @@ packages: resolution: {integrity: sha512-gGq0NJkIGSwdbUt4yhdF8ZrmkGKVz9vAdVzpOfnom+V8PLSmSOVhZwbNvZZS1EYcJN5hzzKBxmmVVAInM6HQLg==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: - which: 3.0.1 + which: 3.0.0 dev: true - /@npmcli/run-script@6.0.2: - resolution: {integrity: sha512-NCcr1uQo1k5U+SYlnIrbAh3cxy+OQT1VtqiAbxdymSlptbzBb62AjH2xXgjNCoP073hoa1CfCAcwoZ8k96C4nA==} + /@npmcli/run-script@6.0.0: + resolution: {integrity: sha512-ql+AbRur1TeOdl1FY+RAwGW9fcr4ZwiVKabdvm93mujGREVuVLbdkXRJDrkTXSdCjaxYydr1wlA2v67jxWG5BQ==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: '@npmcli/node-gyp': 3.0.0 '@npmcli/promise-spawn': 6.0.2 - node-gyp: 9.4.0 + node-gyp: 9.3.1 read-package-json-fast: 3.0.2 - which: 3.0.1 + which: 3.0.0 transitivePeerDependencies: + - bluebird - supports-color dev: true @@ -2493,16 +2906,9 @@ packages: engines: {node: '>= 10.0.0'} requiresBuild: true dependencies: - node-addon-api: 3.2.1 - node-gyp-build: 4.6.1 - dev: true - - /@pkgjs/parseargs@0.11.0: - resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} - engines: {node: '>=14'} - requiresBuild: true + node-addon-api: 3.2.1 + node-gyp-build: 4.6.0 dev: true - optional: true /@puppeteer/browsers@0.5.0(typescript@4.9.5): resolution: {integrity: sha512-Uw6oB7VvmPRLE4iKsjuOh8zgDabhNX67dzo8U/BB0f9527qx+4eeUs+korU98OhG5C4ubg7ufBgVi63XYwS6TQ==} @@ -2556,8 +2962,9 @@ packages: dependencies: '@sigstore/bundle': 1.1.0 '@sigstore/protobuf-specs': 0.2.1 - make-fetch-happen: 11.1.1 + make-fetch-happen: 11.0.3 transitivePeerDependencies: + - bluebird - supports-color dev: true @@ -2568,6 +2975,7 @@ packages: '@sigstore/protobuf-specs': 0.2.1 tuf-js: 1.1.7 transitivePeerDependencies: + - bluebird - supports-color dev: true @@ -2585,6 +2993,22 @@ packages: engines: {node: '>= 10'} dev: true + /@tsconfig/node10@1.0.9: + resolution: {integrity: sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==} + dev: true + + /@tsconfig/node12@1.0.11: + resolution: {integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==} + dev: true + + /@tsconfig/node14@1.0.3: + resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==} + dev: true + + /@tsconfig/node16@1.0.4: + resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} + dev: true + /@tufjs/canonical-json@1.0.0: resolution: {integrity: sha512-QTnf++uxunWvG2z3UFNzAoQPHxnSXOwtaI3iJ+AohhV+5vONuArPjJE7aPXPVXfXJsqrVbZBu9b81AJoSd09IQ==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} @@ -2598,28 +3022,28 @@ packages: minimatch: 9.0.3 dev: true - /@types/body-parser@1.19.3: - resolution: {integrity: sha512-oyl4jvAfTGX9Bt6Or4H9ni1Z447/tQuxnZsytsCaExKlmJiU8sFgnIBRzJUpKwB5eWn9HuBYlUlVA74q/yN0eQ==} + /@types/body-parser@1.19.2: + resolution: {integrity: sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==} dependencies: - '@types/connect': 3.4.36 + '@types/connect': 3.4.35 '@types/node': 18.18.5 dev: true - /@types/bonjour@3.5.11: - resolution: {integrity: sha512-isGhjmBtLIxdHBDl2xGwUzEM8AOyOvWsADWq7rqirdi/ZQoHnLWErHvsThcEzTX8juDRiZtzp2Qkv5bgNh6mAg==} + /@types/bonjour@3.5.10: + resolution: {integrity: sha512-p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw==} dependencies: '@types/node': 18.18.5 dev: true - /@types/connect-history-api-fallback@1.5.1: - resolution: {integrity: sha512-iaQslNbARe8fctL5Lk+DsmgWOM83lM+7FzP0eQUJs1jd3kBE8NWqBTIT2S8SqQOJjxvt2eyIjpOuYeRXq2AdMw==} + /@types/connect-history-api-fallback@1.3.5: + resolution: {integrity: sha512-h8QJa8xSb1WD4fpKBDcATDNGXghFj6/3GRWG6dhmRcu0RX1Ubasur2Uvx5aeEwlf0MwblEC2bMzzMQntxnw/Cw==} dependencies: - '@types/express-serve-static-core': 4.17.37 + '@types/express-serve-static-core': 4.17.33 '@types/node': 18.18.5 dev: true - /@types/connect@3.4.36: - resolution: {integrity: sha512-P63Zd/JUGq+PdrM1lv0Wv5SBYeA2+CORvbrXbngriYY0jzLUWfQMQQxOhjONEz/wlHOAxOdY7CY65rgQdTjq2w==} + /@types/connect@3.4.35: + resolution: {integrity: sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==} dependencies: '@types/node': 18.18.5 dev: true @@ -2628,54 +3052,49 @@ packages: resolution: {integrity: sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==} dev: true - /@types/cors@2.8.14: - resolution: {integrity: sha512-RXHUvNWYICtbP6s18PnOCaqToK8y14DnLd75c6HfyKf228dxy7pHNOQkxPtvXKp/hINFMDjbYzsj63nnpPMSRQ==} + /@types/cors@2.8.13: + resolution: {integrity: sha512-RG8AStHlUiV5ysZQKq97copd2UmVYw3/pRMLefISZ3S1hK104Cwm7iLQ3fTKx+lsUH2CE8FlLaYeEA2LSeqYUA==} dependencies: '@types/node': 18.18.5 dev: true - /@types/eslint-scope@3.7.5: - resolution: {integrity: sha512-JNvhIEyxVW6EoMIFIvj93ZOywYFatlpu9deeH6eSx6PE3WHYvHaQtmHmQeNw7aA81bYGBPPQqdtBm6b1SsQMmA==} + /@types/eslint-scope@3.7.4: + resolution: {integrity: sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==} dependencies: - '@types/eslint': 8.44.4 + '@types/eslint': 8.37.0 '@types/estree': 1.0.2 dev: true - /@types/eslint@8.44.4: - resolution: {integrity: sha512-lOzjyfY/D9QR4hY9oblZ76B90MYTB3RrQ4z2vBIJKj9ROCRqdkYl2gSUx1x1a4IWPjKJZLL4Aw1Zfay7eMnmnA==} + /@types/eslint@8.37.0: + resolution: {integrity: sha512-Piet7dG2JBuDIfohBngQ3rCt7MgO9xCO4xIMKxBThCq5PNRB91IjlJ10eJVwfoNtvTErmxLzwBZ7rHZtbOMmFQ==} dependencies: '@types/estree': 1.0.2 - '@types/json-schema': 7.0.13 + '@types/json-schema': 7.0.11 dev: true /@types/estree@1.0.2: resolution: {integrity: sha512-VeiPZ9MMwXjO32/Xu7+OwflfmeoRwkE/qzndw42gGtgJwZopBnzy2gD//NN1+go1mADzkDcqf/KnFRSjTJ8xJA==} dev: true - /@types/express-serve-static-core@4.17.37: - resolution: {integrity: sha512-ZohaCYTgGFcOP7u6aJOhY9uIZQgZ2vxC2yWoArY+FeDXlqeH66ZVBjgvg+RLVAS/DWNq4Ap9ZXu1+SUQiiWYMg==} + /@types/express-serve-static-core@4.17.33: + resolution: {integrity: sha512-TPBqmR/HRYI3eC2E5hmiivIzv+bidAfXofM+sbonAGvyDhySGw9/PQZFt2BLOrjUUR++4eJVpx6KnLQK1Fk9tA==} dependencies: '@types/node': 18.18.5 - '@types/qs': 6.9.8 - '@types/range-parser': 1.2.5 - '@types/send': 0.17.2 + '@types/qs': 6.9.7 + '@types/range-parser': 1.2.4 dev: true - /@types/express@4.17.19: - resolution: {integrity: sha512-UtOfBtzN9OvpZPPbnnYunfjM7XCI4jyk1NvnFhTVz5krYAnW4o5DCoIekvms+8ApqhB4+9wSge1kBijdfTSmfg==} + /@types/express@4.17.17: + resolution: {integrity: sha512-Q4FmmuLGBG58btUnfS1c1r/NQdlp3DMfGDGig8WhfpA2YRUtEkxAjkZb0yvplJGYdF1fsQ81iMDcH24sSCNC/Q==} dependencies: - '@types/body-parser': 1.19.3 - '@types/express-serve-static-core': 4.17.37 - '@types/qs': 6.9.8 - '@types/serve-static': 1.15.3 - dev: true - - /@types/http-errors@2.0.2: - resolution: {integrity: sha512-lPG6KlZs88gef6aD85z3HNkztpj7w2R7HmR3gygjfXCQmsLloWNARFkMuzKiiY8FGdh1XDpgBdrSf4aKDiA7Kg==} + '@types/body-parser': 1.19.2 + '@types/express-serve-static-core': 4.17.33 + '@types/qs': 6.9.7 + '@types/serve-static': 1.15.1 dev: true - /@types/http-proxy@1.17.12: - resolution: {integrity: sha512-kQtujO08dVtQ2wXAuSFfk9ASy3sug4+ogFR8Kd8UgP8PEuc1/G/8yjYRmp//PcDNJEUKOza/MrQu15bouEUCiw==} + /@types/http-proxy@1.17.10: + resolution: {integrity: sha512-Qs5aULi+zV1bwKAg5z1PWnDXWmsn+LxIvUGv6E2+OOMYhclZMO+OXd9pYVf2gLykf2I7IV2u7oTHwChPNsvJ7g==} dependencies: '@types/node': 18.18.5 dev: true @@ -2684,69 +3103,61 @@ packages: resolution: {integrity: sha512-3N0FpQTeiWjm+Oo1WUYWguUS7E6JLceiGTriFrG8k5PU7zRLJCzLcWURU3wjMbZGS//a2/LgjsnO3QxIlwxt9g==} dev: true - /@types/json-schema@7.0.13: - resolution: {integrity: sha512-RbSSoHliUbnXj3ny0CNFOoxrIDV6SUGyStHsvDqosw6CkdPV8TtWGlfecuK4ToyMEAql6pzNxgCFKanovUzlgQ==} - dev: true - - /@types/mime@1.3.3: - resolution: {integrity: sha512-Ys+/St+2VF4+xuY6+kDIXGxbNRO0mesVg0bbxEfB97Od1Vjpjx9KD1qxs64Gcb3CWPirk9Xe+PT4YiiHQ9T+eg==} + /@types/json-schema@7.0.11: + resolution: {integrity: sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==} dev: true - /@types/mime@3.0.2: - resolution: {integrity: sha512-Wj+fqpTLtTbG7c0tH47dkahefpLKEbB+xAZuLq7b4/IDHPl/n6VoXcyUQ2bypFlbSwvCr0y+bD4euTTqTJsPxQ==} + /@types/mime@3.0.1: + resolution: {integrity: sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA==} dev: true - /@types/minimist@1.2.3: - resolution: {integrity: sha512-ZYFzrvyWUNhaPomn80dsMNgMeXxNWZBdkuG/hWlUvXvbdUH8ZERNBGXnU87McuGcWDsyzX2aChCv/SVN348k3A==} + /@types/minimist@1.2.2: + resolution: {integrity: sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==} dev: true /@types/node@18.18.5: resolution: {integrity: sha512-4slmbtwV59ZxitY4ixUZdy1uRLf9eSIvBWPQxNjhHYWEtn0FryfKpyS2cvADYXTayWdKEIsJengncrVvkI4I6A==} dev: true - /@types/normalize-package-data@2.4.2: - resolution: {integrity: sha512-lqa4UEhhv/2sjjIQgjX8B+RBjj47eo0mzGasklVJ78UKGQY1r0VpB9XHDaZZO9qzEFDdy4MrXLuEaSmPrPSe/A==} + /@types/node@20.5.1: + resolution: {integrity: sha512-4tT2UrL5LBqDwoed9wZ6N3umC4Yhz3W3FloMmiiG4JwmUJWpie0c7lcnUNd4gtMKuDEO4wRVS8B6Xa0uMRsMKg==} dev: true - /@types/qs@6.9.8: - resolution: {integrity: sha512-u95svzDlTysU5xecFNTgfFG5RUWu1A9P0VzgpcIiGZA9iraHOdSzcxMxQ55DyeRaGCSxQi7LxXDI4rzq/MYfdg==} + /@types/normalize-package-data@2.4.1: + resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==} dev: true - /@types/range-parser@1.2.5: - resolution: {integrity: sha512-xrO9OoVPqFuYyR/loIHjnbvvyRZREYKLjxV4+dY6v3FQR3stQ9ZxIGkaclF7YhI9hfjpuTbu14hZEy94qKLtOA==} + /@types/qs@6.9.7: + resolution: {integrity: sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==} dev: true - /@types/retry@0.12.0: - resolution: {integrity: sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==} + /@types/range-parser@1.2.4: + resolution: {integrity: sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==} dev: true - /@types/semver@7.5.3: - resolution: {integrity: sha512-OxepLK9EuNEIPxWNME+C6WwbRAOOI2o2BaQEGzz5Lu2e4Z5eDnEo+/aVEDMIXywoJitJ7xWd641wrGLZdtwRyw==} + /@types/retry@0.12.0: + resolution: {integrity: sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==} dev: true - /@types/send@0.17.2: - resolution: {integrity: sha512-aAG6yRf6r0wQ29bkS+x97BIs64ZLxeE/ARwyS6wrldMm3C1MdKwCcnnEwMC1slI8wuxJOpiUH9MioC0A0i+GJw==} - dependencies: - '@types/mime': 1.3.3 - '@types/node': 18.18.5 + /@types/semver@7.3.13: + resolution: {integrity: sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==} dev: true - /@types/serve-index@1.9.2: - resolution: {integrity: sha512-asaEIoc6J+DbBKXtO7p2shWUpKacZOoMBEGBgPG91P8xhO53ohzHWGCs4ScZo5pQMf5ukQzVT9fhX1WzpHihig==} + /@types/serve-index@1.9.1: + resolution: {integrity: sha512-d/Hs3nWDxNL2xAczmOVZNj92YZCS6RGxfBPjKzuu/XirCgXdpKEb88dYNbrYGint6IVWLNP+yonwVAuRC0T2Dg==} dependencies: - '@types/express': 4.17.19 + '@types/express': 4.17.17 dev: true - /@types/serve-static@1.15.3: - resolution: {integrity: sha512-yVRvFsEMrv7s0lGhzrggJjNOSmZCdgCjw9xWrPr/kNNLp6FaDfMC1KaYl3TSJ0c58bECwNBMoQrZJ8hA8E1eFg==} + /@types/serve-static@1.15.1: + resolution: {integrity: sha512-NUo5XNiAdULrJENtJXZZ3fHtfMolzZwczzBbnAeBbqBwG+LaG6YaJtuwzwGSQZ2wsCrxjEhNNjAkKigy3n8teQ==} dependencies: - '@types/http-errors': 2.0.2 - '@types/mime': 3.0.2 + '@types/mime': 3.0.1 '@types/node': 18.18.5 dev: true - /@types/sockjs@0.3.34: - resolution: {integrity: sha512-R+n7qBFnm/6jinlteC9DBL5dGiDGjWAvjo4viUanpnc/dG1y7uDoacXPIQ/PQEg1fI912SMHIa014ZjRpvDw4g==} + /@types/sockjs@0.3.33: + resolution: {integrity: sha512-f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw==} dependencies: '@types/node': 18.18.5 dev: true @@ -2757,8 +3168,8 @@ packages: '@types/node': 18.18.5 dev: true - /@types/yauzl@2.10.1: - resolution: {integrity: sha512-CHzgNU3qYBnp/O4S3yv2tXPlvMTq0YWSTVg2/JYLqWZGHwwgJGAwd00poay/11asPq8wLFwHzubyInqHIFmmiw==} + /@types/yauzl@2.10.0: + resolution: {integrity: sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==} requiresBuild: true dependencies: '@types/node': 18.18.5 @@ -2776,7 +3187,7 @@ packages: typescript: optional: true dependencies: - '@eslint-community/regexpp': 4.9.1 + '@eslint-community/regexpp': 4.5.0 '@typescript-eslint/parser': 5.62.0(eslint@8.51.0)(typescript@4.9.5) '@typescript-eslint/scope-manager': 5.62.0 '@typescript-eslint/type-utils': 5.62.0(eslint@8.51.0)(typescript@4.9.5) @@ -2786,7 +3197,7 @@ packages: graphemer: 1.4.0 ignore: 5.2.4 natural-compare-lite: 1.4.0 - semver: 7.5.4 + semver: 7.4.0 tsutils: 3.21.0(typescript@4.9.5) typescript: 4.9.5 transitivePeerDependencies: @@ -2860,7 +3271,7 @@ packages: debug: 4.3.4 globby: 11.1.0 is-glob: 4.0.3 - semver: 7.5.4 + semver: 7.4.0 tsutils: 3.21.0(typescript@4.9.5) typescript: 4.9.5 transitivePeerDependencies: @@ -2874,14 +3285,14 @@ packages: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.51.0) - '@types/json-schema': 7.0.13 - '@types/semver': 7.5.3 + '@types/json-schema': 7.0.11 + '@types/semver': 7.3.13 '@typescript-eslint/scope-manager': 5.62.0 '@typescript-eslint/types': 5.62.0 '@typescript-eslint/typescript-estree': 5.62.0(typescript@4.9.5) eslint: 8.51.0 eslint-scope: 5.1.1 - semver: 7.5.4 + semver: 7.4.0 transitivePeerDependencies: - supports-color - typescript @@ -2892,7 +3303,7 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: '@typescript-eslint/types': 5.62.0 - eslint-visitor-keys: 3.4.3 + eslint-visitor-keys: 3.4.0 dev: true /@vitejs/plugin-basic-ssl@1.0.1(vite@4.4.7): @@ -3056,6 +3467,14 @@ packages: argparse: 2.0.1 dev: true + /JSONStream@1.3.5: + resolution: {integrity: sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==} + hasBin: true + dependencies: + jsonparse: 1.3.1 + through: 2.3.8 + dev: true + /abab@2.0.6: resolution: {integrity: sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==} dev: true @@ -3079,12 +3498,12 @@ packages: acorn-walk: 7.2.0 dev: true - /acorn-import-assertions@1.9.0(acorn@8.10.0): + /acorn-import-assertions@1.9.0(acorn@8.8.2): resolution: {integrity: sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==} peerDependencies: acorn: ^8 dependencies: - acorn: 8.10.0 + acorn: 8.8.2 dev: true /acorn-jsx@5.3.2(acorn@8.10.0): @@ -3100,6 +3519,11 @@ packages: engines: {node: '>=0.4.0'} dev: true + /acorn-walk@8.2.0: + resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==} + engines: {node: '>=0.4.0'} + dev: true + /acorn@7.4.1: resolution: {integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==} engines: {node: '>=0.4.0'} @@ -3112,6 +3536,12 @@ packages: hasBin: true dev: true + /acorn@8.8.2: + resolution: {integrity: sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==} + engines: {node: '>=0.4.0'} + hasBin: true + dev: true + /adjust-sourcemap-loader@4.0.0: resolution: {integrity: sha512-OXwN5b9pCUXNQHJpwwD2qP40byEmSgzj8B4ydSN0uMNYWiFmJ6x6KwUllMmfk8Rwu/HJDFR7U8ubsWBoN0Xp0A==} engines: {node: '>=8.9'} @@ -3129,11 +3559,15 @@ packages: - supports-color dev: true - /agentkeepalive@4.5.0: - resolution: {integrity: sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew==} + /agentkeepalive@4.3.0: + resolution: {integrity: sha512-7Epl1Blf4Sy37j4v9f9FjICCh4+KAQOyXgHEwlyBiAQLbhKdq/i2QQU3amQalS/wPhdPzDXPL5DMR5bkn+YeWg==} engines: {node: '>= 8.0.0'} dependencies: + debug: 4.3.4 + depd: 2.0.0 humanize-ms: 1.2.1 + transitivePeerDependencies: + - supports-color dev: true /aggregate-error@3.1.0: @@ -3213,11 +3647,6 @@ packages: engines: {node: '>=8'} dev: true - /ansi-regex@6.0.1: - resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} - engines: {node: '>=12'} - dev: true - /ansi-styles@3.2.1: resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} engines: {node: '>=4'} @@ -3232,11 +3661,6 @@ packages: color-convert: 2.0.1 dev: true - /ansi-styles@6.2.1: - resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} - engines: {node: '>=12'} - dev: true - /anymatch@3.1.3: resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} engines: {node: '>= 8'} @@ -3257,6 +3681,10 @@ packages: readable-stream: 3.6.2 dev: true + /arg@4.1.3: + resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} + dev: true + /argparse@1.0.10: resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} dependencies: @@ -3281,6 +3709,10 @@ packages: resolution: {integrity: sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==} dev: true + /array-ify@1.0.0: + resolution: {integrity: sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==} + dev: true + /array-union@2.1.0: resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} engines: {node: '>=8'} @@ -3311,9 +3743,9 @@ packages: peerDependencies: postcss: ^8.1.0 dependencies: - browserslist: 4.22.1 - caniuse-lite: 1.0.30001547 - fraction.js: 4.3.7 + browserslist: 4.21.5 + caniuse-lite: 1.0.30001478 + fraction.js: 4.2.0 normalize-range: 0.1.2 picocolors: 1.0.0 postcss: 8.4.31 @@ -3323,7 +3755,7 @@ packages: /axios@1.5.1: resolution: {integrity: sha512-Q28iYCWzNHjAm+yEAot5QaAMxhMghWLFVf7rRdwhUI+c2jix2DUXjAHXVi+s1ibs3mjPO/cCgbA++3BjD0vP/A==} dependencies: - follow-redirects: 1.15.3 + follow-redirects: 1.15.2 form-data: 4.0.0 proxy-from-env: 1.1.0 transitivePeerDependencies: @@ -3345,7 +3777,7 @@ packages: dependencies: '@babel/core': 7.22.9 find-cache-dir: 4.0.0 - schema-utils: 4.2.0 + schema-utils: 4.0.0 webpack: 5.88.2(esbuild@0.18.17) dev: true @@ -3353,7 +3785,7 @@ packages: resolution: {integrity: sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==} engines: {node: '>=8'} dependencies: - '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-plugin-utils': 7.20.2 '@istanbuljs/load-nyc-config': 1.1.0 '@istanbuljs/schema': 0.1.3 istanbul-lib-instrument: 5.2.1 @@ -3513,13 +3945,24 @@ packages: resolution: {integrity: sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==} dev: true + /browserslist@4.21.5: + resolution: {integrity: sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + dependencies: + caniuse-lite: 1.0.30001478 + electron-to-chromium: 1.4.361 + node-releases: 2.0.10 + update-browserslist-db: 1.0.10(browserslist@4.21.5) + dev: true + /browserslist@4.22.1: resolution: {integrity: sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: caniuse-lite: 1.0.30001547 - electron-to-chromium: 1.4.553 + electron-to-chromium: 1.4.554 node-releases: 2.0.13 update-browserslist-db: 1.0.13(browserslist@4.22.1) dev: true @@ -3555,29 +3998,58 @@ packages: engines: {node: '>= 0.8'} dev: true - /cacache@17.1.4: - resolution: {integrity: sha512-/aJwG2l3ZMJ1xNAnqbMpA40of9dj/pIH3QfiuQSqjfPJF747VR0J/bHn+/KdNnHKc6XQcWt/AfRSBft82W1d2A==} + /cacache@16.1.3: + resolution: {integrity: sha512-/+Emcj9DAXxX4cwlLmRI9c166RuL3w30zp4R7Joiv2cQTtTtA+jeuCAjH3ZlGnYS3tKENSrKhAzVVP9GVyzeYQ==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + dependencies: + '@npmcli/fs': 2.1.2 + '@npmcli/move-file': 2.0.1 + chownr: 2.0.0 + fs-minipass: 2.1.0 + glob: 8.1.0 + infer-owner: 1.0.4 + lru-cache: 7.18.3 + minipass: 3.3.6 + minipass-collect: 1.0.2 + minipass-flush: 1.0.5 + minipass-pipeline: 1.2.4 + mkdirp: 1.0.4 + p-map: 4.0.0 + promise-inflight: 1.0.1 + rimraf: 3.0.2 + ssri: 9.0.1 + tar: 6.1.13 + unique-filename: 2.0.1 + transitivePeerDependencies: + - bluebird + dev: true + + /cacache@17.0.5: + resolution: {integrity: sha512-Y/PRQevNSsjAPWykl9aeGz8Pr+OI6BYM9fYDNMvOkuUiG9IhG4LEmaYrZZZvioMUEQ+cBCxT0v8wrnCURccyKA==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: '@npmcli/fs': 3.1.0 - fs-minipass: 3.0.3 - glob: 10.3.10 + fs-minipass: 3.0.1 + glob: 9.3.5 lru-cache: 7.18.3 - minipass: 7.0.4 + minipass: 4.2.8 minipass-collect: 1.0.2 minipass-flush: 1.0.5 minipass-pipeline: 1.2.4 p-map: 4.0.0 - ssri: 10.0.5 - tar: 6.2.0 + promise-inflight: 1.0.1 + ssri: 10.0.3 + tar: 6.1.13 unique-filename: 3.0.0 + transitivePeerDependencies: + - bluebird dev: true /call-bind@1.0.2: resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} dependencies: - function-bind: 1.1.2 - get-intrinsic: 1.2.1 + function-bind: 1.1.1 + get-intrinsic: 1.2.0 dev: true /callsites@3.1.0: @@ -3585,6 +4057,15 @@ packages: engines: {node: '>=6'} dev: true + /camelcase-keys@6.2.2: + resolution: {integrity: sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==} + engines: {node: '>=8'} + dependencies: + camelcase: 5.3.1 + map-obj: 4.3.0 + quick-lru: 4.0.1 + dev: true + /camelcase-keys@7.0.2: resolution: {integrity: sha512-Rjs1H+A9R+Ig+4E/9oyB66UC5Mj9Xq3N//vcLf2WzgdTi/3gUu3Z9KoqmlrEG4VuuLK8wJHofxzdQXz/knhiYg==} engines: {node: '>=12'} @@ -3605,6 +4086,10 @@ packages: engines: {node: '>=10'} dev: true + /caniuse-lite@1.0.30001478: + resolution: {integrity: sha512-gMhDyXGItTHipJj2ApIvR+iVB5hd0KP3svMWWXDvZOmjzJJassGLMfxRkQCSYgGd2gtdL/ReeiyvMSFD1Ss6Mw==} + dev: true + /caniuse-lite@1.0.30001547: resolution: {integrity: sha512-W7CrtIModMAxobGhz8iXmDfuJiiKg1WADMO/9x7/CLNin5cpSbuBjooyoIUVB5eyCc36QuTVlkVa1iB2S5+/eA==} dev: true @@ -3642,7 +4127,7 @@ packages: normalize-path: 3.0.0 readdirp: 3.6.0 optionalDependencies: - fsevents: 2.3.3 + fsevents: 2.3.2 dev: true /chownr@1.1.4: @@ -3685,8 +4170,8 @@ packages: engines: {node: '>=6'} dev: true - /cli-spinners@2.9.1: - resolution: {integrity: sha512-jHgecW0pxkonBJdrKsqxgRX9AcG+u/5k0Q7WPDfi8AogLAdwxEkyYYNWwZ5GvVFoFx2uiY1eNcSK00fh+1+FyQ==} + /cli-spinners@2.8.0: + resolution: {integrity: sha512-/eG5sJcvEIwxcdYM86k5tPwn0MUzkX5YY3eImTGpJOZgVe4SdTMY14vQpcxgBzJ0wXwAYrS8E+c3uHeK4JNyzQ==} engines: {node: '>=6'} dev: true @@ -3756,8 +4241,8 @@ packages: resolution: {integrity: sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==} dev: true - /colorette@2.0.20: - resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} + /colorette@2.0.19: + resolution: {integrity: sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==} dev: true /combined-stream@1.0.8: @@ -3775,6 +4260,13 @@ packages: resolution: {integrity: sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==} dev: true + /compare-func@2.0.0: + resolution: {integrity: sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==} + dependencies: + array-ify: 1.0.0 + dot-prop: 5.3.0 + dev: true + /compressible@2.0.18: resolution: {integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==} engines: {node: '>= 0.6'} @@ -3834,12 +4326,33 @@ packages: engines: {node: '>= 0.6'} dev: true - /convert-source-map@1.9.0: - resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} + /conventional-changelog-angular@6.0.0: + resolution: {integrity: sha512-6qLgrBF4gueoC7AFVHu51nHL9pF9FRjXrH+ceVf7WmAfH3gs+gEYOkvxhjMPjZu57I4AGUGoNTY8V7Hrgf1uqg==} + engines: {node: '>=14'} + dependencies: + compare-func: 2.0.0 + dev: true + + /conventional-changelog-conventionalcommits@6.1.0: + resolution: {integrity: sha512-3cS3GEtR78zTfMzk0AizXKKIdN4OvSh7ibNz6/DPbhWWQu7LqE/8+/GqSodV+sywUR2gpJAdP/1JFf4XtN7Zpw==} + engines: {node: '>=14'} + dependencies: + compare-func: 2.0.0 + dev: true + + /conventional-commits-parser@4.0.0: + resolution: {integrity: sha512-WRv5j1FsVM5FISJkoYMR6tPk07fkKT0UodruX4je86V4owk451yjXAKzKAPOs9l7y59E2viHUS9eQ+dfUA9NSg==} + engines: {node: '>=14'} + hasBin: true + dependencies: + JSONStream: 1.3.5 + is-text-path: 1.0.1 + meow: 8.1.2 + split2: 3.2.2 dev: true - /convert-source-map@2.0.0: - resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + /convert-source-map@1.9.0: + resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} dev: true /cookie-signature@1.0.6: @@ -3870,9 +4383,9 @@ packages: dependencies: fast-glob: 3.3.1 glob-parent: 6.0.2 - globby: 13.2.2 + globby: 13.1.4 normalize-path: 3.0.0 - schema-utils: 4.2.0 + schema-utils: 4.0.0 serialize-javascript: 6.0.1 webpack: 5.88.2(esbuild@0.18.17) dev: true @@ -3895,6 +4408,21 @@ packages: vary: 1.1.2 dev: true + /cosmiconfig-typescript-loader@4.4.0(@types/node@20.5.1)(cosmiconfig@8.1.3)(ts-node@10.9.1)(typescript@4.9.5): + resolution: {integrity: sha512-BabizFdC3wBHhbI4kJh0VkQP9GkBfoHPydD0COMce1nJ1kJAB3F2TmJ/I7diULBKtmEWSwEbuN/KDtgnmUUVmw==} + engines: {node: '>=v14.21.3'} + peerDependencies: + '@types/node': '*' + cosmiconfig: '>=7' + ts-node: '>=10' + typescript: '>=4' + dependencies: + '@types/node': 20.5.1 + cosmiconfig: 8.1.3 + ts-node: 10.9.1(@types/node@18.18.5)(typescript@4.9.5) + typescript: 4.9.5 + dev: true + /cosmiconfig@8.1.3: resolution: {integrity: sha512-/UkO2JKI18b5jVMJUp0lvKFMpa/Gye+ZgZjKD+DGEN9y7NRcf/nK1A0sp67ONmKtnDCNMS44E6jrk0Yc3bDuUw==} engines: {node: '>=14'} @@ -3921,6 +4449,10 @@ packages: typescript: 4.9.5 dev: true + /create-require@1.1.1: + resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} + dev: true + /critters@0.0.20: resolution: {integrity: sha512-CImNRorKOl5d8TWcnAz5n5izQ6HFsvz29k327/ELy6UFcmbiZNOsinaKvzv16WZR0P6etfSWYzE47C4/56B3Uw==} dependencies: @@ -3978,7 +4510,7 @@ packages: boolbase: 1.0.0 css-what: 6.1.0 domhandler: 5.0.3 - domutils: 3.1.0 + domutils: 3.0.1 nth-check: 2.1.1 dev: true @@ -4020,6 +4552,11 @@ packages: resolution: {integrity: sha512-GAj5FOq0Hd+RsCGVJxZuKaIDXDf3h6GQoNEjFgbLLI/trgtavwUbSnZ5pVfg27DVCaWjIohryS0JFwIJyT2cMg==} dev: true + /dargs@7.0.0: + resolution: {integrity: sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg==} + engines: {node: '>=8'} + dev: true + /data-urls@2.0.0: resolution: {integrity: sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==} engines: {node: '>=10'} @@ -4155,6 +4692,11 @@ packages: resolution: {integrity: sha512-uJaamHkagcZtHPqCIHZxnFrXlunQXgBOsZSUOWwFw31QJCAbyTBoHMW75YOTur5ZNx8pIeAKgf6GWIgaqqiLhA==} dev: true + /diff@4.0.2: + resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} + engines: {node: '>=0.3.1'} + dev: true + /dir-glob@3.0.1: resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} engines: {node: '>=8'} @@ -4166,8 +4708,8 @@ packages: resolution: {integrity: sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==} dev: true - /dns-packet@5.6.1: - resolution: {integrity: sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==} + /dns-packet@5.5.0: + resolution: {integrity: sha512-USawdAUzRkV6xrqTjiAEp6M9YagZEzWcSUaZTcIFAiyQWW1SoI6KyId8y2+/71wbgHKQAKd+iupLv4YvEwYWvA==} engines: {node: '>=6'} dependencies: '@leichtgewicht/ip-codec': 2.0.4 @@ -4215,14 +4757,21 @@ packages: domelementtype: 2.3.0 dev: true - /domutils@3.1.0: - resolution: {integrity: sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==} + /domutils@3.0.1: + resolution: {integrity: sha512-z08c1l761iKhDFtfXO04C7kTdPBLi41zwOZl00WS8b5eiaebNpY00HKbztwBq+e3vyqWNwWF3mP9YLUeqIrF+Q==} dependencies: dom-serializer: 2.0.0 domelementtype: 2.3.0 domhandler: 5.0.3 dev: true + /dot-prop@5.3.0: + resolution: {integrity: sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==} + engines: {node: '>=8'} + dependencies: + is-obj: 2.0.0 + dev: true + /dotenv@10.0.0: resolution: {integrity: sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==} engines: {node: '>=10'} @@ -4232,10 +4781,6 @@ packages: resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} dev: true - /eastasianwidth@0.2.0: - resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} - dev: true - /ee-first@1.1.1: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} dev: true @@ -4248,16 +4793,16 @@ packages: jake: 10.8.7 dev: true - /electron-to-chromium@1.4.553: - resolution: {integrity: sha512-HiRdtyKS2+VhiXvjhMvvxiMC33FJJqTA5EB2YHgFZW6v7HkK4Q9Ahv2V7O2ZPgAjw+MyCJVMQvigj13H8t+wvA==} + /electron-to-chromium@1.4.361: + resolution: {integrity: sha512-VocVwjPp05HUXzf3xmL0boRn5b0iyqC7amtDww84Jb1QJNPBc7F69gJyEeXRoriLBC4a5pSyckdllrXAg4mmRA==} dev: true - /emoji-regex@8.0.0: - resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + /electron-to-chromium@1.4.554: + resolution: {integrity: sha512-Q0umzPJjfBrrj8unkONTgbKQXzXRrH7sVV7D9ea2yBV3Oaogz991yhbpfvo2LMNkJItmruXTEzVpP9cp7vaIiQ==} dev: true - /emoji-regex@9.2.2: - resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + /emoji-regex@8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} dev: true /emojis-list@3.0.0: @@ -4284,24 +4829,24 @@ packages: once: 1.4.0 dev: true - /engine.io-parser@5.2.1: - resolution: {integrity: sha512-9JktcM3u18nU9N2Lz3bWeBgxVgOKpw7yhRaoxQA3FUDZzzw+9WlA6p4G4u0RixNkg14fH7EfEc/RhpurtiROTQ==} + /engine.io-parser@5.0.6: + resolution: {integrity: sha512-tjuoZDMAdEhVnSFleYPCtdL2GXwVTGtNjoeJd9IhIG3C1xs9uwxqRNEu5WpnDZCaozwVlK/nuQhpodhXSIMaxw==} engines: {node: '>=10.0.0'} dev: true - /engine.io@6.5.3: - resolution: {integrity: sha512-IML/R4eG/pUS5w7OfcDE0jKrljWS9nwnEfsxWCIJF5eO6AHo6+Hlv+lQbdlAYsiJPHzUthLm1RUjnBzWOs45cw==} - engines: {node: '>=10.2.0'} + /engine.io@6.4.1: + resolution: {integrity: sha512-JFYQurD/nbsA5BSPmbaOSLa3tSVj8L6o4srSwXXY3NqE+gGUNmmPTbhn8tjzcCtSqhFgIeqef81ngny8JM25hw==} + engines: {node: '>=10.0.0'} dependencies: '@types/cookie': 0.4.1 - '@types/cors': 2.8.14 + '@types/cors': 2.8.13 '@types/node': 18.18.5 accepts: 1.3.8 base64id: 2.0.0 cookie: 0.4.2 cors: 2.8.5 debug: 4.3.4 - engine.io-parser: 5.2.1 + engine.io-parser: 5.0.6 ws: 8.11.0 transitivePeerDependencies: - bufferutil @@ -4468,6 +5013,14 @@ packages: estraverse: 4.3.0 dev: true + /eslint-scope@7.2.0: + resolution: {integrity: sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + esrecurse: 4.3.0 + estraverse: 5.3.0 + dev: true + /eslint-scope@7.2.2: resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -4476,6 +5029,11 @@ packages: estraverse: 5.3.0 dev: true + /eslint-visitor-keys@3.4.0: + resolution: {integrity: sha512-HPpKPUBQcAsZOsHAFwTtIKcYlCje62XB7SEAcxjtmW6TD1WVpkS6i6/hOVtTZIl4zGj/mBqpFVGvaDneik+VoQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true + /eslint-visitor-keys@3.4.3: resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -4508,7 +5066,7 @@ packages: file-entry-cache: 6.0.1 find-up: 5.0.0 glob-parent: 6.0.2 - globals: 13.23.0 + globals: 13.20.0 graphemer: 1.4.0 ignore: 5.2.4 imurmurhash: 0.1.4 @@ -4604,10 +5162,6 @@ packages: strip-final-newline: 2.0.0 dev: true - /exponential-backoff@3.1.1: - resolution: {integrity: sha512-dX7e/LHVJ6W3DE1MHWi9S1EYzDESENfLrYohG2G++ovZrYOkm4Knwa0mc1cn84xJOR4KEU0WSchhLbd0UklbHw==} - dev: true - /express@4.18.2: resolution: {integrity: sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==} engines: {node: '>= 0.10.0'} @@ -4669,7 +5223,7 @@ packages: get-stream: 5.2.0 yauzl: 2.10.0 optionalDependencies: - '@types/yauzl': 2.10.1 + '@types/yauzl': 2.10.0 transitivePeerDependencies: - supports-color dev: true @@ -4678,8 +5232,8 @@ packages: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} dev: true - /fast-diff@1.3.0: - resolution: {integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==} + /fast-diff@1.2.0: + resolution: {integrity: sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==} dev: true /fast-glob@3.2.7: @@ -4747,7 +5301,7 @@ packages: resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} engines: {node: ^10.12.0 || >=12.0.0} dependencies: - flat-cache: 3.1.1 + flat-cache: 3.0.4 dev: true /filelist@1.0.4: @@ -4825,12 +5379,11 @@ packages: path-exists: 5.0.0 dev: true - /flat-cache@3.1.1: - resolution: {integrity: sha512-/qM2b3LUIaIgviBQovTLvijfyOQXPtSRnRK26ksj2J7rzPIecePUIpJsZ4T02Qg+xiAEKIs5K8dsHEd+VaKa/Q==} - engines: {node: '>=12.0.0'} + /flat-cache@3.0.4: + resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==} + engines: {node: ^10.12.0 || >=12.0.0} dependencies: - flatted: 3.2.9 - keyv: 4.5.4 + flatted: 3.2.7 rimraf: 3.0.2 dev: true @@ -4839,12 +5392,12 @@ packages: hasBin: true dev: true - /flatted@3.2.9: - resolution: {integrity: sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==} + /flatted@3.2.7: + resolution: {integrity: sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==} dev: true - /follow-redirects@1.15.3: - resolution: {integrity: sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==} + /follow-redirects@1.15.2: + resolution: {integrity: sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==} engines: {node: '>=4.0'} peerDependencies: debug: '*' @@ -4853,14 +5406,6 @@ packages: optional: true dev: true - /foreground-child@3.1.1: - resolution: {integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==} - engines: {node: '>=14'} - dependencies: - cross-spawn: 7.0.3 - signal-exit: 4.1.0 - dev: true - /form-data@3.0.1: resolution: {integrity: sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==} engines: {node: '>= 6'} @@ -4884,8 +5429,8 @@ packages: engines: {node: '>= 0.6'} dev: true - /fraction.js@4.3.7: - resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==} + /fraction.js@4.2.0: + resolution: {integrity: sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==} dev: true /fresh@0.5.2: @@ -4922,31 +5467,31 @@ packages: minipass: 3.3.6 dev: true - /fs-minipass@3.0.3: - resolution: {integrity: sha512-XUBA9XClHbnJWSfBzjkm6RvPsyg3sryZt06BEQoXcF7EK/xpGaQYJgQKDJSUH5SGZ76Y7pFx1QBnXz09rU5Fbw==} + /fs-minipass@3.0.1: + resolution: {integrity: sha512-MhaJDcFRTuLidHrIttu0RDGyyXs/IYHVmlcxfLAEFIWjc1vdLAkdwT7Ace2u7DbitWC0toKMl5eJZRYNVreIMw==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: - minipass: 7.0.4 + minipass: 4.2.8 dev: true - /fs-monkey@1.0.5: - resolution: {integrity: sha512-8uMbBjrhzW76TYgEV27Y5E//W2f/lTFmx78P2w19FZSxarhI/798APGQyuGCwmkNxgwGRhrLfvWyLBvNtuOmew==} + /fs-monkey@1.0.3: + resolution: {integrity: sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q==} dev: true /fs.realpath@1.0.0: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} dev: true - /fsevents@2.3.3: - resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + /fsevents@2.3.2: + resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} os: [darwin] requiresBuild: true dev: true optional: true - /function-bind@1.1.2: - resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + /function-bind@1.1.1: + resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} dev: true /gauge@4.0.4: @@ -4973,12 +5518,11 @@ packages: engines: {node: 6.* || 8.* || >= 10.*} dev: true - /get-intrinsic@1.2.1: - resolution: {integrity: sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==} + /get-intrinsic@1.2.0: + resolution: {integrity: sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==} dependencies: - function-bind: 1.1.2 - has: 1.0.4 - has-proto: 1.0.1 + function-bind: 1.1.1 + has: 1.0.3 has-symbols: 1.0.3 dev: true @@ -4999,6 +5543,18 @@ packages: engines: {node: '>=10'} dev: true + /git-raw-commits@2.0.11: + resolution: {integrity: sha512-VnctFhw+xfj8Va1xtfEqCUD2XDrbAPSJx+hSrE5K7fGdjZruW7XV+QOrN7LF/RJyvspRiD2I0asWsxFp0ya26A==} + engines: {node: '>=10'} + hasBin: true + dependencies: + dargs: 7.0.0 + lodash: 4.17.21 + meow: 8.1.2 + split2: 3.2.2 + through2: 4.0.2 + dev: true + /glob-parent@5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} engines: {node: '>= 6'} @@ -5017,18 +5573,6 @@ packages: resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} dev: true - /glob@10.3.10: - resolution: {integrity: sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==} - engines: {node: '>=16 || 14 >=14.17'} - hasBin: true - dependencies: - foreground-child: 3.1.1 - jackspeak: 2.3.6 - minimatch: 9.0.3 - minipass: 7.0.4 - path-scurry: 1.10.1 - dev: true - /glob@7.1.4: resolution: {integrity: sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==} dependencies: @@ -5051,6 +5595,34 @@ packages: path-is-absolute: 1.0.1 dev: true + /glob@8.1.0: + resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} + engines: {node: '>=12'} + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 5.1.6 + once: 1.4.0 + dev: true + + /glob@9.3.5: + resolution: {integrity: sha512-e1LleDykUz2Iu+MTYdkSsuWX8lvAjAcs0Xef0lNIu0S2wOAzuTxCJtcd9S3cijlwYF18EsU3rzb8jPVobxDh9Q==} + engines: {node: '>=16 || 14 >=14.17'} + dependencies: + fs.realpath: 1.0.0 + minimatch: 8.0.4 + minipass: 4.2.8 + path-scurry: 1.6.4 + dev: true + + /global-dirs@0.1.1: + resolution: {integrity: sha512-NknMLn7F2J7aflwFOlGdNIuCDpN3VGoSoB+aap3KABFWbHVn1TCgFC+np23J8W2BiZbjfEw3BFBycSMv1AFblg==} + engines: {node: '>=4'} + dependencies: + ini: 1.3.8 + dev: true + /global-modules@2.0.0: resolution: {integrity: sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==} engines: {node: '>=6'} @@ -5072,8 +5644,8 @@ packages: engines: {node: '>=4'} dev: true - /globals@13.23.0: - resolution: {integrity: sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==} + /globals@13.20.0: + resolution: {integrity: sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==} engines: {node: '>=8'} dependencies: type-fest: 0.20.2 @@ -5091,8 +5663,8 @@ packages: slash: 3.0.0 dev: true - /globby@13.2.2: - resolution: {integrity: sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==} + /globby@13.1.4: + resolution: {integrity: sha512-iui/IiiW+QrJ1X1hKH5qwlMQyv34wJAYwH1vrf8b9kBA4sNiif3gKsMHa+BrdnOpEudWjpotfa7LrTzB1ERS/g==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: dir-glob: 3.0.1 @@ -5147,11 +5719,6 @@ packages: engines: {node: '>=8'} dev: true - /has-proto@1.0.1: - resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==} - engines: {node: '>= 0.4'} - dev: true - /has-symbols@1.0.3: resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} engines: {node: '>= 0.4'} @@ -5161,9 +5728,11 @@ packages: resolution: {integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==} dev: true - /has@1.0.4: - resolution: {integrity: sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ==} + /has@1.0.3: + resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} engines: {node: '>= 0.4.0'} + dependencies: + function-bind: 1.1.1 dev: true /hdr-histogram-js@2.0.3: @@ -5178,6 +5747,10 @@ packages: resolution: {integrity: sha512-7kIufnBqdsBGcSZLPJwqHT3yhk1QTsSlFsVD3kx5ixH/AlgBs9yM1q6DPhXZ8f8gtdqgh7N7/5btRLpQsS2gHw==} dev: true + /hosted-git-info@2.8.9: + resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} + dev: true + /hosted-git-info@4.1.0: resolution: {integrity: sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==} engines: {node: '>=10'} @@ -5208,8 +5781,8 @@ packages: whatwg-encoding: 1.0.5 dev: true - /html-entities@2.4.0: - resolution: {integrity: sha512-igBTJcNNNhvZFRtm8uA6xMY6xYleeDwn3PeBCkDz7tHttv4F2hsDI2aPgNERWzvRcNYHNT3ymRaQzllmXj4YsQ==} + /html-entities@2.3.3: + resolution: {integrity: sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA==} dev: true /html-escaper@2.0.2: @@ -5226,7 +5799,7 @@ packages: dependencies: domelementtype: 2.3.0 domhandler: 5.0.3 - domutils: 3.1.0 + domutils: 3.0.1 entities: 4.5.0 dev: true @@ -5285,7 +5858,7 @@ packages: - supports-color dev: true - /http-proxy-middleware@2.0.6(@types/express@4.17.19): + /http-proxy-middleware@2.0.6(@types/express@4.17.17): resolution: {integrity: sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==} engines: {node: '>=12.0.0'} peerDependencies: @@ -5294,8 +5867,8 @@ packages: '@types/express': optional: true dependencies: - '@types/express': 4.17.19 - '@types/http-proxy': 1.17.12 + '@types/express': 4.17.17 + '@types/http-proxy': 1.17.10 http-proxy: 1.18.1 is-glob: 4.0.3 is-plain-obj: 3.0.0 @@ -5309,7 +5882,7 @@ packages: engines: {node: '>=8.0.0'} dependencies: eventemitter3: 4.0.7 - follow-redirects: 1.15.3 + follow-redirects: 1.15.2 requires-port: 1.0.0 transitivePeerDependencies: - debug @@ -5336,6 +5909,12 @@ packages: ms: 2.1.3 dev: true + /husky@8.0.3: + resolution: {integrity: sha512-+dQSyqPh4x1hlO1swXBiNb2HzTDN1I2IGLQx1GrBuiqFJfoMrnZWwVmatvSiO+Iz8fBUnf+lekwNo4c2LlXItg==} + engines: {node: '>=14'} + hasBin: true + dev: true + /iconv-lite@0.4.24: resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} engines: {node: '>=0.10.0'} @@ -5363,11 +5942,11 @@ packages: resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} dev: true - /ignore-walk@6.0.3: - resolution: {integrity: sha512-C7FfFoTA+bI10qfeydT8aZbvr91vAEU+2W5BZUlzPec47oNb07SsOfwYrtxuvOYdUApPP/Qlh4DtAO51Ekk2QA==} + /ignore-walk@6.0.2: + resolution: {integrity: sha512-ezmQ1Dg2b3jVZh2Dh+ar6Eu2MqNSTkyb32HU2MAQQQX9tKM3q/UQ/9lf03lQ5hW+fOeoMnwxwkleZ0xcNp0/qg==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: - minimatch: 9.0.3 + minimatch: 7.4.6 dev: true /ignore@5.2.4: @@ -5383,8 +5962,8 @@ packages: dev: true optional: true - /immutable@4.3.4: - resolution: {integrity: sha512-fsXeu4J4i6WNWSikpI88v/PcVflZz+6kMhUfIwc5SY+poQRPnaf5V7qds6SUyUN3cVxEzuCab7QIoLOQ+DQ1wA==} + /immutable@4.3.0: + resolution: {integrity: sha512-0AOCmOip+xgJwEVTQj1EfiDDOkPmuyllDuTuEX+DDXUgapLAsBIfkg3sxCYyCEA8mQqZrrxPUGjcOQ2JS3WLkg==} dev: true /import-fresh@3.3.0: @@ -5415,6 +5994,10 @@ packages: engines: {node: '>=12'} dev: true + /infer-owner@1.0.4: + resolution: {integrity: sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==} + dev: true + /inflight@1.0.6: resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} dependencies: @@ -5469,8 +6052,8 @@ packages: engines: {node: '>= 0.10'} dev: true - /ipaddr.js@2.1.0: - resolution: {integrity: sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ==} + /ipaddr.js@2.0.1: + resolution: {integrity: sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng==} engines: {node: '>= 10'} dev: true @@ -5485,10 +6068,10 @@ packages: binary-extensions: 2.2.0 dev: true - /is-core-module@2.13.0: - resolution: {integrity: sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==} + /is-core-module@2.12.0: + resolution: {integrity: sha512-RECHCBCd/viahWmwj6enj19sKbHfJrddi/6cBDsNTKbNq0f7VeaUkBo60BqzvPqo/W54ChS62Z5qyun7cfOMqQ==} dependencies: - has: 1.0.4 + has: 1.0.3 dev: true /is-docker@2.2.1: @@ -5528,6 +6111,11 @@ packages: engines: {node: '>=0.12.0'} dev: true + /is-obj@2.0.0: + resolution: {integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==} + engines: {node: '>=8'} + dev: true + /is-path-inside@3.0.3: resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} engines: {node: '>=8'} @@ -5564,6 +6152,13 @@ packages: engines: {node: '>=8'} dev: true + /is-text-path@1.0.1: + resolution: {integrity: sha512-xFuJpne9oFz5qDaodwmmG08e3CawH/2ZV8Qqza1Ko7Sk8POWbkRdwIoAWVhqvq0XeUzANEhKo2n0IXUGBm7A/w==} + engines: {node: '>=0.10.0'} + dependencies: + text-extensions: 1.9.0 + dev: true + /is-unicode-supported@0.1.0: resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} engines: {node: '>=10'} @@ -5607,21 +6202,21 @@ packages: resolution: {integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==} engines: {node: '>=8'} dependencies: - '@babel/core': 7.23.2 - '@babel/parser': 7.23.0 + '@babel/core': 7.21.4 + '@babel/parser': 7.21.4 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.0 - semver: 6.3.1 + semver: 6.3.0 transitivePeerDependencies: - supports-color dev: true - /istanbul-lib-report@3.0.1: - resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==} - engines: {node: '>=10'} + /istanbul-lib-report@3.0.0: + resolution: {integrity: sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==} + engines: {node: '>=8'} dependencies: istanbul-lib-coverage: 3.2.0 - make-dir: 4.0.0 + make-dir: 3.1.0 supports-color: 7.2.0 dev: true @@ -5636,21 +6231,12 @@ packages: - supports-color dev: true - /istanbul-reports@3.1.6: - resolution: {integrity: sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg==} + /istanbul-reports@3.1.5: + resolution: {integrity: sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==} engines: {node: '>=8'} dependencies: html-escaper: 2.0.2 - istanbul-lib-report: 3.0.1 - dev: true - - /jackspeak@2.3.6: - resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==} - engines: {node: '>=14'} - dependencies: - '@isaacs/cliui': 8.0.2 - optionalDependencies: - '@pkgjs/parseargs': 0.11.0 + istanbul-lib-report: 3.0.0 dev: true /jake@10.8.7: @@ -5711,7 +6297,7 @@ packages: optional: true dependencies: abab: 2.0.6 - acorn: 8.10.0 + acorn: 8.8.2 acorn-globals: 6.0.0 cssom: 0.4.4 cssstyle: 2.3.0 @@ -5754,10 +6340,6 @@ packages: hasBin: true dev: true - /json-buffer@3.0.1: - resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} - dev: true - /json-parse-even-better-errors@2.3.1: resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} dev: true @@ -5820,9 +6402,9 @@ packages: dependencies: istanbul-lib-coverage: 3.2.0 istanbul-lib-instrument: 5.2.1 - istanbul-lib-report: 3.0.1 + istanbul-lib-report: 3.0.0 istanbul-lib-source-maps: 4.0.1 - istanbul-reports: 3.1.6 + istanbul-reports: 3.1.5 minimatch: 3.1.2 transitivePeerDependencies: - supports-color @@ -5880,10 +6462,10 @@ packages: qjobs: 1.2.0 range-parser: 1.2.1 rimraf: 3.0.2 - socket.io: 4.7.2 + socket.io: 4.6.1 source-map: 0.6.1 tmp: 0.2.1 - ua-parser-js: 0.7.36 + ua-parser-js: 0.7.35 yargs: 16.2.0 transitivePeerDependencies: - bufferutil @@ -5892,12 +6474,6 @@ packages: - utf-8-validate dev: true - /keyv@4.5.4: - resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} - dependencies: - json-buffer: 3.0.1 - dev: true - /kind-of@6.0.3: resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} engines: {node: '>=0.10.0'} @@ -6022,18 +6598,54 @@ packages: p-locate: 6.0.0 dev: true + /lodash.camelcase@4.3.0: + resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==} + dev: true + /lodash.debounce@4.0.8: resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} dev: true + /lodash.isfunction@3.0.9: + resolution: {integrity: sha512-AirXNj15uRIMMPihnkInB4i3NHeb4iBtNg9WRWuK2o31S+ePwwNmDPaTL3o7dTJ+VXNZim7rFs4rxN4YU1oUJw==} + dev: true + + /lodash.isplainobject@4.0.6: + resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==} + dev: true + + /lodash.kebabcase@4.1.1: + resolution: {integrity: sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g==} + dev: true + /lodash.merge@4.6.2: resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} dev: true + /lodash.mergewith@4.6.2: + resolution: {integrity: sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ==} + dev: true + + /lodash.snakecase@4.1.1: + resolution: {integrity: sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw==} + dev: true + + /lodash.startcase@4.4.0: + resolution: {integrity: sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==} + dev: true + /lodash.truncate@4.4.2: resolution: {integrity: sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==} dev: true + /lodash.uniq@4.5.0: + resolution: {integrity: sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==} + dev: true + + /lodash.upperfirst@4.3.1: + resolution: {integrity: sha512-sReKOYJIJf74dhJONhU4e0/shzi1trVbSWDOhKYE5XV2O+H7Sb2Dihwuc7xWxVl+DgFPyTqIN3zMfT9cq5iWDg==} + dev: true + /lodash@4.17.21: resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} dev: true @@ -6052,18 +6664,13 @@ packages: dependencies: date-format: 4.0.14 debug: 4.3.4 - flatted: 3.2.9 + flatted: 3.2.7 rfdc: 1.3.0 streamroller: 3.1.5 transitivePeerDependencies: - supports-color dev: true - /lru-cache@10.0.1: - resolution: {integrity: sha512-IJ4uwUTi2qCccrioU6g9g/5rvvVl13bsdczUUcqbciD9iLr095yj8DQKdObriEvuNSx325N1rV1O0sJFszx75g==} - engines: {node: 14 || >=16.14} - dev: true - /lru-cache@5.1.1: resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} dependencies: @@ -6082,6 +6689,11 @@ packages: engines: {node: '>=12'} dev: true + /lru-cache@9.0.1: + resolution: {integrity: sha512-C8QsKIN1UIXeOs3iWmiZ1lQY+EnKDojWd37fXy1aSbJvH4iSma1uy2OWuoB3m4SYRli5+CUjDv3Dij5DVoetmg==} + engines: {node: 14 || >=16.14} + dev: true + /magic-string@0.30.1: resolution: {integrity: sha512-mbVKXPmS0z0G4XqFDCTllmDQ6coZzn94aMlb0o/A4HEHJCKcanlDZwYJgwnkmgD3jyWhUgj9VsPrfd972yPffA==} engines: {node: '>=12'} @@ -6095,37 +6707,91 @@ packages: requiresBuild: true dependencies: pify: 4.0.1 - semver: 5.7.2 + semver: 5.7.1 + dev: true + optional: true + + /make-dir@3.1.0: + resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} + engines: {node: '>=8'} + dependencies: + semver: 6.3.0 + dev: true + + /make-error@1.3.6: + resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} + dev: true + + /make-fetch-happen@10.2.1: + resolution: {integrity: sha512-NgOPbRiaQM10DYXvN3/hhGVI2M5MtITFryzBGxHM5p4wnFxsVCbxkrBrDsk+EZ5OB4jEOT7AjDxtdF+KVEFT7w==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + dependencies: + agentkeepalive: 4.3.0 + cacache: 16.1.3 + http-cache-semantics: 4.1.1 + http-proxy-agent: 5.0.0 + https-proxy-agent: 5.0.1 + is-lambda: 1.0.1 + lru-cache: 7.18.3 + minipass: 3.3.6 + minipass-collect: 1.0.2 + minipass-fetch: 2.1.2 + 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.1 + transitivePeerDependencies: + - bluebird + - supports-color dev: true - optional: true - /make-dir@4.0.0: - resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} - engines: {node: '>=10'} + /make-fetch-happen@11.0.3: + resolution: {integrity: sha512-oPLh5m10lRNNZDjJ2kP8UpboUx2uFXVaVweVe/lWut4iHWcQEmfqSVJt2ihZsFI8HbpwyyocaXbCAWf0g1ukIA==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: - semver: 7.5.4 + agentkeepalive: 4.3.0 + cacache: 17.0.5 + http-cache-semantics: 4.1.1 + http-proxy-agent: 5.0.0 + https-proxy-agent: 5.0.1 + is-lambda: 1.0.1 + lru-cache: 7.18.3 + minipass: 4.2.8 + minipass-fetch: 3.0.1 + 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.3 + transitivePeerDependencies: + - bluebird + - supports-color dev: true /make-fetch-happen@11.1.1: resolution: {integrity: sha512-rLWS7GCSTcEujjVBs2YqG7Y4643u8ucvCJeSRqiLYhesrDuzeuFIk37xREzAsfQaqzl8b9rNCE4m6J8tvX4Q8w==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: - agentkeepalive: 4.5.0 - cacache: 17.1.4 + agentkeepalive: 4.3.0 + cacache: 17.0.5 http-cache-semantics: 4.1.1 http-proxy-agent: 5.0.0 https-proxy-agent: 5.0.1 is-lambda: 1.0.1 lru-cache: 7.18.3 minipass: 5.0.0 - minipass-fetch: 3.0.4 + minipass-fetch: 3.0.1 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.5 + ssri: 10.0.3 transitivePeerDependencies: + - bluebird - supports-color dev: true @@ -6152,18 +6818,18 @@ packages: engines: {node: '>= 0.6'} dev: true - /memfs@3.5.3: - resolution: {integrity: sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==} + /memfs@3.5.0: + resolution: {integrity: sha512-yK6o8xVJlQerz57kvPROwTMgx5WtGwC2ZxDtOUsnGl49rHjYkfQoPNZPCKH73VdLE1BwBu/+Fx/NL8NYMUw2aA==} engines: {node: '>= 4.0.0'} dependencies: - fs-monkey: 1.0.5 + fs-monkey: 1.0.3 dev: true /meow@10.1.5: resolution: {integrity: sha512-/d+PQ4GKmGvM9Bee/DPa8z3mXs/pkvJE2KEThngVNOqtmljC6K7NMPxtc2JeZYTmpWb9k/TmxjeL18ez3h7vCw==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: - '@types/minimist': 1.2.3 + '@types/minimist': 1.2.2 camelcase-keys: 7.0.2 decamelize: 5.0.1 decamelize-keys: 1.1.1 @@ -6177,6 +6843,23 @@ packages: yargs-parser: 20.2.9 dev: true + /meow@8.1.2: + resolution: {integrity: sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==} + engines: {node: '>=10'} + dependencies: + '@types/minimist': 1.2.2 + camelcase-keys: 6.2.2 + decamelize-keys: 1.1.1 + hard-rejection: 2.1.0 + minimist-options: 4.1.0 + normalize-package-data: 3.0.3 + read-pkg-up: 7.0.1 + redent: 3.0.0 + trim-newlines: 3.0.1 + type-fest: 0.18.1 + yargs-parser: 20.2.9 + dev: true + /merge-descriptors@1.0.1: resolution: {integrity: sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==} dev: true @@ -6243,7 +6926,7 @@ packages: peerDependencies: webpack: ^5.0.0 dependencies: - schema-utils: 4.2.0 + schema-utils: 4.0.0 webpack: 5.88.2(esbuild@0.18.17) dev: true @@ -6270,6 +6953,20 @@ packages: brace-expansion: 2.0.1 dev: true + /minimatch@7.4.6: + resolution: {integrity: sha512-sBz8G/YjVniEz6lKPNpKxXwazJe4c19fEfV2GDMX6AjFz+MX9uDWIZW8XreVhkFW3fkIdTv/gxWr/Kks5FFAVw==} + engines: {node: '>=10'} + dependencies: + brace-expansion: 2.0.1 + dev: true + + /minimatch@8.0.4: + resolution: {integrity: sha512-W0Wvr9HyFXZRGIDgCicunpQ299OKXs9RgZfaukz4qAW/pJhcpUfupc9c+OObPOFueNy8VSrZgEmDtk6Kh4WzDA==} + engines: {node: '>=16 || 14 >=14.17'} + dependencies: + brace-expansion: 2.0.1 + dev: true + /minimatch@9.0.3: resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} engines: {node: '>=16 || 14 >=14.17'} @@ -6297,11 +6994,22 @@ packages: minipass: 3.3.6 dev: true - /minipass-fetch@3.0.4: - resolution: {integrity: sha512-jHAqnA728uUpIaFm7NWsCnqKT6UqZz7GcI/bDpPATuwYyKwJwW0remxSCxUlKiEty+eopHGa3oc8WxgQ1FFJqg==} + /minipass-fetch@2.1.2: + resolution: {integrity: sha512-LT49Zi2/WMROHYoqGgdlQIZh8mLPZmOrN2NdJjMXxYe4nkN6FUyuPuOAOedNJDrx0IRGg9+4guZewtp8hE6TxA==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + dependencies: + minipass: 3.3.6 + minipass-sized: 1.0.3 + minizlib: 2.1.2 + optionalDependencies: + encoding: 0.1.13 + dev: true + + /minipass-fetch@3.0.1: + resolution: {integrity: sha512-t9/wowtf7DYkwz8cfMSt0rMwiyNIBXf5CKZ3S5ZMqRqMYT0oLTp0x1WorMI9WTwvaPg21r1JbFxJMum8JrLGfw==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: - minipass: 7.0.4 + minipass: 4.2.8 minipass-sized: 1.0.3 minizlib: 2.1.2 optionalDependencies: @@ -6343,14 +7051,14 @@ packages: yallist: 4.0.0 dev: true - /minipass@5.0.0: - resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==} + /minipass@4.2.8: + resolution: {integrity: sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ==} engines: {node: '>=8'} dev: true - /minipass@7.0.4: - resolution: {integrity: sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==} - engines: {node: '>=16 || 14 >=14.17'} + /minipass@5.0.0: + resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==} + engines: {node: '>=8'} dev: true /minizlib@2.1.2: @@ -6403,7 +7111,7 @@ packages: resolution: {integrity: sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==} hasBin: true dependencies: - dns-packet: 5.6.1 + dns-packet: 5.5.0 thunky: 1.1.0 dev: true @@ -6433,7 +7141,7 @@ packages: dependencies: debug: 3.2.7 iconv-lite: 0.6.3 - sax: 1.3.0 + sax: 1.2.4 transitivePeerDependencies: - supports-color dev: true @@ -6454,7 +7162,7 @@ packages: requiresBuild: true dependencies: node-addon-api: 3.2.1 - node-gyp-build: 4.6.1 + node-gyp-build: 4.6.0 dev: true optional: true @@ -6480,32 +7188,36 @@ packages: engines: {node: '>= 6.13.0'} dev: true - /node-gyp-build@4.6.1: - resolution: {integrity: sha512-24vnklJmyRS8ViBNI8KbtK/r/DmXQMRiOMXTNz2nrTnAYUwjmEEbnnpB/+kt+yWRv73bPsSPRFddrcIbAxSiMQ==} + /node-gyp-build@4.6.0: + resolution: {integrity: sha512-NTZVKn9IylLwUzaKjkas1e4u2DLNcV4rdYagA4PWdPwW87Bi7z+BznyKSRwS/761tV/lzCGXplWsiaMjLqP2zQ==} hasBin: true requiresBuild: true dev: true - /node-gyp@9.4.0: - resolution: {integrity: sha512-dMXsYP6gc9rRbejLXmTbVRYjAHw7ppswsKyMxuxJxxOHzluIO1rGp9TOQgjFJ+2MCqcOcQTOPB/8Xwhr+7s4Eg==} + /node-gyp@9.3.1: + resolution: {integrity: sha512-4Q16ZCqq3g8awk6UplT7AuxQ35XN4R/yf/+wSAwcBUAjg7l58RTactWaP8fIDTi0FzI7YcVLujwExakZlfWkXg==} engines: {node: ^12.13 || ^14.13 || >=16} hasBin: true dependencies: env-paths: 2.2.1 - exponential-backoff: 3.1.1 glob: 7.2.3 graceful-fs: 4.2.11 - make-fetch-happen: 11.1.1 + make-fetch-happen: 10.2.1 nopt: 6.0.0 npmlog: 6.0.2 rimraf: 3.0.2 semver: 7.5.4 - tar: 6.2.0 + tar: 6.1.13 which: 2.0.2 transitivePeerDependencies: + - bluebird - supports-color dev: true + /node-releases@2.0.10: + resolution: {integrity: sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==} + dev: true + /node-releases@2.0.13: resolution: {integrity: sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==} dev: true @@ -6518,13 +7230,22 @@ packages: abbrev: 1.1.1 dev: true + /normalize-package-data@2.5.0: + resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} + dependencies: + hosted-git-info: 2.8.9 + resolve: 1.22.2 + semver: 5.7.1 + validate-npm-package-license: 3.0.4 + dev: true + /normalize-package-data@3.0.3: resolution: {integrity: sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==} engines: {node: '>=10'} dependencies: hosted-git-info: 4.1.0 - is-core-module: 2.13.0 - semver: 7.5.4 + is-core-module: 2.12.0 + semver: 7.4.0 validate-npm-package-license: 3.0.4 dev: true @@ -6533,7 +7254,7 @@ packages: engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: hosted-git-info: 6.1.1 - is-core-module: 2.13.0 + is-core-module: 2.12.0 semver: 7.5.4 validate-npm-package-license: 3.0.4 dev: true @@ -6552,18 +7273,18 @@ packages: resolution: {integrity: sha512-Vq0eyEQy+elFpzsKjMss9kxqb9tG3YHg4dsyWuUENuzvSUWe1TCnW/vV9FkhvBk/brEDoDiVd+M1Btosa6ImdQ==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: - npm-normalize-package-bin: 3.0.1 + npm-normalize-package-bin: 3.0.0 dev: true - /npm-install-checks@6.3.0: - resolution: {integrity: sha512-W29RiK/xtpCGqn6f3ixfRYGk+zRyr+Ew9F2E20BfXxT5/euLdA/Nm7fO7OeTGuAmTs30cpgInyJ0cYe708YTZw==} + /npm-install-checks@6.1.1: + resolution: {integrity: sha512-dH3GmQL4vsPtld59cOn8uY0iOqRmqKvV+DLGwNXV/Q7MDgD2QfOADWd/mFXcIE5LVhYYGjA3baz6W9JneqnuCw==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: semver: 7.5.4 dev: true - /npm-normalize-package-bin@3.0.1: - resolution: {integrity: sha512-dMxCf+zZ+3zeQZXKxmyuCKlIDPGuv8EF940xbkC4kQVDTtqoh6rJFO+JTKSA6/Rwi0getWmtuy4Itup0AMcaDQ==} + /npm-normalize-package-bin@3.0.0: + resolution: {integrity: sha512-g+DPQSkusnk7HYXr75NtzkIP4+N81i3RPsGFidF3DzHd9MT9wWngmqoeg/fnHFz5MNdtG4w03s+QnhewSLTT2Q==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dev: true @@ -6581,31 +7302,32 @@ packages: resolution: {integrity: sha512-d6RGEuRrNS5/N84iglPivjaJPxhDbZmlbTwTDX2IbcRHG5bZCdtysYMhwiPvcF4GisXHGn7xsxv+GQ7T/02M5Q==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: - ignore-walk: 6.0.3 + ignore-walk: 6.0.2 dev: true /npm-pick-manifest@8.0.1: resolution: {integrity: sha512-mRtvlBjTsJvfCCdmPtiu2bdlx8d/KXtF7yNXNWe7G0Z36qWA9Ny5zXsI2PfBZEv7SXgoxTmNaTzGSbbzDZChoA==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: - npm-install-checks: 6.3.0 - npm-normalize-package-bin: 3.0.1 + npm-install-checks: 6.1.1 + npm-normalize-package-bin: 3.0.0 npm-package-arg: 10.1.0 semver: 7.5.4 dev: true - /npm-registry-fetch@14.0.5: - resolution: {integrity: sha512-kIDMIo4aBm6xg7jOttupWZamsZRkAqMqwqqbVXnUqstY5+tapvv6bkH/qMR76jdgV+YljEUCyWx3hRYMrJiAgA==} + /npm-registry-fetch@14.0.4: + resolution: {integrity: sha512-pMS2DRkwg+M44ct65zrN/Cr9IHK1+n6weuefAo6Er4lc+/8YBCU0Czq04H3ZiSigluh7pb2rMM5JpgcytctB+Q==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: - make-fetch-happen: 11.1.1 - minipass: 5.0.0 - minipass-fetch: 3.0.4 + make-fetch-happen: 11.0.3 + minipass: 4.2.8 + minipass-fetch: 3.0.1 minipass-json-stream: 1.0.1 minizlib: 2.1.2 npm-package-arg: 10.1.0 proc-log: 3.0.0 transitivePeerDependencies: + - bluebird - supports-color dev: true @@ -6672,7 +7394,7 @@ packages: lines-and-columns: 2.0.3 minimatch: 3.0.5 npm-run-path: 4.0.1 - open: 8.4.2 + open: 8.4.1 semver: 7.5.3 string-width: 4.2.3 strong-log-transformer: 2.1.0 @@ -6681,7 +7403,7 @@ packages: tsconfig-paths: 4.2.0 tslib: 2.6.2 v8-compile-cache: 2.3.0 - yargs: 17.7.2 + yargs: 17.7.1 yargs-parser: 21.1.1 optionalDependencies: '@nx/nx-darwin-arm64': 16.5.1 @@ -6748,6 +7470,15 @@ packages: mimic-fn: 2.1.0 dev: true + /open@8.4.1: + resolution: {integrity: sha512-/4b7qZNhv6Uhd7jjnREh1NjnPxlTq+XNWPG88Ydkj5AILcA5m3ajvcg57pB24EQjKv0dK62XnDqk9c/hkIG5Kg==} + engines: {node: '>=12'} + dependencies: + define-lazy-prop: 2.0.0 + is-docker: 2.2.1 + is-wsl: 2.2.0 + dev: true + /open@8.4.2: resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==} engines: {node: '>=12'} @@ -6776,7 +7507,7 @@ packages: bl: 4.1.0 chalk: 4.1.2 cli-cursor: 3.1.0 - cli-spinners: 2.9.1 + cli-spinners: 2.8.0 is-interactive: 1.0.0 is-unicode-supported: 0.1.0 log-symbols: 4.1.0 @@ -6856,24 +7587,24 @@ packages: engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} hasBin: true dependencies: - '@npmcli/git': 4.1.0 + '@npmcli/git': 4.0.4 '@npmcli/installed-package-contents': 2.0.2 '@npmcli/promise-spawn': 6.0.2 - '@npmcli/run-script': 6.0.2 - cacache: 17.1.4 - fs-minipass: 3.0.3 + '@npmcli/run-script': 6.0.0 + cacache: 17.0.5 + fs-minipass: 3.0.1 minipass: 5.0.0 npm-package-arg: 10.1.0 npm-packlist: 7.0.4 npm-pick-manifest: 8.0.1 - npm-registry-fetch: 14.0.5 + npm-registry-fetch: 14.0.4 proc-log: 3.0.0 promise-retry: 2.0.1 - read-package-json: 6.0.4 + read-package-json: 6.0.1 read-package-json-fast: 3.0.2 sigstore: 1.9.0 - ssri: 10.0.5 - tar: 6.2.0 + ssri: 10.0.3 + tar: 6.1.13 transitivePeerDependencies: - bluebird - supports-color @@ -6894,7 +7625,7 @@ packages: resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} engines: {node: '>=8'} dependencies: - '@babel/code-frame': 7.22.13 + '@babel/code-frame': 7.21.4 error-ex: 1.3.2 json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 @@ -6958,12 +7689,12 @@ packages: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} dev: true - /path-scurry@1.10.1: - resolution: {integrity: sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==} + /path-scurry@1.6.4: + resolution: {integrity: sha512-Qp/9IHkdNiXJ3/Kon++At2nVpnhRiPq/aSvQN+H3U1WZbvNRK0RIQK/o4HMqPoXjpuGJUEWpHSs6Mnjxqh3TQg==} engines: {node: '>=16 || 14 >=14.17'} dependencies: - lru-cache: 10.0.1 - minipass: 7.0.4 + lru-cache: 9.0.1 + minipass: 5.0.0 dev: true /path-to-regexp@0.1.7: @@ -7049,7 +7780,7 @@ packages: dependencies: icss-utils: 5.1.0(postcss@8.4.31) postcss: 8.4.31 - postcss-selector-parser: 6.0.13 + postcss-selector-parser: 6.0.11 postcss-value-parser: 4.2.0 dev: true @@ -7060,7 +7791,7 @@ packages: postcss: ^8.1.0 dependencies: postcss: 8.4.31 - postcss-selector-parser: 6.0.13 + postcss-selector-parser: 6.0.11 dev: true /postcss-modules-values@4.0.0(postcss@8.4.31): @@ -7086,13 +7817,21 @@ packages: postcss: 8.4.31 dev: true - /postcss-scss@4.0.9(postcss@8.4.31): - resolution: {integrity: sha512-AjKOeiwAitL/MXxQW2DliT28EKukvvbEWx3LBmJIRN8KfBGZbRTxNYW0kSqi1COiTZ57nZ9NW06S6ux//N1c9A==} + /postcss-scss@4.0.6(postcss@8.4.21): + resolution: {integrity: sha512-rLDPhJY4z/i4nVFZ27j9GqLxj1pwxE80eAzUNRMXtcpipFYIeowerzBgG3yJhMtObGEXidtIgbUpQ3eLDsf5OQ==} engines: {node: '>=12.0'} peerDependencies: - postcss: ^8.4.29 + postcss: ^8.4.19 dependencies: - postcss: 8.4.31 + postcss: 8.4.21 + dev: true + + /postcss-selector-parser@6.0.11: + resolution: {integrity: sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==} + engines: {node: '>=4'} + dependencies: + cssesc: 3.0.0 + util-deprecate: 1.0.2 dev: true /postcss-selector-parser@6.0.13: @@ -7107,6 +7846,15 @@ packages: resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} dev: true + /postcss@8.4.21: + resolution: {integrity: sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==} + engines: {node: ^10 || ^12 || >=14} + dependencies: + nanoid: 3.3.6 + picocolors: 1.0.0 + source-map-js: 1.0.2 + dev: true + /postcss@8.4.31: resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==} engines: {node: ^10 || ^12 || >=14} @@ -7125,7 +7873,7 @@ packages: resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==} engines: {node: '>=6.0.0'} dependencies: - fast-diff: 1.3.0 + fast-diff: 1.2.0 dev: true /prettier@2.8.8: @@ -7270,6 +8018,11 @@ packages: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} dev: true + /quick-lru@4.0.1: + resolution: {integrity: sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==} + engines: {node: '>=8'} + dev: true + /quick-lru@5.1.1: resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==} engines: {node: '>=10'} @@ -7311,17 +8064,26 @@ packages: engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: json-parse-even-better-errors: 3.0.0 - npm-normalize-package-bin: 3.0.1 + npm-normalize-package-bin: 3.0.0 dev: true - /read-package-json@6.0.4: - resolution: {integrity: sha512-AEtWXYfopBj2z5N5PbkAOeNHRPUg5q+Nen7QLxV8M2zJq1ym6/lCz3fYNTCXe19puu2d06jfHhrP7v/S2PtMMw==} + /read-package-json@6.0.1: + resolution: {integrity: sha512-AaHqXxfAVa+fNL07x8iAghfKOds/XXsu7zoouIVsbm7PEbQ3nMWXlvjcbrNLjElnUHWQtAo4QEa0RXuvD4XlpA==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: - glob: 10.3.10 + glob: 9.3.5 json-parse-even-better-errors: 3.0.0 normalize-package-data: 5.0.0 - npm-normalize-package-bin: 3.0.1 + npm-normalize-package-bin: 3.0.0 + dev: true + + /read-pkg-up@7.0.1: + resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} + engines: {node: '>=8'} + dependencies: + find-up: 4.1.0 + read-pkg: 5.2.0 + type-fest: 0.8.1 dev: true /read-pkg-up@8.0.0: @@ -7333,11 +8095,21 @@ packages: type-fest: 1.4.0 dev: true + /read-pkg@5.2.0: + resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==} + engines: {node: '>=8'} + dependencies: + '@types/normalize-package-data': 2.4.1 + normalize-package-data: 2.5.0 + parse-json: 5.2.0 + type-fest: 0.6.0 + dev: true + /read-pkg@6.0.0: resolution: {integrity: sha512-X1Fu3dPuk/8ZLsMhEj5f4wFAF0DWoK7qhGJvgaijocXxBmSToKfbFtqbxMO7bVjNA1dmE5huAzjXj/ey86iw9Q==} engines: {node: '>=12'} dependencies: - '@types/normalize-package-data': 2.4.2 + '@types/normalize-package-data': 2.4.1 normalize-package-data: 3.0.3 parse-json: 5.2.0 type-fest: 1.4.0 @@ -7371,6 +8143,14 @@ packages: picomatch: 2.3.1 dev: true + /redent@3.0.0: + resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==} + engines: {node: '>=8'} + dependencies: + indent-string: 4.0.0 + strip-indent: 3.0.0 + dev: true + /redent@4.0.0: resolution: {integrity: sha512-tYkDkVVtYkSVhuQ4zBgfvciymHaeuel+zFKXShfDnFP5SyVEP7qo70Rf1jTOTCx3vGNAbnEi/xFkcfQVMIBWag==} engines: {node: '>=12'} @@ -7383,8 +8163,8 @@ packages: resolution: {integrity: sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==} dev: true - /regenerate-unicode-properties@10.1.1: - resolution: {integrity: sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==} + /regenerate-unicode-properties@10.1.0: + resolution: {integrity: sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==} engines: {node: '>=4'} dependencies: regenerate: 1.4.2 @@ -7414,7 +8194,7 @@ packages: dependencies: '@babel/regjsgen': 0.8.0 regenerate: 1.4.2 - regenerate-unicode-properties: 10.1.1 + regenerate-unicode-properties: 10.1.0 regjsparser: 0.9.1 unicode-match-property-ecmascript: 2.0.0 unicode-match-property-value-ecmascript: 2.1.0 @@ -7451,6 +8231,13 @@ packages: engines: {node: '>=8'} dev: true + /resolve-global@1.0.0: + resolution: {integrity: sha512-zFa12V4OLtT5XUX/Q4VLvTfBf+Ok0SPc1FNGM/z9ctUdiU618qwKpWnd0CHs3+RqROfyEg/DhuHbMWYqcgljEw==} + engines: {node: '>=8'} + dependencies: + global-dirs: 0.1.1 + dev: true + /resolve-url-loader@5.0.0: resolution: {integrity: sha512-uZtduh8/8srhBoMx//5bwqjQ+rfYOUq8zC9NrMUGtjBiGTtFJM42s58/36+hTqeqINcnYe08Nj3LkK9lW4N8Xg==} engines: {node: '>=12'} @@ -7466,16 +8253,7 @@ packages: resolution: {integrity: sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==} hasBin: true dependencies: - is-core-module: 2.13.0 - path-parse: 1.0.7 - supports-preserve-symlinks-flag: 1.0.0 - dev: true - - /resolve@1.22.8: - resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} - hasBin: true - dependencies: - is-core-module: 2.13.0 + is-core-module: 2.12.0 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 dev: true @@ -7519,7 +8297,7 @@ packages: engines: {node: '>=14.18.0', npm: '>=8.0.0'} hasBin: true optionalDependencies: - fsevents: 2.3.3 + fsevents: 2.3.2 dev: true /run-async@2.4.1: @@ -7580,12 +8358,12 @@ packages: hasBin: true dependencies: chokidar: 3.5.3 - immutable: 4.3.4 + immutable: 4.3.0 source-map-js: 1.0.2 dev: true - /sax@1.3.0: - resolution: {integrity: sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==} + /sax@1.2.4: + resolution: {integrity: sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==} requiresBuild: true dev: true optional: true @@ -7601,16 +8379,16 @@ packages: resolution: {integrity: sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==} engines: {node: '>= 10.13.0'} dependencies: - '@types/json-schema': 7.0.13 + '@types/json-schema': 7.0.11 ajv: 6.12.6 ajv-keywords: 3.5.2(ajv@6.12.6) dev: true - /schema-utils@4.2.0: - resolution: {integrity: sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==} + /schema-utils@4.0.0: + resolution: {integrity: sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==} engines: {node: '>= 12.13.0'} dependencies: - '@types/json-schema': 7.0.13 + '@types/json-schema': 7.0.11 ajv: 8.12.0 ajv-formats: 2.1.1(ajv@8.12.0) ajv-keywords: 5.1.0(ajv@8.12.0) @@ -7627,18 +8405,29 @@ packages: node-forge: 1.3.1 dev: true - /semver@5.7.2: - resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} + /semver@5.7.1: + resolution: {integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==} + hasBin: true + dev: true + + /semver@6.3.0: + resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==} hasBin: true - requiresBuild: true dev: true - optional: true /semver@6.3.1: resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} hasBin: true dev: true + /semver@7.4.0: + resolution: {integrity: sha512-RgOxM8Mw+7Zus0+zcLEUn8+JfoLpj/huFTItQy2hsM4khuC1HYRDp0cU482Ewn/Fcy6bCjufD8vAj7voC66KQw==} + engines: {node: '>=10'} + hasBin: true + dependencies: + lru-cache: 6.0.0 + dev: true + /semver@7.5.3: resolution: {integrity: sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ==} engines: {node: '>=10'} @@ -7748,7 +8537,7 @@ packages: resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} dependencies: call-bind: 1.0.2 - get-intrinsic: 1.2.1 + get-intrinsic: 1.2.0 object-inspect: 1.12.3 dev: true @@ -7770,8 +8559,9 @@ packages: '@sigstore/protobuf-specs': 0.2.1 '@sigstore/sign': 1.0.0 '@sigstore/tuf': 1.0.3 - make-fetch-happen: 11.1.1 + make-fetch-happen: 11.0.3 transitivePeerDependencies: + - bluebird - supports-color dev: true @@ -7808,8 +8598,8 @@ packages: - utf-8-validate dev: true - /socket.io-parser@4.2.4: - resolution: {integrity: sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew==} + /socket.io-parser@4.2.2: + resolution: {integrity: sha512-DJtziuKypFkMMHCm2uIshOYC7QaylbtzQwiMYDuCKy3OPkjLzu4B2vAhTlqipRHHzrI0NJeBAizTK7X+6m1jVw==} engines: {node: '>=10.0.0'} dependencies: '@socket.io/component-emitter': 3.1.0 @@ -7818,17 +8608,16 @@ packages: - supports-color dev: true - /socket.io@4.7.2: - resolution: {integrity: sha512-bvKVS29/I5fl2FGLNHuXlQaUH/BlzX1IN6S+NKLNZpBsPZIDH+90eQmCs2Railn4YUiww4SzUedJ6+uzwFnKLw==} - engines: {node: '>=10.2.0'} + /socket.io@4.6.1: + resolution: {integrity: sha512-KMcaAi4l/8+xEjkRICl6ak8ySoxsYG+gG6/XfRCPJPQ/haCRIJBTL4wIl8YCsmtaBovcAXGLOShyVWQ/FG8GZA==} + engines: {node: '>=10.0.0'} dependencies: accepts: 1.3.8 base64id: 2.0.0 - cors: 2.8.5 debug: 4.3.4 - engine.io: 6.5.3 + engine.io: 6.4.1 socket.io-adapter: 2.5.2 - socket.io-parser: 4.2.4 + socket.io-parser: 4.2.2 transitivePeerDependencies: - bufferutil - supports-color @@ -7900,7 +8689,7 @@ packages: resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} dependencies: spdx-expression-parse: 3.0.1 - spdx-license-ids: 3.0.16 + spdx-license-ids: 3.0.13 dev: true /spdx-exceptions@2.3.0: @@ -7911,11 +8700,11 @@ packages: resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} dependencies: spdx-exceptions: 2.3.0 - spdx-license-ids: 3.0.16 + spdx-license-ids: 3.0.13 dev: true - /spdx-license-ids@3.0.16: - resolution: {integrity: sha512-eWN+LnM3GR6gPu35WxNgbGl8rmY1AEmoMDvL/QD6zYmPWgywxWqJWNdLGT+ke8dKNWrcYgYjPpG5gbTfghP8rw==} + /spdx-license-ids@3.0.13: + resolution: {integrity: sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w==} dev: true /spdy-transport@3.0.0: @@ -7944,15 +8733,28 @@ packages: - supports-color dev: true + /split2@3.2.2: + resolution: {integrity: sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==} + dependencies: + readable-stream: 3.6.2 + dev: true + /sprintf-js@1.0.3: resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} dev: true - /ssri@10.0.5: - resolution: {integrity: sha512-bSf16tAFkGeRlUNDjXu8FzaMQt6g2HZJrun7mtMbIPOddxt3GLMSz5VWUWcqTJUPfLEaDIepGxv+bYQW49596A==} + /ssri@10.0.3: + resolution: {integrity: sha512-lJtX/BFPI/VEtxZmLfeh7pzisIs6micwZ3eruD3+ds9aPsXKlYpwDS2Q7omD6WC42WO9+bnUSzlMmfv8uK8meg==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: - minipass: 7.0.4 + minipass: 4.2.8 + dev: true + + /ssri@9.0.1: + resolution: {integrity: sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + dependencies: + minipass: 3.3.6 dev: true /statuses@1.5.0: @@ -7985,15 +8787,6 @@ packages: strip-ansi: 6.0.1 dev: true - /string-width@5.1.2: - resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} - engines: {node: '>=12'} - dependencies: - eastasianwidth: 0.2.0 - emoji-regex: 9.2.2 - strip-ansi: 7.1.0 - dev: true - /string_decoder@1.1.1: resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} dependencies: @@ -8013,13 +8806,6 @@ packages: ansi-regex: 5.0.1 dev: true - /strip-ansi@7.1.0: - resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} - engines: {node: '>=12'} - dependencies: - ansi-regex: 6.0.1 - dev: true - /strip-bom@3.0.0: resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} engines: {node: '>=4'} @@ -8030,6 +8816,13 @@ packages: engines: {node: '>=6'} dev: true + /strip-indent@3.0.0: + resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} + engines: {node: '>=8'} + dependencies: + min-indent: 1.0.1 + dev: true + /strip-indent@4.0.0: resolution: {integrity: sha512-mnVSV2l+Zv6BLpSD/8V87CW/y9EmmbYzGCIavsnsI6/nwn26DwffM/yztm30Z/I2DY9wdS3vXVCMnHDgZaVNoA==} engines: {node: '>=12'} @@ -8056,7 +8849,7 @@ packages: resolution: {integrity: sha512-Dj1Okke1C3uKKwQcetra4jSuk0DqbzbYtXipzFlFMZtowbF1x7BKJwB9AayVMyFARvU8EDrZdcax4At/452cAg==} dev: true - /stylelint-config-recommended-scss@10.0.0(postcss@8.4.31)(stylelint@15.10.3): + /stylelint-config-recommended-scss@10.0.0(postcss@8.4.21)(stylelint@15.10.3): resolution: {integrity: sha512-+YvPgUHi0W5mCJCKdupBCIsWPYNbWuJcRmFtSYujwNg+41ljFknhO9bpY6C+oahv659zW7W1AT7i6DQvJYYr1A==} peerDependencies: postcss: ^8.3.3 @@ -8065,8 +8858,8 @@ packages: postcss: optional: true dependencies: - postcss: 8.4.31 - postcss-scss: 4.0.9(postcss@8.4.31) + postcss: 8.4.21 + postcss-scss: 4.0.6(postcss@8.4.21) stylelint: 15.10.3(typescript@4.9.5) stylelint-config-recommended: 11.0.0(stylelint@15.10.3) stylelint-scss: 4.7.0(stylelint@15.10.3) @@ -8080,7 +8873,7 @@ packages: stylelint: 15.10.3(typescript@4.9.5) dev: true - /stylelint-config-standard-scss@8.0.0(postcss@8.4.31)(stylelint@15.10.3): + /stylelint-config-standard-scss@8.0.0(postcss@8.4.21)(stylelint@15.10.3): resolution: {integrity: sha512-TDT/gJD/0LUDoUgkjF1uoI/4DfczXHxg7gJVcWT4/JbE6k5hszVuI14reNX+tEwSyMNhcK2BA7izrK+uVAz7XA==} peerDependencies: postcss: ^8.3.3 @@ -8089,9 +8882,9 @@ packages: postcss: optional: true dependencies: - postcss: 8.4.31 + postcss: 8.4.21 stylelint: 15.10.3(typescript@4.9.5) - stylelint-config-recommended-scss: 10.0.0(postcss@8.4.31)(stylelint@15.10.3) + stylelint-config-recommended-scss: 10.0.0(postcss@8.4.21)(stylelint@15.10.3) stylelint-config-standard: 32.0.0(stylelint@15.10.3) dev: true @@ -8111,7 +8904,7 @@ packages: dependencies: postcss-media-query-parser: 0.2.3 postcss-resolve-nested-selector: 0.1.1 - postcss-selector-parser: 6.0.13 + postcss-selector-parser: 6.0.11 postcss-value-parser: 4.2.0 stylelint: 15.10.3(typescript@4.9.5) dev: true @@ -8249,20 +9042,20 @@ packages: readable-stream: 3.6.2 dev: true - /tar@6.2.0: - resolution: {integrity: sha512-/Wo7DcT0u5HUV486xg675HtjNd3BXZ6xDbzsCUZPt5iw8bTQ63bP0Raut3mvro9u+CUyq7YQd8Cx55fsZXxqLQ==} + /tar@6.1.13: + resolution: {integrity: sha512-jdIBIN6LTIe2jqzay/2vtYLlBHa3JF42ot3h1dW8Q0PaAG4v8rm0cvpVePtau5C6OKXGGcgO9q2AMNSWxiLqKw==} engines: {node: '>=10'} dependencies: chownr: 2.0.0 fs-minipass: 2.1.0 - minipass: 5.0.0 + minipass: 4.2.8 minizlib: 2.1.2 mkdirp: 1.0.4 yallist: 4.0.0 dev: true - /terser-webpack-plugin@5.3.9(esbuild@0.18.17)(webpack@5.88.2): - resolution: {integrity: sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==} + /terser-webpack-plugin@5.3.7(esbuild@0.18.17)(webpack@5.88.2): + resolution: {integrity: sha512-AfKwIktyP7Cu50xNjXF/6Qb5lBNzYaWpU6YfoX3uZicTx0zTy0stDDCsvjDapKsSDvOeWo5MEq4TmdBy2cNoHw==} engines: {node: '>= 10.13.0'} peerDependencies: '@swc/core': '*' @@ -8277,12 +9070,12 @@ packages: uglify-js: optional: true dependencies: - '@jridgewell/trace-mapping': 0.3.19 + '@jridgewell/trace-mapping': 0.3.18 esbuild: 0.18.17 jest-worker: 27.5.1 schema-utils: 3.3.0 serialize-javascript: 6.0.1 - terser: 5.21.0 + terser: 5.19.2 webpack: 5.88.2(esbuild@0.18.17) dev: true @@ -8291,19 +9084,8 @@ packages: engines: {node: '>=10'} hasBin: true dependencies: - '@jridgewell/source-map': 0.3.5 - acorn: 8.10.0 - commander: 2.20.3 - source-map-support: 0.5.21 - dev: true - - /terser@5.21.0: - resolution: {integrity: sha512-WtnFKrxu9kaoXuiZFSGrcAvvBqAdmKx0SFNmVNYdJamMu9yyN3I/QF0FbH4QcqJQ+y1CJnzxGIKH0cSj+FGYRw==} - engines: {node: '>=10'} - hasBin: true - dependencies: - '@jridgewell/source-map': 0.3.5 - acorn: 8.10.0 + '@jridgewell/source-map': 0.3.3 + acorn: 8.8.2 commander: 2.20.3 source-map-support: 0.5.21 dev: true @@ -8317,10 +9099,21 @@ packages: minimatch: 3.1.2 dev: true + /text-extensions@1.9.0: + resolution: {integrity: sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==} + engines: {node: '>=0.10'} + dev: true + /text-table@0.2.0: resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} dev: true + /through2@4.0.2: + resolution: {integrity: sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==} + dependencies: + readable-stream: 3.6.2 + dev: true + /through@2.3.8: resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} dev: true @@ -8386,11 +9179,47 @@ packages: hasBin: true dev: true + /trim-newlines@3.0.1: + resolution: {integrity: sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==} + engines: {node: '>=8'} + dev: true + /trim-newlines@4.1.1: resolution: {integrity: sha512-jRKj0n0jXWo6kh62nA5TEh3+4igKDXLvzBJcPpiizP7oOolUrYIxmVBG9TOtHYFHoddUk6YvAkGeGoSVTXfQXQ==} engines: {node: '>=12'} dev: true + /ts-node@10.9.1(@types/node@18.18.5)(typescript@4.9.5): + resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} + hasBin: true + peerDependencies: + '@swc/core': '>=1.2.50' + '@swc/wasm': '>=1.2.50' + '@types/node': '*' + typescript: '>=2.7' + peerDependenciesMeta: + '@swc/core': + optional: true + '@swc/wasm': + optional: true + dependencies: + '@cspotcode/source-map-support': 0.8.1 + '@tsconfig/node10': 1.0.9 + '@tsconfig/node12': 1.0.11 + '@tsconfig/node14': 1.0.3 + '@tsconfig/node16': 1.0.4 + '@types/node': 18.18.5 + acorn: 8.8.2 + acorn-walk: 8.2.0 + arg: 4.1.3 + create-require: 1.1.1 + diff: 4.0.2 + make-error: 1.3.6 + typescript: 4.9.5 + v8-compile-cache-lib: 3.0.1 + yn: 3.1.1 + dev: true + /tsconfig-paths@4.2.0: resolution: {integrity: sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==} engines: {node: '>=6'} @@ -8429,6 +9258,7 @@ packages: debug: 4.3.4 make-fetch-happen: 11.1.1 transitivePeerDependencies: + - bluebird - supports-color dev: true @@ -8439,6 +9269,11 @@ packages: prelude-ls: 1.2.1 dev: true + /type-fest@0.18.1: + resolution: {integrity: sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==} + engines: {node: '>=10'} + dev: true + /type-fest@0.20.2: resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} engines: {node: '>=10'} @@ -8449,6 +9284,16 @@ packages: engines: {node: '>=10'} dev: true + /type-fest@0.6.0: + resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==} + engines: {node: '>=8'} + dev: true + + /type-fest@0.8.1: + resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} + engines: {node: '>=8'} + dev: true + /type-fest@1.4.0: resolution: {integrity: sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==} engines: {node: '>=10'} @@ -8472,8 +9317,8 @@ packages: hasBin: true dev: true - /ua-parser-js@0.7.36: - resolution: {integrity: sha512-CPPLoCts2p7D8VbybttE3P2ylv0OBZEAy7a12DsulIEcAiMtWJy+PBgMXgWDI80D5UwqE8oQPHYnk13tm38M2Q==} + /ua-parser-js@0.7.35: + resolution: {integrity: sha512-veRf7dawaj9xaWEu9HoTVn5Pggtc/qj+kqTOFvNiN1l0YdxwC1kvel57UCjThjGa3BHBihE8/UJAHI+uQHmd/g==} dev: true /unbzip2-stream@1.4.3: @@ -8506,6 +9351,13 @@ packages: engines: {node: '>=4'} dev: true + /unique-filename@2.0.1: + resolution: {integrity: sha512-ODWHtkkdx3IAR+veKxFV+VBkUMcN+FaqzUUd7IZzt+0zhDZFPFxhlqwPF3YQvMHx1TD0tdgYl+kuPnJ8E6ql7A==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + dependencies: + unique-slug: 3.0.0 + dev: true + /unique-filename@3.0.0: resolution: {integrity: sha512-afXhuC55wkAmZ0P18QsVE6kp8JaxrEokN2HGIoIVv2ijHQd419H0+6EigAFcIzXeMIkcIkNBpB3L/DXB3cTS/g==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} @@ -8513,6 +9365,13 @@ packages: unique-slug: 4.0.0 dev: true + /unique-slug@3.0.0: + resolution: {integrity: sha512-8EyMynh679x/0gqE9fT9oilG+qEt+ibFyqjuVTsZn1+CMxH+XLlpvr2UZx4nVcCwTpx81nICr2JQFkM+HPLq4w==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + dependencies: + imurmurhash: 0.1.4 + dev: true + /unique-slug@4.0.0: resolution: {integrity: sha512-WrcA6AyEfqDX5bWige/4NQfPZMtASNVxdmWR76WESYQVAACSgWcR6e9i0mofqqBxYFtL4oAxPIptY73/0YE1DQ==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} @@ -8540,6 +9399,17 @@ packages: engines: {node: '>= 0.8'} dev: true + /update-browserslist-db@1.0.10(browserslist@4.21.5): + resolution: {integrity: sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + dependencies: + browserslist: 4.21.5 + escalade: 3.1.1 + picocolors: 1.0.0 + dev: true + /update-browserslist-db@1.0.13(browserslist@4.22.1): resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} hasBin: true @@ -8578,6 +9448,10 @@ packages: hasBin: true dev: true + /v8-compile-cache-lib@3.0.1: + resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} + dev: true + /v8-compile-cache@2.3.0: resolution: {integrity: sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==} dev: true @@ -8637,7 +9511,7 @@ packages: sass: 1.64.1 terser: 5.19.2 optionalDependencies: - fsevents: 2.3.3 + fsevents: 2.3.2 dev: true /void-elements@2.0.1: @@ -8699,11 +9573,11 @@ packages: peerDependencies: webpack: ^4.0.0 || ^5.0.0 dependencies: - colorette: 2.0.20 - memfs: 3.5.3 + colorette: 2.0.19 + memfs: 3.5.0 mime-types: 2.1.35 range-parser: 1.2.1 - schema-utils: 4.2.0 + schema-utils: 4.0.0 webpack: 5.88.2(esbuild@0.18.17) dev: true @@ -8716,11 +9590,11 @@ packages: webpack: optional: true dependencies: - colorette: 2.0.20 - memfs: 3.5.3 + colorette: 2.0.19 + memfs: 3.5.0 mime-types: 2.1.35 range-parser: 1.2.1 - schema-utils: 4.2.0 + schema-utils: 4.0.0 webpack: 5.88.2(esbuild@0.18.17) dev: true @@ -8737,37 +9611,37 @@ packages: webpack-cli: optional: true dependencies: - '@types/bonjour': 3.5.11 - '@types/connect-history-api-fallback': 1.5.1 - '@types/express': 4.17.19 - '@types/serve-index': 1.9.2 - '@types/serve-static': 1.15.3 - '@types/sockjs': 0.3.34 + '@types/bonjour': 3.5.10 + '@types/connect-history-api-fallback': 1.3.5 + '@types/express': 4.17.17 + '@types/serve-index': 1.9.1 + '@types/serve-static': 1.15.1 + '@types/sockjs': 0.3.33 '@types/ws': 8.5.7 ansi-html-community: 0.0.8 bonjour-service: 1.1.1 chokidar: 3.5.3 - colorette: 2.0.20 + colorette: 2.0.19 compression: 1.7.4 connect-history-api-fallback: 2.0.0 default-gateway: 6.0.3 express: 4.18.2 graceful-fs: 4.2.11 - html-entities: 2.4.0 - http-proxy-middleware: 2.0.6(@types/express@4.17.19) - ipaddr.js: 2.1.0 + html-entities: 2.3.3 + http-proxy-middleware: 2.0.6(@types/express@4.17.17) + ipaddr.js: 2.0.1 launch-editor: 2.6.1 open: 8.4.2 p-retry: 4.6.2 rimraf: 3.0.2 - schema-utils: 4.2.0 + schema-utils: 4.0.0 selfsigned: 2.1.1 serve-index: 1.9.1 sockjs: 0.3.24 spdy: 4.0.2 webpack: 5.88.2(esbuild@0.18.17) webpack-dev-middleware: 5.3.3(webpack@5.88.2) - ws: 8.14.2 + ws: 8.13.0 transitivePeerDependencies: - bufferutil - debug @@ -8780,7 +9654,7 @@ packages: engines: {node: '>=10.0.0'} dependencies: clone-deep: 4.0.1 - wildcard: 2.0.1 + wildcard: 2.0.0 dev: true /webpack-sources@3.2.3: @@ -8812,14 +9686,14 @@ packages: webpack-cli: optional: true dependencies: - '@types/eslint-scope': 3.7.5 + '@types/eslint-scope': 3.7.4 '@types/estree': 1.0.2 '@webassemblyjs/ast': 1.11.6 '@webassemblyjs/wasm-edit': 1.11.6 '@webassemblyjs/wasm-parser': 1.11.6 - acorn: 8.10.0 - acorn-import-assertions: 1.9.0(acorn@8.10.0) - browserslist: 4.22.1 + acorn: 8.8.2 + acorn-import-assertions: 1.9.0(acorn@8.8.2) + browserslist: 4.21.5 chrome-trace-event: 1.0.3 enhanced-resolve: 5.15.0 es-module-lexer: 1.3.1 @@ -8833,7 +9707,7 @@ packages: neo-async: 2.6.2 schema-utils: 3.3.0 tapable: 2.2.1 - terser-webpack-plugin: 5.3.9(esbuild@0.18.17)(webpack@5.88.2) + terser-webpack-plugin: 5.3.7(esbuild@0.18.17)(webpack@5.88.2) watchpack: 2.4.0 webpack-sources: 3.2.3 transitivePeerDependencies: @@ -8897,8 +9771,8 @@ packages: isexe: 2.0.0 dev: true - /which@3.0.1: - resolution: {integrity: sha512-XA1b62dzQzLfaEOSQFTCOd5KFf/1VSzZo7/7TUjnya6u0vGGKzU96UQBZTAThCb2j4/xjBAyii1OhRLJEivHvg==} + /which@3.0.0: + resolution: {integrity: sha512-nla//68K9NU6yRiwDY/Q8aU6siKlSs64aEC7+IV56QoAuyQT2ovsJcgGYGyqMOmI/CGN1BOR6mM5EN0FBO+zyQ==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} hasBin: true dependencies: @@ -8911,8 +9785,8 @@ packages: string-width: 4.2.3 dev: true - /wildcard@2.0.1: - resolution: {integrity: sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==} + /wildcard@2.0.0: + resolution: {integrity: sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==} dev: true /wrap-ansi@7.0.0: @@ -8924,15 +9798,6 @@ packages: strip-ansi: 6.0.1 dev: true - /wrap-ansi@8.1.0: - resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} - engines: {node: '>=12'} - dependencies: - ansi-styles: 6.2.1 - string-width: 5.1.2 - strip-ansi: 7.1.0 - dev: true - /wrappy@1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} dev: true @@ -8984,19 +9849,6 @@ packages: optional: true dev: true - /ws@8.14.2: - resolution: {integrity: sha512-wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g==} - engines: {node: '>=10.0.0'} - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: '>=5.0.2' - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - dev: true - /xml-name-validator@3.0.0: resolution: {integrity: sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==} dev: true @@ -9074,6 +9926,11 @@ packages: fd-slicer: 1.1.0 dev: true + /yn@3.1.1: + resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} + engines: {node: '>=6'} + dev: true + /yocto-queue@0.1.0: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} diff --git a/src/index.html b/src/index.html index 4920d70..88eab68 100644 --- a/src/index.html +++ b/src/index.html @@ -1,4 +1,4 @@ - + From bed30cd5704727bc268fc28f2557431568c68790 Mon Sep 17 00:00:00 2001 From: Nchrd Date: Fri, 31 Mar 2023 14:43:01 +0200 Subject: [PATCH 006/146] =?UTF-8?q?Navbar=20fonctionnelle,=20CSS=20=C3=A0?= =?UTF-8?q?=20v=C3=A9rifier?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mobile-navbar.component.html | 15 +++++ .../mobile-navbar.component.scss | 67 +++++++++++++++++++ .../mobile-navbar.component.spec.ts | 22 ++++++ .../mobile-navbar/mobile-navbar.component.ts | 8 +++ src/assets/icons/icone_menu.svg | 1 + src/assets/icons/icone_profile.svg | 12 ++++ src/assets/icons/icone_settings.svg | 1 + src/assets/logo_ae.svg | 1 + src/index.html | 21 +++--- 9 files changed, 138 insertions(+), 10 deletions(-) create mode 100644 src/app/components/mobile/mobile-navbar/mobile-navbar.component.html create mode 100644 src/app/components/mobile/mobile-navbar/mobile-navbar.component.scss create mode 100644 src/app/components/mobile/mobile-navbar/mobile-navbar.component.spec.ts create mode 100644 src/app/components/mobile/mobile-navbar/mobile-navbar.component.ts create mode 100644 src/assets/icons/icone_menu.svg create mode 100644 src/assets/icons/icone_profile.svg create mode 100644 src/assets/icons/icone_settings.svg create mode 100644 src/assets/logo_ae.svg diff --git a/src/app/components/mobile/mobile-navbar/mobile-navbar.component.html b/src/app/components/mobile/mobile-navbar/mobile-navbar.component.html new file mode 100644 index 0000000..71c40a0 --- /dev/null +++ b/src/app/components/mobile/mobile-navbar/mobile-navbar.component.html @@ -0,0 +1,15 @@ +
+
+
+ +
+ +
+
\ No newline at end of file diff --git a/src/app/components/mobile/mobile-navbar/mobile-navbar.component.scss b/src/app/components/mobile/mobile-navbar/mobile-navbar.component.scss new file mode 100644 index 0000000..093478b --- /dev/null +++ b/src/app/components/mobile/mobile-navbar/mobile-navbar.component.scss @@ -0,0 +1,67 @@ +.mobile-navbar { + display: flex; + position: sticky; + flex-flow: row wrap; + justify-content: space-between; + align-items: center; + margin: 0%; + width: auto; + height: 10%; + background: #21262D; + flex: auto; +} + +.mobile-navbar__item-container { + display: flex; + flex-wrap: wrap; + position: inherit; + justify-content: space-between; + margin: 0%; + flex: auto; + width: 15%; + height: 100%; + padding-left: 2%; + padding-right: 3% +} + +.icon-container { + display: flex; + margin: 0%; + flex: auto; + height: 100%; + align-items: center; + +} + +.mobile-navbar__item-container__image { + display: flex; + flex-direction: row; + align-items: center; + height: 100%; + object-fit: contain; +} + +.mobile-navbar__item-container__icons { + display: flex; + flex-direction: row; + align-items: flex-end; + max-height: max-content; + height: 100%; + gap: 5%; +} + +.logo { + object-fit: contain; + height: 80%; +} + +.icon-settings { + filter: invert(100%); + filter: invert(100%); + height: 65%; +} + +.icon-profile { + object-fit: contain; + height: 60%; +} \ No newline at end of file diff --git a/src/app/components/mobile/mobile-navbar/mobile-navbar.component.spec.ts b/src/app/components/mobile/mobile-navbar/mobile-navbar.component.spec.ts new file mode 100644 index 0000000..c54bfc2 --- /dev/null +++ b/src/app/components/mobile/mobile-navbar/mobile-navbar.component.spec.ts @@ -0,0 +1,22 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { MobileNavbarComponent } from './mobile-navbar.component'; + +describe('MobileNavbarComponent', () => { + let component: MobileNavbarComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [MobileNavbarComponent], + }).compileComponents(); + + fixture = TestBed.createComponent(MobileNavbarComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/components/mobile/mobile-navbar/mobile-navbar.component.ts b/src/app/components/mobile/mobile-navbar/mobile-navbar.component.ts new file mode 100644 index 0000000..ad7e701 --- /dev/null +++ b/src/app/components/mobile/mobile-navbar/mobile-navbar.component.ts @@ -0,0 +1,8 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'app-mobile-navbar', + templateUrl: './mobile-navbar.component.html', + styleUrls: ['./mobile-navbar.component.scss'], +}) +export class MobileNavbarComponent {} diff --git a/src/assets/icons/icone_menu.svg b/src/assets/icons/icone_menu.svg new file mode 100644 index 0000000..d8d5ca4 --- /dev/null +++ b/src/assets/icons/icone_menu.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/icone_profile.svg b/src/assets/icons/icone_profile.svg new file mode 100644 index 0000000..5626362 --- /dev/null +++ b/src/assets/icons/icone_profile.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/src/assets/icons/icone_settings.svg b/src/assets/icons/icone_settings.svg new file mode 100644 index 0000000..777ec6e --- /dev/null +++ b/src/assets/icons/icone_settings.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/logo_ae.svg b/src/assets/logo_ae.svg new file mode 100644 index 0000000..2cb258e --- /dev/null +++ b/src/assets/logo_ae.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/index.html b/src/index.html index 88eab68..d1ff5f7 100644 --- a/src/index.html +++ b/src/index.html @@ -1,13 +1,14 @@ - - - Sith - - - - - - - + + + Sith + + + + + + + + From dfc563104fe233977d18736580b876b11afc455c Mon Sep 17 00:00:00 2001 From: Nchrd Date: Fri, 31 Mar 2023 16:56:09 +0200 Subject: [PATCH 007/146] Remplacement des liens par des icones + review CSS --- .../mobile-navbar.component.html | 8 +++--- .../mobile-navbar.component.scss | 26 +++---------------- 2 files changed, 7 insertions(+), 27 deletions(-) diff --git a/src/app/components/mobile/mobile-navbar/mobile-navbar.component.html b/src/app/components/mobile/mobile-navbar/mobile-navbar.component.html index 71c40a0..fc02d32 100644 --- a/src/app/components/mobile/mobile-navbar/mobile-navbar.component.html +++ b/src/app/components/mobile/mobile-navbar/mobile-navbar.component.html @@ -4,12 +4,12 @@ \ No newline at end of file diff --git a/src/app/components/mobile/mobile-navbar/mobile-navbar.component.scss b/src/app/components/mobile/mobile-navbar/mobile-navbar.component.scss index 093478b..f0a1637 100644 --- a/src/app/components/mobile/mobile-navbar/mobile-navbar.component.scss +++ b/src/app/components/mobile/mobile-navbar/mobile-navbar.component.scss @@ -1,52 +1,32 @@ .mobile-navbar { display: flex; position: sticky; - flex-flow: row wrap; - justify-content: space-between; - align-items: center; - margin: 0%; - width: auto; height: 10%; background: #21262D; - flex: auto; } .mobile-navbar__item-container { display: flex; - flex-wrap: wrap; - position: inherit; justify-content: space-between; - margin: 0%; flex: auto; - width: 15%; - height: 100%; padding-left: 2%; padding-right: 3% } .icon-container { display: flex; - margin: 0%; - flex: auto; - height: 100%; align-items: center; - + border: none; + background-color: transparent; } .mobile-navbar__item-container__image { display: flex; - flex-direction: row; align-items: center; - height: 100%; - object-fit: contain; } .mobile-navbar__item-container__icons { display: flex; - flex-direction: row; - align-items: flex-end; - max-height: max-content; - height: 100%; gap: 5%; } @@ -64,4 +44,4 @@ .icon-profile { object-fit: contain; height: 60%; -} \ No newline at end of file +} From 58cfedd9e12c4384cfb19c2beb37b766fb15947c Mon Sep 17 00:00:00 2001 From: Nchrd Date: Fri, 31 Mar 2023 17:39:33 +0200 Subject: [PATCH 008/146] Minor changes on appearance --- .../mobile/mobile-navbar/mobile-navbar.component.html | 2 +- .../mobile/mobile-navbar/mobile-navbar.component.scss | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/app/components/mobile/mobile-navbar/mobile-navbar.component.html b/src/app/components/mobile/mobile-navbar/mobile-navbar.component.html index fc02d32..84b43b5 100644 --- a/src/app/components/mobile/mobile-navbar/mobile-navbar.component.html +++ b/src/app/components/mobile/mobile-navbar/mobile-navbar.component.html @@ -12,4 +12,4 @@ - \ No newline at end of file + diff --git a/src/app/components/mobile/mobile-navbar/mobile-navbar.component.scss b/src/app/components/mobile/mobile-navbar/mobile-navbar.component.scss index f0a1637..172d649 100644 --- a/src/app/components/mobile/mobile-navbar/mobile-navbar.component.scss +++ b/src/app/components/mobile/mobile-navbar/mobile-navbar.component.scss @@ -1,3 +1,4 @@ +// MAIN NAVBAR .mobile-navbar { display: flex; position: sticky; @@ -10,7 +11,7 @@ justify-content: space-between; flex: auto; padding-left: 2%; - padding-right: 3% + padding-right: 3%; } .icon-container { @@ -37,8 +38,7 @@ .icon-settings { filter: invert(100%); - filter: invert(100%); - height: 65%; + height: 55%; } .icon-profile { From 0e53c228cc3cd97b241fc01be4f6fdae5ae756f6 Mon Sep 17 00:00:00 2001 From: Nchrd Date: Fri, 31 Mar 2023 18:14:58 +0200 Subject: [PATCH 009/146] Ajout navbar secondaire --- .../mobile-menu-navbar.component.html | 34 ++++++++++++++ .../mobile-menu-navbar.component.scss | 44 +++++++++++++++++++ .../mobile-menu-navbar.component.spec.ts | 23 ++++++++++ .../mobile-menu-navbar.component.ts | 10 +++++ src/assets/icons/icone_boutique.svg | 3 ++ src/assets/icons/icone_favoris.svg | 3 ++ src/assets/icons/icone_forum.svg | 3 ++ src/assets/icons/icone_laundry.svg | 3 ++ src/assets/icons/icone_panier.svg | 3 ++ src/assets/icons/icone_party.svg | 3 ++ src/assets/icons/icone_photos.svg | 3 ++ src/assets/icons/icone_search.svg | 3 ++ 12 files changed, 135 insertions(+) create mode 100644 src/app/components/mobile/mobile-menu-navbar/mobile-menu-navbar.component.html create mode 100644 src/app/components/mobile/mobile-menu-navbar/mobile-menu-navbar.component.scss create mode 100644 src/app/components/mobile/mobile-menu-navbar/mobile-menu-navbar.component.spec.ts create mode 100644 src/app/components/mobile/mobile-menu-navbar/mobile-menu-navbar.component.ts create mode 100644 src/assets/icons/icone_boutique.svg create mode 100644 src/assets/icons/icone_favoris.svg create mode 100644 src/assets/icons/icone_forum.svg create mode 100644 src/assets/icons/icone_laundry.svg create mode 100644 src/assets/icons/icone_panier.svg create mode 100644 src/assets/icons/icone_party.svg create mode 100644 src/assets/icons/icone_photos.svg create mode 100644 src/assets/icons/icone_search.svg diff --git a/src/app/components/mobile/mobile-menu-navbar/mobile-menu-navbar.component.html b/src/app/components/mobile/mobile-menu-navbar/mobile-menu-navbar.component.html new file mode 100644 index 0000000..8a0b19a --- /dev/null +++ b/src/app/components/mobile/mobile-menu-navbar/mobile-menu-navbar.component.html @@ -0,0 +1,34 @@ +
+
+
+
+ + + + + + +
+
+ + +
+
+
+
\ No newline at end of file diff --git a/src/app/components/mobile/mobile-menu-navbar/mobile-menu-navbar.component.scss b/src/app/components/mobile/mobile-menu-navbar/mobile-menu-navbar.component.scss new file mode 100644 index 0000000..b80cc5d --- /dev/null +++ b/src/app/components/mobile/mobile-menu-navbar/mobile-menu-navbar.component.scss @@ -0,0 +1,44 @@ +// MENU NAVBAR + +.mobile-navbar__menu { + display: flex; + position: sticky; + height: 5%; + background: #C6CDD5; +} + +.mobile-navbar__item-container { + display: flex; + padding-left: 2%; + padding-right: 3%; + align-items: center; + width: 100%; +} + +.mobile-navbar__item-container__icons { + display: flex; + gap: 5%; + width: 100%; + justify-content: space-between; +} + +.mobile-navbar__item-container__icons__left { + display: flex; + align-items: flex-start; +} + +.mobile-navbar__item-container__icons__right { + display: flex; + align-items: flex-end; +} + +.icon-container { + display: flex; + align-items: center; + border: none; + background-color: transparent; +} + +.icon-menu { + object-fit: contain; +} \ No newline at end of file diff --git a/src/app/components/mobile/mobile-menu-navbar/mobile-menu-navbar.component.spec.ts b/src/app/components/mobile/mobile-menu-navbar/mobile-menu-navbar.component.spec.ts new file mode 100644 index 0000000..122bfd7 --- /dev/null +++ b/src/app/components/mobile/mobile-menu-navbar/mobile-menu-navbar.component.spec.ts @@ -0,0 +1,23 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { MobileMenuNavbarComponent } from './mobile-menu-navbar.component'; + +describe('MobileMenuNavbarComponent', () => { + let component: MobileMenuNavbarComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [ MobileMenuNavbarComponent ] + }) + .compileComponents(); + + fixture = TestBed.createComponent(MobileMenuNavbarComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/components/mobile/mobile-menu-navbar/mobile-menu-navbar.component.ts b/src/app/components/mobile/mobile-menu-navbar/mobile-menu-navbar.component.ts new file mode 100644 index 0000000..6681057 --- /dev/null +++ b/src/app/components/mobile/mobile-menu-navbar/mobile-menu-navbar.component.ts @@ -0,0 +1,10 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'app-mobile-menu-navbar', + templateUrl: './mobile-menu-navbar.component.html', + styleUrls: ['./mobile-menu-navbar.component.scss'] +}) +export class MobileMenuNavbarComponent { + +} diff --git a/src/assets/icons/icone_boutique.svg b/src/assets/icons/icone_boutique.svg new file mode 100644 index 0000000..a43700a --- /dev/null +++ b/src/assets/icons/icone_boutique.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/assets/icons/icone_favoris.svg b/src/assets/icons/icone_favoris.svg new file mode 100644 index 0000000..9befc7c --- /dev/null +++ b/src/assets/icons/icone_favoris.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/assets/icons/icone_forum.svg b/src/assets/icons/icone_forum.svg new file mode 100644 index 0000000..53e5062 --- /dev/null +++ b/src/assets/icons/icone_forum.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/assets/icons/icone_laundry.svg b/src/assets/icons/icone_laundry.svg new file mode 100644 index 0000000..826be9a --- /dev/null +++ b/src/assets/icons/icone_laundry.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/assets/icons/icone_panier.svg b/src/assets/icons/icone_panier.svg new file mode 100644 index 0000000..5f7e967 --- /dev/null +++ b/src/assets/icons/icone_panier.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/assets/icons/icone_party.svg b/src/assets/icons/icone_party.svg new file mode 100644 index 0000000..0a5edce --- /dev/null +++ b/src/assets/icons/icone_party.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/assets/icons/icone_photos.svg b/src/assets/icons/icone_photos.svg new file mode 100644 index 0000000..66f29c9 --- /dev/null +++ b/src/assets/icons/icone_photos.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/assets/icons/icone_search.svg b/src/assets/icons/icone_search.svg new file mode 100644 index 0000000..3dc4bc7 --- /dev/null +++ b/src/assets/icons/icone_search.svg @@ -0,0 +1,3 @@ + + + From 59c2691c4cdfacd2d5f98ef48c61375fd496b74b Mon Sep 17 00:00:00 2001 From: Julien Constant Date: Wed, 19 Apr 2023 00:45:33 +0200 Subject: [PATCH 010/146] Finishing rebase --- src/app/app.component.html | 3 +++ src/app/app.component.ts | 4 ++-- src/app/app.module.ts | 4 ++++ .../mobile-menu-navbar.component.ts | 10 ++++------ src/app/components/mobile/mobile.module.ts | 11 +++++++++-- 5 files changed, 22 insertions(+), 10 deletions(-) create mode 100644 src/app/app.component.html diff --git a/src/app/app.component.html b/src/app/app.component.html new file mode 100644 index 0000000..ecd229d --- /dev/null +++ b/src/app/app.component.html @@ -0,0 +1,3 @@ + + + diff --git a/src/app/app.component.ts b/src/app/app.component.ts index b47a087..7717486 100644 --- a/src/app/app.component.ts +++ b/src/app/app.component.ts @@ -4,8 +4,8 @@ import { TranslateService } from '@ngx-translate/core'; import { getLanguage, getLanguageDirection } from 'src/utils'; @Component({ - selector: 'sith-root', - template: '', + selector: 'app-root', + templateUrl: './app.component.html', styleUrls: [], }) export class AppComponent implements OnInit { diff --git a/src/app/app.module.ts b/src/app/app.module.ts index d668660..c4f0037 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -7,6 +7,8 @@ import { HttpClient, HttpClientModule } from '@angular/common/http'; import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; import { ComponentsModule } from './components/components.module'; import { HttpLoaderFactory } from 'src/utils'; +import { MobileComponentsModule } from './components/mobile/mobile.module'; +import { DesktopComponentsModule } from './components/desktop/desktop.module'; @NgModule({ declarations: [AppComponent], @@ -14,6 +16,8 @@ import { HttpLoaderFactory } from 'src/utils'; AppRoutingModule, BrowserModule, ComponentsModule, + MobileComponentsModule, + DesktopComponentsModule, HttpClientModule, TranslateModule.forRoot({ defaultLanguage: 'en-US', diff --git a/src/app/components/mobile/mobile-menu-navbar/mobile-menu-navbar.component.ts b/src/app/components/mobile/mobile-menu-navbar/mobile-menu-navbar.component.ts index 6681057..7e93c80 100644 --- a/src/app/components/mobile/mobile-menu-navbar/mobile-menu-navbar.component.ts +++ b/src/app/components/mobile/mobile-menu-navbar/mobile-menu-navbar.component.ts @@ -1,10 +1,8 @@ import { Component } from '@angular/core'; @Component({ - selector: 'app-mobile-menu-navbar', - templateUrl: './mobile-menu-navbar.component.html', - styleUrls: ['./mobile-menu-navbar.component.scss'] + selector: 'app-mobile-menu-navbar', + templateUrl: './mobile-menu-navbar.component.html', + styleUrls: ['./mobile-menu-navbar.component.scss'], }) -export class MobileMenuNavbarComponent { - -} +export class MobileMenuNavbarComponent {} diff --git a/src/app/components/mobile/mobile.module.ts b/src/app/components/mobile/mobile.module.ts index 44b60db..773f620 100644 --- a/src/app/components/mobile/mobile.module.ts +++ b/src/app/components/mobile/mobile.module.ts @@ -4,10 +4,17 @@ import { MobileSubtitleComponent } from './subtitle/subtitle.component'; import { CommonModule } from '@angular/common'; import { CommonComponentsModule } from '../common/common.module'; import { TranslateModule } from '@ngx-translate/core'; +import { MobileMenuNavbarComponent } from './mobile-menu-navbar/mobile-menu-navbar.component'; +import { MobileNavbarComponent } from './mobile-navbar/mobile-navbar.component'; @NgModule({ - declarations: [MobileLangSelectorComponent, MobileSubtitleComponent], - exports: [MobileLangSelectorComponent, MobileSubtitleComponent], + declarations: [ + MobileLangSelectorComponent, + MobileSubtitleComponent, + MobileMenuNavbarComponent, + MobileNavbarComponent, + ], + exports: [MobileLangSelectorComponent, MobileSubtitleComponent, MobileMenuNavbarComponent, MobileNavbarComponent], imports: [CommonModule, CommonComponentsModule, TranslateModule], }) export class MobileComponentsModule {} From ef58522926b327b53d2b870ec22cf84cef2d87ee Mon Sep 17 00:00:00 2001 From: Julien Constant Date: Wed, 19 Apr 2023 14:42:53 +0200 Subject: [PATCH 011/146] renamed components --- src/app/app.component.html | 2 +- .../header.component.spec.ts} | 2 +- .../mobile/header/header.component.ts | 8 +++++++ .../header.html} | 0 .../header.scss} | 0 .../mobile-menu-navbar.component.spec.ts | 23 ------------------- .../mobile-menu-navbar.component.ts | 8 ------- .../mobile-navbar/mobile-navbar.component.ts | 8 ------- src/app/components/mobile/mobile.module.ts | 4 ++-- .../mobile/navbar/navbar.component.spec.ts | 22 ++++++++++++++++++ .../mobile/navbar/navbar.component.ts | 8 +++++++ .../navbar.html} | 0 .../navbar.scss} | 0 13 files changed, 42 insertions(+), 43 deletions(-) rename src/app/components/mobile/{mobile-navbar/mobile-navbar.component.spec.ts => header/header.component.spec.ts} (89%) create mode 100644 src/app/components/mobile/header/header.component.ts rename src/app/components/mobile/{mobile-navbar/mobile-navbar.component.html => header/header.html} (100%) rename src/app/components/mobile/{mobile-navbar/mobile-navbar.component.scss => header/header.scss} (100%) delete mode 100644 src/app/components/mobile/mobile-menu-navbar/mobile-menu-navbar.component.spec.ts delete mode 100644 src/app/components/mobile/mobile-menu-navbar/mobile-menu-navbar.component.ts delete mode 100644 src/app/components/mobile/mobile-navbar/mobile-navbar.component.ts create mode 100644 src/app/components/mobile/navbar/navbar.component.spec.ts create mode 100644 src/app/components/mobile/navbar/navbar.component.ts rename src/app/components/mobile/{mobile-menu-navbar/mobile-menu-navbar.component.html => navbar/navbar.html} (100%) rename src/app/components/mobile/{mobile-menu-navbar/mobile-menu-navbar.component.scss => navbar/navbar.scss} (100%) diff --git a/src/app/app.component.html b/src/app/app.component.html index ecd229d..0eb84a8 100644 --- a/src/app/app.component.html +++ b/src/app/app.component.html @@ -1,3 +1,3 @@ + - diff --git a/src/app/components/mobile/mobile-navbar/mobile-navbar.component.spec.ts b/src/app/components/mobile/header/header.component.spec.ts similarity index 89% rename from src/app/components/mobile/mobile-navbar/mobile-navbar.component.spec.ts rename to src/app/components/mobile/header/header.component.spec.ts index c54bfc2..d018c9d 100644 --- a/src/app/components/mobile/mobile-navbar/mobile-navbar.component.spec.ts +++ b/src/app/components/mobile/header/header.component.spec.ts @@ -1,6 +1,6 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; -import { MobileNavbarComponent } from './mobile-navbar.component'; +import { MobileNavbarComponent } from './header.component'; describe('MobileNavbarComponent', () => { let component: MobileNavbarComponent; diff --git a/src/app/components/mobile/header/header.component.ts b/src/app/components/mobile/header/header.component.ts new file mode 100644 index 0000000..842fe50 --- /dev/null +++ b/src/app/components/mobile/header/header.component.ts @@ -0,0 +1,8 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'app-mobile-header', + templateUrl: './header.html', + styleUrls: ['./header.scss'], +}) +export class MobileNavbarComponent {} diff --git a/src/app/components/mobile/mobile-navbar/mobile-navbar.component.html b/src/app/components/mobile/header/header.html similarity index 100% rename from src/app/components/mobile/mobile-navbar/mobile-navbar.component.html rename to src/app/components/mobile/header/header.html diff --git a/src/app/components/mobile/mobile-navbar/mobile-navbar.component.scss b/src/app/components/mobile/header/header.scss similarity index 100% rename from src/app/components/mobile/mobile-navbar/mobile-navbar.component.scss rename to src/app/components/mobile/header/header.scss diff --git a/src/app/components/mobile/mobile-menu-navbar/mobile-menu-navbar.component.spec.ts b/src/app/components/mobile/mobile-menu-navbar/mobile-menu-navbar.component.spec.ts deleted file mode 100644 index 122bfd7..0000000 --- a/src/app/components/mobile/mobile-menu-navbar/mobile-menu-navbar.component.spec.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; - -import { MobileMenuNavbarComponent } from './mobile-menu-navbar.component'; - -describe('MobileMenuNavbarComponent', () => { - let component: MobileMenuNavbarComponent; - let fixture: ComponentFixture; - - beforeEach(async () => { - await TestBed.configureTestingModule({ - declarations: [ MobileMenuNavbarComponent ] - }) - .compileComponents(); - - fixture = TestBed.createComponent(MobileMenuNavbarComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); -}); diff --git a/src/app/components/mobile/mobile-menu-navbar/mobile-menu-navbar.component.ts b/src/app/components/mobile/mobile-menu-navbar/mobile-menu-navbar.component.ts deleted file mode 100644 index 7e93c80..0000000 --- a/src/app/components/mobile/mobile-menu-navbar/mobile-menu-navbar.component.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { Component } from '@angular/core'; - -@Component({ - selector: 'app-mobile-menu-navbar', - templateUrl: './mobile-menu-navbar.component.html', - styleUrls: ['./mobile-menu-navbar.component.scss'], -}) -export class MobileMenuNavbarComponent {} diff --git a/src/app/components/mobile/mobile-navbar/mobile-navbar.component.ts b/src/app/components/mobile/mobile-navbar/mobile-navbar.component.ts deleted file mode 100644 index ad7e701..0000000 --- a/src/app/components/mobile/mobile-navbar/mobile-navbar.component.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { Component } from '@angular/core'; - -@Component({ - selector: 'app-mobile-navbar', - templateUrl: './mobile-navbar.component.html', - styleUrls: ['./mobile-navbar.component.scss'], -}) -export class MobileNavbarComponent {} diff --git a/src/app/components/mobile/mobile.module.ts b/src/app/components/mobile/mobile.module.ts index 773f620..51fc745 100644 --- a/src/app/components/mobile/mobile.module.ts +++ b/src/app/components/mobile/mobile.module.ts @@ -4,8 +4,8 @@ import { MobileSubtitleComponent } from './subtitle/subtitle.component'; import { CommonModule } from '@angular/common'; import { CommonComponentsModule } from '../common/common.module'; import { TranslateModule } from '@ngx-translate/core'; -import { MobileMenuNavbarComponent } from './mobile-menu-navbar/mobile-menu-navbar.component'; -import { MobileNavbarComponent } from './mobile-navbar/mobile-navbar.component'; +import { MobileMenuNavbarComponent } from './navbar/navbar.component'; +import { MobileNavbarComponent } from './header/header.component'; @NgModule({ declarations: [ diff --git a/src/app/components/mobile/navbar/navbar.component.spec.ts b/src/app/components/mobile/navbar/navbar.component.spec.ts new file mode 100644 index 0000000..00a74f1 --- /dev/null +++ b/src/app/components/mobile/navbar/navbar.component.spec.ts @@ -0,0 +1,22 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { MobileMenuNavbarComponent } from './navbar.component'; + +describe('MobileMenuNavbarComponent', () => { + let component: MobileMenuNavbarComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [MobileMenuNavbarComponent], + }).compileComponents(); + + fixture = TestBed.createComponent(MobileMenuNavbarComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/components/mobile/navbar/navbar.component.ts b/src/app/components/mobile/navbar/navbar.component.ts new file mode 100644 index 0000000..4bd2f6d --- /dev/null +++ b/src/app/components/mobile/navbar/navbar.component.ts @@ -0,0 +1,8 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'app-mobile-navbar', + templateUrl: './navbar.html', + styleUrls: ['./navbar.scss'], +}) +export class MobileMenuNavbarComponent {} diff --git a/src/app/components/mobile/mobile-menu-navbar/mobile-menu-navbar.component.html b/src/app/components/mobile/navbar/navbar.html similarity index 100% rename from src/app/components/mobile/mobile-menu-navbar/mobile-menu-navbar.component.html rename to src/app/components/mobile/navbar/navbar.html diff --git a/src/app/components/mobile/mobile-menu-navbar/mobile-menu-navbar.component.scss b/src/app/components/mobile/navbar/navbar.scss similarity index 100% rename from src/app/components/mobile/mobile-menu-navbar/mobile-menu-navbar.component.scss rename to src/app/components/mobile/navbar/navbar.scss From e7c7c75d6dc0573b8b2a44cbafc218cff71a6782 Mon Sep 17 00:00:00 2001 From: Julien Constant Date: Wed, 19 Apr 2023 14:59:24 +0200 Subject: [PATCH 012/146] Made svg icons their own icon component --- .../burger_menu/burger_menu.component.ts | 8 ++++ .../common/icons/burger_menu/burger_menu.svg} | 0 .../icons/cogwheel/cogwheel.component.ts | 8 ++++ .../common/icons/cogwheel/cogwheel.svg} | 0 .../empty_profile/empty_profile.component.ts | 8 ++++ .../icons/empty_profile/empty_profile.svg} | 0 ...xpand_less.ts => expand_less.component.ts} | 0 ...xpand_more.ts => expand_more.component.ts} | 0 .../icons/heart_plus/heart_plus.component.ts | 8 ++++ .../common/icons/heart_plus/heart_plus.svg} | 0 .../components/common/icons/icons.module.ts | 47 +++++++++++++++++-- .../common/icons/laundry/laundry.component.ts | 8 ++++ .../common/icons/laundry/laundry.svg} | 0 .../icons/messages/messages.component.ts | 8 ++++ .../common/icons/messages/messages.svg} | 0 .../icons/party_hat/party_hat.component.ts | 8 ++++ .../common/icons/party_hat/party_hat.svg} | 0 .../icons/pictures/pictures.component.ts | 8 ++++ .../common/icons/pictures/pictures.svg} | 0 .../common/icons/search/search.component.ts | 8 ++++ .../common/icons/search/search.svg} | 0 .../shopping_basket.component.ts | 8 ++++ .../shopping_basket/shopping_basket.svg} | 0 .../shopping_cart/shopping_cart.component.ts | 8 ++++ .../icons/shopping_cart/shopping_cart.svg} | 0 25 files changed, 131 insertions(+), 4 deletions(-) create mode 100644 src/app/components/common/icons/burger_menu/burger_menu.component.ts rename src/{assets/icons/icone_menu.svg => app/components/common/icons/burger_menu/burger_menu.svg} (100%) create mode 100644 src/app/components/common/icons/cogwheel/cogwheel.component.ts rename src/{assets/icons/icone_settings.svg => app/components/common/icons/cogwheel/cogwheel.svg} (100%) create mode 100644 src/app/components/common/icons/empty_profile/empty_profile.component.ts rename src/{assets/icons/icone_profile.svg => app/components/common/icons/empty_profile/empty_profile.svg} (100%) rename src/app/components/common/icons/expand_less/{expand_less.ts => expand_less.component.ts} (100%) rename src/app/components/common/icons/expand_more/{expand_more.ts => expand_more.component.ts} (100%) create mode 100644 src/app/components/common/icons/heart_plus/heart_plus.component.ts rename src/{assets/icons/icone_favoris.svg => app/components/common/icons/heart_plus/heart_plus.svg} (100%) create mode 100644 src/app/components/common/icons/laundry/laundry.component.ts rename src/{assets/icons/icone_laundry.svg => app/components/common/icons/laundry/laundry.svg} (100%) create mode 100644 src/app/components/common/icons/messages/messages.component.ts rename src/{assets/icons/icone_forum.svg => app/components/common/icons/messages/messages.svg} (100%) create mode 100644 src/app/components/common/icons/party_hat/party_hat.component.ts rename src/{assets/icons/icone_party.svg => app/components/common/icons/party_hat/party_hat.svg} (100%) create mode 100644 src/app/components/common/icons/pictures/pictures.component.ts rename src/{assets/icons/icone_photos.svg => app/components/common/icons/pictures/pictures.svg} (100%) create mode 100644 src/app/components/common/icons/search/search.component.ts rename src/{assets/icons/icone_search.svg => app/components/common/icons/search/search.svg} (100%) create mode 100644 src/app/components/common/icons/shopping_basket/shopping_basket.component.ts rename src/{assets/icons/icone_panier.svg => app/components/common/icons/shopping_basket/shopping_basket.svg} (100%) create mode 100644 src/app/components/common/icons/shopping_cart/shopping_cart.component.ts rename src/{assets/icons/icone_boutique.svg => app/components/common/icons/shopping_cart/shopping_cart.svg} (100%) diff --git a/src/app/components/common/icons/burger_menu/burger_menu.component.ts b/src/app/components/common/icons/burger_menu/burger_menu.component.ts new file mode 100644 index 0000000..4aacd86 --- /dev/null +++ b/src/app/components/common/icons/burger_menu/burger_menu.component.ts @@ -0,0 +1,8 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'icon-burger-menu', + templateUrl: './burger_menu.svg', + styleUrls: ['../icons.scss'], +}) +export class IconBurgerMenuComponent {} diff --git a/src/assets/icons/icone_menu.svg b/src/app/components/common/icons/burger_menu/burger_menu.svg similarity index 100% rename from src/assets/icons/icone_menu.svg rename to src/app/components/common/icons/burger_menu/burger_menu.svg diff --git a/src/app/components/common/icons/cogwheel/cogwheel.component.ts b/src/app/components/common/icons/cogwheel/cogwheel.component.ts new file mode 100644 index 0000000..88c881d --- /dev/null +++ b/src/app/components/common/icons/cogwheel/cogwheel.component.ts @@ -0,0 +1,8 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'icon-cogwheel', + templateUrl: './cogwheel.svg', + styleUrls: ['../icons.scss'], +}) +export class IconCogwheelComponent {} diff --git a/src/assets/icons/icone_settings.svg b/src/app/components/common/icons/cogwheel/cogwheel.svg similarity index 100% rename from src/assets/icons/icone_settings.svg rename to src/app/components/common/icons/cogwheel/cogwheel.svg diff --git a/src/app/components/common/icons/empty_profile/empty_profile.component.ts b/src/app/components/common/icons/empty_profile/empty_profile.component.ts new file mode 100644 index 0000000..b13255a --- /dev/null +++ b/src/app/components/common/icons/empty_profile/empty_profile.component.ts @@ -0,0 +1,8 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'icon-empty-profile', + templateUrl: './empty_profile.svg', + styleUrls: ['../icons.scss'], +}) +export class IconEmptyProfileComponent {} diff --git a/src/assets/icons/icone_profile.svg b/src/app/components/common/icons/empty_profile/empty_profile.svg similarity index 100% rename from src/assets/icons/icone_profile.svg rename to src/app/components/common/icons/empty_profile/empty_profile.svg diff --git a/src/app/components/common/icons/expand_less/expand_less.ts b/src/app/components/common/icons/expand_less/expand_less.component.ts similarity index 100% rename from src/app/components/common/icons/expand_less/expand_less.ts rename to src/app/components/common/icons/expand_less/expand_less.component.ts diff --git a/src/app/components/common/icons/expand_more/expand_more.ts b/src/app/components/common/icons/expand_more/expand_more.component.ts similarity index 100% rename from src/app/components/common/icons/expand_more/expand_more.ts rename to src/app/components/common/icons/expand_more/expand_more.component.ts diff --git a/src/app/components/common/icons/heart_plus/heart_plus.component.ts b/src/app/components/common/icons/heart_plus/heart_plus.component.ts new file mode 100644 index 0000000..87964dd --- /dev/null +++ b/src/app/components/common/icons/heart_plus/heart_plus.component.ts @@ -0,0 +1,8 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'icon-heart-plus', + templateUrl: './heart_plus.svg', + styleUrls: ['../icons.scss'], +}) +export class IconHeartPlusComponent {} diff --git a/src/assets/icons/icone_favoris.svg b/src/app/components/common/icons/heart_plus/heart_plus.svg similarity index 100% rename from src/assets/icons/icone_favoris.svg rename to src/app/components/common/icons/heart_plus/heart_plus.svg diff --git a/src/app/components/common/icons/icons.module.ts b/src/app/components/common/icons/icons.module.ts index 6767626..89fed8d 100644 --- a/src/app/components/common/icons/icons.module.ts +++ b/src/app/components/common/icons/icons.module.ts @@ -1,10 +1,49 @@ import { NgModule } from '@angular/core'; -import { IconExpandLessComponent } from './expand_less/expand_less'; -import { IconExpandMoreComponent } from './expand_more/expand_more'; +import { IconExpandLessComponent } from './expand_less/expand_less.component'; +import { IconExpandMoreComponent } from './expand_more/expand_more.component'; +import { IconBurgerMenuComponent } from './burger_menu/burger_menu.component'; +import { IconCogwheelComponent } from './cogwheel/cogwheel.component'; +import { IconEmptyProfileComponent } from './empty_profile/empty_profile.component'; +import { IconHeartPlusComponent } from './heart_plus/heart_plus.component'; +import { IconLaundryComponent } from './laundry/laundry.component'; +import { IconMessagesComponent } from './messages/messages.component'; +import { IconPartyHatComponent } from './party_hat/party_hat.component'; +import { IconPicturesComponent } from './pictures/pictures.component'; +import { IconSearchComponent } from './search/search.component'; +import { IconShoppingBasketComponent } from './shopping_basket/shopping_basket.component'; +import { IconShoppingCartComponent } from './shopping_cart/shopping_cart.component'; @NgModule({ - declarations: [IconExpandLessComponent, IconExpandMoreComponent], - exports: [IconExpandLessComponent, IconExpandMoreComponent], + declarations: [ + IconBurgerMenuComponent, + IconCogwheelComponent, + IconEmptyProfileComponent, + IconExpandLessComponent, + IconExpandMoreComponent, + IconHeartPlusComponent, + IconLaundryComponent, + IconMessagesComponent, + IconPartyHatComponent, + IconPicturesComponent, + IconSearchComponent, + IconShoppingBasketComponent, + IconShoppingCartComponent, + ], + exports: [ + IconBurgerMenuComponent, + IconCogwheelComponent, + IconEmptyProfileComponent, + IconExpandLessComponent, + IconExpandMoreComponent, + IconHeartPlusComponent, + IconLaundryComponent, + IconMessagesComponent, + IconPartyHatComponent, + IconPicturesComponent, + IconSearchComponent, + IconShoppingBasketComponent, + IconShoppingCartComponent, + ], imports: [], }) export class IconsModule {} diff --git a/src/app/components/common/icons/laundry/laundry.component.ts b/src/app/components/common/icons/laundry/laundry.component.ts new file mode 100644 index 0000000..181839d --- /dev/null +++ b/src/app/components/common/icons/laundry/laundry.component.ts @@ -0,0 +1,8 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'icon-laundry', + templateUrl: './laundry.svg', + styleUrls: ['../icons.scss'], +}) +export class IconLaundryComponent {} diff --git a/src/assets/icons/icone_laundry.svg b/src/app/components/common/icons/laundry/laundry.svg similarity index 100% rename from src/assets/icons/icone_laundry.svg rename to src/app/components/common/icons/laundry/laundry.svg diff --git a/src/app/components/common/icons/messages/messages.component.ts b/src/app/components/common/icons/messages/messages.component.ts new file mode 100644 index 0000000..d7c80f8 --- /dev/null +++ b/src/app/components/common/icons/messages/messages.component.ts @@ -0,0 +1,8 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'icon-messages', + templateUrl: './messages.svg', + styleUrls: ['../icons.scss'], +}) +export class IconMessagesComponent {} diff --git a/src/assets/icons/icone_forum.svg b/src/app/components/common/icons/messages/messages.svg similarity index 100% rename from src/assets/icons/icone_forum.svg rename to src/app/components/common/icons/messages/messages.svg diff --git a/src/app/components/common/icons/party_hat/party_hat.component.ts b/src/app/components/common/icons/party_hat/party_hat.component.ts new file mode 100644 index 0000000..b1a3395 --- /dev/null +++ b/src/app/components/common/icons/party_hat/party_hat.component.ts @@ -0,0 +1,8 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'icon-party-hat', + templateUrl: './party_hat.svg', + styleUrls: ['../icons.scss'], +}) +export class IconPartyHatComponent {} diff --git a/src/assets/icons/icone_party.svg b/src/app/components/common/icons/party_hat/party_hat.svg similarity index 100% rename from src/assets/icons/icone_party.svg rename to src/app/components/common/icons/party_hat/party_hat.svg diff --git a/src/app/components/common/icons/pictures/pictures.component.ts b/src/app/components/common/icons/pictures/pictures.component.ts new file mode 100644 index 0000000..876cbdb --- /dev/null +++ b/src/app/components/common/icons/pictures/pictures.component.ts @@ -0,0 +1,8 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'icon-pictures', + templateUrl: './pictures.svg', + styleUrls: ['../icons.scss'], +}) +export class IconPicturesComponent {} diff --git a/src/assets/icons/icone_photos.svg b/src/app/components/common/icons/pictures/pictures.svg similarity index 100% rename from src/assets/icons/icone_photos.svg rename to src/app/components/common/icons/pictures/pictures.svg diff --git a/src/app/components/common/icons/search/search.component.ts b/src/app/components/common/icons/search/search.component.ts new file mode 100644 index 0000000..a60e26e --- /dev/null +++ b/src/app/components/common/icons/search/search.component.ts @@ -0,0 +1,8 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'icon-search', + templateUrl: './search.svg', + styleUrls: ['../icons.scss'], +}) +export class IconSearchComponent {} diff --git a/src/assets/icons/icone_search.svg b/src/app/components/common/icons/search/search.svg similarity index 100% rename from src/assets/icons/icone_search.svg rename to src/app/components/common/icons/search/search.svg diff --git a/src/app/components/common/icons/shopping_basket/shopping_basket.component.ts b/src/app/components/common/icons/shopping_basket/shopping_basket.component.ts new file mode 100644 index 0000000..95042e4 --- /dev/null +++ b/src/app/components/common/icons/shopping_basket/shopping_basket.component.ts @@ -0,0 +1,8 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'icon-shopping-basket', + templateUrl: './shopping_basket.svg', + styleUrls: ['../icons.scss'], +}) +export class IconShoppingBasketComponent {} diff --git a/src/assets/icons/icone_panier.svg b/src/app/components/common/icons/shopping_basket/shopping_basket.svg similarity index 100% rename from src/assets/icons/icone_panier.svg rename to src/app/components/common/icons/shopping_basket/shopping_basket.svg diff --git a/src/app/components/common/icons/shopping_cart/shopping_cart.component.ts b/src/app/components/common/icons/shopping_cart/shopping_cart.component.ts new file mode 100644 index 0000000..627aa14 --- /dev/null +++ b/src/app/components/common/icons/shopping_cart/shopping_cart.component.ts @@ -0,0 +1,8 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'icon-shopping-cart', + templateUrl: './shopping_cart.svg', + styleUrls: ['../icons.scss'], +}) +export class IconShoppingCartComponent {} diff --git a/src/assets/icons/icone_boutique.svg b/src/app/components/common/icons/shopping_cart/shopping_cart.svg similarity index 100% rename from src/assets/icons/icone_boutique.svg rename to src/app/components/common/icons/shopping_cart/shopping_cart.svg From 77b363a7e0e22172dc6d932ed10b7a81b0f7f995 Mon Sep 17 00:00:00 2001 From: Julien Constant Date: Wed, 19 Apr 2023 16:32:17 +0200 Subject: [PATCH 013/146] Rewrite navbar & header using icons components --- .../empty_profile/empty_profile.component.ts | 8 --- .../icons/empty_profile/empty_profile.svg | 12 ---- .../components/common/icons/icons.module.ts | 9 +-- .../icons/user_icon/user_icon.component.ts | 15 +++++ .../common/icons/user_icon/user_icon.html | 28 ++++++++ .../common/icons/user_icon/user_icon.scss | 46 +++++++++++++ src/app/components/mobile/header/header.html | 22 ++----- src/app/components/mobile/header/header.scss | 36 ++++++++++ src/app/components/mobile/navbar/navbar.html | 47 ++++--------- src/app/components/mobile/navbar/navbar.scss | 66 ++++++++----------- src/assets/logo_ae.svg | 10 ++- 11 files changed, 187 insertions(+), 112 deletions(-) delete mode 100644 src/app/components/common/icons/empty_profile/empty_profile.component.ts delete mode 100644 src/app/components/common/icons/empty_profile/empty_profile.svg create mode 100644 src/app/components/common/icons/user_icon/user_icon.component.ts create mode 100644 src/app/components/common/icons/user_icon/user_icon.html create mode 100644 src/app/components/common/icons/user_icon/user_icon.scss diff --git a/src/app/components/common/icons/empty_profile/empty_profile.component.ts b/src/app/components/common/icons/empty_profile/empty_profile.component.ts deleted file mode 100644 index b13255a..0000000 --- a/src/app/components/common/icons/empty_profile/empty_profile.component.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { Component } from '@angular/core'; - -@Component({ - selector: 'icon-empty-profile', - templateUrl: './empty_profile.svg', - styleUrls: ['../icons.scss'], -}) -export class IconEmptyProfileComponent {} diff --git a/src/app/components/common/icons/empty_profile/empty_profile.svg b/src/app/components/common/icons/empty_profile/empty_profile.svg deleted file mode 100644 index 5626362..0000000 --- a/src/app/components/common/icons/empty_profile/empty_profile.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - - diff --git a/src/app/components/common/icons/icons.module.ts b/src/app/components/common/icons/icons.module.ts index 89fed8d..d2700e5 100644 --- a/src/app/components/common/icons/icons.module.ts +++ b/src/app/components/common/icons/icons.module.ts @@ -3,7 +3,7 @@ import { IconExpandLessComponent } from './expand_less/expand_less.component'; import { IconExpandMoreComponent } from './expand_more/expand_more.component'; import { IconBurgerMenuComponent } from './burger_menu/burger_menu.component'; import { IconCogwheelComponent } from './cogwheel/cogwheel.component'; -import { IconEmptyProfileComponent } from './empty_profile/empty_profile.component'; +import { IconUserIconComponent } from './user_icon/user_icon.component'; import { IconHeartPlusComponent } from './heart_plus/heart_plus.component'; import { IconLaundryComponent } from './laundry/laundry.component'; import { IconMessagesComponent } from './messages/messages.component'; @@ -12,12 +12,13 @@ import { IconPicturesComponent } from './pictures/pictures.component'; import { IconSearchComponent } from './search/search.component'; import { IconShoppingBasketComponent } from './shopping_basket/shopping_basket.component'; import { IconShoppingCartComponent } from './shopping_cart/shopping_cart.component'; +import { CommonModule } from '@angular/common'; @NgModule({ declarations: [ IconBurgerMenuComponent, IconCogwheelComponent, - IconEmptyProfileComponent, + IconUserIconComponent, IconExpandLessComponent, IconExpandMoreComponent, IconHeartPlusComponent, @@ -32,7 +33,7 @@ import { IconShoppingCartComponent } from './shopping_cart/shopping_cart.compone exports: [ IconBurgerMenuComponent, IconCogwheelComponent, - IconEmptyProfileComponent, + IconUserIconComponent, IconExpandLessComponent, IconExpandMoreComponent, IconHeartPlusComponent, @@ -44,6 +45,6 @@ import { IconShoppingCartComponent } from './shopping_cart/shopping_cart.compone IconShoppingBasketComponent, IconShoppingCartComponent, ], - imports: [], + imports: [CommonModule], }) export class IconsModule {} diff --git a/src/app/components/common/icons/user_icon/user_icon.component.ts b/src/app/components/common/icons/user_icon/user_icon.component.ts new file mode 100644 index 0000000..bb258f4 --- /dev/null +++ b/src/app/components/common/icons/user_icon/user_icon.component.ts @@ -0,0 +1,15 @@ +import { Component, Input } from '@angular/core'; + +@Component({ + selector: 'icon-user-icon', + templateUrl: './user_icon.html', + styleUrls: ['../icons.scss', './user_icon.scss'], +}) +export class IconUserIconComponent { + @Input() public url?: string; + @Input() public notifications = 0; + + public hasPicture(): boolean { + return this.url !== undefined && this.url !== null; + } +} diff --git a/src/app/components/common/icons/user_icon/user_icon.html b/src/app/components/common/icons/user_icon/user_icon.html new file mode 100644 index 0000000..9f151a1 --- /dev/null +++ b/src/app/components/common/icons/user_icon/user_icon.html @@ -0,0 +1,28 @@ +
+
+ user_profile_picture +
+
+ + + + + + + + + + + + +
+ +
{{ notifications }}
+
+
\ No newline at end of file diff --git a/src/app/components/common/icons/user_icon/user_icon.scss b/src/app/components/common/icons/user_icon/user_icon.scss new file mode 100644 index 0000000..19748a3 --- /dev/null +++ b/src/app/components/common/icons/user_icon/user_icon.scss @@ -0,0 +1,46 @@ +$color-red: #ff1a0a; +$white: #fff; + +.icon { + position: relative; + + > .image { + position: absolute; + max-width: 100%; + max-height: 100%; + + > svg, + > img { + width: 100%; + height: 100%; + border-radius: 50%; + } + } + + > .notification { + position: absolute; + top: -4px; + right: -4px; + + min-width: 16px; + height: 16px; + + color: $white; + background-color: $color-red; + border-radius: 50%; + font-family: Roboto; + font-size: 12px; + + display: flex; + align-items: center; + justify-content: center; + + > span { + display: block; + background-color: $white; + width: 100%; + height: 100%; + border-radius: 50%; + } + } +} \ No newline at end of file diff --git a/src/app/components/mobile/header/header.html b/src/app/components/mobile/header/header.html index 84b43b5..8826d71 100644 --- a/src/app/components/mobile/header/header.html +++ b/src/app/components/mobile/header/header.html @@ -1,15 +1,7 @@ -
-
-
- -
-
- - -
-
-
+
+ +
+ + +
+
\ No newline at end of file diff --git a/src/app/components/mobile/header/header.scss b/src/app/components/mobile/header/header.scss index 172d649..08dc34e 100644 --- a/src/app/components/mobile/header/header.scss +++ b/src/app/components/mobile/header/header.scss @@ -1,3 +1,39 @@ +$background-color: #21262D; + +.header { + background-color: $background-color; + display: flex; + align-items: center; + justify-content: space-between; + padding-left: 10px; + height: 70px; + + > .logo { + width: 64px; + height: 64px; + } + + > .icons { + display: flex; + padding: 16px; + gap: 16px; + + > * { + width: 32px; + height: 32px; + fill: white; + } + } +} + + + + + + + + + // MAIN NAVBAR .mobile-navbar { display: flex; diff --git a/src/app/components/mobile/navbar/navbar.html b/src/app/components/mobile/navbar/navbar.html index 8a0b19a..092bb88 100644 --- a/src/app/components/mobile/navbar/navbar.html +++ b/src/app/components/mobile/navbar/navbar.html @@ -1,34 +1,13 @@ -
-
-
-
- - - - - - -
-
- - -
-
-
-
\ No newline at end of file + diff --git a/src/app/components/mobile/navbar/navbar.scss b/src/app/components/mobile/navbar/navbar.scss index b80cc5d..86dcb0c 100644 --- a/src/app/components/mobile/navbar/navbar.scss +++ b/src/app/components/mobile/navbar/navbar.scss @@ -1,44 +1,34 @@ -// MENU NAVBAR +$background-color: #c6cdd5; -.mobile-navbar__menu { - display: flex; - position: sticky; - height: 5%; - background: #C6CDD5; -} +.navbar { + height: 40px; + background-color: $background-color; + display: flex; + justify-content: space-between; -.mobile-navbar__item-container { - display: flex; - padding-left: 2%; - padding-right: 3%; - align-items: center; - width: 100%; -} + > .left { + width: 100%; + justify-content: flex-start; + gap: 16px; + } -.mobile-navbar__item-container__icons { - display: flex; - gap: 5%; - width: 100%; - justify-content: space-between; -} + > .right { + justify-content: flex-end; + gap: 8px; + } -.mobile-navbar__item-container__icons__left { - display: flex; - align-items: flex-start; -} + > .left, + > .right { + display: flex; + align-items: center; + padding: 0 10px; -.mobile-navbar__item-container__icons__right { - display: flex; - align-items: flex-end; -} - -.icon-container { - display: flex; - align-items: center; - border: none; - background-color: transparent; -} - -.icon-menu { - object-fit: contain; + > .icon { + width: 20px; + height: 20px; + display: flex; + align-items: center; + justify-content: center; + } + } } \ No newline at end of file diff --git a/src/assets/logo_ae.svg b/src/assets/logo_ae.svg index 2cb258e..6fa88a9 100644 --- a/src/assets/logo_ae.svg +++ b/src/assets/logo_ae.svg @@ -1 +1,9 @@ - \ No newline at end of file + + + + + + + + + From 26ab715a05bc912ea26471694797cf26ec425f86 Mon Sep 17 00:00:00 2001 From: Julien Constant Date: Wed, 19 Apr 2023 16:35:24 +0200 Subject: [PATCH 014/146] use webp instead of svg for the logo --- src/app/components/mobile/header/header.html | 2 +- src/assets/logo_ae.svg | 9 --------- src/assets/logo_ae.webp | Bin 0 -> 2054 bytes 3 files changed, 1 insertion(+), 10 deletions(-) delete mode 100644 src/assets/logo_ae.svg create mode 100644 src/assets/logo_ae.webp diff --git a/src/app/components/mobile/header/header.html b/src/app/components/mobile/header/header.html index 8826d71..c4fed94 100644 --- a/src/app/components/mobile/header/header.html +++ b/src/app/components/mobile/header/header.html @@ -1,5 +1,5 @@
- +
diff --git a/src/assets/logo_ae.svg b/src/assets/logo_ae.svg deleted file mode 100644 index 6fa88a9..0000000 --- a/src/assets/logo_ae.svg +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/src/assets/logo_ae.webp b/src/assets/logo_ae.webp new file mode 100644 index 0000000000000000000000000000000000000000..eebe9b56adafe8f2a0fafbe26dffc709c4e2a4f5 GIT binary patch literal 2054 zcmV+h2>JI?Nk&Hg2LJ$9MM6+kP&iET2LJ#sKfn(V=1|bK4de2s-5m%KF#)!z_%Yli z*VcAyPXV^g*tTukw#|<#pKaUUtKT+9(cCG+c^ZhG)RczaMl#PR({%FolNMa-+f1e@ z>MtiNeaNfU+qS7^ ze6~@2mF+LKZQD*t`w!T*Z9D1gq)cbqcLLz6kXKEGKm^pI*jCIy3iu7;x?(m~s6#d6 zlnOx+P>;f6wXeqf>UA~h55Q){*fBpdE=T>|WkF=cp6`6@OuKH|_paNzpkf{8jYHRc z``>ljHQlMQV8r4+xGC{BWR&|`>^#@|j77#jWM&c42KCipSs?8A>>0JJkd)1GV}y87 zSq)3W#x@h%x({So`VgFpIJoGfF8Df6Ot5GVcE(%GNz(KOf`~QC$a(ON&>zB%b_aVIK#^jYo-g=u&>O3P2~&H z=~*n3Oxk^zp#B=vP-hh9g63cz&>bGa$$z>R|B`gJKJ|;b(nn599@TShrW03LAs~|g z56T(v$*#gAp8nwIe5b>K$TA!bF@cAGCqpd5I%e84xXSP&(vpaZVrdpT>kUTCFaFnA zYHRMO9^B`4$Q~tK9eGXkNE#g(Xh``TzFo?UW%&_5K{FbL*6f(0-94p|1CM?|x2K@9 z2L>!CxbNJ7etV>-57Fp=usCEf@J5m;(WOf+IR}(Ri4Jb^3X?<)v4h*ggq!!7E7E$C3mo zf;nB$C`m47M%d7L;`E_)i^36s?!XxLhtv;YM$kG4q*B3O<|&EZumSHUpO zHmN$^tKwoSsST6Qj+*k|vS=>7M<^YNxLBY3Rc*sH%yZ2a7TkaH5vb~R?Z`h3v42P) zLIypfWbW8LSZ2ZLn}B%wFWkV!5r`i#8|t&(t6sUuJ@3Z2&_M7lW(>&V;0VVYd{A+v zN!j&!m`)H)V8;9{LH`7|ay%}g**VKkCBunN9@0N< zXL136+|q?U2k8$F`)0jWg`NK#x$B~#i^&AgnDxe%1T^6G=jEusm5+lXf|LL3I%#@b zWDNBhMSXmL9tLb+@ryobfKKaGT0*yP0%?C(!uGHPuj9n&(e8-6T%_ofoId~{NiGUk zR=^1+X{jAY{E62ysFiPOCig_5b{R82ZN`+u1jv|6N#!2Q<9G;?^q1k#0P zeJ+^H&_2}kpZ0!>qd(p+L?n}`*C3*iev9>cWz_{2wC!)(c~x;vtG%SHIWA%6@Q{%7 z4)|6&(1(Rg3k~NS-gRmW3xg30li9g?>GbT6`F!H04OpvDF1>I=9ApISzxiq-(s;Im zpy@L5>qz3$A8RazxN@q^wFjkW^m6;j3uOdJqZm89re*&kNMhkkY)+!GkhTiK*s-H& zh2cbOctM@cE5G-OSALgWIrYjdWjf!E5%ZJbct7|1RFY+zLRj|ikQ8nPJv_ZlHW|#e zNK}-%lE*G+|Ien9kPHq*fU|tCZlUmC@l0g2%UslNWnyC}eEvehuOep3r;Uh3Z#0r+ z6D+!6#H|%Wjw!!YHRpmedx!6dBs1{+5hd(dFFRzhQ#d9;)y}z_=VZYPNp8-A=5}tt zr&-@lRJTgYV5#+iPvYM%>A$sWZxJrhj)%X{&ilW>D(5e2!oq@k&A&kC@wA>7aObl+ kuQLLHoe>vM&CCyru!Km3T?Nz!=y?W_-n5+-IFotLG`Z{$82|tP literal 0 HcmV?d00001 From 7fdaf725199bd01e8d63fc09ac889a4fbaa506bb Mon Sep 17 00:00:00 2001 From: Julien Constant Date: Wed, 19 Apr 2023 18:05:12 +0200 Subject: [PATCH 015/146] Added device detection (mobile/desktop) and switch navbar/header accordingly --- src/app/app.component.html | 16 ++++- src/app/app.component.scss | 13 +++++ .../common/icons/heart_plus/heart_plus.svg | 4 +- .../common/icons/laundry/laundry.svg | 4 +- .../common/icons/messages/messages.svg | 4 +- .../common/icons/party_hat/party_hat.svg | 4 +- .../common/icons/pictures/pictures.svg | 4 +- .../components/common/icons/search/search.svg | 4 +- .../icons/shopping_basket/shopping_basket.svg | 4 +- .../icons/shopping_cart/shopping_cart.svg | 4 +- .../common/icons/user_icon/user_icon.html | 2 +- src/app/components/desktop/desktop.module.ts | 6 +- .../desktop/header/header.component.ts | 8 +++ src/app/components/desktop/header/header.html | 16 +++++ src/app/components/desktop/header/header.scss | 58 +++++++++++++++++++ .../desktop/navbar/navbar.component.ts | 11 ++++ src/app/components/desktop/navbar/navbar.html | 22 +++++++ src/app/components/desktop/navbar/navbar.scss | 34 +++++++++++ .../mobile/header/header.component.spec.ts | 10 ++-- .../mobile/header/header.component.ts | 2 +- src/app/components/mobile/mobile.module.ts | 13 ++--- .../mobile/navbar/navbar.component.spec.ts | 10 ++-- .../mobile/navbar/navbar.component.ts | 2 +- src/assets/i18n/en-US.json | 9 ++- 24 files changed, 220 insertions(+), 44 deletions(-) create mode 100644 src/app/app.component.scss create mode 100644 src/app/components/desktop/header/header.component.ts create mode 100644 src/app/components/desktop/header/header.html create mode 100644 src/app/components/desktop/header/header.scss create mode 100644 src/app/components/desktop/navbar/navbar.component.ts create mode 100644 src/app/components/desktop/navbar/navbar.html create mode 100644 src/app/components/desktop/navbar/navbar.scss diff --git a/src/app/app.component.html b/src/app/app.component.html index 0eb84a8..dacdb55 100644 --- a/src/app/app.component.html +++ b/src/app/app.component.html @@ -1,3 +1,13 @@ - - - +
+ +
+ + +
+
+ +
+ + + +
\ No newline at end of file diff --git a/src/app/app.component.scss b/src/app/app.component.scss new file mode 100644 index 0000000..b9be6d0 --- /dev/null +++ b/src/app/app.component.scss @@ -0,0 +1,13 @@ +main { + max-width: 1080px; + width: 100%; + margin: 0 auto; + padding: 20px 5px; + display: flex; + flex-direction: column; + gap: 30px; +} + +router-outlet { + display: none; +} diff --git a/src/app/components/common/icons/heart_plus/heart_plus.svg b/src/app/components/common/icons/heart_plus/heart_plus.svg index 9befc7c..b0002fb 100644 --- a/src/app/components/common/icons/heart_plus/heart_plus.svg +++ b/src/app/components/common/icons/heart_plus/heart_plus.svg @@ -1,3 +1,3 @@ - - + + diff --git a/src/app/components/common/icons/laundry/laundry.svg b/src/app/components/common/icons/laundry/laundry.svg index 826be9a..f836b0b 100644 --- a/src/app/components/common/icons/laundry/laundry.svg +++ b/src/app/components/common/icons/laundry/laundry.svg @@ -1,3 +1,3 @@ - - + + diff --git a/src/app/components/common/icons/messages/messages.svg b/src/app/components/common/icons/messages/messages.svg index 53e5062..16a1ef4 100644 --- a/src/app/components/common/icons/messages/messages.svg +++ b/src/app/components/common/icons/messages/messages.svg @@ -1,3 +1,3 @@ - - + + diff --git a/src/app/components/common/icons/party_hat/party_hat.svg b/src/app/components/common/icons/party_hat/party_hat.svg index 0a5edce..564b61d 100644 --- a/src/app/components/common/icons/party_hat/party_hat.svg +++ b/src/app/components/common/icons/party_hat/party_hat.svg @@ -1,3 +1,3 @@ - - + + diff --git a/src/app/components/common/icons/pictures/pictures.svg b/src/app/components/common/icons/pictures/pictures.svg index 66f29c9..b236ea9 100644 --- a/src/app/components/common/icons/pictures/pictures.svg +++ b/src/app/components/common/icons/pictures/pictures.svg @@ -1,3 +1,3 @@ - - + + diff --git a/src/app/components/common/icons/search/search.svg b/src/app/components/common/icons/search/search.svg index 3dc4bc7..055a513 100644 --- a/src/app/components/common/icons/search/search.svg +++ b/src/app/components/common/icons/search/search.svg @@ -1,3 +1,3 @@ - - + + diff --git a/src/app/components/common/icons/shopping_basket/shopping_basket.svg b/src/app/components/common/icons/shopping_basket/shopping_basket.svg index 5f7e967..9cebe22 100644 --- a/src/app/components/common/icons/shopping_basket/shopping_basket.svg +++ b/src/app/components/common/icons/shopping_basket/shopping_basket.svg @@ -1,3 +1,3 @@ - - + + diff --git a/src/app/components/common/icons/shopping_cart/shopping_cart.svg b/src/app/components/common/icons/shopping_cart/shopping_cart.svg index a43700a..e4a220b 100644 --- a/src/app/components/common/icons/shopping_cart/shopping_cart.svg +++ b/src/app/components/common/icons/shopping_cart/shopping_cart.svg @@ -1,3 +1,3 @@ - - + + diff --git a/src/app/components/common/icons/user_icon/user_icon.html b/src/app/components/common/icons/user_icon/user_icon.html index 9f151a1..38a22fb 100644 --- a/src/app/components/common/icons/user_icon/user_icon.html +++ b/src/app/components/common/icons/user_icon/user_icon.html @@ -3,7 +3,7 @@ user_profile_picture
- +
+ +
+ Association des Étudiants + de l'université de technologie de Belfort-Montbéliard +
+
+ +
+ + + + +
+
\ No newline at end of file diff --git a/src/app/components/desktop/header/header.scss b/src/app/components/desktop/header/header.scss new file mode 100644 index 0000000..0a73991 --- /dev/null +++ b/src/app/components/desktop/header/header.scss @@ -0,0 +1,58 @@ +$background-color: #21262D; + +.header { + display: flex; + justify-content: space-between; + align-items: center; + background-color: $background-color; + height: 70px; + padding-left: 10px; + + > .title { + display: flex; + align-items: center; + height: 64px; + gap: 10px; + + > img { + width: 64px; + height: 64px; + } + + > .text { + color: white; + display: flex; + flex-direction: column; + font-family: Roboto; + + > .big { + font-size: 20px; + } + + > .small { + font-size: 8px; + text-transform: uppercase; + } + } + } + + > .icons { + display: flex; + fill: white; + align-items: center; + gap: 16px; + padding: 0 16px; + + > .icon { + cursor: pointer; + width: 32px; + height: 32px; + fill: white; + + &.search { + width: 22px; + height: 22px; + } + } + } +} \ No newline at end of file diff --git a/src/app/components/desktop/navbar/navbar.component.ts b/src/app/components/desktop/navbar/navbar.component.ts new file mode 100644 index 0000000..9d6484c --- /dev/null +++ b/src/app/components/desktop/navbar/navbar.component.ts @@ -0,0 +1,11 @@ +import { Component, Inject } from '@angular/core'; +import { TranslateService } from '@ngx-translate/core'; + +@Component({ + selector: 'app-desktop-navbar', + templateUrl: './navbar.html', + styleUrls: ['./navbar.scss'], +}) +export class DesktopNavbarComponent { + public constructor(@Inject(TranslateService) public readonly translate: TranslateService) {} +} diff --git a/src/app/components/desktop/navbar/navbar.html b/src/app/components/desktop/navbar/navbar.html new file mode 100644 index 0000000..7e5aaeb --- /dev/null +++ b/src/app/components/desktop/navbar/navbar.html @@ -0,0 +1,22 @@ + \ No newline at end of file diff --git a/src/app/components/desktop/navbar/navbar.scss b/src/app/components/desktop/navbar/navbar.scss new file mode 100644 index 0000000..398b1e1 --- /dev/null +++ b/src/app/components/desktop/navbar/navbar.scss @@ -0,0 +1,34 @@ +$background-color: #c6cdd5; + +.navbar { + width: 100%; + display: flex; + flex-direction: row; + align-items: center; + justify-content: center; + background-color: $background-color; + height: 40px; + gap: 40px; + border-radius: 5px; + + > .link { + display: flex; + align-items: center; + justify-content: center; + gap: 5px; + + > .icon { + width: 20px; + height: 20px; + display: flex; + align-items: center; + justify-content: center; + } + + > span { + text-transform: uppercase; + font-family: Roboto; + font-size: 12px; + } + } +} \ No newline at end of file diff --git a/src/app/components/mobile/header/header.component.spec.ts b/src/app/components/mobile/header/header.component.spec.ts index d018c9d..b34fd88 100644 --- a/src/app/components/mobile/header/header.component.spec.ts +++ b/src/app/components/mobile/header/header.component.spec.ts @@ -1,17 +1,17 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; -import { MobileNavbarComponent } from './header.component'; +import { MobileHeaderComponent } from './header.component'; describe('MobileNavbarComponent', () => { - let component: MobileNavbarComponent; - let fixture: ComponentFixture; + let component: MobileHeaderComponent; + let fixture: ComponentFixture; beforeEach(async () => { await TestBed.configureTestingModule({ - declarations: [MobileNavbarComponent], + declarations: [MobileHeaderComponent], }).compileComponents(); - fixture = TestBed.createComponent(MobileNavbarComponent); + fixture = TestBed.createComponent(MobileHeaderComponent); component = fixture.componentInstance; fixture.detectChanges(); }); diff --git a/src/app/components/mobile/header/header.component.ts b/src/app/components/mobile/header/header.component.ts index 842fe50..9624539 100644 --- a/src/app/components/mobile/header/header.component.ts +++ b/src/app/components/mobile/header/header.component.ts @@ -5,4 +5,4 @@ import { Component } from '@angular/core'; templateUrl: './header.html', styleUrls: ['./header.scss'], }) -export class MobileNavbarComponent {} +export class MobileHeaderComponent {} diff --git a/src/app/components/mobile/mobile.module.ts b/src/app/components/mobile/mobile.module.ts index 51fc745..ba48468 100644 --- a/src/app/components/mobile/mobile.module.ts +++ b/src/app/components/mobile/mobile.module.ts @@ -4,17 +4,12 @@ import { MobileSubtitleComponent } from './subtitle/subtitle.component'; import { CommonModule } from '@angular/common'; import { CommonComponentsModule } from '../common/common.module'; import { TranslateModule } from '@ngx-translate/core'; -import { MobileMenuNavbarComponent } from './navbar/navbar.component'; -import { MobileNavbarComponent } from './header/header.component'; +import { MobileNavbarComponent } from './navbar/navbar.component'; +import { MobileHeaderComponent } from './header/header.component'; @NgModule({ - declarations: [ - MobileLangSelectorComponent, - MobileSubtitleComponent, - MobileMenuNavbarComponent, - MobileNavbarComponent, - ], - exports: [MobileLangSelectorComponent, MobileSubtitleComponent, MobileMenuNavbarComponent, MobileNavbarComponent], + declarations: [MobileLangSelectorComponent, MobileSubtitleComponent, MobileHeaderComponent, MobileNavbarComponent], + exports: [MobileLangSelectorComponent, MobileSubtitleComponent, MobileHeaderComponent, MobileNavbarComponent], imports: [CommonModule, CommonComponentsModule, TranslateModule], }) export class MobileComponentsModule {} diff --git a/src/app/components/mobile/navbar/navbar.component.spec.ts b/src/app/components/mobile/navbar/navbar.component.spec.ts index 00a74f1..01d42a3 100644 --- a/src/app/components/mobile/navbar/navbar.component.spec.ts +++ b/src/app/components/mobile/navbar/navbar.component.spec.ts @@ -1,17 +1,17 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; -import { MobileMenuNavbarComponent } from './navbar.component'; +import { MobileNavbarComponent } from './navbar.component'; describe('MobileMenuNavbarComponent', () => { - let component: MobileMenuNavbarComponent; - let fixture: ComponentFixture; + let component: MobileNavbarComponent; + let fixture: ComponentFixture; beforeEach(async () => { await TestBed.configureTestingModule({ - declarations: [MobileMenuNavbarComponent], + declarations: [MobileNavbarComponent], }).compileComponents(); - fixture = TestBed.createComponent(MobileMenuNavbarComponent); + fixture = TestBed.createComponent(MobileNavbarComponent); component = fixture.componentInstance; fixture.detectChanges(); }); diff --git a/src/app/components/mobile/navbar/navbar.component.ts b/src/app/components/mobile/navbar/navbar.component.ts index 4bd2f6d..d306f24 100644 --- a/src/app/components/mobile/navbar/navbar.component.ts +++ b/src/app/components/mobile/navbar/navbar.component.ts @@ -5,4 +5,4 @@ import { Component } from '@angular/core'; templateUrl: './navbar.html', styleUrls: ['./navbar.scss'], }) -export class MobileMenuNavbarComponent {} +export class MobileNavbarComponent {} diff --git a/src/assets/i18n/en-US.json b/src/assets/i18n/en-US.json index 266b162..d611f2b 100644 --- a/src/assets/i18n/en-US.json +++ b/src/assets/i18n/en-US.json @@ -3,5 +3,12 @@ "switch_lang": "Language selection", "select_lang": "Select a language", "help_us_translate": "Help us translate this website" - } + }, + "navbar": { + "favorites": "Favorites", + "shop": "Shop", + "events": "Events", + "forum": "Forum", + "pictures": "Pictures" + } } From 648d612025232bf5e5169f4cb84f88e2e5075195 Mon Sep 17 00:00:00 2001 From: Julien Constant Date: Wed, 19 Apr 2023 20:25:17 +0200 Subject: [PATCH 016/146] setup slider menus in the header --- .../mobile/header/header.component.ts | 13 +++- src/app/components/mobile/header/header.html | 33 +++++++- src/app/components/mobile/header/header.scss | 77 +++++++------------ src/app/components/mobile/mobile.module.ts | 20 ++++- .../mobile/side-menu/side-menu.component.ts | 30 ++++++++ .../mobile/side-menu/side-menu.html | 6 ++ .../mobile/side-menu/side-menu.scss | 53 +++++++++++++ .../mobile/title/title.component.ts | 12 +++ src/app/components/mobile/title/title.html | 1 + src/app/components/mobile/title/title.scss | 21 +++++ src/assets/i18n/en-US.json | 21 ++++- 11 files changed, 230 insertions(+), 57 deletions(-) create mode 100644 src/app/components/mobile/side-menu/side-menu.component.ts create mode 100644 src/app/components/mobile/side-menu/side-menu.html create mode 100644 src/app/components/mobile/side-menu/side-menu.scss create mode 100644 src/app/components/mobile/title/title.component.ts create mode 100644 src/app/components/mobile/title/title.html create mode 100644 src/app/components/mobile/title/title.scss diff --git a/src/app/components/mobile/header/header.component.ts b/src/app/components/mobile/header/header.component.ts index 9624539..a59ca18 100644 --- a/src/app/components/mobile/header/header.component.ts +++ b/src/app/components/mobile/header/header.component.ts @@ -5,4 +5,15 @@ import { Component } from '@angular/core'; templateUrl: './header.html', styleUrls: ['./header.scss'], }) -export class MobileHeaderComponent {} +export class MobileHeaderComponent { + public profilOpened = false; + public optionsOpened = false; + + public triggerSideMenuProfil(): void { + this.profilOpened = !this.profilOpened; + } + + public triggerSideMenuOptions(): void { + this.optionsOpened = !this.optionsOpened; + } +} diff --git a/src/app/components/mobile/header/header.html b/src/app/components/mobile/header/header.html index c4fed94..1dd7dab 100644 --- a/src/app/components/mobile/header/header.html +++ b/src/app/components/mobile/header/header.html @@ -1,7 +1,34 @@
- - + +
-
\ No newline at end of file +
+ + + test 1 + + + +
+ + + +
+ +
+ + + + +
+ +
+ + +
+ +
+
+
diff --git a/src/app/components/mobile/header/header.scss b/src/app/components/mobile/header/header.scss index 08dc34e..3867c9a 100644 --- a/src/app/components/mobile/header/header.scss +++ b/src/app/components/mobile/header/header.scss @@ -1,11 +1,11 @@ -$background-color: #21262D; +$background-color: #21262d; .header { background-color: $background-color; display: flex; align-items: center; justify-content: space-between; - padding-left: 10px; + padding: 0 10px; height: 70px; > .logo { @@ -15,7 +15,7 @@ $background-color: #21262D; > .icons { display: flex; - padding: 16px; + padding: 16px 0; gap: 16px; > * { @@ -26,58 +26,35 @@ $background-color: #21262D; } } +.side-menu { + position: absolute; + top: 0; + height: 100vh; + width: 100vw; + animation: fade 0.5s ease-in-out; + background-color: rgba(0, 0, 0, 0.5); + display: none; - - - - -// MAIN NAVBAR -.mobile-navbar { - display: flex; - position: sticky; - height: 10%; - background: #21262D; -} - -.mobile-navbar__item-container { - display: flex; - justify-content: space-between; - flex: auto; - padding-left: 2%; - padding-right: 3%; -} - -.icon-container { - display: flex; - align-items: center; - border: none; - background-color: transparent; -} - -.mobile-navbar__item-container__image { - display: flex; - align-items: center; -} - -.mobile-navbar__item-container__icons { - display: flex; - gap: 5%; -} - -.logo { - object-fit: contain; - height: 80%; + &.open { + display: block; + } } -.icon-settings { - filter: invert(100%); - height: 55%; +.options-container { + display: flex; + flex-direction: column; + gap: 20px; + padding: 0 15px; } -.icon-profile { - object-fit: contain; - height: 60%; -} +@keyframes fade { + 0% { + opacity: 0; + } + 100% { + opacity: 1; + } +} \ No newline at end of file diff --git a/src/app/components/mobile/mobile.module.ts b/src/app/components/mobile/mobile.module.ts index ba48468..0e5d7d6 100644 --- a/src/app/components/mobile/mobile.module.ts +++ b/src/app/components/mobile/mobile.module.ts @@ -6,10 +6,26 @@ import { CommonComponentsModule } from '../common/common.module'; import { TranslateModule } from '@ngx-translate/core'; import { MobileNavbarComponent } from './navbar/navbar.component'; import { MobileHeaderComponent } from './header/header.component'; +import { MobileSideMenuComponent } from './side-menu/side-menu.component'; +import { MobileTitleComponent } from './title/title.component'; @NgModule({ - declarations: [MobileLangSelectorComponent, MobileSubtitleComponent, MobileHeaderComponent, MobileNavbarComponent], - exports: [MobileLangSelectorComponent, MobileSubtitleComponent, MobileHeaderComponent, MobileNavbarComponent], + declarations: [ + MobileLangSelectorComponent, + MobileSubtitleComponent, + MobileTitleComponent, + MobileHeaderComponent, + MobileNavbarComponent, + MobileSideMenuComponent, + ], + exports: [ + MobileLangSelectorComponent, + MobileSubtitleComponent, + MobileTitleComponent, + MobileHeaderComponent, + MobileNavbarComponent, + MobileSideMenuComponent, + ], imports: [CommonModule, CommonComponentsModule, TranslateModule], }) export class MobileComponentsModule {} diff --git a/src/app/components/mobile/side-menu/side-menu.component.ts b/src/app/components/mobile/side-menu/side-menu.component.ts new file mode 100644 index 0000000..921eaec --- /dev/null +++ b/src/app/components/mobile/side-menu/side-menu.component.ts @@ -0,0 +1,30 @@ +import { Component, EventEmitter, Output } from '@angular/core'; +import { isRTL } from 'src/utils'; + +@Component({ + selector: 'app-side-menu', + templateUrl: './side-menu.html', + styleUrls: ['./side-menu.scss'], +}) +export class MobileSideMenuComponent { + private _closing = false; + + @Output() public close = new EventEmitter(); + + public triggerClose(): void { + this._closing = true; + + setTimeout(() => { + this._closing = false; + this.close.emit(); + }, 500); + } + + public get closing(): boolean { + return this._closing; + } + + public get isRTL(): boolean { + return isRTL(); + } +} diff --git a/src/app/components/mobile/side-menu/side-menu.html b/src/app/components/mobile/side-menu/side-menu.html new file mode 100644 index 0000000..cd3afe6 --- /dev/null +++ b/src/app/components/mobile/side-menu/side-menu.html @@ -0,0 +1,6 @@ +
+
+
+ +
+
\ No newline at end of file diff --git a/src/app/components/mobile/side-menu/side-menu.scss b/src/app/components/mobile/side-menu/side-menu.scss new file mode 100644 index 0000000..f21f8d3 --- /dev/null +++ b/src/app/components/mobile/side-menu/side-menu.scss @@ -0,0 +1,53 @@ +$background-color: #21262d; +$slide: slide 0.5s ease-in-out; +$slide-rtl: slide-rtl 0.5s ease-in-out; + +.side-menu { + position: fixed; + display: flex; + animation: $slide; + + > .right { + background-color: $background-color; + display: block; + width: 316px; + height: 100vh; + padding: 10px 0; + + &.closing { + animation: reverse $slide; + } + } + + > .left { + display: block; + width: calc(100vw - 316px); + height: 100vh; + } + + &.rtl { + animation: $slide-rtl; + + > .right.closing { + animation: reverse $slide-rtl; + } + } +} + +@keyframes slide { + 0% { + transform: translateX(100%); + } + 100% { + transform: translateX(0); + } +} + +@keyframes slide-rtl { + 0% { + transform: translateX(-100%); + } + 100% { + transform: translateX(0); + } +} \ No newline at end of file diff --git a/src/app/components/mobile/title/title.component.ts b/src/app/components/mobile/title/title.component.ts new file mode 100644 index 0000000..58d2efa --- /dev/null +++ b/src/app/components/mobile/title/title.component.ts @@ -0,0 +1,12 @@ +import { Component, Input } from '@angular/core'; + +@Component({ + selector: 'app-mobile-title', + templateUrl: './title.html', + styleUrls: ['./title.scss'], +}) +export class MobileTitleComponent { + @Input() public text = ''; + @Input() public onDarkBackground = false; + @Input() public isCentered = false; +} diff --git a/src/app/components/mobile/title/title.html b/src/app/components/mobile/title/title.html new file mode 100644 index 0000000..72354ba --- /dev/null +++ b/src/app/components/mobile/title/title.html @@ -0,0 +1 @@ +

{{ text }}

diff --git a/src/app/components/mobile/title/title.scss b/src/app/components/mobile/title/title.scss new file mode 100644 index 0000000..70588ce --- /dev/null +++ b/src/app/components/mobile/title/title.scss @@ -0,0 +1,21 @@ +$text-color: #000; +$dark-mode-text-color: #fff; + +h1 { + font-family: Inter, sans-serif; + font-style: normal; + font-weight: 400; + font-size: 18px; + line-height: 39px; + text-transform: uppercase; + height: 39px; + margin: 0; +} + +.dark-mode { + color: $dark-mode-text-color; +} + +.centered { + text-align: center; +} diff --git a/src/assets/i18n/en-US.json b/src/assets/i18n/en-US.json index d611f2b..44e00c9 100644 --- a/src/assets/i18n/en-US.json +++ b/src/assets/i18n/en-US.json @@ -9,6 +9,25 @@ "shop": "Shop", "events": "Events", "forum": "Forum", - "pictures": "Pictures" + "pictures": "Pictures", + "options": { + "title": "Accessibility Parameters", + "theme": { + "title": "Theme selection", + "light": "Light", + "dark": "Dark", + "auto": "Auto", + "high_contrast": "High contrast" + }, + "font_size": { + "title": "Font size", + "small": "Small", + "medium": "Medium", + "large": "Large" + }, + "accent_color": { + "title": "Accent color" + } + } } } From 222537c41d6b0f130b59633ecb451518a7d9a084 Mon Sep 17 00:00:00 2001 From: Julien Constant Date: Wed, 19 Apr 2023 21:35:12 +0200 Subject: [PATCH 017/146] Use `_` instead of `-` in filenames --- .../lang_selector.component.spec.ts} | 2 +- .../lang_selector.component.ts} | 6 +++--- .../lang_selector.html} | 0 .../lang_selector.scss} | 0 src/app/components/mobile/mobile.module.ts | 7 +++++-- .../side_menu.component.ts} | 4 ++-- .../{side-menu/side-menu.html => side_menu/side_menu.html} | 0 .../{side-menu/side-menu.scss => side_menu/side_menu.scss} | 0 8 files changed, 11 insertions(+), 8 deletions(-) rename src/app/components/mobile/{lang-selector/lang-selector.component.spec.ts => lang_selector/lang_selector.component.spec.ts} (98%) rename src/app/components/mobile/{lang-selector/lang-selector.component.ts => lang_selector/lang_selector.component.ts} (94%) rename src/app/components/mobile/{lang-selector/lang-selector.html => lang_selector/lang_selector.html} (100%) rename src/app/components/mobile/{lang-selector/lang-selector.scss => lang_selector/lang_selector.scss} (100%) rename src/app/components/mobile/{side-menu/side-menu.component.ts => side_menu/side_menu.component.ts} (88%) rename src/app/components/mobile/{side-menu/side-menu.html => side_menu/side_menu.html} (100%) rename src/app/components/mobile/{side-menu/side-menu.scss => side_menu/side_menu.scss} (100%) diff --git a/src/app/components/mobile/lang-selector/lang-selector.component.spec.ts b/src/app/components/mobile/lang_selector/lang_selector.component.spec.ts similarity index 98% rename from src/app/components/mobile/lang-selector/lang-selector.component.spec.ts rename to src/app/components/mobile/lang_selector/lang_selector.component.spec.ts index ad6cc44..e95e9b2 100644 --- a/src/app/components/mobile/lang-selector/lang-selector.component.spec.ts +++ b/src/app/components/mobile/lang_selector/lang_selector.component.spec.ts @@ -1,6 +1,6 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { TranslateModule, TranslateService } from '@ngx-translate/core'; -import { MobileLangSelectorComponent } from './lang-selector.component'; +import { MobileLangSelectorComponent } from './lang_selector.component'; import { MobileComponentsModule } from '../mobile.module'; import { ISelectOption } from '../../common/select/select.component'; import { getLanguage } from 'src/utils'; diff --git a/src/app/components/mobile/lang-selector/lang-selector.component.ts b/src/app/components/mobile/lang_selector/lang_selector.component.ts similarity index 94% rename from src/app/components/mobile/lang-selector/lang-selector.component.ts rename to src/app/components/mobile/lang_selector/lang_selector.component.ts index 9e54eeb..0845b65 100644 --- a/src/app/components/mobile/lang-selector/lang-selector.component.ts +++ b/src/app/components/mobile/lang_selector/lang_selector.component.ts @@ -5,9 +5,9 @@ import { ISelectOption } from '../../common/select/select.component'; import { Observable } from 'rxjs'; @Component({ - selector: 'sith-mobile-lang-selector', - templateUrl: './lang-selector.html', - styleUrls: ['./lang-selector.scss'], + selector: 'app-mobile-lang-selector', + templateUrl: './lang_selector.html', + styleUrls: ['./lang_selector.scss'], }) export class MobileLangSelectorComponent { public lang: string = localStorage.getItem('lang') ?? getLanguage(window.navigator.language); diff --git a/src/app/components/mobile/lang-selector/lang-selector.html b/src/app/components/mobile/lang_selector/lang_selector.html similarity index 100% rename from src/app/components/mobile/lang-selector/lang-selector.html rename to src/app/components/mobile/lang_selector/lang_selector.html diff --git a/src/app/components/mobile/lang-selector/lang-selector.scss b/src/app/components/mobile/lang_selector/lang_selector.scss similarity index 100% rename from src/app/components/mobile/lang-selector/lang-selector.scss rename to src/app/components/mobile/lang_selector/lang_selector.scss diff --git a/src/app/components/mobile/mobile.module.ts b/src/app/components/mobile/mobile.module.ts index 0e5d7d6..cfac835 100644 --- a/src/app/components/mobile/mobile.module.ts +++ b/src/app/components/mobile/mobile.module.ts @@ -1,13 +1,14 @@ import { NgModule } from '@angular/core'; -import { MobileLangSelectorComponent } from './lang-selector/lang-selector.component'; +import { MobileLangSelectorComponent } from './lang_selector/lang_selector.component'; import { MobileSubtitleComponent } from './subtitle/subtitle.component'; import { CommonModule } from '@angular/common'; import { CommonComponentsModule } from '../common/common.module'; import { TranslateModule } from '@ngx-translate/core'; import { MobileNavbarComponent } from './navbar/navbar.component'; import { MobileHeaderComponent } from './header/header.component'; -import { MobileSideMenuComponent } from './side-menu/side-menu.component'; +import { MobileSideMenuComponent } from './side_menu/side_menu.component'; import { MobileTitleComponent } from './title/title.component'; +import { MobileThemeSelectorComponent } from './theme_selector/theme_selector.component'; @NgModule({ declarations: [ @@ -17,6 +18,7 @@ import { MobileTitleComponent } from './title/title.component'; MobileHeaderComponent, MobileNavbarComponent, MobileSideMenuComponent, + MobileThemeSelectorComponent, ], exports: [ MobileLangSelectorComponent, @@ -25,6 +27,7 @@ import { MobileTitleComponent } from './title/title.component'; MobileHeaderComponent, MobileNavbarComponent, MobileSideMenuComponent, + MobileThemeSelectorComponent, ], imports: [CommonModule, CommonComponentsModule, TranslateModule], }) diff --git a/src/app/components/mobile/side-menu/side-menu.component.ts b/src/app/components/mobile/side_menu/side_menu.component.ts similarity index 88% rename from src/app/components/mobile/side-menu/side-menu.component.ts rename to src/app/components/mobile/side_menu/side_menu.component.ts index 921eaec..4ee65b1 100644 --- a/src/app/components/mobile/side-menu/side-menu.component.ts +++ b/src/app/components/mobile/side_menu/side_menu.component.ts @@ -3,8 +3,8 @@ import { isRTL } from 'src/utils'; @Component({ selector: 'app-side-menu', - templateUrl: './side-menu.html', - styleUrls: ['./side-menu.scss'], + templateUrl: './side_menu.html', + styleUrls: ['./side_menu.scss'], }) export class MobileSideMenuComponent { private _closing = false; diff --git a/src/app/components/mobile/side-menu/side-menu.html b/src/app/components/mobile/side_menu/side_menu.html similarity index 100% rename from src/app/components/mobile/side-menu/side-menu.html rename to src/app/components/mobile/side_menu/side_menu.html diff --git a/src/app/components/mobile/side-menu/side-menu.scss b/src/app/components/mobile/side_menu/side_menu.scss similarity index 100% rename from src/app/components/mobile/side-menu/side-menu.scss rename to src/app/components/mobile/side_menu/side_menu.scss From cffc47cd68d9bdd96933893f549d0faa7dd85a9d Mon Sep 17 00:00:00 2001 From: Julien Constant Date: Wed, 19 Apr 2023 23:52:33 +0200 Subject: [PATCH 018/146] Add theme support #2 --- src/app/app.component.ts | 7 +++ src/app/components/desktop/header/header.scss | 10 ++- src/app/components/desktop/navbar/navbar.scss | 6 +- src/app/components/mobile/header/header.html | 9 +-- src/app/components/mobile/header/header.scss | 8 +-- src/app/components/mobile/navbar/navbar.scss | 5 +- .../mobile/side_menu/side_menu.scss | 2 +- .../theme_selector.component.ts | 38 ++++++++++++ .../mobile/theme_selector/theme_selector.html | 7 +++ .../mobile/theme_selector/theme_selector.scss | 41 +++++++++++++ src/app/components/mobile/title/title.scss | 6 +- src/app/styles/themes.scss | 57 ++++++++++++++++++ src/assets/logo_ae.webp | Bin 2054 -> 17770 bytes src/utils/theme.ts | 29 +++++++++ 14 files changed, 196 insertions(+), 29 deletions(-) create mode 100644 src/app/components/mobile/theme_selector/theme_selector.component.ts create mode 100644 src/app/components/mobile/theme_selector/theme_selector.html create mode 100644 src/app/components/mobile/theme_selector/theme_selector.scss create mode 100644 src/app/styles/themes.scss create mode 100644 src/utils/theme.ts diff --git a/src/app/app.component.ts b/src/app/app.component.ts index 7717486..91de620 100644 --- a/src/app/app.component.ts +++ b/src/app/app.component.ts @@ -2,6 +2,7 @@ import { Component, Inject, OnInit } from '@angular/core'; import { DOCUMENT } from '@angular/common'; import { TranslateService } from '@ngx-translate/core'; import { getLanguage, getLanguageDirection } from 'src/utils'; +import { getTheme, setTheme, watchAutoTheme } from 'src/utils/theme'; @Component({ selector: 'app-root', @@ -18,6 +19,7 @@ export class AppComponent implements OnInit { public ngOnInit(): void { this.detectLanguage(); + this.detectTheme(); } /** @@ -34,4 +36,9 @@ export class AppComponent implements OnInit { this.translate.currentLang = lang; // because ngx-translate doesn't set it automatically localStorage.setItem('lang', lang); } + + public detectTheme(): void { + watchAutoTheme(); + setTheme(getTheme()); + } } diff --git a/src/app/components/desktop/header/header.scss b/src/app/components/desktop/header/header.scss index 0a73991..ab6f83f 100644 --- a/src/app/components/desktop/header/header.scss +++ b/src/app/components/desktop/header/header.scss @@ -1,10 +1,8 @@ -$background-color: #21262D; - .header { display: flex; justify-content: space-between; align-items: center; - background-color: $background-color; + background-color: var(--gray3); height: 70px; padding-left: 10px; @@ -20,7 +18,7 @@ $background-color: #21262D; } > .text { - color: white; + color: var(--text-color-dark-bg); display: flex; flex-direction: column; font-family: Roboto; @@ -38,7 +36,7 @@ $background-color: #21262D; > .icons { display: flex; - fill: white; + fill: var(--text-color-dark-bg); align-items: center; gap: 16px; padding: 0 16px; @@ -47,7 +45,7 @@ $background-color: #21262D; cursor: pointer; width: 32px; height: 32px; - fill: white; + fill: var(--text-color-dark-bg); &.search { width: 22px; diff --git a/src/app/components/desktop/navbar/navbar.scss b/src/app/components/desktop/navbar/navbar.scss index 398b1e1..e17533e 100644 --- a/src/app/components/desktop/navbar/navbar.scss +++ b/src/app/components/desktop/navbar/navbar.scss @@ -1,12 +1,10 @@ -$background-color: #c6cdd5; - .navbar { width: 100%; display: flex; flex-direction: row; align-items: center; justify-content: center; - background-color: $background-color; + background-color: var(--gray1); height: 40px; gap: 40px; border-radius: 5px; @@ -23,12 +21,14 @@ $background-color: #c6cdd5; display: flex; align-items: center; justify-content: center; + fill: var(--text-color-dynamic); } > span { text-transform: uppercase; font-family: Roboto; font-size: 12px; + color: var(--text-color-dynamic); } } } \ No newline at end of file diff --git a/src/app/components/mobile/header/header.html b/src/app/components/mobile/header/header.html index 1dd7dab..f3249db 100644 --- a/src/app/components/mobile/header/header.html +++ b/src/app/components/mobile/header/header.html @@ -13,13 +13,8 @@
- - -
- -
- - + +
diff --git a/src/app/components/mobile/header/header.scss b/src/app/components/mobile/header/header.scss index 3867c9a..c9fba70 100644 --- a/src/app/components/mobile/header/header.scss +++ b/src/app/components/mobile/header/header.scss @@ -1,7 +1,5 @@ -$background-color: #21262d; - .header { - background-color: $background-color; + background-color: var(--gray3); display: flex; align-items: center; justify-content: space-between; @@ -21,7 +19,7 @@ $background-color: #21262d; > * { width: 32px; height: 32px; - fill: white; + fill: var(--text-color-dark-bg); } } } @@ -35,7 +33,7 @@ $background-color: #21262d; animation: fade 0.5s ease-in-out; - background-color: rgba(0, 0, 0, 0.5); + background-color: var(--darkened); display: none; &.open { diff --git a/src/app/components/mobile/navbar/navbar.scss b/src/app/components/mobile/navbar/navbar.scss index 86dcb0c..51f5be8 100644 --- a/src/app/components/mobile/navbar/navbar.scss +++ b/src/app/components/mobile/navbar/navbar.scss @@ -1,8 +1,6 @@ -$background-color: #c6cdd5; - .navbar { height: 40px; - background-color: $background-color; + background-color: var(--gray1); display: flex; justify-content: space-between; @@ -29,6 +27,7 @@ $background-color: #c6cdd5; display: flex; align-items: center; justify-content: center; + fill: var(--text-color-dynamic); } } } \ No newline at end of file diff --git a/src/app/components/mobile/side_menu/side_menu.scss b/src/app/components/mobile/side_menu/side_menu.scss index f21f8d3..22be492 100644 --- a/src/app/components/mobile/side_menu/side_menu.scss +++ b/src/app/components/mobile/side_menu/side_menu.scss @@ -8,7 +8,7 @@ $slide-rtl: slide-rtl 0.5s ease-in-out; animation: $slide; > .right { - background-color: $background-color; + background-color: var(--gray3); display: block; width: 316px; height: 100vh; diff --git a/src/app/components/mobile/theme_selector/theme_selector.component.ts b/src/app/components/mobile/theme_selector/theme_selector.component.ts new file mode 100644 index 0000000..83ea8c1 --- /dev/null +++ b/src/app/components/mobile/theme_selector/theme_selector.component.ts @@ -0,0 +1,38 @@ +import { Component, Inject } from '@angular/core'; +import { TranslateService } from '@ngx-translate/core'; +import { Theme, getTheme, setTheme } from 'src/utils/theme'; + +export interface ITheme { + name: string; + value: Theme; +} + +@Component({ + selector: 'app-mobile-theme-selector', + templateUrl: './theme_selector.html', + styleUrls: ['./theme_selector.scss'], +}) +export class MobileThemeSelectorComponent { + public themes: ITheme[] = [ + { name: 'navbar.options.theme.light', value: 'light' }, + { name: 'navbar.options.theme.dark', value: 'dark' }, + { name: 'navbar.options.theme.auto', value: 'auto' }, + { name: 'navbar.options.theme.high_contrast', value: 'high_contrast' }, + ]; + + public constructor(@Inject(TranslateService) public readonly translate: TranslateService) {} + + public ngOnInit(): void { + this.themes.forEach((theme) => { + this.translate.get(theme.name).subscribe((name) => (theme.name = name)); + }); + } + + public set theme(theme: Theme) { + setTheme(theme); + } + + public get theme(): Theme { + return getTheme(); + } +} diff --git a/src/app/components/mobile/theme_selector/theme_selector.html b/src/app/components/mobile/theme_selector/theme_selector.html new file mode 100644 index 0000000..bdc52e0 --- /dev/null +++ b/src/app/components/mobile/theme_selector/theme_selector.html @@ -0,0 +1,7 @@ + +
    +
  • +
    + {{ t.name }} +
  • +
\ No newline at end of file diff --git a/src/app/components/mobile/theme_selector/theme_selector.scss b/src/app/components/mobile/theme_selector/theme_selector.scss new file mode 100644 index 0000000..178f39b --- /dev/null +++ b/src/app/components/mobile/theme_selector/theme_selector.scss @@ -0,0 +1,41 @@ +.themes { + padding: 0; + margin: 0; + margin-top: 10px; + display: flex; + flex-direction: column; + gap: 5px; + + > li { + display: flex; + align-items: center; + gap: 15px; + + .selector { + background-color: white; + border-radius: 50%; + width: 10px; + height: 10px; + display: flex; + align-items: center; + justify-content: center; + } + + &.selected { + > .selector::before { + content: ''; + display: block; + border-radius: 50%; + background-color: var(--user-custom-color); + width: 8px; + height: 8px; + } + } + + span { + font-family: Inter; + font-size: 12px; + color: var(--text-color-dark-bg); + } + } +} \ No newline at end of file diff --git a/src/app/components/mobile/title/title.scss b/src/app/components/mobile/title/title.scss index 70588ce..0551367 100644 --- a/src/app/components/mobile/title/title.scss +++ b/src/app/components/mobile/title/title.scss @@ -1,6 +1,3 @@ -$text-color: #000; -$dark-mode-text-color: #fff; - h1 { font-family: Inter, sans-serif; font-style: normal; @@ -10,10 +7,11 @@ h1 { text-transform: uppercase; height: 39px; margin: 0; + color: var(--text-color); } .dark-mode { - color: $dark-mode-text-color; + color: var(--text-color-dark-bg); } .centered { diff --git a/src/app/styles/themes.scss b/src/app/styles/themes.scss new file mode 100644 index 0000000..48fc64b --- /dev/null +++ b/src/app/styles/themes.scss @@ -0,0 +1,57 @@ +:root { + --text-color: #000; + --text-color-dark-bg: #ddd; + + --darkened: rgba(0, 0, 0, 0.5); +} + +:root[data-theme=light] { + --background-color: #ecf2f8; + --red: #ff1a0a; + --orange: #faa356; + --green: #7ce38b; + --blue: #78c1ff; + --dark-blue: #7597d1; + --purple: #cea5fb; + + --gray4: #161b22; + --gray3: #21262d; + --gray2: #a5afb9; + --gray1: #c6cdd5; + + --text-color-dynamic: #000; +} + +:root[data-theme=dark] { + --background-color: #0d1117; + --red: #aa3028; + --orange: #e27c22; + --green: #2d8655; + --blue: #107b82; + --dark-blue: #3592e4; + --purple: #cea5fb; + + --gray4: #12161d; + --gray3: #161b22; + --gray2: #1c2128; + --gray1: #21262d; + + --text-color-dynamic: #fff; +} + +:root[data-theme=high_contrast] { + --background-color: #000; + --red: #f00; + --orange: #ffa500; + --green: #0f0; + --blue: #deff00; + --dark-blue: #deff00; + --purple: #f33bee; + + --gray4: #000; + --gray3: #111; + --gray2: #222; + --gray1: #333; + + --text-color-dynamic: #fff; +} \ No newline at end of file diff --git a/src/assets/logo_ae.webp b/src/assets/logo_ae.webp index eebe9b56adafe8f2a0fafbe26dffc709c4e2a4f5..774aa0832ab3dbc78550f15d59584f5eadde09e7 100644 GIT binary patch literal 17770 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 diff --git a/src/utils/theme.ts b/src/utils/theme.ts new file mode 100644 index 0000000..069fedd --- /dev/null +++ b/src/utils/theme.ts @@ -0,0 +1,29 @@ +export type Theme = 'light' | 'dark' | 'auto' | 'high_contrast'; + +export const getTheme = (): Theme => { + return (localStorage.getItem('theme') ?? 'auto') as Theme; +}; + +export const setTheme = (theme: Theme): void => { + localStorage.setItem('theme', theme); + + if (theme !== 'auto') document.documentElement.setAttribute('data-theme', theme); + else { + const prefersDark: boolean = window.matchMedia('(prefers-color-scheme: dark)').matches; + + if (prefersDark) document.documentElement.setAttribute('data-theme', 'dark'); + else document.documentElement.setAttribute('data-theme', 'light'); + } +}; + +export const watchAutoTheme = (): void => { + window.matchMedia('(prefers-color-scheme: dark)').onchange = (event) => { + if (getTheme() !== 'auto' || !event.matches) return; + document.documentElement.setAttribute('data-theme', 'dark'); + }; + + window.matchMedia('(prefers-color-scheme: light)').onchange = (event) => { + if (getTheme() !== 'auto' || !event.matches) return; + document.documentElement.setAttribute('data-theme', 'light'); + }; +}; From 77675fe8050e32d5a7bcd5ebe888b7a361eff570 Mon Sep 17 00:00:00 2001 From: Julien Constant Date: Thu, 20 Apr 2023 02:59:24 +0200 Subject: [PATCH 019/146] Added events themed --- .vscode/settings.json | 2 + .../common/icons/user_icon/user_icon.html | 21 ++------ .../common/icons/user_icon/user_icon.scss | 18 ++++--- .../desktop/header/header.component.ts | 14 +++++- src/app/components/desktop/header/header.html | 2 +- src/app/components/desktop/header/header.scss | 10 ++-- .../mobile/header/header.component.ts | 16 ++++++ src/app/components/mobile/header/header.html | 2 +- src/app/components/mobile/header/header.scss | 4 +- .../theme_selector.component.ts | 46 ++++++++++++++---- .../mobile/theme_selector/theme_selector.html | 13 ++++- .../mobile/theme_selector/theme_selector.scss | 10 +++- src/app/styles/themes.scss | 45 +++++++++++++++++ src/assets/i18n/en-US.json | 6 ++- src/assets/logo_ae_christmas.webp | Bin 0 -> 27946 bytes src/assets/logo_ae_pinktober.webp | Bin 0 -> 13850 bytes src/utils/index.ts | 1 + src/utils/theme.ts | 15 ++++++ 18 files changed, 180 insertions(+), 45 deletions(-) create mode 100644 src/assets/logo_ae_christmas.webp create mode 100644 src/assets/logo_ae_pinktober.webp diff --git a/.vscode/settings.json b/.vscode/settings.json index 5935eb0..620c598 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -9,6 +9,8 @@ "**/node_modules": true }, "cSpell.words": [ + "christmas", + "pinktober", "sith", "stylelint", "truetype" diff --git a/src/app/components/common/icons/user_icon/user_icon.html b/src/app/components/common/icons/user_icon/user_icon.html index 38a22fb..a018b16 100644 --- a/src/app/components/common/icons/user_icon/user_icon.html +++ b/src/app/components/common/icons/user_icon/user_icon.html @@ -3,23 +3,10 @@ user_profile_picture
- - - - - - - - - - - + + + +
diff --git a/src/app/components/common/icons/user_icon/user_icon.scss b/src/app/components/common/icons/user_icon/user_icon.scss index 19748a3..c05eaa9 100644 --- a/src/app/components/common/icons/user_icon/user_icon.scss +++ b/src/app/components/common/icons/user_icon/user_icon.scss @@ -1,6 +1,3 @@ -$color-red: #ff1a0a; -$white: #fff; - .icon { position: relative; @@ -15,6 +12,15 @@ $white: #fff; height: 100%; border-radius: 50%; } + + > svg { + .light { + fill: var(--navbar-user-icon-light-color); + } + .dark { + fill: var(--navbar-user-icon-dark-color); + } + } } > .notification { @@ -25,8 +31,8 @@ $white: #fff; min-width: 16px; height: 16px; - color: $white; - background-color: $color-red; + color: var(--text-color-dark-bg); + background-color: var(--red); border-radius: 50%; font-family: Roboto; font-size: 12px; @@ -37,7 +43,7 @@ $white: #fff; > span { display: block; - background-color: $white; + background-color: var(--text-color-dark-bg); width: 100%; height: 100%; border-radius: 50%; diff --git a/src/app/components/desktop/header/header.component.ts b/src/app/components/desktop/header/header.component.ts index 7d849d0..ad23739 100644 --- a/src/app/components/desktop/header/header.component.ts +++ b/src/app/components/desktop/header/header.component.ts @@ -1,8 +1,20 @@ import { Component } from '@angular/core'; +import { getThemeEvent } from 'src/utils'; @Component({ selector: 'app-desktop-header', templateUrl: './header.html', styleUrls: ['./header.scss'], }) -export class DesktopHeaderComponent {} +export class DesktopHeaderComponent { + public get logo(): string { + switch (getThemeEvent()) { + case 'christmas': + return 'assets/logo_ae_christmas.webp'; + case 'pinktober': + return 'assets/logo_ae_pinktober.webp'; + default: + return 'assets/logo_ae.webp'; + } + } +} diff --git a/src/app/components/desktop/header/header.html b/src/app/components/desktop/header/header.html index 162c878..f143855 100644 --- a/src/app/components/desktop/header/header.html +++ b/src/app/components/desktop/header/header.html @@ -1,6 +1,6 @@
- +
Association des Étudiants de l'université de technologie de Belfort-Montbéliard diff --git a/src/app/components/desktop/header/header.scss b/src/app/components/desktop/header/header.scss index ab6f83f..32500ae 100644 --- a/src/app/components/desktop/header/header.scss +++ b/src/app/components/desktop/header/header.scss @@ -2,7 +2,7 @@ display: flex; justify-content: space-between; align-items: center; - background-color: var(--gray3); + background-color: var(--navbar-background-color); height: 70px; padding-left: 10px; @@ -18,10 +18,12 @@ } > .text { - color: var(--text-color-dark-bg); + color: var(--navbar-text-color); display: flex; flex-direction: column; font-family: Roboto; + font-weight: 500; + margin-bottom: 5px; > .big { font-size: 20px; @@ -36,7 +38,7 @@ > .icons { display: flex; - fill: var(--text-color-dark-bg); + fill: var(--navbar-text-color); align-items: center; gap: 16px; padding: 0 16px; @@ -45,7 +47,7 @@ cursor: pointer; width: 32px; height: 32px; - fill: var(--text-color-dark-bg); + fill: var(--navbar-text-color); &.search { width: 22px; diff --git a/src/app/components/mobile/header/header.component.ts b/src/app/components/mobile/header/header.component.ts index a59ca18..6734e5a 100644 --- a/src/app/components/mobile/header/header.component.ts +++ b/src/app/components/mobile/header/header.component.ts @@ -1,4 +1,5 @@ import { Component } from '@angular/core'; +import { ThemeEvent, getThemeEvent } from 'src/utils'; @Component({ selector: 'app-mobile-header', @@ -16,4 +17,19 @@ export class MobileHeaderComponent { public triggerSideMenuOptions(): void { this.optionsOpened = !this.optionsOpened; } + + public get logo(): string { + switch (this.eventTheme) { + case 'christmas': + return 'assets/logo_ae_christmas.webp'; + case 'pinktober': + return 'assets/logo_ae_pinktober.webp'; + default: + return 'assets/logo_ae.webp'; + } + } + + public get eventTheme(): ThemeEvent | null { + return getThemeEvent(); + } } diff --git a/src/app/components/mobile/header/header.html b/src/app/components/mobile/header/header.html index f3249db..432106d 100644 --- a/src/app/components/mobile/header/header.html +++ b/src/app/components/mobile/header/header.html @@ -1,5 +1,5 @@
- +
diff --git a/src/app/components/mobile/header/header.scss b/src/app/components/mobile/header/header.scss index c9fba70..5d0c27b 100644 --- a/src/app/components/mobile/header/header.scss +++ b/src/app/components/mobile/header/header.scss @@ -1,5 +1,5 @@ .header { - background-color: var(--gray3); + background-color: var(--navbar-background-color); display: flex; align-items: center; justify-content: space-between; @@ -19,7 +19,7 @@ > * { width: 32px; height: 32px; - fill: var(--text-color-dark-bg); + fill: var(--navbar-text-color); } } } diff --git a/src/app/components/mobile/theme_selector/theme_selector.component.ts b/src/app/components/mobile/theme_selector/theme_selector.component.ts index 83ea8c1..0f58865 100644 --- a/src/app/components/mobile/theme_selector/theme_selector.component.ts +++ b/src/app/components/mobile/theme_selector/theme_selector.component.ts @@ -1,10 +1,10 @@ import { Component, Inject } from '@angular/core'; import { TranslateService } from '@ngx-translate/core'; -import { Theme, getTheme, setTheme } from 'src/utils/theme'; +import { Theme, ThemeEvent, getTheme, getThemeEvent, setTheme, setThemeEvent } from 'src/utils'; -export interface ITheme { +export interface ITheme { name: string; - value: Theme; + value: T; } @Component({ @@ -13,19 +13,39 @@ export interface ITheme { styleUrls: ['./theme_selector.scss'], }) export class MobileThemeSelectorComponent { - public themes: ITheme[] = [ - { name: 'navbar.options.theme.light', value: 'light' }, - { name: 'navbar.options.theme.dark', value: 'dark' }, - { name: 'navbar.options.theme.auto', value: 'auto' }, - { name: 'navbar.options.theme.high_contrast', value: 'high_contrast' }, + public themes: ITheme[] = [ + { name: 'navbar.options.themes.light', value: 'light' }, + { name: 'navbar.options.themes.dark', value: 'dark' }, + { name: 'navbar.options.themes.auto', value: 'auto' }, + { name: 'navbar.options.themes.high_contrast', value: 'high_contrast' }, ]; - public constructor(@Inject(TranslateService) public readonly translate: TranslateService) {} + public eventThemes: ITheme[] = []; + + public constructor(@Inject(TranslateService) public readonly translate: TranslateService) { + const now = new Date(); + + switch (now.getMonth()) { + case 11: + this.eventThemes.push({ name: 'navbar.options.event_themes.christmas', value: 'christmas' }); + if (this.eventTheme === null) this.eventTheme = 'christmas'; + break; + case 9: + this.eventThemes.push({ name: 'navbar.options.event_themes.pinktober', value: 'pinktober' }); + if (this.eventTheme === null) this.eventTheme = 'pinktober'; + break; + default: + this.eventTheme = null; + } + } public ngOnInit(): void { this.themes.forEach((theme) => { this.translate.get(theme.name).subscribe((name) => (theme.name = name)); }); + this.eventThemes.forEach((theme) => { + this.translate.get(theme.name).subscribe((name) => (theme.name = name)); + }); } public set theme(theme: Theme) { @@ -35,4 +55,12 @@ export class MobileThemeSelectorComponent { public get theme(): Theme { return getTheme(); } + + public set eventTheme(theme: ThemeEvent | null) { + setThemeEvent(this.eventTheme === theme ? 'unset' : theme); + } + + public get eventTheme(): ThemeEvent | null { + return getThemeEvent(); + } } diff --git a/src/app/components/mobile/theme_selector/theme_selector.html b/src/app/components/mobile/theme_selector/theme_selector.html index bdc52e0..7314e18 100644 --- a/src/app/components/mobile/theme_selector/theme_selector.html +++ b/src/app/components/mobile/theme_selector/theme_selector.html @@ -1,7 +1,16 @@ - +
  • {{ t.name }}
  • -
\ No newline at end of file + + +
+
    +
  • +
    + {{ t.name }} +
  • +
+
\ No newline at end of file diff --git a/src/app/components/mobile/theme_selector/theme_selector.scss b/src/app/components/mobile/theme_selector/theme_selector.scss index 178f39b..f42ddfb 100644 --- a/src/app/components/mobile/theme_selector/theme_selector.scss +++ b/src/app/components/mobile/theme_selector/theme_selector.scss @@ -4,12 +4,12 @@ margin-top: 10px; display: flex; flex-direction: column; - gap: 5px; > li { display: flex; align-items: center; gap: 15px; + height: 20px; .selector { background-color: white; @@ -19,6 +19,10 @@ display: flex; align-items: center; justify-content: center; + + &.square { + border-radius: 0; + } } &.selected { @@ -30,6 +34,10 @@ width: 8px; height: 8px; } + + > .selector.square::before { + border-radius: 0; + } } span { diff --git a/src/app/styles/themes.scss b/src/app/styles/themes.scss index 48fc64b..5638626 100644 --- a/src/app/styles/themes.scss +++ b/src/app/styles/themes.scss @@ -3,6 +3,11 @@ --text-color-dark-bg: #ddd; --darkened: rgba(0, 0, 0, 0.5); + --navbar-background-color: var(--gray4); + --navbar-text-color: var(--text-color-dark-bg); + + --navbar-user-icon-light-color: #c6cdd5; + --navbar-user-icon-dark-color: var(--gray3-hover); } :root[data-theme=light] { @@ -14,11 +19,18 @@ --dark-blue: #7597d1; --purple: #cea5fb; + --purple-hover: #cea5fb80; + --gray4: #161b22; --gray3: #21262d; --gray2: #a5afb9; --gray1: #c6cdd5; + --gray4-hover: #161b2280; + --gray3-hover: #21262d80; + --gray2-hover: #a5afb980; + --gray1-hover: #c6cdd580; + --text-color-dynamic: #000; } @@ -31,14 +43,37 @@ --dark-blue: #3592e4; --purple: #cea5fb; + --purple-hover: #cea5fb80; + --gray4: #12161d; --gray3: #161b22; --gray2: #1c2128; --gray1: #21262d; + --gray4-hover: #12161d80; + --gray3-hover: #161b2280; + --gray2-hover: #1c212880; + --gray1-hover: #21262d80; + --text-color-dynamic: #fff; } +:root[data-event-theme=pinktober] { + --navbar-background-color: #e891dc; + --navbar-text-color: #400547; + + --navbar-user-icon-light-color: #400547; + --navbar-user-icon-dark-color: var(--purple-hover); +} + +:root[data-event-theme=christmas] { + --navbar-background-color: #095228; + --navbar-text-color: #002111; + + --navbar-user-icon-light-color: #002111; + --navbar-user-icon-dark-color: #095228; +} + :root[data-theme=high_contrast] { --background-color: #000; --red: #f00; @@ -53,5 +88,15 @@ --gray2: #222; --gray1: #333; + --gray4-hover: #00000080; + --gray3-hover: #11111180; + --gray2-hover: #22222280; + --gray1-hover: #33333380; + --text-color-dynamic: #fff; + --navbar-background-color: var(--gray4); + --navbar-text-color: var(--text-color-dark-bg); + + --navbar-user-icon-light-color: var(--text-color-dark-bg); + --navbar-user-icon-dark-color: var(--gray1); } \ No newline at end of file diff --git a/src/assets/i18n/en-US.json b/src/assets/i18n/en-US.json index 44e00c9..9f8dacc 100644 --- a/src/assets/i18n/en-US.json +++ b/src/assets/i18n/en-US.json @@ -12,13 +12,17 @@ "pictures": "Pictures", "options": { "title": "Accessibility Parameters", - "theme": { + "themes": { "title": "Theme selection", "light": "Light", "dark": "Dark", "auto": "Auto", "high_contrast": "High contrast" }, + "event_themes": { + "pinktober": "Pinktober", + "christmas": "Christmas" + }, "font_size": { "title": "Font size", "small": "Small", diff --git a/src/assets/logo_ae_christmas.webp b/src/assets/logo_ae_christmas.webp new file mode 100644 index 0000000000000000000000000000000000000000..d1380e1553d207095032b0f1829f2b0974d01586 GIT binary patch literal 27946 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 literal 0 HcmV?d00001 diff --git a/src/assets/logo_ae_pinktober.webp b/src/assets/logo_ae_pinktober.webp new file mode 100644 index 0000000000000000000000000000000000000000..506b35a38e841d90327c7bcc75fde11c98262a2c GIT binary patch literal 13850 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 literal 0 HcmV?d00001 diff --git a/src/utils/index.ts b/src/utils/index.ts index 1061599..f3d1972 100644 --- a/src/utils/index.ts +++ b/src/utils/index.ts @@ -1,3 +1,4 @@ export * from './i18n'; export * from './object'; export * from './document'; +export * from './theme'; diff --git a/src/utils/theme.ts b/src/utils/theme.ts index 069fedd..be60b20 100644 --- a/src/utils/theme.ts +++ b/src/utils/theme.ts @@ -1,4 +1,5 @@ export type Theme = 'light' | 'dark' | 'auto' | 'high_contrast'; +export type ThemeEvent = 'unset' | 'pinktober' | 'christmas'; export const getTheme = (): Theme => { return (localStorage.getItem('theme') ?? 'auto') as Theme; @@ -16,6 +17,20 @@ export const setTheme = (theme: Theme): void => { } }; +export const getThemeEvent = (): ThemeEvent | null => { + return localStorage.getItem('themeEvent') as ThemeEvent | null; +}; + +export const setThemeEvent = (theme: ThemeEvent | null): void => { + if (theme === null) { + localStorage.removeItem('themeEvent'); + document.documentElement.removeAttribute('data-event-theme'); + } else { + localStorage.setItem('themeEvent', theme); + document.documentElement.setAttribute('data-event-theme', theme); + } +}; + export const watchAutoTheme = (): void => { window.matchMedia('(prefers-color-scheme: dark)').onchange = (event) => { if (getTheme() !== 'auto' || !event.matches) return; From 17054b2a33f8a5f562710207d739970a082c3c45 Mon Sep 17 00:00:00 2001 From: Julien Constant Date: Thu, 20 Apr 2023 03:48:20 +0200 Subject: [PATCH 020/146] Started working on user side menu --- .../components/common/icons/icons.module.ts | 6 ++ .../icons/payments/payments.component.ts | 8 ++ .../common/icons/payments/payments.svg | 1 + .../common/icons/person/person.component.ts | 8 ++ .../components/common/icons/person/person.svg | 1 + .../mobile/header/header.component.ts | 9 +- src/app/components/mobile/header/header.html | 41 ++++++-- src/app/components/mobile/header/header.scss | 97 ++++++++++++++++++- .../mobile/side_menu/side_menu.scss | 1 - .../theme_selector.component.ts | 12 +-- .../mobile/theme_selector/theme_selector.html | 2 +- src/assets/i18n/en-US.json | 9 +- 12 files changed, 175 insertions(+), 20 deletions(-) create mode 100644 src/app/components/common/icons/payments/payments.component.ts create mode 100644 src/app/components/common/icons/payments/payments.svg create mode 100644 src/app/components/common/icons/person/person.component.ts create mode 100644 src/app/components/common/icons/person/person.svg diff --git a/src/app/components/common/icons/icons.module.ts b/src/app/components/common/icons/icons.module.ts index d2700e5..eac00cd 100644 --- a/src/app/components/common/icons/icons.module.ts +++ b/src/app/components/common/icons/icons.module.ts @@ -13,6 +13,8 @@ import { IconSearchComponent } from './search/search.component'; import { IconShoppingBasketComponent } from './shopping_basket/shopping_basket.component'; import { IconShoppingCartComponent } from './shopping_cart/shopping_cart.component'; import { CommonModule } from '@angular/common'; +import { IconPersonComponent } from './person/person.component'; +import { IconPaymentsComponent } from './payments/payments.component'; @NgModule({ declarations: [ @@ -29,6 +31,8 @@ import { CommonModule } from '@angular/common'; IconSearchComponent, IconShoppingBasketComponent, IconShoppingCartComponent, + IconPersonComponent, + IconPaymentsComponent, ], exports: [ IconBurgerMenuComponent, @@ -44,6 +48,8 @@ import { CommonModule } from '@angular/common'; IconSearchComponent, IconShoppingBasketComponent, IconShoppingCartComponent, + IconPersonComponent, + IconPaymentsComponent, ], imports: [CommonModule], }) diff --git a/src/app/components/common/icons/payments/payments.component.ts b/src/app/components/common/icons/payments/payments.component.ts new file mode 100644 index 0000000..c4239b8 --- /dev/null +++ b/src/app/components/common/icons/payments/payments.component.ts @@ -0,0 +1,8 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'icon-payments', + templateUrl: './payments.svg', + styleUrls: ['../icons.scss'], +}) +export class IconPaymentsComponent {} diff --git a/src/app/components/common/icons/payments/payments.svg b/src/app/components/common/icons/payments/payments.svg new file mode 100644 index 0000000..49cb646 --- /dev/null +++ b/src/app/components/common/icons/payments/payments.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/app/components/common/icons/person/person.component.ts b/src/app/components/common/icons/person/person.component.ts new file mode 100644 index 0000000..95d1770 --- /dev/null +++ b/src/app/components/common/icons/person/person.component.ts @@ -0,0 +1,8 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'icon-person', + templateUrl: './person.svg', + styleUrls: ['../icons.scss'], +}) +export class IconPersonComponent {} diff --git a/src/app/components/common/icons/person/person.svg b/src/app/components/common/icons/person/person.svg new file mode 100644 index 0000000..23f87b9 --- /dev/null +++ b/src/app/components/common/icons/person/person.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/app/components/mobile/header/header.component.ts b/src/app/components/mobile/header/header.component.ts index 6734e5a..60f0902 100644 --- a/src/app/components/mobile/header/header.component.ts +++ b/src/app/components/mobile/header/header.component.ts @@ -1,4 +1,5 @@ -import { Component } from '@angular/core'; +import { Component, Inject } from '@angular/core'; +import { TranslateService } from '@ngx-translate/core'; import { ThemeEvent, getThemeEvent } from 'src/utils'; @Component({ @@ -7,11 +8,11 @@ import { ThemeEvent, getThemeEvent } from 'src/utils'; styleUrls: ['./header.scss'], }) export class MobileHeaderComponent { - public profilOpened = false; + public profileOpened = false; public optionsOpened = false; - public triggerSideMenuProfil(): void { - this.profilOpened = !this.profilOpened; + public triggerSideMenuProfile(): void { + this.profileOpened = !this.profileOpened; } public triggerSideMenuOptions(): void { diff --git a/src/app/components/mobile/header/header.html b/src/app/components/mobile/header/header.html index 432106d..387d111 100644 --- a/src/app/components/mobile/header/header.html +++ b/src/app/components/mobile/header/header.html @@ -2,28 +2,57 @@
- +
- - test 1 + +
+
+
+
+
+ +
+
+ NAME first_name + 0 € +
+ 12345A +
+
+ +
+
- +
- +
- +
diff --git a/src/app/components/mobile/header/header.scss b/src/app/components/mobile/header/header.scss index 5d0c27b..6335a72 100644 --- a/src/app/components/mobile/header/header.scss +++ b/src/app/components/mobile/header/header.scss @@ -45,7 +45,102 @@ display: flex; flex-direction: column; gap: 20px; - padding: 0 15px; + padding: 10px 15px; +} + +.profile-container { + position: relative; + height: 100%; + + > .background-image { + width: 100%; + height: 136px; + background-color: var(--navbar-background-color); + display: flex; + align-items: flex-end; + justify-content: flex-end; + padding: 5px; + gap: 5px; + + > .promotion { + width: 34px; + border-radius: 50%; + } + + > .ae-sticker { + width: 51px; + border-radius: 5px; + } + + > .promotion, + > .ae-sticker { + display: block; + height: 34px; + border: dotted 2px var(--text-color-dark-bg); + } + } + + > .infos { + margin-left: 110px; + color: var(--text-color-dark-bg); + display: flex; + justify-content: space-between; + align-items: flex-start; + padding: 5px; + padding-left: 0; + min-height: 50px; + font-family: Roboto; + font-weight: 500; + font-size: 14px; + + > .left { + display: flex; + flex-direction: column; + } + } + + > .user-picture { + position: absolute; + width: 100px; + height: 100px; + left: 5px; + top: calc(136px - 50px); + } + + > main { + margin: 16px; + height: 100%; + + .links { + display: flex; + background-color: var(--gray4); + height: 30px; + padding: 5px 10px; + align-items: center; + justify-content: space-evenly; + border-radius: 5px; + + > li { + display: flex; + align-items: center; + gap: 5px; + + > .icon { + width: 16px; + height: 16px; + fill: var(--text-color-dark-bg); + } + + span { + color: var(--text-color-dark-bg); + font-family: Roboto; + font-weight: 400; + font-size: 10px; + text-transform: uppercase; + } + } + } + } } @keyframes fade { diff --git a/src/app/components/mobile/side_menu/side_menu.scss b/src/app/components/mobile/side_menu/side_menu.scss index 22be492..a4e922f 100644 --- a/src/app/components/mobile/side_menu/side_menu.scss +++ b/src/app/components/mobile/side_menu/side_menu.scss @@ -12,7 +12,6 @@ $slide-rtl: slide-rtl 0.5s ease-in-out; display: block; width: 316px; height: 100vh; - padding: 10px 0; &.closing { animation: reverse $slide; diff --git a/src/app/components/mobile/theme_selector/theme_selector.component.ts b/src/app/components/mobile/theme_selector/theme_selector.component.ts index 0f58865..ca24be4 100644 --- a/src/app/components/mobile/theme_selector/theme_selector.component.ts +++ b/src/app/components/mobile/theme_selector/theme_selector.component.ts @@ -14,10 +14,10 @@ export interface ITheme { }) export class MobileThemeSelectorComponent { public themes: ITheme[] = [ - { name: 'navbar.options.themes.light', value: 'light' }, - { name: 'navbar.options.themes.dark', value: 'dark' }, - { name: 'navbar.options.themes.auto', value: 'auto' }, - { name: 'navbar.options.themes.high_contrast', value: 'high_contrast' }, + { name: 'header.options.themes.light', value: 'light' }, + { name: 'header.options.themes.dark', value: 'dark' }, + { name: 'header.options.themes.auto', value: 'auto' }, + { name: 'header.options.themes.high_contrast', value: 'high_contrast' }, ]; public eventThemes: ITheme[] = []; @@ -27,11 +27,11 @@ export class MobileThemeSelectorComponent { switch (now.getMonth()) { case 11: - this.eventThemes.push({ name: 'navbar.options.event_themes.christmas', value: 'christmas' }); + this.eventThemes.push({ name: 'header.options.event_themes.christmas', value: 'christmas' }); if (this.eventTheme === null) this.eventTheme = 'christmas'; break; case 9: - this.eventThemes.push({ name: 'navbar.options.event_themes.pinktober', value: 'pinktober' }); + this.eventThemes.push({ name: 'header.options.event_themes.pinktober', value: 'pinktober' }); if (this.eventTheme === null) this.eventTheme = 'pinktober'; break; default: diff --git a/src/app/components/mobile/theme_selector/theme_selector.html b/src/app/components/mobile/theme_selector/theme_selector.html index 7314e18..a6abafb 100644 --- a/src/app/components/mobile/theme_selector/theme_selector.html +++ b/src/app/components/mobile/theme_selector/theme_selector.html @@ -1,4 +1,4 @@ - +
  • diff --git a/src/assets/i18n/en-US.json b/src/assets/i18n/en-US.json index 9f8dacc..8d68665 100644 --- a/src/assets/i18n/en-US.json +++ b/src/assets/i18n/en-US.json @@ -9,7 +9,9 @@ "shop": "Shop", "events": "Events", "forum": "Forum", - "pictures": "Pictures", + "pictures": "Pictures" + }, + "header": { "options": { "title": "Accessibility Parameters", "themes": { @@ -32,6 +34,11 @@ "accent_color": { "title": "Accent color" } + }, + "profile": { + "profile": "Profile", + "pictures": "Pictures", + "payments": "Payments" } } } From c3428ab62814662b8b64f930d7cdc7351f186967 Mon Sep 17 00:00:00 2001 From: Nchrd <65755297+Nchrd@users.noreply.github.com> Date: Thu, 20 Apr 2023 21:29:30 +0200 Subject: [PATCH 021/146] Setup des pages de login/register --- .vscode/settings.json | 3 +- src/app/app-routing.module.ts | 10 ++ src/app/app.component.html | 6 +- .../common/button/button.component.html | 3 + .../common/button/button.component.scss | 20 ++++ .../common/button/button.component.spec.ts | 23 +++++ .../common/button/button.component.ts | 10 ++ src/app/components/common/common.module.ts | 5 +- .../common/icons/at/at.component.ts | 8 ++ src/app/components/common/icons/at/at.svg | 3 + .../components/common/icons/icons.module.ts | 6 ++ .../icons/password/password.component.ts | 8 ++ .../common/icons/password/password.svg | 3 + src/app/components/components.module.ts | 3 +- .../mobile/header/header.component.ts | 7 ++ src/app/components/mobile/header/header.html | 23 ++++- src/app/components/mobile/header/header.scss | 40 ++++++++ src/app/components/mobile/mobile.module.ts | 3 +- .../components/pages/login/login.component.ts | 8 ++ src/app/components/pages/login/login.html | 41 ++++++++ src/app/components/pages/login/login.scss | 99 +++++++++++++++++++ src/app/components/pages/pages.module.ts | 6 +- .../pages/register/register.component.ts | 8 ++ .../components/pages/register/register.html | 0 .../components/pages/register/register.scss | 0 src/assets/i18n/en-US.json | 15 ++- 26 files changed, 348 insertions(+), 13 deletions(-) create mode 100644 src/app/components/common/button/button.component.html create mode 100644 src/app/components/common/button/button.component.scss create mode 100644 src/app/components/common/button/button.component.spec.ts create mode 100644 src/app/components/common/button/button.component.ts create mode 100644 src/app/components/common/icons/at/at.component.ts create mode 100644 src/app/components/common/icons/at/at.svg create mode 100644 src/app/components/common/icons/password/password.component.ts create mode 100644 src/app/components/common/icons/password/password.svg create mode 100644 src/app/components/pages/login/login.component.ts create mode 100644 src/app/components/pages/login/login.html create mode 100644 src/app/components/pages/login/login.scss create mode 100644 src/app/components/pages/register/register.component.ts create mode 100644 src/app/components/pages/register/register.html create mode 100644 src/app/components/pages/register/register.scss diff --git a/.vscode/settings.json b/.vscode/settings.json index 620c598..eb68c2c 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -14,5 +14,6 @@ "sith", "stylelint", "truetype" - ] + ], + "files.eol": "\n" } diff --git a/src/app/app-routing.module.ts b/src/app/app-routing.module.ts index 14d57c9..d8f4f35 100644 --- a/src/app/app-routing.module.ts +++ b/src/app/app-routing.module.ts @@ -2,6 +2,8 @@ import { NgModule } from '@angular/core'; import { RouterModule, Routes } from '@angular/router'; import { NotFoundComponent } from './components/pages/404/not-found.component'; import { HomeComponent } from './components/pages/home/home.component'; +import { LoginComponent } from './components/pages/login/login.component'; +import { RegisterComponent } from './components/pages/register/register.component'; const routes: Routes = [ { @@ -17,6 +19,14 @@ const routes: Routes = [ path: '404', component: NotFoundComponent, }, + { + path: 'login', + component: LoginComponent, + }, + { + path: 'register', + component: RegisterComponent, + }, { path: '**', redirectTo: '404', diff --git a/src/app/app.component.html b/src/app/app.component.html index dacdb55..955cae7 100644 --- a/src/app/app.component.html +++ b/src/app/app.component.html @@ -1,5 +1,5 @@
    - +
    @@ -7,7 +7,7 @@
    - - + +
    \ No newline at end of file diff --git a/src/app/components/common/button/button.component.html b/src/app/components/common/button/button.component.html new file mode 100644 index 0000000..766a0d6 --- /dev/null +++ b/src/app/components/common/button/button.component.html @@ -0,0 +1,3 @@ + \ No newline at end of file diff --git a/src/app/components/common/button/button.component.scss b/src/app/components/common/button/button.component.scss new file mode 100644 index 0000000..ab7549e --- /dev/null +++ b/src/app/components/common/button/button.component.scss @@ -0,0 +1,20 @@ +.button { + background-color: #161B22; + color: #FFFFFF; + display: flex; + align-items: center; + justify-content: center; + + padding: 5px 20px; + margin-top: 5px; + margin-bottom: 5px; + + width: 275px; + height: 40px; + + border-radius: 5px; + border: none; + + font-family: Inter, sans-serif; + text-transform: uppercase; +} \ No newline at end of file diff --git a/src/app/components/common/button/button.component.spec.ts b/src/app/components/common/button/button.component.spec.ts new file mode 100644 index 0000000..467bdca --- /dev/null +++ b/src/app/components/common/button/button.component.spec.ts @@ -0,0 +1,23 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { ButtonComponent } from './button.component'; + +describe('ButtonComponent', () => { + let component: ButtonComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [ ButtonComponent ] + }) + .compileComponents(); + + fixture = TestBed.createComponent(ButtonComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/components/common/button/button.component.ts b/src/app/components/common/button/button.component.ts new file mode 100644 index 0000000..1b07a1f --- /dev/null +++ b/src/app/components/common/button/button.component.ts @@ -0,0 +1,10 @@ +import { Component, Input } from '@angular/core'; + +@Component({ + selector: 'app-button', + templateUrl: './button.component.html', + styleUrls: ['./button.component.scss'], +}) +export class ButtonComponent { + @Input() public text = ''; +} diff --git a/src/app/components/common/common.module.ts b/src/app/components/common/common.module.ts index 2dfaa50..5a31bee 100644 --- a/src/app/components/common/common.module.ts +++ b/src/app/components/common/common.module.ts @@ -2,10 +2,11 @@ import { NgModule } from '@angular/core'; import { IconsModule } from './icons/icons.module'; import { SelectComponent } from './select/select.component'; import { CommonModule } from '@angular/common'; +import { ButtonComponent } from './button/button.component'; @NgModule({ - declarations: [SelectComponent], - exports: [IconsModule, SelectComponent], + declarations: [SelectComponent, ButtonComponent], + exports: [IconsModule, SelectComponent, ButtonComponent], imports: [IconsModule, CommonModule], }) export class CommonComponentsModule {} diff --git a/src/app/components/common/icons/at/at.component.ts b/src/app/components/common/icons/at/at.component.ts new file mode 100644 index 0000000..0804173 --- /dev/null +++ b/src/app/components/common/icons/at/at.component.ts @@ -0,0 +1,8 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'icon-at', + templateUrl: './at.svg', + styleUrls: ['../icons.scss'], +}) +export class IconAtComponent {} diff --git a/src/app/components/common/icons/at/at.svg b/src/app/components/common/icons/at/at.svg new file mode 100644 index 0000000..51d1cdd --- /dev/null +++ b/src/app/components/common/icons/at/at.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/app/components/common/icons/icons.module.ts b/src/app/components/common/icons/icons.module.ts index eac00cd..738ea8d 100644 --- a/src/app/components/common/icons/icons.module.ts +++ b/src/app/components/common/icons/icons.module.ts @@ -15,6 +15,8 @@ import { IconShoppingCartComponent } from './shopping_cart/shopping_cart.compone import { CommonModule } from '@angular/common'; import { IconPersonComponent } from './person/person.component'; import { IconPaymentsComponent } from './payments/payments.component'; +import { IconAtComponent } from './at/at.component'; +import { IconPasswordComponent } from './password/password.component'; @NgModule({ declarations: [ @@ -33,6 +35,8 @@ import { IconPaymentsComponent } from './payments/payments.component'; IconShoppingCartComponent, IconPersonComponent, IconPaymentsComponent, + IconAtComponent, + IconPasswordComponent, ], exports: [ IconBurgerMenuComponent, @@ -50,6 +54,8 @@ import { IconPaymentsComponent } from './payments/payments.component'; IconShoppingCartComponent, IconPersonComponent, IconPaymentsComponent, + IconAtComponent, + IconPasswordComponent, ], imports: [CommonModule], }) diff --git a/src/app/components/common/icons/password/password.component.ts b/src/app/components/common/icons/password/password.component.ts new file mode 100644 index 0000000..14b26e0 --- /dev/null +++ b/src/app/components/common/icons/password/password.component.ts @@ -0,0 +1,8 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'icon-password', + templateUrl: './password.svg', + styleUrls: ['../icons.scss'], +}) +export class IconPasswordComponent {} diff --git a/src/app/components/common/icons/password/password.svg b/src/app/components/common/icons/password/password.svg new file mode 100644 index 0000000..a640596 --- /dev/null +++ b/src/app/components/common/icons/password/password.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/app/components/components.module.ts b/src/app/components/components.module.ts index 6982d5c..2dbf468 100644 --- a/src/app/components/components.module.ts +++ b/src/app/components/components.module.ts @@ -1,9 +1,10 @@ import { NgModule } from '@angular/core'; import { PagesModule } from './pages/pages.module'; +import { RouterModule } from '@angular/router'; @NgModule({ declarations: [], exports: [PagesModule], - imports: [], + imports: [RouterModule], }) export class ComponentsModule {} diff --git a/src/app/components/mobile/header/header.component.ts b/src/app/components/mobile/header/header.component.ts index 60f0902..bdce8ec 100644 --- a/src/app/components/mobile/header/header.component.ts +++ b/src/app/components/mobile/header/header.component.ts @@ -1,4 +1,5 @@ import { Component, Inject } from '@angular/core'; +import { Router } from '@angular/router'; import { TranslateService } from '@ngx-translate/core'; import { ThemeEvent, getThemeEvent } from 'src/utils'; @@ -10,11 +11,17 @@ import { ThemeEvent, getThemeEvent } from 'src/utils'; export class MobileHeaderComponent { public profileOpened = false; public optionsOpened = false; + public connectionOpened = false; + public userLoggedIn = false; public triggerSideMenuProfile(): void { this.profileOpened = !this.profileOpened; } + public triggerSideMenuConnection(): void { + this.connectionOpened = !this.connectionOpened; + } + public triggerSideMenuOptions(): void { this.optionsOpened = !this.optionsOpened; } diff --git a/src/app/components/mobile/header/header.html b/src/app/components/mobile/header/header.html index 387d111..07d1ab3 100644 --- a/src/app/components/mobile/header/header.html +++ b/src/app/components/mobile/header/header.html @@ -2,7 +2,8 @@
    - + +
@@ -39,6 +40,26 @@
+ +
+ + +
+
+ Association des Étudiants +
+
+ de l'université de technologie de belfort-montbéliard +
+
+
+
+ + + +
+
+
diff --git a/src/app/components/mobile/header/header.scss b/src/app/components/mobile/header/header.scss index 6335a72..78d3042 100644 --- a/src/app/components/mobile/header/header.scss +++ b/src/app/components/mobile/header/header.scss @@ -39,6 +39,46 @@ &.open { display: block; } + + .logo { + width: 128px; + height: 80px; + display: block; + margin-left: auto; + margin-right: auto; + background-image: url('/assets/logo_ae.webp'); + background-size: cover; + background-position: center; + background-repeat: no-repeat; + } + + .text-container { + display: flex; + justify-content: center; + align-items: center; + flex-direction: column; + //gap: 20px; + padding: 0 15px; + + > .text { + color: white; + font-family: Inter, sans-serif; + font-size: 24.7px; + white-space: nowrap; + } + + > .small { + font-size: 9px; + text-transform: uppercase; + } + } + + .buttons { + display: flex; + flex-direction: column; + align-items: center; + padding: 30px; + } } .options-container { diff --git a/src/app/components/mobile/mobile.module.ts b/src/app/components/mobile/mobile.module.ts index cfac835..749b15f 100644 --- a/src/app/components/mobile/mobile.module.ts +++ b/src/app/components/mobile/mobile.module.ts @@ -9,6 +9,7 @@ import { MobileHeaderComponent } from './header/header.component'; import { MobileSideMenuComponent } from './side_menu/side_menu.component'; import { MobileTitleComponent } from './title/title.component'; import { MobileThemeSelectorComponent } from './theme_selector/theme_selector.component'; +import { RouterModule } from '@angular/router'; @NgModule({ declarations: [ @@ -29,6 +30,6 @@ import { MobileThemeSelectorComponent } from './theme_selector/theme_selector.co MobileSideMenuComponent, MobileThemeSelectorComponent, ], - imports: [CommonModule, CommonComponentsModule, TranslateModule], + imports: [CommonModule, CommonComponentsModule, TranslateModule, RouterModule], }) export class MobileComponentsModule {} diff --git a/src/app/components/pages/login/login.component.ts b/src/app/components/pages/login/login.component.ts new file mode 100644 index 0000000..336b60d --- /dev/null +++ b/src/app/components/pages/login/login.component.ts @@ -0,0 +1,8 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'app-login', + templateUrl: './login.html', + styleUrls: ['./login.scss'], +}) +export class LoginComponent {} diff --git a/src/app/components/pages/login/login.html b/src/app/components/pages/login/login.html new file mode 100644 index 0000000..843991a --- /dev/null +++ b/src/app/components/pages/login/login.html @@ -0,0 +1,41 @@ +
+
+ + +
+
+ Association des Étudiants +
+
+ de l'université de technologie de belfort-montbéliard +
+
+
+ +
+
+
+ {{ 'connection.connection' | translate}} +
+ + {{ 'connection.no_account' | translate}} + +
+ + + + +
+
\ No newline at end of file diff --git a/src/app/components/pages/login/login.scss b/src/app/components/pages/login/login.scss new file mode 100644 index 0000000..fb6fe67 --- /dev/null +++ b/src/app/components/pages/login/login.scss @@ -0,0 +1,99 @@ +.container { + background-color: #21262D; + width: 100vw; + height: 100vh; + display: block; + + .header { + padding-top: 20px; + + > .logo { + width: 256px; + height: 160px; + margin-left: auto; + margin-right: auto; + background-image: url('/assets/logo_ae.webp'); + background-size: cover; + background-position: center; + background-repeat: no-repeat; + } + + > .text-container { + text-align: center; + > .text { + font-family: Inter, sans-serif; + color: white; + font-size: 30.5px; + } + + > .small { + text-transform: uppercase; + font-size: 11px; + } + } + } + + .body { + > .text-container { + padding-top: 35px; + padding-left: 20px; + + > .text { + font-family: Inter, sans-serif; + color: white; + font-size: 21px; + } + + > .big { + text-transform: uppercase; + } + + > .small { + font-size: 14px; + color: #78C1FF; + font-style: italic; + } + } + + > .input-group { + flex-direction: column; + padding-top: 20px; + + > .input-container { + flex-direction: row; + display: flex; + justify-items: center; + padding: 5px; + width: 85%; + margin-left: 20px; + gap: 10px; + + > input { + color: white; + background-color: #161B2280; + width: 100%; + border: none; + height: 32px; + + } + } + + > .text { + font-family: Inter, sans-serif; + font-size: 14px; + color: #78C1FF; + font-style: italic; + + display: flex; + justify-content: center; + } + } + + .button { + display: flex; + justify-content: center; + + padding-top: 20px; + } + } +} diff --git a/src/app/components/pages/pages.module.ts b/src/app/components/pages/pages.module.ts index 7a4513a..10aae9d 100644 --- a/src/app/components/pages/pages.module.ts +++ b/src/app/components/pages/pages.module.ts @@ -6,10 +6,12 @@ import { CommonComponentsModule } from '../common/common.module'; import { MobileComponentsModule } from '../mobile/mobile.module'; import { TranslateModule } from '@ngx-translate/core'; import { DesktopComponentsModule } from '../desktop/desktop.module'; +import { LoginComponent } from './login/login.component'; +import { RegisterComponent } from './register/register.component'; @NgModule({ - declarations: [NotFoundComponent, HomeComponent], - exports: [NotFoundComponent, HomeComponent], + declarations: [NotFoundComponent, HomeComponent, LoginComponent, RegisterComponent], + exports: [NotFoundComponent, HomeComponent, LoginComponent, RegisterComponent], imports: [CommonModule, TranslateModule, CommonComponentsModule, MobileComponentsModule, DesktopComponentsModule], }) export class PagesModule {} diff --git a/src/app/components/pages/register/register.component.ts b/src/app/components/pages/register/register.component.ts new file mode 100644 index 0000000..cb81f7d --- /dev/null +++ b/src/app/components/pages/register/register.component.ts @@ -0,0 +1,8 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'app-register', + templateUrl: './register.html', + styleUrls: ['./register.scss'], +}) +export class RegisterComponent {} diff --git a/src/app/components/pages/register/register.html b/src/app/components/pages/register/register.html new file mode 100644 index 0000000..e69de29 diff --git a/src/app/components/pages/register/register.scss b/src/app/components/pages/register/register.scss new file mode 100644 index 0000000..e69de29 diff --git a/src/assets/i18n/en-US.json b/src/assets/i18n/en-US.json index 8d68665..805a4c1 100644 --- a/src/assets/i18n/en-US.json +++ b/src/assets/i18n/en-US.json @@ -9,8 +9,11 @@ "shop": "Shop", "events": "Events", "forum": "Forum", - "pictures": "Pictures" - }, + "pictures": "Pictures", + "burger": { + "connexion": "Sign in", + "register": "Register" + }}, "header": { "options": { "title": "Accessibility Parameters", @@ -40,5 +43,13 @@ "pictures": "Pictures", "payments": "Payments" } + }, + "connection":{ + "connection": "Log In", + "no_account": "No account ? Register", + "forgot_password": "Forgot your password ?", + "email": "exemple@website.com", + "connection_action": "Log In", + "external_connection": "Or connect with" } } From 00b17da16e8f79c11a58e58f6c79333ddb9462bf Mon Sep 17 00:00:00 2001 From: Julien Constant Date: Fri, 21 Apr 2023 01:49:03 +0200 Subject: [PATCH 022/146] Advanced work on login/register pages & added dummy connection MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Noé Echard <65755297+Nchrd@users.noreply.github.com> --- src/app/app.component.html | 14 +- src/app/app.component.scss | 6 + .../common/button/button.component.html | 4 +- .../common/button/button.component.scss | 15 +- .../common/button/button.component.spec.ts | 5 +- .../common/button/button.component.ts | 1 + .../icons/calendar/calendar.component.ts | 8 + .../common/icons/calendar/calendar.svg | 1 + .../components/common/icons/icons.module.ts | 3 + .../common/icons/user_icon/user_icon.scss | 12 +- .../common/select/select.component.ts | 9 +- src/app/components/desktop/header/header.scss | 2 +- src/app/components/desktop/navbar/navbar.scss | 2 +- .../mobile/header/header.component.ts | 14 +- src/app/components/mobile/header/header.html | 46 ++--- src/app/components/mobile/header/header.scss | 111 ++++++++---- .../mobile/side_menu/side_menu.component.ts | 10 +- .../mobile/side_menu/side_menu.html | 2 +- .../mobile/side_menu/side_menu.scss | 2 + .../mobile/subtitle/subtitle.component.ts | 8 +- .../components/mobile/subtitle/subtitle.html | 2 +- .../mobile/theme_selector/theme_selector.scss | 2 +- .../components/pages/login/login.component.ts | 17 +- src/app/components/pages/login/login.html | 54 +++--- src/app/components/pages/login/login.scss | 159 ++++++++++-------- .../pages/register/register.component.ts | 7 +- .../components/pages/register/register.html | 68 ++++++++ .../components/pages/register/register.scss | 136 +++++++++++++++ src/app/services/page.service.ts | 45 +++++ src/app/services/user.service.ts | 53 ++++++ src/app/styles/themes.scss | 30 +--- src/assets/i18n/en-US.json | 23 ++- src/index.html | 1 - src/utils/document.spec.ts | 13 -- src/utils/document.ts | 7 - src/utils/index.ts | 1 - 36 files changed, 635 insertions(+), 258 deletions(-) create mode 100644 src/app/components/common/icons/calendar/calendar.component.ts create mode 100644 src/app/components/common/icons/calendar/calendar.svg create mode 100644 src/app/services/page.service.ts create mode 100644 src/app/services/user.service.ts delete mode 100644 src/utils/document.spec.ts delete mode 100644 src/utils/document.ts diff --git a/src/app/app.component.html b/src/app/app.component.html index 955cae7..fabeb8f 100644 --- a/src/app/app.component.html +++ b/src/app/app.component.html @@ -1,13 +1,13 @@ -
- -
- +
+ +
+
-
- - +
+ +
\ No newline at end of file diff --git a/src/app/app.component.scss b/src/app/app.component.scss index b9be6d0..9cb07e7 100644 --- a/src/app/app.component.scss +++ b/src/app/app.component.scss @@ -6,6 +6,12 @@ main { display: flex; flex-direction: column; gap: 30px; + + &.headless { + margin: 0; + max-width: none; + padding: 0; + } } router-outlet { diff --git a/src/app/components/common/button/button.component.html b/src/app/components/common/button/button.component.html index 766a0d6..3a96aaa 100644 --- a/src/app/components/common/button/button.component.html +++ b/src/app/components/common/button/button.component.html @@ -1,3 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/src/app/components/common/button/button.component.scss b/src/app/components/common/button/button.component.scss index ab7549e..340d705 100644 --- a/src/app/components/common/button/button.component.scss +++ b/src/app/components/common/button/button.component.scss @@ -1,20 +1,15 @@ -.button { - background-color: #161B22; - color: #FFFFFF; +button { + background-color: var(--gray4); + color: var(--text-color-dark-bg); display: flex; align-items: center; justify-content: center; - padding: 5px 20px; - margin-top: 5px; - margin-bottom: 5px; - - width: 275px; + width: 100%; height: 40px; - border-radius: 5px; border: none; - font-family: Inter, sans-serif; text-transform: uppercase; + cursor: pointer; } \ No newline at end of file diff --git a/src/app/components/common/button/button.component.spec.ts b/src/app/components/common/button/button.component.spec.ts index 467bdca..0dfd14c 100644 --- a/src/app/components/common/button/button.component.spec.ts +++ b/src/app/components/common/button/button.component.spec.ts @@ -8,9 +8,8 @@ describe('ButtonComponent', () => { beforeEach(async () => { await TestBed.configureTestingModule({ - declarations: [ ButtonComponent ] - }) - .compileComponents(); + declarations: [ButtonComponent], + }).compileComponents(); fixture = TestBed.createComponent(ButtonComponent); component = fixture.componentInstance; diff --git a/src/app/components/common/button/button.component.ts b/src/app/components/common/button/button.component.ts index 1b07a1f..dcdadf8 100644 --- a/src/app/components/common/button/button.component.ts +++ b/src/app/components/common/button/button.component.ts @@ -7,4 +7,5 @@ import { Component, Input } from '@angular/core'; }) export class ButtonComponent { @Input() public text = ''; + @Input() public large = false; } diff --git a/src/app/components/common/icons/calendar/calendar.component.ts b/src/app/components/common/icons/calendar/calendar.component.ts new file mode 100644 index 0000000..22ead95 --- /dev/null +++ b/src/app/components/common/icons/calendar/calendar.component.ts @@ -0,0 +1,8 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'icon-calendar', + templateUrl: './calendar.svg', + styleUrls: ['../icons.scss'], +}) +export class IconCalendarComponent {} diff --git a/src/app/components/common/icons/calendar/calendar.svg b/src/app/components/common/icons/calendar/calendar.svg new file mode 100644 index 0000000..3c4935e --- /dev/null +++ b/src/app/components/common/icons/calendar/calendar.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/app/components/common/icons/icons.module.ts b/src/app/components/common/icons/icons.module.ts index 738ea8d..7b58a3a 100644 --- a/src/app/components/common/icons/icons.module.ts +++ b/src/app/components/common/icons/icons.module.ts @@ -17,6 +17,7 @@ import { IconPersonComponent } from './person/person.component'; import { IconPaymentsComponent } from './payments/payments.component'; import { IconAtComponent } from './at/at.component'; import { IconPasswordComponent } from './password/password.component'; +import { IconCalendarComponent } from './calendar/calendar.component'; @NgModule({ declarations: [ @@ -37,6 +38,7 @@ import { IconPasswordComponent } from './password/password.component'; IconPaymentsComponent, IconAtComponent, IconPasswordComponent, + IconCalendarComponent, ], exports: [ IconBurgerMenuComponent, @@ -56,6 +58,7 @@ import { IconPasswordComponent } from './password/password.component'; IconPaymentsComponent, IconAtComponent, IconPasswordComponent, + IconCalendarComponent, ], imports: [CommonModule], }) diff --git a/src/app/components/common/icons/user_icon/user_icon.scss b/src/app/components/common/icons/user_icon/user_icon.scss index c05eaa9..7be3366 100644 --- a/src/app/components/common/icons/user_icon/user_icon.scss +++ b/src/app/components/common/icons/user_icon/user_icon.scss @@ -1,10 +1,12 @@ .icon { position: relative; + width: 100%; + height: 100%; > .image { position: absolute; - max-width: 100%; - max-height: 100%; + width: 100%; + height: 100%; > svg, > img { @@ -17,6 +19,7 @@ .light { fill: var(--navbar-user-icon-light-color); } + .dark { fill: var(--navbar-user-icon-dark-color); } @@ -27,16 +30,13 @@ position: absolute; top: -4px; right: -4px; - min-width: 16px; height: 16px; - color: var(--text-color-dark-bg); background-color: var(--red); border-radius: 50%; - font-family: Roboto; + font-family: Roboto, sans-serif; font-size: 12px; - display: flex; align-items: center; justify-content: center; diff --git a/src/app/components/common/select/select.component.ts b/src/app/components/common/select/select.component.ts index 6df5935..5b54656 100644 --- a/src/app/components/common/select/select.component.ts +++ b/src/app/components/common/select/select.component.ts @@ -1,5 +1,5 @@ -import { Component, EventEmitter, Input, Output } from '@angular/core'; -import { isRTL } from 'src/utils'; +import { Component, EventEmitter, Inject, Input, Output } from '@angular/core'; +import { PageService } from 'src/app/services/page.service'; export interface ISelectOption { image?: string; @@ -27,9 +27,8 @@ export class SelectComponent { /** Emit an event with a string being the `value` of the selected option */ @Output() public optionSelected = new EventEmitter(); - public get isRTL(): boolean { - return isRTL(); - } + public constructor(@Inject(PageService) public readonly p: PageService) {} + /** * Displays or hides the dropdown. */ diff --git a/src/app/components/desktop/header/header.scss b/src/app/components/desktop/header/header.scss index 32500ae..9713b97 100644 --- a/src/app/components/desktop/header/header.scss +++ b/src/app/components/desktop/header/header.scss @@ -21,7 +21,7 @@ color: var(--navbar-text-color); display: flex; flex-direction: column; - font-family: Roboto; + font-family: Roboto, sans-serif; font-weight: 500; margin-bottom: 5px; diff --git a/src/app/components/desktop/navbar/navbar.scss b/src/app/components/desktop/navbar/navbar.scss index e17533e..c745fc7 100644 --- a/src/app/components/desktop/navbar/navbar.scss +++ b/src/app/components/desktop/navbar/navbar.scss @@ -26,7 +26,7 @@ > span { text-transform: uppercase; - font-family: Roboto; + font-family: Roboto, sans-serif; font-size: 12px; color: var(--text-color-dynamic); } diff --git a/src/app/components/mobile/header/header.component.ts b/src/app/components/mobile/header/header.component.ts index bdce8ec..961f480 100644 --- a/src/app/components/mobile/header/header.component.ts +++ b/src/app/components/mobile/header/header.component.ts @@ -1,6 +1,6 @@ import { Component, Inject } from '@angular/core'; -import { Router } from '@angular/router'; -import { TranslateService } from '@ngx-translate/core'; +import { PageService } from 'src/app/services/page.service'; +import { UserService } from 'src/app/services/user.service'; import { ThemeEvent, getThemeEvent } from 'src/utils'; @Component({ @@ -14,6 +14,11 @@ export class MobileHeaderComponent { public connectionOpened = false; public userLoggedIn = false; + public constructor( + @Inject(UserService) public readonly u: UserService, + @Inject(PageService) public readonly p: PageService, + ) {} + public triggerSideMenuProfile(): void { this.profileOpened = !this.profileOpened; } @@ -40,4 +45,9 @@ export class MobileHeaderComponent { public get eventTheme(): ThemeEvent | null { return getThemeEvent(); } + + public logout(): void { + this.triggerSideMenuProfile(); + this.u.logout(); + } } diff --git a/src/app/components/mobile/header/header.html b/src/app/components/mobile/header/header.html index 07d1ab3..eafc5eb 100644 --- a/src/app/components/mobile/header/header.html +++ b/src/app/components/mobile/header/header.html @@ -1,25 +1,25 @@
- +
- - + +
-
+
- -
+ +
- NAME first_name - 0 € + {{ u.fullName }} + {{ u.balance }} €
- 12345A + {{ u.accountId }}
+ + {{ 'header.profile.disconnect' | translate }}
-
- - -
-
- Association des Étudiants +
+
+ +
+ Association des Étudiants + de l'université de technologie de Belfort-Montbéliard +
-
- de l'université de technologie de belfort-montbéliard +
+ +
-
-
- - - -
diff --git a/src/app/components/mobile/header/header.scss b/src/app/components/mobile/header/header.scss index 78d3042..a4d6746 100644 --- a/src/app/components/mobile/header/header.scss +++ b/src/app/components/mobile/header/header.scss @@ -13,7 +13,7 @@ > .icons { display: flex; - padding: 16px 0; + padding: 16px 5px; gap: 16px; > * { @@ -27,57 +27,70 @@ .side-menu { position: absolute; top: 0; - height: 100vh; width: 100vw; - animation: fade 0.5s ease-in-out; - background-color: var(--darkened); display: none; &.open { display: block; } +} - .logo { - width: 128px; - height: 80px; - display: block; - margin-left: auto; - margin-right: auto; - background-image: url('/assets/logo_ae.webp'); - background-size: cover; - background-position: center; - background-repeat: no-repeat; - } +.disconnected-container { + padding: 10px 15px; + display: flex; + flex-direction: column; + gap: 30px; - .text-container { + > .title { display: flex; - justify-content: center; - align-items: center; flex-direction: column; - //gap: 20px; - padding: 0 15px; - - > .text { - color: white; - font-family: Inter, sans-serif; - font-size: 24.7px; - white-space: nowrap; + align-items: center; + + > .logo { + width: 128px; + height: 80px; + display: block; + margin-left: auto; + margin-right: auto; + background-image: url('/assets/logo_ae.webp'); + background-size: cover; + background-position: center; + background-repeat: no-repeat; } - > .small { - font-size: 9px; - text-transform: uppercase; + > .text-container { + display: flex; + justify-content: center; + align-items: center; + flex-direction: column; + height: 40px; + + > .text { + color: white; + font-family: Inter, sans-serif; + font-size: 23px; + white-space: nowrap; + } + + > .small { + font-size: 9px; + text-transform: uppercase; + } } } - .buttons { + > .buttons { display: flex; flex-direction: column; align-items: center; - padding: 30px; + gap: 8px; + + > * { + width: 100%; + } } } @@ -96,6 +109,9 @@ width: 100%; height: 136px; background-color: var(--navbar-background-color); + background-size: cover; + background-repeat: no-repeat; + background-position: center; display: flex; align-items: flex-end; justify-content: flex-end; @@ -129,10 +145,15 @@ padding: 5px; padding-left: 0; min-height: 50px; - font-family: Roboto; + font-family: Roboto, sans-serif; font-weight: 500; font-size: 14px; + &.rtl { + margin-left: 0; + margin-right: 110px; + } + > .left { display: flex; flex-direction: column; @@ -145,11 +166,19 @@ height: 100px; left: 5px; top: calc(136px - 50px); + + &.rtl { + left: unset; + right: 5px; + } } > main { - margin: 16px; - height: 100%; + padding: 16px 16px 40px 16px; + height: calc(100vh - 136px - 50px); + display: flex; + flex-direction: column; + justify-content: space-between; .links { display: flex; @@ -173,13 +202,24 @@ span { color: var(--text-color-dark-bg); - font-family: Roboto; + font-family: Roboto, sans-serif; font-weight: 400; font-size: 10px; text-transform: uppercase; } } } + + .logout { + color: var(--red); + font-family: Roboto, sans-serif; + font-weight: normal; + font-size: 16px; + height: 20px; + text-transform: uppercase; + text-align: center; + width: 100%; + } } } @@ -187,6 +227,7 @@ 0% { opacity: 0; } + 100% { opacity: 1; } diff --git a/src/app/components/mobile/side_menu/side_menu.component.ts b/src/app/components/mobile/side_menu/side_menu.component.ts index 4ee65b1..9897fe8 100644 --- a/src/app/components/mobile/side_menu/side_menu.component.ts +++ b/src/app/components/mobile/side_menu/side_menu.component.ts @@ -1,5 +1,5 @@ -import { Component, EventEmitter, Output } from '@angular/core'; -import { isRTL } from 'src/utils'; +import { Component, EventEmitter, Inject, Output } from '@angular/core'; +import { PageService } from 'src/app/services/page.service'; @Component({ selector: 'app-side-menu', @@ -11,6 +11,8 @@ export class MobileSideMenuComponent { @Output() public close = new EventEmitter(); + public constructor(@Inject(PageService) public readonly p: PageService) {} + public triggerClose(): void { this._closing = true; @@ -23,8 +25,4 @@ export class MobileSideMenuComponent { public get closing(): boolean { return this._closing; } - - public get isRTL(): boolean { - return isRTL(); - } } diff --git a/src/app/components/mobile/side_menu/side_menu.html b/src/app/components/mobile/side_menu/side_menu.html index cd3afe6..418f6e2 100644 --- a/src/app/components/mobile/side_menu/side_menu.html +++ b/src/app/components/mobile/side_menu/side_menu.html @@ -1,4 +1,4 @@ -
+
diff --git a/src/app/components/mobile/side_menu/side_menu.scss b/src/app/components/mobile/side_menu/side_menu.scss index a4e922f..9ef50b3 100644 --- a/src/app/components/mobile/side_menu/side_menu.scss +++ b/src/app/components/mobile/side_menu/side_menu.scss @@ -37,6 +37,7 @@ $slide-rtl: slide-rtl 0.5s ease-in-out; 0% { transform: translateX(100%); } + 100% { transform: translateX(0); } @@ -46,6 +47,7 @@ $slide-rtl: slide-rtl 0.5s ease-in-out; 0% { transform: translateX(-100%); } + 100% { transform: translateX(0); } diff --git a/src/app/components/mobile/subtitle/subtitle.component.ts b/src/app/components/mobile/subtitle/subtitle.component.ts index 170fbbc..16a8b70 100644 --- a/src/app/components/mobile/subtitle/subtitle.component.ts +++ b/src/app/components/mobile/subtitle/subtitle.component.ts @@ -1,5 +1,5 @@ -import { Component, Input } from '@angular/core'; -import { isRTL } from 'src/utils/document'; +import { Component, Inject, Input } from '@angular/core'; +import { PageService } from 'src/app/services/page.service'; @Component({ selector: 'sith-mobile-subtitle', @@ -11,7 +11,5 @@ export class MobileSubtitleComponent { @Input() public bordered = false; @Input() public onDarkBackground = false; - public get isRTL(): boolean { - return isRTL(); - } + public constructor(@Inject(PageService) public readonly p: PageService) {} } diff --git a/src/app/components/mobile/subtitle/subtitle.html b/src/app/components/mobile/subtitle/subtitle.html index c4b2427..9ab224e 100644 --- a/src/app/components/mobile/subtitle/subtitle.html +++ b/src/app/components/mobile/subtitle/subtitle.html @@ -1 +1 @@ -

{{ text }}

+

{{ text }}

diff --git a/src/app/components/mobile/theme_selector/theme_selector.scss b/src/app/components/mobile/theme_selector/theme_selector.scss index f42ddfb..6e2e514 100644 --- a/src/app/components/mobile/theme_selector/theme_selector.scss +++ b/src/app/components/mobile/theme_selector/theme_selector.scss @@ -41,7 +41,7 @@ } span { - font-family: Inter; + font-family: Inter, sans-serif; font-size: 12px; color: var(--text-color-dark-bg); } diff --git a/src/app/components/pages/login/login.component.ts b/src/app/components/pages/login/login.component.ts index 336b60d..453ddd7 100644 --- a/src/app/components/pages/login/login.component.ts +++ b/src/app/components/pages/login/login.component.ts @@ -1,8 +1,21 @@ -import { Component } from '@angular/core'; +import { Component, Inject } from '@angular/core'; +import { PageService } from 'src/app/services/page.service'; +import { UserService } from 'src/app/services/user.service'; @Component({ selector: 'app-login', templateUrl: './login.html', styleUrls: ['./login.scss'], }) -export class LoginComponent {} +export class LoginComponent { + public constructor( + @Inject(PageService) public readonly p: PageService, + @Inject(UserService) public readonly u: UserService, + ) {} + + public login(): void { + // todo: call api & validate credentials + this.u.login('fake-jwt-token'); + this.p.route = '/'; + } +} diff --git a/src/app/components/pages/login/login.html b/src/app/components/pages/login/login.html index 843991a..0ce1fa0 100644 --- a/src/app/components/pages/login/login.html +++ b/src/app/components/pages/login/login.html @@ -1,41 +1,39 @@ -
-
+
+
- -
-
- Association des Étudiants -
-
- de l'université de technologie de belfort-montbéliard -
+
+ Association des Étudiants + de l'université de technologie de Belfort-Montbéliard
- -
-
-
- {{ 'connection.connection' | translate}} -
- - {{ 'connection.no_account' | translate}} - +
+ -
+
- - +
+ + +
+ an error occurred
+
- - +
+ + +
+ an error occurred
- + + {{ 'connection.forgot_password' | translate}}
- -
-
\ No newline at end of file + + +
diff --git a/src/app/components/pages/login/login.scss b/src/app/components/pages/login/login.scss index fb6fe67..1a399f7 100644 --- a/src/app/components/pages/login/login.scss +++ b/src/app/components/pages/login/login.scss @@ -1,99 +1,124 @@ -.container { - background-color: #21262D; +.link { + font-family: Inter, sans-serif; + font-size: 14px; + color: var(--blue); + font-style: italic; + line-height: 17px; + text-decoration: none; +} + +main { + background-color: var(--gray3); width: 100vw; height: 100vh; - display: block; - - .header { - padding-top: 20px; + display: flex; + flex-direction: column; + align-items: center; + justify-content: flex-start; + gap: 40px; + padding: 40px 20px 60px; + + > .header { + display: flex; + flex-direction: column; + align-items: center; + justify-content: flex-start; > .logo { - width: 256px; - height: 160px; - margin-left: auto; - margin-right: auto; + width: 200px; + height: 130px; background-image: url('/assets/logo_ae.webp'); background-size: cover; background-position: center; background-repeat: no-repeat; } - > .text-container { - text-align: center; - > .text { - font-family: Inter, sans-serif; - color: white; - font-size: 30.5px; + > .text { + display: flex; + flex-direction: column; + color: var(--text-color-dark-bg); + font-family: Inter, sans-serif; + + > .title { + font-size: 25.5px; } - > .small { + > .subtitle { text-transform: uppercase; - font-size: 11px; + font-size: 10px; } } } - .body { - > .text-container { - padding-top: 35px; - padding-left: 20px; + > form { + width: 100%; + display: flex; + flex-direction: column; + gap: 30px; - > .text { - font-family: Inter, sans-serif; - color: white; - font-size: 21px; - } - - > .big { - text-transform: uppercase; - } - - > .small { - font-size: 14px; - color: #78C1FF; - font-style: italic; - } + > .form-head { + width: 100%; } - > .input-group { + > .form-body { + display: flex; flex-direction: column; - padding-top: 20px; + gap: 10px; + + > .link { + text-align: center; + } > .input-container { - flex-direction: row; + width: 100%; display: flex; - justify-items: center; - padding: 5px; - width: 85%; - margin-left: 20px; - gap: 10px; - - > input { - color: white; - background-color: #161B2280; - width: 100%; - border: none; - height: 32px; - + flex-direction: column; + gap: 5px; + + > .error { + font-family: Roboto, sans-serif; + color: var(--red); + font-size: 12px; + line-height: 14px; + margin-left: calc(32px + 5px); } - } - > .text { - font-family: Inter, sans-serif; - font-size: 14px; - color: #78C1FF; - font-style: italic; - - display: flex; - justify-content: center; + > .input { + width: 100%; + display: flex; + gap: 5px; + + >.icon { + width: 16px; + height: 16px; + margin: 8px; + } + + > input { + font-family: Roboto, sans-serif; + font-weight: normal; + color: var(--text-color-dark-bg); + background-color: var(--gray4); + width: 100%; + border: none; + border-radius: 5px; + height: 32px; + padding: 5px 5px 5px 10px; + display: flex; + justify-content: center; + align-items: center; + + &::placeholder { + color: var(--text-color-dark-bg-placeholder); + font-size: 14px; + } + } + } } } - .button { - display: flex; - justify-content: center; - - padding-top: 20px; + > .form-button { + width: 100%; } } } diff --git a/src/app/components/pages/register/register.component.ts b/src/app/components/pages/register/register.component.ts index cb81f7d..c7b9ad1 100644 --- a/src/app/components/pages/register/register.component.ts +++ b/src/app/components/pages/register/register.component.ts @@ -1,8 +1,11 @@ -import { Component } from '@angular/core'; +import { Component, Inject } from '@angular/core'; +import { PageService } from 'src/app/services/page.service'; @Component({ selector: 'app-register', templateUrl: './register.html', styleUrls: ['./register.scss'], }) -export class RegisterComponent {} +export class RegisterComponent { + public constructor(@Inject(PageService) public readonly p: PageService) {} +} diff --git a/src/app/components/pages/register/register.html b/src/app/components/pages/register/register.html index e69de29..384418a 100644 --- a/src/app/components/pages/register/register.html +++ b/src/app/components/pages/register/register.html @@ -0,0 +1,68 @@ +
+
+ +
+ Association des Étudiants + de l'université de technologie de Belfort-Montbéliard +
+
+ +
+ + +
+
+
+ +
+ ERREUR +
+ +
+
+ +
+ ERREUR +
+ +
+
+ + +
+ {{ 'register.date_birth_no_modif' | translate }} +
+ +
+
+ + +
+ an error occurred +
+ +
+
+ + +
+ {{ 'register.min_password' | translate }} + test +
+ +
+
+ + +
+ {{ 'register.confirm_password' | translate }} + test +
+
+ + +
+
\ No newline at end of file diff --git a/src/app/components/pages/register/register.scss b/src/app/components/pages/register/register.scss index e69de29..0d256d0 100644 --- a/src/app/components/pages/register/register.scss +++ b/src/app/components/pages/register/register.scss @@ -0,0 +1,136 @@ +.link { + font-family: Inter, sans-serif; + font-size: 14px; + color: var(--blue); + font-style: italic; + line-height: 17px; + text-decoration: none; +} + +main { + background-color: var(--gray3); + width: 100vw; + height: 100vh; + display: flex; + flex-direction: column; + align-items: center; + justify-content: flex-start; + gap: 40px; + padding: 40px 20px 60px; + + > .header { + display: flex; + flex-direction: column; + align-items: center; + justify-content: flex-start; + + > .logo { + width: 200px; + height: 130px; + background-image: url('/assets/logo_ae.webp'); + background-size: cover; + background-position: center; + background-repeat: no-repeat; + } + + > .text { + display: flex; + flex-direction: column; + color: var(--text-color-dark-bg); + font-family: Inter, sans-serif; + + > .title { + font-size: 25.5px; + } + + > .subtitle { + text-transform: uppercase; + font-size: 10px; + } + } + } + + > form { + width: 100%; + display: flex; + flex-direction: column; + gap: 30px; + + > .form-head { + width: 100%; + } + + > .form-body { + display: flex; + flex-direction: column; + gap: 10px; + + > .link { + text-align: center; + } + + > .input-container { + width: 100%; + display: flex; + flex-direction: column; + gap: 5px; + + > .error, + > .info { + font-family: Roboto, sans-serif; + font-size: 12px; + line-height: 14px; + margin-left: calc(32px + 5px); + + &.no-margin { + margin-left: 0; + } + } + + > .error { + color: var(--red); + } + + > .info { + color: var(--text-color-dark-bg); + } + + > .input { + width: 100%; + display: flex; + gap: 5px; + + >.icon { + width: 16px; + height: 16px; + margin: 8px; + } + + > input { + font-family: Roboto, sans-serif; + font-weight: normal; + color: var(--text-color-dark-bg); + background-color: var(--gray4); + width: 100%; + border: none; + border-radius: 5px; + height: 32px; + padding: 5px 5px 5px 10px; + display: flex; + justify-content: flex-start; + align-items: center; + + &::placeholder { + color: var(--text-color-dark-bg-placeholder); + font-size: 14px; + } + } + } + } + } + + > .form-button { + width: 100%; + } + } +} \ No newline at end of file diff --git a/src/app/services/page.service.ts b/src/app/services/page.service.ts new file mode 100644 index 0000000..fd95ba5 --- /dev/null +++ b/src/app/services/page.service.ts @@ -0,0 +1,45 @@ +import { Inject, Injectable } from '@angular/core'; +import { NavigationEnd, Router } from '@angular/router'; +import { DeviceDetectorService } from 'ngx-device-detector'; + +@Injectable({ + providedIn: 'root', +}) +export class PageService { + private currentRoute = ''; + + public constructor( + @Inject(DeviceDetectorService) private readonly deviceService: DeviceDetectorService, + @Inject(Router) private readonly router: Router, + ) { + router.events.subscribe((val) => { + if (val instanceof NavigationEnd) { + this.currentRoute = val.url; + } + }); + } + + public set route(route: string) { + this.router.navigateByUrl(route); + } + + public get route(): string { + return this.currentRoute; + } + + public get isHeadless(): boolean { + return ['/forgot_password', '/login', '/register'].includes(this.currentRoute); + } + + public get isMobile(): boolean { + return this.deviceService.isMobile() || this.deviceService.isTablet(); + } + + public get isDesktop(): boolean { + return this.deviceService.isDesktop(); + } + + public get isRTL(): boolean { + return document.documentElement.dir === 'rtl'; + } +} diff --git a/src/app/services/user.service.ts b/src/app/services/user.service.ts new file mode 100644 index 0000000..4ddf947 --- /dev/null +++ b/src/app/services/user.service.ts @@ -0,0 +1,53 @@ +import { Injectable } from '@angular/core'; + +const FAKE_USER = { + balance: 100, + account_id: '12345a', + name: 'DOE', + first_name: 'John', + profile_picture: 'https://avatars.githubusercontent.com/u/106403460', + profile_banner: 'https://gifdb.com/images/high/the-office-michael-yikes-x8pzowd0ud2o8e15.gif', +}; + +@Injectable({ + providedIn: 'root', +}) +export class UserService { + private user?: undefined | typeof FAKE_USER = undefined; + + public get isLoggedIn(): boolean { + if (localStorage.getItem('authToken') === null) return false; + this.user = FAKE_USER; // todo call api to get user info in real time + return true; + } + + public get fullName(): string | undefined { + return this.isLoggedIn && this.user ? `${this.user.name} ${this.user.first_name}` : undefined; + } + + public get accountId(): string | undefined { + return this.isLoggedIn && this.user ? this.user.account_id : undefined; + } + + public get balance(): number | undefined { + return this.isLoggedIn && this.user ? this.user.balance : undefined; + } + + public get picture(): string | undefined { + return this.isLoggedIn && this.user ? this.user.profile_picture : undefined; + } + + public get banner(): string | undefined { + return this.isLoggedIn && this.user ? this.user.profile_banner : undefined; + } + + public logout(): void { + this.user = undefined; + localStorage.removeItem('authToken'); + } + + public login(jwt: string): void { + this.user = FAKE_USER; + localStorage.setItem('authToken', jwt); + } +} diff --git a/src/app/styles/themes.scss b/src/app/styles/themes.scss index 5638626..b06d42b 100644 --- a/src/app/styles/themes.scss +++ b/src/app/styles/themes.scss @@ -1,16 +1,15 @@ :root { --text-color: #000; --text-color-dark-bg: #ddd; - - --darkened: rgba(0, 0, 0, 0.5); + --text-color-dark-bg-placeholder: #888; + --darkened: rgb(0 0 0 / 50%); --navbar-background-color: var(--gray4); --navbar-text-color: var(--text-color-dark-bg); - --navbar-user-icon-light-color: #c6cdd5; --navbar-user-icon-dark-color: var(--gray3-hover); } -:root[data-theme=light] { +:root[data-theme="light"] { --background-color: #ecf2f8; --red: #ff1a0a; --orange: #faa356; @@ -18,23 +17,20 @@ --blue: #78c1ff; --dark-blue: #7597d1; --purple: #cea5fb; - --purple-hover: #cea5fb80; - --gray4: #161b22; + --gray3: #21262d; --gray2: #a5afb9; --gray1: #c6cdd5; - --gray4-hover: #161b2280; --gray3-hover: #21262d80; --gray2-hover: #a5afb980; --gray1-hover: #c6cdd580; - --text-color-dynamic: #000; } -:root[data-theme=dark] { +:root[data-theme="dark"] { --background-color: #0d1117; --red: #aa3028; --orange: #e27c22; @@ -42,39 +38,33 @@ --blue: #107b82; --dark-blue: #3592e4; --purple: #cea5fb; - --purple-hover: #cea5fb80; - --gray4: #12161d; --gray3: #161b22; --gray2: #1c2128; --gray1: #21262d; - --gray4-hover: #12161d80; --gray3-hover: #161b2280; --gray2-hover: #1c212880; --gray1-hover: #21262d80; - --text-color-dynamic: #fff; } -:root[data-event-theme=pinktober] { +:root[data-event-theme="pinktober"] { --navbar-background-color: #e891dc; --navbar-text-color: #400547; - --navbar-user-icon-light-color: #400547; --navbar-user-icon-dark-color: var(--purple-hover); } -:root[data-event-theme=christmas] { +:root[data-event-theme="christmas"] { --navbar-background-color: #095228; --navbar-text-color: #002111; - --navbar-user-icon-light-color: #002111; --navbar-user-icon-dark-color: #095228; } -:root[data-theme=high_contrast] { +:root[data-theme="high_contrast"] { --background-color: #000; --red: #f00; --orange: #ffa500; @@ -82,21 +72,17 @@ --blue: #deff00; --dark-blue: #deff00; --purple: #f33bee; - --gray4: #000; --gray3: #111; --gray2: #222; --gray1: #333; - --gray4-hover: #00000080; --gray3-hover: #11111180; --gray2-hover: #22222280; --gray1-hover: #33333380; - --text-color-dynamic: #fff; --navbar-background-color: var(--gray4); --navbar-text-color: var(--text-color-dark-bg); - --navbar-user-icon-light-color: var(--text-color-dark-bg); --navbar-user-icon-dark-color: var(--gray1); } \ No newline at end of file diff --git a/src/assets/i18n/en-US.json b/src/assets/i18n/en-US.json index 805a4c1..e7bd168 100644 --- a/src/assets/i18n/en-US.json +++ b/src/assets/i18n/en-US.json @@ -9,12 +9,13 @@ "shop": "Shop", "events": "Events", "forum": "Forum", - "pictures": "Pictures", + "pictures": "Pictures" + }, + "header": { "burger": { "connexion": "Sign in", "register": "Register" - }}, - "header": { + }, "options": { "title": "Accessibility Parameters", "themes": { @@ -41,15 +42,27 @@ "profile": { "profile": "Profile", "pictures": "Pictures", - "payments": "Payments" + "payments": "Payments", + "disconnect": "Disconnect" } }, "connection":{ "connection": "Log In", "no_account": "No account ? Register", "forgot_password": "Forgot your password ?", - "email": "exemple@website.com", + "email": "example@website.com", "connection_action": "Log In", "external_connection": "Or connect with" + }, + "register":{ + "register": "Register", + "already_have_account": "Already have an account ? Log In", + "last_name" : "Last name", + "first_name": "First name", + "date_birth_no_modif": "Your date of birth cannot be changed", + "email": "example@website.com", + "min_password": "Minimum of 8 characters including 1 special", + "confirm_password": "Confirm password", + "register_action": "Register" } } diff --git a/src/index.html b/src/index.html index d1ff5f7..208061f 100644 --- a/src/index.html +++ b/src/index.html @@ -6,7 +6,6 @@ - diff --git a/src/utils/document.spec.ts b/src/utils/document.spec.ts deleted file mode 100644 index 0e063ae..0000000 --- a/src/utils/document.spec.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { isRTL } from './document'; - -describe('document', () => { - it('should be able to determine if the document is in rtl mode', () => { - document.documentElement.dir = 'rtl'; - expect(isRTL()).toBe(true); - }); - - it('should be able to determine if the document is in ltr mode', () => { - document.documentElement.dir = 'ltr'; - expect(isRTL()).toBe(false); - }); -}); diff --git a/src/utils/document.ts b/src/utils/document.ts deleted file mode 100644 index 8e50c70..0000000 --- a/src/utils/document.ts +++ /dev/null @@ -1,7 +0,0 @@ -/** - * Determines if the document is in rtl mode. - * @returns {boolean} true if the text is rtl, false otherwise - */ -export function isRTL(): boolean { - return document.documentElement.dir === 'rtl'; -} diff --git a/src/utils/index.ts b/src/utils/index.ts index f3d1972..f416dcf 100644 --- a/src/utils/index.ts +++ b/src/utils/index.ts @@ -1,4 +1,3 @@ export * from './i18n'; export * from './object'; -export * from './document'; export * from './theme'; From 52b7adfc90507803d70ce84e852e0d93087e54e2 Mon Sep 17 00:00:00 2001 From: Julien Constant Date: Fri, 21 Apr 2023 02:42:01 +0200 Subject: [PATCH 023/146] Made side menu common components instead of mobile only --- src/app/components/common/common.module.ts | 38 +++- .../lang_selector.component.spec.ts | 14 +- .../lang_selector/lang_selector.component.ts | 6 +- .../lang_selector/lang_selector.html | 0 .../lang_selector/lang_selector.scss | 0 .../side_disconnected.component.ts | 11 ++ .../side_disconnected/side_disconnected.html | 13 ++ .../side_disconnected/side_disconnected.scss | 55 ++++++ .../side_menu/side_menu.component.ts | 5 +- .../side_menu/side_menu.html | 0 .../side_menu/side_menu.scss | 0 .../side_options/side_options.component.ts | 11 ++ .../side_menu/side_options/side_options.html | 15 ++ .../side_menu/side_options/side_options.scss | 6 + .../side_profile/side_profile.component.ts | 22 +++ .../side_menu/side_profile/side_profile.html | 32 +++ .../side_menu/side_profile/side_profile.scss | 122 ++++++++++++ .../subtitle/subtitle.component.spec.ts | 10 +- .../subtitle/subtitle.component.ts | 0 .../{mobile => common}/subtitle/subtitle.html | 0 .../{mobile => common}/subtitle/subtitle.scss | 0 .../theme_selector.component.ts | 4 +- .../theme_selector/theme_selector.html | 2 +- .../theme_selector/theme_selector.scss | 1 + .../title/title.component.ts | 4 +- .../{mobile => common}/title/title.html | 0 .../{mobile => common}/title/title.scss | 0 .../desktop/header/header.component.ts | 25 ++- src/app/components/desktop/header/header.html | 25 ++- src/app/components/desktop/header/header.scss | 33 ++++ .../desktop/navbar/navbar.component.ts | 4 +- src/app/components/desktop/navbar/navbar.html | 2 +- .../mobile/header/header.component.ts | 6 - src/app/components/mobile/header/header.html | 65 +----- src/app/components/mobile/header/header.scss | 185 ------------------ src/app/components/mobile/mobile.module.ts | 25 +-- .../mobile/navbar/navbar.component.ts | 7 +- src/app/components/mobile/navbar/navbar.html | 4 +- src/app/components/pages/login/login.html | 2 +- src/app/components/pages/login/login.scss | 12 +- .../components/pages/register/register.html | 2 +- .../components/pages/register/register.scss | 12 +- src/app/styles/themes.scss | 1 - 43 files changed, 460 insertions(+), 321 deletions(-) rename src/app/components/{mobile => common}/lang_selector/lang_selector.component.spec.ts (88%) rename src/app/components/{mobile => common}/lang_selector/lang_selector.component.ts (93%) rename src/app/components/{mobile => common}/lang_selector/lang_selector.html (100%) rename src/app/components/{mobile => common}/lang_selector/lang_selector.scss (100%) create mode 100644 src/app/components/common/side_menu/side_disconnected/side_disconnected.component.ts create mode 100644 src/app/components/common/side_menu/side_disconnected/side_disconnected.html create mode 100644 src/app/components/common/side_menu/side_disconnected/side_disconnected.scss rename src/app/components/{mobile => common}/side_menu/side_menu.component.ts (86%) rename src/app/components/{mobile => common}/side_menu/side_menu.html (100%) rename src/app/components/{mobile => common}/side_menu/side_menu.scss (100%) create mode 100644 src/app/components/common/side_menu/side_options/side_options.component.ts create mode 100644 src/app/components/common/side_menu/side_options/side_options.html create mode 100644 src/app/components/common/side_menu/side_options/side_options.scss create mode 100644 src/app/components/common/side_menu/side_profile/side_profile.component.ts create mode 100644 src/app/components/common/side_menu/side_profile/side_profile.html create mode 100644 src/app/components/common/side_menu/side_profile/side_profile.scss rename src/app/components/{mobile => common}/subtitle/subtitle.component.spec.ts (81%) rename src/app/components/{mobile => common}/subtitle/subtitle.component.ts (100%) rename src/app/components/{mobile => common}/subtitle/subtitle.html (100%) rename src/app/components/{mobile => common}/subtitle/subtitle.scss (100%) rename src/app/components/{mobile => common}/theme_selector/theme_selector.component.ts (95%) rename src/app/components/{mobile => common}/theme_selector/theme_selector.html (81%) rename src/app/components/{mobile => common}/theme_selector/theme_selector.scss (97%) rename src/app/components/{mobile => common}/title/title.component.ts (77%) rename src/app/components/{mobile => common}/title/title.html (100%) rename src/app/components/{mobile => common}/title/title.scss (100%) diff --git a/src/app/components/common/common.module.ts b/src/app/components/common/common.module.ts index 5a31bee..acdbbcc 100644 --- a/src/app/components/common/common.module.ts +++ b/src/app/components/common/common.module.ts @@ -3,10 +3,42 @@ import { IconsModule } from './icons/icons.module'; import { SelectComponent } from './select/select.component'; import { CommonModule } from '@angular/common'; import { ButtonComponent } from './button/button.component'; +import { SideMenuComponent } from './side_menu/side_menu.component'; +import { SideMenuOptionsComponent } from './side_menu/side_options/side_options.component'; +import { SideMenuProfileComponent } from './side_menu/side_profile/side_profile.component'; +import { SideMenuDisconnectedComponent } from './side_menu/side_disconnected/side_disconnected.component'; +import { TranslateModule } from '@ngx-translate/core'; +import { LangSelectorComponent } from './lang_selector/lang_selector.component'; +import { TitleComponent } from './title/title.component'; +import { SubtitleComponent } from './subtitle/subtitle.component'; +import { ThemeSelectorComponent } from './theme_selector/theme_selector.component'; @NgModule({ - declarations: [SelectComponent, ButtonComponent], - exports: [IconsModule, SelectComponent, ButtonComponent], - imports: [IconsModule, CommonModule], + declarations: [ + SelectComponent, + ButtonComponent, + SideMenuComponent, + SideMenuOptionsComponent, + SideMenuProfileComponent, + SideMenuDisconnectedComponent, + LangSelectorComponent, + TitleComponent, + SubtitleComponent, + ThemeSelectorComponent, + ], + exports: [ + IconsModule, + SelectComponent, + ButtonComponent, + SideMenuComponent, + SideMenuOptionsComponent, + SideMenuProfileComponent, + SideMenuDisconnectedComponent, + LangSelectorComponent, + TitleComponent, + SubtitleComponent, + ThemeSelectorComponent, + ], + imports: [IconsModule, CommonModule, TranslateModule], }) export class CommonComponentsModule {} diff --git a/src/app/components/mobile/lang_selector/lang_selector.component.spec.ts b/src/app/components/common/lang_selector/lang_selector.component.spec.ts similarity index 88% rename from src/app/components/mobile/lang_selector/lang_selector.component.spec.ts rename to src/app/components/common/lang_selector/lang_selector.component.spec.ts index e95e9b2..13c8eaf 100644 --- a/src/app/components/mobile/lang_selector/lang_selector.component.spec.ts +++ b/src/app/components/common/lang_selector/lang_selector.component.spec.ts @@ -1,25 +1,25 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { TranslateModule, TranslateService } from '@ngx-translate/core'; -import { MobileLangSelectorComponent } from './lang_selector.component'; -import { MobileComponentsModule } from '../mobile.module'; -import { ISelectOption } from '../../common/select/select.component'; +import { LangSelectorComponent } from './lang_selector.component'; +import { MobileComponentsModule } from '../../mobile/mobile.module'; +import { ISelectOption } from '../select/select.component'; import { getLanguage } from 'src/utils'; describe('MobileLangSelectorComponent', () => { - let component: MobileLangSelectorComponent; - let fixture: ComponentFixture; + let component: LangSelectorComponent; + let fixture: ComponentFixture; let translateService: TranslateService; beforeEach(async () => { await TestBed.configureTestingModule({ - declarations: [MobileLangSelectorComponent], + declarations: [LangSelectorComponent], imports: [TranslateModule.forRoot(), MobileComponentsModule], providers: [Document, TranslateService], }).compileComponents(); }); beforeEach(() => { - fixture = TestBed.createComponent(MobileLangSelectorComponent); + fixture = TestBed.createComponent(LangSelectorComponent); component = fixture.componentInstance; translateService = TestBed.inject(TranslateService); fixture.detectChanges(); diff --git a/src/app/components/mobile/lang_selector/lang_selector.component.ts b/src/app/components/common/lang_selector/lang_selector.component.ts similarity index 93% rename from src/app/components/mobile/lang_selector/lang_selector.component.ts rename to src/app/components/common/lang_selector/lang_selector.component.ts index 0845b65..f928d1d 100644 --- a/src/app/components/mobile/lang_selector/lang_selector.component.ts +++ b/src/app/components/common/lang_selector/lang_selector.component.ts @@ -1,15 +1,15 @@ import { Component, Inject } from '@angular/core'; import { TranslateService } from '@ngx-translate/core'; import { getLanguage, getLanguageCompletion, getLanguageDirection, LANGUAGES } from 'src/utils'; -import { ISelectOption } from '../../common/select/select.component'; +import { ISelectOption } from '../select/select.component'; import { Observable } from 'rxjs'; @Component({ - selector: 'app-mobile-lang-selector', + selector: 'app-lang-selector', templateUrl: './lang_selector.html', styleUrls: ['./lang_selector.scss'], }) -export class MobileLangSelectorComponent { +export class LangSelectorComponent { public lang: string = localStorage.getItem('lang') ?? getLanguage(window.navigator.language); public langs: ISelectOption[] = LANGUAGES.map((lang) => ({ diff --git a/src/app/components/mobile/lang_selector/lang_selector.html b/src/app/components/common/lang_selector/lang_selector.html similarity index 100% rename from src/app/components/mobile/lang_selector/lang_selector.html rename to src/app/components/common/lang_selector/lang_selector.html diff --git a/src/app/components/mobile/lang_selector/lang_selector.scss b/src/app/components/common/lang_selector/lang_selector.scss similarity index 100% rename from src/app/components/mobile/lang_selector/lang_selector.scss rename to src/app/components/common/lang_selector/lang_selector.scss diff --git a/src/app/components/common/side_menu/side_disconnected/side_disconnected.component.ts b/src/app/components/common/side_menu/side_disconnected/side_disconnected.component.ts new file mode 100644 index 0000000..afbfa99 --- /dev/null +++ b/src/app/components/common/side_menu/side_disconnected/side_disconnected.component.ts @@ -0,0 +1,11 @@ +import { Component, Inject } from '@angular/core'; +import { PageService } from 'src/app/services/page.service'; + +@Component({ + selector: 'app-side-menu-disconnected', + templateUrl: './side_disconnected.html', + styleUrls: ['./side_disconnected.scss'], +}) +export class SideMenuDisconnectedComponent { + public constructor(@Inject(PageService) public readonly p: PageService) {} +} diff --git a/src/app/components/common/side_menu/side_disconnected/side_disconnected.html b/src/app/components/common/side_menu/side_disconnected/side_disconnected.html new file mode 100644 index 0000000..1c0e133 --- /dev/null +++ b/src/app/components/common/side_menu/side_disconnected/side_disconnected.html @@ -0,0 +1,13 @@ +
+
+ +
+ Association des Étudiants + de l'université de technologie de Belfort-Montbéliard +
+
+
+ + +
+
\ No newline at end of file diff --git a/src/app/components/common/side_menu/side_disconnected/side_disconnected.scss b/src/app/components/common/side_menu/side_disconnected/side_disconnected.scss new file mode 100644 index 0000000..9c54688 --- /dev/null +++ b/src/app/components/common/side_menu/side_disconnected/side_disconnected.scss @@ -0,0 +1,55 @@ +.disconnected-container { + padding: 10px 15px; + display: flex; + flex-direction: column; + gap: 30px; + + >.title { + display: flex; + flex-direction: column; + align-items: center; + + >.logo { + width: 128px; + height: 80px; + display: block; + margin-left: auto; + margin-right: auto; + background-image: url('/assets/logo_ae.webp'); + background-size: cover; + background-position: center; + background-repeat: no-repeat; + } + + >.text-container { + display: flex; + justify-content: center; + align-items: center; + flex-direction: column; + height: 40px; + + >.text { + color: white; + font-family: Inter, sans-serif; + font-size: 23px; + white-space: nowrap; + } + + >.small { + font-size: 9px; + text-transform: uppercase; + } + } + } + + >.buttons { + display: flex; + flex-direction: column; + align-items: center; + gap: 8px; + + >* { + width: 100%; + } + } +} \ No newline at end of file diff --git a/src/app/components/mobile/side_menu/side_menu.component.ts b/src/app/components/common/side_menu/side_menu.component.ts similarity index 86% rename from src/app/components/mobile/side_menu/side_menu.component.ts rename to src/app/components/common/side_menu/side_menu.component.ts index 9897fe8..71ba886 100644 --- a/src/app/components/mobile/side_menu/side_menu.component.ts +++ b/src/app/components/common/side_menu/side_menu.component.ts @@ -6,10 +6,9 @@ import { PageService } from 'src/app/services/page.service'; templateUrl: './side_menu.html', styleUrls: ['./side_menu.scss'], }) -export class MobileSideMenuComponent { +export class SideMenuComponent { private _closing = false; - - @Output() public close = new EventEmitter(); + @Output() public close = new EventEmitter(); public constructor(@Inject(PageService) public readonly p: PageService) {} diff --git a/src/app/components/mobile/side_menu/side_menu.html b/src/app/components/common/side_menu/side_menu.html similarity index 100% rename from src/app/components/mobile/side_menu/side_menu.html rename to src/app/components/common/side_menu/side_menu.html diff --git a/src/app/components/mobile/side_menu/side_menu.scss b/src/app/components/common/side_menu/side_menu.scss similarity index 100% rename from src/app/components/mobile/side_menu/side_menu.scss rename to src/app/components/common/side_menu/side_menu.scss diff --git a/src/app/components/common/side_menu/side_options/side_options.component.ts b/src/app/components/common/side_menu/side_options/side_options.component.ts new file mode 100644 index 0000000..882e3cb --- /dev/null +++ b/src/app/components/common/side_menu/side_options/side_options.component.ts @@ -0,0 +1,11 @@ +import { Component, Inject } from '@angular/core'; +import { UserService } from 'src/app/services/user.service'; + +@Component({ + selector: 'app-side-menu-options', + templateUrl: './side_options.html', + styleUrls: ['./side_options.scss'], +}) +export class SideMenuOptionsComponent { + public constructor(@Inject(UserService) public readonly u: UserService) {} +} diff --git a/src/app/components/common/side_menu/side_options/side_options.html b/src/app/components/common/side_menu/side_options/side_options.html new file mode 100644 index 0000000..4cd4730 --- /dev/null +++ b/src/app/components/common/side_menu/side_options/side_options.html @@ -0,0 +1,15 @@ +
+ + + + + +
+ +
+ + +
+ +
+
\ No newline at end of file diff --git a/src/app/components/common/side_menu/side_options/side_options.scss b/src/app/components/common/side_menu/side_options/side_options.scss new file mode 100644 index 0000000..7c38778 --- /dev/null +++ b/src/app/components/common/side_menu/side_options/side_options.scss @@ -0,0 +1,6 @@ +.options-container { + display: flex; + flex-direction: column; + gap: 20px; + padding: 10px 15px; +} \ No newline at end of file diff --git a/src/app/components/common/side_menu/side_profile/side_profile.component.ts b/src/app/components/common/side_menu/side_profile/side_profile.component.ts new file mode 100644 index 0000000..894718f --- /dev/null +++ b/src/app/components/common/side_menu/side_profile/side_profile.component.ts @@ -0,0 +1,22 @@ +import { Component, EventEmitter, Inject, Output } from '@angular/core'; +import { PageService } from 'src/app/services/page.service'; +import { UserService } from 'src/app/services/user.service'; + +@Component({ + selector: 'app-side-menu-profile', + templateUrl: './side_profile.html', + styleUrls: ['./side_profile.scss'], +}) +export class SideMenuProfileComponent { + @Output() public close = new EventEmitter(); + + public constructor( + @Inject(UserService) public readonly u: UserService, + @Inject(PageService) public readonly p: PageService, + ) {} + + public logout(): void { + this.close.emit(); + this.u.logout(); + } +} diff --git a/src/app/components/common/side_menu/side_profile/side_profile.html b/src/app/components/common/side_menu/side_profile/side_profile.html new file mode 100644 index 0000000..5d60aeb --- /dev/null +++ b/src/app/components/common/side_menu/side_profile/side_profile.html @@ -0,0 +1,32 @@ +
+
+
+
+
+ +
+
+ {{ u.fullName }} + {{ u.balance }} € +
+ {{ u.accountId }} +
+
+ + + {{ 'header.profile.disconnect' | translate }} +
+
\ No newline at end of file diff --git a/src/app/components/common/side_menu/side_profile/side_profile.scss b/src/app/components/common/side_menu/side_profile/side_profile.scss new file mode 100644 index 0000000..b697cda --- /dev/null +++ b/src/app/components/common/side_menu/side_profile/side_profile.scss @@ -0,0 +1,122 @@ +.profile-container { + position: relative; + height: 100%; + + >.background-image { + width: 100%; + height: 136px; + background-color: var(--navbar-background-color); + background-size: cover; + background-repeat: no-repeat; + background-position: center; + display: flex; + align-items: flex-end; + justify-content: flex-end; + padding: 5px; + gap: 5px; + + >.promotion { + width: 34px; + border-radius: 50%; + } + + >.ae-sticker { + width: 51px; + border-radius: 5px; + } + + >.promotion, + >.ae-sticker { + display: block; + height: 34px; + border: dotted 2px var(--text-color-dark-bg); + } + } + + >.infos { + margin-left: 110px; + color: var(--text-color-dark-bg); + display: flex; + justify-content: space-between; + align-items: flex-start; + padding: 5px; + padding-left: 0; + min-height: 50px; + font-family: Roboto, sans-serif; + font-weight: 500; + font-size: 14px; + + &.rtl { + margin-left: 0; + margin-right: 110px; + } + + >.left { + display: flex; + flex-direction: column; + } + } + + >.user-picture { + position: absolute; + width: 100px; + height: 100px; + left: 5px; + top: calc(136px - 50px); + + &.rtl { + left: unset; + right: 5px; + } + } + + > main { + padding: 16px 16px 40px; + height: calc(100vh - 136px - 50px); + display: flex; + flex-direction: column; + justify-content: space-between; + + .links { + display: flex; + background-color: var(--gray4); + height: 30px; + padding: 5px 10px; + align-items: center; + justify-content: space-evenly; + border-radius: 5px; + + > li { + display: flex; + align-items: center; + gap: 5px; + + > .icon { + width: 16px; + height: 16px; + fill: var(--text-color-dark-bg); + } + + span { + color: var(--text-color-dark-bg); + font-family: Roboto, sans-serif; + font-weight: 400; + font-size: 10px; + text-transform: uppercase; + } + } + } + + .logout { + cursor: pointer; + color: var(--red); + font-family: Roboto, sans-serif; + font-weight: normal; + font-size: 16px; + height: 20px; + text-transform: uppercase; + text-align: center; + width: 100%; + } + } +} \ No newline at end of file diff --git a/src/app/components/mobile/subtitle/subtitle.component.spec.ts b/src/app/components/common/subtitle/subtitle.component.spec.ts similarity index 81% rename from src/app/components/mobile/subtitle/subtitle.component.spec.ts rename to src/app/components/common/subtitle/subtitle.component.spec.ts index 0aebf4e..3734709 100644 --- a/src/app/components/mobile/subtitle/subtitle.component.spec.ts +++ b/src/app/components/common/subtitle/subtitle.component.spec.ts @@ -1,18 +1,18 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; -import { MobileSubtitleComponent } from './subtitle.component'; +import { SubtitleComponent } from './subtitle.component'; describe('MobileSubtitleComponent', () => { - let component: MobileSubtitleComponent; - let fixture: ComponentFixture; + let component: SubtitleComponent; + let fixture: ComponentFixture; beforeEach(async () => { await TestBed.configureTestingModule({ - declarations: [MobileSubtitleComponent], + declarations: [SubtitleComponent], }).compileComponents(); }); beforeEach(() => { - fixture = TestBed.createComponent(MobileSubtitleComponent); + fixture = TestBed.createComponent(SubtitleComponent); component = fixture.componentInstance; fixture.detectChanges(); }); diff --git a/src/app/components/mobile/subtitle/subtitle.component.ts b/src/app/components/common/subtitle/subtitle.component.ts similarity index 100% rename from src/app/components/mobile/subtitle/subtitle.component.ts rename to src/app/components/common/subtitle/subtitle.component.ts diff --git a/src/app/components/mobile/subtitle/subtitle.html b/src/app/components/common/subtitle/subtitle.html similarity index 100% rename from src/app/components/mobile/subtitle/subtitle.html rename to src/app/components/common/subtitle/subtitle.html diff --git a/src/app/components/mobile/subtitle/subtitle.scss b/src/app/components/common/subtitle/subtitle.scss similarity index 100% rename from src/app/components/mobile/subtitle/subtitle.scss rename to src/app/components/common/subtitle/subtitle.scss diff --git a/src/app/components/mobile/theme_selector/theme_selector.component.ts b/src/app/components/common/theme_selector/theme_selector.component.ts similarity index 95% rename from src/app/components/mobile/theme_selector/theme_selector.component.ts rename to src/app/components/common/theme_selector/theme_selector.component.ts index ca24be4..242867e 100644 --- a/src/app/components/mobile/theme_selector/theme_selector.component.ts +++ b/src/app/components/common/theme_selector/theme_selector.component.ts @@ -8,11 +8,11 @@ export interface ITheme { } @Component({ - selector: 'app-mobile-theme-selector', + selector: 'app-theme-selector', templateUrl: './theme_selector.html', styleUrls: ['./theme_selector.scss'], }) -export class MobileThemeSelectorComponent { +export class ThemeSelectorComponent { public themes: ITheme[] = [ { name: 'header.options.themes.light', value: 'light' }, { name: 'header.options.themes.dark', value: 'dark' }, diff --git a/src/app/components/mobile/theme_selector/theme_selector.html b/src/app/components/common/theme_selector/theme_selector.html similarity index 81% rename from src/app/components/mobile/theme_selector/theme_selector.html rename to src/app/components/common/theme_selector/theme_selector.html index a6abafb..a4f3191 100644 --- a/src/app/components/mobile/theme_selector/theme_selector.html +++ b/src/app/components/common/theme_selector/theme_selector.html @@ -1,4 +1,4 @@ - +
  • diff --git a/src/app/components/mobile/theme_selector/theme_selector.scss b/src/app/components/common/theme_selector/theme_selector.scss similarity index 97% rename from src/app/components/mobile/theme_selector/theme_selector.scss rename to src/app/components/common/theme_selector/theme_selector.scss index 6e2e514..7c18df5 100644 --- a/src/app/components/mobile/theme_selector/theme_selector.scss +++ b/src/app/components/common/theme_selector/theme_selector.scss @@ -10,6 +10,7 @@ align-items: center; gap: 15px; height: 20px; + cursor: pointer; .selector { background-color: white; diff --git a/src/app/components/mobile/title/title.component.ts b/src/app/components/common/title/title.component.ts similarity index 77% rename from src/app/components/mobile/title/title.component.ts rename to src/app/components/common/title/title.component.ts index 58d2efa..1d6c660 100644 --- a/src/app/components/mobile/title/title.component.ts +++ b/src/app/components/common/title/title.component.ts @@ -1,11 +1,11 @@ import { Component, Input } from '@angular/core'; @Component({ - selector: 'app-mobile-title', + selector: 'app-title', templateUrl: './title.html', styleUrls: ['./title.scss'], }) -export class MobileTitleComponent { +export class TitleComponent { @Input() public text = ''; @Input() public onDarkBackground = false; @Input() public isCentered = false; diff --git a/src/app/components/mobile/title/title.html b/src/app/components/common/title/title.html similarity index 100% rename from src/app/components/mobile/title/title.html rename to src/app/components/common/title/title.html diff --git a/src/app/components/mobile/title/title.scss b/src/app/components/common/title/title.scss similarity index 100% rename from src/app/components/mobile/title/title.scss rename to src/app/components/common/title/title.scss diff --git a/src/app/components/desktop/header/header.component.ts b/src/app/components/desktop/header/header.component.ts index ad23739..b4a1baa 100644 --- a/src/app/components/desktop/header/header.component.ts +++ b/src/app/components/desktop/header/header.component.ts @@ -1,4 +1,6 @@ -import { Component } from '@angular/core'; +import { Component, Inject } from '@angular/core'; +import { PageService } from 'src/app/services/page.service'; +import { UserService } from 'src/app/services/user.service'; import { getThemeEvent } from 'src/utils'; @Component({ @@ -7,6 +9,27 @@ import { getThemeEvent } from 'src/utils'; styleUrls: ['./header.scss'], }) export class DesktopHeaderComponent { + public profileOpened = false; + public optionsOpened = false; + public connectionOpened = false; + + public constructor( + @Inject(UserService) public readonly u: UserService, + @Inject(PageService) public readonly p: PageService, + ) {} + + public triggerSideMenuProfile(): void { + this.profileOpened = !this.profileOpened; + } + + public triggerSideMenuConnection(): void { + this.connectionOpened = !this.connectionOpened; + } + + public triggerSideMenuOptions(): void { + this.optionsOpened = !this.optionsOpened; + } + public get logo(): string { switch (getThemeEvent()) { case 'christmas': diff --git a/src/app/components/desktop/header/header.html b/src/app/components/desktop/header/header.html index f143855..9692497 100644 --- a/src/app/components/desktop/header/header.html +++ b/src/app/components/desktop/header/header.html @@ -1,5 +1,5 @@
    -
    +
    Association des Étudiants @@ -8,9 +8,22 @@
    - - - - + + + + +
    -
    \ No newline at end of file +
    + + + + + + + + + + + + \ No newline at end of file diff --git a/src/app/components/desktop/header/header.scss b/src/app/components/desktop/header/header.scss index 9713b97..d1ba77f 100644 --- a/src/app/components/desktop/header/header.scss +++ b/src/app/components/desktop/header/header.scss @@ -7,6 +7,7 @@ padding-left: 10px; > .title { + cursor: pointer; display: flex; align-items: center; height: 64px; @@ -34,6 +35,10 @@ text-transform: uppercase; } } + + &:hover > .text { + color: var(--dark-blue); + } } > .icons { @@ -53,6 +58,34 @@ width: 22px; height: 22px; } + + &:hover { + fill: var(--dark-blue); + } } } +} + +.side-menu { + position: absolute; + top: 0; + height: 100vh; + width: 100vw; + animation: fade 0.5s ease-in-out; + background-color: var(--darkened); + display: none; + + &.open { + display: block; + } +} + +@keyframes fade { + 0% { + opacity: 0; + } + + 100% { + opacity: 1; + } } \ No newline at end of file diff --git a/src/app/components/desktop/navbar/navbar.component.ts b/src/app/components/desktop/navbar/navbar.component.ts index 9d6484c..3115295 100644 --- a/src/app/components/desktop/navbar/navbar.component.ts +++ b/src/app/components/desktop/navbar/navbar.component.ts @@ -1,5 +1,5 @@ import { Component, Inject } from '@angular/core'; -import { TranslateService } from '@ngx-translate/core'; +import { UserService } from 'src/app/services/user.service'; @Component({ selector: 'app-desktop-navbar', @@ -7,5 +7,5 @@ import { TranslateService } from '@ngx-translate/core'; styleUrls: ['./navbar.scss'], }) export class DesktopNavbarComponent { - public constructor(@Inject(TranslateService) public readonly translate: TranslateService) {} + public constructor(@Inject(UserService) public readonly u: UserService) {} } diff --git a/src/app/components/desktop/navbar/navbar.html b/src/app/components/desktop/navbar/navbar.html index 7e5aaeb..74882aa 100644 --- a/src/app/components/desktop/navbar/navbar.html +++ b/src/app/components/desktop/navbar/navbar.html @@ -1,5 +1,5 @@ + +
    + {{ 'connection.already_logged_as_x' | translate: { name: u.fullName } }} +
    +
    diff --git a/src/app/components/pages/login/login.scss b/src/app/components/pages/login/login.scss index a831b81..add1543 100644 --- a/src/app/components/pages/login/login.scss +++ b/src/app/components/pages/login/login.scss @@ -1,7 +1,6 @@ main { background-color: var(--gray3); - width: 100vw; - height: 100vh; + min-height: 100vh; display: flex; flex-direction: column; align-items: center; @@ -9,6 +8,18 @@ main { gap: 40px; padding: 40px 20px 60px; + > .warning { + font-family: Roboto, sans-serif; + background-color: var(--orange-hover); + color: var(--text-color-dark-bg); + border: 1px solid var(--orange); + padding: 10px; + width: 100%; + max-width: 400px; + border-radius: 5px; + text-align: center; + } + > .header { cursor: pointer; display: flex; diff --git a/src/app/components/pages/register/register.component.ts b/src/app/components/pages/register/register.component.ts index c7b9ad1..ad2c85a 100644 --- a/src/app/components/pages/register/register.component.ts +++ b/src/app/components/pages/register/register.component.ts @@ -1,5 +1,6 @@ import { Component, Inject } from '@angular/core'; import { PageService } from 'src/app/services/page.service'; +import { UserService } from 'src/app/services/user.service'; @Component({ selector: 'app-register', @@ -7,5 +8,8 @@ import { PageService } from 'src/app/services/page.service'; styleUrls: ['./register.scss'], }) export class RegisterComponent { - public constructor(@Inject(PageService) public readonly p: PageService) {} + public constructor( + @Inject(PageService) public readonly p: PageService, + @Inject(UserService) public readonly u: UserService, + ) {} } diff --git a/src/app/components/pages/register/register.html b/src/app/components/pages/register/register.html index 0b773fb..8b63aad 100644 --- a/src/app/components/pages/register/register.html +++ b/src/app/components/pages/register/register.html @@ -7,6 +7,10 @@
    +
    + {{ 'register.already_registered_and_logged_as_x' | translate: { name: u.fullName } }} +
    +
    diff --git a/src/app/components/pages/register/register.scss b/src/app/components/pages/register/register.scss index efa1449..06afa4d 100644 --- a/src/app/components/pages/register/register.scss +++ b/src/app/components/pages/register/register.scss @@ -1,7 +1,6 @@ main { background-color: var(--gray3); - width: 100vw; - height: 100vh; + min-height: 100vh; display: flex; flex-direction: column; align-items: center; @@ -9,6 +8,18 @@ main { gap: 40px; padding: 40px 20px 60px; + > .warning { + font-family: Roboto, sans-serif; + background-color: var(--orange-hover); + color: var(--text-color-dark-bg); + border: 1px solid var(--orange); + padding: 10px; + width: 100%; + max-width: 400px; + border-radius: 5px; + text-align: center; + } + > .header { cursor: pointer; display: flex; diff --git a/src/app/services/user.service.ts b/src/app/services/user.service.ts index 4ddf947..ffb21bf 100644 --- a/src/app/services/user.service.ts +++ b/src/app/services/user.service.ts @@ -22,7 +22,7 @@ export class UserService { } public get fullName(): string | undefined { - return this.isLoggedIn && this.user ? `${this.user.name} ${this.user.first_name}` : undefined; + return this.isLoggedIn && this.user ? `${this.user.first_name} ${this.user.name}` : undefined; } public get accountId(): string | undefined { diff --git a/src/app/styles/themes.scss b/src/app/styles/themes.scss index 6828a0d..374f5fa 100644 --- a/src/app/styles/themes.scss +++ b/src/app/styles/themes.scss @@ -12,7 +12,9 @@ :root[data-theme="light"] { --background-color: #ecf2f8; --red: #ff1a0a; + --red-hover: #ff1a0a80; --orange: #faa356; + --orange-hover: #faa35680; --green: #7ce38b; --blue: #78c1ff; --dark-blue: #7597d1; @@ -32,7 +34,9 @@ :root[data-theme="dark"] { --background-color: #0d1117; --red: #aa3028; + --red-hover: #aa302880; --orange: #e27c22; + --orange-hover: #e27c2280; --green: #2d8655; --blue: #107b82; --dark-blue: #3592e4; @@ -66,7 +70,9 @@ :root[data-theme="high_contrast"] { --background-color: #000; --red: #f00; + --red-hover: #f00; --orange: #ffa500; + --orange-hover: #ffa500; --green: #0f0; --blue: #deff00; --dark-blue: #deff00; diff --git a/src/assets/i18n/en-US.json b/src/assets/i18n/en-US.json index e7bd168..8cc237d 100644 --- a/src/assets/i18n/en-US.json +++ b/src/assets/i18n/en-US.json @@ -52,7 +52,8 @@ "forgot_password": "Forgot your password ?", "email": "example@website.com", "connection_action": "Log In", - "external_connection": "Or connect with" + "external_connection": "Or connect with", + "already_logged_as_x": "You are already logged as {{name}}" }, "register":{ "register": "Register", @@ -63,6 +64,7 @@ "email": "example@website.com", "min_password": "Minimum of 8 characters including 1 special", "confirm_password": "Confirm password", - "register_action": "Register" + "register_action": "Register", + "already_registered_and_logged_as_x": "You are already registered and logged as {{name}}" } } From cb9455e60437dc6bfc101224c87f948acd91da5c Mon Sep 17 00:00:00 2001 From: Julien Constant Date: Fri, 21 Apr 2023 16:50:14 +0200 Subject: [PATCH 026/146] Added the forgot password page --- .vscode/settings.json | 3 +- src/app/app-routing.module.ts | 5 + .../side_disconnected/side_disconnected.html | 4 +- .../forgot_password.component.ts | 15 ++ .../forgot_password/forgot_password.html | 36 +++++ .../forgot_password/forgot_password.scss | 139 ++++++++++++++++++ src/app/components/pages/login/login.html | 6 +- src/app/components/pages/pages.module.ts | 5 +- .../components/pages/register/register.html | 10 +- src/assets/i18n/en-US.json | 28 ++-- 10 files changed, 226 insertions(+), 25 deletions(-) create mode 100644 src/app/components/pages/forgot_password/forgot_password.component.ts create mode 100644 src/app/components/pages/forgot_password/forgot_password.html create mode 100644 src/app/components/pages/forgot_password/forgot_password.scss diff --git a/.vscode/settings.json b/.vscode/settings.json index eb68c2c..21aee2c 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -15,5 +15,6 @@ "stylelint", "truetype" ], - "files.eol": "\n" + "files.eol": "\n", + "vue.features.codeActions.enable": false } diff --git a/src/app/app-routing.module.ts b/src/app/app-routing.module.ts index d8f4f35..de5a79c 100644 --- a/src/app/app-routing.module.ts +++ b/src/app/app-routing.module.ts @@ -4,6 +4,7 @@ import { NotFoundComponent } from './components/pages/404/not-found.component'; import { HomeComponent } from './components/pages/home/home.component'; import { LoginComponent } from './components/pages/login/login.component'; import { RegisterComponent } from './components/pages/register/register.component'; +import { ForgotPasswordComponent } from './components/pages/forgot_password/forgot_password.component'; const routes: Routes = [ { @@ -27,6 +28,10 @@ const routes: Routes = [ path: 'register', component: RegisterComponent, }, + { + path: 'forgot_password', + component: ForgotPasswordComponent, + }, { path: '**', redirectTo: '404', diff --git a/src/app/components/common/side_menu/side_disconnected/side_disconnected.html b/src/app/components/common/side_menu/side_disconnected/side_disconnected.html index 1c0e133..0f12dac 100644 --- a/src/app/components/common/side_menu/side_disconnected/side_disconnected.html +++ b/src/app/components/common/side_menu/side_disconnected/side_disconnected.html @@ -7,7 +7,7 @@
- - + +
\ No newline at end of file diff --git a/src/app/components/pages/forgot_password/forgot_password.component.ts b/src/app/components/pages/forgot_password/forgot_password.component.ts new file mode 100644 index 0000000..87d35ea --- /dev/null +++ b/src/app/components/pages/forgot_password/forgot_password.component.ts @@ -0,0 +1,15 @@ +import { Component, Inject } from '@angular/core'; +import { PageService } from 'src/app/services/page.service'; +import { UserService } from 'src/app/services/user.service'; + +@Component({ + selector: 'app-forgot-password', + templateUrl: './forgot_password.html', + styleUrls: ['./forgot_password.scss'], +}) +export class ForgotPasswordComponent { + public constructor( + @Inject(PageService) public readonly p: PageService, + @Inject(UserService) public readonly u: UserService, + ) {} +} diff --git a/src/app/components/pages/forgot_password/forgot_password.html b/src/app/components/pages/forgot_password/forgot_password.html new file mode 100644 index 0000000..0097dac --- /dev/null +++ b/src/app/components/pages/forgot_password/forgot_password.html @@ -0,0 +1,36 @@ +
+
+ +
+ Association des Étudiants + de l'université de technologie de Belfort-Montbéliard +
+
+ +
+ {{ 'connection.already_logged_as_x' | translate: { name: u.fullName } }} +
+ + + + +
+ {{ 'forgot_password.description' | translate }} +
+ +
+
+
+ + +
+ an error occurred +
+
+ + + +
\ No newline at end of file diff --git a/src/app/components/pages/forgot_password/forgot_password.scss b/src/app/components/pages/forgot_password/forgot_password.scss new file mode 100644 index 0000000..63ba6fb --- /dev/null +++ b/src/app/components/pages/forgot_password/forgot_password.scss @@ -0,0 +1,139 @@ +main { + background-color: var(--gray3); + min-height: 100vh; + display: flex; + flex-direction: column; + align-items: center; + justify-content: flex-start; + gap: 40px; + padding: 40px 20px 60px; + + >.warning { + font-family: Roboto, sans-serif; + background-color: var(--orange-hover); + color: var(--text-color-dark-bg); + border: 1px solid var(--orange); + padding: 10px; + width: 100%; + max-width: 400px; + border-radius: 5px; + text-align: center; + } + + >.header { + cursor: pointer; + display: flex; + flex-direction: column; + align-items: center; + justify-content: flex-start; + + >.logo { + width: 200px; + height: 130px; + background-image: url('/assets/logo_ae.webp'); + background-size: cover; + background-position: center; + background-repeat: no-repeat; + } + + >.text { + display: flex; + flex-direction: column; + color: var(--text-color-dark-bg); + font-family: Inter, sans-serif; + + >.title { + font-size: 25.5px; + } + + >.subtitle { + text-transform: uppercase; + font-size: 10px; + } + } + + &:hover>.text { + color: var(--dark-blue); + } + } + + >form { + width: 100%; + max-width: 400px; + display: flex; + flex-direction: column; + gap: 30px; + + >.form-head { + width: 100%; + } + + >.form-description { + color: var(--text-color-dark-bg); + font-family: Inter; + font-size: 14px; + font-style: italic; + } + + >.form-body { + display: flex; + flex-direction: column; + gap: 10px; + + >.global-link { + text-align: center; + } + + >.input-container { + width: 100%; + display: flex; + flex-direction: column; + gap: 5px; + + >.error { + font-family: Roboto, sans-serif; + color: var(--red); + font-size: 12px; + line-height: 14px; + margin-left: calc(32px + 5px); + } + + >.input { + width: 100%; + display: flex; + gap: 5px; + + >.icon { + width: 16px; + height: 16px; + margin: 8px; + } + + >input { + font-family: Roboto, sans-serif; + font-weight: normal; + color: var(--text-color-dark-bg); + background-color: var(--gray4); + width: 100%; + border: none; + border-radius: 5px; + height: 32px; + padding: 5px 5px 5px 10px; + display: flex; + justify-content: center; + align-items: center; + + &::placeholder { + color: var(--text-color-dark-bg-placeholder); + font-size: 14px; + } + } + } + } + } + + >.form-button { + width: 100%; + } + } +} \ No newline at end of file diff --git a/src/app/components/pages/login/login.html b/src/app/components/pages/login/login.html index 50f9674..eb9ec2e 100644 --- a/src/app/components/pages/login/login.html +++ b/src/app/components/pages/login/login.html @@ -13,7 +13,7 @@
@@ -21,7 +21,7 @@
- +
an error occurred
@@ -39,6 +39,6 @@
- +
diff --git a/src/app/components/pages/pages.module.ts b/src/app/components/pages/pages.module.ts index 10aae9d..d5693c5 100644 --- a/src/app/components/pages/pages.module.ts +++ b/src/app/components/pages/pages.module.ts @@ -8,10 +8,11 @@ import { TranslateModule } from '@ngx-translate/core'; import { DesktopComponentsModule } from '../desktop/desktop.module'; import { LoginComponent } from './login/login.component'; import { RegisterComponent } from './register/register.component'; +import { ForgotPasswordComponent } from './forgot_password/forgot_password.component'; @NgModule({ - declarations: [NotFoundComponent, HomeComponent, LoginComponent, RegisterComponent], - exports: [NotFoundComponent, HomeComponent, LoginComponent, RegisterComponent], + declarations: [NotFoundComponent, HomeComponent, LoginComponent, RegisterComponent, ForgotPasswordComponent], + exports: [NotFoundComponent, HomeComponent, LoginComponent, RegisterComponent, ForgotPasswordComponent], imports: [CommonModule, TranslateModule, CommonComponentsModule, MobileComponentsModule, DesktopComponentsModule], }) export class PagesModule {} diff --git a/src/app/components/pages/register/register.html b/src/app/components/pages/register/register.html index 8b63aad..dfc135f 100644 --- a/src/app/components/pages/register/register.html +++ b/src/app/components/pages/register/register.html @@ -13,21 +13,21 @@
- +
ERREUR
- +
ERREUR
@@ -43,7 +43,7 @@
- +
an error occurred
@@ -67,6 +67,6 @@
- + \ No newline at end of file diff --git a/src/assets/i18n/en-US.json b/src/assets/i18n/en-US.json index 8cc237d..1600826 100644 --- a/src/assets/i18n/en-US.json +++ b/src/assets/i18n/en-US.json @@ -12,10 +12,6 @@ "pictures": "Pictures" }, "header": { - "burger": { - "connexion": "Sign in", - "register": "Register" - }, "options": { "title": "Accessibility Parameters", "themes": { @@ -46,25 +42,33 @@ "disconnect": "Disconnect" } }, + "global": { + "back": "Back", + "sign_in": "Sign in", + "register": "Register", + "last_name": "Last name", + "first_name": "First name", + "email_template": "example@website.com", + "password": "Password", + "confirm_password": "Confirm password", + "date_birth": "Date of birth" + }, + "forgot_password": { + "title": "Forgot password", + "description": "If you have forgotten your password, enter your email address below to reset your password.", + "send_email": "Send email" + }, "connection":{ - "connection": "Log In", "no_account": "No account ? Register", "forgot_password": "Forgot your password ?", - "email": "example@website.com", - "connection_action": "Log In", "external_connection": "Or connect with", "already_logged_as_x": "You are already logged as {{name}}" }, "register":{ - "register": "Register", "already_have_account": "Already have an account ? Log In", - "last_name" : "Last name", - "first_name": "First name", "date_birth_no_modif": "Your date of birth cannot be changed", - "email": "example@website.com", "min_password": "Minimum of 8 characters including 1 special", "confirm_password": "Confirm password", - "register_action": "Register", "already_registered_and_logged_as_x": "You are already registered and logged as {{name}}" } } From 97d09851c885400467f99f18453fe7497bd59c2a Mon Sep 17 00:00:00 2001 From: Julien Constant Date: Fri, 21 Apr 2023 18:15:20 +0200 Subject: [PATCH 027/146] made the favicon follow the selected event theme --- .vscode/settings.json | 1 + .../desktop/header/header.component.ts | 12 -- src/app/components/desktop/header/header.html | 2 +- .../mobile/header/header.component.ts | 11 -- src/app/components/mobile/header/header.html | 2 +- .../forgot_password/forgot_password.scss | 2 +- src/app/services/page.service.ts | 45 ++++++++ src/app/styles/themes.scss | 8 +- .../favicon/base/android-chrome-192x192.png | Bin 0 -> 16895 bytes .../favicon/base/android-chrome-512x512.png | Bin 0 -> 58786 bytes src/assets/favicon/base/apple-touch-icon.png | Bin 0 -> 11074 bytes src/assets/favicon/base/browserconfig.xml | 9 ++ src/assets/favicon/base/favicon-16x16.png | Bin 0 -> 985 bytes src/assets/favicon/base/favicon-32x32.png | Bin 0 -> 1586 bytes src/assets/favicon/base/favicon.ico | Bin 0 -> 15086 bytes src/assets/favicon/base/mstile-150x150.png | Bin 0 -> 2846 bytes src/assets/favicon/base/safari-pinned-tab.svg | 47 ++++++++ src/assets/favicon/base/site.webmanifest | 19 +++ .../christmas/android-chrome-192x192.png | Bin 0 -> 22966 bytes .../christmas/android-chrome-512x512.png | Bin 0 -> 101800 bytes .../favicon/christmas/apple-touch-icon.png | Bin 0 -> 15588 bytes .../favicon/christmas/browserconfig.xml | 9 ++ .../favicon/christmas/favicon-16x16.png | Bin 0 -> 1483 bytes .../favicon/christmas/favicon-32x32.png | Bin 0 -> 2382 bytes src/assets/favicon/christmas/favicon.ico | Bin 0 -> 15086 bytes .../favicon/christmas/mstile-150x150.png | Bin 0 -> 3642 bytes .../favicon/christmas/safari-pinned-tab.svg | 108 ++++++++++++++++++ src/assets/favicon/christmas/site.webmanifest | 19 +++ .../pinktober/android-chrome-192x192.png | Bin 0 -> 14129 bytes .../pinktober/android-chrome-512x512.png | Bin 0 -> 52503 bytes .../favicon/pinktober/apple-touch-icon.png | Bin 0 -> 7866 bytes .../favicon/pinktober/browserconfig.xml | 9 ++ .../favicon/pinktober/favicon-16x16.png | Bin 0 -> 1430 bytes .../favicon/pinktober/favicon-32x32.png | Bin 0 -> 1928 bytes src/assets/favicon/pinktober/favicon.ico | Bin 0 -> 15086 bytes .../favicon/pinktober/mstile-150x150.png | Bin 0 -> 2902 bytes .../favicon/pinktober/safari-pinned-tab.svg | 58 ++++++++++ src/assets/favicon/pinktober/site.webmanifest | 19 +++ src/assets/logo/ae.png | Bin 0 -> 32385 bytes src/assets/{logo_ae.webp => logo/ae.webp} | Bin src/assets/logo/ae_christmas.png | Bin 0 -> 106947 bytes .../ae_christmas.webp} | Bin src/assets/logo/ae_pinktober.png | Bin 0 -> 47841 bytes .../ae_pinktober.webp} | Bin src/favicon.ico | Bin 948 -> 0 bytes src/index.html | 23 +++- 46 files changed, 367 insertions(+), 36 deletions(-) create mode 100644 src/assets/favicon/base/android-chrome-192x192.png create mode 100644 src/assets/favicon/base/android-chrome-512x512.png create mode 100644 src/assets/favicon/base/apple-touch-icon.png create mode 100644 src/assets/favicon/base/browserconfig.xml create mode 100644 src/assets/favicon/base/favicon-16x16.png create mode 100644 src/assets/favicon/base/favicon-32x32.png create mode 100644 src/assets/favicon/base/favicon.ico create mode 100644 src/assets/favicon/base/mstile-150x150.png create mode 100644 src/assets/favicon/base/safari-pinned-tab.svg create mode 100644 src/assets/favicon/base/site.webmanifest create mode 100644 src/assets/favicon/christmas/android-chrome-192x192.png create mode 100644 src/assets/favicon/christmas/android-chrome-512x512.png create mode 100644 src/assets/favicon/christmas/apple-touch-icon.png create mode 100644 src/assets/favicon/christmas/browserconfig.xml create mode 100644 src/assets/favicon/christmas/favicon-16x16.png create mode 100644 src/assets/favicon/christmas/favicon-32x32.png create mode 100644 src/assets/favicon/christmas/favicon.ico create mode 100644 src/assets/favicon/christmas/mstile-150x150.png create mode 100644 src/assets/favicon/christmas/safari-pinned-tab.svg create mode 100644 src/assets/favicon/christmas/site.webmanifest create mode 100644 src/assets/favicon/pinktober/android-chrome-192x192.png create mode 100644 src/assets/favicon/pinktober/android-chrome-512x512.png create mode 100644 src/assets/favicon/pinktober/apple-touch-icon.png create mode 100644 src/assets/favicon/pinktober/browserconfig.xml create mode 100644 src/assets/favicon/pinktober/favicon-16x16.png create mode 100644 src/assets/favicon/pinktober/favicon-32x32.png create mode 100644 src/assets/favicon/pinktober/favicon.ico create mode 100644 src/assets/favicon/pinktober/mstile-150x150.png create mode 100644 src/assets/favicon/pinktober/safari-pinned-tab.svg create mode 100644 src/assets/favicon/pinktober/site.webmanifest create mode 100644 src/assets/logo/ae.png rename src/assets/{logo_ae.webp => logo/ae.webp} (100%) create mode 100644 src/assets/logo/ae_christmas.png rename src/assets/{logo_ae_christmas.webp => logo/ae_christmas.webp} (100%) create mode 100644 src/assets/logo/ae_pinktober.png rename src/assets/{logo_ae_pinktober.webp => logo/ae_pinktober.webp} (100%) delete mode 100644 src/favicon.ico diff --git a/.vscode/settings.json b/.vscode/settings.json index 21aee2c..1af3f35 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -9,6 +9,7 @@ "**/node_modules": true }, "cSpell.words": [ + "browserconfig", "christmas", "pinktober", "sith", diff --git a/src/app/components/desktop/header/header.component.ts b/src/app/components/desktop/header/header.component.ts index b4a1baa..46e60f6 100644 --- a/src/app/components/desktop/header/header.component.ts +++ b/src/app/components/desktop/header/header.component.ts @@ -1,7 +1,6 @@ import { Component, Inject } from '@angular/core'; import { PageService } from 'src/app/services/page.service'; import { UserService } from 'src/app/services/user.service'; -import { getThemeEvent } from 'src/utils'; @Component({ selector: 'app-desktop-header', @@ -29,15 +28,4 @@ export class DesktopHeaderComponent { public triggerSideMenuOptions(): void { this.optionsOpened = !this.optionsOpened; } - - public get logo(): string { - switch (getThemeEvent()) { - case 'christmas': - return 'assets/logo_ae_christmas.webp'; - case 'pinktober': - return 'assets/logo_ae_pinktober.webp'; - default: - return 'assets/logo_ae.webp'; - } - } } diff --git a/src/app/components/desktop/header/header.html b/src/app/components/desktop/header/header.html index 9692497..f529a46 100644 --- a/src/app/components/desktop/header/header.html +++ b/src/app/components/desktop/header/header.html @@ -1,6 +1,6 @@
- +
Association des Étudiants de l'université de technologie de Belfort-Montbéliard diff --git a/src/app/components/mobile/header/header.component.ts b/src/app/components/mobile/header/header.component.ts index 385b21a..7b2ae64 100644 --- a/src/app/components/mobile/header/header.component.ts +++ b/src/app/components/mobile/header/header.component.ts @@ -30,17 +30,6 @@ export class MobileHeaderComponent { this.optionsOpened = !this.optionsOpened; } - public get logo(): string { - switch (this.eventTheme) { - case 'christmas': - return 'assets/logo_ae_christmas.webp'; - case 'pinktober': - return 'assets/logo_ae_pinktober.webp'; - default: - return 'assets/logo_ae.webp'; - } - } - public get eventTheme(): ThemeEvent | null { return getThemeEvent(); } diff --git a/src/app/components/mobile/header/header.html b/src/app/components/mobile/header/header.html index 3e98b59..2454fdf 100644 --- a/src/app/components/mobile/header/header.html +++ b/src/app/components/mobile/header/header.html @@ -1,5 +1,5 @@
- +
diff --git a/src/app/components/pages/forgot_password/forgot_password.scss b/src/app/components/pages/forgot_password/forgot_password.scss index 63ba6fb..96ce697 100644 --- a/src/app/components/pages/forgot_password/forgot_password.scss +++ b/src/app/components/pages/forgot_password/forgot_password.scss @@ -70,7 +70,7 @@ main { >.form-description { color: var(--text-color-dark-bg); - font-family: Inter; + font-family: Inter, sans-serif; font-size: 14px; font-style: italic; } diff --git a/src/app/services/page.service.ts b/src/app/services/page.service.ts index fd95ba5..9a4e8af 100644 --- a/src/app/services/page.service.ts +++ b/src/app/services/page.service.ts @@ -1,6 +1,7 @@ import { Inject, Injectable } from '@angular/core'; import { NavigationEnd, Router } from '@angular/router'; import { DeviceDetectorService } from 'ngx-device-detector'; +import { getThemeEvent } from 'src/utils'; @Injectable({ providedIn: 'root', @@ -42,4 +43,48 @@ export class PageService { public get isRTL(): boolean { return document.documentElement.dir === 'rtl'; } + + public get logo(): string { + switch (getThemeEvent()) { + case 'christmas': + this.favicon = 'christmas'; + return 'assets/logo/ae_christmas.webp'; + case 'pinktober': + this.favicon = 'pinktober'; + return 'assets/logo/ae_pinktober.webp'; + default: + this.favicon = 'base'; + return 'assets/logo/ae.webp'; + } + } + + private set favicon(type: 'christmas' | 'pinktober' | 'base') { + const appleTouchIcon = document.querySelector('link[rel="apple-touch-icon"]'); + const icons = document.querySelectorAll('link[rel="icon"]'); + const manifest = document.querySelector('link[rel="manifest"]'); + const maskIcon = document.querySelector('link[rel="mask-icon"]'); + const shortcutIcon = document.querySelector('link[rel="shortcut icon"]'); + + const metaMSAppTileColor = document.querySelector('meta[name="msapplication-TileColor"]'); + const metaMSAppConfig = document.querySelector('meta[name="msapplication-config"]'); + const metaThemeColor = document.querySelector('meta[name="theme-color"]'); + + const colors = { + christmas: '#095228', + pinktober: '#e891dc', + base: '#ffffff', + }; + + if (appleTouchIcon) appleTouchIcon.href = `assets/favicon/${type}/apple-touch-icon.png`; + if (icons) icons.forEach((icon) => (icon.href = `assets/favicon/${type}/favicon-${icon.sizes}.png`)); + if (manifest) manifest.href = `assets/favicon/${type}/site.webmanifest`; + if (maskIcon) { + maskIcon.href = `assets/favicon/${type}/safari-pinned-tab.svg`; + (maskIcon as HTMLLinkElement & { color: string }).color = colors[type]; + } + if (shortcutIcon) shortcutIcon.href = `assets/favicon/${type}/favicon.ico`; + if (metaMSAppTileColor) metaMSAppTileColor.content = colors[type]; + if (metaMSAppConfig) metaMSAppConfig.content = `assets/favicon/${type}/browserconfig.xml`; + if (metaThemeColor) metaThemeColor.content = colors[type]; + } } diff --git a/src/app/styles/themes.scss b/src/app/styles/themes.scss index 374f5fa..1a5d351 100644 --- a/src/app/styles/themes.scss +++ b/src/app/styles/themes.scss @@ -77,10 +77,10 @@ --blue: #deff00; --dark-blue: #deff00; --purple: #f33bee; - --gray4: #000; - --gray3: #111; - --gray2: #222; - --gray1: #333; + --gray4: #111; + --gray3: #222; + --gray2: #333; + --gray1: #444; --gray4-hover: #00000080; --gray3-hover: #11111180; --gray2-hover: #22222280; diff --git a/src/assets/favicon/base/android-chrome-192x192.png b/src/assets/favicon/base/android-chrome-192x192.png new file mode 100644 index 0000000000000000000000000000000000000000..d0b9a82f8747f57c1180df9ddb644fe0c7f0697e GIT binary patch literal 16895 zcmdSBWl$Z@6E1u>Ilut|9Nay){%{EnK@yzc?(XjH5ZpCLaCdiicXxM}%m3s1;r)86 z?rhC=?QC_`_Dt72+uhG@sI0UYB0MfU002Og5EqgEl%4gvV7L&9Id(FdGN%0u=;5C zaIzZt<4fc$7zB<6d`XTI2}`63`|HP6&BiWfc(JJO-e&Gz(7IDxR92?8a2oNOCo|y; zXQeuUT(a6g9-SNp0t!vn&-EQ|df9W{;d&WxZ+K~6sK5jG!U#Nh68WQov#!GZNW^O6~N?#A(5UJqW zotp|30|em8fk#Rk0s`c}$@m2&F7vPZm~-l?TATkS*yhS6@&8A`ql)08;8m{P4%mpL z(y?7EYxnh$bUIz!f@|kE{s}Mu9NS!zJ>-$$eK7tk`mj{6a$zWOUifLX6>&VOwwLts z0Mr|ZBG{eG5pH;vB~w zQgM?g3`}?l@DcsA2eUdvv%?K08j1?K&J&N)LSfF{FzNVDs$EaRZ}(yKcNceGpAuqO zpR_?eSk-XZ9FU?4hz&ZeB|dGPu&YCY0?_-Du}#Ep>~i~a_RtDZU(Ht9gD>CK_z`3Q zbea4M>Wa%z+`l>&9%BC*Nwv|psQS9n%IPe%!1zgBGAs0CYM&I>U%7ifuy=-?8VLrt zFD3rv7NEkow;9BLGqOLKlCI*v3C;lIcul^(2C`6{(IwWkWs*h2;$bm%8enQdQ1-&&FGE}uyOMG zuM-_mXrs9_c7VeH4~V$_4bsu`f=N~=(0S`%?fP2TI$M1(qVI@YL0fp1wJV|~5$H)` zaqHc|RrkP5lf)z-5ke53$bp_ewZ_nqMfEY!+jMru+jF)io0q-2*lb`eHlwP4%)@Ho! z?THKAnHfBzG(Djn+R`U(UwzcP2zy=yF$Y?s@uzWd0?3PY>E-C*t!LR65_pq~j3!^5vPP`y=HKZi3~@a{9hh40k6^El%es z+n&x=v@~Zh1t3~VKh#E8P!4t{&_kP9x%c&JrA{w$z{m0Kc@@wCF)lKhSv*sa^1paSQ#o__qL79 z3uTxOqj`G^1-0sBh0II$L58(SHnb+9PQX4#F9T*jJmVaL@(P7s)xt+LRbQ|cRQaZ< zYrYu&-(zFBJ7*c}^8I?VrzaQ5O}N&L`3qjyjrWB))Ys#Y3oY57T$l<%9|ylz?#v?>-w$ST zT($&SsraR!;oM~^v5B}A;<-Wt-#_Lasutg7pI!emLj|QB) z)iRUn(7St1SY;;P{>&-Y+08a5sdX?Ggsi_j%0xHmNU|6EFf)Ll#3aY#VBYekUAd39~}Er1SKD_mLI*EyL{7Z z2O_)ko{0N35f_^e9kU2I5J-ng$A?897#RHHIyLBOaX!&E;VkC1xlu`@V&q;jrFo3m zQO}ek2N{?4Ti|l7!pQ+QeItWP*O0`~DF3X~K4b7R3(4N93#;AxFMHvSJ`qpce3bc% zvLj`nyd!^j6Q{cia7UR&CgyuhQB-V`BIAeje;uy(uRgCBtcDTg z6r^XH6vN?2kNlWaeZ)cCg)m!u6H-AToo_EI#kS}-%nt(8R^%l^0M zFJdq7So(nL;^v~oH(EvuHB}B*?}*C`c*hpQ2aYQo7J_*vc;Nm} z(4*+AVzM-{n=e22QrQs#;|tIjH(AyzW$eJYkor!3;dwJ1q|lQhf|-z+1Q0mB^?SWd zMO$;22upVTn_veFx~J3qqm2$;2>=5jBw!RjYCkMQu7_|I-X!CUXkS-#uR7GiWasD` zJwN*Rfc9m$ar1xBmI{h$da9mxGzt<{b|!_v3Wf>9rJ_Fl0wFX42BWl*fK5~|7LcOz zM�z=2WmhQfp}_bE<6WW@9@=2wr*2IA89K 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 T3wO%<5rB+@qIl&Oqi_EM*~&T! literal 0 HcmV?d00001 diff --git a/src/assets/favicon/base/browserconfig.xml b/src/assets/favicon/base/browserconfig.xml new file mode 100644 index 0000000..5cda031 --- /dev/null +++ b/src/assets/favicon/base/browserconfig.xml @@ -0,0 +1,9 @@ + + + + + + #00aba9 + + + diff --git a/src/assets/favicon/base/favicon-16x16.png b/src/assets/favicon/base/favicon-16x16.png new file mode 100644 index 0000000000000000000000000000000000000000..1a681032f87096e6074d2447605687993200c2bb GIT binary patch literal 985 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 literal 0 HcmV?d00001 diff --git a/src/assets/favicon/base/favicon.ico b/src/assets/favicon/base/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..a7fa7deb7020b8c2c937033a8f8c8f614551f027 GIT binary patch literal 15086 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 literal 0 HcmV?d00001 diff --git a/src/assets/favicon/base/mstile-150x150.png b/src/assets/favicon/base/mstile-150x150.png new file mode 100644 index 0000000000000000000000000000000000000000..c6f9343ed2e1ddfcb1929fc3272b8fe9958831bb GIT binary patch literal 2846 zcmbW3c{J1u8^?e5Eh(i5l}i$pHQP*vOeWVBL-s-TD_cl}2{Vyh5@VkzbTgJACfS#n zxl-8;V{Bv3zGoPkL0nzBAWRE#{(cZUg{mNdO3s1^~`cD|`_EP)Y!> z{3igwUIT!j-`fT=^`pUm9vJHB0EcndF3M5G9f&Z}M+6emCmUh)7QY_}Bdi0B{Uh}sSRT%W)R~FGmU++Pq+$9iR1vep) zUti__N^$edWE`UppNWJDBjTstNANtjN;OfC>->b>4db}rGDy2)csf2_hG}r z*cO~}kh1}&OtNz()%cGr{ksV7;xZF_7qsPP)aUGTHalP86j}(&lpVrQC>K$P-j(3o znVPj~(Q_!9_sN2&-_X@wP=nN@m+o9^^N$7pq&{`0v5Xeshge3A7SFspI3S}uUED#p7Z>L@s-tNSfN=q{qEj}G%Q=^SeVe(nY)jk;NuB)E8ufd!h0(E@!PdgxsyC zT|-h_hOJ21Pg|SIYD~MeyPWr|QP^quD>TX?&Bb_;J;%OxSKfY#Tl>53_Q&FtGN&Jw z;&JPi*tX!kfP)R=R2Szq4m>x@dA~30=4{i`P&zBKY)s^U0-5_%;fOuH2N_o%E^VbZ zmxTy=J#PE%Q6=8;vvJ$LJ(}~`V z_t!UtKak*-h;ebjHyPr>*;RN=qT6LRl5pijp?9oo>wNI+1OGF|LdwL!q!0P4rbZxK zqnrc*Q*VDS$^3$(Ji&5jOQjSg=ZWx(^`Kw$n#wABy`GuSo`OCnVBmULVqyk#kGrGd z&2If`kwh8aMOou4?}_?UQ4OSKIqEO~td=Crj`T~0hyvaL<+A9yv7YLop1J!9hN*XG ze7v5uczcU#l}>3~bQhORk!31>gQ=4Nd!(s!p<(!(O$OY_=HON5J~q91DI>}4!nOGf z8SwHmixoz_xWG%NAosKwPO``&t4LcP1DjiV{gpfr?Ev#kXsyH8y47+rL+439X_sl5 zHwnRgb~>5mvx&dCo(`LzjGm}EERr%zH6%&8u0bSMx6R2NhntTNJG3RRJEJmj<=<-E zMOHdJr6e`zoW#7?4|}~9`Q=>EeihckHE#|q5zH2G?hQD#M|x1?kh&!2v)7Z7Tup`L zJImqRRVt5D`-$n!D2HZT=eyUX)^kXj<_v>99y|y67?D0@YM5jdSet1wp$o-ND z>{Dezn=ZKmT9$;4@$Fc>7p34owY4vkH?YIL>I;HDs}AeQGtO~eg*dHf1pZuf{j7Ho z*^0J$nC5RjM&x8-JD+rj8mNz&RE^dQDzb0X--av2?M?ow$t)83QaXq}aPWOd@w%Sj z9qqno>yX`-NNn7G>4=QMyYSG|i;+YF5}w5<$oE1X-H7PIC9iG+;kRk{yFRpy?Pv2_ zbTrmpL_FiVnn?>SiH2N+h2G^Y={tpx5H9}y>iG$F30+aygk@XO+#ppI`yjh)#ETBT zY+cDj7Dl`*7|~8q7zp;UIxDHy!_@ah?Hbf|+<+VVccsCb+2ud_$IsO^Cxqmou}o8< z@7l4zIhmgp1Lzdu!^xO!{ln@6vo}pmGu&mpyy`6)TT#DUM;9*bD_V0}9sA~_rtOq5 zSP+LQKcwx05t`9JiHAku0>1ix3rSZUuCd0Lj(*|+p{AT2Gk5q}x08Z(7p+by>NB?d zG*ah<>U)qOd>)CSQ=N7j>FX?fI!c%P)z@`%F9{RnyVKPh6e+RKO8*I_?%uYMygNo@ z2W&&p(R#r-K6_ko#OrnYMmCP9{sP@{<@QkdkvTUzd7!9l1BvWb5+8~QkaUN z`i7|U@p~Vgm|ED4(?NcFe^YvMJCzYPq1pn0H62Jff*F)STq~ikFgTlgF>w6=BtDIZ zKTF4>n)PzNUBS0!6Fh~BDlN-jGhLyj#siF^H3nX_O8%B8NE2$u-dy&vf6 z9Owpf@pn5C0HOrBDX*j~4*?^=P}off3<|lSqy$q^a!pqM=l}X2;N$D+=^pa`feYQy z-5IX`&OiZJ7UT + + + +Created by potrace 1.14, written by Peter Selinger 2001-2017 + + + + + + + + + + diff --git a/src/assets/favicon/base/site.webmanifest b/src/assets/favicon/base/site.webmanifest new file mode 100644 index 0000000..99a81e3 --- /dev/null +++ b/src/assets/favicon/base/site.webmanifest @@ -0,0 +1,19 @@ +{ + "name": "AE", + "short_name": "AE", + "icons": [ + { + "src": "/assets/favicon/base/android-chrome-192x192.png", + "sizes": "192x192", + "type": "image/png" + }, + { + "src": "/assets/favicon/base/android-chrome-512x512.png", + "sizes": "512x512", + "type": "image/png" + } + ], + "theme_color": "#ffffff", + "background_color": "#ffffff", + "display": "standalone" +} diff --git a/src/assets/favicon/christmas/android-chrome-192x192.png b/src/assets/favicon/christmas/android-chrome-192x192.png new file mode 100644 index 0000000000000000000000000000000000000000..7b31e810af9544968112e7d54dc001479efce0cc GIT binary patch literal 22966 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�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 HqZqViA~ literal 0 HcmV?d00001 diff --git a/src/assets/favicon/christmas/apple-touch-icon.png b/src/assets/favicon/christmas/apple-touch-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..ca70eaed8d80e0cf5f5e633afb837ecc24f25da0 GIT binary patch literal 15588 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 JH4?@l{|BM$$(aBE literal 0 HcmV?d00001 diff --git a/src/assets/favicon/christmas/browserconfig.xml b/src/assets/favicon/christmas/browserconfig.xml new file mode 100644 index 0000000..fac4ff4 --- /dev/null +++ b/src/assets/favicon/christmas/browserconfig.xml @@ -0,0 +1,9 @@ + + + + + + #095228 + + + diff --git a/src/assets/favicon/christmas/favicon-16x16.png b/src/assets/favicon/christmas/favicon-16x16.png new file mode 100644 index 0000000000000000000000000000000000000000..2ff22da4b9ffb0e1eb7c061060910f5fd2db8f66 GIT binary patch literal 1483 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 literal 0 HcmV?d00001 diff --git a/src/assets/favicon/christmas/favicon.ico b/src/assets/favicon/christmas/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..8548b01c065383129c11ff9f137db6ee8cea5e92 GIT binary patch literal 15086 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 literal 0 HcmV?d00001 diff --git a/src/assets/favicon/christmas/safari-pinned-tab.svg b/src/assets/favicon/christmas/safari-pinned-tab.svg new file mode 100644 index 0000000..250462e --- /dev/null +++ b/src/assets/favicon/christmas/safari-pinned-tab.svg @@ -0,0 +1,108 @@ + + + + +Created by potrace 1.14, written by Peter Selinger 2001-2017 + + + + + + + + + + + + + + + + + + + + diff --git a/src/assets/favicon/christmas/site.webmanifest b/src/assets/favicon/christmas/site.webmanifest new file mode 100644 index 0000000..78c3643 --- /dev/null +++ b/src/assets/favicon/christmas/site.webmanifest @@ -0,0 +1,19 @@ +{ + "name": "AE", + "short_name": "AE", + "icons": [ + { + "src": "/assets/favicon/christmas/android-chrome-192x192.png", + "sizes": "192x192", + "type": "image/png" + }, + { + "src": "/assets/favicon/christmas/android-chrome-512x512.png", + "sizes": "512x512", + "type": "image/png" + } + ], + "theme_color": "#095228", + "background_color": "#095228", + "display": "standalone" +} diff --git a/src/assets/favicon/pinktober/android-chrome-192x192.png b/src/assets/favicon/pinktober/android-chrome-192x192.png new file mode 100644 index 0000000000000000000000000000000000000000..3677a82030a1bbc972cf28dff32cd723791dbdf2 GIT binary patch literal 14129 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 literal 0 HcmV?d00001 diff --git a/src/assets/favicon/pinktober/android-chrome-512x512.png b/src/assets/favicon/pinktober/android-chrome-512x512.png new file mode 100644 index 0000000000000000000000000000000000000000..b81cd889106419cf11afb472b651b28175c44825 GIT binary patch literal 52503 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 + + + + + #e891dc + + + diff --git a/src/assets/favicon/pinktober/favicon-16x16.png b/src/assets/favicon/pinktober/favicon-16x16.png new file mode 100644 index 0000000000000000000000000000000000000000..2cc668f952b4705539dd9d1a0eb3ebee01625f52 GIT binary patch literal 1430 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 + + + +Created by potrace 1.14, written by Peter Selinger 2001-2017 + + + + + + + + + + diff --git a/src/assets/favicon/pinktober/site.webmanifest b/src/assets/favicon/pinktober/site.webmanifest new file mode 100644 index 0000000..65e0dfa --- /dev/null +++ b/src/assets/favicon/pinktober/site.webmanifest @@ -0,0 +1,19 @@ +{ + "name": "AE", + "short_name": "AE", + "icons": [ + { + "src": "/assets/favicon/pinktober/android-chrome-192x192.png", + "sizes": "192x192", + "type": "image/png" + }, + { + "src": "/assets/favicon/pinktober/android-chrome-512x512.png", + "sizes": "512x512", + "type": "image/png" + } + ], + "theme_color": "#e891dc", + "background_color": "#e891dc", + "display": "standalone" +} diff --git a/src/assets/logo/ae.png b/src/assets/logo/ae.png new file mode 100644 index 0000000000000000000000000000000000000000..00c7b984a63d3d50b194121cd2342876404a00ff GIT binary patch literal 32385 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¬hLhx487zoxbOW>GnQvlz=J4HE6y4%$huq&dwf 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 literal 0 HcmV?d00001 diff --git a/src/assets/logo_ae_christmas.webp b/src/assets/logo/ae_christmas.webp similarity index 100% rename from src/assets/logo_ae_christmas.webp rename to src/assets/logo/ae_christmas.webp diff --git a/src/assets/logo/ae_pinktober.png b/src/assets/logo/ae_pinktober.png new file mode 100644 index 0000000000000000000000000000000000000000..ccd0315d3ddd2c049951647d535cce7e843e7c4e GIT binary patch literal 47841 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 literal 0 HcmV?d00001 diff --git a/src/assets/logo_ae_pinktober.webp b/src/assets/logo/ae_pinktober.webp similarity index 100% rename from src/assets/logo_ae_pinktober.webp rename to src/assets/logo/ae_pinktober.webp diff --git a/src/favicon.ico b/src/favicon.ico deleted file mode 100644 index 997406ad22c29aae95893fb3d666c30258a09537..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 948 zcmV;l155mgP)CBYU7IjCFmI-B}4sMJt3^s9NVg!P0 z6hDQy(L`XWMkB@zOLgN$4KYz;j0zZxq9KKdpZE#5@k0crP^5f9KO};h)ZDQ%ybhht z%t9#h|nu0K(bJ ztIkhEr!*UyrZWQ1k2+YkGqDi8Z<|mIN&$kzpKl{cNP=OQzXHz>vn+c)F)zO|Bou>E z2|-d_=qY#Y+yOu1a}XI?cU}%04)zz%anD(XZC{#~WreV!a$7k2Ug`?&CUEc0EtrkZ zL49MB)h!_K{H(*l_93D5tO0;BUnvYlo+;yss%n^&qjt6fZOa+}+FDO(~2>G z2dx@=JZ?DHP^;b7*Y1as5^uphBsh*s*z&MBd?e@I>-9kU>63PjP&^#5YTOb&x^6Cf z?674rmSHB5Fk!{Gv7rv!?qX#ei_L(XtwVqLX3L}$MI|kJ*w(rhx~tc&L&xP#?cQow zX_|gx$wMr3pRZIIr_;;O|8fAjd;1`nOeu5K(pCu7>^3E&D2OBBq?sYa(%S?GwG&_0-s%_v$L@R!5H_fc)lOb9ZoOO#p`Nn`KU z3LTTBtjwo`7(HA6 z7gmO$yTR!5L>Bsg!X8616{JUngg_@&85%>W=mChTR;x4`P=?PJ~oPuy5 zU-L`C@_!34D21{fD~Y8NVnR3t;aqZI3fIhmgmx}$oc-dKDC6Ap$Gy>a!`A*x2L1v0 WcZ@i?LyX}70000 - - Sith - - - + + Sith + + + + + + + + + + + + + + - + From 764b8fa9acccdcc59db50f8ecbd0840e1ac2b2db Mon Sep 17 00:00:00 2001 From: Julien Constant Date: Sat, 22 Apr 2023 00:01:41 +0200 Subject: [PATCH 028/146] Added links to navbar items --- src/app/components/desktop/navbar/navbar.component.ts | 6 +++++- src/app/components/desktop/navbar/navbar.html | 8 ++++---- src/app/components/desktop/navbar/navbar.scss | 9 ++++++++- src/app/components/mobile/navbar/navbar.component.ts | 6 +++++- src/app/components/mobile/navbar/navbar.html | 8 ++++---- 5 files changed, 26 insertions(+), 11 deletions(-) diff --git a/src/app/components/desktop/navbar/navbar.component.ts b/src/app/components/desktop/navbar/navbar.component.ts index 3115295..978be23 100644 --- a/src/app/components/desktop/navbar/navbar.component.ts +++ b/src/app/components/desktop/navbar/navbar.component.ts @@ -1,4 +1,5 @@ import { Component, Inject } from '@angular/core'; +import { PageService } from 'src/app/services/page.service'; import { UserService } from 'src/app/services/user.service'; @Component({ @@ -7,5 +8,8 @@ import { UserService } from 'src/app/services/user.service'; styleUrls: ['./navbar.scss'], }) export class DesktopNavbarComponent { - public constructor(@Inject(UserService) public readonly u: UserService) {} + public constructor( + @Inject(UserService) public readonly u: UserService, + @Inject(PageService) public readonly p: PageService, + ) {} } diff --git a/src/app/components/desktop/navbar/navbar.html b/src/app/components/desktop/navbar/navbar.html index 74882aa..bc21bfc 100644 --- a/src/app/components/desktop/navbar/navbar.html +++ b/src/app/components/desktop/navbar/navbar.html @@ -3,19 +3,19 @@ {{ 'navbar.favorites' | translate }}

- {{ 'register.date_birth_no_modif' | translate }} - {{ errors['birthDate'] | translate }} + {{ errors['birthDate'] | translate: { min: MIN_AGE, max: MAX_AGE } }}
diff --git a/src/environments/environment.dev.ts b/src/environments/environment.dev.ts new file mode 100644 index 0000000..a262ee1 --- /dev/null +++ b/src/environments/environment.dev.ts @@ -0,0 +1,7 @@ +export const environment = { + PRODUCTION: false, + REGISTER_AGE_MIN: 13, + REGISTER_AGE_MAX: 100, +}; + +export type Environment = typeof environment; diff --git a/src/environments/environment.prod.ts b/src/environments/environment.prod.ts new file mode 100644 index 0000000..17f9e94 --- /dev/null +++ b/src/environments/environment.prod.ts @@ -0,0 +1,5 @@ +import { environment as devEnv, Environment } from './environment.dev'; + +export const environment: Environment = Object.merge(devEnv, { + PRODUCTION: true, +}); diff --git a/src/environments/environment.ts b/src/environments/environment.ts new file mode 100644 index 0000000..37f6edb --- /dev/null +++ b/src/environments/environment.ts @@ -0,0 +1 @@ +export * from './environment.dev'; diff --git a/src/utils/object.ts b/src/utils/object.ts index c32df62..66e5d80 100644 --- a/src/utils/object.ts +++ b/src/utils/object.ts @@ -10,7 +10,7 @@ declare global { * @example Object.merge({ a: 1, b: 2 }, { b: 3, c: 4 }) // { a: 1, b: 3, c: 4 } * @example Object.merge({ a: 1, b: { c: 2, d: 3 } }, { b: { d: 4, e: 5 } }) // { a: 1, b: { c: 2, d: 4, e: 5 } } */ - merge(target: object, ...sources: object[]): object; + merge(target: T, ...sources: Array>): T; /** * Check if the given item is a JS Object diff --git a/src/utils/validators.ts b/src/utils/validators.ts index 489f6e9..0218833 100644 --- a/src/utils/validators.ts +++ b/src/utils/validators.ts @@ -1,3 +1,5 @@ +import { environment } from 'src/environments/environment'; + /** * Check if the email is valid or not * @param {string} email The email to check @@ -12,7 +14,11 @@ export const validateEmail = (email: string, utbm = true): string | undefined => return undefined; }; -export const validateBirthDate = (birthDate: string, max = 64, min = 13): string | undefined => { +export const validateBirthDate = ( + birthDate: string, + max = environment.REGISTER_AGE_MAX, + min = environment.REGISTER_AGE_MIN, +): string | undefined => { const year = new Date().getFullYear(); const birthDateYear = new Date(birthDate).getFullYear(); From a60d7a3d0ce9e5e4d7c219154f8355675421b659 Mon Sep 17 00:00:00 2001 From: Julien Constant Date: Mon, 24 Apr 2023 15:08:50 +0200 Subject: [PATCH 036/146] Added validators for names --- .../components/pages/register/register.component.ts | 12 +++++++++++- src/app/components/pages/register/register.html | 4 ++-- src/utils/validators.ts | 10 ++++++++++ 3 files changed, 23 insertions(+), 3 deletions(-) diff --git a/src/app/components/pages/register/register.component.ts b/src/app/components/pages/register/register.component.ts index 55959e8..725b974 100644 --- a/src/app/components/pages/register/register.component.ts +++ b/src/app/components/pages/register/register.component.ts @@ -4,7 +4,7 @@ import { PageService } from 'src/app/services/page.service'; import { UserService } from 'src/app/services/user.service'; import { environment } from 'src/environments/environment'; import { Validator } from 'src/types'; -import { validateBirthDate, validateConfirmPassword, validateEmail, validatePassword } from 'src/utils'; +import { validateBirthDate, validateConfirmPassword, validateEmail, validateName, validatePassword } from 'src/utils'; @Component({ selector: 'app-register', @@ -41,6 +41,16 @@ export class RegisterComponent { t.get('register.title').subscribe((title) => (p.title = title)); } + public lastNameUpdate(): void { + this.errors['lastName'] = validateName(this.fields.lastName.trim()); + this.fields.lastName = this.fields.lastName.trim(); + } + + public firstNameUpdate(): void { + this.errors['firstName'] = validateName(this.fields.firstName.trim()); + this.fields.firstName = this.fields.firstName.trim(); + } + public emailUpdate(): void { this.errors['email'] = validateEmail(this.fields.email); } diff --git a/src/app/components/pages/register/register.html b/src/app/components/pages/register/register.html index 9b6824c..625f9f6 100644 --- a/src/app/components/pages/register/register.html +++ b/src/app/components/pages/register/register.html @@ -20,14 +20,14 @@
- +
{{ errors['lastName'] | translate }}
- +
{{ errors['firstName'] | translate }}
diff --git a/src/utils/validators.ts b/src/utils/validators.ts index 0218833..84fcab2 100644 --- a/src/utils/validators.ts +++ b/src/utils/validators.ts @@ -63,3 +63,13 @@ export const validateConfirmPassword = (password: string, confirmPassword: strin return undefined; }; + +export const validateName = (name: string): string | undefined => { + if (name === '') return 'global.errors.name.required'; + if (name.length < 2) return 'global.errors.name.length'; + + // check if the name contains only letters (from any language), hyphens and apostrophes + if (/^[\p{L}'\-]+(?: [\p{L}'\-]+)*$/u.test(name) === false) return 'global.errors.name.invalid'; + + return undefined; +}; From 5adeaf8060fa9ba91086c20dd25cae5a4ce56eed Mon Sep 17 00:00:00 2001 From: Julien Constant Date: Mon, 24 Apr 2023 15:11:40 +0200 Subject: [PATCH 037/146] Added missing translations :aha_oups: --- src/assets/i18n/en-US.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/assets/i18n/en-US.json b/src/assets/i18n/en-US.json index a43e6e0..82b69f1 100644 --- a/src/assets/i18n/en-US.json +++ b/src/assets/i18n/en-US.json @@ -73,6 +73,11 @@ "duplicate": "Password must not contain consecutive identical characters", "confirm": "Password confirmation is required", "confirm_mismatch": "Password confirmation does not match password" + }, + "name": { + "required": "It cannot be empty", + "length": "Your name must be at least 2 characters long", + "invalid": "Your name is invalid (check for double spaces or special characters)" } } }, From 3dd5528f0172d583b33a5ce4d23bc84bcfa99004 Mon Sep 17 00:00:00 2001 From: Nchrd <65755297+Nchrd@users.noreply.github.com> Date: Mon, 24 Apr 2023 15:40:29 +0200 Subject: [PATCH 038/146] Added alert component, all fine but no animation yet --- src/app/app.component.html | 1 + .../common/icons/close/close.component.ts | 8 +++++ .../components/common/icons/close/close.svg | 1 + .../components/common/icons/icons.module.ts | 3 ++ .../mobile/alert/alert.component.html | 7 +++++ .../mobile/alert/alert.component.scss | 31 +++++++++++++++++++ .../mobile/alert/alert.component.spec.ts | 23 ++++++++++++++ .../mobile/alert/alert.component.ts | 8 +++++ src/app/components/mobile/mobile.module.ts | 5 +-- 9 files changed, 85 insertions(+), 2 deletions(-) create mode 100644 src/app/components/common/icons/close/close.component.ts create mode 100644 src/app/components/common/icons/close/close.svg create mode 100644 src/app/components/mobile/alert/alert.component.html create mode 100644 src/app/components/mobile/alert/alert.component.scss create mode 100644 src/app/components/mobile/alert/alert.component.spec.ts create mode 100644 src/app/components/mobile/alert/alert.component.ts diff --git a/src/app/app.component.html b/src/app/app.component.html index fabeb8f..97c070d 100644 --- a/src/app/app.component.html +++ b/src/app/app.component.html @@ -9,5 +9,6 @@
+
\ No newline at end of file diff --git a/src/app/components/common/icons/close/close.component.ts b/src/app/components/common/icons/close/close.component.ts new file mode 100644 index 0000000..9e3425b --- /dev/null +++ b/src/app/components/common/icons/close/close.component.ts @@ -0,0 +1,8 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'icon-close', + templateUrl: './close.svg', + styleUrls: ['../icons.scss'], +}) +export class IconCloseComponent {} diff --git a/src/app/components/common/icons/close/close.svg b/src/app/components/common/icons/close/close.svg new file mode 100644 index 0000000..8570240 --- /dev/null +++ b/src/app/components/common/icons/close/close.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/app/components/common/icons/icons.module.ts b/src/app/components/common/icons/icons.module.ts index 7b58a3a..d098de2 100644 --- a/src/app/components/common/icons/icons.module.ts +++ b/src/app/components/common/icons/icons.module.ts @@ -18,6 +18,7 @@ import { IconPaymentsComponent } from './payments/payments.component'; import { IconAtComponent } from './at/at.component'; import { IconPasswordComponent } from './password/password.component'; import { IconCalendarComponent } from './calendar/calendar.component'; +import { IconCloseComponent } from './close/close.component'; @NgModule({ declarations: [ @@ -39,6 +40,7 @@ import { IconCalendarComponent } from './calendar/calendar.component'; IconAtComponent, IconPasswordComponent, IconCalendarComponent, + IconCloseComponent, ], exports: [ IconBurgerMenuComponent, @@ -59,6 +61,7 @@ import { IconCalendarComponent } from './calendar/calendar.component'; IconAtComponent, IconPasswordComponent, IconCalendarComponent, + IconCloseComponent, ], imports: [CommonModule], }) diff --git a/src/app/components/mobile/alert/alert.component.html b/src/app/components/mobile/alert/alert.component.html new file mode 100644 index 0000000..241d18a --- /dev/null +++ b/src/app/components/mobile/alert/alert.component.html @@ -0,0 +1,7 @@ +
+
+ Alert + Alert +
+ +
\ No newline at end of file diff --git a/src/app/components/mobile/alert/alert.component.scss b/src/app/components/mobile/alert/alert.component.scss new file mode 100644 index 0000000..758c569 --- /dev/null +++ b/src/app/components/mobile/alert/alert.component.scss @@ -0,0 +1,31 @@ +.alert { + background-color: var(--orange); + height: 40px; + display: flex; + justify-content: space-between; + align-items: center; + + > .alert-group { + justify-content: flex-start; + font-family: Roboto, sans-serif; + padding-left: 10px; + display: flex; + flex-direction: column; + + > .alert-title { + font-weight: 600; + font-size: 15px; + } + + > .alert-text { + font-size: 11px; + } + } + + > .icon { + justify-content: flex-end; + width: 28px; + padding-right: 10px; + display: flex; + } +} \ No newline at end of file diff --git a/src/app/components/mobile/alert/alert.component.spec.ts b/src/app/components/mobile/alert/alert.component.spec.ts new file mode 100644 index 0000000..49c8d86 --- /dev/null +++ b/src/app/components/mobile/alert/alert.component.spec.ts @@ -0,0 +1,23 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { AlertComponent } from './alert.component'; + +describe('AlertComponent', () => { + let component: AlertComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [ AlertComponent ] + }) + .compileComponents(); + + fixture = TestBed.createComponent(AlertComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/components/mobile/alert/alert.component.ts b/src/app/components/mobile/alert/alert.component.ts new file mode 100644 index 0000000..04b7720 --- /dev/null +++ b/src/app/components/mobile/alert/alert.component.ts @@ -0,0 +1,8 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'app-mobile-alert', + templateUrl: './alert.component.html', + styleUrls: ['./alert.component.scss'], +}) +export class MobileAlertComponent {} diff --git a/src/app/components/mobile/mobile.module.ts b/src/app/components/mobile/mobile.module.ts index ff2b540..7365c06 100644 --- a/src/app/components/mobile/mobile.module.ts +++ b/src/app/components/mobile/mobile.module.ts @@ -5,10 +5,11 @@ import { TranslateModule } from '@ngx-translate/core'; import { MobileNavbarComponent } from './navbar/navbar.component'; import { MobileHeaderComponent } from './header/header.component'; import { RouterModule } from '@angular/router'; +import { MobileAlertComponent } from './alert/alert.component'; @NgModule({ - declarations: [MobileHeaderComponent, MobileNavbarComponent], - exports: [MobileHeaderComponent, MobileNavbarComponent], + declarations: [MobileHeaderComponent, MobileNavbarComponent, MobileAlertComponent], + exports: [MobileHeaderComponent, MobileNavbarComponent, MobileAlertComponent], imports: [CommonModule, CommonComponentsModule, TranslateModule, RouterModule], }) export class MobileComponentsModule {} From bcbc180369c6463c550ed10740e1d42af381f30f Mon Sep 17 00:00:00 2001 From: Nchrd <65755297+Nchrd@users.noreply.github.com> Date: Mon, 24 Apr 2023 17:24:33 +0200 Subject: [PATCH 039/146] Fixed code to get css animation --- src/app/app.component.html | 2 +- .../mobile/alert/alert.component.html | 8 +++--- .../mobile/alert/alert.component.scss | 27 +++++++++++++++---- .../mobile/alert/alert.component.ts | 8 +++++- 4 files changed, 35 insertions(+), 10 deletions(-) diff --git a/src/app/app.component.html b/src/app/app.component.html index 97c070d..a9fe33a 100644 --- a/src/app/app.component.html +++ b/src/app/app.component.html @@ -9,6 +9,6 @@
- +
\ No newline at end of file diff --git a/src/app/components/mobile/alert/alert.component.html b/src/app/components/mobile/alert/alert.component.html index 241d18a..931feb5 100644 --- a/src/app/components/mobile/alert/alert.component.html +++ b/src/app/components/mobile/alert/alert.component.html @@ -1,7 +1,9 @@ -
+
Alert Alert
- -
\ No newline at end of file + +
diff --git a/src/app/components/mobile/alert/alert.component.scss b/src/app/components/mobile/alert/alert.component.scss index 758c569..a10a028 100644 --- a/src/app/components/mobile/alert/alert.component.scss +++ b/src/app/components/mobile/alert/alert.component.scss @@ -4,6 +4,7 @@ display: flex; justify-content: space-between; align-items: center; + transition: all 0.5s ease-in-out; > .alert-group { justify-content: flex-start; @@ -22,10 +23,26 @@ } } - > .icon { - justify-content: flex-end; - width: 28px; - padding-right: 10px; - display: flex; + > .button { + border: none; + background-color: var(--orange); + + > .icon { + justify-content: flex-end; + width: 28px; + padding-right: 10px; + display: flex; + } } +} + +.alert .icon .button:before { + transform: translateY(-100%) ; +} + +.alert.hidden { + height: 0; + padding: 0; + margin: 0; + overflow: hidden; } \ No newline at end of file diff --git a/src/app/components/mobile/alert/alert.component.ts b/src/app/components/mobile/alert/alert.component.ts index 04b7720..2028a15 100644 --- a/src/app/components/mobile/alert/alert.component.ts +++ b/src/app/components/mobile/alert/alert.component.ts @@ -5,4 +5,10 @@ import { Component } from '@angular/core'; templateUrl: './alert.component.html', styleUrls: ['./alert.component.scss'], }) -export class MobileAlertComponent {} +export class MobileAlertComponent { + public isAlertVisible = false; + + public closeAlert(): void { + this.isAlertVisible = !this.isAlertVisible; + } +} From 9760f6a88ae18373c083835501421acf7be50c53 Mon Sep 17 00:00:00 2001 From: Julien Constant Date: Tue, 25 Apr 2023 15:24:15 +0200 Subject: [PATCH 040/146] Add a way to remember which alert has been dismissed by the user --- .../mobile/alert/alert.component.html | 12 +++--- .../mobile/alert/alert.component.scss | 36 +++++++---------- .../mobile/alert/alert.component.spec.ts | 27 ++++++------- .../mobile/alert/alert.component.ts | 40 +++++++++++++++++-- src/app/styles/animations.scss | 20 ++++++++++ src/types/index.d.ts | 11 +++++ 6 files changed, 100 insertions(+), 46 deletions(-) diff --git a/src/app/components/mobile/alert/alert.component.html b/src/app/components/mobile/alert/alert.component.html index 931feb5..58ddb50 100644 --- a/src/app/components/mobile/alert/alert.component.html +++ b/src/app/components/mobile/alert/alert.component.html @@ -1,9 +1,7 @@ -
-
- Alert - Alert +
+
+ {{ alert.title }} + {{ alert.message }}
- +
diff --git a/src/app/components/mobile/alert/alert.component.scss b/src/app/components/mobile/alert/alert.component.scss index a10a028..8d67a4d 100644 --- a/src/app/components/mobile/alert/alert.component.scss +++ b/src/app/components/mobile/alert/alert.component.scss @@ -1,45 +1,37 @@ .alert { background-color: var(--orange); - height: 40px; + min-height: 40px; display: flex; justify-content: space-between; align-items: center; - transition: all 0.5s ease-in-out; + padding: 0 10px; - > .alert-group { + &.hiding { + animation: move-up 500ms linear forwards, fade-out 400ms linear forwards; + } + + > .content { justify-content: flex-start; font-family: Roboto, sans-serif; - padding-left: 10px; display: flex; flex-direction: column; - > .alert-title { + > .title { font-weight: 600; - font-size: 15px; + font-size: calc(15px * var(--font-size)); } - > .alert-text { - font-size: 11px; + > .text { + font-size: calc(11px * var(--font-size)); } } - > .button { - border: none; - background-color: var(--orange); - - > .icon { - justify-content: flex-end; - width: 28px; - padding-right: 10px; - display: flex; - } + > .icon { + width: 20px; + height: 20px; } } -.alert .icon .button:before { - transform: translateY(-100%) ; -} - .alert.hidden { height: 0; padding: 0; diff --git a/src/app/components/mobile/alert/alert.component.spec.ts b/src/app/components/mobile/alert/alert.component.spec.ts index 49c8d86..a0302f2 100644 --- a/src/app/components/mobile/alert/alert.component.spec.ts +++ b/src/app/components/mobile/alert/alert.component.spec.ts @@ -3,21 +3,20 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { AlertComponent } from './alert.component'; describe('AlertComponent', () => { - let component: AlertComponent; - let fixture: ComponentFixture; + let component: AlertComponent; + let fixture: ComponentFixture; - beforeEach(async () => { - await TestBed.configureTestingModule({ - declarations: [ AlertComponent ] - }) - .compileComponents(); + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [AlertComponent], + }).compileComponents(); - fixture = TestBed.createComponent(AlertComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); + fixture = TestBed.createComponent(AlertComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); - it('should create', () => { - expect(component).toBeTruthy(); - }); + it('should create', () => { + expect(component).toBeTruthy(); + }); }); diff --git a/src/app/components/mobile/alert/alert.component.ts b/src/app/components/mobile/alert/alert.component.ts index 2028a15..f5b0d12 100644 --- a/src/app/components/mobile/alert/alert.component.ts +++ b/src/app/components/mobile/alert/alert.component.ts @@ -1,4 +1,5 @@ import { Component } from '@angular/core'; +import { Alert } from 'src/types'; @Component({ selector: 'app-mobile-alert', @@ -6,9 +7,42 @@ import { Component } from '@angular/core'; styleUrls: ['./alert.component.scss'], }) export class MobileAlertComponent { - public isAlertVisible = false; + public alerts: Array = []; - public closeAlert(): void { - this.isAlertVisible = !this.isAlertVisible; + public filterClosedAlerts(): void { + this.alerts = this.alerts.filter((alert) => this.isAlertVisible(alert)); + } + + public closeAlert(alert: Alert): void { + const alerts = JSON.parse(localStorage.getItem('alerts') ?? '{}'); + alerts[alert.id] = false; + localStorage.setItem('alerts', JSON.stringify(alerts)); + + setTimeout(() => { + this.filterClosedAlerts(); + }, 500); + } + + public isAlertVisible(alert: Alert): boolean { + const alerts = JSON.parse(localStorage.getItem('alerts') ?? '{}'); + return alerts[alert.id] ?? true; + } + + public ngOnInit(): void { + // todo: API call to get alerts to display + this.alerts = [ + { + title: 'Alert title', + message: 'Alert message', + id: 'alert-id', + }, + { + title: 'Alert title', + message: 'Alert message', + id: 'alert-id2', + }, + ]; + + this.filterClosedAlerts(); } } diff --git a/src/app/styles/animations.scss b/src/app/styles/animations.scss index acee4f9..8368c50 100644 --- a/src/app/styles/animations.scss +++ b/src/app/styles/animations.scss @@ -26,4 +26,24 @@ 100% { opacity: 1; } +} + +@keyframes fade-out { + 0% { + opacity: 1; + } + + 100% { + opacity: 0; + } +} + +@keyframes move-up { + 0% { + transform: translateY(0); + } + + 100% { + transform: translateY(-100%); + } } \ No newline at end of file diff --git a/src/types/index.d.ts b/src/types/index.d.ts index e9628ef..dec33b2 100644 --- a/src/types/index.d.ts +++ b/src/types/index.d.ts @@ -37,3 +37,14 @@ export interface Language { } export type Validator = Record; + +export interface Alert { + /** The alert title */ + title: string; + /** The alert message */ + message: string; + /** The alert type */ + // type: 'success' | 'info' | 'warning' | 'danger'; + /** The alert type */ + id: string; +} From dae58b22d8905537ab7e713f88e9c6607d018e05 Mon Sep 17 00:00:00 2001 From: Julien Constant Date: Tue, 25 Apr 2023 17:34:28 +0200 Subject: [PATCH 041/146] Moved alerts code into a service and made the desktop component --- src/app/app.component.html | 1 + src/app/app.component.scss | 4 +- .../desktop/alert/alert.component.ts | 16 ++++ src/app/components/desktop/alert/alert.html | 9 +++ src/app/components/desktop/alert/alert.scss | 63 +++++++++++++++ src/app/components/desktop/desktop.module.ts | 5 +- .../mobile/alert/alert.component.html | 7 -- .../mobile/alert/alert.component.ts | 46 ++--------- src/app/components/mobile/alert/alert.html | 7 ++ .../{alert.component.scss => alert.scss} | 36 ++++++--- src/app/services/alert.service.ts | 78 +++++++++++++++++++ src/app/styles/themes.scss | 10 +-- src/types/index.d.ts | 2 +- 13 files changed, 219 insertions(+), 65 deletions(-) create mode 100644 src/app/components/desktop/alert/alert.component.ts create mode 100644 src/app/components/desktop/alert/alert.html create mode 100644 src/app/components/desktop/alert/alert.scss delete mode 100644 src/app/components/mobile/alert/alert.component.html create mode 100644 src/app/components/mobile/alert/alert.html rename src/app/components/mobile/alert/{alert.component.scss => alert.scss} (52%) create mode 100644 src/app/services/alert.service.ts diff --git a/src/app/app.component.html b/src/app/app.component.html index a9fe33a..3eb8d68 100644 --- a/src/app/app.component.html +++ b/src/app/app.component.html @@ -1,5 +1,6 @@
+
diff --git a/src/app/app.component.scss b/src/app/app.component.scss index 9cb07e7..1e83f4a 100644 --- a/src/app/app.component.scss +++ b/src/app/app.component.scss @@ -1,8 +1,8 @@ main { - max-width: 1080px; + max-width: var(--max-page-width); width: 100%; margin: 0 auto; - padding: 20px 5px; + padding: 20px 0; display: flex; flex-direction: column; gap: 30px; diff --git a/src/app/components/desktop/alert/alert.component.ts b/src/app/components/desktop/alert/alert.component.ts new file mode 100644 index 0000000..f375e49 --- /dev/null +++ b/src/app/components/desktop/alert/alert.component.ts @@ -0,0 +1,16 @@ +import { Component, Inject } from '@angular/core'; +import { AlertService } from 'src/app/services/alert.service'; +import { Alert } from 'src/types'; + +@Component({ + selector: 'app-desktop-alert', + templateUrl: './alert.html', + styleUrls: ['./alert.scss'], +}) +export class DesktopAlertComponent { + public constructor(@Inject(AlertService) public readonly alerts: AlertService) {} + + public dismiss(alert: Alert): void { + this.alerts.dismiss(alert, 400); + } +} diff --git a/src/app/components/desktop/alert/alert.html b/src/app/components/desktop/alert/alert.html new file mode 100644 index 0000000..7dd713e --- /dev/null +++ b/src/app/components/desktop/alert/alert.html @@ -0,0 +1,9 @@ +
+
+
+ {{ alert.title }} + {{ alert.message }} +
+ +
+
\ No newline at end of file diff --git a/src/app/components/desktop/alert/alert.scss b/src/app/components/desktop/alert/alert.scss new file mode 100644 index 0000000..7a14fda --- /dev/null +++ b/src/app/components/desktop/alert/alert.scss @@ -0,0 +1,63 @@ +.alerts { + width: 100%; + max-width: var(--max-page-width); + margin: 20px auto 0; + display: flex; + flex-direction: column; + gap: 5px; + + > .alert { + display: flex; + width: 100%; + min-height: 50px; + justify-content: space-between; + align-items: center; + padding: 0 10px 0 10px; + border-radius: 10px; + + &.hiding { + animation: fade-out 300ms ease-in forwards; + } + + &.warning { + background-color: var(--orange-hover); + border: 1px solid var(--orange); + } + + &.info { + background-color: var(--blue-hover); + border: 1px solid var(--blue); + } + + &.danger { + background-color: var(--red-hover); + border: 1px solid var(--red); + } + + > .icon { + width: 20px; + height: 20px; + cursor: pointer; + fill: var(--text-color-dynamic); + } + + > .content { + justify-content: flex-start; + display: flex; + flex-direction: column; + + > .title { + font-family: Inter, sans-serif; + font-weight: 500; + font-size: calc(15px * var(--font-size)); + color: var(--text-color-dynamic); + } + + > .text { + font-family: Roboto, sans-serif; + font-size: calc(11px * var(--font-size)); + color: var(--text-color-dynamic); + } + } + } +} diff --git a/src/app/components/desktop/desktop.module.ts b/src/app/components/desktop/desktop.module.ts index 7ade5e5..2e274c6 100644 --- a/src/app/components/desktop/desktop.module.ts +++ b/src/app/components/desktop/desktop.module.ts @@ -4,10 +4,11 @@ import { TranslateModule } from '@ngx-translate/core'; import { CommonComponentsModule } from '../common/common.module'; import { DesktopHeaderComponent } from './header/header.component'; import { DesktopNavbarComponent } from './navbar/navbar.component'; +import { DesktopAlertComponent } from './alert/alert.component'; @NgModule({ - declarations: [DesktopHeaderComponent, DesktopNavbarComponent], - exports: [DesktopHeaderComponent, DesktopNavbarComponent], + declarations: [DesktopHeaderComponent, DesktopNavbarComponent, DesktopAlertComponent], + exports: [DesktopHeaderComponent, DesktopNavbarComponent, DesktopAlertComponent], imports: [CommonModule, CommonComponentsModule, TranslateModule], }) export class DesktopComponentsModule {} diff --git a/src/app/components/mobile/alert/alert.component.html b/src/app/components/mobile/alert/alert.component.html deleted file mode 100644 index 58ddb50..0000000 --- a/src/app/components/mobile/alert/alert.component.html +++ /dev/null @@ -1,7 +0,0 @@ -
-
- {{ alert.title }} - {{ alert.message }} -
- -
diff --git a/src/app/components/mobile/alert/alert.component.ts b/src/app/components/mobile/alert/alert.component.ts index f5b0d12..0f7dbbb 100644 --- a/src/app/components/mobile/alert/alert.component.ts +++ b/src/app/components/mobile/alert/alert.component.ts @@ -1,48 +1,16 @@ -import { Component } from '@angular/core'; +import { Component, Inject } from '@angular/core'; +import { AlertService } from 'src/app/services/alert.service'; import { Alert } from 'src/types'; @Component({ selector: 'app-mobile-alert', - templateUrl: './alert.component.html', - styleUrls: ['./alert.component.scss'], + templateUrl: './alert.html', + styleUrls: ['./alert.scss'], }) export class MobileAlertComponent { - public alerts: Array = []; + public constructor(@Inject(AlertService) public readonly alerts: AlertService) {} - public filterClosedAlerts(): void { - this.alerts = this.alerts.filter((alert) => this.isAlertVisible(alert)); - } - - public closeAlert(alert: Alert): void { - const alerts = JSON.parse(localStorage.getItem('alerts') ?? '{}'); - alerts[alert.id] = false; - localStorage.setItem('alerts', JSON.stringify(alerts)); - - setTimeout(() => { - this.filterClosedAlerts(); - }, 500); - } - - public isAlertVisible(alert: Alert): boolean { - const alerts = JSON.parse(localStorage.getItem('alerts') ?? '{}'); - return alerts[alert.id] ?? true; - } - - public ngOnInit(): void { - // todo: API call to get alerts to display - this.alerts = [ - { - title: 'Alert title', - message: 'Alert message', - id: 'alert-id', - }, - { - title: 'Alert title', - message: 'Alert message', - id: 'alert-id2', - }, - ]; - - this.filterClosedAlerts(); + public dismiss(alert: Alert): void { + this.alerts.dismiss(alert, 500); } } diff --git a/src/app/components/mobile/alert/alert.html b/src/app/components/mobile/alert/alert.html new file mode 100644 index 0000000..db7ea17 --- /dev/null +++ b/src/app/components/mobile/alert/alert.html @@ -0,0 +1,7 @@ +
+
+ {{ alert.title }} + {{ alert.message }} +
+ +
diff --git a/src/app/components/mobile/alert/alert.component.scss b/src/app/components/mobile/alert/alert.scss similarity index 52% rename from src/app/components/mobile/alert/alert.component.scss rename to src/app/components/mobile/alert/alert.scss index 8d67a4d..0a75023 100644 --- a/src/app/components/mobile/alert/alert.component.scss +++ b/src/app/components/mobile/alert/alert.scss @@ -1,35 +1,53 @@ .alert { background-color: var(--orange); - min-height: 40px; display: flex; justify-content: space-between; align-items: center; - padding: 0 10px; + padding: 8px; &.hiding { animation: move-up 500ms linear forwards, fade-out 400ms linear forwards; } + &.warning { + background-color: var(--orange-hover); + border-left: 5px solid var(--orange); + } + + &.info { + background-color: var(--blue-hover); + border-left: 5px solid var(--blue); + } + + &.danger { + background-color: var(--red-hover); + border-left: 5px solid var(--red); + } + + > .icon { + width: 20px; + height: 20px; + fill: var(--text-color-dynamic); + } + > .content { justify-content: flex-start; - font-family: Roboto, sans-serif; display: flex; flex-direction: column; > .title { - font-weight: 600; + font-family: Inter, sans-serif; + font-weight: 500; font-size: calc(15px * var(--font-size)); + color: var(--text-color-dynamic); } > .text { + font-family: Roboto, sans-serif; font-size: calc(11px * var(--font-size)); + color: var(--text-color-dynamic); } } - - > .icon { - width: 20px; - height: 20px; - } } .alert.hidden { diff --git a/src/app/services/alert.service.ts b/src/app/services/alert.service.ts new file mode 100644 index 0000000..07b1bef --- /dev/null +++ b/src/app/services/alert.service.ts @@ -0,0 +1,78 @@ +import { Injectable } from '@angular/core'; +import { Alert } from 'src/types'; + +@Injectable({ + providedIn: 'root', +}) +export class AlertService { + private alerts: Array = []; + + public get all(): Array { + return this.alerts; + } + + /** + * Dismisses an alert. + * If timeout is set, the alert will be removed after the timeout. + * This allows for animations to finish before removing the alert. + * @param {Alert} alert the alert to dismiss + * @param {number} timeout the timeout in milliseconds (default: 0) + */ + // TODO: use API instead of localStorage + public dismiss(alert: Alert, timeout = 0): void { + const alerts = JSON.parse(localStorage.getItem('alerts') ?? '{}'); + alerts[alert.id] = false; + localStorage.setItem('alerts', JSON.stringify(alerts)); + + setTimeout(() => { + this.removeDismissed(); + }, timeout); + } + + /** + * Determines whether an alert is visible. + * @param {Alert} alert the alert to check + * @returns {boolean} true if the alert should be visible, false otherwise + */ + // TODO: use API instead of localStorage + public isVisible(alert: Alert): boolean { + const alerts = JSON.parse(localStorage.getItem('alerts') ?? '{}'); + return alerts[alert.id] ?? true; + } + + /** + * Removes all dismissed alerts from the list of alerts. + */ + public removeDismissed(): void { + this.alerts = this.alerts.filter((alert) => this.isVisible(alert)); + } + + /** + * Fetches alerts from the API. + */ + public constructor() { + // TODO: use API instead + this.alerts = [ + { + title: 'Alert info', + message: 'Info >>> others branches', + type: 'info', + id: 'alert-id', + }, + { + title: 'Alert warning', + message: 'This is a warning message', + id: 'alert-id2', + type: 'warning', + }, + { + title: 'Alert danger', + message: 'This is a very dangerous message', + id: 'alert-id3', + type: 'danger', + }, + ]; + + this.removeDismissed(); + } +} diff --git a/src/app/styles/themes.scss b/src/app/styles/themes.scss index 1a5d351..26d289c 100644 --- a/src/app/styles/themes.scss +++ b/src/app/styles/themes.scss @@ -17,6 +17,7 @@ --orange-hover: #faa35680; --green: #7ce38b; --blue: #78c1ff; + --blue-hover: #78c1ff80; --dark-blue: #7597d1; --purple: #cea5fb; --purple-hover: #cea5fb80; @@ -39,6 +40,7 @@ --orange-hover: #e27c2280; --green: #2d8655; --blue: #107b82; + --blue-hover: #107b8280; --dark-blue: #3592e4; --purple: #cea5fb; --purple-hover: #cea5fb80; @@ -50,7 +52,7 @@ --gray3-hover: #161b2280; --gray2-hover: #1c212880; --gray1-hover: #21262d80; - --text-color-dynamic: #fff; + --text-color-dynamic: #ddd; } :root[data-event-theme="pinktober"] { @@ -70,12 +72,10 @@ :root[data-theme="high_contrast"] { --background-color: #000; --red: #f00; - --red-hover: #f00; --orange: #ffa500; - --orange-hover: #ffa500; --green: #0f0; - --blue: #deff00; - --dark-blue: #deff00; + --blue: #00fff2; + --dark-blue: #00fff2; --purple: #f33bee; --gray4: #111; --gray3: #222; diff --git a/src/types/index.d.ts b/src/types/index.d.ts index dec33b2..64b3b31 100644 --- a/src/types/index.d.ts +++ b/src/types/index.d.ts @@ -44,7 +44,7 @@ export interface Alert { /** The alert message */ message: string; /** The alert type */ - // type: 'success' | 'info' | 'warning' | 'danger'; + type: 'info' | 'warning' | 'danger'; /** The alert type */ id: string; } From 2309a89856b7e151e408c6dfe9308a6e2268ff3b Mon Sep 17 00:00:00 2001 From: Nchrd <65755297+Nchrd@users.noreply.github.com> Date: Tue, 25 Apr 2023 22:31:51 +0200 Subject: [PATCH 042/146] Fix useless CSS Fix useless CSS --- src/app/components/mobile/alert/alert.scss | 7 ------- 1 file changed, 7 deletions(-) diff --git a/src/app/components/mobile/alert/alert.scss b/src/app/components/mobile/alert/alert.scss index 0a75023..91de882 100644 --- a/src/app/components/mobile/alert/alert.scss +++ b/src/app/components/mobile/alert/alert.scss @@ -49,10 +49,3 @@ } } } - -.alert.hidden { - height: 0; - padding: 0; - margin: 0; - overflow: hidden; -} \ No newline at end of file From 0d42261bb980ca6b364b8c8fc6918af1a7a65c3e Mon Sep 17 00:00:00 2001 From: Julien Constant Date: Tue, 25 Apr 2023 22:56:10 +0200 Subject: [PATCH 043/146] Added a way to control if the btn should be disabled --- src/app/components/common/button/button.component.html | 2 +- src/app/components/common/button/button.component.scss | 6 ++++++ src/app/components/common/button/button.component.ts | 1 + 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/app/components/common/button/button.component.html b/src/app/components/common/button/button.component.html index 54fbad5..c901cb5 100644 --- a/src/app/components/common/button/button.component.html +++ b/src/app/components/common/button/button.component.html @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/src/app/components/common/button/button.component.scss b/src/app/components/common/button/button.component.scss index 5fac11a..9614306 100644 --- a/src/app/components/common/button/button.component.scss +++ b/src/app/components/common/button/button.component.scss @@ -28,4 +28,10 @@ button { background-color: var(--gray2); color: var(--text-color-dynamic); } + + &:disabled { + background-color: var(--gray2-hover); + color: var(--text-color-dark-bg); + cursor: not-allowed; + } } \ No newline at end of file diff --git a/src/app/components/common/button/button.component.ts b/src/app/components/common/button/button.component.ts index c3fe65a..112008a 100644 --- a/src/app/components/common/button/button.component.ts +++ b/src/app/components/common/button/button.component.ts @@ -8,4 +8,5 @@ import { Component, Input } from '@angular/core'; export class ButtonComponent { @Input() public text = ''; @Input() public height: 'medium' | 'large' | 'small' = 'medium'; + @Input() public disabled = false; } From 397d3f0583d186fd4043f384a15f91c76f68e854 Mon Sep 17 00:00:00 2001 From: Julien Constant Date: Tue, 25 Apr 2023 22:56:43 +0200 Subject: [PATCH 044/146] Replaced handmade validators with Angular ones --- .vscode/settings.json | 1 + src/app/app.module.ts | 6 ++ .../forgot_password.component.ts | 30 ++++--- .../forgot_password/forgot_password.html | 10 ++- .../forgot_password/forgot_password.scss | 3 + .../components/pages/login/login.component.ts | 29 ++++--- src/app/components/pages/login/login.html | 17 ++-- src/app/components/pages/login/login.scss | 3 + src/app/components/pages/pages.module.ts | 6 +- .../pages/register/register.component.ts | 79 +++++++++++-------- .../components/pages/register/register.html | 42 ++++++---- .../components/pages/register/register.scss | 7 ++ src/app/directives/date.directive.ts | 29 +++++++ .../directives/forbidden_email.directive.ts | 14 ++++ src/app/directives/index.ts | 32 ++++++++ src/app/directives/name.directive.ts | 8 ++ src/app/directives/password.directive.ts | 39 +++++++++ src/assets/i18n/en-US.json | 41 ++++------ src/environments/environment.dev.ts | 1 + src/environments/environment.prod.ts | 1 + src/utils/index.ts | 1 - src/utils/validators.ts | 75 ------------------ 22 files changed, 287 insertions(+), 187 deletions(-) create mode 100644 src/app/directives/date.directive.ts create mode 100644 src/app/directives/forbidden_email.directive.ts create mode 100644 src/app/directives/index.ts create mode 100644 src/app/directives/name.directive.ts create mode 100644 src/app/directives/password.directive.ts delete mode 100644 src/utils/validators.ts diff --git a/.vscode/settings.json b/.vscode/settings.json index 1af3f35..3d82701 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -11,6 +11,7 @@ "cSpell.words": [ "browserconfig", "christmas", + "hcaptcha", "pinktober", "sith", "stylelint", diff --git a/src/app/app.module.ts b/src/app/app.module.ts index c4f0037..76d8ad6 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -1,5 +1,6 @@ import { NgModule } from '@angular/core'; import { BrowserModule } from '@angular/platform-browser'; +import { NgHcaptchaModule } from 'ng-hcaptcha'; import { AppRoutingModule } from './app-routing.module'; import { AppComponent } from './app.component'; @@ -10,6 +11,8 @@ import { HttpLoaderFactory } from 'src/utils'; import { MobileComponentsModule } from './components/mobile/mobile.module'; import { DesktopComponentsModule } from './components/desktop/desktop.module'; +import { environment } from 'src/environments/environment.dev'; + @NgModule({ declarations: [AppComponent], imports: [ @@ -27,6 +30,9 @@ import { DesktopComponentsModule } from './components/desktop/desktop.module'; deps: [HttpClient], }, }), + NgHcaptchaModule.forRoot({ + siteKey: environment.HCAPTCHA_SITE_KEY, + }), ], providers: [], bootstrap: [AppComponent], diff --git a/src/app/components/pages/forgot_password/forgot_password.component.ts b/src/app/components/pages/forgot_password/forgot_password.component.ts index 2246126..4d8b138 100644 --- a/src/app/components/pages/forgot_password/forgot_password.component.ts +++ b/src/app/components/pages/forgot_password/forgot_password.component.ts @@ -1,9 +1,9 @@ import { Component, Inject } from '@angular/core'; +import { FormGroup, FormBuilder, Validators } from '@angular/forms'; import { TranslateService } from '@ngx-translate/core'; +import { CustomValidators, getErrors } from 'src/app/directives'; import { PageService } from 'src/app/services/page.service'; import { UserService } from 'src/app/services/user.service'; -import { Validator } from 'src/types'; -import { validateEmail } from 'src/utils'; @Component({ selector: 'app-forgot-password', @@ -11,23 +11,31 @@ import { validateEmail } from 'src/utils'; styleUrls: ['./forgot_password.scss'], }) export class ForgotPasswordComponent { - public fields = { - email: '', - }; - - public errors: Validator = { - email: undefined, - }; + public formGroup: FormGroup = this.fb.group({ + email: ['', [Validators.required, Validators.email, CustomValidators.forbiddenEmailValidator('@utbm.fr')]], + }); public constructor( @Inject(TranslateService) public readonly t: TranslateService, @Inject(UserService) public readonly u: UserService, @Inject(PageService) public readonly p: PageService, + @Inject(FormBuilder) private readonly fb: FormBuilder, ) { t.get('forgot_password.title').subscribe((title) => (p.title = title)); } - public emailUpdate(): void { - this.errors['email'] = validateEmail(this.fields.email); + public errors(field: string): string[] { + if ('passwordConfirm' === field) + return [...getErrors(this.formGroup.controls[field]), ...getErrors(this.formGroup)]; + + return getErrors(this.formGroup.controls[field]); + } + + public getError(field: string): string { + return `global.errors.${field}`; + } + + public sendEmail(): void { + return; } } diff --git a/src/app/components/pages/forgot_password/forgot_password.html b/src/app/components/pages/forgot_password/forgot_password.html index b7b4a33..93c487e 100644 --- a/src/app/components/pages/forgot_password/forgot_password.html +++ b/src/app/components/pages/forgot_password/forgot_password.html @@ -11,7 +11,7 @@ {{ 'connection.already_logged_as_x' | translate: { name: u.fullName } }}
-
+
{{ 'global.back' | translate}} @@ -25,12 +25,14 @@
- + +
+
+ {{ getError(error) | translate }}
- {{ errors['email'] | translate }}
- +
\ No newline at end of file diff --git a/src/app/components/pages/forgot_password/forgot_password.scss b/src/app/components/pages/forgot_password/forgot_password.scss index 0111d9f..516ac86 100644 --- a/src/app/components/pages/forgot_password/forgot_password.scss +++ b/src/app/components/pages/forgot_password/forgot_password.scss @@ -95,6 +95,9 @@ main { font-size: calc(12px * var(--font-size)); line-height: 14px; margin-left: calc(32px + 5px); + + display: flex; + flex-direction: column; } >.input { diff --git a/src/app/components/pages/login/login.component.ts b/src/app/components/pages/login/login.component.ts index d9e36b3..ccc8e08 100644 --- a/src/app/components/pages/login/login.component.ts +++ b/src/app/components/pages/login/login.component.ts @@ -1,9 +1,9 @@ import { Component, Inject } from '@angular/core'; +import { FormBuilder, FormGroup, Validators } from '@angular/forms'; import { TranslateService } from '@ngx-translate/core'; +import { CustomValidators, getErrors } from 'src/app/directives'; import { PageService } from 'src/app/services/page.service'; import { UserService } from 'src/app/services/user.service'; -import { Validator } from 'src/types'; -import { validateEmail } from 'src/utils'; @Component({ selector: 'app-login', @@ -11,20 +11,16 @@ import { validateEmail } from 'src/utils'; styleUrls: ['./login.scss'], }) export class LoginComponent { - public fields = { - email: '', - password: '', - }; - - public errors: Validator = { - email: undefined, - password: undefined, - }; + public formGroup: FormGroup = this.fb.group({ + email: ['', [Validators.required, Validators.email, CustomValidators.forbiddenEmailValidator('@utbm.fr')]], + password: ['', [Validators.required]], + }); public constructor( @Inject(TranslateService) public readonly t: TranslateService, @Inject(PageService) public readonly p: PageService, @Inject(UserService) public readonly u: UserService, + @Inject(FormBuilder) private readonly fb: FormBuilder, ) { t.get('login.title').subscribe((title) => (p.title = title)); } @@ -36,7 +32,14 @@ export class LoginComponent { this.p.route = '/'; } - public emailUpdate() { - this.errors['email'] = validateEmail(this.fields.email); + public errors(field: string): string[] { + if ('passwordConfirm' === field) + return [...getErrors(this.formGroup.controls[field]), ...getErrors(this.formGroup)]; + + return getErrors(this.formGroup.controls[field]); + } + + public getError(field: string): string { + return `global.errors.${field}`; } } diff --git a/src/app/components/pages/login/login.html b/src/app/components/pages/login/login.html index 2181585..f8a2cc3 100644 --- a/src/app/components/pages/login/login.html +++ b/src/app/components/pages/login/login.html @@ -11,7 +11,7 @@ {{ 'login.already_logged_as_x' | translate: { name: u.fullName } }}
-
+
{{ 'login.no_account' | translate}} @@ -21,18 +21,21 @@
- + +
+
+ {{ getError(error) | translate }}
- {{ errors['email'] | translate }}
- + +
+
+ {{ getError(error) | translate }}
- {{ errors['password'] | translate }}
@@ -40,6 +43,6 @@
- +
\ No newline at end of file diff --git a/src/app/components/pages/login/login.scss b/src/app/components/pages/login/login.scss index 097f414..b4b2855 100644 --- a/src/app/components/pages/login/login.scss +++ b/src/app/components/pages/login/login.scss @@ -88,6 +88,9 @@ main { font-size: calc(12px * var(--font-size)); line-height: 14px; margin-left: calc(32px + 5px); + + display: flex; + flex-direction: column; } > .input { diff --git a/src/app/components/pages/pages.module.ts b/src/app/components/pages/pages.module.ts index a60c2f0..b082158 100644 --- a/src/app/components/pages/pages.module.ts +++ b/src/app/components/pages/pages.module.ts @@ -9,7 +9,8 @@ import { DesktopComponentsModule } from '../desktop/desktop.module'; import { LoginComponent } from './login/login.component'; import { RegisterComponent } from './register/register.component'; import { ForgotPasswordComponent } from './forgot_password/forgot_password.component'; -import { FormsModule } from '@angular/forms'; +import { FormsModule, ReactiveFormsModule } from '@angular/forms'; +import { NgHcaptchaModule } from 'ng-hcaptcha'; @NgModule({ declarations: [NotFoundComponent, HomeComponent, LoginComponent, RegisterComponent, ForgotPasswordComponent], @@ -18,6 +19,9 @@ import { FormsModule } from '@angular/forms'; FormsModule, CommonModule, TranslateModule, + NgHcaptchaModule, + FormsModule, + ReactiveFormsModule, CommonComponentsModule, MobileComponentsModule, DesktopComponentsModule, diff --git a/src/app/components/pages/register/register.component.ts b/src/app/components/pages/register/register.component.ts index 725b974..3458e2d 100644 --- a/src/app/components/pages/register/register.component.ts +++ b/src/app/components/pages/register/register.component.ts @@ -3,8 +3,8 @@ import { TranslateService } from '@ngx-translate/core'; import { PageService } from 'src/app/services/page.service'; import { UserService } from 'src/app/services/user.service'; import { environment } from 'src/environments/environment'; -import { Validator } from 'src/types'; -import { validateBirthDate, validateConfirmPassword, validateEmail, validateName, validatePassword } from 'src/utils'; +import { FormBuilder, FormGroup, Validators } from '@angular/forms'; +import { CustomValidators, getErrors } from 'src/app/directives'; @Component({ selector: 'app-register', @@ -14,53 +14,62 @@ import { validateBirthDate, validateConfirmPassword, validateEmail, validateName export class RegisterComponent { public readonly MIN_AGE = environment.REGISTER_AGE_MIN; public readonly MAX_AGE = environment.REGISTER_AGE_MAX; + public readonly MIN_NAME = 2; + public readonly MIN_PASSWORD = 8; - public fields = { - lastName: '', - firstName: '', - email: '', - birthDate: '', - password: '', - passwordConfirm: '', - }; - - public errors: Validator = { - lastName: undefined, - firstName: undefined, - email: undefined, - birthDate: undefined, - password: undefined, - passwordConfirm: undefined, - }; + public readonly formGroup: FormGroup = this.fb.group( + { + lastName: [null, [Validators.required, Validators.minLength(this.MIN_NAME), CustomValidators.nameValidator]], + firstName: [null, [Validators.required, Validators.minLength(this.MIN_NAME), CustomValidators.nameValidator]], + email: [null, [Validators.required, Validators.email, CustomValidators.forbiddenEmailValidator('@utbm.fr')]], + birthDate: [ + null, + [ + Validators.required, + CustomValidators.ageMinValidator(), + CustomValidators.ageMaxValidator(), + CustomValidators.notInFutureValidator, + ], + ], + password: [ + null, + [ + Validators.required, + Validators.minLength(this.MIN_PASSWORD), + CustomValidators.hasOneDigit, + CustomValidators.hasOneSpecialCharacter, + CustomValidators.hasOneUppercase, + CustomValidators.hasOneLowercase, + CustomValidators.hasNoDuplicateCharacters, + ], + ], + passwordConfirm: [null, [Validators.required]], + captcha: [null, Validators.required], + }, + { validators: CustomValidators.passwordsMatchValidator() }, + ); public constructor( @Inject(TranslateService) public readonly t: TranslateService, @Inject(PageService) public readonly p: PageService, @Inject(UserService) public readonly u: UserService, + @Inject(FormBuilder) private readonly fb: FormBuilder, ) { t.get('register.title').subscribe((title) => (p.title = title)); } - public lastNameUpdate(): void { - this.errors['lastName'] = validateName(this.fields.lastName.trim()); - this.fields.lastName = this.fields.lastName.trim(); - } - - public firstNameUpdate(): void { - this.errors['firstName'] = validateName(this.fields.firstName.trim()); - this.fields.firstName = this.fields.firstName.trim(); - } + public errors(field: string): string[] { + if ('passwordConfirm' === field) + return [...getErrors(this.formGroup.controls[field]), ...getErrors(this.formGroup)]; - public emailUpdate(): void { - this.errors['email'] = validateEmail(this.fields.email); + return getErrors(this.formGroup.controls[field]); } - public birthDateUpdate(): void { - this.errors['birthDate'] = validateBirthDate(this.fields.birthDate); + public getError(field: string): string { + return `global.errors.${field}`; } - public passwordUpdate(): void { - this.errors['password'] = validatePassword(this.fields.password); - this.errors['passwordConfirm'] = validateConfirmPassword(this.fields.password, this.fields.passwordConfirm); + public register(): void { + return; } } diff --git a/src/app/components/pages/register/register.html b/src/app/components/pages/register/register.html index 625f9f6..96fb2f8 100644 --- a/src/app/components/pages/register/register.html +++ b/src/app/components/pages/register/register.html @@ -11,7 +11,7 @@ {{ 'register.already_registered_and_logged_as_x' | translate: { name: u.fullName } }}
-
+
{{ 'register.already_have_account' | translate }} @@ -20,54 +20,68 @@
- +
- {{ errors['lastName'] | translate }} +
+ {{ getError(error) | translate: { min: MIN_NAME } }} +
- +
- {{ errors['firstName'] | translate }} +
+ {{ getError(error) | translate: { min: MIN_NAME } }} +
- +
{{ 'register.date_birth_no_modif' | translate }} - {{ errors['birthDate'] | translate: { min: MIN_AGE, max: MAX_AGE } }} +
+ {{ getError(error) | translate: { min: MIN_AGE, max: MAX_AGE } }} +
- + +
+
+ {{ getError(error) | translate }}
- {{ errors['email'] | translate }}
- +
{{ 'register.min_password' | translate }} - {{ errors['password'] | translate }} +
+ {{ getError(error) | translate: { min: MIN_PASSWORD } }} +
- +
{{ 'register.confirm_password' | translate }} - {{ errors['passwordConfirm'] | translate }} +
+ {{ getError(error) | translate }} +
- + + + \ No newline at end of file diff --git a/src/app/components/pages/register/register.scss b/src/app/components/pages/register/register.scss index b5a0ab6..fc0ee68 100644 --- a/src/app/components/pages/register/register.scss +++ b/src/app/components/pages/register/register.scss @@ -85,6 +85,9 @@ main { line-height: 14px; margin-left: calc(32px + 5px); + display: flex; + flex-direction: column; + &.no-margin { margin-left: 0; } @@ -132,6 +135,10 @@ main { } } + > .form-captcha { + margin: 0 auto; + } + > .form-button { width: 100%; } diff --git a/src/app/directives/date.directive.ts b/src/app/directives/date.directive.ts new file mode 100644 index 0000000..28d12f9 --- /dev/null +++ b/src/app/directives/date.directive.ts @@ -0,0 +1,29 @@ +import { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms'; +import { environment } from 'src/environments/environment'; + +export function ageMinValidator(min = environment.REGISTER_AGE_MIN): ValidatorFn { + return (control: AbstractControl): ValidationErrors | null => { + if (!control.value) return null; + + const year = new Date().getFullYear(); + const birthDateYear = new Date(control.value).getFullYear(); + return birthDateYear > year - min ? { age_minimum: true } : null; + }; +} + +export function ageMaxValidator(max = environment.REGISTER_AGE_MAX): ValidatorFn { + return (control: AbstractControl): ValidationErrors | null => { + if (!control.value) return null; + + const year = new Date().getFullYear(); + const birthDateYear = new Date(control.value).getFullYear(); + return birthDateYear < year - max ? { age_maximum: true } : null; + }; +} + +export function notInFutureValidator(control: AbstractControl): ValidationErrors | null { + if (!control.value) return null; + + const forbidden = new Date(control.value).getTime() > new Date().getTime(); + return forbidden ? { not_in_future: true } : null; +} diff --git a/src/app/directives/forbidden_email.directive.ts b/src/app/directives/forbidden_email.directive.ts new file mode 100644 index 0000000..1e0bf8a --- /dev/null +++ b/src/app/directives/forbidden_email.directive.ts @@ -0,0 +1,14 @@ +import { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms'; + +/** + * Check if the given email is not a forbidden one. + * @param {...string} emails Array of forbidden emails (e.g. '@utbm.fr') + * @returns {ValidatorFn} The angular validator function + */ +export function forbiddenEmailValidator(...emails: string[]): ValidatorFn { + return (control: AbstractControl): ValidationErrors | null => { + const forbidden = emails.find((e) => control.value && control.value.endsWith(e)); + + return forbidden ? { forbidden_email: true } : null; + }; +} diff --git a/src/app/directives/index.ts b/src/app/directives/index.ts new file mode 100644 index 0000000..b515f09 --- /dev/null +++ b/src/app/directives/index.ts @@ -0,0 +1,32 @@ +import { AbstractControl } from '@angular/forms'; +import { ageMinValidator, ageMaxValidator, notInFutureValidator } from './date.directive'; +import { forbiddenEmailValidator } from './forbidden_email.directive'; +import { nameValidator } from './name.directive'; +import { + hasOneDigit, + hasOneSpecialCharacter, + hasOneUppercase, + hasOneLowercase, + hasNoDuplicateCharacters, + passwordsMatchValidator, +} from './password.directive'; + +export class CustomValidators { + public static forbiddenEmailValidator = forbiddenEmailValidator; + public static ageMinValidator = ageMinValidator; + public static ageMaxValidator = ageMaxValidator; + public static notInFutureValidator = notInFutureValidator; + public static nameValidator = nameValidator; + public static hasOneDigit = hasOneDigit; + public static hasOneSpecialCharacter = hasOneSpecialCharacter; + public static hasOneUppercase = hasOneUppercase; + public static hasOneLowercase = hasOneLowercase; + public static hasNoDuplicateCharacters = hasNoDuplicateCharacters; + public static passwordsMatchValidator = passwordsMatchValidator; +} + +export function getErrors(control: AbstractControl): string[] { + if (!control.errors) return []; + if (control.pristine && !control.touched) return []; + return Object.keys(control.errors); +} diff --git a/src/app/directives/name.directive.ts b/src/app/directives/name.directive.ts new file mode 100644 index 0000000..2855713 --- /dev/null +++ b/src/app/directives/name.directive.ts @@ -0,0 +1,8 @@ +import { AbstractControl, ValidationErrors } from '@angular/forms'; + +export function nameValidator(control: AbstractControl): ValidationErrors | null { + if (!control.value) return null; + + // check if the name contains only letters (from any language), hyphens and apostrophes + return /^[\p{L}'\-]+(?: [\p{L}'\-]+)*$/u.test(control.value) === false ? { invalid_name: true } : null; +} diff --git a/src/app/directives/password.directive.ts b/src/app/directives/password.directive.ts new file mode 100644 index 0000000..eebce69 --- /dev/null +++ b/src/app/directives/password.directive.ts @@ -0,0 +1,39 @@ +import { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms'; + +export function hasOneDigit(control: AbstractControl): ValidationErrors | null { + if (!control.value) return null; + return /\d/.test(control.value) === false ? { has_one_digit: true } : null; +} + +export function hasOneSpecialCharacter(control: AbstractControl): ValidationErrors | null { + if (!control.value) return null; + return /[\W_]+/.test(control.value) === false ? { has_one_special_character: true } : null; +} + +export function hasOneUppercase(control: AbstractControl): ValidationErrors | null { + if (!control.value) return null; + return /[A-Z]/.test(control.value) === false ? { has_one_uppercase: true } : null; +} + +export function hasOneLowercase(control: AbstractControl): ValidationErrors | null { + if (!control.value) return null; + return /[a-z]/.test(control.value) === false ? { has_one_lowercase: true } : null; +} + +export function hasNoDuplicateCharacters(control: AbstractControl): ValidationErrors | null { + if (!control.value) return null; + return control.value.match(/([a-z])\1+/g) !== null || + control.value.match(/([A-Z])\1+/g) !== null || + control.value.match(/([0-9])\1+/g) !== null + ? { has_no_duplicate_characters: true } + : null; +} + +export function passwordsMatchValidator(password_field = 'password', confirm_field = 'passwordConfirm'): ValidatorFn { + return (control: AbstractControl): ValidationErrors | null => { + const password = control.get(password_field); + const passwordConfirm = control.get(confirm_field); + + return password?.value === passwordConfirm?.value ? null : { passwords_match: true }; + }; +} diff --git a/src/assets/i18n/en-US.json b/src/assets/i18n/en-US.json index 82b69f1..90117b8 100644 --- a/src/assets/i18n/en-US.json +++ b/src/assets/i18n/en-US.json @@ -53,32 +53,21 @@ "confirm_password": "Confirm password", "date_birth": "Date of birth", "errors": { - "email": { - "required": "Email is required", - "invalid": "Email is invalid", - "utbm": "Email can't be a UTBM email" - }, - "birth_date": { - "required": "Date of birth is required", - "invalid": "You must be at least {{min}} and maximum {{max}} years old to register", - "future": "Date of birth cannot be in the future" - }, - "password": { - "required": "Password is required", - "length": "Password must be at least 8 characters long", - "digit": "Password must contain at least one digit", - "special": "Password must contain at least one special character", - "uppercase": "Password must contain at least one uppercase character", - "lowercase": "Password must contain at least one lowercase character", - "duplicate": "Password must not contain consecutive identical characters", - "confirm": "Password confirmation is required", - "confirm_mismatch": "Password confirmation does not match password" - }, - "name": { - "required": "It cannot be empty", - "length": "Your name must be at least 2 characters long", - "invalid": "Your name is invalid (check for double spaces or special characters)" - } + "required": "This field is required", + "forbidden_email": "This email is forbidden", + "age_minimum": "You must be at least {{ min }} years old", + "age_maximum": "You must be at most {{ max }} years old", + "not_in_future": "This date cannot be in the future", + "invalid_name": "This name is invalid", + "has_one_digit": "This password must contain at least one digit", + "has_one_special_character": "This password must contain at least one special character", + "has_one_lowercase": "This password must contain at least one lowercase letter", + "has_one_uppercase": "This password must contain at least one uppercase letter", + "has_no_duplicate_characters": "This password must not contain duplicate characters next to each other", + "passwords_match": "The passwords do not match", + "minlength": "This field must contain at least {{ min }} characters", + "maxlength": "This field must contain at most {{ max }} characters", + "email": "This email is invalid" } }, "404": { diff --git a/src/environments/environment.dev.ts b/src/environments/environment.dev.ts index a262ee1..ef3f082 100644 --- a/src/environments/environment.dev.ts +++ b/src/environments/environment.dev.ts @@ -2,6 +2,7 @@ export const environment = { PRODUCTION: false, REGISTER_AGE_MIN: 13, REGISTER_AGE_MAX: 100, + HCAPTCHA_SITE_KEY: '10000000-ffff-ffff-ffff-000000000001', }; export type Environment = typeof environment; diff --git a/src/environments/environment.prod.ts b/src/environments/environment.prod.ts index 17f9e94..2d53c56 100644 --- a/src/environments/environment.prod.ts +++ b/src/environments/environment.prod.ts @@ -2,4 +2,5 @@ import { environment as devEnv, Environment } from './environment.dev'; export const environment: Environment = Object.merge(devEnv, { PRODUCTION: true, + HCAPTCHA_SITE_KEY: '', // TODO: Add hCaptcha site key (log with the github bot account) }); diff --git a/src/utils/index.ts b/src/utils/index.ts index d5b12f8..f416dcf 100644 --- a/src/utils/index.ts +++ b/src/utils/index.ts @@ -1,4 +1,3 @@ export * from './i18n'; export * from './object'; export * from './theme'; -export * from './validators'; diff --git a/src/utils/validators.ts b/src/utils/validators.ts deleted file mode 100644 index 84fcab2..0000000 --- a/src/utils/validators.ts +++ /dev/null @@ -1,75 +0,0 @@ -import { environment } from 'src/environments/environment'; - -/** - * Check if the email is valid or not - * @param {string} email The email to check - * @param {boolean} utbm If the email shouldn't be a utbm.fr email (default: true) - * @returns {string|undefined} The error message or undefined (if the email is valid) - */ -export const validateEmail = (email: string, utbm = true): string | undefined => { - if (email === '') return 'global.errors.email.required'; - if (/^([a-zA-Z0-9._%+-]+)@([a-zA-Z0-9.-]+\.[a-zA-Z]{2,})$/.test(email) === false) - return 'global.errors.email.invalid'; - if (utbm && /@utbm\.fr$/.test(email)) return 'global.errors.email.utbm'; - return undefined; -}; - -export const validateBirthDate = ( - birthDate: string, - max = environment.REGISTER_AGE_MAX, - min = environment.REGISTER_AGE_MIN, -): string | undefined => { - const year = new Date().getFullYear(); - const birthDateYear = new Date(birthDate).getFullYear(); - - if (birthDate === '') return 'global.errors.birth_date.required'; - if (new Date(birthDate).getTime() > new Date().getTime()) return 'global.errors.birth_date.future'; - if (birthDateYear < year - max || birthDateYear > year - min) return 'global.errors.birth_date.invalid'; - - return undefined; -}; - -export const validatePassword = (password: string): string | undefined => { - if (password === '') return 'global.errors.password.required'; - // at least 8 characters - if (password.length < 8) return 'global.errors.password.length'; - - // at least 1 digit - if (/\d/.test(password) === false) return 'global.errors.password.digit'; - - // at least 1 special character - if (/[\W_]+/.test(password) === false) return 'global.errors.password.special'; - - // at least 1 uppercase letter - if (/[A-Z]/.test(password) === false) return 'global.errors.password.uppercase'; - - // at least 1 lowercase letter - if (/[a-z]/.test(password) === false) return 'global.errors.password.lowercase'; - - // no duplicate characters (case insensitive) - if ( - password.match(/([a-z])\1+/g) !== null || - password.match(/([A-Z])\1+/g) !== null || - password.match(/([0-9])\1+/g) !== null - ) - return 'global.errors.password.duplicate'; - - return undefined; -}; - -export const validateConfirmPassword = (password: string, confirmPassword: string): string | undefined => { - if (confirmPassword === '') return 'global.errors.password.confirm'; - if (password !== confirmPassword) return 'global.errors.password.confirm_mismatch'; - - return undefined; -}; - -export const validateName = (name: string): string | undefined => { - if (name === '') return 'global.errors.name.required'; - if (name.length < 2) return 'global.errors.name.length'; - - // check if the name contains only letters (from any language), hyphens and apostrophes - if (/^[\p{L}'\-]+(?: [\p{L}'\-]+)*$/u.test(name) === false) return 'global.errors.name.invalid'; - - return undefined; -}; From 94551872e1317e5a00f84b9fb2e5149240f30cfb Mon Sep 17 00:00:00 2001 From: Julien Constant Date: Tue, 25 Apr 2023 23:14:55 +0200 Subject: [PATCH 045/146] Fix CRLF/LF issues --- .vscode/settings.json | 44 +-- src/app/app.component.html | 28 +- src/app/app.component.scss | 38 +-- .../common/button/button.component.scss | 72 ++--- src/app/components/desktop/alert/alert.html | 16 +- src/app/components/desktop/alert/alert.scss | 126 ++++---- src/app/components/mobile/alert/alert.html | 14 +- src/app/components/mobile/alert/alert.scss | 102 +++---- .../forgot_password/forgot_password.html | 74 ++--- .../forgot_password/forgot_password.scss | 279 +++++++++-------- src/app/components/pages/login/login.html | 94 +++--- src/app/components/pages/login/login.scss | 267 ++++++++-------- .../components/pages/register/register.html | 172 +++++------ .../components/pages/register/register.scss | 289 +++++++++--------- src/app/styles/animations.scss | 96 +++--- src/app/styles/themes.scss | 184 +++++------ src/assets/i18n/en-US.json | 198 ++++++------ 17 files changed, 1045 insertions(+), 1048 deletions(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index 3d82701..c4c152c 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,22 +1,22 @@ -{ - "files.exclude": { - "**/.git": true, - "**/.svn": true, - "**/.hg": true, - "**/CVS": true, - "**/.DS_Store": true, - "**/Thumbs.db": true, - "**/node_modules": true - }, - "cSpell.words": [ - "browserconfig", - "christmas", - "hcaptcha", - "pinktober", - "sith", - "stylelint", - "truetype" - ], - "files.eol": "\n", - "vue.features.codeActions.enable": false -} +{ + "files.exclude": { + "**/.git": true, + "**/.svn": true, + "**/.hg": true, + "**/CVS": true, + "**/.DS_Store": true, + "**/Thumbs.db": true, + "**/node_modules": true + }, + "cSpell.words": [ + "browserconfig", + "christmas", + "hcaptcha", + "pinktober", + "sith", + "stylelint", + "truetype" + ], + "files.eol": "\n", + "vue.features.codeActions.enable": false +} diff --git a/src/app/app.component.html b/src/app/app.component.html index 3eb8d68..41e7f34 100644 --- a/src/app/app.component.html +++ b/src/app/app.component.html @@ -1,15 +1,15 @@ -
- - -
- - -
-
- -
- - - - +
+ + +
+ + +
+
+ +
+ + + +
\ No newline at end of file diff --git a/src/app/app.component.scss b/src/app/app.component.scss index 1e83f4a..541d1a4 100644 --- a/src/app/app.component.scss +++ b/src/app/app.component.scss @@ -1,19 +1,19 @@ -main { - max-width: var(--max-page-width); - width: 100%; - margin: 0 auto; - padding: 20px 0; - display: flex; - flex-direction: column; - gap: 30px; - - &.headless { - margin: 0; - max-width: none; - padding: 0; - } -} - -router-outlet { - display: none; -} +main { + max-width: var(--max-page-width); + width: 100%; + margin: 0 auto; + padding: 20px 0; + display: flex; + flex-direction: column; + gap: 30px; + + &.headless { + margin: 0; + max-width: none; + padding: 0; + } +} + +router-outlet { + display: none; +} diff --git a/src/app/components/common/button/button.component.scss b/src/app/components/common/button/button.component.scss index 9614306..d8d10b3 100644 --- a/src/app/components/common/button/button.component.scss +++ b/src/app/components/common/button/button.component.scss @@ -1,37 +1,37 @@ -button { - background-color: var(--gray4); - color: var(--text-color-dark-bg); - display: flex; - align-items: center; - justify-content: center; - padding: 5px 20px; - width: 100%; - border-radius: 5px; - border: none; - font-family: Inter, sans-serif; - text-transform: uppercase; - cursor: pointer; - - &.large { - height: 40px; - } - - &.medium { - height: 30px; - } - - &.small { - height: 20px; - } - - &:hover { - background-color: var(--gray2); - color: var(--text-color-dynamic); - } - - &:disabled { - background-color: var(--gray2-hover); - color: var(--text-color-dark-bg); - cursor: not-allowed; - } +button { + background-color: var(--gray4); + color: var(--text-color-dark-bg); + display: flex; + align-items: center; + justify-content: center; + padding: 5px 20px; + width: 100%; + border-radius: 5px; + border: none; + font-family: Inter, sans-serif; + text-transform: uppercase; + cursor: pointer; + + &.large { + height: 40px; + } + + &.medium { + height: 30px; + } + + &.small { + height: 20px; + } + + &:hover { + background-color: var(--gray2); + color: var(--text-color-dynamic); + } + + &:disabled { + background-color: var(--gray2-hover); + color: var(--text-color-dark-bg); + cursor: not-allowed; + } } \ No newline at end of file diff --git a/src/app/components/desktop/alert/alert.html b/src/app/components/desktop/alert/alert.html index 7dd713e..9ad3998 100644 --- a/src/app/components/desktop/alert/alert.html +++ b/src/app/components/desktop/alert/alert.html @@ -1,9 +1,9 @@ -
-
-
- {{ alert.title }} - {{ alert.message }} -
- -
+
+
+
+ {{ alert.title }} + {{ alert.message }} +
+ +
\ No newline at end of file diff --git a/src/app/components/desktop/alert/alert.scss b/src/app/components/desktop/alert/alert.scss index 7a14fda..5dc1043 100644 --- a/src/app/components/desktop/alert/alert.scss +++ b/src/app/components/desktop/alert/alert.scss @@ -1,63 +1,63 @@ -.alerts { - width: 100%; - max-width: var(--max-page-width); - margin: 20px auto 0; - display: flex; - flex-direction: column; - gap: 5px; - - > .alert { - display: flex; - width: 100%; - min-height: 50px; - justify-content: space-between; - align-items: center; - padding: 0 10px 0 10px; - border-radius: 10px; - - &.hiding { - animation: fade-out 300ms ease-in forwards; - } - - &.warning { - background-color: var(--orange-hover); - border: 1px solid var(--orange); - } - - &.info { - background-color: var(--blue-hover); - border: 1px solid var(--blue); - } - - &.danger { - background-color: var(--red-hover); - border: 1px solid var(--red); - } - - > .icon { - width: 20px; - height: 20px; - cursor: pointer; - fill: var(--text-color-dynamic); - } - - > .content { - justify-content: flex-start; - display: flex; - flex-direction: column; - - > .title { - font-family: Inter, sans-serif; - font-weight: 500; - font-size: calc(15px * var(--font-size)); - color: var(--text-color-dynamic); - } - - > .text { - font-family: Roboto, sans-serif; - font-size: calc(11px * var(--font-size)); - color: var(--text-color-dynamic); - } - } - } -} +.alerts { + width: 100%; + max-width: var(--max-page-width); + margin: 20px auto 0; + display: flex; + flex-direction: column; + gap: 5px; + + > .alert { + display: flex; + width: 100%; + min-height: 50px; + justify-content: space-between; + align-items: center; + padding: 0 10px; + border-radius: 10px; + + &.hiding { + animation: fade-out 300ms ease-in forwards; + } + + &.warning { + background-color: var(--orange-hover); + border: 1px solid var(--orange); + } + + &.info { + background-color: var(--blue-hover); + border: 1px solid var(--blue); + } + + &.danger { + background-color: var(--red-hover); + border: 1px solid var(--red); + } + + > .icon { + width: 20px; + height: 20px; + cursor: pointer; + fill: var(--text-color-dynamic); + } + + > .content { + justify-content: flex-start; + display: flex; + flex-direction: column; + + > .title { + font-family: Inter, sans-serif; + font-weight: 500; + font-size: calc(15px * var(--font-size)); + color: var(--text-color-dynamic); + } + + > .text { + font-family: Roboto, sans-serif; + font-size: calc(11px * var(--font-size)); + color: var(--text-color-dynamic); + } + } + } +} diff --git a/src/app/components/mobile/alert/alert.html b/src/app/components/mobile/alert/alert.html index db7ea17..a90f26a 100644 --- a/src/app/components/mobile/alert/alert.html +++ b/src/app/components/mobile/alert/alert.html @@ -1,7 +1,7 @@ -
-
- {{ alert.title }} - {{ alert.message }} -
- -
+
+
+ {{ alert.title }} + {{ alert.message }} +
+ +
diff --git a/src/app/components/mobile/alert/alert.scss b/src/app/components/mobile/alert/alert.scss index 91de882..47e356c 100644 --- a/src/app/components/mobile/alert/alert.scss +++ b/src/app/components/mobile/alert/alert.scss @@ -1,51 +1,51 @@ -.alert { - background-color: var(--orange); - display: flex; - justify-content: space-between; - align-items: center; - padding: 8px; - - &.hiding { - animation: move-up 500ms linear forwards, fade-out 400ms linear forwards; - } - - &.warning { - background-color: var(--orange-hover); - border-left: 5px solid var(--orange); - } - - &.info { - background-color: var(--blue-hover); - border-left: 5px solid var(--blue); - } - - &.danger { - background-color: var(--red-hover); - border-left: 5px solid var(--red); - } - - > .icon { - width: 20px; - height: 20px; - fill: var(--text-color-dynamic); - } - - > .content { - justify-content: flex-start; - display: flex; - flex-direction: column; - - > .title { - font-family: Inter, sans-serif; - font-weight: 500; - font-size: calc(15px * var(--font-size)); - color: var(--text-color-dynamic); - } - - > .text { - font-family: Roboto, sans-serif; - font-size: calc(11px * var(--font-size)); - color: var(--text-color-dynamic); - } - } -} +.alert { + background-color: var(--orange); + display: flex; + justify-content: space-between; + align-items: center; + padding: 8px; + + &.hiding { + animation: move-up 500ms linear forwards, fade-out 400ms linear forwards; + } + + &.warning { + background-color: var(--orange-hover); + border-left: 5px solid var(--orange); + } + + &.info { + background-color: var(--blue-hover); + border-left: 5px solid var(--blue); + } + + &.danger { + background-color: var(--red-hover); + border-left: 5px solid var(--red); + } + + > .icon { + width: 20px; + height: 20px; + fill: var(--text-color-dynamic); + } + + > .content { + justify-content: flex-start; + display: flex; + flex-direction: column; + + > .title { + font-family: Inter, sans-serif; + font-weight: 500; + font-size: calc(15px * var(--font-size)); + color: var(--text-color-dynamic); + } + + > .text { + font-family: Roboto, sans-serif; + font-size: calc(11px * var(--font-size)); + color: var(--text-color-dynamic); + } + } +} diff --git a/src/app/components/pages/forgot_password/forgot_password.html b/src/app/components/pages/forgot_password/forgot_password.html index 93c487e..054bf9d 100644 --- a/src/app/components/pages/forgot_password/forgot_password.html +++ b/src/app/components/pages/forgot_password/forgot_password.html @@ -1,38 +1,38 @@ -
-
- -
- Association des Étudiants - de l'université de technologie de Belfort-Montbéliard -
-
- -
- {{ 'connection.already_logged_as_x' | translate: { name: u.fullName } }} -
- -
- - -
- {{ 'forgot_password.description' | translate }} -
- -
-
-
- - -
-
- {{ getError(error) | translate }} -
-
-
- - -
+
+
+ +
+ Association des Étudiants + de l'université de technologie de Belfort-Montbéliard +
+
+ +
+ {{ 'connection.already_logged_as_x' | translate: { name: u.fullName } }} +
+ +
+ + +
+ {{ 'forgot_password.description' | translate }} +
+ +
+
+
+ + +
+
+ {{ getError(error) | translate }} +
+
+
+ + +
\ No newline at end of file diff --git a/src/app/components/pages/forgot_password/forgot_password.scss b/src/app/components/pages/forgot_password/forgot_password.scss index 516ac86..07dee9c 100644 --- a/src/app/components/pages/forgot_password/forgot_password.scss +++ b/src/app/components/pages/forgot_password/forgot_password.scss @@ -1,141 +1,140 @@ -main { - background-color: var(--gray3); - min-height: 100vh; - display: flex; - flex-direction: column; - align-items: center; - justify-content: flex-start; - gap: 40px; - padding: 40px 20px 60px; - - >.warning { - font-family: Roboto, sans-serif; - background-color: var(--orange-hover); - color: var(--text-color-dark-bg); - border: 1px solid var(--orange); - padding: 10px; - width: 100%; - max-width: 400px; - border-radius: 5px; - text-align: center; - } - - >.header { - cursor: pointer; - display: flex; - flex-direction: column; - align-items: center; - justify-content: flex-start; - - >.logo { - width: 200px; - height: 130px; - background-size: cover; - background-position: center; - background-repeat: no-repeat; - } - - >.text { - display: flex; - flex-direction: column; - color: var(--text-color-dark-bg); - font-family: Inter, sans-serif; - - >.title { - font-size: calc(25.5px * var(--font-size)); - } - - >.subtitle { - text-transform: uppercase; - font-size: calc(10px * var(--font-size)); - } - } - - &:hover>.text { - color: var(--dark-blue); - } - } - - >form { - width: 100%; - max-width: 400px; - display: flex; - flex-direction: column; - gap: 30px; - - >.form-head { - width: 100%; - } - - >.form-description { - color: var(--text-color-dark-bg); - font-family: Inter, sans-serif; - font-size: calc(14px * var(--font-size)); - font-style: italic; - } - - >.form-body { - display: flex; - flex-direction: column; - gap: 10px; - - >.global-link { - text-align: center; - } - - >.input-container { - width: 100%; - display: flex; - flex-direction: column; - gap: 5px; - - >.error { - font-family: Roboto, sans-serif; - color: var(--red); - font-size: calc(12px * var(--font-size)); - line-height: 14px; - margin-left: calc(32px + 5px); - - display: flex; - flex-direction: column; - } - - >.input { - width: 100%; - display: flex; - gap: 5px; - - >.icon { - width: 16px; - height: 16px; - margin: 8px; - } - - >input { - font-family: Roboto, sans-serif; - font-weight: normal; - color: var(--text-color-dark-bg); - background-color: var(--gray4); - width: 100%; - border: none; - border-radius: 5px; - height: 32px; - padding: 5px 5px 5px 10px; - display: flex; - justify-content: center; - align-items: center; - - &::placeholder { - color: var(--text-color-dark-bg-placeholder); - font-size: calc(14px * var(--font-size)); - } - } - } - } - } - - >.form-button { - width: 100%; - } - } +main { + background-color: var(--gray3); + min-height: 100vh; + display: flex; + flex-direction: column; + align-items: center; + justify-content: flex-start; + gap: 40px; + padding: 40px 20px 60px; + + >.warning { + font-family: Roboto, sans-serif; + background-color: var(--orange-hover); + color: var(--text-color-dark-bg); + border: 1px solid var(--orange); + padding: 10px; + width: 100%; + max-width: 400px; + border-radius: 5px; + text-align: center; + } + + >.header { + cursor: pointer; + display: flex; + flex-direction: column; + align-items: center; + justify-content: flex-start; + + >.logo { + width: 200px; + height: 130px; + background-size: cover; + background-position: center; + background-repeat: no-repeat; + } + + >.text { + display: flex; + flex-direction: column; + color: var(--text-color-dark-bg); + font-family: Inter, sans-serif; + + >.title { + font-size: calc(25.5px * var(--font-size)); + } + + >.subtitle { + text-transform: uppercase; + font-size: calc(10px * var(--font-size)); + } + } + + &:hover>.text { + color: var(--dark-blue); + } + } + + >form { + width: 100%; + max-width: 400px; + display: flex; + flex-direction: column; + gap: 30px; + + >.form-head { + width: 100%; + } + + >.form-description { + color: var(--text-color-dark-bg); + font-family: Inter, sans-serif; + font-size: calc(14px * var(--font-size)); + font-style: italic; + } + + >.form-body { + display: flex; + flex-direction: column; + gap: 10px; + + >.global-link { + text-align: center; + } + + >.input-container { + width: 100%; + display: flex; + flex-direction: column; + gap: 5px; + + >.error { + font-family: Roboto, sans-serif; + color: var(--red); + font-size: calc(12px * var(--font-size)); + line-height: 14px; + margin-left: calc(32px + 5px); + display: flex; + flex-direction: column; + } + + >.input { + width: 100%; + display: flex; + gap: 5px; + + >.icon { + width: 16px; + height: 16px; + margin: 8px; + } + + >input { + font-family: Roboto, sans-serif; + font-weight: normal; + color: var(--text-color-dark-bg); + background-color: var(--gray4); + width: 100%; + border: none; + border-radius: 5px; + height: 32px; + padding: 5px 5px 5px 10px; + display: flex; + justify-content: center; + align-items: center; + + &::placeholder { + color: var(--text-color-dark-bg-placeholder); + font-size: calc(14px * var(--font-size)); + } + } + } + } + } + + >.form-button { + width: 100%; + } + } } \ No newline at end of file diff --git a/src/app/components/pages/login/login.html b/src/app/components/pages/login/login.html index f8a2cc3..3ef8719 100644 --- a/src/app/components/pages/login/login.html +++ b/src/app/components/pages/login/login.html @@ -1,48 +1,48 @@ -
-
- -
- Association des Étudiants - de l'université de technologie de Belfort-Montbéliard -
-
- -
- {{ 'login.already_logged_as_x' | translate: { name: u.fullName } }} -
- -
- - -
-
-
- - -
-
- {{ getError(error) | translate }} -
-
- -
-
- - -
-
- {{ getError(error) | translate }} -
-
- - - {{ 'login.forgot_password' | translate }} - -
- - -
+
+
+ +
+ Association des Étudiants + de l'université de technologie de Belfort-Montbéliard +
+
+ +
+ {{ 'login.already_logged_as_x' | translate: { name: u.fullName } }} +
+ +
+ + +
+
+
+ + +
+
+ {{ getError(error) | translate }} +
+
+ +
+
+ + +
+
+ {{ getError(error) | translate }} +
+
+ + + {{ 'login.forgot_password' | translate }} + +
+ + +
\ No newline at end of file diff --git a/src/app/components/pages/login/login.scss b/src/app/components/pages/login/login.scss index b4b2855..6c883d4 100644 --- a/src/app/components/pages/login/login.scss +++ b/src/app/components/pages/login/login.scss @@ -1,134 +1,133 @@ -main { - background-color: var(--gray3); - min-height: 100vh; - display: flex; - flex-direction: column; - align-items: center; - justify-content: flex-start; - gap: 40px; - padding: 40px 20px 60px; - - > .warning { - font-family: Roboto, sans-serif; - background-color: var(--orange-hover); - color: var(--text-color-dark-bg); - border: 1px solid var(--orange); - padding: 10px; - width: 100%; - max-width: 400px; - border-radius: 5px; - text-align: center; - } - - > .header { - cursor: pointer; - display: flex; - flex-direction: column; - align-items: center; - justify-content: flex-start; - - > .logo { - width: 200px; - height: 130px; - background-size: cover; - background-position: center; - background-repeat: no-repeat; - } - - > .text { - display: flex; - flex-direction: column; - color: var(--text-color-dark-bg); - font-family: Inter, sans-serif; - - > .title { - font-size: calc(25.5px * var(--font-size)); - } - - > .subtitle { - text-transform: uppercase; - font-size: calc(10px * var(--font-size)); - } - } - - &:hover > .text { - color: var(--dark-blue); - } - } - - > form { - width: 100%; - max-width: 400px; - display: flex; - flex-direction: column; - gap: 30px; - - > .form-head { - width: 100%; - } - - > .form-body { - display: flex; - flex-direction: column; - gap: 10px; - - > .global-link { - text-align: center; - } - - > .input-container { - width: 100%; - display: flex; - flex-direction: column; - gap: 5px; - - > .error { - font-family: Roboto, sans-serif; - color: var(--red); - font-size: calc(12px * var(--font-size)); - line-height: 14px; - margin-left: calc(32px + 5px); - - display: flex; - flex-direction: column; - } - - > .input { - width: 100%; - display: flex; - gap: 5px; - - >.icon { - width: 16px; - height: 16px; - margin: 8px; - } - - > input { - font-family: Roboto, sans-serif; - font-weight: normal; - color: var(--text-color-dark-bg); - background-color: var(--gray4); - width: 100%; - border: none; - border-radius: 5px; - height: 32px; - padding: 5px 5px 5px 10px; - display: flex; - justify-content: center; - align-items: center; - - &::placeholder { - color: var(--text-color-dark-bg-placeholder); - font-size: calc(14px * var(--font-size)); - } - } - } - } - } - - > .form-button { - width: 100%; - } - } -} +main { + background-color: var(--gray3); + min-height: 100vh; + display: flex; + flex-direction: column; + align-items: center; + justify-content: flex-start; + gap: 40px; + padding: 40px 20px 60px; + + > .warning { + font-family: Roboto, sans-serif; + background-color: var(--orange-hover); + color: var(--text-color-dark-bg); + border: 1px solid var(--orange); + padding: 10px; + width: 100%; + max-width: 400px; + border-radius: 5px; + text-align: center; + } + + > .header { + cursor: pointer; + display: flex; + flex-direction: column; + align-items: center; + justify-content: flex-start; + + > .logo { + width: 200px; + height: 130px; + background-size: cover; + background-position: center; + background-repeat: no-repeat; + } + + > .text { + display: flex; + flex-direction: column; + color: var(--text-color-dark-bg); + font-family: Inter, sans-serif; + + > .title { + font-size: calc(25.5px * var(--font-size)); + } + + > .subtitle { + text-transform: uppercase; + font-size: calc(10px * var(--font-size)); + } + } + + &:hover > .text { + color: var(--dark-blue); + } + } + + > form { + width: 100%; + max-width: 400px; + display: flex; + flex-direction: column; + gap: 30px; + + > .form-head { + width: 100%; + } + + > .form-body { + display: flex; + flex-direction: column; + gap: 10px; + + > .global-link { + text-align: center; + } + + > .input-container { + width: 100%; + display: flex; + flex-direction: column; + gap: 5px; + + > .error { + font-family: Roboto, sans-serif; + color: var(--red); + font-size: calc(12px * var(--font-size)); + line-height: 14px; + margin-left: calc(32px + 5px); + display: flex; + flex-direction: column; + } + + > .input { + width: 100%; + display: flex; + gap: 5px; + + >.icon { + width: 16px; + height: 16px; + margin: 8px; + } + + > input { + font-family: Roboto, sans-serif; + font-weight: normal; + color: var(--text-color-dark-bg); + background-color: var(--gray4); + width: 100%; + border: none; + border-radius: 5px; + height: 32px; + padding: 5px 5px 5px 10px; + display: flex; + justify-content: center; + align-items: center; + + &::placeholder { + color: var(--text-color-dark-bg-placeholder); + font-size: calc(14px * var(--font-size)); + } + } + } + } + } + + > .form-button { + width: 100%; + } + } +} diff --git a/src/app/components/pages/register/register.html b/src/app/components/pages/register/register.html index 96fb2f8..4edbd70 100644 --- a/src/app/components/pages/register/register.html +++ b/src/app/components/pages/register/register.html @@ -1,87 +1,87 @@ -
-
- -
- Association des Étudiants - de l'université de technologie de Belfort-Montbéliard -
-
- -
- {{ 'register.already_registered_and_logged_as_x' | translate: { name: u.fullName } }} -
- -
- - -
-
-
- -
-
- {{ getError(error) | translate: { min: MIN_NAME } }} -
-
- -
-
- -
-
- {{ getError(error) | translate: { min: MIN_NAME } }} -
-
- -
-
- - -
- {{ 'register.date_birth_no_modif' | translate }} -
- {{ getError(error) | translate: { min: MIN_AGE, max: MAX_AGE } }} -
-
- -
-
- - -
-
- {{ getError(error) | translate }} -
-
- -
-
- - -
- {{ 'register.min_password' | translate }} -
- {{ getError(error) | translate: { min: MIN_PASSWORD } }} -
-
- -
-
- - -
- {{ 'register.confirm_password' | translate }} -
- {{ getError(error) | translate }} -
-
-
- - - - -
+
+
+ +
+ Association des Étudiants + de l'université de technologie de Belfort-Montbéliard +
+
+ +
+ {{ 'register.already_registered_and_logged_as_x' | translate: { name: u.fullName } }} +
+ +
+ + +
+
+
+ +
+
+ {{ getError(error) | translate: { min: MIN_NAME } }} +
+
+ +
+
+ +
+
+ {{ getError(error) | translate: { min: MIN_NAME } }} +
+
+ +
+
+ + +
+ {{ 'register.date_birth_no_modif' | translate }} +
+ {{ getError(error) | translate: { min: MIN_AGE, max: MAX_AGE } }} +
+
+ +
+
+ + +
+
+ {{ getError(error) | translate }} +
+
+ +
+
+ + +
+ {{ 'register.min_password' | translate }} +
+ {{ getError(error) | translate: { min: MIN_PASSWORD } }} +
+
+ +
+
+ + +
+ {{ 'register.confirm_password' | translate }} +
+ {{ getError(error) | translate }} +
+
+
+ + + + +
\ No newline at end of file diff --git a/src/app/components/pages/register/register.scss b/src/app/components/pages/register/register.scss index fc0ee68..7fef8ce 100644 --- a/src/app/components/pages/register/register.scss +++ b/src/app/components/pages/register/register.scss @@ -1,146 +1,145 @@ -main { - background-color: var(--gray3); - min-height: 100vh; - display: flex; - flex-direction: column; - align-items: center; - justify-content: flex-start; - gap: 40px; - padding: 40px 20px 60px; - - > .warning { - font-family: Roboto, sans-serif; - background-color: var(--orange-hover); - color: var(--text-color-dark-bg); - border: 1px solid var(--orange); - padding: 10px; - width: 100%; - max-width: 400px; - border-radius: 5px; - text-align: center; - } - - > .header { - cursor: pointer; - display: flex; - flex-direction: column; - align-items: center; - justify-content: flex-start; - - > .logo { - width: 200px; - height: 130px; - background-size: cover; - background-position: center; - background-repeat: no-repeat; - } - - > .text { - display: flex; - flex-direction: column; - color: var(--text-color-dark-bg); - font-family: Inter, sans-serif; - - > .title { - font-size: calc(25.5px * var(--font-size)); - } - - > .subtitle { - text-transform: uppercase; - font-size: calc(10px * var(--font-size)); - } - } - - &:hover > .text { - color: var(--dark-blue); - } - } - - > form { - width: 100%; - max-width: 400px; - display: flex; - flex-direction: column; - gap: 30px; - - > .form-head { - width: 100%; - } - - > .form-body { - display: flex; - flex-direction: column; - gap: 10px; - - > .input-container { - width: 100%; - display: flex; - flex-direction: column; - gap: 5px; - - > .error, - > .info { - font-family: Roboto, sans-serif; - font-size: calc(12px * var(--font-size)); - line-height: 14px; - margin-left: calc(32px + 5px); - - display: flex; - flex-direction: column; - - &.no-margin { - margin-left: 0; - } - } - - > .error { - color: var(--red); - } - - > .info { - color: var(--text-color-dark-bg); - } - - > .input { - width: 100%; - display: flex; - gap: 5px; - - >.icon { - width: 16px; - height: 16px; - margin: 8px; - } - - > input { - font-family: Roboto, sans-serif; - font-weight: normal; - color: var(--text-color-dark-bg); - background-color: var(--gray4); - width: 100%; - border: none; - border-radius: 5px; - height: 32px; - padding: 5px 5px 5px 10px; - display: flex; - justify-content: flex-start; - align-items: center; - - &::placeholder { - color: var(--text-color-dark-bg-placeholder); - font-size: calc(14px * var(--font-size)); - } - } - } - } - } - - > .form-captcha { - margin: 0 auto; - } - - > .form-button { - width: 100%; - } - } +main { + background-color: var(--gray3); + min-height: 100vh; + display: flex; + flex-direction: column; + align-items: center; + justify-content: flex-start; + gap: 40px; + padding: 40px 20px 60px; + + > .warning { + font-family: Roboto, sans-serif; + background-color: var(--orange-hover); + color: var(--text-color-dark-bg); + border: 1px solid var(--orange); + padding: 10px; + width: 100%; + max-width: 400px; + border-radius: 5px; + text-align: center; + } + + > .header { + cursor: pointer; + display: flex; + flex-direction: column; + align-items: center; + justify-content: flex-start; + + > .logo { + width: 200px; + height: 130px; + background-size: cover; + background-position: center; + background-repeat: no-repeat; + } + + > .text { + display: flex; + flex-direction: column; + color: var(--text-color-dark-bg); + font-family: Inter, sans-serif; + + > .title { + font-size: calc(25.5px * var(--font-size)); + } + + > .subtitle { + text-transform: uppercase; + font-size: calc(10px * var(--font-size)); + } + } + + &:hover > .text { + color: var(--dark-blue); + } + } + + > form { + width: 100%; + max-width: 400px; + display: flex; + flex-direction: column; + gap: 30px; + + > .form-head { + width: 100%; + } + + > .form-body { + display: flex; + flex-direction: column; + gap: 10px; + + > .input-container { + width: 100%; + display: flex; + flex-direction: column; + gap: 5px; + + > .error, + > .info { + font-family: Roboto, sans-serif; + font-size: calc(12px * var(--font-size)); + line-height: 14px; + margin-left: calc(32px + 5px); + display: flex; + flex-direction: column; + + &.no-margin { + margin-left: 0; + } + } + + > .error { + color: var(--red); + } + + > .info { + color: var(--text-color-dark-bg); + } + + > .input { + width: 100%; + display: flex; + gap: 5px; + + >.icon { + width: 16px; + height: 16px; + margin: 8px; + } + + > input { + font-family: Roboto, sans-serif; + font-weight: normal; + color: var(--text-color-dark-bg); + background-color: var(--gray4); + width: 100%; + border: none; + border-radius: 5px; + height: 32px; + padding: 5px 5px 5px 10px; + display: flex; + justify-content: flex-start; + align-items: center; + + &::placeholder { + color: var(--text-color-dark-bg-placeholder); + font-size: calc(14px * var(--font-size)); + } + } + } + } + } + + > .form-captcha { + margin: 0 auto; + } + + > .form-button { + width: 100%; + } + } } \ No newline at end of file diff --git a/src/app/styles/animations.scss b/src/app/styles/animations.scss index 8368c50..f13c93e 100644 --- a/src/app/styles/animations.scss +++ b/src/app/styles/animations.scss @@ -1,49 +1,49 @@ -@keyframes slide { - 0% { - transform: translateX(100%); - } - - 100% { - transform: translateX(0); - } -} - -@keyframes slide-rtl { - 0% { - transform: translateX(-100%); - } - - 100% { - transform: translateX(0); - } -} - -@keyframes fade { - 0% { - opacity: 0; - } - - 100% { - opacity: 1; - } -} - -@keyframes fade-out { - 0% { - opacity: 1; - } - - 100% { - opacity: 0; - } -} - -@keyframes move-up { - 0% { - transform: translateY(0); - } - - 100% { - transform: translateY(-100%); - } +@keyframes slide { + 0% { + transform: translateX(100%); + } + + 100% { + transform: translateX(0); + } +} + +@keyframes slide-rtl { + 0% { + transform: translateX(-100%); + } + + 100% { + transform: translateX(0); + } +} + +@keyframes fade { + 0% { + opacity: 0; + } + + 100% { + opacity: 1; + } +} + +@keyframes fade-out { + 0% { + opacity: 1; + } + + 100% { + opacity: 0; + } +} + +@keyframes move-up { + 0% { + transform: translateY(0); + } + + 100% { + transform: translateY(-100%); + } } \ No newline at end of file diff --git a/src/app/styles/themes.scss b/src/app/styles/themes.scss index 26d289c..c397868 100644 --- a/src/app/styles/themes.scss +++ b/src/app/styles/themes.scss @@ -1,93 +1,93 @@ -:root { - --text-color: #000; - --text-color-dark-bg: #ddd; - --text-color-dark-bg-placeholder: #888; - --darkened: rgb(0 0 0 / 50%); - --navbar-background-color: var(--gray4); - --navbar-text-color: var(--text-color-dark-bg); - --navbar-user-icon-light-color: #c6cdd5; - --navbar-user-icon-dark-color: var(--gray3-hover); -} - -:root[data-theme="light"] { - --background-color: #ecf2f8; - --red: #ff1a0a; - --red-hover: #ff1a0a80; - --orange: #faa356; - --orange-hover: #faa35680; - --green: #7ce38b; - --blue: #78c1ff; - --blue-hover: #78c1ff80; - --dark-blue: #7597d1; - --purple: #cea5fb; - --purple-hover: #cea5fb80; - --gray4: #161b22; - --gray3: #21262d; - --gray2: #a5afb9; - --gray1: #c6cdd5; - --gray4-hover: #161b2280; - --gray3-hover: #21262d80; - --gray2-hover: #a5afb980; - --gray1-hover: #c6cdd580; - --text-color-dynamic: #000; -} - -:root[data-theme="dark"] { - --background-color: #0d1117; - --red: #aa3028; - --red-hover: #aa302880; - --orange: #e27c22; - --orange-hover: #e27c2280; - --green: #2d8655; - --blue: #107b82; - --blue-hover: #107b8280; - --dark-blue: #3592e4; - --purple: #cea5fb; - --purple-hover: #cea5fb80; - --gray4: #12161d; - --gray3: #161b22; - --gray2: #1c2128; - --gray1: #21262d; - --gray4-hover: #12161d80; - --gray3-hover: #161b2280; - --gray2-hover: #1c212880; - --gray1-hover: #21262d80; - --text-color-dynamic: #ddd; -} - -:root[data-event-theme="pinktober"] { - --navbar-background-color: #e891dc; - --navbar-text-color: #400547; - --navbar-user-icon-light-color: #400547; - --navbar-user-icon-dark-color: var(--purple-hover); -} - -:root[data-event-theme="christmas"] { - --navbar-background-color: #095228; - --navbar-text-color: #002111; - --navbar-user-icon-light-color: #002111; - --navbar-user-icon-dark-color: #095228; -} - -:root[data-theme="high_contrast"] { - --background-color: #000; - --red: #f00; - --orange: #ffa500; - --green: #0f0; - --blue: #00fff2; - --dark-blue: #00fff2; - --purple: #f33bee; - --gray4: #111; - --gray3: #222; - --gray2: #333; - --gray1: #444; - --gray4-hover: #00000080; - --gray3-hover: #11111180; - --gray2-hover: #22222280; - --gray1-hover: #33333380; - --text-color-dynamic: #fff; - --navbar-background-color: var(--gray4); - --navbar-text-color: var(--text-color-dark-bg); - --navbar-user-icon-light-color: var(--text-color-dark-bg); - --navbar-user-icon-dark-color: var(--gray1); +:root { + --text-color: #000; + --text-color-dark-bg: #ddd; + --text-color-dark-bg-placeholder: #888; + --darkened: rgb(0 0 0 / 50%); + --navbar-background-color: var(--gray4); + --navbar-text-color: var(--text-color-dark-bg); + --navbar-user-icon-light-color: #c6cdd5; + --navbar-user-icon-dark-color: var(--gray3-hover); +} + +:root[data-theme="light"] { + --background-color: #ecf2f8; + --red: #ff1a0a; + --red-hover: #ff1a0a80; + --orange: #faa356; + --orange-hover: #faa35680; + --green: #7ce38b; + --blue: #78c1ff; + --blue-hover: #78c1ff80; + --dark-blue: #7597d1; + --purple: #cea5fb; + --purple-hover: #cea5fb80; + --gray4: #161b22; + --gray3: #21262d; + --gray2: #a5afb9; + --gray1: #c6cdd5; + --gray4-hover: #161b2280; + --gray3-hover: #21262d80; + --gray2-hover: #a5afb980; + --gray1-hover: #c6cdd580; + --text-color-dynamic: #000; +} + +:root[data-theme="dark"] { + --background-color: #0d1117; + --red: #aa3028; + --red-hover: #aa302880; + --orange: #e27c22; + --orange-hover: #e27c2280; + --green: #2d8655; + --blue: #107b82; + --blue-hover: #107b8280; + --dark-blue: #3592e4; + --purple: #cea5fb; + --purple-hover: #cea5fb80; + --gray4: #12161d; + --gray3: #161b22; + --gray2: #1c2128; + --gray1: #21262d; + --gray4-hover: #12161d80; + --gray3-hover: #161b2280; + --gray2-hover: #1c212880; + --gray1-hover: #21262d80; + --text-color-dynamic: #ddd; +} + +:root[data-event-theme="pinktober"] { + --navbar-background-color: #e891dc; + --navbar-text-color: #400547; + --navbar-user-icon-light-color: #400547; + --navbar-user-icon-dark-color: var(--purple-hover); +} + +:root[data-event-theme="christmas"] { + --navbar-background-color: #095228; + --navbar-text-color: #002111; + --navbar-user-icon-light-color: #002111; + --navbar-user-icon-dark-color: #095228; +} + +:root[data-theme="high_contrast"] { + --background-color: #000; + --red: #f00; + --orange: #ffa500; + --green: #0f0; + --blue: #00fff2; + --dark-blue: #00fff2; + --purple: #f33bee; + --gray4: #111; + --gray3: #222; + --gray2: #333; + --gray1: #444; + --gray4-hover: #00000080; + --gray3-hover: #11111180; + --gray2-hover: #22222280; + --gray1-hover: #33333380; + --text-color-dynamic: #fff; + --navbar-background-color: var(--gray4); + --navbar-text-color: var(--text-color-dark-bg); + --navbar-user-icon-light-color: var(--text-color-dark-bg); + --navbar-user-icon-dark-color: var(--gray1); } \ No newline at end of file diff --git a/src/assets/i18n/en-US.json b/src/assets/i18n/en-US.json index 90117b8..ac33eed 100644 --- a/src/assets/i18n/en-US.json +++ b/src/assets/i18n/en-US.json @@ -1,99 +1,99 @@ -{ - "i18n": { - "switch_lang": "Language selection", - "select_lang": "Select a language", - "help_us_translate": "Help us translate this website" - }, - "navbar": { - "favorites": "Favorites", - "shop": "Shop", - "events": "Events", - "forum": "Forum", - "pictures": "Pictures" - }, - "header": { - "options": { - "title": "Accessibility Parameters", - "themes": { - "title": "Theme selection", - "light": "Light", - "dark": "Dark", - "auto": "Auto", - "high_contrast": "High contrast" - }, - "event_themes": { - "pinktober": "Pinktober", - "christmas": "Christmas" - }, - "font_size": { - "title": "Font size", - "small": "Small", - "medium": "Medium", - "large": "Large" - }, - "accent_color": { - "title": "Accent color" - } - }, - "profile": { - "profile": "Profile", - "pictures": "Pictures", - "payments": "Payments", - "disconnect": "Disconnect" - } - }, - "global": { - "back": "Back", - "sign_in": "Sign in", - "register": "Register", - "last_name": "Last name", - "first_name": "First name", - "email_template": "example@website.com", - "password": "Password", - "confirm_password": "Confirm password", - "date_birth": "Date of birth", - "errors": { - "required": "This field is required", - "forbidden_email": "This email is forbidden", - "age_minimum": "You must be at least {{ min }} years old", - "age_maximum": "You must be at most {{ max }} years old", - "not_in_future": "This date cannot be in the future", - "invalid_name": "This name is invalid", - "has_one_digit": "This password must contain at least one digit", - "has_one_special_character": "This password must contain at least one special character", - "has_one_lowercase": "This password must contain at least one lowercase letter", - "has_one_uppercase": "This password must contain at least one uppercase letter", - "has_no_duplicate_characters": "This password must not contain duplicate characters next to each other", - "passwords_match": "The passwords do not match", - "minlength": "This field must contain at least {{ min }} characters", - "maxlength": "This field must contain at most {{ max }} characters", - "email": "This email is invalid" - } - }, - "404": { - "title": "Page not found" - }, - "home": { - "title": "Home" - }, - "forgot_password": { - "title": "Forgot password", - "description": "If you have forgotten your password, enter your email address below to reset your password.", - "send_email": "Send email" - }, - "login":{ - "title": "Login", - "no_account": "No account ? Register", - "forgot_password": "Forgot your password ?", - "external_connection": "Or connect with", - "already_logged_as_x": "You are already logged as {{name}}" - }, - "register":{ - "title": "Register", - "already_have_account": "Already have an account ? Log In", - "date_birth_no_modif": "Your date of birth cannot be changed", - "min_password": "Minimum of 8 characters including 1 special", - "confirm_password": "Confirm password", - "already_registered_and_logged_as_x": "You are already registered and logged as {{name}}" - } -} +{ + "i18n": { + "switch_lang": "Language selection", + "select_lang": "Select a language", + "help_us_translate": "Help us translate this website" + }, + "navbar": { + "favorites": "Favorites", + "shop": "Shop", + "events": "Events", + "forum": "Forum", + "pictures": "Pictures" + }, + "header": { + "options": { + "title": "Accessibility Parameters", + "themes": { + "title": "Theme selection", + "light": "Light", + "dark": "Dark", + "auto": "Auto", + "high_contrast": "High contrast" + }, + "event_themes": { + "pinktober": "Pinktober", + "christmas": "Christmas" + }, + "font_size": { + "title": "Font size", + "small": "Small", + "medium": "Medium", + "large": "Large" + }, + "accent_color": { + "title": "Accent color" + } + }, + "profile": { + "profile": "Profile", + "pictures": "Pictures", + "payments": "Payments", + "disconnect": "Disconnect" + } + }, + "global": { + "back": "Back", + "sign_in": "Sign in", + "register": "Register", + "last_name": "Last name", + "first_name": "First name", + "email_template": "example@website.com", + "password": "Password", + "confirm_password": "Confirm password", + "date_birth": "Date of birth", + "errors": { + "required": "This field is required", + "forbidden_email": "This email is forbidden", + "age_minimum": "You must be at least {{ min }} years old", + "age_maximum": "You must be at most {{ max }} years old", + "not_in_future": "This date cannot be in the future", + "invalid_name": "This name is invalid", + "has_one_digit": "This password must contain at least one digit", + "has_one_special_character": "This password must contain at least one special character", + "has_one_lowercase": "This password must contain at least one lowercase letter", + "has_one_uppercase": "This password must contain at least one uppercase letter", + "has_no_duplicate_characters": "This password must not contain duplicate characters next to each other", + "passwords_match": "The passwords do not match", + "minlength": "This field must contain at least {{ min }} characters", + "maxlength": "This field must contain at most {{ max }} characters", + "email": "This email is invalid" + } + }, + "404": { + "title": "Page not found" + }, + "home": { + "title": "Home" + }, + "forgot_password": { + "title": "Forgot password", + "description": "If you have forgotten your password, enter your email address below to reset your password.", + "send_email": "Send email" + }, + "login":{ + "title": "Login", + "no_account": "No account ? Register", + "forgot_password": "Forgot your password ?", + "external_connection": "Or connect with", + "already_logged_as_x": "You are already logged as {{name}}" + }, + "register":{ + "title": "Register", + "already_have_account": "Already have an account ? Log In", + "date_birth_no_modif": "Your date of birth cannot be changed", + "min_password": "Minimum of 8 characters including 1 special", + "confirm_password": "Confirm password", + "already_registered_and_logged_as_x": "You are already registered and logged as {{name}}" + } +} From dda71187ddd48ec57740e6038829f71139686a88 Mon Sep 17 00:00:00 2001 From: Julien Constant Date: Tue, 25 Apr 2023 23:49:07 +0200 Subject: [PATCH 046/146] Added icons set to recomendation & Fira Code as font --- .vscode/extensions.json | 3 ++- .vscode/settings.json | 46 +++++++++++++++++++++-------------------- 2 files changed, 26 insertions(+), 23 deletions(-) diff --git a/.vscode/extensions.json b/.vscode/extensions.json index 6f4ba59..8e89685 100644 --- a/.vscode/extensions.json +++ b/.vscode/extensions.json @@ -13,6 +13,7 @@ "eamodio.gitlens", "chrisbibby.hide-node-modules", "esbenp.prettier-vscode", - "yoavbls.pretty-ts-errors" + "yoavbls.pretty-ts-errors", + "pkief.material-icon-theme" ] } diff --git a/.vscode/settings.json b/.vscode/settings.json index c4c152c..74a0e98 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,22 +1,24 @@ -{ - "files.exclude": { - "**/.git": true, - "**/.svn": true, - "**/.hg": true, - "**/CVS": true, - "**/.DS_Store": true, - "**/Thumbs.db": true, - "**/node_modules": true - }, - "cSpell.words": [ - "browserconfig", - "christmas", - "hcaptcha", - "pinktober", - "sith", - "stylelint", - "truetype" - ], - "files.eol": "\n", - "vue.features.codeActions.enable": false -} +{ + "files.exclude": { + "**/.git": true, + "**/.svn": true, + "**/.hg": true, + "**/CVS": true, + "**/.DS_Store": true, + "**/Thumbs.db": true, + "**/node_modules": true + }, + "cSpell.words": [ + "browserconfig", + "christmas", + "hcaptcha", + "pinktober", + "sith", + "stylelint", + "truetype" + ], + "files.eol": "\n", + "editor.formatOnSave": true, + "editor.fontLigatures": true, + "editor.fontFamily": "'Fira Code', Consolas, 'Courier New', monospace", +} From 6cb5adb14249ab481474edea2e7a11bf85e3b20d Mon Sep 17 00:00:00 2001 From: Julien Constant Date: Wed, 26 Apr 2023 02:45:52 +0200 Subject: [PATCH 047/146] Added some tests --- src/app/app.component.spec.ts | 46 ++----- .../user_icon/user_icon.component.spec.ts | 35 ++++++ .../lang_selector.component.spec.ts | 79 ++---------- .../common/select/select.component.spec.ts | 10 +- .../side_menu/side_menu.component.spec.ts | 39 ++++++ .../side_profile.component.spec.ts | 41 +++++++ .../subtitle/subtitle.component.spec.ts | 6 +- .../theme_selector.component.spec.ts | 39 ++++++ .../theme_selector.component.ts | 13 +- .../desktop/alert/alert.component.spec.ts | 41 +++++++ .../desktop/header/header.component.spec.ts | 49 ++++++++ .../mobile/alert/alert.component.spec.ts | 33 +++-- .../mobile/header/header.component.spec.ts | 31 ++++- .../mobile/header/header.component.ts | 4 - .../mobile/navbar/navbar.component.spec.ts | 8 +- .../pages/404/not-found.component.spec.ts | 28 +++++ .../forgot_password.component.spec.ts | 49 ++++++++ .../forgot_password.component.ts | 3 - .../components/pages/login/login.component.ts | 3 - src/app/directives/date.directive.spec.ts | 53 ++++++++ .../forbidden_email.directive.spec.ts | 19 +++ src/app/directives/index.spec.ts | 23 ++++ src/app/directives/name.directive.spec.ts | 25 ++++ src/app/directives/password.directive.spec.ts | 114 ++++++++++++++++++ src/app/services/page.service.ts | 4 +- src/types/index.d.ts | 6 +- src/utils/i18n.ts | 6 +- src/utils/object.ts | 2 +- 28 files changed, 660 insertions(+), 149 deletions(-) create mode 100644 src/app/components/common/icons/user_icon/user_icon.component.spec.ts create mode 100644 src/app/components/common/side_menu/side_menu.component.spec.ts create mode 100644 src/app/components/common/side_menu/side_profile/side_profile.component.spec.ts create mode 100644 src/app/components/common/theme_selector/theme_selector.component.spec.ts create mode 100644 src/app/components/desktop/alert/alert.component.spec.ts create mode 100644 src/app/components/desktop/header/header.component.spec.ts create mode 100644 src/app/components/pages/404/not-found.component.spec.ts create mode 100644 src/app/components/pages/forgot_password/forgot_password.component.spec.ts create mode 100644 src/app/directives/date.directive.spec.ts create mode 100644 src/app/directives/forbidden_email.directive.spec.ts create mode 100644 src/app/directives/index.spec.ts create mode 100644 src/app/directives/name.directive.spec.ts create mode 100644 src/app/directives/password.directive.spec.ts diff --git a/src/app/app.component.spec.ts b/src/app/app.component.spec.ts index 8f50dd7..ae89119 100644 --- a/src/app/app.component.spec.ts +++ b/src/app/app.component.spec.ts @@ -6,6 +6,10 @@ import { HttpClientModule, HttpClient } from '@angular/common/http'; import { BrowserModule } from '@angular/platform-browser'; import { AppRoutingModule } from './app-routing.module'; import { HttpLoaderFactory } from 'src/utils'; +import { UserService } from './services/user.service'; +import { PageService } from './services/page.service'; +import { DesktopComponentsModule } from './components/desktop/desktop.module'; +import { MobileComponentsModule } from './components/mobile/mobile.module'; describe('AppComponent', () => { let component: AppComponent; @@ -18,6 +22,8 @@ describe('AppComponent', () => { AppRoutingModule, BrowserModule, ComponentsModule, + DesktopComponentsModule, + MobileComponentsModule, HttpClientModule, TranslateModule.forRoot({ defaultLanguage: 'en-US', @@ -28,7 +34,7 @@ describe('AppComponent', () => { }, }), ], - providers: [Document, TranslateService], + providers: [Document, TranslateService, UserService, PageService], }).compileComponents(); }); @@ -41,42 +47,4 @@ describe('AppComponent', () => { it('should create the app', () => { expect(component).toBeTruthy(); }); - - it('should detect the browser language', () => { - spyOnProperty(window.navigator, 'language', 'get').and.returnValue('fr-FR'); - spyOn(localStorage, 'getItem').and.returnValue(null); - spyOn(localStorage, 'setItem'); - - component.detectLanguage(); - - expect(localStorage.setItem).toHaveBeenCalledWith('lang', 'fr-FR'); - expect(component.document.documentElement.lang).toEqual('fr-FR'); - expect(component.document.documentElement.dir).toEqual('ltr'); - expect(component.translate.currentLang).toEqual('fr-FR'); - }); - - it('should use the stored language preference if available', () => { - spyOn(localStorage, 'getItem').and.returnValue('fr-FR'); - spyOn(localStorage, 'setItem'); - - component.detectLanguage(); - - expect(localStorage.setItem).toHaveBeenCalledWith('lang', 'fr-FR'); - expect(component.document.documentElement.lang).toEqual('fr-FR'); - expect(component.document.documentElement.dir).toEqual('ltr'); - expect(component.translate.currentLang).toEqual('fr-FR'); - }); - - it('should fallback to en-US if the browser language is not supported', () => { - spyOn(localStorage, 'getItem').and.returnValue(null); - spyOn(localStorage, 'setItem'); - spyOnProperty(window.navigator, 'language', 'get').and.returnValue('unsupported-lang'); - - component.detectLanguage(); - - expect(localStorage.setItem).toHaveBeenCalledWith('lang', 'en-US'); - expect(component.document.documentElement.lang).toEqual('en-US'); - expect(component.document.documentElement.dir).toEqual('ltr'); - expect(component.translate.currentLang).toEqual('en-US'); - }); }); diff --git a/src/app/components/common/icons/user_icon/user_icon.component.spec.ts b/src/app/components/common/icons/user_icon/user_icon.component.spec.ts new file mode 100644 index 0000000..a8b8d9f --- /dev/null +++ b/src/app/components/common/icons/user_icon/user_icon.component.spec.ts @@ -0,0 +1,35 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; +import { IconUserIconComponent } from './user_icon.component'; + +describe('IconUserIconComponent', () => { + let component: IconUserIconComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [IconUserIconComponent], + }).compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(IconUserIconComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); + + describe('hasPicture', () => { + it('should return false when url is undefined', () => { + component.url = undefined; + expect(component.hasPicture()).toBeFalse(); + }); + + it('should return true when url is not undefined', () => { + component.url = 'anything'; + expect(component.hasPicture()).toBeTrue(); + }); + }); +}); diff --git a/src/app/components/common/lang_selector/lang_selector.component.spec.ts b/src/app/components/common/lang_selector/lang_selector.component.spec.ts index 13c8eaf..1d0885d 100644 --- a/src/app/components/common/lang_selector/lang_selector.component.spec.ts +++ b/src/app/components/common/lang_selector/lang_selector.component.spec.ts @@ -2,26 +2,23 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { TranslateModule, TranslateService } from '@ngx-translate/core'; import { LangSelectorComponent } from './lang_selector.component'; import { MobileComponentsModule } from '../../mobile/mobile.module'; -import { ISelectOption } from '../select/select.component'; -import { getLanguage } from 'src/utils'; +import { PageService } from 'src/app/services/page.service'; describe('MobileLangSelectorComponent', () => { let component: LangSelectorComponent; let fixture: ComponentFixture; - let translateService: TranslateService; beforeEach(async () => { await TestBed.configureTestingModule({ declarations: [LangSelectorComponent], imports: [TranslateModule.forRoot(), MobileComponentsModule], - providers: [Document, TranslateService], + providers: [TranslateService, PageService], }).compileComponents(); }); beforeEach(() => { fixture = TestBed.createComponent(LangSelectorComponent); component = fixture.componentInstance; - translateService = TestBed.inject(TranslateService); fixture.detectChanges(); }); @@ -33,76 +30,14 @@ describe('MobileLangSelectorComponent', () => { expect(component).toBeTruthy(); }); - it('should return the language from the getLanguage method if no language is stored in localStorage', () => { - localStorage.removeItem('lang'); - expect(component.lang).toEqual(getLanguage(window.navigator.language)); - }); - - describe('getLang()', () => { - it('should return the selected language from localStorage', () => { - localStorage.setItem('lang', 'fr-FR'); - const expectedLang: ISelectOption = { - label: 'Français', - value: 'fr-FR', - image: 'assets/flags/fr-FR.svg', - }; - expect(component.getLang()).toEqual(expectedLang); - }); - - it('should return the browser language if no language is stored in localStorage', () => { - spyOnProperty(window.navigator, 'language').and.returnValue('es-ES'); - const expectedLang: ISelectOption = { - label: 'Español', - value: 'es-ES', - image: 'assets/flags/es-ES.svg', - }; - expect(component.getLang()).toEqual(expectedLang); - }); - - it('should return the default language if the selected language is not in the LANGUAGES array', () => { - localStorage.setItem('lang', 'does-not-exist'); - const expectedLang: ISelectOption = { + describe('selection', () => { + it('should return the default language when no language is set', () => { + spyOnProperty(component.p, 'lang', 'get').and.returnValue('anything'); + expect(component.selection).toEqual({ label: 'English', value: 'en-US', image: 'assets/flags/en-GB.svg', - }; - expect(component.getLang()).toEqual(expectedLang); - }); - }); - - describe('selectLangage(lang)', () => { - it('should set the selected language and update the translate service', () => { - spyOn(localStorage, 'setItem'); - spyOn(translateService, 'use'); - - component.selectLangage('es-ES'); - - expect(localStorage.setItem).toHaveBeenCalledWith('lang', 'es-ES'); - expect(translateService.use).toHaveBeenCalledWith('es-ES'); - }); - - it('should set the document language attribute to the selected language', () => { - spyOnProperty(document.documentElement, 'lang', 'set').and.callThrough(); - - component.selectLangage('es-ES'); - - expect(document.documentElement.lang).toBe('es-ES'); - }); - - it('should set the document direction attribute to rtl if the selected language should be read from right to left', () => { - spyOnProperty(document.documentElement, 'dir', 'set').and.callThrough(); - - component.selectLangage('ar-SA'); - - expect(document.documentElement.dir).toBe('rtl'); - }); - - it('should set the document direction attribute to ltr if the selected language is unknown', () => { - spyOnProperty(document.documentElement, 'dir', 'set').and.callThrough(); - - component.selectLangage('does-not-exist'); - - expect(document.documentElement.dir).toBe('ltr'); + }); }); }); }); diff --git a/src/app/components/common/select/select.component.spec.ts b/src/app/components/common/select/select.component.spec.ts index 8c4e0d2..fa9f3fb 100644 --- a/src/app/components/common/select/select.component.spec.ts +++ b/src/app/components/common/select/select.component.spec.ts @@ -2,8 +2,10 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { By } from '@angular/platform-browser'; import { DebugElement } from '@angular/core'; -import { SelectComponent, ISelectOption } from './select.component'; +import { SelectComponent } from './select.component'; import { IconsModule } from '../icons/icons.module'; +import type { SelectComponentOption } from 'src/types'; +import { TranslateModule } from '@ngx-translate/core'; describe('SelectComponent', () => { let component: SelectComponent; @@ -11,13 +13,13 @@ describe('SelectComponent', () => { let button: DebugElement; let dropdown: DebugElement; - const unsortedOptions: ISelectOption[] = [ + const unsortedOptions: SelectComponentOption[] = [ { label: 'Option 1', value: '1' }, { label: 'Option 3', value: '3' }, { label: 'Option 2', value: '2' }, ]; - const sortedOptions: ISelectOption[] = [ + const sortedOptions: SelectComponentOption[] = [ { label: 'Option 1', value: '1' }, { label: 'Option 2', value: '2' }, { label: 'Option 3', value: '3' }, @@ -26,7 +28,7 @@ describe('SelectComponent', () => { beforeEach(async () => { await TestBed.configureTestingModule({ declarations: [SelectComponent], - imports: [IconsModule], + imports: [IconsModule, TranslateModule.forRoot()], }).compileComponents(); }); diff --git a/src/app/components/common/side_menu/side_menu.component.spec.ts b/src/app/components/common/side_menu/side_menu.component.spec.ts new file mode 100644 index 0000000..0362b41 --- /dev/null +++ b/src/app/components/common/side_menu/side_menu.component.spec.ts @@ -0,0 +1,39 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; +import { PageService } from 'src/app/services/page.service'; +import { SideMenuComponent } from './side_menu.component'; +import { TranslateModule } from '@ngx-translate/core'; + +describe('SideMenuComponent', () => { + let component: SideMenuComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [SideMenuComponent], + imports: [TranslateModule.forRoot()], + providers: [PageService], + }).compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(SideMenuComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create the component', () => { + expect(component).toBeTruthy(); + }); + + describe('triggerClose', () => { + it('should set closing to true then false after 500ms', (done) => { + component.triggerClose(); + expect(component.closing).toBeTrue(); + + setTimeout(() => { + expect(component.closing).toBeFalse(); + done(); + }, 500); + }); + }); +}); diff --git a/src/app/components/common/side_menu/side_profile/side_profile.component.spec.ts b/src/app/components/common/side_menu/side_profile/side_profile.component.spec.ts new file mode 100644 index 0000000..a940b6c --- /dev/null +++ b/src/app/components/common/side_menu/side_profile/side_profile.component.spec.ts @@ -0,0 +1,41 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; +import { TranslateModule } from '@ngx-translate/core'; +import { PageService } from 'src/app/services/page.service'; +import { UserService } from 'src/app/services/user.service'; +import { SideMenuProfileComponent } from './side_profile.component'; +import { IconsModule } from '../../icons/icons.module'; + +describe('SideMenuProfileComponent', () => { + let component: SideMenuProfileComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [SideMenuProfileComponent], + imports: [TranslateModule.forRoot(), IconsModule], + providers: [PageService, UserService], + }).compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(SideMenuProfileComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create the component', () => { + expect(component).toBeTruthy(); + }); + + describe('logout', () => { + it('should call close.emit and u.logout', () => { + const closeSpy = spyOn(component.close, 'emit'); + const logoutSpy = spyOn(component.u, 'logout'); + + component.logout(); + + expect(closeSpy).toHaveBeenCalled(); + expect(logoutSpy).toHaveBeenCalled(); + }); + }); +}); diff --git a/src/app/components/common/subtitle/subtitle.component.spec.ts b/src/app/components/common/subtitle/subtitle.component.spec.ts index 3734709..fef53db 100644 --- a/src/app/components/common/subtitle/subtitle.component.spec.ts +++ b/src/app/components/common/subtitle/subtitle.component.spec.ts @@ -1,13 +1,17 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { SubtitleComponent } from './subtitle.component'; +import { PageService } from 'src/app/services/page.service'; +import { TranslateModule } from '@ngx-translate/core'; -describe('MobileSubtitleComponent', () => { +describe('SubtitleComponent', () => { let component: SubtitleComponent; let fixture: ComponentFixture; beforeEach(async () => { await TestBed.configureTestingModule({ declarations: [SubtitleComponent], + imports: [TranslateModule.forRoot()], + providers: [PageService], }).compileComponents(); }); diff --git a/src/app/components/common/theme_selector/theme_selector.component.spec.ts b/src/app/components/common/theme_selector/theme_selector.component.spec.ts new file mode 100644 index 0000000..c4cd5e5 --- /dev/null +++ b/src/app/components/common/theme_selector/theme_selector.component.spec.ts @@ -0,0 +1,39 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; +import { TranslateModule, TranslateService } from '@ngx-translate/core'; +import { PageService } from 'src/app/services/page.service'; +import { ThemeSelectorComponent } from './theme_selector.component'; +import { CommonComponentsModule } from '../common.module'; + +describe('ThemeSelectorComponent', () => { + let component: ThemeSelectorComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [ThemeSelectorComponent], + imports: [TranslateModule.forRoot(), CommonComponentsModule], + providers: [PageService, TranslateService], + }).compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(ThemeSelectorComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); + + it('should initialize themes and eventThemes', () => { + expect(component.themes.length).toBe(4); + expect(component.eventThemes.length).toBeGreaterThanOrEqual(0); + }); + + it('should change page theme on click', () => { + const li = fixture.nativeElement.querySelector('.themes li'); + li.click(); + expect(component.p.theme).toBe(component.themes[0].value); + }); +}); diff --git a/src/app/components/common/theme_selector/theme_selector.component.ts b/src/app/components/common/theme_selector/theme_selector.component.ts index d48ed6a..9159162 100644 --- a/src/app/components/common/theme_selector/theme_selector.component.ts +++ b/src/app/components/common/theme_selector/theme_selector.component.ts @@ -21,24 +21,25 @@ export class ThemeSelectorComponent { public constructor( @Inject(TranslateService) public readonly t: TranslateService, @Inject(PageService) public readonly p: PageService, - ) { + ) {} + + public ngOnInit(): void { const now = new Date(); switch (now.getMonth()) { case 11: this.eventThemes.push({ name: 'header.options.event_themes.christmas', value: 'christmas' }); - if (this.p.eventTheme === null) this.p.eventTheme = 'christmas'; + if (this.p.eventTheme !== 'christmas' && this.p.eventTheme !== null) this.p.eventTheme = 'christmas'; break; case 9: this.eventThemes.push({ name: 'header.options.event_themes.pinktober', value: 'pinktober' }); - if (this.p.eventTheme === null) this.p.eventTheme = 'pinktober'; + if (this.p.eventTheme !== 'pinktober' && this.p.eventTheme !== null) this.p.eventTheme = 'pinktober'; break; default: - this.p.eventTheme = null; + this.p.eventTheme = 'base'; + break; } - } - public ngOnInit(): void { this.themes.forEach((theme) => { this.t.get(theme.name).subscribe((name) => (theme.name = name)); }); diff --git a/src/app/components/desktop/alert/alert.component.spec.ts b/src/app/components/desktop/alert/alert.component.spec.ts new file mode 100644 index 0000000..c9954a3 --- /dev/null +++ b/src/app/components/desktop/alert/alert.component.spec.ts @@ -0,0 +1,41 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; +import { TranslateModule } from '@ngx-translate/core'; +import { AlertService } from 'src/app/services/alert.service'; +import { CommonComponentsModule } from '../../common/common.module'; +import { DesktopAlertComponent } from './alert.component'; +import { Alert } from 'src/types'; + +describe('DesktopAlertComponent', () => { + let component: DesktopAlertComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [DesktopAlertComponent], + imports: [TranslateModule.forRoot(), CommonComponentsModule], + providers: [AlertService], + }).compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(DesktopAlertComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create the component', () => { + expect(component).toBeTruthy(); + }); + + describe('dismiss', () => { + it('should call dismiss when the close icon is clicked', () => { + const alertService = TestBed.inject(AlertService); + const dismissSpy = spyOn(alertService, 'dismiss'); + + const alert: Alert = { id: 'id', message: 'test', type: 'info', title: 'test alert' }; + component.dismiss(alert); + + expect(dismissSpy).toHaveBeenCalledWith(alert, 400); + }); + }); +}); diff --git a/src/app/components/desktop/header/header.component.spec.ts b/src/app/components/desktop/header/header.component.spec.ts new file mode 100644 index 0000000..8778d80 --- /dev/null +++ b/src/app/components/desktop/header/header.component.spec.ts @@ -0,0 +1,49 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; +import { TranslateModule } from '@ngx-translate/core'; +import { PageService } from 'src/app/services/page.service'; +import { CommonComponentsModule } from '../../common/common.module'; +import { DesktopHeaderComponent } from './header.component'; + +describe('DesktopHeaderComponent', () => { + let component: DesktopHeaderComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [DesktopHeaderComponent], + imports: [TranslateModule.forRoot(), CommonComponentsModule], + providers: [PageService], + }).compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(DesktopHeaderComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); + + describe('triggerSideMenuProfile', () => { + it('should open the profile menu when triggered', () => { + component.triggerSideMenuProfile(); + expect(component.profileOpened).toBeTrue(); + }); + }); + + describe('triggerSideMenuConnection', () => { + it('should open the connection menu when triggered', () => { + component.triggerSideMenuConnection(); + expect(component.connectionOpened).toBeTrue(); + }); + }); + + describe('triggerSideMenuOptions', () => { + it('should open the options menu when triggered', () => { + component.triggerSideMenuOptions(); + expect(component.optionsOpened).toBeTrue(); + }); + }); +}); diff --git a/src/app/components/mobile/alert/alert.component.spec.ts b/src/app/components/mobile/alert/alert.component.spec.ts index a0302f2..d0a484c 100644 --- a/src/app/components/mobile/alert/alert.component.spec.ts +++ b/src/app/components/mobile/alert/alert.component.spec.ts @@ -1,17 +1,24 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; +import { MobileAlertComponent } from './alert.component'; +import { AlertService } from 'src/app/services/alert.service'; +import { Alert } from 'src/types'; +import { TranslateModule } from '@ngx-translate/core'; +import { CommonComponentsModule } from '../../common/common.module'; -import { AlertComponent } from './alert.component'; - -describe('AlertComponent', () => { - let component: AlertComponent; - let fixture: ComponentFixture; +describe('MobileAlertComponent', () => { + let component: MobileAlertComponent; + let fixture: ComponentFixture; beforeEach(async () => { await TestBed.configureTestingModule({ - declarations: [AlertComponent], + declarations: [MobileAlertComponent], + imports: [TranslateModule.forRoot(), CommonComponentsModule], + providers: [AlertService], }).compileComponents(); + }); - fixture = TestBed.createComponent(AlertComponent); + beforeEach(() => { + fixture = TestBed.createComponent(MobileAlertComponent); component = fixture.componentInstance; fixture.detectChanges(); }); @@ -19,4 +26,16 @@ describe('AlertComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + describe('dismiss', () => { + it('should call dismiss when the close icon is clicked', () => { + const alertService = TestBed.inject(AlertService); + const dismissSpy = spyOn(alertService, 'dismiss'); + + const alert: Alert = { id: 'id', message: 'test', type: 'info', title: 'test alert' }; + component.dismiss(alert); + + expect(dismissSpy).toHaveBeenCalledWith(alert, 500); + }); + }); }); diff --git a/src/app/components/mobile/header/header.component.spec.ts b/src/app/components/mobile/header/header.component.spec.ts index b34fd88..fdbb66a 100644 --- a/src/app/components/mobile/header/header.component.spec.ts +++ b/src/app/components/mobile/header/header.component.spec.ts @@ -1,16 +1,24 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { MobileHeaderComponent } from './header.component'; +import { PageService } from 'src/app/services/page.service'; +import { UserService } from 'src/app/services/user.service'; +import { TranslateModule, TranslateService } from '@ngx-translate/core'; +import { MobileComponentsModule } from '../mobile.module'; -describe('MobileNavbarComponent', () => { +describe('MobileHeaderComponent', () => { let component: MobileHeaderComponent; let fixture: ComponentFixture; beforeEach(async () => { await TestBed.configureTestingModule({ declarations: [MobileHeaderComponent], + imports: [TranslateModule.forRoot(), MobileComponentsModule], + providers: [PageService, UserService, TranslateService], }).compileComponents(); + }); + beforeEach(() => { fixture = TestBed.createComponent(MobileHeaderComponent); component = fixture.componentInstance; fixture.detectChanges(); @@ -19,4 +27,25 @@ describe('MobileNavbarComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + describe('triggerSideMenuProfile', () => { + it('should open the profile menu when triggered', () => { + component.triggerSideMenuProfile(); + expect(component.profileOpened).toBeTrue(); + }); + }); + + describe('triggerSideMenuConnection', () => { + it('should open the connection menu when triggered', () => { + component.triggerSideMenuConnection(); + expect(component.connectionOpened).toBeTrue(); + }); + }); + + describe('triggerSideMenuOptions', () => { + it('should open the options menu when triggered', () => { + component.triggerSideMenuOptions(); + expect(component.optionsOpened).toBeTrue(); + }); + }); }); diff --git a/src/app/components/mobile/header/header.component.ts b/src/app/components/mobile/header/header.component.ts index cede4da..5b62a07 100644 --- a/src/app/components/mobile/header/header.component.ts +++ b/src/app/components/mobile/header/header.component.ts @@ -30,8 +30,4 @@ export class MobileHeaderComponent { public triggerSideMenuOptions(): void { this.optionsOpened = !this.optionsOpened; } - - public get eventTheme(): ThemeEvent | null { - return getThemeEvent(); - } } diff --git a/src/app/components/mobile/navbar/navbar.component.spec.ts b/src/app/components/mobile/navbar/navbar.component.spec.ts index 01d42a3..b625c5a 100644 --- a/src/app/components/mobile/navbar/navbar.component.spec.ts +++ b/src/app/components/mobile/navbar/navbar.component.spec.ts @@ -1,14 +1,20 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { MobileNavbarComponent } from './navbar.component'; +import { PageService } from 'src/app/services/page.service'; +import { UserService } from 'src/app/services/user.service'; +import { MobileComponentsModule } from '../mobile.module'; +import { TranslateModule } from '@ngx-translate/core'; -describe('MobileMenuNavbarComponent', () => { +describe('MobileNavbarComponent', () => { let component: MobileNavbarComponent; let fixture: ComponentFixture; beforeEach(async () => { await TestBed.configureTestingModule({ declarations: [MobileNavbarComponent], + imports: [TranslateModule.forRoot(), MobileComponentsModule], + providers: [PageService, UserService], }).compileComponents(); fixture = TestBed.createComponent(MobileNavbarComponent); diff --git a/src/app/components/pages/404/not-found.component.spec.ts b/src/app/components/pages/404/not-found.component.spec.ts new file mode 100644 index 0000000..6b6b44c --- /dev/null +++ b/src/app/components/pages/404/not-found.component.spec.ts @@ -0,0 +1,28 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; +import { TranslateModule, TranslateService } from '@ngx-translate/core'; +import { PageService } from 'src/app/services/page.service'; +import { CommonComponentsModule } from '../../common/common.module'; +import { NotFoundComponent } from './not-found.component'; + +describe('NotFoundComponent', () => { + let component: NotFoundComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [NotFoundComponent], + imports: [TranslateModule.forRoot(), CommonComponentsModule], + providers: [PageService, TranslateService], + }).compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(NotFoundComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/components/pages/forgot_password/forgot_password.component.spec.ts b/src/app/components/pages/forgot_password/forgot_password.component.spec.ts new file mode 100644 index 0000000..7b5bbef --- /dev/null +++ b/src/app/components/pages/forgot_password/forgot_password.component.spec.ts @@ -0,0 +1,49 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; +import { FormBuilder, FormsModule, ReactiveFormsModule } from '@angular/forms'; +import { TranslateModule, TranslateService } from '@ngx-translate/core'; +import { PageService } from 'src/app/services/page.service'; +import { UserService } from 'src/app/services/user.service'; +import { CommonComponentsModule } from '../../common/common.module'; +import { ForgotPasswordComponent } from './forgot_password.component'; + +describe('ForgotPasswordComponent', () => { + let component: ForgotPasswordComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [ForgotPasswordComponent], + imports: [TranslateModule.forRoot(), CommonComponentsModule, FormsModule, ReactiveFormsModule], + providers: [PageService, TranslateService, UserService, FormBuilder], + }).compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(ForgotPasswordComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); + + describe('getError', () => { + it('should return the error message', () => { + component.formGroup.controls['email'].markAsTouched(); // left the field without entering anything + component.formGroup.controls['email'].setErrors({ email: true }); // invalid email + + Object.keys(component.formGroup.controls['email'].errors ?? {}).forEach((key) => { + expect(component.getError(key)).toEqual(`global.errors.${key}`); + }); + }); + }); + + describe('sendEmail', () => { + it('should send the email', () => { + component.formGroup.controls['email'].setValue('exemple@domaine.net'); + component.sendEmail(); + expect(true).toBeTrue(); // TODO: add a test once the API is ready + }); + }); +}); diff --git a/src/app/components/pages/forgot_password/forgot_password.component.ts b/src/app/components/pages/forgot_password/forgot_password.component.ts index 4d8b138..075c440 100644 --- a/src/app/components/pages/forgot_password/forgot_password.component.ts +++ b/src/app/components/pages/forgot_password/forgot_password.component.ts @@ -25,9 +25,6 @@ export class ForgotPasswordComponent { } public errors(field: string): string[] { - if ('passwordConfirm' === field) - return [...getErrors(this.formGroup.controls[field]), ...getErrors(this.formGroup)]; - return getErrors(this.formGroup.controls[field]); } diff --git a/src/app/components/pages/login/login.component.ts b/src/app/components/pages/login/login.component.ts index ccc8e08..06f4ff5 100644 --- a/src/app/components/pages/login/login.component.ts +++ b/src/app/components/pages/login/login.component.ts @@ -33,9 +33,6 @@ export class LoginComponent { } public errors(field: string): string[] { - if ('passwordConfirm' === field) - return [...getErrors(this.formGroup.controls[field]), ...getErrors(this.formGroup)]; - return getErrors(this.formGroup.controls[field]); } diff --git a/src/app/directives/date.directive.spec.ts b/src/app/directives/date.directive.spec.ts new file mode 100644 index 0000000..e894e6e --- /dev/null +++ b/src/app/directives/date.directive.spec.ts @@ -0,0 +1,53 @@ +import { FormControl } from '@angular/forms'; +import { ageMaxValidator, ageMinValidator, notInFutureValidator } from './date.directive'; + +describe('ageMinValidator', () => { + it('should return null if the control is empty', () => { + const control = new FormControl(); + expect(ageMinValidator()(control)).toBeNull(); + }); + + it('should return null if the control is valid', () => { + const control = new FormControl('2000-01-01'); + expect(ageMinValidator()(control)).toBeNull(); + }); + + it('should return an error if the control is invalid', () => { + const control = new FormControl('2000-01-01'); + expect(ageMinValidator(1000)(control)).toEqual({ age_minimum: true }); + }); +}); + +describe('ageMaxValidator', () => { + it('should return null if the control is empty', () => { + const control = new FormControl(); + expect(ageMaxValidator()(control)).toBeNull(); + }); + + it('should return null if the control is valid', () => { + const control = new FormControl('2000-01-01'); + expect(ageMaxValidator()(control)).toBeNull(); + }); + + it('should return an error if the control is invalid', () => { + const control = new FormControl('2001-01-01'); + expect(ageMaxValidator(1)(control)).toEqual({ age_maximum: true }); + }); +}); + +describe('notInFutureValidator', () => { + it('should return null if the control is empty', () => { + const control = new FormControl(); + expect(notInFutureValidator(control)).toBeNull(); + }); + + it('should return null if the control is valid', () => { + const control = new FormControl('2000-01-01'); + expect(notInFutureValidator(control)).toBeNull(); + }); + + it('should return an error if the control is invalid', () => { + const control = new FormControl('3000-01-01'); + expect(notInFutureValidator(control)).toEqual({ not_in_future: true }); + }); +}); diff --git a/src/app/directives/forbidden_email.directive.spec.ts b/src/app/directives/forbidden_email.directive.spec.ts new file mode 100644 index 0000000..10bb6d3 --- /dev/null +++ b/src/app/directives/forbidden_email.directive.spec.ts @@ -0,0 +1,19 @@ +import { FormControl } from '@angular/forms'; +import { forbiddenEmailValidator } from './forbidden_email.directive'; + +describe('forbiddenEmailValidator', () => { + it('should return null if the control is empty', () => { + const control = new FormControl(); + expect(forbiddenEmailValidator('@utbm.fr')(control)).toBeNull(); + }); + + it('should return null if the control is valid', () => { + const control = new FormControl('@gmail.com'); + expect(forbiddenEmailValidator('@utbm.fr')(control)).toBeNull(); + }); + + it('should return error if the control is not valid', () => { + const control = new FormControl('someone@utbm.fr'); + expect(forbiddenEmailValidator('@utbm.fr')(control)).toEqual({ forbidden_email: true }); + }); +}); diff --git a/src/app/directives/index.spec.ts b/src/app/directives/index.spec.ts new file mode 100644 index 0000000..6a99154 --- /dev/null +++ b/src/app/directives/index.spec.ts @@ -0,0 +1,23 @@ +import { FormControl } from '@angular/forms'; +import { getErrors } from '.'; + +describe('getErrors', () => { + it('should return empty array if the control does not have errors', () => { + const control = new FormControl(); + expect(getErrors(control)).toEqual([]); + }); + + it('should return empty array if the control is not touched', () => { + const control = new FormControl(''); + control.setErrors({ required: true }); + expect(getErrors(control)).toEqual([]); + }); + + it('should return array of errors if the control has errors', () => { + const control = new FormControl(''); + control.setErrors({ required: true, minlength: true }); + control.markAsTouched(); + + expect(getErrors(control)).toEqual(['required', 'minlength']); + }); +}); diff --git a/src/app/directives/name.directive.spec.ts b/src/app/directives/name.directive.spec.ts new file mode 100644 index 0000000..e6051fc --- /dev/null +++ b/src/app/directives/name.directive.spec.ts @@ -0,0 +1,25 @@ +import { FormControl } from '@angular/forms'; +import { nameValidator } from './name.directive'; + +describe('nameValidator', () => { + it('should return null if the control is empty', () => { + const control = new FormControl(); + expect(nameValidator(control)).toBeNull(); + }); + + it('should return null if the control is valid', () => { + const values = ['John', 'John Doe', 'John-Doe', "John D'oe"]; + values.forEach((value) => { + const control = new FormControl(value); + expect(nameValidator(control)).toEqual(null); + }); + }); + + it('should return an error if the control is invalid', () => { + const values = ['John ', ' John', 'John Doe', 'John.Doe', 'John_Doe', '!John']; + values.forEach((value) => { + const control = new FormControl(value); + expect(nameValidator(control)).toEqual({ invalid_name: true }); + }); + }); +}); diff --git a/src/app/directives/password.directive.spec.ts b/src/app/directives/password.directive.spec.ts new file mode 100644 index 0000000..892809c --- /dev/null +++ b/src/app/directives/password.directive.spec.ts @@ -0,0 +1,114 @@ +import { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms'; +import { + hasNoDuplicateCharacters, + hasOneDigit, + hasOneLowercase, + hasOneSpecialCharacter, + hasOneUppercase, + passwordsMatchValidator, +} from './password.directive'; + +describe('hasOneDigit', () => { + it('should return null if the control is empty', () => { + const control = new FormControl(); + expect(hasOneDigit(control)).toBeNull(); + }); + + it('should return null if the control is valid', () => { + const control = new FormControl('123'); + expect(hasOneDigit(control)).toBeNull(); + }); + + it('should return error if the control is not valid', () => { + const control = new FormControl('abc'); + expect(hasOneDigit(control)).toEqual({ has_one_digit: true }); + }); +}); + +describe('hasOneSpecialCharacter', () => { + it('should return null if the control is empty', () => { + const control = new FormControl(); + expect(hasOneSpecialCharacter(control)).toBeNull(); + }); + + it('should return null if the control is valid', () => { + const control = new FormControl('@bc'); + expect(hasOneSpecialCharacter(control)).toBeNull(); + }); + + it('should return error if the control is not valid', () => { + const control = new FormControl('abc'); + expect(hasOneSpecialCharacter(control)).toEqual({ has_one_special_character: true }); + }); +}); + +describe('hasOneLowercase', () => { + it('should return null if the control is empty', () => { + const control = new FormControl(); + expect(hasOneLowercase(control)).toBeNull(); + }); + + it('should return null if the control is valid', () => { + const control = new FormControl('abc'); + expect(hasOneLowercase(control)).toBeNull(); + }); + + it('should return error if the control is not valid', () => { + const control = new FormControl('ABC'); + expect(hasOneLowercase(control)).toEqual({ has_one_lowercase: true }); + }); +}); + +describe('hasOneUppercase', () => { + it('should return null if the control is empty', () => { + const control = new FormControl(); + expect(hasOneUppercase(control)).toBeNull(); + }); + + it('should return null if the control is valid', () => { + const control = new FormControl('ABC'); + expect(hasOneUppercase(control)).toBeNull(); + }); + + it('should return error if the control is not valid', () => { + const control = new FormControl('abc'); + expect(hasOneUppercase(control)).toEqual({ has_one_uppercase: true }); + }); +}); + +describe('hasNoDuplicateCharacters', () => { + it('should return null if the control is empty', () => { + const control = new FormControl(); + expect(hasNoDuplicateCharacters(control)).toBeNull(); + }); + + it('should return null if the control is valid', () => { + const control = new FormControl('abc'); + expect(hasNoDuplicateCharacters(control)).toBeNull(); + }); + + it('should return error if the control is not valid', () => { + const control = new FormControl('aabc'); + expect(hasNoDuplicateCharacters(control)).toEqual({ has_no_duplicate_characters: true }); + }); +}); + +describe('passwordsMatchValidator', () => { + const fb = new FormBuilder(); + const control: FormGroup = fb.group({ + password: ['', [Validators.required]], + passwordConfirm: ['', [Validators.required]], + }); + + it('should return error if the passwords do not match', () => { + control.get('password')?.setValue('abc'); + control.get('passwordConfirm')?.setValue('def'); + expect(passwordsMatchValidator()(control)).toEqual({ passwords_match: true }); + }); + + it('should return null if the passwords match', () => { + control.get('password')?.setValue('abc'); + control.get('passwordConfirm')?.setValue('abc'); + expect(passwordsMatchValidator()(control)).toBeNull(); + }); +}); diff --git a/src/app/services/page.service.ts b/src/app/services/page.service.ts index 1608382..d90bb53 100644 --- a/src/app/services/page.service.ts +++ b/src/app/services/page.service.ts @@ -148,7 +148,7 @@ export class PageService { /** * Get the stored language within the local storage or the browser language if not found - * @returns {ISelectOption} The found language or the default one (English) + * @returns {SelectComponentOption} The found language or the default one (English) */ public get lang(): string { return localStorage.getItem('lang') ?? getLanguage(window.navigator.language); @@ -191,7 +191,7 @@ export class PageService { * @param {ThemeEvent | null} theme The theme to set */ public set eventTheme(theme: ThemeEvent | null) { - setThemeEvent(this.eventTheme === theme ? 'base' : theme); + setThemeEvent(this.eventTheme === theme ? null : theme); } /** diff --git a/src/types/index.d.ts b/src/types/index.d.ts index 64b3b31..cdfbc1d 100644 --- a/src/types/index.d.ts +++ b/src/types/index.d.ts @@ -1,3 +1,7 @@ +export interface LangFile { + [key: string]: string | LangFile; +} + export interface SelectComponentOption { /** Optional image to display next to the label */ image?: string; @@ -36,8 +40,6 @@ export interface Language { direction: 'ltr' | 'rtl'; } -export type Validator = Record; - export interface Alert { /** The alert title */ title: string; diff --git a/src/utils/i18n.ts b/src/utils/i18n.ts index bfccc13..4cb7900 100644 --- a/src/utils/i18n.ts +++ b/src/utils/i18n.ts @@ -3,7 +3,7 @@ import { Observable, catchError, forkJoin, from, map, of, switchMap } from 'rxjs import { TranslateLoader } from '@ngx-translate/core'; import { HttpClient } from '@angular/common/http'; import { Inject, Injectable } from '@angular/core'; -import { Language } from 'src/types'; +import { LangFile, Language } from 'src/types'; export const LANGUAGES: Language[] = LANGS as unknown as Language[]; export const DEFAULT_LANGUAGE = 'en-US'; @@ -87,8 +87,8 @@ export class TranslateHttpLoader implements TranslateLoader { const langFile = `${this.prefix}${lang}${this.suffix}`; const baseLangFile = `${this.prefix}${DEFAULT_LANGUAGE}${this.suffix}`; - const langFile$ = this.http.get(langFile).pipe(catchError(() => of({}))); - const baseLangFile$ = this.http.get(baseLangFile); + const langFile$ = this.http.get(langFile).pipe(catchError(() => of({}))) as Observable; + const baseLangFile$ = this.http.get(baseLangFile) as Observable; return forkJoin([langFile$, baseLangFile$]).pipe( map(([langData, baseLangData]) => Object.merge(baseLangData, langData)), diff --git a/src/utils/object.ts b/src/utils/object.ts index 66e5d80..b393a07 100644 --- a/src/utils/object.ts +++ b/src/utils/object.ts @@ -10,7 +10,7 @@ declare global { * @example Object.merge({ a: 1, b: 2 }, { b: 3, c: 4 }) // { a: 1, b: 3, c: 4 } * @example Object.merge({ a: 1, b: { c: 2, d: 3 } }, { b: { d: 4, e: 5 } }) // { a: 1, b: { c: 2, d: 4, e: 5 } } */ - merge(target: T, ...sources: Array>): T; + merge(target: T, ...sources: Array>>): T & Record; /** * Check if the given item is a JS Object From 58e9a48f560cf66a0a0ad29d07859f6ab0675cee Mon Sep 17 00:00:00 2001 From: Julien Constant Date: Wed, 26 Apr 2023 02:46:46 +0200 Subject: [PATCH 048/146] ESLint --- src/app/components/mobile/header/header.component.ts | 2 -- src/utils/object.ts | 2 +- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/src/app/components/mobile/header/header.component.ts b/src/app/components/mobile/header/header.component.ts index 5b62a07..1d5f9a5 100644 --- a/src/app/components/mobile/header/header.component.ts +++ b/src/app/components/mobile/header/header.component.ts @@ -1,8 +1,6 @@ import { Component, Inject } from '@angular/core'; import { PageService } from 'src/app/services/page.service'; import { UserService } from 'src/app/services/user.service'; -import { ThemeEvent } from 'src/types'; -import { getThemeEvent } from 'src/utils'; @Component({ selector: 'app-mobile-header', diff --git a/src/utils/object.ts b/src/utils/object.ts index b393a07..6ce5562 100644 --- a/src/utils/object.ts +++ b/src/utils/object.ts @@ -10,7 +10,7 @@ declare global { * @example Object.merge({ a: 1, b: 2 }, { b: 3, c: 4 }) // { a: 1, b: 3, c: 4 } * @example Object.merge({ a: 1, b: { c: 2, d: 3 } }, { b: { d: 4, e: 5 } }) // { a: 1, b: { c: 2, d: 4, e: 5 } } */ - merge(target: T, ...sources: Array>>): T & Record; + merge(target: T, ...sources: Array>>): T & Record; /** * Check if the given item is a JS Object From 281d00e3a4cae7057e1a32591b4827c063023493 Mon Sep 17 00:00:00 2001 From: Nchrd <65755297+Nchrd@users.noreply.github.com> Date: Wed, 26 Apr 2023 11:45:12 +0200 Subject: [PATCH 049/146] Added some tests, test issue with captcha on register page --- .../forgot_password.component.spec.ts | 2 +- .../pages/home/home.component.spec.ts | 28 +++++++++++ .../pages/login/login.component.spec.ts | 50 +++++++++++++++++++ .../pages/register/register.component.spec.ts | 48 ++++++++++++++++++ 4 files changed, 127 insertions(+), 1 deletion(-) create mode 100644 src/app/components/pages/home/home.component.spec.ts create mode 100644 src/app/components/pages/login/login.component.spec.ts create mode 100644 src/app/components/pages/register/register.component.spec.ts diff --git a/src/app/components/pages/forgot_password/forgot_password.component.spec.ts b/src/app/components/pages/forgot_password/forgot_password.component.spec.ts index 7b5bbef..60f25cd 100644 --- a/src/app/components/pages/forgot_password/forgot_password.component.spec.ts +++ b/src/app/components/pages/forgot_password/forgot_password.component.spec.ts @@ -41,7 +41,7 @@ describe('ForgotPasswordComponent', () => { describe('sendEmail', () => { it('should send the email', () => { - component.formGroup.controls['email'].setValue('exemple@domaine.net'); + component.formGroup.controls['email'].setValue('exemple@domain.net'); component.sendEmail(); expect(true).toBeTrue(); // TODO: add a test once the API is ready }); diff --git a/src/app/components/pages/home/home.component.spec.ts b/src/app/components/pages/home/home.component.spec.ts new file mode 100644 index 0000000..a6a5706 --- /dev/null +++ b/src/app/components/pages/home/home.component.spec.ts @@ -0,0 +1,28 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; +import { HomeComponent } from './home.component'; +import { TranslateModule, TranslateService } from '@ngx-translate/core'; +import { PageService } from 'src/app/services/page.service'; +import { PagesModule } from '../pages.module'; + +describe('HomeComponent', () => { + let component: HomeComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [HomeComponent], + imports: [TranslateModule.forRoot()], + providers: [TranslateService, PageService], + }).compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(HomeComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/components/pages/login/login.component.spec.ts b/src/app/components/pages/login/login.component.spec.ts new file mode 100644 index 0000000..c36d8fd --- /dev/null +++ b/src/app/components/pages/login/login.component.spec.ts @@ -0,0 +1,50 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; +import { LoginComponent } from './login.component'; +import { TranslateModule, TranslateService } from '@ngx-translate/core'; +import { PageService } from 'src/app/services/page.service'; +import { CommonComponentsModule } from '../../common/common.module'; +import { FormBuilder, FormsModule, ReactiveFormsModule } from '@angular/forms'; +import { UserService } from 'src/app/services/user.service'; + +describe('LoginComponent', () => { + let component: LoginComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [LoginComponent], + imports: [TranslateModule.forRoot(), CommonComponentsModule, FormsModule, ReactiveFormsModule], + providers: [TranslateService, PageService, UserService, FormBuilder], + }).compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(LoginComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); + + describe('getError', () => { + it('should return the error message', () => { + component.formGroup.controls['email'].markAsTouched(); // left the field without entering anything + component.formGroup.controls['email'].setErrors({ email: true }); // invalid email + + Object.keys(component.formGroup.controls['email'].errors ?? {}).forEach((key) => { + expect(component.getError(key)).toEqual(`global.errors.${key}`); + }); + }); + }); + + describe('login', () => { + it('should login', () => { + component.formGroup.controls['email'].setValue('exemple@domain.com'); + component.formGroup.controls['password'].setValue('password'); + component.login(); + expect(true).toBeTrue(); // TODO: add a test once the API is ready + }); + }); +}); diff --git a/src/app/components/pages/register/register.component.spec.ts b/src/app/components/pages/register/register.component.spec.ts new file mode 100644 index 0000000..5614539 --- /dev/null +++ b/src/app/components/pages/register/register.component.spec.ts @@ -0,0 +1,48 @@ +/*import { ComponentFixture, TestBed } from '@angular/core/testing'; +import { RegisterComponent } from './register.component'; +import { FormsModule, ReactiveFormsModule, FormBuilder } from '@angular/forms'; +import { TranslateModule, TranslateService } from '@ngx-translate/core'; +import { PageService } from 'src/app/services/page.service'; +import { UserService } from 'src/app/services/user.service'; +import { CommonComponentsModule } from '../../common/common.module'; + +describe('RegisterComponent', () => { + let component: RegisterComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [RegisterComponent], + imports: [TranslateModule.forRoot(), CommonComponentsModule, FormsModule, ReactiveFormsModule], + providers: [PageService, TranslateService, UserService, FormBuilder], + }).compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(RegisterComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); + + describe('getError', () => { + it('should return the error message', () => { + component.formGroup.controls['email'].markAsTouched(); // left the field without entering anything + component.formGroup.controls['email'].setErrors({ email: true }); // invalid email + component.formGroup.controls['captcha'].markAsTouched(); // left the field without entering anything + component.formGroup.controls['captcha'].setErrors({ required: true }); // invalid captcha + + Object.keys(component.formGroup.controls['email'].errors ?? {}).forEach((key) => { + expect(component.getError(key)).toEqual(`global.errors.${key}`); + }); + }); + }); + + describe('register', () => { + expect(true).toBeTrue(); // TODO: add a test once the API is ready + }); +}); +*/ From 751e77561e067a47be0d3c33a299d70c6b6944ba Mon Sep 17 00:00:00 2001 From: Nchrd <65755297+Nchrd@users.noreply.github.com> Date: Wed, 26 Apr 2023 17:56:35 +0200 Subject: [PATCH 050/146] Finished register page tests --- .../pages/register/register.component.spec.ts | 28 +++++++++++++++---- .../pages/register/register.component.ts | 3 +- 2 files changed, 24 insertions(+), 7 deletions(-) diff --git a/src/app/components/pages/register/register.component.spec.ts b/src/app/components/pages/register/register.component.spec.ts index 5614539..dbf6c50 100644 --- a/src/app/components/pages/register/register.component.spec.ts +++ b/src/app/components/pages/register/register.component.spec.ts @@ -1,10 +1,12 @@ -/*import { ComponentFixture, TestBed } from '@angular/core/testing'; +import { ComponentFixture, TestBed } from '@angular/core/testing'; import { RegisterComponent } from './register.component'; import { FormsModule, ReactiveFormsModule, FormBuilder } from '@angular/forms'; import { TranslateModule, TranslateService } from '@ngx-translate/core'; import { PageService } from 'src/app/services/page.service'; import { UserService } from 'src/app/services/user.service'; import { CommonComponentsModule } from '../../common/common.module'; +import { NgHcaptchaModule, NgHcaptchaService } from 'ng-hcaptcha'; +import { environment } from 'src/environments/environment.dev'; describe('RegisterComponent', () => { let component: RegisterComponent; @@ -13,8 +15,14 @@ describe('RegisterComponent', () => { beforeEach(async () => { await TestBed.configureTestingModule({ declarations: [RegisterComponent], - imports: [TranslateModule.forRoot(), CommonComponentsModule, FormsModule, ReactiveFormsModule], - providers: [PageService, TranslateService, UserService, FormBuilder], + imports: [ + TranslateModule.forRoot(), + CommonComponentsModule, + FormsModule, + ReactiveFormsModule, + NgHcaptchaModule.forRoot({ siteKey: environment.HCAPTCHA_SITE_KEY }), + ], + providers: [PageService, TranslateService, UserService, FormBuilder, NgHcaptchaService], }).compileComponents(); }); @@ -33,7 +41,7 @@ describe('RegisterComponent', () => { component.formGroup.controls['email'].markAsTouched(); // left the field without entering anything component.formGroup.controls['email'].setErrors({ email: true }); // invalid email component.formGroup.controls['captcha'].markAsTouched(); // left the field without entering anything - component.formGroup.controls['captcha'].setErrors({ required: true }); // invalid captcha + component.formGroup.controls['captcha'].setErrors({ required: true }); // invalid captacha Object.keys(component.formGroup.controls['email'].errors ?? {}).forEach((key) => { expect(component.getError(key)).toEqual(`global.errors.${key}`); @@ -42,7 +50,15 @@ describe('RegisterComponent', () => { }); describe('register', () => { - expect(true).toBeTrue(); // TODO: add a test once the API is ready + it('should register the user', () => { + component.formGroup.controls['email'].setValue('exemple@domain.com'); + component.formGroup.controls['password'].setValue('Password!0'); + component.formGroup.controls['passwordConfirm'].setValue('Password!0'); + component.formGroup.controls['firstName'].setValue('John'); + component.formGroup.controls['lastName'].setValue('Doe'); + component.formGroup.controls['birthDate'].setValue('01/01/2000'); + component.register(); // TODO: add a test once the API is ready + expect(true).toBeTrue(); + }); }); }); -*/ diff --git a/src/app/components/pages/register/register.component.ts b/src/app/components/pages/register/register.component.ts index 3458e2d..56aef11 100644 --- a/src/app/components/pages/register/register.component.ts +++ b/src/app/components/pages/register/register.component.ts @@ -70,6 +70,7 @@ export class RegisterComponent { } public register(): void { - return; + const a = undefined; // TODO: make the function once the API is ready + return a; } } From 4aa5490c5a02fb7a4683ae9c40dec22f7cc608fe Mon Sep 17 00:00:00 2001 From: Julien Constant Date: Wed, 26 Apr 2023 17:59:50 +0200 Subject: [PATCH 051/146] more tests --- .../common/button/button.component.spec.ts | 37 ++++++- .../user_icon/user_icon.component.spec.ts | 31 +++++- .../lang_selector.component.spec.ts | 31 +++--- .../lang_selector/lang_selector.component.ts | 4 +- .../theme_selector.component.spec.ts | 53 +++++++++ src/app/services/alert.service.spec.ts | 43 ++++++++ src/app/services/page.service.spec.ts | 102 ++++++++++++++++++ src/app/services/page.service.ts | 4 +- src/app/services/user.service.spec.ts | 58 ++++++++++ src/utils/theme.spec.ts | 81 ++++++++++++++ 10 files changed, 419 insertions(+), 25 deletions(-) create mode 100644 src/app/services/alert.service.spec.ts create mode 100644 src/app/services/page.service.spec.ts create mode 100644 src/app/services/user.service.spec.ts create mode 100644 src/utils/theme.spec.ts diff --git a/src/app/components/common/button/button.component.spec.ts b/src/app/components/common/button/button.component.spec.ts index 0dfd14c..2bf5bb1 100644 --- a/src/app/components/common/button/button.component.spec.ts +++ b/src/app/components/common/button/button.component.spec.ts @@ -1,10 +1,11 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; - +import { By } from '@angular/platform-browser'; import { ButtonComponent } from './button.component'; describe('ButtonComponent', () => { let component: ButtonComponent; let fixture: ComponentFixture; + let button: HTMLButtonElement; beforeEach(async () => { await TestBed.configureTestingModule({ @@ -13,10 +14,42 @@ describe('ButtonComponent', () => { fixture = TestBed.createComponent(ButtonComponent); component = fixture.componentInstance; - fixture.detectChanges(); + }); + + beforeEach(() => { + button = fixture.debugElement.query(By.css('button')).nativeElement; }); it('should create', () => { expect(component).toBeTruthy(); }); + + it('should display the text passed in through the text input', () => { + const buttonText = 'Click me!'; + component.text = buttonText; + fixture.detectChanges(); + expect(button.textContent?.trim()).toBe(buttonText); + }); + + it('should have the appropriate class based on the height input', () => { + component.height = 'small'; + fixture.detectChanges(); + expect(button.classList).toContain('small'); + component.height = 'medium'; + fixture.detectChanges(); + expect(button.classList).not.toContain('small'); + expect(button.classList).not.toContain('large'); + component.height = 'large'; + fixture.detectChanges(); + expect(button.classList).toContain('large'); + }); + + it('should disable the button when the disabled input is true', () => { + component.disabled = true; + fixture.detectChanges(); + expect(button.disabled).toBeTrue(); + component.disabled = false; + fixture.detectChanges(); + expect(button.disabled).toBeFalse(); + }); }); diff --git a/src/app/components/common/icons/user_icon/user_icon.component.spec.ts b/src/app/components/common/icons/user_icon/user_icon.component.spec.ts index a8b8d9f..ca75fa0 100644 --- a/src/app/components/common/icons/user_icon/user_icon.component.spec.ts +++ b/src/app/components/common/icons/user_icon/user_icon.component.spec.ts @@ -22,14 +22,37 @@ describe('IconUserIconComponent', () => { }); describe('hasPicture', () => { - it('should return false when url is undefined', () => { + it('should return true if url is defined', () => { + component.url = 'https://example.com/image.jpg'; + expect(component.hasPicture()).toBeTrue(); + }); + + it('should return false if url is undefined', () => { component.url = undefined; expect(component.hasPicture()).toBeFalse(); }); + }); - it('should return true when url is not undefined', () => { - component.url = 'anything'; - expect(component.hasPicture()).toBeTrue(); + describe('notifications', () => { + it('should show notification count if notifications are between 0 and 9', () => { + component.notifications = 5; + fixture.detectChanges(); + const notificationElement = fixture.nativeElement.querySelector('.notification'); + expect(notificationElement.textContent).toContain('5'); + }); + + it('should show a circle if notifications are 10 or more', () => { + component.notifications = 10; + fixture.detectChanges(); + const notificationElement = fixture.nativeElement.querySelector('.notification'); + expect(notificationElement.querySelector('span')).toBeTruthy(); + }); + + it('should not show any notification if notifications are 0', () => { + component.notifications = 0; + fixture.detectChanges(); + const notificationElement = fixture.nativeElement.querySelector('.notification'); + expect(notificationElement).toBeFalsy(); }); }); }); diff --git a/src/app/components/common/lang_selector/lang_selector.component.spec.ts b/src/app/components/common/lang_selector/lang_selector.component.spec.ts index 1d0885d..b0f7fed 100644 --- a/src/app/components/common/lang_selector/lang_selector.component.spec.ts +++ b/src/app/components/common/lang_selector/lang_selector.component.spec.ts @@ -1,43 +1,42 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; -import { TranslateModule, TranslateService } from '@ngx-translate/core'; +import { TranslateModule } from '@ngx-translate/core'; import { LangSelectorComponent } from './lang_selector.component'; -import { MobileComponentsModule } from '../../mobile/mobile.module'; import { PageService } from 'src/app/services/page.service'; +import { CommonComponentsModule } from '../common.module'; +import { LANGUAGES } from 'src/utils'; +import { of } from 'rxjs'; describe('MobileLangSelectorComponent', () => { let component: LangSelectorComponent; let fixture: ComponentFixture; + let pageService: PageService; + let localStore: Record; beforeEach(async () => { await TestBed.configureTestingModule({ declarations: [LangSelectorComponent], - imports: [TranslateModule.forRoot(), MobileComponentsModule], - providers: [TranslateService, PageService], + imports: [TranslateModule.forRoot(), CommonComponentsModule], + providers: [PageService], }).compileComponents(); }); beforeEach(() => { fixture = TestBed.createComponent(LangSelectorComponent); component = fixture.componentInstance; + pageService = TestBed.inject(PageService); fixture.detectChanges(); }); - afterEach(() => { - localStorage.removeItem('lang'); - }); - it('should create the component', () => { expect(component).toBeTruthy(); }); - describe('selection', () => { - it('should return the default language when no language is set', () => { - spyOnProperty(component.p, 'lang', 'get').and.returnValue('anything'); - expect(component.selection).toEqual({ - label: 'English', - value: 'en-US', - image: 'assets/flags/en-GB.svg', - }); + it('should return the default language when no language is set', () => { + spyOnProperty(component.p, 'lang', 'get').and.returnValue('anything'); + expect(component.selection).toEqual({ + label: 'English', + value: 'en-US', + image: 'assets/flags/en-GB.svg', }); }); }); diff --git a/src/app/components/common/lang_selector/lang_selector.component.ts b/src/app/components/common/lang_selector/lang_selector.component.ts index c02e33d..ccf58dd 100644 --- a/src/app/components/common/lang_selector/lang_selector.component.ts +++ b/src/app/components/common/lang_selector/lang_selector.component.ts @@ -25,7 +25,9 @@ export class LangSelectorComponent { public constructor( @Inject(PageService) public readonly p: PageService, @Inject(TranslateService) public readonly t: TranslateService, - ) { + ) {} + + public ngOnInit(): void { this.langsCompletion.forEach(([lang, completion$]) => { completion$.subscribe((completion) => { const found: SelectComponentOption | undefined = this.langs.find((l) => l.label === lang); diff --git a/src/app/components/common/theme_selector/theme_selector.component.spec.ts b/src/app/components/common/theme_selector/theme_selector.component.spec.ts index c4cd5e5..ff37c12 100644 --- a/src/app/components/common/theme_selector/theme_selector.component.spec.ts +++ b/src/app/components/common/theme_selector/theme_selector.component.spec.ts @@ -7,6 +7,7 @@ import { CommonComponentsModule } from '../common.module'; describe('ThemeSelectorComponent', () => { let component: ThemeSelectorComponent; let fixture: ComponentFixture; + let localStore: Record; beforeEach(async () => { await TestBed.configureTestingModule({ @@ -22,6 +23,20 @@ describe('ThemeSelectorComponent', () => { fixture.detectChanges(); }); + beforeEach(() => { + localStore = {}; + + spyOn(window.localStorage, 'getItem').and.callFake((key) => (key in localStore ? localStore[key] : null)); + spyOn(window.localStorage, 'setItem').and.callFake((key, value) => (localStore[key] = value)); + spyOn(window.localStorage, 'removeItem').and.callFake((key) => delete localStore[key]); + spyOn(window.localStorage, 'clear').and.callFake(() => (localStore = {})); + }); + + afterEach(() => { + localStorage.clear(); + fixture.detectChanges(); + }); + it('should create', () => { expect(component).toBeTruthy(); }); @@ -36,4 +51,42 @@ describe('ThemeSelectorComponent', () => { li.click(); expect(component.p.theme).toBe(component.themes[0].value); }); + + it('should add christmas theme to events theme when its December', () => { + jasmine.clock().install(); + jasmine.clock().mockDate(new Date(2020, 11, 1)); + localStorage.setItem('themeEvent', 'base'); + + component.ngOnInit(); + + expect(component.eventThemes.length).toBe(1); + expect(component.eventThemes[0].value).toBe('christmas'); + + jasmine.clock().uninstall(); + }); + + it('should add pinktober theme to events theme when its October', () => { + jasmine.clock().install(); + jasmine.clock().mockDate(new Date(2020, 9, 1)); + localStorage.setItem('themeEvent', 'base'); + + component.ngOnInit(); + + expect(component.eventThemes.length).toBe(1); + expect(component.eventThemes[0].value).toBe('pinktober'); + + jasmine.clock().uninstall(); + }); + + it('should not add any theme to events theme when its not December nor October', () => { + jasmine.clock().install(); + jasmine.clock().mockDate(new Date(2020, 10, 1)); + localStorage.setItem('themeEvent', 'base'); + + component.ngOnInit(); + + expect(component.eventThemes.length).toBe(0); + + jasmine.clock().uninstall(); + }); }); diff --git a/src/app/services/alert.service.spec.ts b/src/app/services/alert.service.spec.ts new file mode 100644 index 0000000..7428923 --- /dev/null +++ b/src/app/services/alert.service.spec.ts @@ -0,0 +1,43 @@ +import { TestBed } from '@angular/core/testing'; +import { AlertService } from './alert.service'; +import { Alert } from 'src/types'; + +describe('AlertService', () => { + let service: AlertService; + let localStore: Record; + + beforeEach(() => { + TestBed.configureTestingModule({}); + service = TestBed.inject(AlertService); + }); + + it('should be created', () => { + expect(service).toBeTruthy(); + }); + + beforeEach(() => { + localStore = {}; + + spyOn(window.localStorage, 'getItem').and.callFake((key) => (key in localStore ? localStore[key] : null)); + spyOn(window.localStorage, 'setItem').and.callFake((key, value) => (localStore[key] = value)); + spyOn(window.localStorage, 'removeItem').and.callFake((key) => delete localStore[key]); + spyOn(window.localStorage, 'clear').and.callFake(() => (localStore = {})); + }); + + afterEach(() => { + localStorage.clear(); + }); + + it('should be able to dismiss an alert', (done) => { + const testAlert: Alert = service.all[0]; + service.dismiss(testAlert, 100); + const a: Record = {}; + a[testAlert.id] = false; + + setTimeout(() => { + expect(localStorage.getItem('alerts')).toEqual(JSON.stringify(a)); + expect(service.all.find((alert) => alert.id === testAlert.id)).toBeUndefined(); + done(); + }, 100); + }); +}); diff --git a/src/app/services/page.service.spec.ts b/src/app/services/page.service.spec.ts new file mode 100644 index 0000000..9bed312 --- /dev/null +++ b/src/app/services/page.service.spec.ts @@ -0,0 +1,102 @@ +import { TestBed } from '@angular/core/testing'; +import { PageService } from './page.service'; +import { TranslateModule, TranslateService } from '@ngx-translate/core'; +import { Router, RouterModule } from '@angular/router'; +import { DeviceDetectorService } from 'ngx-device-detector'; +import { getLanguage, getLanguageDirection } from 'src/utils'; + +describe('PageService', () => { + let service: PageService; + let localStore: Record; + + beforeEach(() => { + TestBed.configureTestingModule({ + imports: [TranslateModule.forRoot(), RouterModule], + providers: [Router, DeviceDetectorService, TranslateService], + }); + service = TestBed.inject(PageService); + }); + + it('should be created', () => { + expect(service).toBeTruthy(); + }); + + beforeEach(() => { + localStore = {}; + + spyOn(window.localStorage, 'getItem').and.callFake((key) => (key in localStore ? localStore[key] : null)); + spyOn(window.localStorage, 'setItem').and.callFake((key, value) => (localStore[key] = value)); + spyOn(window.localStorage, 'removeItem').and.callFake((key) => delete localStore[key]); + spyOn(window.localStorage, 'clear').and.callFake(() => (localStore = {})); + }); + + afterEach(() => { + localStorage.clear(); + }); + + describe('route', () => { + it('should be able to get the current route', () => { + expect(service.route).toBe(''); + }); + }); + + describe('fontSize', () => { + it('should be able to get the current font size', () => { + localStorage.setItem('fontSize', '1'); + expect(service.fontSize).toEqual('1'); + }); + + it('should return the default font size if none is set', () => { + expect(service.fontSize).toEqual('1'); + }); + + it('should return the default value if local storage value is wrong', () => { + localStorage.setItem('fontSize', '4'); + expect(service.fontSize).toEqual('1'); + }); + + it('should update the document font size when the font size is changed', () => { + service.fontSize = '1.25'; + expect(document.documentElement.style.getPropertyValue('--font-size')).toEqual('1.25'); + expect(localStorage.getItem('fontSize')).toEqual('1.25'); + }); + }); + + describe('detectLanguage', () => { + it('should set the browser language if no language is set', () => { + service.detectLanguage(); + expect(localStorage.getItem('lang')).toEqual(window.navigator.language); + }); + }); + + describe('lang', () => { + it('should parse given language and set it inside the local storage', () => { + service.lang = 'en'; + const parsed = getLanguage('en'); + expect(localStorage.getItem('lang')).toEqual(parsed); + expect(document.documentElement.lang).toEqual(parsed); + expect(document.documentElement.dir).toEqual(getLanguageDirection(parsed)); + }); + + it('should return the browser language if local storage is empty', () => { + expect(service.lang).toEqual(getLanguage(window.navigator.language)); + }); + }); + + describe('logo', () => { + it('should return the christmas logo when the event theme is christmas', () => { + service.eventTheme = 'christmas'; + expect(service.logo).toEqual('assets/logo/ae_christmas.webp'); + }); + + it('should return the pinktober logo when the event theme is pinktober', () => { + service.eventTheme = 'pinktober'; + expect(service.logo).toEqual('assets/logo/ae_pinktober.webp'); + }); + + it('should return the default logo when the event theme is not christmas', () => { + service.eventTheme = 'base'; + expect(service.logo).toEqual('assets/logo/ae_base.webp'); + }); + }); +}); diff --git a/src/app/services/page.service.ts b/src/app/services/page.service.ts index d90bb53..265ecc5 100644 --- a/src/app/services/page.service.ts +++ b/src/app/services/page.service.ts @@ -92,6 +92,7 @@ export class PageService { /** * Detects the font size of the browser and sets it as current font size. + * This trigger the `fontSize` setter and getter. This method is called only once, on page load. */ public detectFontSize(): void { this.fontSize = this.fontSize; @@ -102,7 +103,7 @@ export class PageService { * @returns {FontSize} The current font size */ public get fontSize(): FontSize { - let size = (localStorage.getItem('fontSize') ?? '1') as FontSize; + let size = localStorage.getItem('fontSize'); if (size === null || (size !== '0.75' && size !== '1' && size !== '1.25')) size = '1'; return size as FontSize; } @@ -113,7 +114,6 @@ export class PageService { * @example p.fontSize = '0.75'; // will set the font size to 75% of its original size */ public set fontSize(size: FontSize) { - if (size !== '0.75' && size !== '1' && size !== '1.25') size = '1'; document.documentElement.style.setProperty('--font-size', size); localStorage.setItem('fontSize', size); } diff --git a/src/app/services/user.service.spec.ts b/src/app/services/user.service.spec.ts new file mode 100644 index 0000000..71d2db7 --- /dev/null +++ b/src/app/services/user.service.spec.ts @@ -0,0 +1,58 @@ +import { TestBed } from '@angular/core/testing'; +import { UserService } from './user.service'; + +describe('UserService', () => { + let service: UserService; + let localStore: Record; + + beforeEach(() => { + TestBed.configureTestingModule({}); + service = TestBed.inject(UserService); + }); + + beforeEach(() => { + localStore = {}; + + spyOn(window.localStorage, 'getItem').and.callFake((key) => (key in localStore ? localStore[key] : null)); + spyOn(window.localStorage, 'setItem').and.callFake((key, value) => (localStore[key] = value)); + spyOn(window.localStorage, 'removeItem').and.callFake((key) => delete localStore[key]); + spyOn(window.localStorage, 'clear').and.callFake(() => (localStore = {})); + }); + + afterEach(() => { + localStorage.clear(); + service.logout(); + }); + + it('should be created', () => { + expect(service).toBeTruthy(); + }); + + describe('isLoggedIn', () => { + it('should return false if the local storage is empty', () => { + expect(service.isLoggedIn).toEqual(false); + }); + }); + + describe('notifications', () => { + it('should return undefined if the user is not logged in', () => { + expect(service.notifications).toBeUndefined(); + }); + + it('should return notifications array if the user is logged in', () => { + service.login('fake-jwt'); + expect(service.notifications).toEqual([]); + }); + }); + + describe('notificationsCount', () => { + it('should return undefined when the user is not logged in', () => { + expect(service.notificationsCount).toBeUndefined(); + }); + + it('should return number if the user is logged in', () => { + service.login('fake-jwt'); + expect(service.notificationsCount).toEqual(0); + }); + }); +}); diff --git a/src/utils/theme.spec.ts b/src/utils/theme.spec.ts new file mode 100644 index 0000000..f276ead --- /dev/null +++ b/src/utils/theme.spec.ts @@ -0,0 +1,81 @@ +import { getTheme, getThemeEvent, setTheme, setThemeEvent } from './theme'; + +describe('Theme', () => { + let localStore: Record; + + beforeEach(() => { + localStore = {}; + + spyOn(window.localStorage, 'getItem').and.callFake((key) => (key in localStore ? localStore[key] : null)); + spyOn(window.localStorage, 'setItem').and.callFake((key, value) => (localStore[key] = value)); + spyOn(window.localStorage, 'removeItem').and.callFake((key) => delete localStore[key]); + spyOn(window.localStorage, 'clear').and.callFake(() => (localStore = {})); + }); + + afterEach(() => { + localStorage.clear(); + }); + + describe('getTheme', () => { + it('should return the theme from localStorage', () => { + localStorage.setItem('theme', 'light'); + expect(getTheme()).toEqual('light'); + }); + + it('should return the default theme if localStorage is empty', () => { + expect(getTheme()).toEqual('auto'); + }); + }); + + describe('setTheme', () => { + it('should set theme in the local store', () => { + setTheme('dark'); + expect(localStorage.setItem).toHaveBeenCalledWith('theme', 'dark'); + expect(localStorage.getItem('theme')).toEqual('dark'); + }); + + it('should set check for browser theme when "auto" theme is selected (dark)', () => { + spyOn(window, 'matchMedia').and.returnValue({ matches: true } as MediaQueryList); + + setTheme('auto'); + expect(document.documentElement.getAttribute('data-theme')).toEqual('dark'); + }); + + it('should set check for browser theme when "auto" theme is selected (light)', () => { + spyOn(window, 'matchMedia').and.returnValue({ matches: false } as MediaQueryList); + + setTheme('auto'); + expect(document.documentElement.getAttribute('data-theme')).toEqual('light'); + }); + }); + + describe('getThemeEvent', () => { + it('should return the theme event from localStorage', () => { + localStorage.setItem('themeEvent', 'christmas'); + expect(getThemeEvent()).toEqual('christmas'); + }); + + it('should return null if localStorage is empty', () => { + expect(getTheme()).toEqual('auto'); + }); + }); + + describe('setThemeEvent', () => { + it('should set theme event in the local storage if not null', () => { + setThemeEvent('christmas'); + expect(localStorage.setItem).toHaveBeenCalledWith('themeEvent', 'christmas'); + expect(localStorage.getItem('themeEvent')).toEqual('christmas'); + expect(document.documentElement.getAttribute('data-event-theme')).toEqual('christmas'); + }); + + it('should remove theme event from the local storage if null', () => { + setThemeEvent(null); + expect(localStorage.removeItem).toHaveBeenCalledWith('themeEvent'); + expect(localStorage.getItem('themeEvent')).toEqual(null); + expect(document.documentElement.getAttribute('data-event-theme')).toEqual(null); + }); + }); + + // TODO + // describe('watchAutoTheme', () => {}); +}); From 907e548c97601eef17b565f606186f398576fa1c Mon Sep 17 00:00:00 2001 From: Julien Constant Date: Thu, 4 May 2023 17:31:49 +0200 Subject: [PATCH 052/146] Basic authentification --- src/app/app.module.ts | 2 + .../components/pages/login/login.component.ts | 39 +++- src/app/graphql.module.ts | 50 +++++ src/app/services/user.service.ts | 65 ++++-- src/assets/i18n/en-US.json | 199 +++++++++--------- src/environments/environment.dev.ts | 1 + src/types/objects.d.ts | 20 ++ tsconfig.json | 6 +- 8 files changed, 251 insertions(+), 131 deletions(-) create mode 100644 src/app/graphql.module.ts create mode 100644 src/types/objects.d.ts diff --git a/src/app/app.module.ts b/src/app/app.module.ts index 76d8ad6..55fd851 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -12,6 +12,7 @@ import { MobileComponentsModule } from './components/mobile/mobile.module'; import { DesktopComponentsModule } from './components/desktop/desktop.module'; import { environment } from 'src/environments/environment.dev'; +import { GraphQLModule } from './graphql.module'; @NgModule({ declarations: [AppComponent], @@ -33,6 +34,7 @@ import { environment } from 'src/environments/environment.dev'; NgHcaptchaModule.forRoot({ siteKey: environment.HCAPTCHA_SITE_KEY, }), + GraphQLModule, ], providers: [], bootstrap: [AppComponent], diff --git a/src/app/components/pages/login/login.component.ts b/src/app/components/pages/login/login.component.ts index 06f4ff5..032fa9f 100644 --- a/src/app/components/pages/login/login.component.ts +++ b/src/app/components/pages/login/login.component.ts @@ -1,9 +1,13 @@ import { Component, Inject } from '@angular/core'; import { FormBuilder, FormGroup, Validators } from '@angular/forms'; import { TranslateService } from '@ngx-translate/core'; -import { CustomValidators, getErrors } from 'src/app/directives'; +import { getErrors } from 'src/app/directives'; import { PageService } from 'src/app/services/page.service'; import { UserService } from 'src/app/services/user.service'; +import { Apollo } from 'apollo-angular'; +import { LoginObject } from 'src/types/objects'; + +import gql from 'graphql-tag'; @Component({ selector: 'app-login', @@ -12,7 +16,7 @@ import { UserService } from 'src/app/services/user.service'; }) export class LoginComponent { public formGroup: FormGroup = this.fb.group({ - email: ['', [Validators.required, Validators.email, CustomValidators.forbiddenEmailValidator('@utbm.fr')]], + email: ['', [Validators.required, Validators.email]], password: ['', [Validators.required]], }); @@ -21,15 +25,38 @@ export class LoginComponent { @Inject(PageService) public readonly p: PageService, @Inject(UserService) public readonly u: UserService, @Inject(FormBuilder) private readonly fb: FormBuilder, + @Inject(Apollo) private readonly apollo: Apollo, ) { t.get('login.title').subscribe((title) => (p.title = title)); } public login(): void { - // todo: call api & validate credentials - // todo: if auth fails, set errors['password'] = 'login.errors.password.invalid'; - this.u.login('fake-jwt-token'); - this.p.route = '/'; + this.apollo + .mutate({ + mutation: gql` + mutation ($email: String!, $password: String!) { + login(email: $email, password: $password) { + accessToken + refreshToken + user_id + } + } + `, + variables: { + email: this.formGroup.controls['email'].value, + password: this.formGroup.controls['password'].value, + }, + errorPolicy: 'all', + }) + .subscribe(({ data }) => { + if (data) { + this.u.login(data.login.user_id, data.login.accessToken, data.login.refreshToken); + this.p.route = '/'; + } else { + this.formGroup.controls['email'].setErrors({ login_fail: true }); + this.formGroup.controls['password'].setErrors({ login_fail: true }); + } + }); } public errors(field: string): string[] { diff --git a/src/app/graphql.module.ts b/src/app/graphql.module.ts new file mode 100644 index 0000000..2f68d17 --- /dev/null +++ b/src/app/graphql.module.ts @@ -0,0 +1,50 @@ +import { NgModule } from '@angular/core'; +import { ApolloModule, APOLLO_OPTIONS } from 'apollo-angular'; +import { HttpLink } from 'apollo-angular/http'; +import { ApolloLink, InMemoryCache } from '@apollo/client/core'; +import { setContext } from '@apollo/client/link/context'; + +import { environment } from 'src/environments/environment'; +import { HttpClientModule } from '@angular/common/http'; + +export function createApollo(httpLink: HttpLink) { + const auth = setContext(() => { + const token = localStorage.getItem('authToken'); + const locale = localStorage.getItem('locale') ?? 'en-US'; + + if (token === null) { + return { + headers: { + 'Accept-Language': locale, + }, + }; + } else { + return { + headers: { + Authorization: token, + 'Accept-Language': locale, + }, + }; + } + }); + + const link = ApolloLink.from([auth, httpLink.create({ uri: environment.API_URL })]); + const cache = new InMemoryCache(); + + return { + link, + cache, + }; +} + +@NgModule({ + exports: [HttpClientModule, ApolloModule], + providers: [ + { + provide: APOLLO_OPTIONS, + useFactory: createApollo, + deps: [HttpLink], + }, + ], +}) +export class GraphQLModule {} diff --git a/src/app/services/user.service.ts b/src/app/services/user.service.ts index e13e866..3c9702b 100644 --- a/src/app/services/user.service.ts +++ b/src/app/services/user.service.ts @@ -1,62 +1,81 @@ -import { Injectable } from '@angular/core'; - -const FAKE_USER = { - balance: 100, - account_id: '12345a', - name: 'DOE', - first_name: 'John', - notifications: [], - profile_picture: 'https://avatars.githubusercontent.com/u/106403460', - profile_banner: 'https://gifdb.com/images/high/the-office-michael-yikes-x8pzowd0ud2o8e15.gif', -}; +import { Inject, Injectable } from '@angular/core'; +import { Apollo, gql } from 'apollo-angular'; +import { UserObject } from 'src/types/objects'; @Injectable({ providedIn: 'root', }) export class UserService { - private user?: undefined | typeof FAKE_USER = undefined; + public constructor(@Inject(Apollo) private readonly apollo: Apollo) {} + private user?: undefined | UserObject['user'] = undefined; public get isLoggedIn(): boolean { if (localStorage.getItem('authToken') === null) return false; - this.user = FAKE_USER; // todo call api to get user info in real time return true; } public get fullName(): string | undefined { - return this.isLoggedIn && this.user ? `${this.user.first_name} ${this.user.name}` : undefined; + return this.isLoggedIn && this.user ? `${this.user.first_name} ${this.user.last_name}` : undefined; } public get accountId(): string | undefined { - return this.isLoggedIn && this.user ? this.user.account_id : undefined; + return undefined; + // return this.isLoggedIn && this.user ? this.user.account_id : undefined; } public get balance(): number | undefined { - return this.isLoggedIn && this.user ? this.user.balance : undefined; + return undefined; + // return this.isLoggedIn && this.user ? this.user.balance : undefined; } public get picture(): string | undefined { - return this.isLoggedIn && this.user ? this.user.profile_picture : undefined; + return undefined; + // return this.isLoggedIn && this.user ? this.user.profile_picture : undefined; } public get banner(): string | undefined { - return this.isLoggedIn && this.user ? this.user.profile_banner : undefined; + return undefined; + // return this.isLoggedIn && this.user ? this.user.profile_banner : undefined; } public get notifications(): string[] | undefined { - return this.isLoggedIn && this.user ? this.user.notifications : undefined; + return undefined; + // return this.isLoggedIn && this.user ? this.user.notifications : undefined; } public get notificationsCount(): number | undefined { - return this.isLoggedIn && this.user ? this.user.notifications.length : undefined; + return undefined; + // return this.isLoggedIn && this.user ? this.user.notifications.length : undefined; } public logout(): void { this.user = undefined; localStorage.removeItem('authToken'); + localStorage.removeItem('refreshToken'); } - public login(jwt: string): void { - this.user = FAKE_USER; - localStorage.setItem('authToken', jwt); + public login(id: number, jwtToken: string, refreshToken: string): void { + localStorage.setItem('authToken', jwtToken); + localStorage.setItem('refreshToken', refreshToken); + + this.apollo + .query({ + query: gql` + query ($user_id: Int!) { + user(id: $user_id) { + first_name + last_name + nickname + promotion + } + } + `, + variables: { + user_id: id, + }, + }) + .subscribe(({ data }) => { + this.user = data.user; + }); } } diff --git a/src/assets/i18n/en-US.json b/src/assets/i18n/en-US.json index ac33eed..f02b952 100644 --- a/src/assets/i18n/en-US.json +++ b/src/assets/i18n/en-US.json @@ -1,99 +1,100 @@ -{ - "i18n": { - "switch_lang": "Language selection", - "select_lang": "Select a language", - "help_us_translate": "Help us translate this website" - }, - "navbar": { - "favorites": "Favorites", - "shop": "Shop", - "events": "Events", - "forum": "Forum", - "pictures": "Pictures" - }, - "header": { - "options": { - "title": "Accessibility Parameters", - "themes": { - "title": "Theme selection", - "light": "Light", - "dark": "Dark", - "auto": "Auto", - "high_contrast": "High contrast" - }, - "event_themes": { - "pinktober": "Pinktober", - "christmas": "Christmas" - }, - "font_size": { - "title": "Font size", - "small": "Small", - "medium": "Medium", - "large": "Large" - }, - "accent_color": { - "title": "Accent color" - } - }, - "profile": { - "profile": "Profile", - "pictures": "Pictures", - "payments": "Payments", - "disconnect": "Disconnect" - } - }, - "global": { - "back": "Back", - "sign_in": "Sign in", - "register": "Register", - "last_name": "Last name", - "first_name": "First name", - "email_template": "example@website.com", - "password": "Password", - "confirm_password": "Confirm password", - "date_birth": "Date of birth", - "errors": { - "required": "This field is required", - "forbidden_email": "This email is forbidden", - "age_minimum": "You must be at least {{ min }} years old", - "age_maximum": "You must be at most {{ max }} years old", - "not_in_future": "This date cannot be in the future", - "invalid_name": "This name is invalid", - "has_one_digit": "This password must contain at least one digit", - "has_one_special_character": "This password must contain at least one special character", - "has_one_lowercase": "This password must contain at least one lowercase letter", - "has_one_uppercase": "This password must contain at least one uppercase letter", - "has_no_duplicate_characters": "This password must not contain duplicate characters next to each other", - "passwords_match": "The passwords do not match", - "minlength": "This field must contain at least {{ min }} characters", - "maxlength": "This field must contain at most {{ max }} characters", - "email": "This email is invalid" - } - }, - "404": { - "title": "Page not found" - }, - "home": { - "title": "Home" - }, - "forgot_password": { - "title": "Forgot password", - "description": "If you have forgotten your password, enter your email address below to reset your password.", - "send_email": "Send email" - }, - "login":{ - "title": "Login", - "no_account": "No account ? Register", - "forgot_password": "Forgot your password ?", - "external_connection": "Or connect with", - "already_logged_as_x": "You are already logged as {{name}}" - }, - "register":{ - "title": "Register", - "already_have_account": "Already have an account ? Log In", - "date_birth_no_modif": "Your date of birth cannot be changed", - "min_password": "Minimum of 8 characters including 1 special", - "confirm_password": "Confirm password", - "already_registered_and_logged_as_x": "You are already registered and logged as {{name}}" - } -} +{ + "i18n": { + "switch_lang": "Language selection", + "select_lang": "Select a language", + "help_us_translate": "Help us translate this website" + }, + "navbar": { + "favorites": "Favorites", + "shop": "Shop", + "events": "Events", + "forum": "Forum", + "pictures": "Pictures" + }, + "header": { + "options": { + "title": "Accessibility Parameters", + "themes": { + "title": "Theme selection", + "light": "Light", + "dark": "Dark", + "auto": "Auto", + "high_contrast": "High contrast" + }, + "event_themes": { + "pinktober": "Pinktober", + "christmas": "Christmas" + }, + "font_size": { + "title": "Font size", + "small": "Small", + "medium": "Medium", + "large": "Large" + }, + "accent_color": { + "title": "Accent color" + } + }, + "profile": { + "profile": "Profile", + "pictures": "Pictures", + "payments": "Payments", + "disconnect": "Disconnect" + } + }, + "global": { + "back": "Back", + "sign_in": "Sign in", + "register": "Register", + "last_name": "Last name", + "first_name": "First name", + "email_template": "example@website.com", + "password": "Password", + "confirm_password": "Confirm password", + "date_birth": "Date of birth", + "errors": { + "required": "This field is required", + "forbidden_email": "This email is forbidden", + "age_minimum": "You must be at least {{ min }} years old", + "age_maximum": "You must be at most {{ max }} years old", + "not_in_future": "This date cannot be in the future", + "invalid_name": "This name is invalid", + "has_one_digit": "This password must contain at least one digit", + "has_one_special_character": "This password must contain at least one special character", + "has_one_lowercase": "This password must contain at least one lowercase letter", + "has_one_uppercase": "This password must contain at least one uppercase letter", + "has_no_duplicate_characters": "This password must not contain duplicate characters next to each other", + "passwords_match": "The passwords do not match", + "minlength": "This field must contain at least {{ min }} characters", + "maxlength": "This field must contain at most {{ max }} characters", + "email": "This email is invalid", + "login_fail": "Email or password invalid" + } + }, + "404": { + "title": "Page not found" + }, + "home": { + "title": "Home" + }, + "forgot_password": { + "title": "Forgot password", + "description": "If you have forgotten your password, enter your email address below to reset your password.", + "send_email": "Send email" + }, + "login":{ + "title": "Login", + "no_account": "No account ? Register", + "forgot_password": "Forgot your password ?", + "external_connection": "Or connect with", + "already_logged_as_x": "You are already logged as {{name}}" + }, + "register":{ + "title": "Register", + "already_have_account": "Already have an account ? Log In", + "date_birth_no_modif": "Your date of birth cannot be changed", + "min_password": "Minimum of 8 characters including 1 special", + "confirm_password": "Confirm password", + "already_registered_and_logged_as_x": "You are already registered and logged as {{name}}" + } +} diff --git a/src/environments/environment.dev.ts b/src/environments/environment.dev.ts index ef3f082..c5cd444 100644 --- a/src/environments/environment.dev.ts +++ b/src/environments/environment.dev.ts @@ -3,6 +3,7 @@ export const environment = { REGISTER_AGE_MIN: 13, REGISTER_AGE_MAX: 100, HCAPTCHA_SITE_KEY: '10000000-ffff-ffff-ffff-000000000001', + API_URL: 'http://localhost:3000/graphql', }; export type Environment = typeof environment; diff --git a/src/types/objects.d.ts b/src/types/objects.d.ts new file mode 100644 index 0000000..c608602 --- /dev/null +++ b/src/types/objects.d.ts @@ -0,0 +1,20 @@ +export interface LoginObject { + login: { + accessToken: string; + refreshToken: string; + user_id: number; + }; +} + +export interface UserObject { + user: { + first_name: string; + last_name: string; + email: string; + birthday: Date; + nickname?: string; + gender?: string; + cursus?: string; + promotion?: number; + }; +} diff --git a/tsconfig.json b/tsconfig.json index ad06917..7c494c7 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,4 +1,3 @@ -/* To learn more about this file see: https://angular.io/config/tsconfig. */ { "compileOnSave": false, "compilerOptions": { @@ -24,7 +23,8 @@ "allowSyntheticDefaultImports": true, "lib": [ "ES2022", - "dom" + "dom", + "esnext.asynciterable" ] }, "angularCompilerOptions": { @@ -33,4 +33,4 @@ "strictInputAccessModifiers": true, "strictTemplates": true } -} +} \ No newline at end of file From 8fc39508bb3566a21e08953fac727a90eb4dcba2 Mon Sep 17 00:00:00 2001 From: Julien Constant Date: Thu, 4 May 2023 19:45:43 +0200 Subject: [PATCH 053/146] Added routes to the user profile --- src/app/app-routing.module.ts | 20 ++++++++ .../lang_selector.component.spec.ts | 5 -- .../side_profile/side_profile.component.ts | 5 ++ .../side_menu/side_profile/side_profile.html | 10 ++-- .../side_menu/side_profile/side_profile.scss | 18 +++++++- .../pages/home/home.component.spec.ts | 1 - .../components/pages/login/login.component.ts | 5 +- src/app/components/pages/pages.module.ts | 19 +++++++- .../pages/user/payments/payments.component.ts | 8 ++++ .../pages/user/payments/payments.html | 1 + .../pages/user/payments/payments.scss | 0 .../pages/user/pictures/pictures.component.ts | 8 ++++ .../pages/user/pictures/pictures.html | 1 + .../pages/user/pictures/pictures.scss | 0 .../pages/user/profile/profile.component.ts | 8 ++++ .../pages/user/profile/profile.html | 0 .../pages/user/profile/profile.scss | 0 src/app/graphql.module.ts | 4 +- src/app/services/user.service.ts | 46 +++++++++++++------ src/types/objects.d.ts | 4 +- 20 files changed, 128 insertions(+), 35 deletions(-) create mode 100644 src/app/components/pages/user/payments/payments.component.ts create mode 100644 src/app/components/pages/user/payments/payments.html create mode 100644 src/app/components/pages/user/payments/payments.scss create mode 100644 src/app/components/pages/user/pictures/pictures.component.ts create mode 100644 src/app/components/pages/user/pictures/pictures.html create mode 100644 src/app/components/pages/user/pictures/pictures.scss create mode 100644 src/app/components/pages/user/profile/profile.component.ts create mode 100644 src/app/components/pages/user/profile/profile.html create mode 100644 src/app/components/pages/user/profile/profile.scss diff --git a/src/app/app-routing.module.ts b/src/app/app-routing.module.ts index de5a79c..340ae45 100644 --- a/src/app/app-routing.module.ts +++ b/src/app/app-routing.module.ts @@ -5,6 +5,9 @@ import { HomeComponent } from './components/pages/home/home.component'; import { LoginComponent } from './components/pages/login/login.component'; import { RegisterComponent } from './components/pages/register/register.component'; import { ForgotPasswordComponent } from './components/pages/forgot_password/forgot_password.component'; +import { UserPaymentsComponent } from './components/pages/user/payments/payments.component'; +import { UserPicturesComponent } from './components/pages/user/pictures/pictures.component'; +import { UserProfileComponent } from './components/pages/user/profile/profile.component'; const routes: Routes = [ { @@ -32,6 +35,23 @@ const routes: Routes = [ path: 'forgot_password', component: ForgotPasswordComponent, }, + { + path: ':id', + children: [ + { + path: 'profile', + component: UserProfileComponent, + }, + { + path: 'pictures', + component: UserPicturesComponent, + }, + { + path: 'payments', + component: UserPaymentsComponent, + }, + ], + }, { path: '**', redirectTo: '404', diff --git a/src/app/components/common/lang_selector/lang_selector.component.spec.ts b/src/app/components/common/lang_selector/lang_selector.component.spec.ts index b0f7fed..0a14ef5 100644 --- a/src/app/components/common/lang_selector/lang_selector.component.spec.ts +++ b/src/app/components/common/lang_selector/lang_selector.component.spec.ts @@ -3,14 +3,10 @@ import { TranslateModule } from '@ngx-translate/core'; import { LangSelectorComponent } from './lang_selector.component'; import { PageService } from 'src/app/services/page.service'; import { CommonComponentsModule } from '../common.module'; -import { LANGUAGES } from 'src/utils'; -import { of } from 'rxjs'; describe('MobileLangSelectorComponent', () => { let component: LangSelectorComponent; let fixture: ComponentFixture; - let pageService: PageService; - let localStore: Record; beforeEach(async () => { await TestBed.configureTestingModule({ @@ -23,7 +19,6 @@ describe('MobileLangSelectorComponent', () => { beforeEach(() => { fixture = TestBed.createComponent(LangSelectorComponent); component = fixture.componentInstance; - pageService = TestBed.inject(PageService); fixture.detectChanges(); }); diff --git a/src/app/components/common/side_menu/side_profile/side_profile.component.ts b/src/app/components/common/side_menu/side_profile/side_profile.component.ts index 894718f..ccac0b9 100644 --- a/src/app/components/common/side_menu/side_profile/side_profile.component.ts +++ b/src/app/components/common/side_menu/side_profile/side_profile.component.ts @@ -19,4 +19,9 @@ export class SideMenuProfileComponent { this.close.emit(); this.u.logout(); } + + public goto(route: string): void { + this.p.route = `/${this.u.accountId}/${route}`; + this.close.emit(); + } } diff --git a/src/app/components/common/side_menu/side_profile/side_profile.html b/src/app/components/common/side_menu/side_profile/side_profile.html index 5d60aeb..abc0a8b 100644 --- a/src/app/components/common/side_menu/side_profile/side_profile.html +++ b/src/app/components/common/side_menu/side_profile/side_profile.html @@ -6,22 +6,22 @@
- {{ u.fullName }} + {{ u.fullName }} {{ u.balance }} €
{{ u.accountId }}
-
\ No newline at end of file +
diff --git a/src/app/components/common/side_menu/side_profile/side_profile.scss b/src/app/components/common/side_menu/side_profile/side_profile.scss index fdfd56c..86589a2 100644 --- a/src/app/components/common/side_menu/side_profile/side_profile.scss +++ b/src/app/components/common/side_menu/side_profile/side_profile.scss @@ -54,6 +54,10 @@ >.left { display: flex; flex-direction: column; + + > .name { + text-transform: capitalize; + } } } @@ -87,10 +91,12 @@ border-radius: 5px; > li { + cursor: pointer; display: flex; align-items: center; gap: 5px; + > .icon { width: 16px; height: 16px; @@ -104,6 +110,16 @@ font-size: calc(10px * var(--font-size)); text-transform: uppercase; } + + &:hover { + > .icon { + fill: var(--blue); + } + + span { + color: var(--blue); + } + } } } @@ -119,4 +135,4 @@ width: 100%; } } -} \ No newline at end of file +} diff --git a/src/app/components/pages/home/home.component.spec.ts b/src/app/components/pages/home/home.component.spec.ts index a6a5706..1aa0053 100644 --- a/src/app/components/pages/home/home.component.spec.ts +++ b/src/app/components/pages/home/home.component.spec.ts @@ -2,7 +2,6 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { HomeComponent } from './home.component'; import { TranslateModule, TranslateService } from '@ngx-translate/core'; import { PageService } from 'src/app/services/page.service'; -import { PagesModule } from '../pages.module'; describe('HomeComponent', () => { let component: HomeComponent; diff --git a/src/app/components/pages/login/login.component.ts b/src/app/components/pages/login/login.component.ts index 032fa9f..d210c1b 100644 --- a/src/app/components/pages/login/login.component.ts +++ b/src/app/components/pages/login/login.component.ts @@ -36,8 +36,7 @@ export class LoginComponent { mutation: gql` mutation ($email: String!, $password: String!) { login(email: $email, password: $password) { - accessToken - refreshToken + token user_id } } @@ -50,7 +49,7 @@ export class LoginComponent { }) .subscribe(({ data }) => { if (data) { - this.u.login(data.login.user_id, data.login.accessToken, data.login.refreshToken); + this.u.login(data.login.user_id, data.login.token); this.p.route = '/'; } else { this.formGroup.controls['email'].setErrors({ login_fail: true }); diff --git a/src/app/components/pages/pages.module.ts b/src/app/components/pages/pages.module.ts index b082158..6481939 100644 --- a/src/app/components/pages/pages.module.ts +++ b/src/app/components/pages/pages.module.ts @@ -11,10 +11,25 @@ import { RegisterComponent } from './register/register.component'; import { ForgotPasswordComponent } from './forgot_password/forgot_password.component'; import { FormsModule, ReactiveFormsModule } from '@angular/forms'; import { NgHcaptchaModule } from 'ng-hcaptcha'; +import { UserPaymentsComponent } from './user/payments/payments.component'; @NgModule({ - declarations: [NotFoundComponent, HomeComponent, LoginComponent, RegisterComponent, ForgotPasswordComponent], - exports: [NotFoundComponent, HomeComponent, LoginComponent, RegisterComponent, ForgotPasswordComponent], + declarations: [ + NotFoundComponent, + HomeComponent, + LoginComponent, + RegisterComponent, + ForgotPasswordComponent, + UserPaymentsComponent, + ], + exports: [ + NotFoundComponent, + HomeComponent, + LoginComponent, + RegisterComponent, + ForgotPasswordComponent, + UserPaymentsComponent, + ], imports: [ FormsModule, CommonModule, diff --git a/src/app/components/pages/user/payments/payments.component.ts b/src/app/components/pages/user/payments/payments.component.ts new file mode 100644 index 0000000..09c9593 --- /dev/null +++ b/src/app/components/pages/user/payments/payments.component.ts @@ -0,0 +1,8 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'app-user-payments', + templateUrl: './payments.html', + styleUrls: ['./payments.scss'], +}) +export class UserPaymentsComponent {} diff --git a/src/app/components/pages/user/payments/payments.html b/src/app/components/pages/user/payments/payments.html new file mode 100644 index 0000000..ea23b6a --- /dev/null +++ b/src/app/components/pages/user/payments/payments.html @@ -0,0 +1 @@ +

Payements (TODO)

diff --git a/src/app/components/pages/user/payments/payments.scss b/src/app/components/pages/user/payments/payments.scss new file mode 100644 index 0000000..e69de29 diff --git a/src/app/components/pages/user/pictures/pictures.component.ts b/src/app/components/pages/user/pictures/pictures.component.ts new file mode 100644 index 0000000..40bbb1d --- /dev/null +++ b/src/app/components/pages/user/pictures/pictures.component.ts @@ -0,0 +1,8 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'app-user-pictures', + templateUrl: './pictures.html', + styleUrls: ['./pictures.scss'], +}) +export class UserPicturesComponent {} diff --git a/src/app/components/pages/user/pictures/pictures.html b/src/app/components/pages/user/pictures/pictures.html new file mode 100644 index 0000000..72d9bb8 --- /dev/null +++ b/src/app/components/pages/user/pictures/pictures.html @@ -0,0 +1 @@ +

Pictures (TODO)

diff --git a/src/app/components/pages/user/pictures/pictures.scss b/src/app/components/pages/user/pictures/pictures.scss new file mode 100644 index 0000000..e69de29 diff --git a/src/app/components/pages/user/profile/profile.component.ts b/src/app/components/pages/user/profile/profile.component.ts new file mode 100644 index 0000000..bfc04f2 --- /dev/null +++ b/src/app/components/pages/user/profile/profile.component.ts @@ -0,0 +1,8 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'app-user-profile', + templateUrl: './profile.html', + styleUrls: ['./profile.scss'], +}) +export class UserProfileComponent {} diff --git a/src/app/components/pages/user/profile/profile.html b/src/app/components/pages/user/profile/profile.html new file mode 100644 index 0000000..e69de29 diff --git a/src/app/components/pages/user/profile/profile.scss b/src/app/components/pages/user/profile/profile.scss new file mode 100644 index 0000000..e69de29 diff --git a/src/app/graphql.module.ts b/src/app/graphql.module.ts index 2f68d17..4b75cce 100644 --- a/src/app/graphql.module.ts +++ b/src/app/graphql.module.ts @@ -8,8 +8,8 @@ import { environment } from 'src/environments/environment'; import { HttpClientModule } from '@angular/common/http'; export function createApollo(httpLink: HttpLink) { - const auth = setContext(() => { - const token = localStorage.getItem('authToken'); + const auth = setContext(async () => { + const token = localStorage.getItem('token'); const locale = localStorage.getItem('locale') ?? 'en-US'; if (token === null) { diff --git a/src/app/services/user.service.ts b/src/app/services/user.service.ts index 3c9702b..8534b2d 100644 --- a/src/app/services/user.service.ts +++ b/src/app/services/user.service.ts @@ -7,10 +7,13 @@ import { UserObject } from 'src/types/objects'; }) export class UserService { public constructor(@Inject(Apollo) private readonly apollo: Apollo) {} - private user?: undefined | UserObject['user'] = undefined; + + private fetching = false; + private user?: UserObject['user'] = undefined; public get isLoggedIn(): boolean { - if (localStorage.getItem('authToken') === null) return false; + if (localStorage.getItem('token') === null) return false; + if (this.user === undefined) this.fetchUser(parseInt(localStorage.getItem('userId') ?? '0', 10)); return true; } @@ -18,13 +21,12 @@ export class UserService { return this.isLoggedIn && this.user ? `${this.user.first_name} ${this.user.last_name}` : undefined; } - public get accountId(): string | undefined { - return undefined; - // return this.isLoggedIn && this.user ? this.user.account_id : undefined; + public get accountId(): number | undefined { + return this.isLoggedIn && this.user ? this.user.id : undefined; } - public get balance(): number | undefined { - return undefined; + public get balance(): number { + return 0; // return this.isLoggedIn && this.user ? this.user.balance : undefined; } @@ -50,13 +52,20 @@ export class UserService { public logout(): void { this.user = undefined; - localStorage.removeItem('authToken'); - localStorage.removeItem('refreshToken'); + localStorage.removeItem('token'); + localStorage.removeItem('userId'); + } + + public login(id: number, jwt: string): void { + localStorage.setItem('token', jwt); + localStorage.setItem('userId', id.toString()); + + this.fetchUser(id); } - public login(id: number, jwtToken: string, refreshToken: string): void { - localStorage.setItem('authToken', jwtToken); - localStorage.setItem('refreshToken', refreshToken); + private fetchUser(id: number): void { + if (this.fetching === true) return; + this.fetching = true; this.apollo .query({ @@ -67,15 +76,24 @@ export class UserService { last_name nickname promotion + id } } `, variables: { user_id: id, }, + fetchPolicy: 'cache-first', + errorPolicy: 'all', }) - .subscribe(({ data }) => { - this.user = data.user; + .subscribe(({ data, errors }) => { + if (data) this.user = data.user; + else this.logout(); + + // Logout if the jwt token is invalid + if (errors) this.logout(); }); + + this.fetching = false; } } diff --git a/src/types/objects.d.ts b/src/types/objects.d.ts index c608602..ffd5896 100644 --- a/src/types/objects.d.ts +++ b/src/types/objects.d.ts @@ -1,7 +1,6 @@ export interface LoginObject { login: { - accessToken: string; - refreshToken: string; + token: string; user_id: number; }; } @@ -16,5 +15,6 @@ export interface UserObject { gender?: string; cursus?: string; promotion?: number; + id: number; }; } From bded947c9920ed939506c38fbd1c4fc70c884f24 Mon Sep 17 00:00:00 2001 From: Julien Constant Date: Fri, 5 May 2023 15:55:33 +0200 Subject: [PATCH 054/146] Added API request to register page --- .../components/pages/login/login.component.ts | 2 +- .../pages/register/register.component.ts | 48 ++++- .../components/pages/register/register.html | 174 +++++++++--------- src/app/services/user.service.ts | 17 +- src/types/objects.d.ts | 10 +- 5 files changed, 156 insertions(+), 95 deletions(-) diff --git a/src/app/components/pages/login/login.component.ts b/src/app/components/pages/login/login.component.ts index d210c1b..b1a0353 100644 --- a/src/app/components/pages/login/login.component.ts +++ b/src/app/components/pages/login/login.component.ts @@ -15,7 +15,7 @@ import gql from 'graphql-tag'; styleUrls: ['./login.scss'], }) export class LoginComponent { - public formGroup: FormGroup = this.fb.group({ + public readonly formGroup: FormGroup = this.fb.group({ email: ['', [Validators.required, Validators.email]], password: ['', [Validators.required]], }); diff --git a/src/app/components/pages/register/register.component.ts b/src/app/components/pages/register/register.component.ts index 56aef11..16ab18a 100644 --- a/src/app/components/pages/register/register.component.ts +++ b/src/app/components/pages/register/register.component.ts @@ -1,3 +1,5 @@ +import type { RegisterObject } from 'src/types/objects'; + import { Component, Inject } from '@angular/core'; import { TranslateService } from '@ngx-translate/core'; import { PageService } from 'src/app/services/page.service'; @@ -5,6 +7,7 @@ import { UserService } from 'src/app/services/user.service'; import { environment } from 'src/environments/environment'; import { FormBuilder, FormGroup, Validators } from '@angular/forms'; import { CustomValidators, getErrors } from 'src/app/directives'; +import { Apollo, gql } from 'apollo-angular'; @Component({ selector: 'app-register', @@ -54,6 +57,7 @@ export class RegisterComponent { @Inject(PageService) public readonly p: PageService, @Inject(UserService) public readonly u: UserService, @Inject(FormBuilder) private readonly fb: FormBuilder, + @Inject(Apollo) private readonly apollo: Apollo, ) { t.get('register.title').subscribe((title) => (p.title = title)); } @@ -65,12 +69,50 @@ export class RegisterComponent { return getErrors(this.formGroup.controls[field]); } - public getError(field: string): string { + public getError(field: string, control = ''): string { + if (field === 'api') return this.formGroup.controls[control].getError(field); return `global.errors.${field}`; } public register(): void { - const a = undefined; // TODO: make the function once the API is ready - return a; + this.apollo + .mutate({ + mutation: gql` + mutation ( + $birthday: DateTime! + $email: String! + $first_name: String! + $last_name: String! + $password: String! + ) { + register( + birthday: $birthday + email: $email + first_name: $first_name + last_name: $last_name + password: $password + ) { + token + user_id + } + } + `, + variables: { + birthday: this.formGroup.controls['birthDate'].value, + email: this.formGroup.controls['email'].value, + first_name: this.formGroup.controls['firstName'].value, + last_name: this.formGroup.controls['lastName'].value, + password: this.formGroup.controls['password'].value, + }, + errorPolicy: 'all', + }) + .subscribe(({ data, errors }) => { + if (data && !errors) { + this.u.login(data.register.user_id, data.register.token); + this.p.route = '/'; + } else if (errors) { + this.formGroup.controls['email'].setErrors({ api: errors[0].message }); + } + }); } } diff --git a/src/app/components/pages/register/register.html b/src/app/components/pages/register/register.html index 4edbd70..7d47203 100644 --- a/src/app/components/pages/register/register.html +++ b/src/app/components/pages/register/register.html @@ -1,87 +1,87 @@ -
-
- -
- Association des Étudiants - de l'université de technologie de Belfort-Montbéliard -
-
- -
- {{ 'register.already_registered_and_logged_as_x' | translate: { name: u.fullName } }} -
- -
- - -
-
-
- -
-
- {{ getError(error) | translate: { min: MIN_NAME } }} -
-
- -
-
- -
-
- {{ getError(error) | translate: { min: MIN_NAME } }} -
-
- -
-
- - -
- {{ 'register.date_birth_no_modif' | translate }} -
- {{ getError(error) | translate: { min: MIN_AGE, max: MAX_AGE } }} -
-
- -
-
- - -
-
- {{ getError(error) | translate }} -
-
- -
-
- - -
- {{ 'register.min_password' | translate }} -
- {{ getError(error) | translate: { min: MIN_PASSWORD } }} -
-
- -
-
- - -
- {{ 'register.confirm_password' | translate }} -
- {{ getError(error) | translate }} -
-
-
- - - - -
-
\ No newline at end of file +
+
+ +
+ Association des Étudiants + de l'université de technologie de Belfort-Montbéliard +
+
+ +
+ {{ 'register.already_registered_and_logged_as_x' | translate: { name: u.fullName } }} +
+ +
+ + +
+
+
+ +
+
+ {{ getError(error) | translate: { min: MIN_NAME } }} +
+
+ +
+
+ +
+
+ {{ getError(error) | translate: { min: MIN_NAME } }} +
+
+ +
+
+ + +
+ {{ 'register.date_birth_no_modif' | translate }} +
+ {{ getError(error) | translate: { min: MIN_AGE, max: MAX_AGE } }} +
+
+ +
+
+ + +
+
+ {{ getError(error, 'email') | translate }} +
+
+ +
+
+ + +
+ {{ 'register.min_password' | translate }} +
+ {{ getError(error) | translate: { min: MIN_PASSWORD } }} +
+
+ +
+
+ + +
+ {{ 'register.confirm_password' | translate }} +
+ {{ getError(error) | translate }} +
+
+
+ + + + +
+
diff --git a/src/app/services/user.service.ts b/src/app/services/user.service.ts index 8534b2d..c53f625 100644 --- a/src/app/services/user.service.ts +++ b/src/app/services/user.service.ts @@ -1,12 +1,16 @@ import { Inject, Injectable } from '@angular/core'; import { Apollo, gql } from 'apollo-angular'; import { UserObject } from 'src/types/objects'; +import { PageService } from './page.service'; @Injectable({ providedIn: 'root', }) export class UserService { - public constructor(@Inject(Apollo) private readonly apollo: Apollo) {} + public constructor( + @Inject(PageService) private readonly p: PageService, + @Inject(Apollo) private readonly apollo: Apollo, + ) {} private fetching = false; private user?: UserObject['user'] = undefined; @@ -21,8 +25,12 @@ export class UserService { return this.isLoggedIn && this.user ? `${this.user.first_name} ${this.user.last_name}` : undefined; } - public get accountId(): number | undefined { - return this.isLoggedIn && this.user ? this.user.id : undefined; + public get nickname(): string | undefined { + return this.isLoggedIn && this.user ? this.user.nickname : undefined; + } + + public get accountId(): string | undefined { + return this.isLoggedIn && this.user ? this.user.subscriber_account : undefined; } public get balance(): number { @@ -54,6 +62,8 @@ export class UserService { this.user = undefined; localStorage.removeItem('token'); localStorage.removeItem('userId'); + + this.p.route = '/'; } public login(id: number, jwt: string): void { @@ -77,6 +87,7 @@ export class UserService { nickname promotion id + subscriber_account } } `, diff --git a/src/types/objects.d.ts b/src/types/objects.d.ts index ffd5896..32a5abd 100644 --- a/src/types/objects.d.ts +++ b/src/types/objects.d.ts @@ -5,8 +5,16 @@ export interface LoginObject { }; } +export interface RegisterObject { + register: { + token: string; + user_id: number; + }; +} + export interface UserObject { user: { + id: number; first_name: string; last_name: string; email: string; @@ -15,6 +23,6 @@ export interface UserObject { gender?: string; cursus?: string; promotion?: number; - id: number; + subscriber_account?: string; }; } From cf6e26b21c675ed3bd1d4cf45f370644985e03af Mon Sep 17 00:00:00 2001 From: Nchrd <65755297+Nchrd@users.noreply.github.com> Date: Sun, 7 May 2023 17:21:47 +0200 Subject: [PATCH 055/146] Fixed user profile route --- .../common/side_menu/side_profile/side_profile.component.ts | 2 +- src/app/components/pages/user/profile/profile.html | 1 + src/app/services/user.service.ts | 4 ++++ 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/app/components/common/side_menu/side_profile/side_profile.component.ts b/src/app/components/common/side_menu/side_profile/side_profile.component.ts index ccac0b9..07aafce 100644 --- a/src/app/components/common/side_menu/side_profile/side_profile.component.ts +++ b/src/app/components/common/side_menu/side_profile/side_profile.component.ts @@ -21,7 +21,7 @@ export class SideMenuProfileComponent { } public goto(route: string): void { - this.p.route = `/${this.u.accountId}/${route}`; + this.p.route = `/${this.u.id}/${route}`; this.close.emit(); } } diff --git a/src/app/components/pages/user/profile/profile.html b/src/app/components/pages/user/profile/profile.html index e69de29..013d2ee 100644 --- a/src/app/components/pages/user/profile/profile.html +++ b/src/app/components/pages/user/profile/profile.html @@ -0,0 +1 @@ +

User profile works !

diff --git a/src/app/services/user.service.ts b/src/app/services/user.service.ts index c53f625..3c47bec 100644 --- a/src/app/services/user.service.ts +++ b/src/app/services/user.service.ts @@ -21,6 +21,10 @@ export class UserService { return true; } + public get id(): number | undefined { + return this.isLoggedIn && this.user ? this.user.id : undefined; + } + public get fullName(): string | undefined { return this.isLoggedIn && this.user ? `${this.user.first_name} ${this.user.last_name}` : undefined; } From 413bf1af5589635838355938c22cdee391ea29f2 Mon Sep 17 00:00:00 2001 From: Nchrd <65755297+Nchrd@users.noreply.github.com> Date: Thu, 11 May 2023 16:36:12 +0200 Subject: [PATCH 056/146] Created basic stuff from 1st part of profile --- .vscode/settings.json | 4 + .../side_profile/side_profile.component.ts | 5 + src/app/components/pages/pages.module.ts | 6 + .../pages/user/profile/profile.component.ts | 60 +++++++- .../pages/user/profile/profile.html | 85 ++++++++++- .../pages/user/profile/profile.scss | 135 ++++++++++++++++++ 6 files changed, 292 insertions(+), 3 deletions(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index 74a0e98..86a7f09 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -6,6 +6,10 @@ "**/CVS": true, "**/.DS_Store": true, "**/Thumbs.db": true, + "**/.classpath": true, + "**/.project": true, + "**/.settings": true, + "**/.factorypath": true, "**/node_modules": true }, "cSpell.words": [ diff --git a/src/app/components/common/side_menu/side_profile/side_profile.component.ts b/src/app/components/common/side_menu/side_profile/side_profile.component.ts index 07aafce..cd78b29 100644 --- a/src/app/components/common/side_menu/side_profile/side_profile.component.ts +++ b/src/app/components/common/side_menu/side_profile/side_profile.component.ts @@ -21,6 +21,11 @@ export class SideMenuProfileComponent { } public goto(route: string): void { + if (!this.u.isLoggedIn) { + this.p.route = '/home'; + this.close.emit(); + return; + } this.p.route = `/${this.u.id}/${route}`; this.close.emit(); } diff --git a/src/app/components/pages/pages.module.ts b/src/app/components/pages/pages.module.ts index 6481939..71e4fac 100644 --- a/src/app/components/pages/pages.module.ts +++ b/src/app/components/pages/pages.module.ts @@ -12,6 +12,8 @@ import { ForgotPasswordComponent } from './forgot_password/forgot_password.compo import { FormsModule, ReactiveFormsModule } from '@angular/forms'; import { NgHcaptchaModule } from 'ng-hcaptcha'; import { UserPaymentsComponent } from './user/payments/payments.component'; +import { UserProfileComponent } from './user/profile/profile.component'; +import { UserPicturesComponent } from './user/pictures/pictures.component'; @NgModule({ declarations: [ @@ -21,6 +23,8 @@ import { UserPaymentsComponent } from './user/payments/payments.component'; RegisterComponent, ForgotPasswordComponent, UserPaymentsComponent, + UserProfileComponent, + UserPicturesComponent, ], exports: [ NotFoundComponent, @@ -29,6 +33,8 @@ import { UserPaymentsComponent } from './user/payments/payments.component'; RegisterComponent, ForgotPasswordComponent, UserPaymentsComponent, + UserProfileComponent, + UserPicturesComponent, ], imports: [ FormsModule, diff --git a/src/app/components/pages/user/profile/profile.component.ts b/src/app/components/pages/user/profile/profile.component.ts index bfc04f2..5de3db6 100644 --- a/src/app/components/pages/user/profile/profile.component.ts +++ b/src/app/components/pages/user/profile/profile.component.ts @@ -1,8 +1,64 @@ -import { Component } from '@angular/core'; +import { Component, Inject } from '@angular/core'; +import { Apollo, gql } from 'apollo-angular'; +import { PageService } from 'src/app/services/page.service'; +import { UserService } from 'src/app/services/user.service'; +import { UserObject } from 'src/types/objects'; @Component({ selector: 'app-user-profile', templateUrl: './profile.html', styleUrls: ['./profile.scss'], }) -export class UserProfileComponent {} +export class UserProfileComponent { + public current: 'about' | 'contact' = 'about'; + public user?: UserObject['user'] = undefined; + public age?: number = undefined; + public birthdayFormatted?: string = undefined; + public constructor( + @Inject(UserService) public readonly u: UserService, + @Inject(PageService) public readonly p: PageService, + @Inject(Apollo) private readonly apollo: Apollo, + ) { + this.getUserData(parseInt(localStorage.getItem('userId') ?? '0', 10)); + } + + public get nickname(): string { + if (!this.user?.nickname) return ''; + return `${this.user?.nickname} — `; + } + + public getUserData(userId: number): void { + this.apollo + .query({ + query: gql` + query ($user_id: Int!) { + user(id: $user_id) { + id + first_name + last_name + nickname + cursus + gender + birthday + promotion + subscriber_account + } + } + `, + variables: { + user_id: userId, + }, + fetchPolicy: 'cache-first', + errorPolicy: 'all', + }) + .subscribe(({ data, errors }) => { + if (data) { + this.user = data.user; + const TimeDiff = Math.abs(Date.now() - new Date(this.user?.birthday ?? 0).getTime()); + this.age = Math.floor(TimeDiff / (1000 * 3600 * 24) / 365.25); + } else this.u.logout(); + + if (errors) this.u.logout(); + }); + } +} diff --git a/src/app/components/pages/user/profile/profile.html b/src/app/components/pages/user/profile/profile.html index 013d2ee..f10406b 100644 --- a/src/app/components/pages/user/profile/profile.html +++ b/src/app/components/pages/user/profile/profile.html @@ -1 +1,84 @@ -

User profile works !

+
+
+ +
+
+ +
+ + +
+ +
+
+
+ {{user?.first_name}} {{user?.last_name}} + +
+ {{ nickname }}{{ age }} +
+
+
+
+ + +
+
+
+
+ +
+
+ Date de naissance + {{user?.birthday | date:'dd/MM/yyyy' }} +
+
+ Genre + {{user?.gender}} +
+
+ Pronom + Le pronom +
+
+
+
+ Cursus + {{user?.cursus}} +
+
+ Filière + filière +
+
+ Promotion + {{user?.promotion}} +
+
+
+
+ A rejoint le sith + Un certain jour +
+
+ Actif le + Un autre jour +
+
+ Cotisation + Peut-être +
+
+
+
+ + OUI +
+
+
+ +
+
+
+
+
diff --git a/src/app/components/pages/user/profile/profile.scss b/src/app/components/pages/user/profile/profile.scss index e69de29..167f46f 100644 --- a/src/app/components/pages/user/profile/profile.scss +++ b/src/app/components/pages/user/profile/profile.scss @@ -0,0 +1,135 @@ +.profile { + display: block; + padding-top: 40px; + background-color: black; + padding-bottom: 5px; + width: 100%; + + >.banner { + display: flex; + } + + >.icon-list { + + } + + >.profile-container { + display: flex; + border-radius: 5px; + margin: 10px; + background-color: white; + position: relative; + + >.profile-content { + display: flex; + flex-direction: column; + padding: 5px 10px 10px; + width: 100%; + + >.promo-icon { + width: 35px; + height: 35px; + border: solid; + border-width: 3px; + border-radius: 50%; + border-color: white; + margin-left: 52px; + position: absolute; + top: 20px; + + background-color: black; + } + + >.icon { + width: 85px; + height: 85px; + border: solid; + border-width: 5px; + border-color: white; + border-radius: 50%; + position: absolute; + top: -30px; + } + + >.upper-profile { + display:flex; + flex-direction: column; + + >.profile-name { + height: 42px; + //width: 100%; + display: flex; + flex-direction: column; + margin-left: 95px; + font-family: Roboto, sans-serif; + + >.name { + font-weight: bold; + } + } + + >.tab-and-flag { + display: flex; + padding-top: 10px; + + >.tab { + width: 100%; + padding-bottom: 10px; + + >.tab-header { + + >.tab-link { + border: none; + border-bottom: 2px solid black; + } + + >.tab-band { + width: 90%; + height: 1px; + background-color: black; + } + } + + >.tab-content { + display: flex; + flex-direction: row; + + >.details { + visibility: hidden; + width: 100%; + display: flex; + display: none; + + &.shown { + visibility: visible; + display: flex; + } + + >.profile-line { + display: block; + flex-direction: row; + width: 100%; + + >.profile-column { + display: flex; + flex-direction: column; + font-family: Roboto, sans-serif; + font-size: 10px; + text-transform: uppercase; + padding-top: 10px; + width: 100%; + height: 35px; + + >.title { + font-weight: bold; + } + } + } + } + } + } + } + } + } + } +} From 95b32e9136be2e890d7f0d0a62a9e68c2085799f Mon Sep 17 00:00:00 2001 From: Nchrd <65755297+Nchrd@users.noreply.github.com> Date: Thu, 11 May 2023 17:01:40 +0200 Subject: [PATCH 057/146] Update trads + css fix --- .../pages/user/profile/profile.component.ts | 2 ++ .../pages/user/profile/profile.html | 34 +++++++++---------- .../pages/user/profile/profile.scss | 6 +++- src/assets/i18n/en-US.json | 13 +++++++ 4 files changed, 37 insertions(+), 18 deletions(-) diff --git a/src/app/components/pages/user/profile/profile.component.ts b/src/app/components/pages/user/profile/profile.component.ts index 5de3db6..c5df78a 100644 --- a/src/app/components/pages/user/profile/profile.component.ts +++ b/src/app/components/pages/user/profile/profile.component.ts @@ -1,4 +1,5 @@ import { Component, Inject } from '@angular/core'; +import { TranslateService } from '@ngx-translate/core'; import { Apollo, gql } from 'apollo-angular'; import { PageService } from 'src/app/services/page.service'; import { UserService } from 'src/app/services/user.service'; @@ -18,6 +19,7 @@ export class UserProfileComponent { @Inject(UserService) public readonly u: UserService, @Inject(PageService) public readonly p: PageService, @Inject(Apollo) private readonly apollo: Apollo, + @Inject(TranslateService) public readonly t: TranslateService, ) { this.getUserData(parseInt(localStorage.getItem('userId') ?? '0', 10)); } diff --git a/src/app/components/pages/user/profile/profile.html b/src/app/components/pages/user/profile/profile.html index f10406b..5be4f6c 100644 --- a/src/app/components/pages/user/profile/profile.html +++ b/src/app/components/pages/user/profile/profile.html @@ -20,8 +20,8 @@
- - + +
@@ -29,43 +29,43 @@
- Date de naissance + {{ 'profile.birthdate' | translate }} {{user?.birthday | date:'dd/MM/yyyy' }}
- Genre - {{user?.gender}} + {{ 'profile.cursus_utbm' | translate }} + {{user?.cursus || "-"}}
- Pronom - Le pronom + {{ 'profile.joined_the_site' | translate }} + Un jour
- Cursus - {{user?.cursus}} + {{ 'profile.gender' | translate }} + {{user?.gender || "-"}}
- Filière + {{ 'profile.speciality' | translate }} filière
- Promotion - {{user?.promotion}} + {{ 'profile.last_seen' | translate }} + Un autre jour
- A rejoint le sith - Un certain jour + {{ 'profile.pronouns' | translate }} + Lui
- Actif le - Un autre jour + {{ 'profile.promotion' | translate }} + {{ user?.promotion }}
- Cotisation + {{ 'profile.subscription' | translate }} Peut-être
diff --git a/src/app/components/pages/user/profile/profile.scss b/src/app/components/pages/user/profile/profile.scss index 167f46f..eb7f552 100644 --- a/src/app/components/pages/user/profile/profile.scss +++ b/src/app/components/pages/user/profile/profile.scss @@ -80,7 +80,11 @@ >.tab-link { border: none; - border-bottom: 2px solid black; + background-color: transparent; + + &.shown { + border-bottom: 2px solid black; + } } >.tab-band { diff --git a/src/assets/i18n/en-US.json b/src/assets/i18n/en-US.json index f02b952..75a97f1 100644 --- a/src/assets/i18n/en-US.json +++ b/src/assets/i18n/en-US.json @@ -96,5 +96,18 @@ "min_password": "Minimum of 8 characters including 1 special", "confirm_password": "Confirm password", "already_registered_and_logged_as_x": "You are already registered and logged as {{name}}" + }, + "profile":{ + "about": "About", + "contact": "Contact", + "birthdate": "Birthdate", + "cursus_utbm": "UTBM Curriculum", + "speciality": "Speciality", + "joined_the_site": "Joined the site", + "gender": "Gender", + "last_seen": "Last seen", + "pronouns": "Pronouns", + "promotion": "Promotion", + "subscription" : "Subscription date" } } From 748ce67fec7ac0c154ff725e58b76ccafc28c150 Mon Sep 17 00:00:00 2001 From: Julien Constant Date: Fri, 12 May 2023 13:25:05 +0200 Subject: [PATCH 058/146] Added promotion icon component & added missing fields to profile page --- .../components/common/icons/icons.module.ts | 9 +- .../icons/promo_icon/promo_icon.component.ts | 36 ++++ .../common/icons/promo_icon/promo_icon.html | 1 + .../common/icons/promo_icon/promo_icon.scss | 5 + .../icons/user_icon/user_icon.component.ts | 4 +- .../common/side_menu/side_menu.scss | 1 - .../side_menu/side_profile/side_profile.html | 2 +- src/app/components/desktop/header/header.html | 5 +- src/app/components/desktop/header/header.scss | 3 +- src/app/components/mobile/header/header.html | 3 +- src/app/components/mobile/header/header.scss | 1 + .../pages/user/profile/profile.component.ts | 7 + .../pages/user/profile/profile.html | 143 ++++++------- .../pages/user/profile/profile.scss | 200 +++++++++--------- src/assets/i18n/en-US.json | 5 +- src/types/objects.d.ts | 16 ++ 16 files changed, 252 insertions(+), 189 deletions(-) create mode 100644 src/app/components/common/icons/promo_icon/promo_icon.component.ts create mode 100644 src/app/components/common/icons/promo_icon/promo_icon.html create mode 100644 src/app/components/common/icons/promo_icon/promo_icon.scss diff --git a/src/app/components/common/icons/icons.module.ts b/src/app/components/common/icons/icons.module.ts index d098de2..b1d9775 100644 --- a/src/app/components/common/icons/icons.module.ts +++ b/src/app/components/common/icons/icons.module.ts @@ -3,7 +3,7 @@ import { IconExpandLessComponent } from './expand_less/expand_less.component'; import { IconExpandMoreComponent } from './expand_more/expand_more.component'; import { IconBurgerMenuComponent } from './burger_menu/burger_menu.component'; import { IconCogwheelComponent } from './cogwheel/cogwheel.component'; -import { IconUserIconComponent } from './user_icon/user_icon.component'; +import { IconUserComponent } from './user_icon/user_icon.component'; import { IconHeartPlusComponent } from './heart_plus/heart_plus.component'; import { IconLaundryComponent } from './laundry/laundry.component'; import { IconMessagesComponent } from './messages/messages.component'; @@ -19,12 +19,14 @@ import { IconAtComponent } from './at/at.component'; import { IconPasswordComponent } from './password/password.component'; import { IconCalendarComponent } from './calendar/calendar.component'; import { IconCloseComponent } from './close/close.component'; +import { IconPromotionComponent } from './promo_icon/promo_icon.component'; @NgModule({ declarations: [ IconBurgerMenuComponent, IconCogwheelComponent, - IconUserIconComponent, + IconUserComponent, + IconPromotionComponent, IconExpandLessComponent, IconExpandMoreComponent, IconHeartPlusComponent, @@ -45,7 +47,8 @@ import { IconCloseComponent } from './close/close.component'; exports: [ IconBurgerMenuComponent, IconCogwheelComponent, - IconUserIconComponent, + IconUserComponent, + IconPromotionComponent, IconExpandLessComponent, IconExpandMoreComponent, IconHeartPlusComponent, diff --git a/src/app/components/common/icons/promo_icon/promo_icon.component.ts b/src/app/components/common/icons/promo_icon/promo_icon.component.ts new file mode 100644 index 0000000..ff2b1be --- /dev/null +++ b/src/app/components/common/icons/promo_icon/promo_icon.component.ts @@ -0,0 +1,36 @@ +import { Component, Inject, Input } from '@angular/core'; +import { Apollo, gql } from 'apollo-angular'; +import { PromotionObject } from 'src/types/objects'; + +@Component({ + selector: 'icon-promotion', + templateUrl: './promo_icon.html', + styleUrls: ['../icons.scss', './promo_icon.scss'], +}) +export class IconPromotionComponent { + public picture?: string = undefined; + + @Input() public number?: number = undefined; + + public constructor(@Inject(Apollo) private readonly apollo: Apollo) { + this.apollo + .query({ + query: gql` + query ($number: Int!) { + promotion(number: $number) { + picture + } + } + `, + variables: { + number: this.number, + }, + fetchPolicy: 'cache-first', + errorPolicy: 'all', + }) + .subscribe(({ data }) => { + this.picture = data?.promotion?.picture; + this.picture = 'https://ae.utbm.fr/static/core/img/promo_21.png'; + }); + } +} diff --git a/src/app/components/common/icons/promo_icon/promo_icon.html b/src/app/components/common/icons/promo_icon/promo_icon.html new file mode 100644 index 0000000..3fbfa5b --- /dev/null +++ b/src/app/components/common/icons/promo_icon/promo_icon.html @@ -0,0 +1 @@ +number \ No newline at end of file diff --git a/src/app/components/common/icons/promo_icon/promo_icon.scss b/src/app/components/common/icons/promo_icon/promo_icon.scss new file mode 100644 index 0000000..08c6e72 --- /dev/null +++ b/src/app/components/common/icons/promo_icon/promo_icon.scss @@ -0,0 +1,5 @@ +img { + width: 100%; + height: 100%; + border-radius: 50%; +} diff --git a/src/app/components/common/icons/user_icon/user_icon.component.ts b/src/app/components/common/icons/user_icon/user_icon.component.ts index bb258f4..c4baf97 100644 --- a/src/app/components/common/icons/user_icon/user_icon.component.ts +++ b/src/app/components/common/icons/user_icon/user_icon.component.ts @@ -1,11 +1,11 @@ import { Component, Input } from '@angular/core'; @Component({ - selector: 'icon-user-icon', + selector: 'icon-user', templateUrl: './user_icon.html', styleUrls: ['../icons.scss', './user_icon.scss'], }) -export class IconUserIconComponent { +export class IconUserComponent { @Input() public url?: string; @Input() public notifications = 0; diff --git a/src/app/components/common/side_menu/side_menu.scss b/src/app/components/common/side_menu/side_menu.scss index a45fafd..92c48ae 100644 --- a/src/app/components/common/side_menu/side_menu.scss +++ b/src/app/components/common/side_menu/side_menu.scss @@ -1,4 +1,3 @@ -$background-color: #21262d; $slide: slide 0.5s ease-in-out; $slide-rtl: slide-rtl 0.5s ease-in-out; diff --git a/src/app/components/common/side_menu/side_profile/side_profile.html b/src/app/components/common/side_menu/side_profile/side_profile.html index abc0a8b..35df97c 100644 --- a/src/app/components/common/side_menu/side_profile/side_profile.html +++ b/src/app/components/common/side_menu/side_profile/side_profile.html @@ -3,7 +3,7 @@
- +
{{ u.fullName }} diff --git a/src/app/components/desktop/header/header.html b/src/app/components/desktop/header/header.html index 78b8231..0c6d6c1 100644 --- a/src/app/components/desktop/header/header.html +++ b/src/app/components/desktop/header/header.html @@ -11,7 +11,8 @@ - +
@@ -26,4 +27,4 @@ - \ No newline at end of file + diff --git a/src/app/components/desktop/header/header.scss b/src/app/components/desktop/header/header.scss index 2db5082..46f2649 100644 --- a/src/app/components/desktop/header/header.scss +++ b/src/app/components/desktop/header/header.scss @@ -69,6 +69,7 @@ .side-menu { position: absolute; top: 0; + z-index: 1; height: 100vh; width: 100vw; animation: fade 0.5s ease-in-out; @@ -78,4 +79,4 @@ &.open { display: block; } -} \ No newline at end of file +} diff --git a/src/app/components/mobile/header/header.html b/src/app/components/mobile/header/header.html index 5cca40b..d11be74 100644 --- a/src/app/components/mobile/header/header.html +++ b/src/app/components/mobile/header/header.html @@ -2,7 +2,8 @@
- +
diff --git a/src/app/components/mobile/header/header.scss b/src/app/components/mobile/header/header.scss index 57aeb0d..2f13ac7 100644 --- a/src/app/components/mobile/header/header.scss +++ b/src/app/components/mobile/header/header.scss @@ -27,6 +27,7 @@ .side-menu { position: absolute; top: 0; + z-index: 1; height: 100vh; width: 100vw; animation: fade 0.5s ease-in-out; diff --git a/src/app/components/pages/user/profile/profile.component.ts b/src/app/components/pages/user/profile/profile.component.ts index c5df78a..acd7456 100644 --- a/src/app/components/pages/user/profile/profile.component.ts +++ b/src/app/components/pages/user/profile/profile.component.ts @@ -15,6 +15,7 @@ export class UserProfileComponent { public user?: UserObject['user'] = undefined; public age?: number = undefined; public birthdayFormatted?: string = undefined; + public constructor( @Inject(UserService) public readonly u: UserService, @Inject(PageService) public readonly p: PageService, @@ -43,7 +44,13 @@ export class UserProfileComponent { gender birthday promotion + specialty subscriber_account + last_seen + pronouns + subscription + created + updated } } `, diff --git a/src/app/components/pages/user/profile/profile.html b/src/app/components/pages/user/profile/profile.html index 5be4f6c..150397c 100644 --- a/src/app/components/pages/user/profile/profile.html +++ b/src/app/components/pages/user/profile/profile.html @@ -1,82 +1,79 @@ -
-
- -
-
- -
- - -
- -
-
-
- {{user?.first_name}} {{user?.last_name}} - -
- {{ nickname }}{{ age }} +
+
+ +
+ + +
+
+
+ {{ user?.first_name }} {{ user?.last_name }} + {{ nickname }}{{ 'profile.age' | translate: { age } }} +
+
+
+ +
-
-
-
- - -
+ +
+
+ +
+
+ {{ 'profile.birthday' | translate }} + {{ user?.birthday | date: 'dd/MM/yyyy' }} +
+
+ {{ 'profile.cursus_utbm' | translate }} + {{ user?.cursus }} +
+
+ {{ 'profile.joined_the_site' | translate }} + {{ user?.created | date: 'dd/MM/yyyy' }} +
-
-
- -
-
- {{ 'profile.birthdate' | translate }} - {{user?.birthday | date:'dd/MM/yyyy' }} -
-
- {{ 'profile.cursus_utbm' | translate }} - {{user?.cursus || "-"}} -
-
- {{ 'profile.joined_the_site' | translate }} - Un jour -
-
-
-
- {{ 'profile.gender' | translate }} - {{user?.gender || "-"}} -
-
- {{ 'profile.speciality' | translate }} - filière -
-
- {{ 'profile.last_seen' | translate }} - Un autre jour -
-
-
-
- {{ 'profile.pronouns' | translate }} - Lui -
-
- {{ 'profile.promotion' | translate }} - {{ user?.promotion }} -
-
- {{ 'profile.subscription' | translate }} - Peut-être -
-
+
+
+ {{ 'profile.gender' | translate }} + {{ user?.gender }}
-
- - OUI +
+ {{ 'profile.specialty' | translate }} + {{ user?.specialty }} +
+
+ {{ 'profile.last_seen' | translate }} + {{ user?.last_seen | date: 'dd/MM/yyyy' }} +
+
+
+
+ {{ 'profile.pronouns' | translate }} + {{ user?.pronouns }} +
+
+ {{ 'profile.promotion' | translate }} + {{ user?.promotion }} +
+
+ {{ 'profile.subscription' | translate }} + {{ user?.subscription | date: 'dd/MM/yyyy' }}
- +
+ + OUI +
diff --git a/src/app/components/pages/user/profile/profile.scss b/src/app/components/pages/user/profile/profile.scss index eb7f552..35d26a7 100644 --- a/src/app/components/pages/user/profile/profile.scss +++ b/src/app/components/pages/user/profile/profile.scss @@ -1,133 +1,127 @@ -.profile { - display: block; - padding-top: 40px; - background-color: black; - padding-bottom: 5px; - width: 100%; - - >.banner { - display: flex; - } +.content { + display: flex; + flex-direction: column; + gap: 5px; + padding: 5px; + min-height: calc(100vh - 110px); - >.icon-list { + background-color: var(--user-custom-color); - } - - >.profile-container { + >.profile { display: flex; - border-radius: 5px; - margin: 10px; - background-color: white; + flex-direction: column; position: relative; - >.profile-content { - display: flex; - flex-direction: column; - padding: 5px 10px 10px; - width: 100%; - - >.promo-icon { - width: 35px; - height: 35px; - border: solid; - border-width: 3px; - border-radius: 50%; - border-color: white; - margin-left: 52px; + >.banner { + min-height: 52px; + } + + >.pictures { + position: absolute; + top: 15px; + left: 10px; + + width: 95px; + height: 95px; + + border: 5px solid var(--background-color); + border-radius: 50%; + + > .promotion { position: absolute; - top: 20px; + bottom: -5px; + right: -5px; - background-color: black; - } + width: 40px; + height: 40px; - >.icon { - width: 85px; - height: 85px; - border: solid; - border-width: 5px; - border-color: white; + border: 2.5px solid var(--background-color); border-radius: 50%; - position: absolute; - top: -30px; } + } - >.upper-profile { - display:flex; + >.infos { + display: flex; + flex-direction: column; + gap: 10px; + background-color: var(--background-color); + padding: 10px; + border-radius: 5px; + min-height: 100%; + + >.main { + height: 42px; + margin-left: 105px; + font-family: Roboto, sans-serif; + + display: flex; flex-direction: column; + color: var(--text-color-dynamic); - >.profile-name { - height: 42px; - //width: 100%; - display: flex; - flex-direction: column; - margin-left: 95px; - font-family: Roboto, sans-serif; + > .name { + text-transform: capitalize; + font-weight: bold; + } - >.name { - font-weight: bold; - } + > .nickname { + font-weight: 300; } + } - >.tab-and-flag { - display: flex; - padding-top: 10px; + >.tab { + width: 100%; + padding: 5px 0; - >.tab { - width: 100%; - padding-bottom: 10px; + >.tab-header { + >.tab-link { + border: none; + background-color: transparent; - >.tab-header { + font-family: Roboto, sans-serif; + font-size: 12px; + color: var(--text-color-dynamic); - >.tab-link { - border: none; - background-color: transparent; + &.shown { + border-bottom: 1px solid var(--text-color-dynamic); + } + } - &.shown { - border-bottom: 2px solid black; - } - } + border-bottom: 1px solid var(--text-color-dynamic); + } - >.tab-band { - width: 90%; - height: 1px; - background-color: black; - } - } + >.tab-content { + display: flex; + flex-direction: row; + + >.details { + visibility: hidden; + width: 100%; + display: flex; + display: none; + color: var(--text-color-dynamic); - >.tab-content { + &.shown { + visibility: visible; display: flex; + } + + >.profile-line { + display: block; flex-direction: row; + width: 100%; - >.details { - visibility: hidden; - width: 100%; + >.profile-column { display: flex; - display: none; - - &.shown { - visibility: visible; - display: flex; - } + flex-direction: column; + font-family: Roboto, sans-serif; + font-size: 10px; + text-transform: uppercase; + padding-top: 10px; + width: 100%; + height: 35px; - >.profile-line { - display: block; - flex-direction: row; - width: 100%; - - >.profile-column { - display: flex; - flex-direction: column; - font-family: Roboto, sans-serif; - font-size: 10px; - text-transform: uppercase; - padding-top: 10px; - width: 100%; - height: 35px; - - >.title { - font-weight: bold; - } - } + >.title { + font-weight: bold; } } } diff --git a/src/assets/i18n/en-US.json b/src/assets/i18n/en-US.json index 75a97f1..516fbaf 100644 --- a/src/assets/i18n/en-US.json +++ b/src/assets/i18n/en-US.json @@ -98,11 +98,12 @@ "already_registered_and_logged_as_x": "You are already registered and logged as {{name}}" }, "profile":{ + "age": "{{age}} years old", "about": "About", "contact": "Contact", - "birthdate": "Birthdate", + "birthday": "Birth date", "cursus_utbm": "UTBM Curriculum", - "speciality": "Speciality", + "specialty": "Specialty", "joined_the_site": "Joined the site", "gender": "Gender", "last_seen": "Last seen", diff --git a/src/types/objects.d.ts b/src/types/objects.d.ts index 32a5abd..5e7ac57 100644 --- a/src/types/objects.d.ts +++ b/src/types/objects.d.ts @@ -23,6 +23,22 @@ export interface UserObject { gender?: string; cursus?: string; promotion?: number; + specialty?: string; + pronouns?: string; subscriber_account?: string; + created: Date; + updated: Date; + last_seen: Date; + subscription: Date; + }; +} + +export interface PromotionObject { + promotion: { + id: number; + number: number; + picture?: string; + created: Date; + updated: Date; }; } From 5a56f28b50b3043b6f92872a270b50daa1cdb888 Mon Sep 17 00:00:00 2001 From: Julien Constant Date: Fri, 12 May 2023 20:42:51 +0200 Subject: [PATCH 059/146] Fixed DID when debugging safari iOS on macOS DID: Dissociative Identity Disorder --- src/app/services/page.service.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app/services/page.service.ts b/src/app/services/page.service.ts index 265ecc5..56bb5d1 100644 --- a/src/app/services/page.service.ts +++ b/src/app/services/page.service.ts @@ -70,7 +70,7 @@ export class PageService { * @return {boolean} True if the device is a desktop device, false otherwise */ public get isDesktop(): boolean { - return this.deviceService.isDesktop(); + return this.deviceService.isDesktop() && !this.isMobile; } /** From b0ef3a082bc6264bb70ea883dafbd83719ebe203 Mon Sep 17 00:00:00 2001 From: Julien Constant Date: Mon, 15 May 2023 14:08:28 +0200 Subject: [PATCH 060/146] Added possibility to update user profile picture --- .vscode/settings.json | 6 +- src/app/components/common/common.module.ts | 3 + .../icons/promo_icon/promo_icon.component.ts | 8 +- .../common/icons/promo_icon/promo_icon.html | 5 +- .../common/icons/promo_icon/promo_icon.scss | 13 +- .../image-cropper.component.spec.ts | 24 ++ .../image_cropper/image-cropper.component.ts | 124 +++++++ .../common/image_cropper/image-cropper.html | 15 + .../common/image_cropper/image-cropper.scss | 335 ++++++++++++++++++ .../common/title/title.component.ts | 1 + src/app/components/common/title/title.html | 2 +- src/app/components/common/title/title.scss | 4 + .../components/pages/login/login.component.ts | 7 +- src/app/components/pages/pages.module.ts | 3 + .../pages/register/register.component.ts | 6 +- .../picture/picture-edit-modal.component.ts | 132 +++++++ .../profile/picture/picture-edit-modal.html | 26 ++ .../profile/picture/picture-edit-modal.scss | 27 ++ .../pages/user/profile/profile.component.ts | 50 ++- .../pages/user/profile/profile.html | 10 +- .../pages/user/profile/profile.scss | 15 + src/app/graphql.module.ts | 55 ++- src/app/services/page.service.ts | 6 +- src/app/services/user.service.ts | 148 ++++---- src/assets/i18n/en-US.json | 4 +- src/environments/environment.dev.ts | 3 +- src/types/index.d.ts | 12 + src/types/objects.d.ts | 74 ++-- src/utils/buffer.ts | 15 + 29 files changed, 979 insertions(+), 154 deletions(-) create mode 100644 src/app/components/common/image_cropper/image-cropper.component.spec.ts create mode 100644 src/app/components/common/image_cropper/image-cropper.component.ts create mode 100644 src/app/components/common/image_cropper/image-cropper.html create mode 100644 src/app/components/common/image_cropper/image-cropper.scss create mode 100644 src/app/components/pages/user/profile/picture/picture-edit-modal.component.ts create mode 100644 src/app/components/pages/user/profile/picture/picture-edit-modal.html create mode 100644 src/app/components/pages/user/profile/picture/picture-edit-modal.scss create mode 100644 src/utils/buffer.ts diff --git a/.vscode/settings.json b/.vscode/settings.json index 86a7f09..31f64aa 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -15,14 +15,18 @@ "cSpell.words": [ "browserconfig", "christmas", + "cropbox", + "cropperjs", "hcaptcha", + "ngxs", + "Ngxs", "pinktober", "sith", "stylelint", "truetype" ], "files.eol": "\n", - "editor.formatOnSave": true, + "editor.formatOnSave": false, "editor.fontLigatures": true, "editor.fontFamily": "'Fira Code', Consolas, 'Courier New', monospace", } diff --git a/src/app/components/common/common.module.ts b/src/app/components/common/common.module.ts index 0f84eca..3efeaea 100644 --- a/src/app/components/common/common.module.ts +++ b/src/app/components/common/common.module.ts @@ -13,6 +13,7 @@ import { TitleComponent } from './title/title.component'; import { SubtitleComponent } from './subtitle/subtitle.component'; import { ThemeSelectorComponent } from './theme_selector/theme_selector.component'; import { FontSizeSelectorComponent } from './text_size_selector/text_size_selector.component'; +import { ImageCropperComponent } from './image_cropper/image-cropper.component'; @NgModule({ declarations: [ @@ -27,6 +28,7 @@ import { FontSizeSelectorComponent } from './text_size_selector/text_size_select SubtitleComponent, ThemeSelectorComponent, FontSizeSelectorComponent, + ImageCropperComponent, ], exports: [ IconsModule, @@ -41,6 +43,7 @@ import { FontSizeSelectorComponent } from './text_size_selector/text_size_select SubtitleComponent, ThemeSelectorComponent, FontSizeSelectorComponent, + ImageCropperComponent, ], imports: [IconsModule, CommonModule, TranslateModule], }) diff --git a/src/app/components/common/icons/promo_icon/promo_icon.component.ts b/src/app/components/common/icons/promo_icon/promo_icon.component.ts index ff2b1be..f86ea52 100644 --- a/src/app/components/common/icons/promo_icon/promo_icon.component.ts +++ b/src/app/components/common/icons/promo_icon/promo_icon.component.ts @@ -1,6 +1,6 @@ import { Component, Inject, Input } from '@angular/core'; import { Apollo, gql } from 'apollo-angular'; -import { PromotionObject } from 'src/types/objects'; +import { Objected, PromotionObject } from 'src/types/objects'; @Component({ selector: 'icon-promotion', @@ -14,7 +14,7 @@ export class IconPromotionComponent { public constructor(@Inject(Apollo) private readonly apollo: Apollo) { this.apollo - .query({ + .query>({ query: gql` query ($number: Int!) { promotion(number: $number) { @@ -29,8 +29,8 @@ export class IconPromotionComponent { errorPolicy: 'all', }) .subscribe(({ data }) => { - this.picture = data?.promotion?.picture; - this.picture = 'https://ae.utbm.fr/static/core/img/promo_21.png'; + if (!data) return; + this.picture = data['promotion']?.picture; }); } } diff --git a/src/app/components/common/icons/promo_icon/promo_icon.html b/src/app/components/common/icons/promo_icon/promo_icon.html index 3fbfa5b..c9cb9aa 100644 --- a/src/app/components/common/icons/promo_icon/promo_icon.html +++ b/src/app/components/common/icons/promo_icon/promo_icon.html @@ -1 +1,4 @@ -number \ No newline at end of file + +
+ {{ number }} +
\ No newline at end of file diff --git a/src/app/components/common/icons/promo_icon/promo_icon.scss b/src/app/components/common/icons/promo_icon/promo_icon.scss index 08c6e72..ce01934 100644 --- a/src/app/components/common/icons/promo_icon/promo_icon.scss +++ b/src/app/components/common/icons/promo_icon/promo_icon.scss @@ -1,5 +1,16 @@ -img { +img, +.placeholder { width: 100%; height: 100%; border-radius: 50%; } + +.placeholder { + background-color: var(--background-color); + display: flex; + justify-content: center; + align-items: center; + font-family: Roboto, sans-serif; + font-size: larger; + color: var(--text-color-dynamic); +} \ No newline at end of file diff --git a/src/app/components/common/image_cropper/image-cropper.component.spec.ts b/src/app/components/common/image_cropper/image-cropper.component.spec.ts new file mode 100644 index 0000000..f47957e --- /dev/null +++ b/src/app/components/common/image_cropper/image-cropper.component.spec.ts @@ -0,0 +1,24 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { ImageCropperComponent } from './image-cropper.component'; + +describe('ImageCropperComponent', () => { + let component: ImageCropperComponent; + let fixture: ComponentFixture; + + beforeEach(() => { + TestBed.configureTestingModule({ + declarations: [ImageCropperComponent], + }).compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(ImageCropperComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/components/common/image_cropper/image-cropper.component.ts b/src/app/components/common/image_cropper/image-cropper.component.ts new file mode 100644 index 0000000..d3beb0c --- /dev/null +++ b/src/app/components/common/image_cropper/image-cropper.component.ts @@ -0,0 +1,124 @@ +import type { ImageCropperResult, ImageCropperSetting } from 'src/types'; +import Cropper from 'cropperjs'; + +import { + Component, + OnDestroy, + ViewEncapsulation, + ElementRef, + ViewChild, + Input, + EventEmitter, + Output, +} from '@angular/core'; + +@Component({ + selector: 'app-image-cropper', + templateUrl: './image-cropper.html', + styleUrls: ['./image-cropper.scss'], + encapsulation: ViewEncapsulation.None, +}) +export class ImageCropperComponent implements OnDestroy { + @ViewChild('image') public image!: ElementRef; + + @Input() public imageUrl?: string; + @Input() public settings?: ImageCropperSetting; + @Input() public cropbox?: Cropper.CropBoxData; + @Input() public loadImageErrorText?: string; + @Input() public cropperOptions?: Cropper.Options = {}; + + @Output() public export = new EventEmitter(); + @Output() public ready = new EventEmitter(); + + public isLoading = true; + public cropper?: Cropper; + public imageElement?: HTMLImageElement; + public loadError?: boolean = false; + + public ngOnDestroy() { + if (this.cropper) { + this.cropper.destroy(); + this.cropper = undefined; + } + } + + public imageLoaded(ev: Event) { + this.loadError = false; + + // Setup image element + const image = ev.target as HTMLImageElement; + this.imageElement = image; + + // Add crossOrigin? + if (this.cropperOptions?.checkCrossOrigin) image.crossOrigin = 'anonymous'; + + // Image on ready event + image.addEventListener('ready', () => { + // Emit ready + this.ready.emit(true); + + // Unset loading state + this.isLoading = false; + + // Validate cropbox existence + if (this.cropbox && this.cropper) this.cropper.setCropBoxData(this.cropbox); + }); + + // Setup aspect ratio according to settings + let aspectRatio = NaN; + if (this.settings) { + const { width, height } = this.settings; + aspectRatio = width / height; + } + + // Set crop options + // extend default with custom config + this.cropperOptions = Object.assign( + { + aspectRatio, + movable: false, + scalable: false, + zoomable: false, + viewMode: 1, + checkCrossOrigin: true, + }, + this.cropperOptions, + ); + + // Set cropperjs + if (this.cropper) { + this.cropper.destroy(); + this.cropper = undefined; + } + + this.cropper = new Cropper(image, this.cropperOptions); + } + + public imageLoadError() { + this.loadError = true; + this.isLoading = false; + } + + public exportCanvas(base64 = false) { + if (!this.cropper) return; + + // Get and set image, crop and canvas data + const imageData = this.cropper.getImageData(); + const cropData = this.cropper.getCropBoxData(); + const canvas = this.cropper.getCroppedCanvas(); + const data = { imageData, cropData }; + + // Create promise to resolve canvas data + const promise = new Promise((resolve) => { + // Validate base64 and resolve promise with dataUrl + if (base64) return resolve({ dataUrl: canvas.toDataURL('image/png') }); + + canvas.toBlob((blob) => resolve({ blob })); + }); + + // Emit export data when promise is ready + promise.then((res) => { + this.export.emit(Object.assign(data, res)); + }); + } +} diff --git a/src/app/components/common/image_cropper/image-cropper.html b/src/app/components/common/image_cropper/image-cropper.html new file mode 100644 index 0000000..45f6f78 --- /dev/null +++ b/src/app/components/common/image_cropper/image-cropper.html @@ -0,0 +1,15 @@ +
+ + +
+
+
+ + +
{{ loadImageErrorText }}
+ + +
+ image +
+
\ No newline at end of file diff --git a/src/app/components/common/image_cropper/image-cropper.scss b/src/app/components/common/image_cropper/image-cropper.scss new file mode 100644 index 0000000..5728038 --- /dev/null +++ b/src/app/components/common/image_cropper/image-cropper.scss @@ -0,0 +1,335 @@ +:host { + display: block; +} + +.cropper { + overflow: hidden; + + img { + max-width: 100%; + max-height: 100%; + height: auto; + } +} + +.cropper-wrapper { + position: relative; + min-height: 80px; + + .loading-block { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + + .spinner { + width: 31px; + height: 31px; + margin: 0 auto; + border: 2px solid rgba(97, 100, 193, .98); + border-radius: 50%; + border-left-color: transparent; + border-right-color: transparent; + -webkit-animation: cssload-spin 425ms infinite linear; + position: absolute; + top: calc(50% - 15px); + left: calc(50% - 15px); + animation: cssload-spin 425ms infinite linear; + } + } +} + +@-webkit-keyframes cssload-spin { + to { + -webkit-transform: rotate(360deg); + transform: rotate(360deg) + } +} + +@keyframes cssload-spin { + to { + -webkit-transform: rotate(360deg); + transform: rotate(360deg) + } +} + +/*! + * Cropper.js v1.4.1 + * https://fengyuanchen.github.io/cropperjs + * + * Copyright 2015-present Chen Fengyuan + * Released under the MIT license + * + * Date: 2018-07-15T09:54:43.167Z + */ + +.cropper-container { + direction: ltr; + font-size: 0; + line-height: 0; + position: relative; + -ms-touch-action: none; + touch-action: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + + img { + display: block; + height: 100%; + image-orientation: 0deg; + max-height: none !important; + max-width: none !important; + min-height: 0 !important; + min-width: 0 !important; + width: 100%; + } +} + +.cropper-wrap-box, +.cropper-canvas, +.cropper-drag-box, +.cropper-crop-box, +.cropper-modal { + bottom: 0; + left: 0; + position: absolute; + right: 0; + top: 0; +} + +.cropper-wrap-box, +.cropper-canvas { + overflow: hidden; +} + +.cropper-drag-box { + background-color: #fff; + opacity: 0; +} + +.cropper-modal { + background-color: #000; + opacity: .5; +} + +.cropper-view-box { + display: block; + height: 100%; + outline-color: rgba(51, 153, 255, 0.75); + outline: 1px solid #39f; + overflow: hidden; + width: 100%; +} + +.cropper-dashed { + border: 0 dashed #eee; + display: block; + opacity: .5; + position: absolute; + + &.dashed-h { + border-bottom-width: 1px; + border-top-width: 1px; + height: calc(100% / 3); + left: 0; + top: calc(100% / 3); + width: 100%; + } + + &.dashed-v { + border-left-width: 1px; + border-right-width: 1px; + height: 100%; + left: calc(100% / 3); + top: 0; + width: calc(100% / 3); + } +} + +.cropper-center { + display: block; + height: 0; + left: 50%; + opacity: .75; + position: absolute; + top: 50%; + width: 0; + + &:before, + &:after { + background-color: #eee; + content: ' '; + display: block; + position: absolute; + } + + &:before { + height: 1px; + left: -3px; + top: 0; + width: 7px; + } + + &:after { + height: 7px; + left: 0; + top: -3px; + width: 1px; + } +} + +.cropper-face, +.cropper-line, +.cropper-point { + display: block; + height: 100%; + opacity: .1; + position: absolute; + width: 100%; +} + +.cropper-face { + background-color: var(--background-color); + left: 0; + top: 0; +} + +.cropper-line { + background-color: var(--dark-blue); + + &.line-e { + cursor: ew-resize; + right: -3px; + top: 0; + width: 5px; + } + + &.line-n { + cursor: ns-resize; + height: 5px; + left: 0; + top: -3px; + } + + &.line-w { + cursor: ew-resize; + left: -3px; + top: 0; + width: 5px; + } + + &.cropper-line.line-s { + bottom: -3px; + cursor: ns-resize; + height: 5px; + left: 0; + } +} + +.cropper-point { + background-color: var(--dark-blue); + height: 5px; + opacity: .75; + width: 5px; + + &.point-e { + cursor: ew-resize; + margin-top: -3px; + right: -3px; + top: 50%; + } + + &.point-n { + cursor: ns-resize; + left: 50%; + margin-left: -3px; + top: -3px; + } + + &.point-w { + cursor: ew-resize; + left: -3px; + margin-top: -3px; + top: 50%; + } + + &.point-s { + bottom: -3px; + cursor: s-resize; + left: 50%; + margin-left: -3px; + } + + &.point-ne { + cursor: nesw-resize; + right: -3px; + top: -3px; + } + + &.point-nw { + cursor: nwse-resize; + left: -3px; + top: -3px; + } + + &.point-sw { + bottom: -3px; + cursor: nesw-resize; + left: -3px; + } + + &.point-se { + bottom: -3px; + cursor: nwse-resize; + opacity: 1; + right: -3px; + + &:before { + background-color: var(--dark-blue); + bottom: -50%; + content: ' '; + display: block; + height: 200%; + opacity: 0; + position: absolute; + right: -50%; + width: 200%; + } + } +} + +.cropper-invisible { + opacity: 0; +} + +.cropper-hide { + display: block; + height: 0; + position: absolute; + width: 0; +} + +.cropper-hidden { + display: none !important; +} + +.cropper-move { + cursor: move; +} + +.cropper-crop { + cursor: crosshair; +} + +.cropper-disabled { + + .cropper-drag-box, + .cropper-face, + .cropper-line, + .cropper-point { + cursor: not-allowed; + } +} \ No newline at end of file diff --git a/src/app/components/common/title/title.component.ts b/src/app/components/common/title/title.component.ts index 1d6c660..e103345 100644 --- a/src/app/components/common/title/title.component.ts +++ b/src/app/components/common/title/title.component.ts @@ -8,5 +8,6 @@ import { Component, Input } from '@angular/core'; export class TitleComponent { @Input() public text = ''; @Input() public onDarkBackground = false; + @Input() public adaptColor = false; @Input() public isCentered = false; } diff --git a/src/app/components/common/title/title.html b/src/app/components/common/title/title.html index 72354ba..5bdfcb3 100644 --- a/src/app/components/common/title/title.html +++ b/src/app/components/common/title/title.html @@ -1 +1 @@ -

{{ text }}

+

{{ text }}

diff --git a/src/app/components/common/title/title.scss b/src/app/components/common/title/title.scss index 4334397..9686363 100644 --- a/src/app/components/common/title/title.scss +++ b/src/app/components/common/title/title.scss @@ -17,3 +17,7 @@ h1 { .centered { text-align: center; } + +.themed { + color: var(--text-color-dynamic); +} \ No newline at end of file diff --git a/src/app/components/pages/login/login.component.ts b/src/app/components/pages/login/login.component.ts index b1a0353..cbe9c67 100644 --- a/src/app/components/pages/login/login.component.ts +++ b/src/app/components/pages/login/login.component.ts @@ -1,3 +1,5 @@ +import type { Objected, TokenObject } from 'src/types/objects'; + import { Component, Inject } from '@angular/core'; import { FormBuilder, FormGroup, Validators } from '@angular/forms'; import { TranslateService } from '@ngx-translate/core'; @@ -5,7 +7,6 @@ import { getErrors } from 'src/app/directives'; import { PageService } from 'src/app/services/page.service'; import { UserService } from 'src/app/services/user.service'; import { Apollo } from 'apollo-angular'; -import { LoginObject } from 'src/types/objects'; import gql from 'graphql-tag'; @@ -32,7 +33,7 @@ export class LoginComponent { public login(): void { this.apollo - .mutate({ + .mutate>({ mutation: gql` mutation ($email: String!, $password: String!) { login(email: $email, password: $password) { @@ -49,7 +50,7 @@ export class LoginComponent { }) .subscribe(({ data }) => { if (data) { - this.u.login(data.login.user_id, data.login.token); + this.u.login(data['login'].token, data['login'].user_id); this.p.route = '/'; } else { this.formGroup.controls['email'].setErrors({ login_fail: true }); diff --git a/src/app/components/pages/pages.module.ts b/src/app/components/pages/pages.module.ts index 71e4fac..c349dd3 100644 --- a/src/app/components/pages/pages.module.ts +++ b/src/app/components/pages/pages.module.ts @@ -14,6 +14,7 @@ import { NgHcaptchaModule } from 'ng-hcaptcha'; import { UserPaymentsComponent } from './user/payments/payments.component'; import { UserProfileComponent } from './user/profile/profile.component'; import { UserPicturesComponent } from './user/pictures/pictures.component'; +import { UserProfilePictureEditModalComponent } from './user/profile/picture/picture-edit-modal.component'; @NgModule({ declarations: [ @@ -25,6 +26,7 @@ import { UserPicturesComponent } from './user/pictures/pictures.component'; UserPaymentsComponent, UserProfileComponent, UserPicturesComponent, + UserProfilePictureEditModalComponent, ], exports: [ NotFoundComponent, @@ -35,6 +37,7 @@ import { UserPicturesComponent } from './user/pictures/pictures.component'; UserPaymentsComponent, UserProfileComponent, UserPicturesComponent, + UserProfilePictureEditModalComponent, ], imports: [ FormsModule, diff --git a/src/app/components/pages/register/register.component.ts b/src/app/components/pages/register/register.component.ts index 16ab18a..0568a9b 100644 --- a/src/app/components/pages/register/register.component.ts +++ b/src/app/components/pages/register/register.component.ts @@ -1,4 +1,4 @@ -import type { RegisterObject } from 'src/types/objects'; +import type { Objected, TokenObject } from 'src/types/objects'; import { Component, Inject } from '@angular/core'; import { TranslateService } from '@ngx-translate/core'; @@ -76,7 +76,7 @@ export class RegisterComponent { public register(): void { this.apollo - .mutate({ + .mutate>({ mutation: gql` mutation ( $birthday: DateTime! @@ -108,7 +108,7 @@ export class RegisterComponent { }) .subscribe(({ data, errors }) => { if (data && !errors) { - this.u.login(data.register.user_id, data.register.token); + this.u.login(data['register'].token, data['register'].user_id); this.p.route = '/'; } else if (errors) { this.formGroup.controls['email'].setErrors({ api: errors[0].message }); diff --git a/src/app/components/pages/user/profile/picture/picture-edit-modal.component.ts b/src/app/components/pages/user/profile/picture/picture-edit-modal.component.ts new file mode 100644 index 0000000..b314037 --- /dev/null +++ b/src/app/components/pages/user/profile/picture/picture-edit-modal.component.ts @@ -0,0 +1,132 @@ +import type { DateObject, Objected } from 'src/types/objects'; + +import { OnInit, ViewChild, ElementRef, Component, Inject } from '@angular/core'; +import { FormBuilder, FormGroup, Validators } from '@angular/forms'; +import { Apollo, gql } from 'apollo-angular'; +import { ImageCropperComponent } from 'src/app/components/common/image_cropper/image-cropper.component'; +import { ImageCropperResult } from 'src/types'; +import { HttpClient } from '@angular/common/http'; +import { environment } from 'src/environments/environment'; +import { UserService } from 'src/app/services/user.service'; +import { ActivatedRoute } from '@angular/router'; + +@Component({ + selector: 'app-user-profile-picture-edit-modal', + templateUrl: './picture-edit-modal.html', + styleUrls: ['./picture-edit-modal.scss'], +}) +export class UserProfilePictureEditModalComponent implements OnInit { + @ViewChild('picture', { static: true }) public pictureModal!: ElementRef; + @ViewChild('pictureInput', { static: true }) public inputPicture!: ElementRef; + @ViewChild(ImageCropperComponent, { static: false }) public pictureCropper!: ImageCropperComponent; + + public pictureUncropped?: string; + public pictureCropped?: ImageCropperResult; + + public readonly pictureOptions: Cropper.Options = { + aspectRatio: 1, + rotatable: true, + zoomable: true, + scalable: true, + }; + + public timeLeft?: Date; + + public readonly pictureForm: FormGroup = this.fb.group({ + picture: [null, [Validators.required]], + }); + + public constructor( + @Inject(FormBuilder) private readonly fb: FormBuilder, + @Inject(Apollo) private readonly apollo: Apollo, + @Inject(HttpClient) private readonly http: HttpClient, + @Inject(UserService) private readonly u: UserService, + private activeRoute: ActivatedRoute, + ) {} + + public ngOnInit(): void { + this.pictureModal.nativeElement.addEventListener('click', (e) => { + const dimensions = this.pictureModal.nativeElement.getBoundingClientRect(); + if (!dimensions) return; + + if ( + e.clientX < dimensions.left || + e.clientX > dimensions.right || + e.clientY < dimensions.top || + e.clientY > dimensions.bottom + ) + this.closePictureModal(); + }); + + this.apollo + .query>({ + query: gql` + query ($user_id: Int!) { + lastPictureUpdate(id: $user_id) { + date + } + } + `, + variables: { + user_id: this.activeRoute.snapshot.params['id'], + }, + fetchPolicy: 'cache-first', + errorPolicy: 'all', + }) + .subscribe(({ data }) => { + if (!data) return; + + // The user can't update his picture more than once a week + // TODO: move the value to config + const diff = 604800000 - (new Date().getTime() - new Date(data['lastPictureUpdate'].date).getTime()); + if (diff > 0) this.timeLeft = new Date(diff); + }); + } + + public openPictureModal() { + this.pictureModal.nativeElement.showModal(); + } + + public closePictureModal() { + this.pictureModal.nativeElement.close(); + } + + public updateUncroppedPicture(event: Event) { + const input = event.target as HTMLInputElement; + if (input && input.files && input.files[0]) { + const reader = new FileReader(); + + reader.onload = (event: ProgressEvent) => { + this.pictureUncropped = (event.target).result as string; + }; + + reader.readAsDataURL(input.files[0]); + } + } + + public async updateCroppedPicture(event: ImageCropperResult) { + this.pictureCropped = event; + + const res: Response = await fetch(this.pictureCropped.dataUrl ?? ''); + const blob: Blob = await res.blob(); + const file = new File([blob], 'profile_picture.png', { type: 'image/png' }); + + const formData = new FormData(); + formData.append('file', file, file.name); + + const userId = parseInt(sessionStorage.getItem('user_id') ?? '0', 10); + + this.http + .post(`${environment.API_URL}/users/picture/${userId}`, formData, { + headers: { + Authorization: `${sessionStorage.getItem('token')}`, + 'Accept-Language': localStorage.getItem('lang') ?? 'en-US', + }, + }) + .subscribe(() => { + setTimeout(() => { + this.u.refreshUserPicture(); + }, 1000); + }); + } +} diff --git a/src/app/components/pages/user/profile/picture/picture-edit-modal.html b/src/app/components/pages/user/profile/picture/picture-edit-modal.html new file mode 100644 index 0000000..08d8707 --- /dev/null +++ b/src/app/components/pages/user/profile/picture/picture-edit-modal.html @@ -0,0 +1,26 @@ + + + + +
+ {{ 'profile.picture_too_recent' | translate: { date: timeLeft } }} + + + + + + + +
diff --git a/src/app/components/pages/user/profile/picture/picture-edit-modal.scss b/src/app/components/pages/user/profile/picture/picture-edit-modal.scss new file mode 100644 index 0000000..4723e45 --- /dev/null +++ b/src/app/components/pages/user/profile/picture/picture-edit-modal.scss @@ -0,0 +1,27 @@ +.picture-dialog { + width: 90%; + position: relative; + border: none; + border-radius: 5px; + padding: 10px; + background-color: var(--background-color); + + >form { + display: flex; + flex-direction: column; + gap: 5px; + + >.cropper { + max-height: 600px; + } + } + + >.close { + position: absolute; + width: 16px; + height: 16px; + top: 10px; + right: 10px; + fill: var(--text-color-dynamic); + } +} \ No newline at end of file diff --git a/src/app/components/pages/user/profile/profile.component.ts b/src/app/components/pages/user/profile/profile.component.ts index acd7456..05e38c6 100644 --- a/src/app/components/pages/user/profile/profile.component.ts +++ b/src/app/components/pages/user/profile/profile.component.ts @@ -1,9 +1,14 @@ -import { Component, Inject } from '@angular/core'; +import { Component, Inject, ViewChild } from '@angular/core'; import { TranslateService } from '@ngx-translate/core'; import { Apollo, gql } from 'apollo-angular'; import { PageService } from 'src/app/services/page.service'; import { UserService } from 'src/app/services/user.service'; -import { UserObject } from 'src/types/objects'; +import { Objected, UserObject } from 'src/types/objects'; +import { UserProfilePictureEditModalComponent } from './picture/picture-edit-modal.component'; +import { environment } from 'src/environments/environment.dev'; +import { HttpClient } from '@angular/common/http'; +import { toBase64 } from 'src/utils/buffer'; +import { ActivatedRoute } from '@angular/router'; @Component({ selector: 'app-user-profile', @@ -12,17 +17,24 @@ import { UserObject } from 'src/types/objects'; }) export class UserProfileComponent { public current: 'about' | 'contact' = 'about'; - public user?: UserObject['user'] = undefined; - public age?: number = undefined; - public birthdayFormatted?: string = undefined; + public user?: UserObject; + public profilePicture?: string; + public age?: number; + public birthdayFormatted?: string; + + @ViewChild('pictureModal', { static: false }) public pictureModal!: UserProfilePictureEditModalComponent; public constructor( @Inject(UserService) public readonly u: UserService, @Inject(PageService) public readonly p: PageService, @Inject(Apollo) private readonly apollo: Apollo, @Inject(TranslateService) public readonly t: TranslateService, + @Inject(HttpClient) private readonly http: HttpClient, + private activeRoute: ActivatedRoute, ) { - this.getUserData(parseInt(localStorage.getItem('userId') ?? '0', 10)); + this.activeRoute.params.subscribe((params) => { + this.getUserData(parseInt(params['id'], 10)); + }); } public get nickname(): string { @@ -30,9 +42,21 @@ export class UserProfileComponent { return `${this.user?.nickname} — `; } - public getUserData(userId: number): void { + public getUserData(user_id: number): void { + this.http + .get(`${environment.API_URL}/users/picture/${user_id}`, { + headers: { + Authorization: `${sessionStorage.getItem('token')}`, + 'Accept-Language': localStorage.getItem('lang') ?? 'en-US', + }, + responseType: 'arraybuffer', + }) + .subscribe((data) => { + this.profilePicture = 'data:image/png;base64,' + toBase64(data); + }); + this.apollo - .query({ + .query>({ query: gql` query ($user_id: Int!) { user(id: $user_id) { @@ -55,19 +79,17 @@ export class UserProfileComponent { } `, variables: { - user_id: userId, + user_id, }, fetchPolicy: 'cache-first', errorPolicy: 'all', }) - .subscribe(({ data, errors }) => { + .subscribe(({ data }) => { if (data) { - this.user = data.user; + this.user = data['user']; const TimeDiff = Math.abs(Date.now() - new Date(this.user?.birthday ?? 0).getTime()); this.age = Math.floor(TimeDiff / (1000 * 3600 * 24) / 365.25); - } else this.u.logout(); - - if (errors) this.u.logout(); + } }); } } diff --git a/src/app/components/pages/user/profile/profile.html b/src/app/components/pages/user/profile/profile.html index 150397c..dfe5165 100644 --- a/src/app/components/pages/user/profile/profile.html +++ b/src/app/components/pages/user/profile/profile.html @@ -1,12 +1,14 @@ + +
-
- - +
+ +
-
+
{{ user?.first_name }} {{ user?.last_name }} {{ nickname }}{{ 'profile.age' | translate: { age } }}
diff --git a/src/app/components/pages/user/profile/profile.scss b/src/app/components/pages/user/profile/profile.scss index 35d26a7..235b98d 100644 --- a/src/app/components/pages/user/profile/profile.scss +++ b/src/app/components/pages/user/profile/profile.scss @@ -27,6 +27,11 @@ border: 5px solid var(--background-color); border-radius: 50%; + &.rtl { + left: unset; + right: 10px; + } + > .promotion { position: absolute; bottom: -5px; @@ -37,6 +42,11 @@ border: 2.5px solid var(--background-color); border-radius: 50%; + + &.rtl { + right: unset; + left: -5px; + } } } @@ -58,6 +68,11 @@ flex-direction: column; color: var(--text-color-dynamic); + &.rtl { + margin-left: unset; + margin-right: 105px; + } + > .name { text-transform: capitalize; font-weight: bold; diff --git a/src/app/graphql.module.ts b/src/app/graphql.module.ts index 4b75cce..fc77ec0 100644 --- a/src/app/graphql.module.ts +++ b/src/app/graphql.module.ts @@ -1,5 +1,5 @@ import { NgModule } from '@angular/core'; -import { ApolloModule, APOLLO_OPTIONS } from 'apollo-angular'; +import { ApolloModule, APOLLO_OPTIONS, APOLLO_FLAGS } from 'apollo-angular'; import { HttpLink } from 'apollo-angular/http'; import { ApolloLink, InMemoryCache } from '@apollo/client/core'; import { setContext } from '@apollo/client/link/context'; @@ -7,39 +7,56 @@ import { setContext } from '@apollo/client/link/context'; import { environment } from 'src/environments/environment'; import { HttpClientModule } from '@angular/common/http'; +/** + * Add Middleware to Apollo Client before sending request + * @param httpLink Apollo HTTP Link + */ export function createApollo(httpLink: HttpLink) { - const auth = setContext(async () => { - const token = localStorage.getItem('token'); + const lang = setContext((op, ctx) => { const locale = localStorage.getItem('locale') ?? 'en-US'; - if (token === null) { - return { - headers: { - 'Accept-Language': locale, - }, - }; - } else { - return { - headers: { - Authorization: token, - 'Accept-Language': locale, - }, - }; - } + return { + headers: { + 'Accept-Language': locale, + }, + }; + }); + + const auth = setContext((op, ctx) => { + const token = sessionStorage.getItem('user_token'); + + if (token === null) return {}; + return { + headers: { + Authorization: token, + }, + }; }); - const link = ApolloLink.from([auth, httpLink.create({ uri: environment.API_URL })]); const cache = new InMemoryCache(); + const link = ApolloLink.from([ + lang, + auth, + httpLink.create({ + uri: environment.GRAPHQL_URL, + }), + ]); return { - link, cache, + link, }; } @NgModule({ exports: [HttpClientModule, ApolloModule], providers: [ + { + provide: APOLLO_FLAGS, + useValue: { + useMutationLoading: true, + }, + }, { provide: APOLLO_OPTIONS, useFactory: createApollo, diff --git a/src/app/services/page.service.ts b/src/app/services/page.service.ts index 56bb5d1..a8382fb 100644 --- a/src/app/services/page.service.ts +++ b/src/app/services/page.service.ts @@ -1,5 +1,5 @@ import { Inject, Injectable } from '@angular/core'; -import { NavigationEnd, Router } from '@angular/router'; +import { NavigationEnd, Router, UrlTree } from '@angular/router'; import { TranslateService } from '@ngx-translate/core'; import { DeviceDetectorService } from 'ngx-device-detector'; import { FontSize, Theme, ThemeEvent } from 'src/types'; @@ -34,10 +34,10 @@ export class PageService { /** * Set the current route - * @param {string} route The route to set + * @param {string | UrlTree} route The route to set * @example p.route = '/login'; // set the route to '/login' (login page) */ - public set route(route: string) { + public set route(route: string | UrlTree) { this.router.navigateByUrl(route); } diff --git a/src/app/services/user.service.ts b/src/app/services/user.service.ts index 3c47bec..e548612 100644 --- a/src/app/services/user.service.ts +++ b/src/app/services/user.service.ts @@ -1,7 +1,11 @@ -import { Inject, Injectable } from '@angular/core'; +import type { Objected, UserObject } from 'src/types/objects'; + +import { Inject, Injectable, OnInit } from '@angular/core'; import { Apollo, gql } from 'apollo-angular'; -import { UserObject } from 'src/types/objects'; import { PageService } from './page.service'; +import { environment } from 'src/environments/environment.dev'; +import { toBase64 } from 'src/utils/buffer'; +import { HttpClient } from '@angular/common/http'; @Injectable({ providedIn: 'root', @@ -10,15 +14,90 @@ export class UserService { public constructor( @Inject(PageService) private readonly p: PageService, @Inject(Apollo) private readonly apollo: Apollo, + @Inject(HttpClient) private readonly http: HttpClient, ) {} - private fetching = false; - private user?: UserObject['user'] = undefined; + public login(token: string, userId: number): void { + sessionStorage.setItem('user_token', token); + sessionStorage.setItem('user_id', userId.toString()); + + this.fetchUser(userId); + this.fetchUserPicture(userId); + + this.p.route = `profile/${userId}`; + } + + public fetchUser(id: number) { + this.apollo + .query>({ + query: gql` + query ($user_id: Int!) { + user(id: $user_id) { + first_name + last_name + nickname + promotion + id + subscriber_account + } + } + `, + variables: { + user_id: id, + }, + fetchPolicy: 'cache-first', + errorPolicy: 'all', + }) + .subscribe(({ data, errors }) => { + if (data) sessionStorage.setItem('user', JSON.stringify(data['user'])); + else this.logout(); + + // Logout if the jwt token is invalid + if (errors) this.logout(); + }); + } + + public fetchUserPicture(id: number) { + this.http + .get(`${environment.API_URL}/users/picture/${id}`, { + headers: { + Authorization: `${sessionStorage.getItem('token')}`, + 'Accept-Language': sessionStorage.getItem('lang') ?? 'en-US', + }, + responseType: 'arraybuffer', + }) + .subscribe((data) => { + if (data) sessionStorage.setItem('user_picture', 'data:image/png;base64,' + toBase64(data)); + }); + } + + public refreshUser(): void { + if (this.isLoggedIn) this.fetchUser(this.id ?? -1); + } + + public refreshUserPicture(): void { + if (this.isLoggedIn) this.fetchUserPicture(this.id ?? -1); + } + + public logout(): void { + sessionStorage.removeItem('user'); + sessionStorage.removeItem('user_id'); + sessionStorage.removeItem('user_token'); + sessionStorage.removeItem('user_picture'); + + // this.p.route = '/'; + } + + public get user(): Partial { + return JSON.parse(sessionStorage.getItem('user') ?? '{}'); + } + + public get picture(): string | undefined { + return sessionStorage.getItem('user_picture') ?? undefined; + } public get isLoggedIn(): boolean { - if (localStorage.getItem('token') === null) return false; - if (this.user === undefined) this.fetchUser(parseInt(localStorage.getItem('userId') ?? '0', 10)); - return true; + return sessionStorage.getItem('user_token') !== null && sessionStorage.getItem('user') !== null; } public get id(): number | undefined { @@ -42,11 +121,6 @@ export class UserService { // return this.isLoggedIn && this.user ? this.user.balance : undefined; } - public get picture(): string | undefined { - return undefined; - // return this.isLoggedIn && this.user ? this.user.profile_picture : undefined; - } - public get banner(): string | undefined { return undefined; // return this.isLoggedIn && this.user ? this.user.profile_banner : undefined; @@ -61,54 +135,4 @@ export class UserService { return undefined; // return this.isLoggedIn && this.user ? this.user.notifications.length : undefined; } - - public logout(): void { - this.user = undefined; - localStorage.removeItem('token'); - localStorage.removeItem('userId'); - - this.p.route = '/'; - } - - public login(id: number, jwt: string): void { - localStorage.setItem('token', jwt); - localStorage.setItem('userId', id.toString()); - - this.fetchUser(id); - } - - private fetchUser(id: number): void { - if (this.fetching === true) return; - this.fetching = true; - - this.apollo - .query({ - query: gql` - query ($user_id: Int!) { - user(id: $user_id) { - first_name - last_name - nickname - promotion - id - subscriber_account - } - } - `, - variables: { - user_id: id, - }, - fetchPolicy: 'cache-first', - errorPolicy: 'all', - }) - .subscribe(({ data, errors }) => { - if (data) this.user = data.user; - else this.logout(); - - // Logout if the jwt token is invalid - if (errors) this.logout(); - }); - - this.fetching = false; - } } diff --git a/src/assets/i18n/en-US.json b/src/assets/i18n/en-US.json index 516fbaf..42dab94 100644 --- a/src/assets/i18n/en-US.json +++ b/src/assets/i18n/en-US.json @@ -45,6 +45,7 @@ "global": { "back": "Back", "sign_in": "Sign in", + "save": "Save", "register": "Register", "last_name": "Last name", "first_name": "First name", @@ -109,6 +110,7 @@ "last_seen": "Last seen", "pronouns": "Pronouns", "promotion": "Promotion", - "subscription" : "Subscription date" + "subscription" : "Subscription date", + "picture_too_recent": "You can't change your profile picture before {{date}}" } } diff --git a/src/environments/environment.dev.ts b/src/environments/environment.dev.ts index c5cd444..42f51ba 100644 --- a/src/environments/environment.dev.ts +++ b/src/environments/environment.dev.ts @@ -3,7 +3,8 @@ export const environment = { REGISTER_AGE_MIN: 13, REGISTER_AGE_MAX: 100, HCAPTCHA_SITE_KEY: '10000000-ffff-ffff-ffff-000000000001', - API_URL: 'http://localhost:3000/graphql', + API_URL: 'http://localhost:3000/api', + GRAPHQL_URL: 'http://localhost:3000/graphql', }; export type Environment = typeof environment; diff --git a/src/types/index.d.ts b/src/types/index.d.ts index cdfbc1d..a01aa2f 100644 --- a/src/types/index.d.ts +++ b/src/types/index.d.ts @@ -50,3 +50,15 @@ export interface Alert { /** The alert type */ id: string; } + +export interface ImageCropperSetting { + width: number; + height: number; +} + +export interface ImageCropperResult { + imageData: Cropper.ImageData; + cropData: Cropper.CropBoxData; + blob?: Blob; + dataUrl?: string; +} diff --git a/src/types/objects.d.ts b/src/types/objects.d.ts index 5e7ac57..35bc62b 100644 --- a/src/types/objects.d.ts +++ b/src/types/objects.d.ts @@ -1,44 +1,46 @@ -export interface LoginObject { - login: { - token: string; - user_id: number; - }; -} +export type Objected = { + [key: string]: T; +}; -export interface RegisterObject { - register: { - token: string; - user_id: number; - }; +export interface TokenObject { + token: string; + user_id: number; } export interface UserObject { - user: { - id: number; - first_name: string; - last_name: string; - email: string; - birthday: Date; - nickname?: string; - gender?: string; - cursus?: string; - promotion?: number; - specialty?: string; - pronouns?: string; - subscriber_account?: string; - created: Date; - updated: Date; - last_seen: Date; - subscription: Date; - }; + id: number; + first_name: string; + last_name: string; + email: string; + birthday: Date; + nickname?: string; + gender?: string; + cursus?: string; + promotion?: number; + specialty?: string; + pronouns?: string; + subscriber_account?: string; + created: Date; + updated: Date; + last_seen: Date; + subscription: Date; +} + +export interface DateObject { + year: number; + month: number; + day: number; + hour: number; + minute: number; + second: number; + millisecond: number; + date: Date; } export interface PromotionObject { - promotion: { - id: number; - number: number; - picture?: string; - created: Date; - updated: Date; - }; + id: number; + number: number; + picture?: string; + created: Date; + updated: Date; } diff --git a/src/utils/buffer.ts b/src/utils/buffer.ts new file mode 100644 index 0000000..9635e13 --- /dev/null +++ b/src/utils/buffer.ts @@ -0,0 +1,15 @@ +/** + * Convert an ArrayBuffer to a base64 string + * @param {ArrayBuffer} buffer The buffer to convert + * @returns {string} The base64 string + */ +export function toBase64(buffer: ArrayBuffer): string { + let binary = ''; + const bytes = new Uint8Array(buffer); + const len = bytes.byteLength; + + for (let i = 0; i < len; i++) { + binary += String.fromCharCode(bytes[i]); + } + return window.btoa(binary); +} From 765acc89929daeceb1bb052b26f8aa37c0c061e5 Mon Sep 17 00:00:00 2001 From: Julien Constant Date: Tue, 16 May 2023 20:54:22 +0200 Subject: [PATCH 061/146] Added aspect property on buttons --- .../common/button/button.component.html | 2 +- .../common/button/button.component.scss | 89 +++++++++++-------- .../common/button/button.component.ts | 1 + 3 files changed, 54 insertions(+), 38 deletions(-) diff --git a/src/app/components/common/button/button.component.html b/src/app/components/common/button/button.component.html index c901cb5..2a3f0e2 100644 --- a/src/app/components/common/button/button.component.html +++ b/src/app/components/common/button/button.component.html @@ -1 +1 @@ - \ No newline at end of file + diff --git a/src/app/components/common/button/button.component.scss b/src/app/components/common/button/button.component.scss index d8d10b3..43d3098 100644 --- a/src/app/components/common/button/button.component.scss +++ b/src/app/components/common/button/button.component.scss @@ -1,37 +1,52 @@ -button { - background-color: var(--gray4); - color: var(--text-color-dark-bg); - display: flex; - align-items: center; - justify-content: center; - padding: 5px 20px; - width: 100%; - border-radius: 5px; - border: none; - font-family: Inter, sans-serif; - text-transform: uppercase; - cursor: pointer; - - &.large { - height: 40px; - } - - &.medium { - height: 30px; - } - - &.small { - height: 20px; - } - - &:hover { - background-color: var(--gray2); - color: var(--text-color-dynamic); - } - - &:disabled { - background-color: var(--gray2-hover); - color: var(--text-color-dark-bg); - cursor: not-allowed; - } -} \ No newline at end of file +button { + background-color: var(--gray4); + color: var(--text-color-dark-bg); + display: flex; + align-items: center; + justify-content: center; + padding: 5px 20px; + width: 100%; + border-radius: 5px; + border: none; + font-family: Inter, sans-serif; + text-transform: uppercase; + cursor: pointer; + + &.large { + height: 40px; + } + + &.medium { + height: 30px; + } + + &.small { + height: 20px; + } + + &:hover { + background-color: var(--gray2); + color: var(--text-color-dynamic); + } + + &:disabled { + background-color: var(--gray2-hover); + color: var(--text-color-dark-bg); + cursor: not-allowed; + } + + &.danger { + background-color: var(--red); + color: var(--text-color-dark-bg); + + &:hover { + background-color: var(--red-hover); + color: var(--text-color-dark-bg); + } + + &:disabled { + background-color: var(--gray2-hover); + color: var(--text-color-dark-bg); + } + } +} diff --git a/src/app/components/common/button/button.component.ts b/src/app/components/common/button/button.component.ts index 112008a..5ebf7fa 100644 --- a/src/app/components/common/button/button.component.ts +++ b/src/app/components/common/button/button.component.ts @@ -9,4 +9,5 @@ export class ButtonComponent { @Input() public text = ''; @Input() public height: 'medium' | 'large' | 'small' = 'medium'; @Input() public disabled = false; + @Input() public aspect: 'normal' | 'danger' = 'normal'; } From dbea6a75e04b95021f8a29fb93d00ab1226f85de Mon Sep 17 00:00:00 2001 From: Julien Constant Date: Tue, 16 May 2023 20:55:00 +0200 Subject: [PATCH 062/146] Added flag, upload and pencil icons --- src/app/components/common/icons/flag/flag.component.ts | 8 ++++++++ src/app/components/common/icons/flag/flag.svg | 1 + src/app/components/common/icons/icons.module.ts | 9 +++++++++ .../components/common/icons/pencil/pencil.component.ts | 8 ++++++++ src/app/components/common/icons/pencil/pencil.svg | 1 + .../components/common/icons/upload/upload.component.ts | 8 ++++++++ src/app/components/common/icons/upload/upload.svg | 1 + 7 files changed, 36 insertions(+) create mode 100644 src/app/components/common/icons/flag/flag.component.ts create mode 100644 src/app/components/common/icons/flag/flag.svg create mode 100644 src/app/components/common/icons/pencil/pencil.component.ts create mode 100644 src/app/components/common/icons/pencil/pencil.svg create mode 100644 src/app/components/common/icons/upload/upload.component.ts create mode 100644 src/app/components/common/icons/upload/upload.svg diff --git a/src/app/components/common/icons/flag/flag.component.ts b/src/app/components/common/icons/flag/flag.component.ts new file mode 100644 index 0000000..2765ca0 --- /dev/null +++ b/src/app/components/common/icons/flag/flag.component.ts @@ -0,0 +1,8 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'icon-flag', + templateUrl: './flag.svg', + styleUrls: ['../icons.scss'], +}) +export class IconFlagComponent {} diff --git a/src/app/components/common/icons/flag/flag.svg b/src/app/components/common/icons/flag/flag.svg new file mode 100644 index 0000000..e65a3aa --- /dev/null +++ b/src/app/components/common/icons/flag/flag.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/app/components/common/icons/icons.module.ts b/src/app/components/common/icons/icons.module.ts index b1d9775..f51c6b5 100644 --- a/src/app/components/common/icons/icons.module.ts +++ b/src/app/components/common/icons/icons.module.ts @@ -20,6 +20,9 @@ import { IconPasswordComponent } from './password/password.component'; import { IconCalendarComponent } from './calendar/calendar.component'; import { IconCloseComponent } from './close/close.component'; import { IconPromotionComponent } from './promo_icon/promo_icon.component'; +import { IconPencilComponent } from './pencil/pencil.component'; +import { IconFlagComponent } from './flag/flag.component'; +import { IconUploadComponent } from './upload/upload.component'; @NgModule({ declarations: [ @@ -43,6 +46,9 @@ import { IconPromotionComponent } from './promo_icon/promo_icon.component'; IconPasswordComponent, IconCalendarComponent, IconCloseComponent, + IconPencilComponent, + IconFlagComponent, + IconUploadComponent, ], exports: [ IconBurgerMenuComponent, @@ -65,6 +71,9 @@ import { IconPromotionComponent } from './promo_icon/promo_icon.component'; IconPasswordComponent, IconCalendarComponent, IconCloseComponent, + IconPencilComponent, + IconFlagComponent, + IconUploadComponent, ], imports: [CommonModule], }) diff --git a/src/app/components/common/icons/pencil/pencil.component.ts b/src/app/components/common/icons/pencil/pencil.component.ts new file mode 100644 index 0000000..35f1fc6 --- /dev/null +++ b/src/app/components/common/icons/pencil/pencil.component.ts @@ -0,0 +1,8 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'icon-pencil', + templateUrl: './pencil.svg', + styleUrls: ['../icons.scss'], +}) +export class IconPencilComponent {} diff --git a/src/app/components/common/icons/pencil/pencil.svg b/src/app/components/common/icons/pencil/pencil.svg new file mode 100644 index 0000000..7e190c3 --- /dev/null +++ b/src/app/components/common/icons/pencil/pencil.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/app/components/common/icons/upload/upload.component.ts b/src/app/components/common/icons/upload/upload.component.ts new file mode 100644 index 0000000..7efc7ea --- /dev/null +++ b/src/app/components/common/icons/upload/upload.component.ts @@ -0,0 +1,8 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'icon-upload', + templateUrl: './upload.svg', + styleUrls: ['../icons.scss'], +}) +export class IconUploadComponent {} diff --git a/src/app/components/common/icons/upload/upload.svg b/src/app/components/common/icons/upload/upload.svg new file mode 100644 index 0000000..bc18eb2 --- /dev/null +++ b/src/app/components/common/icons/upload/upload.svg @@ -0,0 +1 @@ + \ No newline at end of file From 3e7dfde24082883e37fa2f810f66aa348d84e8e7 Mon Sep 17 00:00:00 2001 From: Julien Constant Date: Tue, 16 May 2023 20:55:21 +0200 Subject: [PATCH 063/146] Added file input component --- src/app/components/common/common.module.ts | 3 ++ .../common/file_input/file-input.component.ts | 28 +++++++++++ .../common/file_input/file-input.html | 12 +++++ .../common/file_input/file-input.scss | 50 +++++++++++++++++++ 4 files changed, 93 insertions(+) create mode 100644 src/app/components/common/file_input/file-input.component.ts create mode 100644 src/app/components/common/file_input/file-input.html create mode 100644 src/app/components/common/file_input/file-input.scss diff --git a/src/app/components/common/common.module.ts b/src/app/components/common/common.module.ts index 3efeaea..504ad1a 100644 --- a/src/app/components/common/common.module.ts +++ b/src/app/components/common/common.module.ts @@ -14,6 +14,7 @@ import { SubtitleComponent } from './subtitle/subtitle.component'; import { ThemeSelectorComponent } from './theme_selector/theme_selector.component'; import { FontSizeSelectorComponent } from './text_size_selector/text_size_selector.component'; import { ImageCropperComponent } from './image_cropper/image-cropper.component'; +import { FileInputComponent } from './file_input/file-input.component'; @NgModule({ declarations: [ @@ -29,6 +30,7 @@ import { ImageCropperComponent } from './image_cropper/image-cropper.component'; ThemeSelectorComponent, FontSizeSelectorComponent, ImageCropperComponent, + FileInputComponent, ], exports: [ IconsModule, @@ -44,6 +46,7 @@ import { ImageCropperComponent } from './image_cropper/image-cropper.component'; ThemeSelectorComponent, FontSizeSelectorComponent, ImageCropperComponent, + FileInputComponent, ], imports: [IconsModule, CommonModule, TranslateModule], }) diff --git a/src/app/components/common/file_input/file-input.component.ts b/src/app/components/common/file_input/file-input.component.ts new file mode 100644 index 0000000..dfb9eb2 --- /dev/null +++ b/src/app/components/common/file_input/file-input.component.ts @@ -0,0 +1,28 @@ +import type { base64 } from 'src/types'; +import { Component, EventEmitter, Output } from '@angular/core'; + +@Component({ + selector: 'app-file-input', + templateUrl: './file-input.html', + styleUrls: ['./file-input.scss'], +}) +export class FileInputComponent { + public filename = ''; + + @Output() public change: EventEmitter = new EventEmitter(); + + public onFileChange(event: Event): void { + const input = event.target as HTMLInputElement; + + if (input && input.files && input.files[0]) { + const reader = new FileReader(); + + reader.onload = (event: ProgressEvent) => { + this.change.emit((event.target).result as base64); + }; + + reader.readAsDataURL(input.files[0]); + this.filename = input.files[0].name; + } + } +} diff --git a/src/app/components/common/file_input/file-input.html b/src/app/components/common/file_input/file-input.html new file mode 100644 index 0000000..ba48899 --- /dev/null +++ b/src/app/components/common/file_input/file-input.html @@ -0,0 +1,12 @@ +
+
+ + {{ filename }} +
+ + +
diff --git a/src/app/components/common/file_input/file-input.scss b/src/app/components/common/file_input/file-input.scss new file mode 100644 index 0000000..6ca6a15 --- /dev/null +++ b/src/app/components/common/file_input/file-input.scss @@ -0,0 +1,50 @@ +.container { + position: relative; + height: 32px; + + > .fake-input-file { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + + z-index: 0; + + display: flex; + gap: 5px; + align-items: center; + justify-content: center; + + > .label { + width: 100%; + height: 32px; + background-color: var(--gray1-hover); + border-radius: 5px; + + padding-left: 10px; + display: flex; + align-items: center; + + font-family: 'Roboto', sans-serif; + font-size: 14px; + } + + > .icon { + width: 32px; + height: 32px; + padding: 4px; + } + } + + > input { + position: absolute; + opacity: 0; + top: 0; + left: 0; + width: 100%; + height: 100%; + + z-index: 1; + } +} From 3c5ca0cc824ad75915a9a073e189c119d78106b2 Mon Sep 17 00:00:00 2001 From: Julien Constant Date: Tue, 16 May 2023 20:56:02 +0200 Subject: [PATCH 064/146] Added base64 type and made toBase64 a prototype of ArrayBuffer --- src/types/index.d.ts | 4 +++- src/utils/buffer.ts | 40 +++++++++++++++++++++++++++------------- src/utils/index.ts | 3 ++- 3 files changed, 32 insertions(+), 15 deletions(-) diff --git a/src/types/index.d.ts b/src/types/index.d.ts index a01aa2f..bd5b7dd 100644 --- a/src/types/index.d.ts +++ b/src/types/index.d.ts @@ -56,9 +56,11 @@ export interface ImageCropperSetting { height: number; } +export type base64 = `data:${string}/${string};base64,${string}`; + export interface ImageCropperResult { imageData: Cropper.ImageData; cropData: Cropper.CropBoxData; blob?: Blob; - dataUrl?: string; + dataUrl?: base64; } diff --git a/src/utils/buffer.ts b/src/utils/buffer.ts index 9635e13..b379f7a 100644 --- a/src/utils/buffer.ts +++ b/src/utils/buffer.ts @@ -1,15 +1,29 @@ -/** - * Convert an ArrayBuffer to a base64 string - * @param {ArrayBuffer} buffer The buffer to convert - * @returns {string} The base64 string - */ -export function toBase64(buffer: ArrayBuffer): string { - let binary = ''; - const bytes = new Uint8Array(buffer); - const len = bytes.byteLength; - - for (let i = 0; i < len; i++) { - binary += String.fromCharCode(bytes[i]); +import { base64 } from 'src/types'; + +export {}; + +declare global { + interface ArrayBuffer { + /** + * Convert an ArrayBuffer to a base64 string + * @param {string} type The type of the file @default 'image' + * @param {string} extension The extension of the file @default 'png' + * @returns {string} The base64 string + */ + toBase64(type?: string, extension?: string): base64; } - return window.btoa(binary); +} + +if (!ArrayBuffer.prototype.toBase64) { + ArrayBuffer.prototype.toBase64 = function toBase64(type = 'image', extension = 'png'): base64 { + let binary = ''; + const bytes = new Uint8Array(this); + const len = bytes.byteLength; + + for (let i = 0; i < len; i++) { + binary += String.fromCharCode(bytes[i]); + } + + return `data:${type}/${extension};base64,${window.btoa(binary)}`; + }; } diff --git a/src/utils/index.ts b/src/utils/index.ts index f416dcf..579519a 100644 --- a/src/utils/index.ts +++ b/src/utils/index.ts @@ -1,3 +1,4 @@ -export * from './i18n'; +export * from './buffer'; export * from './object'; +export * from './i18n'; export * from './theme'; From 854918b89e4e81b1277055b25ae205b58ccb0993 Mon Sep 17 00:00:00 2001 From: Julien Constant Date: Tue, 16 May 2023 20:57:02 +0200 Subject: [PATCH 065/146] Added user banner support (upload/delete) --- .../side_menu/side_profile/side_profile.html | 2 +- .../side_menu/side_profile/side_profile.scss | 30 ++-- src/app/components/pages/pages.module.ts | 3 + .../banner/banner-edit-modal.component.ts | 122 ++++++++++++++++ .../profile/banner/banner-edit-modal.html | 20 +++ .../profile/banner/banner-edit-modal.scss | 33 +++++ .../picture/picture-edit-modal.component.ts | 92 ++++++------ .../profile/picture/picture-edit-modal.html | 20 +-- .../profile/picture/picture-edit-modal.scss | 10 +- .../pages/user/profile/profile.component.ts | 71 +++++++++- .../pages/user/profile/profile.html | 35 +++-- .../pages/user/profile/profile.scss | 133 +++++++++++++++--- src/app/services/page.service.ts | 2 +- src/app/services/user.service.ts | 44 ++++-- src/assets/i18n/en-US.json | 7 +- src/environments/environment.dev.ts | 1 + 16 files changed, 508 insertions(+), 117 deletions(-) create mode 100644 src/app/components/pages/user/profile/banner/banner-edit-modal.component.ts create mode 100644 src/app/components/pages/user/profile/banner/banner-edit-modal.html create mode 100644 src/app/components/pages/user/profile/banner/banner-edit-modal.scss diff --git a/src/app/components/common/side_menu/side_profile/side_profile.html b/src/app/components/common/side_menu/side_profile/side_profile.html index 35df97c..af260e6 100644 --- a/src/app/components/common/side_menu/side_profile/side_profile.html +++ b/src/app/components/common/side_menu/side_profile/side_profile.html @@ -1,5 +1,5 @@
-
+
diff --git a/src/app/components/common/side_menu/side_profile/side_profile.scss b/src/app/components/common/side_menu/side_profile/side_profile.scss index 86589a2..89e5065 100644 --- a/src/app/components/common/side_menu/side_profile/side_profile.scss +++ b/src/app/components/common/side_menu/side_profile/side_profile.scss @@ -1,10 +1,13 @@ +$banner-height: 130px; +$no-banner-height: 45px; + .profile-container { position: relative; height: 100%; >.background-image { width: 100%; - height: 136px; + height: $no-banner-height; background-color: var(--navbar-background-color); background-size: cover; background-repeat: no-repeat; @@ -15,8 +18,12 @@ padding: 5px; gap: 5px; + &.has-banner { + height: $banner-height; + } + >.promotion { - width: 34px; + width: 35px; border-radius: 50%; } @@ -28,19 +35,18 @@ >.promotion, >.ae-sticker { display: block; - height: 34px; - border: dotted 2px var(--text-color-dark-bg); + height: 35px; + border: dotted 1.5px var(--text-color-dark-bg); } } >.infos { - margin-left: 110px; + margin-left: 105px; color: var(--text-color-dark-bg); display: flex; justify-content: space-between; align-items: flex-start; padding: 5px; - padding-left: 0; min-height: 50px; font-family: Roboto, sans-serif; font-weight: 500; @@ -66,7 +72,7 @@ width: 100px; height: 100px; left: 5px; - top: calc(136px - 50px); + top: 5px; &.rtl { left: unset; @@ -74,9 +80,13 @@ } } + >.background-image.has-banner ~ .user-picture { + top: calc($banner-height - 50px); + } + > main { padding: 16px 16px 40px; - height: calc(100vh - 136px - 50px); + height: calc(100vh - $no-banner-height - 50px); display: flex; flex-direction: column; justify-content: space-between; @@ -123,6 +133,10 @@ } } + > .background-image.has-banner ~ main { + height: calc(100vh - $banner-height - 50px); + } + .logout { cursor: pointer; color: var(--red); diff --git a/src/app/components/pages/pages.module.ts b/src/app/components/pages/pages.module.ts index c349dd3..9063641 100644 --- a/src/app/components/pages/pages.module.ts +++ b/src/app/components/pages/pages.module.ts @@ -15,6 +15,7 @@ import { UserPaymentsComponent } from './user/payments/payments.component'; import { UserProfileComponent } from './user/profile/profile.component'; import { UserPicturesComponent } from './user/pictures/pictures.component'; import { UserProfilePictureEditModalComponent } from './user/profile/picture/picture-edit-modal.component'; +import { UserProfileBannerEditModalComponent } from './user/profile/banner/banner-edit-modal.component'; @NgModule({ declarations: [ @@ -27,6 +28,7 @@ import { UserProfilePictureEditModalComponent } from './user/profile/picture/pic UserProfileComponent, UserPicturesComponent, UserProfilePictureEditModalComponent, + UserProfileBannerEditModalComponent, ], exports: [ NotFoundComponent, @@ -38,6 +40,7 @@ import { UserProfilePictureEditModalComponent } from './user/profile/picture/pic UserProfileComponent, UserPicturesComponent, UserProfilePictureEditModalComponent, + UserProfileBannerEditModalComponent, ], imports: [ FormsModule, diff --git a/src/app/components/pages/user/profile/banner/banner-edit-modal.component.ts b/src/app/components/pages/user/profile/banner/banner-edit-modal.component.ts new file mode 100644 index 0000000..45c4cfe --- /dev/null +++ b/src/app/components/pages/user/profile/banner/banner-edit-modal.component.ts @@ -0,0 +1,122 @@ +import type { ImageCropperResult, base64 } from 'src/types'; + +import { OnInit, ViewChild, ElementRef, Component, Inject, Output, EventEmitter, Input } from '@angular/core'; +import { ImageCropperComponent } from 'src/app/components/common/image_cropper/image-cropper.component'; +import { HttpClient } from '@angular/common/http'; +import { environment } from 'src/environments/environment'; +import { UserService } from 'src/app/services/user.service'; +import { ActivatedRoute } from '@angular/router'; + +@Component({ + selector: 'app-user-profile-banner-edit-modal', + templateUrl: './banner-edit-modal.html', + styleUrls: ['./banner-edit-modal.scss'], +}) +export class UserProfileBannerEditModalComponent implements OnInit { + @ViewChild('banner', { static: true }) public modal!: ElementRef; + @ViewChild(ImageCropperComponent, { static: false }) public cropper!: ImageCropperComponent; + + @Input() public existingBanner = false; + + public bannerUncropped?: base64; + public bannerCropped?: ImageCropperResult; + + private userId = 0; + + @Output() public bannerUpdated = new EventEmitter(); + + public readonly options: Cropper.Options = { + aspectRatio: 3, + rotatable: true, + zoomable: true, + scalable: true, + }; + + public timeLeft?: Date; + + public constructor( + @Inject(HttpClient) private readonly http: HttpClient, + @Inject(UserService) private readonly u: UserService, + private activeRoute: ActivatedRoute, + ) { + this.activeRoute.params.subscribe((params) => { + this.userId = parseInt(params['id'], 10); + }); + } + + public ngOnInit(): void { + this.modal.nativeElement.addEventListener('click', (e) => { + const dimensions = this.modal.nativeElement.getBoundingClientRect(); + if (!dimensions) return; + + if ( + e.clientX < dimensions.left || + e.clientX > dimensions.right || + e.clientY < dimensions.top || + e.clientY > dimensions.bottom + ) + this.close(); + }); + } + + public open() { + // Only the user can update his picture + // TODO: take into account the user's role ("admin" can update any user's picture) + if (this.userId !== this.u.user?.id) return; + + this.modal.nativeElement.showModal(); + } + + public close() { + this.modal.nativeElement.close(); + } + + public updateUncroppedBanner(file: base64) { + this.bannerUncropped = file; + } + + public async deleteCurrentBanner() { + this.http + .delete(`${environment.API_URL}/users/banner/${this.activeRoute.snapshot.params['id']}`, { + headers: { + Authorization: `${sessionStorage.getItem('token')}`, + 'Accept-Language': localStorage.getItem('lang') ?? 'en-US', + }, + }) + .subscribe({ + next: () => { + this.bannerUpdated.emit(undefined); + this.u.refreshUserBanner(); + }, + }); + } + + public async updateCroppedBanner(event: ImageCropperResult) { + this.bannerCropped = event; + if (this.bannerCropped.dataUrl) this.bannerUpdated.emit(this.bannerCropped.dataUrl); + + const res: Response = await fetch(this.bannerCropped.dataUrl ?? ''); + const blob: Blob = await res.blob(); + const file = new File([blob], 'profile_picture.png', { type: 'image/png' }); + + const formData = new FormData(); + formData.append('file', file, file.name); + + this.http + .post(`${environment.API_URL}/users/banner/${this.activeRoute.snapshot.params['id']}`, formData, { + headers: { + Authorization: `${sessionStorage.getItem('token')}`, + 'Accept-Language': localStorage.getItem('lang') ?? 'en-US', + }, + }) + .subscribe({ + next: () => { + if (this.userId !== this.u.user?.id) return; + + setTimeout(() => { + this.u.refreshUserBanner(); + }, 1000); + }, + }); + } +} diff --git a/src/app/components/pages/user/profile/banner/banner-edit-modal.html b/src/app/components/pages/user/profile/banner/banner-edit-modal.html new file mode 100644 index 0000000..1ab81b2 --- /dev/null +++ b/src/app/components/pages/user/profile/banner/banner-edit-modal.html @@ -0,0 +1,20 @@ + diff --git a/src/app/components/pages/user/profile/banner/banner-edit-modal.scss b/src/app/components/pages/user/profile/banner/banner-edit-modal.scss new file mode 100644 index 0000000..eec29bd --- /dev/null +++ b/src/app/components/pages/user/profile/banner/banner-edit-modal.scss @@ -0,0 +1,33 @@ +.banner-dialog { + width: 90%; + position: relative; + border: none; + border-radius: 5px; + padding: 0 10px 10px; + background-color: var(--background-color); + + >form { + display: flex; + flex-direction: column; + gap: 5px; + + >.cropper { + max-height: 600px; + } + + >.warning { + color: var(--red); + font-family: 'Roboto', sans-serif; + text-align: center; + } + } + + >.close { + position: absolute; + width: 16px; + height: 16px; + top: 10px; + right: 10px; + fill: var(--text-color-dynamic); + } +} diff --git a/src/app/components/pages/user/profile/picture/picture-edit-modal.component.ts b/src/app/components/pages/user/profile/picture/picture-edit-modal.component.ts index b314037..dc10f39 100644 --- a/src/app/components/pages/user/profile/picture/picture-edit-modal.component.ts +++ b/src/app/components/pages/user/profile/picture/picture-edit-modal.component.ts @@ -1,10 +1,9 @@ import type { DateObject, Objected } from 'src/types/objects'; +import type { ImageCropperResult, base64 } from 'src/types'; -import { OnInit, ViewChild, ElementRef, Component, Inject } from '@angular/core'; -import { FormBuilder, FormGroup, Validators } from '@angular/forms'; +import { OnInit, ViewChild, ElementRef, Component, Inject, Output, EventEmitter } from '@angular/core'; import { Apollo, gql } from 'apollo-angular'; import { ImageCropperComponent } from 'src/app/components/common/image_cropper/image-cropper.component'; -import { ImageCropperResult } from 'src/types'; import { HttpClient } from '@angular/common/http'; import { environment } from 'src/environments/environment'; import { UserService } from 'src/app/services/user.service'; @@ -16,14 +15,17 @@ import { ActivatedRoute } from '@angular/router'; styleUrls: ['./picture-edit-modal.scss'], }) export class UserProfilePictureEditModalComponent implements OnInit { - @ViewChild('picture', { static: true }) public pictureModal!: ElementRef; - @ViewChild('pictureInput', { static: true }) public inputPicture!: ElementRef; - @ViewChild(ImageCropperComponent, { static: false }) public pictureCropper!: ImageCropperComponent; + @ViewChild('picture', { static: true }) public modal!: ElementRef; + @ViewChild(ImageCropperComponent, { static: false }) public cropper!: ImageCropperComponent; - public pictureUncropped?: string; + public pictureUncropped?: base64; public pictureCropped?: ImageCropperResult; - public readonly pictureOptions: Cropper.Options = { + private userId = 0; + + @Output() public pictureUpdated = new EventEmitter(); + + public readonly options: Cropper.Options = { aspectRatio: 1, rotatable: true, zoomable: true, @@ -32,21 +34,21 @@ export class UserProfilePictureEditModalComponent implements OnInit { public timeLeft?: Date; - public readonly pictureForm: FormGroup = this.fb.group({ - picture: [null, [Validators.required]], - }); - public constructor( - @Inject(FormBuilder) private readonly fb: FormBuilder, @Inject(Apollo) private readonly apollo: Apollo, @Inject(HttpClient) private readonly http: HttpClient, @Inject(UserService) private readonly u: UserService, private activeRoute: ActivatedRoute, - ) {} + ) { + this.activeRoute.params.subscribe((params) => { + this.userId = parseInt(params['id'], 10); + this.fetchData(this.userId); + }); + } public ngOnInit(): void { - this.pictureModal.nativeElement.addEventListener('click', (e) => { - const dimensions = this.pictureModal.nativeElement.getBoundingClientRect(); + this.modal.nativeElement.addEventListener('click', (e) => { + const dimensions = this.modal.nativeElement.getBoundingClientRect(); if (!dimensions) return; if ( @@ -55,9 +57,11 @@ export class UserProfilePictureEditModalComponent implements OnInit { e.clientY < dimensions.top || e.clientY > dimensions.bottom ) - this.closePictureModal(); + this.close(); }); + } + public fetchData(id: number): void { this.apollo .query>({ query: gql` @@ -68,44 +72,39 @@ export class UserProfilePictureEditModalComponent implements OnInit { } `, variables: { - user_id: this.activeRoute.snapshot.params['id'], + user_id: id, }, fetchPolicy: 'cache-first', errorPolicy: 'all', }) .subscribe(({ data }) => { - if (!data) return; - // The user can't update his picture more than once a week - // TODO: move the value to config - const diff = 604800000 - (new Date().getTime() - new Date(data['lastPictureUpdate'].date).getTime()); - if (diff > 0) this.timeLeft = new Date(diff); + const diff = + environment.DELAY_UPDATE_PROFILE_PICTURE * 1000 - + (new Date().getTime() - new Date(data['lastPictureUpdate'].date).getTime()); + if (diff > 0) this.timeLeft = new Date(new Date().getTime() + diff); }); } - public openPictureModal() { - this.pictureModal.nativeElement.showModal(); - } + public open() { + // Only the user can update his picture + // TODO: take into account the user's role ("admin" can update any user's picture) + if (this.userId !== this.u.user?.id) return; - public closePictureModal() { - this.pictureModal.nativeElement.close(); + this.modal.nativeElement.showModal(); } - public updateUncroppedPicture(event: Event) { - const input = event.target as HTMLInputElement; - if (input && input.files && input.files[0]) { - const reader = new FileReader(); - - reader.onload = (event: ProgressEvent) => { - this.pictureUncropped = (event.target).result as string; - }; + public close() { + this.modal.nativeElement.close(); + } - reader.readAsDataURL(input.files[0]); - } + public updateUncroppedPicture(file: base64) { + this.pictureUncropped = file; } public async updateCroppedPicture(event: ImageCropperResult) { this.pictureCropped = event; + if (this.pictureCropped.dataUrl) this.pictureUpdated.emit(this.pictureCropped.dataUrl); const res: Response = await fetch(this.pictureCropped.dataUrl ?? ''); const blob: Blob = await res.blob(); @@ -114,19 +113,22 @@ export class UserProfilePictureEditModalComponent implements OnInit { const formData = new FormData(); formData.append('file', file, file.name); - const userId = parseInt(sessionStorage.getItem('user_id') ?? '0', 10); - this.http - .post(`${environment.API_URL}/users/picture/${userId}`, formData, { + .post(`${environment.API_URL}/users/picture/${this.activeRoute.snapshot.params['id']}`, formData, { headers: { Authorization: `${sessionStorage.getItem('token')}`, 'Accept-Language': localStorage.getItem('lang') ?? 'en-US', }, }) - .subscribe(() => { - setTimeout(() => { - this.u.refreshUserPicture(); - }, 1000); + .subscribe({ + next: () => { + if (this.userId !== this.u.user?.id) return; + + setTimeout(() => { + this.u.refreshUserPicture(); + }, 1000); + }, + error: (err) => console.error(err), }); } } diff --git a/src/app/components/pages/user/profile/picture/picture-edit-modal.html b/src/app/components/pages/user/profile/picture/picture-edit-modal.html index 08d8707..ff539b5 100644 --- a/src/app/components/pages/user/profile/picture/picture-edit-modal.html +++ b/src/app/components/pages/user/profile/picture/picture-edit-modal.html @@ -1,26 +1,20 @@ - + - -
- {{ 'profile.picture_too_recent' | translate: { date: timeLeft } }} + + + {{ 'profile.picture_too_recent' | translate: { date: timeLeft | date: 'dd/MM/yyyy HH:mm:ss' } }} - + - +
diff --git a/src/app/components/pages/user/profile/picture/picture-edit-modal.scss b/src/app/components/pages/user/profile/picture/picture-edit-modal.scss index 4723e45..f154914 100644 --- a/src/app/components/pages/user/profile/picture/picture-edit-modal.scss +++ b/src/app/components/pages/user/profile/picture/picture-edit-modal.scss @@ -3,7 +3,7 @@ position: relative; border: none; border-radius: 5px; - padding: 10px; + padding: 0 10px 10px; background-color: var(--background-color); >form { @@ -14,6 +14,12 @@ >.cropper { max-height: 600px; } + + >.warning { + color: var(--red); + font-family: 'Roboto', sans-serif; + text-align: center; + } } >.close { @@ -24,4 +30,4 @@ right: 10px; fill: var(--text-color-dynamic); } -} \ No newline at end of file +} diff --git a/src/app/components/pages/user/profile/profile.component.ts b/src/app/components/pages/user/profile/profile.component.ts index 05e38c6..67378e2 100644 --- a/src/app/components/pages/user/profile/profile.component.ts +++ b/src/app/components/pages/user/profile/profile.component.ts @@ -1,3 +1,5 @@ +import type { base64 } from 'src/types'; + import { Component, Inject, ViewChild } from '@angular/core'; import { TranslateService } from '@ngx-translate/core'; import { Apollo, gql } from 'apollo-angular'; @@ -7,8 +9,8 @@ import { Objected, UserObject } from 'src/types/objects'; import { UserProfilePictureEditModalComponent } from './picture/picture-edit-modal.component'; import { environment } from 'src/environments/environment.dev'; import { HttpClient } from '@angular/common/http'; -import { toBase64 } from 'src/utils/buffer'; import { ActivatedRoute } from '@angular/router'; +import { UserProfileBannerEditModalComponent } from './banner/banner-edit-modal.component'; @Component({ selector: 'app-user-profile', @@ -18,11 +20,20 @@ import { ActivatedRoute } from '@angular/router'; export class UserProfileComponent { public current: 'about' | 'contact' = 'about'; public user?: UserObject; - public profilePicture?: string; public age?: number; public birthdayFormatted?: string; + public profilePicture?: base64; + public profileBanner?: base64; + + // TODO implement those fields + public suspended = false; + public banned = false; + + private userId = 0; + @ViewChild('pictureModal', { static: false }) public pictureModal!: UserProfilePictureEditModalComponent; + @ViewChild('bannerModal', { static: false }) public bannerModal!: UserProfileBannerEditModalComponent; public constructor( @Inject(UserService) public readonly u: UserService, @@ -33,7 +44,8 @@ export class UserProfileComponent { private activeRoute: ActivatedRoute, ) { this.activeRoute.params.subscribe((params) => { - this.getUserData(parseInt(params['id'], 10)); + this.userId = parseInt(params['id'], 10); + this.getUserData(this.userId); }); } @@ -42,6 +54,27 @@ export class UserProfileComponent { return `${this.user?.nickname} — `; } + /** + * Returns true if the current user is the owner of the profile or has the permission to edit it. + * @returns {boolean} True if the current user is the owner of the profile or has the permission to edit it. + * TODO implement permission system + */ + public get isOwnerOrHasPermission(): boolean { + return this.isOwner; + } + + public get isOwner(): boolean { + return this.userId === this.u.user?.id; + } + + public updatePicture(output: base64) { + this.profilePicture = output; + } + + public updateBanner(output: base64) { + this.profileBanner = output; + } + public getUserData(user_id: number): void { this.http .get(`${environment.API_URL}/users/picture/${user_id}`, { @@ -51,8 +84,30 @@ export class UserProfileComponent { }, responseType: 'arraybuffer', }) - .subscribe((data) => { - this.profilePicture = 'data:image/png;base64,' + toBase64(data); + .subscribe({ + next: (data) => { + this.profilePicture = data.toBase64(); + }, + error: (_) => { + // do nothing (default picture will be used) + }, + }); + + this.http + .get(`${environment.API_URL}/users/banner/${user_id}`, { + headers: { + Authorization: `${sessionStorage.getItem('token')}`, + 'Accept-Language': localStorage.getItem('lang') ?? 'en-US', + }, + responseType: 'arraybuffer', + }) + .subscribe({ + next: (data) => { + this.profileBanner = data.toBase64(); + }, + error: (_) => { + // do nothing (default picture will be used) + }, }); this.apollo @@ -84,12 +139,16 @@ export class UserProfileComponent { fetchPolicy: 'cache-first', errorPolicy: 'all', }) - .subscribe(({ data }) => { + .subscribe(({ data, error }) => { if (data) { this.user = data['user']; const TimeDiff = Math.abs(Date.now() - new Date(this.user?.birthday ?? 0).getTime()); this.age = Math.floor(TimeDiff / (1000 * 3600 * 24) / 365.25); } + + if (!data || error) { + this.p.router.navigate(['/404']); + } }); } } diff --git a/src/app/components/pages/user/profile/profile.html b/src/app/components/pages/user/profile/profile.html index dfe5165..25ec9be 100644 --- a/src/app/components/pages/user/profile/profile.html +++ b/src/app/components/pages/user/profile/profile.html @@ -1,29 +1,34 @@ - + +
- +
- +
- {{ user?.first_name }} {{ user?.last_name }} - {{ nickname }}{{ 'profile.age' | translate: { age } }} +
+ {{ user?.first_name }} {{ user?.last_name }} +
{{ nickname }}
 {{ 'profile.age' | translate: { age} }}
+
+
- - +
+ + +
+
diff --git a/src/app/components/pages/user/profile/profile.scss b/src/app/components/pages/user/profile/profile.scss index 235b98d..128bec5 100644 --- a/src/app/components/pages/user/profile/profile.scss +++ b/src/app/components/pages/user/profile/profile.scss @@ -13,7 +13,74 @@ position: relative; >.banner { - min-height: 52px; + height: 52px; + position: relative; + + >.suspended, + >.banned { + font-family: 'Roboto', sans-serif; + font-size: 12px; + text-transform: uppercase; + height: 20px; + padding: 0 10px; + border-radius: 5px; + display: flex; + align-items: center; + justify-content: center; + + position: absolute; + top: 0; + right: 0; + } + + >.suspended { + background-color: var(--orange); + color: var(--text-color); + } + + >.banned { + background-color: var(--red); + color: var(--text-color-dark-bg); + } + + >.pencil { + height: 24px; + width: 24px; + display: flex; + justify-content: center; + align-items: center; + position: absolute; + + padding: 4px; + border-radius: 50%; + + bottom: 5px; + right: 0; + + fill: var(--text-color-dark-bg); + background-color: var(--darkened); + } + + &.has-banner { + height: 130px; + border-radius: 5px 5px 0 0; + background-position: center center; + background-repeat: no-repeat; + background-size: cover; + + >.pencil { + right: 5px; + top: 5px; + bottom: unset; + } + + >.banned, + >.suspended { + top: 5px; + left: 5px; + right: unset; + } + } } >.pictures { @@ -50,6 +117,10 @@ } } + > .banner.has-banner ~ .pictures { + top: 85px; + } + >.infos { display: flex; flex-direction: column; @@ -65,7 +136,7 @@ font-family: Roboto, sans-serif; display: flex; - flex-direction: column; + flex-direction: row; color: var(--text-color-dynamic); &.rtl { @@ -73,13 +144,26 @@ margin-right: 105px; } - > .name { - text-transform: capitalize; - font-weight: bold; + > div { + display: flex; + flex-direction: column; + width: 100%; + + >.name { + text-transform: capitalize; + font-weight: bold; + } + + >.nickname { + font-weight: 300; + display: flex; + } } - > .nickname { - font-weight: 300; + > .flag { + fill: var(--red); + height: 20px; + width: 20px; } } @@ -88,20 +172,33 @@ padding: 5px 0; >.tab-header { - >.tab-link { - border: none; - background-color: transparent; + display: flex; + gap: 10px; - font-family: Roboto, sans-serif; - font-size: 12px; - color: var(--text-color-dynamic); + >.tabs { + width: 100%; - &.shown { - border-bottom: 1px solid var(--text-color-dynamic); + >.tab-link { + border: none; + background-color: transparent; + + font-family: Roboto, sans-serif; + font-size: 12px; + color: var(--text-color-dynamic); + + &.shown { + border-bottom: 1px solid var(--text-color-dynamic); + } } + + border-bottom: 1px solid var(--text-color-dynamic); } - border-bottom: 1px solid var(--text-color-dynamic); + >.pencil { + height: 20px; + width: 20px; + fill: var(--text-color-dynamic); + } } >.tab-content { @@ -144,5 +241,9 @@ } } } + + > .banner.has-banner ~ .infos { + border-radius: 0 0 5px 5px; + } } } diff --git a/src/app/services/page.service.ts b/src/app/services/page.service.ts index a8382fb..dcd8238 100644 --- a/src/app/services/page.service.ts +++ b/src/app/services/page.service.ts @@ -22,7 +22,7 @@ export class PageService { public constructor( @Inject(TranslateService) public readonly t: TranslateService, @Inject(DeviceDetectorService) private readonly deviceService: DeviceDetectorService, - @Inject(Router) private readonly router: Router, + @Inject(Router) public readonly router: Router, ) { // watch for route changes router.events.subscribe((val) => { diff --git a/src/app/services/user.service.ts b/src/app/services/user.service.ts index e548612..83caaea 100644 --- a/src/app/services/user.service.ts +++ b/src/app/services/user.service.ts @@ -1,10 +1,9 @@ import type { Objected, UserObject } from 'src/types/objects'; -import { Inject, Injectable, OnInit } from '@angular/core'; +import { Inject, Injectable } from '@angular/core'; import { Apollo, gql } from 'apollo-angular'; import { PageService } from './page.service'; import { environment } from 'src/environments/environment.dev'; -import { toBase64 } from 'src/utils/buffer'; import { HttpClient } from '@angular/common/http'; @Injectable({ @@ -23,6 +22,7 @@ export class UserService { this.fetchUser(userId); this.fetchUserPicture(userId); + this.fetchUserBanner(userId); this.p.route = `profile/${userId}`; } @@ -66,8 +66,28 @@ export class UserService { }, responseType: 'arraybuffer', }) - .subscribe((data) => { - if (data) sessionStorage.setItem('user_picture', 'data:image/png;base64,' + toBase64(data)); + .subscribe({ + next: (data) => { + if (data) sessionStorage.setItem('user_picture', data.toBase64()); + }, + error: () => sessionStorage.removeItem('user_picture'), + }); + } + + public fetchUserBanner(id: number) { + this.http + .get(`${environment.API_URL}/users/banner/${id}`, { + headers: { + Authorization: `${sessionStorage.getItem('token')}`, + 'Accept-Language': sessionStorage.getItem('lang') ?? 'en-US', + }, + responseType: 'arraybuffer', + }) + .subscribe({ + next: (data) => { + if (data) sessionStorage.setItem('user_banner', data.toBase64()); + }, + error: () => sessionStorage.removeItem('user_banner'), }); } @@ -79,6 +99,10 @@ export class UserService { if (this.isLoggedIn) this.fetchUserPicture(this.id ?? -1); } + public refreshUserBanner(): void { + if (this.isLoggedIn) this.fetchUserBanner(this.id ?? -1); + } + public logout(): void { sessionStorage.removeItem('user'); sessionStorage.removeItem('user_id'); @@ -96,6 +120,10 @@ export class UserService { return sessionStorage.getItem('user_picture') ?? undefined; } + public get banner(): string | undefined { + return sessionStorage.getItem('user_banner') ?? undefined; + } + public get isLoggedIn(): boolean { return sessionStorage.getItem('user_token') !== null && sessionStorage.getItem('user') !== null; } @@ -116,21 +144,19 @@ export class UserService { return this.isLoggedIn && this.user ? this.user.subscriber_account : undefined; } + // TODO public get balance(): number { return 0; // return this.isLoggedIn && this.user ? this.user.balance : undefined; } - public get banner(): string | undefined { - return undefined; - // return this.isLoggedIn && this.user ? this.user.profile_banner : undefined; - } - + // TODO public get notifications(): string[] | undefined { return undefined; // return this.isLoggedIn && this.user ? this.user.notifications : undefined; } + // TODO public get notificationsCount(): number | undefined { return undefined; // return this.isLoggedIn && this.user ? this.user.notifications.length : undefined; diff --git a/src/assets/i18n/en-US.json b/src/assets/i18n/en-US.json index 42dab94..98c7a69 100644 --- a/src/assets/i18n/en-US.json +++ b/src/assets/i18n/en-US.json @@ -46,6 +46,7 @@ "back": "Back", "sign_in": "Sign in", "save": "Save", + "delete": "Delete", "register": "Register", "last_name": "Last name", "first_name": "First name", @@ -111,6 +112,10 @@ "pronouns": "Pronouns", "promotion": "Promotion", "subscription" : "Subscription date", - "picture_too_recent": "You can't change your profile picture before {{date}}" + "picture_too_recent": "You can't change your profile picture before {{date}}", + "update_picture": "Update profile picture", + "update_banner": "Update profile banner", + "account_suspended": "Account suspended", + "account_banned": "Account banned : {{time}} left" } } diff --git a/src/environments/environment.dev.ts b/src/environments/environment.dev.ts index 42f51ba..c90719d 100644 --- a/src/environments/environment.dev.ts +++ b/src/environments/environment.dev.ts @@ -5,6 +5,7 @@ export const environment = { HCAPTCHA_SITE_KEY: '10000000-ffff-ffff-ffff-000000000001', API_URL: 'http://localhost:3000/api', GRAPHQL_URL: 'http://localhost:3000/graphql', + DELAY_UPDATE_PROFILE_PICTURE: 604800, }; export type Environment = typeof environment; From 614172c2662a3e6299454cf233929d17f2276e61 Mon Sep 17 00:00:00 2001 From: Julien Constant Date: Fri, 19 May 2023 14:22:49 +0200 Subject: [PATCH 066/146] Moved pages directory outside of components dir --- src/app/app-routing.module.ts | 16 +++--- src/app/app.module.ts | 8 +-- src/app/components/components.module.ts | 6 +- src/app/graphql.module.ts | 4 +- .../pages/404/not-found.component.spec.ts | 2 +- .../pages/404/not-found.component.ts | 0 .../{components => }/pages/404/not-found.html | 0 .../forgot_password.component.spec.ts | 2 +- .../forgot_password.component.ts | 0 .../forgot_password/forgot_password.html | 0 .../forgot_password/forgot_password.scss | 0 .../pages/home/home.component.spec.ts | 0 .../pages/home/home.component.ts | 0 src/app/{components => }/pages/home/home.html | 0 .../pages/login/login.component.spec.ts | 2 +- .../pages/login/login.component.ts | 0 .../{components => }/pages/login/login.html | 0 .../{components => }/pages/login/login.scss | 0 .../{components => }/pages/pages.module.ts | 12 ++-- .../pages/register/register.component.spec.ts | 2 +- .../pages/register/register.component.ts | 0 .../pages/register/register.html | 0 .../pages/register/register.scss | 0 .../pages/user/payments/payments.component.ts | 0 .../pages/user/payments/payments.html | 0 .../pages/user/payments/payments.scss | 0 .../pages/user/pictures/pictures.component.ts | 0 .../pages/user/pictures/pictures.html | 0 .../pages/user/pictures/pictures.scss | 0 .../banner-edit-modal.component.ts | 11 +--- .../banner-modal}/banner-edit-modal.html | 0 .../banner-modal}/banner-edit-modal.scss | 0 .../picture-edit-modal.component.ts | 7 +-- .../picture-modal}/picture-edit-modal.html | 0 .../picture-modal}/picture-edit-modal.scss | 0 .../pages/user/profile/profile.component.ts | 31 +++++------ .../pages/user/profile/profile.html | 55 +++++++++++++------ .../pages/user/profile/profile.scss | 10 ++-- src/app/services/user.service.ts | 17 ++---- src/types/objects.d.ts | 38 +++++++++---- src/utils/http.ts | 7 +++ 41 files changed, 129 insertions(+), 101 deletions(-) rename src/app/{components => }/pages/404/not-found.component.spec.ts (91%) rename src/app/{components => }/pages/404/not-found.component.ts (100%) rename src/app/{components => }/pages/404/not-found.html (100%) rename src/app/{components => }/pages/forgot_password/forgot_password.component.spec.ts (95%) rename src/app/{components => }/pages/forgot_password/forgot_password.component.ts (100%) rename src/app/{components => }/pages/forgot_password/forgot_password.html (100%) rename src/app/{components => }/pages/forgot_password/forgot_password.scss (100%) rename src/app/{components => }/pages/home/home.component.spec.ts (100%) rename src/app/{components => }/pages/home/home.component.ts (100%) rename src/app/{components => }/pages/home/home.html (100%) rename src/app/{components => }/pages/login/login.component.spec.ts (95%) rename src/app/{components => }/pages/login/login.component.ts (100%) rename src/app/{components => }/pages/login/login.html (100%) rename src/app/{components => }/pages/login/login.scss (100%) rename src/app/{components => }/pages/pages.module.ts (81%) rename src/app/{components => }/pages/register/register.component.spec.ts (96%) rename src/app/{components => }/pages/register/register.component.ts (100%) rename src/app/{components => }/pages/register/register.html (100%) rename src/app/{components => }/pages/register/register.scss (100%) rename src/app/{components => }/pages/user/payments/payments.component.ts (100%) rename src/app/{components => }/pages/user/payments/payments.html (100%) rename src/app/{components => }/pages/user/payments/payments.scss (100%) rename src/app/{components => }/pages/user/pictures/pictures.component.ts (100%) rename src/app/{components => }/pages/user/pictures/pictures.html (100%) rename src/app/{components => }/pages/user/pictures/pictures.scss (100%) rename src/app/{components/pages/user/profile/banner => pages/user/profile/banner-modal}/banner-edit-modal.component.ts (91%) rename src/app/{components/pages/user/profile/banner => pages/user/profile/banner-modal}/banner-edit-modal.html (100%) rename src/app/{components/pages/user/profile/banner => pages/user/profile/banner-modal}/banner-edit-modal.scss (100%) rename src/app/{components/pages/user/profile/picture => pages/user/profile/picture-modal}/picture-edit-modal.component.ts (95%) rename src/app/{components/pages/user/profile/picture => pages/user/profile/picture-modal}/picture-edit-modal.html (100%) rename src/app/{components/pages/user/profile/picture => pages/user/profile/picture-modal}/picture-edit-modal.scss (100%) rename src/app/{components => }/pages/user/profile/profile.component.ts (84%) rename src/app/{components => }/pages/user/profile/profile.html (66%) rename src/app/{components => }/pages/user/profile/profile.scss (97%) create mode 100644 src/utils/http.ts diff --git a/src/app/app-routing.module.ts b/src/app/app-routing.module.ts index 340ae45..38a511a 100644 --- a/src/app/app-routing.module.ts +++ b/src/app/app-routing.module.ts @@ -1,13 +1,13 @@ import { NgModule } from '@angular/core'; import { RouterModule, Routes } from '@angular/router'; -import { NotFoundComponent } from './components/pages/404/not-found.component'; -import { HomeComponent } from './components/pages/home/home.component'; -import { LoginComponent } from './components/pages/login/login.component'; -import { RegisterComponent } from './components/pages/register/register.component'; -import { ForgotPasswordComponent } from './components/pages/forgot_password/forgot_password.component'; -import { UserPaymentsComponent } from './components/pages/user/payments/payments.component'; -import { UserPicturesComponent } from './components/pages/user/pictures/pictures.component'; -import { UserProfileComponent } from './components/pages/user/profile/profile.component'; +import { NotFoundComponent } from './pages/404/not-found.component'; +import { HomeComponent } from './pages/home/home.component'; +import { LoginComponent } from './pages/login/login.component'; +import { RegisterComponent } from './pages/register/register.component'; +import { ForgotPasswordComponent } from './pages/forgot_password/forgot_password.component'; +import { UserPaymentsComponent } from './pages/user/payments/payments.component'; +import { UserPicturesComponent } from './pages/user/pictures/pictures.component'; +import { UserProfileComponent } from './pages/user/profile/profile.component'; const routes: Routes = [ { diff --git a/src/app/app.module.ts b/src/app/app.module.ts index 55fd851..fb594c7 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -6,13 +6,12 @@ import { AppRoutingModule } from './app-routing.module'; import { AppComponent } from './app.component'; import { HttpClient, HttpClientModule } from '@angular/common/http'; import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; -import { ComponentsModule } from './components/components.module'; import { HttpLoaderFactory } from 'src/utils'; -import { MobileComponentsModule } from './components/mobile/mobile.module'; -import { DesktopComponentsModule } from './components/desktop/desktop.module'; import { environment } from 'src/environments/environment.dev'; import { GraphQLModule } from './graphql.module'; +import { PagesModule } from './pages/pages.module'; +import { ComponentsModule } from './components/components.module'; @NgModule({ declarations: [AppComponent], @@ -20,8 +19,7 @@ import { GraphQLModule } from './graphql.module'; AppRoutingModule, BrowserModule, ComponentsModule, - MobileComponentsModule, - DesktopComponentsModule, + PagesModule, HttpClientModule, TranslateModule.forRoot({ defaultLanguage: 'en-US', diff --git a/src/app/components/components.module.ts b/src/app/components/components.module.ts index 2dbf468..83cdb52 100644 --- a/src/app/components/components.module.ts +++ b/src/app/components/components.module.ts @@ -1,10 +1,12 @@ import { NgModule } from '@angular/core'; -import { PagesModule } from './pages/pages.module'; import { RouterModule } from '@angular/router'; +import { MobileComponentsModule } from './mobile/mobile.module'; +import { DesktopComponentsModule } from './desktop/desktop.module'; +import { CommonComponentsModule } from './common/common.module'; @NgModule({ declarations: [], - exports: [PagesModule], + exports: [MobileComponentsModule, DesktopComponentsModule, CommonComponentsModule], imports: [RouterModule], }) export class ComponentsModule {} diff --git a/src/app/graphql.module.ts b/src/app/graphql.module.ts index fc77ec0..7af3388 100644 --- a/src/app/graphql.module.ts +++ b/src/app/graphql.module.ts @@ -12,7 +12,7 @@ import { HttpClientModule } from '@angular/common/http'; * @param httpLink Apollo HTTP Link */ export function createApollo(httpLink: HttpLink) { - const lang = setContext((op, ctx) => { + const lang = setContext(() => { const locale = localStorage.getItem('locale') ?? 'en-US'; return { @@ -22,7 +22,7 @@ export function createApollo(httpLink: HttpLink) { }; }); - const auth = setContext((op, ctx) => { + const auth = setContext(() => { const token = sessionStorage.getItem('user_token'); if (token === null) return {}; diff --git a/src/app/components/pages/404/not-found.component.spec.ts b/src/app/pages/404/not-found.component.spec.ts similarity index 91% rename from src/app/components/pages/404/not-found.component.spec.ts rename to src/app/pages/404/not-found.component.spec.ts index 6b6b44c..e495a8d 100644 --- a/src/app/components/pages/404/not-found.component.spec.ts +++ b/src/app/pages/404/not-found.component.spec.ts @@ -1,7 +1,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { TranslateModule, TranslateService } from '@ngx-translate/core'; import { PageService } from 'src/app/services/page.service'; -import { CommonComponentsModule } from '../../common/common.module'; +import { CommonComponentsModule } from '../../components/common/common.module'; import { NotFoundComponent } from './not-found.component'; describe('NotFoundComponent', () => { diff --git a/src/app/components/pages/404/not-found.component.ts b/src/app/pages/404/not-found.component.ts similarity index 100% rename from src/app/components/pages/404/not-found.component.ts rename to src/app/pages/404/not-found.component.ts diff --git a/src/app/components/pages/404/not-found.html b/src/app/pages/404/not-found.html similarity index 100% rename from src/app/components/pages/404/not-found.html rename to src/app/pages/404/not-found.html diff --git a/src/app/components/pages/forgot_password/forgot_password.component.spec.ts b/src/app/pages/forgot_password/forgot_password.component.spec.ts similarity index 95% rename from src/app/components/pages/forgot_password/forgot_password.component.spec.ts rename to src/app/pages/forgot_password/forgot_password.component.spec.ts index 60f25cd..55577fa 100644 --- a/src/app/components/pages/forgot_password/forgot_password.component.spec.ts +++ b/src/app/pages/forgot_password/forgot_password.component.spec.ts @@ -3,7 +3,7 @@ import { FormBuilder, FormsModule, ReactiveFormsModule } from '@angular/forms'; import { TranslateModule, TranslateService } from '@ngx-translate/core'; import { PageService } from 'src/app/services/page.service'; import { UserService } from 'src/app/services/user.service'; -import { CommonComponentsModule } from '../../common/common.module'; +import { CommonComponentsModule } from '../../components/common/common.module'; import { ForgotPasswordComponent } from './forgot_password.component'; describe('ForgotPasswordComponent', () => { diff --git a/src/app/components/pages/forgot_password/forgot_password.component.ts b/src/app/pages/forgot_password/forgot_password.component.ts similarity index 100% rename from src/app/components/pages/forgot_password/forgot_password.component.ts rename to src/app/pages/forgot_password/forgot_password.component.ts diff --git a/src/app/components/pages/forgot_password/forgot_password.html b/src/app/pages/forgot_password/forgot_password.html similarity index 100% rename from src/app/components/pages/forgot_password/forgot_password.html rename to src/app/pages/forgot_password/forgot_password.html diff --git a/src/app/components/pages/forgot_password/forgot_password.scss b/src/app/pages/forgot_password/forgot_password.scss similarity index 100% rename from src/app/components/pages/forgot_password/forgot_password.scss rename to src/app/pages/forgot_password/forgot_password.scss diff --git a/src/app/components/pages/home/home.component.spec.ts b/src/app/pages/home/home.component.spec.ts similarity index 100% rename from src/app/components/pages/home/home.component.spec.ts rename to src/app/pages/home/home.component.spec.ts diff --git a/src/app/components/pages/home/home.component.ts b/src/app/pages/home/home.component.ts similarity index 100% rename from src/app/components/pages/home/home.component.ts rename to src/app/pages/home/home.component.ts diff --git a/src/app/components/pages/home/home.html b/src/app/pages/home/home.html similarity index 100% rename from src/app/components/pages/home/home.html rename to src/app/pages/home/home.html diff --git a/src/app/components/pages/login/login.component.spec.ts b/src/app/pages/login/login.component.spec.ts similarity index 95% rename from src/app/components/pages/login/login.component.spec.ts rename to src/app/pages/login/login.component.spec.ts index c36d8fd..c2cfd86 100644 --- a/src/app/components/pages/login/login.component.spec.ts +++ b/src/app/pages/login/login.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { LoginComponent } from './login.component'; import { TranslateModule, TranslateService } from '@ngx-translate/core'; import { PageService } from 'src/app/services/page.service'; -import { CommonComponentsModule } from '../../common/common.module'; +import { CommonComponentsModule } from '../../components/common/common.module'; import { FormBuilder, FormsModule, ReactiveFormsModule } from '@angular/forms'; import { UserService } from 'src/app/services/user.service'; diff --git a/src/app/components/pages/login/login.component.ts b/src/app/pages/login/login.component.ts similarity index 100% rename from src/app/components/pages/login/login.component.ts rename to src/app/pages/login/login.component.ts diff --git a/src/app/components/pages/login/login.html b/src/app/pages/login/login.html similarity index 100% rename from src/app/components/pages/login/login.html rename to src/app/pages/login/login.html diff --git a/src/app/components/pages/login/login.scss b/src/app/pages/login/login.scss similarity index 100% rename from src/app/components/pages/login/login.scss rename to src/app/pages/login/login.scss diff --git a/src/app/components/pages/pages.module.ts b/src/app/pages/pages.module.ts similarity index 81% rename from src/app/components/pages/pages.module.ts rename to src/app/pages/pages.module.ts index 9063641..419c85d 100644 --- a/src/app/components/pages/pages.module.ts +++ b/src/app/pages/pages.module.ts @@ -2,10 +2,7 @@ import { NgModule } from '@angular/core'; import { HomeComponent } from './home/home.component'; import { NotFoundComponent } from './404/not-found.component'; import { CommonModule } from '@angular/common'; -import { CommonComponentsModule } from '../common/common.module'; -import { MobileComponentsModule } from '../mobile/mobile.module'; import { TranslateModule } from '@ngx-translate/core'; -import { DesktopComponentsModule } from '../desktop/desktop.module'; import { LoginComponent } from './login/login.component'; import { RegisterComponent } from './register/register.component'; import { ForgotPasswordComponent } from './forgot_password/forgot_password.component'; @@ -14,8 +11,9 @@ import { NgHcaptchaModule } from 'ng-hcaptcha'; import { UserPaymentsComponent } from './user/payments/payments.component'; import { UserProfileComponent } from './user/profile/profile.component'; import { UserPicturesComponent } from './user/pictures/pictures.component'; -import { UserProfilePictureEditModalComponent } from './user/profile/picture/picture-edit-modal.component'; -import { UserProfileBannerEditModalComponent } from './user/profile/banner/banner-edit-modal.component'; +import { UserProfilePictureEditModalComponent } from './user/profile/picture-modal/picture-edit-modal.component'; +import { UserProfileBannerEditModalComponent } from './user/profile/banner-modal/banner-edit-modal.component'; +import { ComponentsModule } from '../components/components.module'; @NgModule({ declarations: [ @@ -49,9 +47,7 @@ import { UserProfileBannerEditModalComponent } from './user/profile/banner/banne NgHcaptchaModule, FormsModule, ReactiveFormsModule, - CommonComponentsModule, - MobileComponentsModule, - DesktopComponentsModule, + ComponentsModule, ], }) export class PagesModule {} diff --git a/src/app/components/pages/register/register.component.spec.ts b/src/app/pages/register/register.component.spec.ts similarity index 96% rename from src/app/components/pages/register/register.component.spec.ts rename to src/app/pages/register/register.component.spec.ts index dbf6c50..509fc0c 100644 --- a/src/app/components/pages/register/register.component.spec.ts +++ b/src/app/pages/register/register.component.spec.ts @@ -4,7 +4,7 @@ import { FormsModule, ReactiveFormsModule, FormBuilder } from '@angular/forms'; import { TranslateModule, TranslateService } from '@ngx-translate/core'; import { PageService } from 'src/app/services/page.service'; import { UserService } from 'src/app/services/user.service'; -import { CommonComponentsModule } from '../../common/common.module'; +import { CommonComponentsModule } from '../../components/common/common.module'; import { NgHcaptchaModule, NgHcaptchaService } from 'ng-hcaptcha'; import { environment } from 'src/environments/environment.dev'; diff --git a/src/app/components/pages/register/register.component.ts b/src/app/pages/register/register.component.ts similarity index 100% rename from src/app/components/pages/register/register.component.ts rename to src/app/pages/register/register.component.ts diff --git a/src/app/components/pages/register/register.html b/src/app/pages/register/register.html similarity index 100% rename from src/app/components/pages/register/register.html rename to src/app/pages/register/register.html diff --git a/src/app/components/pages/register/register.scss b/src/app/pages/register/register.scss similarity index 100% rename from src/app/components/pages/register/register.scss rename to src/app/pages/register/register.scss diff --git a/src/app/components/pages/user/payments/payments.component.ts b/src/app/pages/user/payments/payments.component.ts similarity index 100% rename from src/app/components/pages/user/payments/payments.component.ts rename to src/app/pages/user/payments/payments.component.ts diff --git a/src/app/components/pages/user/payments/payments.html b/src/app/pages/user/payments/payments.html similarity index 100% rename from src/app/components/pages/user/payments/payments.html rename to src/app/pages/user/payments/payments.html diff --git a/src/app/components/pages/user/payments/payments.scss b/src/app/pages/user/payments/payments.scss similarity index 100% rename from src/app/components/pages/user/payments/payments.scss rename to src/app/pages/user/payments/payments.scss diff --git a/src/app/components/pages/user/pictures/pictures.component.ts b/src/app/pages/user/pictures/pictures.component.ts similarity index 100% rename from src/app/components/pages/user/pictures/pictures.component.ts rename to src/app/pages/user/pictures/pictures.component.ts diff --git a/src/app/components/pages/user/pictures/pictures.html b/src/app/pages/user/pictures/pictures.html similarity index 100% rename from src/app/components/pages/user/pictures/pictures.html rename to src/app/pages/user/pictures/pictures.html diff --git a/src/app/components/pages/user/pictures/pictures.scss b/src/app/pages/user/pictures/pictures.scss similarity index 100% rename from src/app/components/pages/user/pictures/pictures.scss rename to src/app/pages/user/pictures/pictures.scss diff --git a/src/app/components/pages/user/profile/banner/banner-edit-modal.component.ts b/src/app/pages/user/profile/banner-modal/banner-edit-modal.component.ts similarity index 91% rename from src/app/components/pages/user/profile/banner/banner-edit-modal.component.ts rename to src/app/pages/user/profile/banner-modal/banner-edit-modal.component.ts index 45c4cfe..ea693db 100644 --- a/src/app/components/pages/user/profile/banner/banner-edit-modal.component.ts +++ b/src/app/pages/user/profile/banner-modal/banner-edit-modal.component.ts @@ -6,6 +6,7 @@ import { HttpClient } from '@angular/common/http'; import { environment } from 'src/environments/environment'; import { UserService } from 'src/app/services/user.service'; import { ActivatedRoute } from '@angular/router'; +import { DEFAULT_HEADERS } from 'src/utils/http'; @Component({ selector: 'app-user-profile-banner-edit-modal', @@ -78,10 +79,7 @@ export class UserProfileBannerEditModalComponent implements OnInit { public async deleteCurrentBanner() { this.http .delete(`${environment.API_URL}/users/banner/${this.activeRoute.snapshot.params['id']}`, { - headers: { - Authorization: `${sessionStorage.getItem('token')}`, - 'Accept-Language': localStorage.getItem('lang') ?? 'en-US', - }, + headers: DEFAULT_HEADERS, }) .subscribe({ next: () => { @@ -104,10 +102,7 @@ export class UserProfileBannerEditModalComponent implements OnInit { this.http .post(`${environment.API_URL}/users/banner/${this.activeRoute.snapshot.params['id']}`, formData, { - headers: { - Authorization: `${sessionStorage.getItem('token')}`, - 'Accept-Language': localStorage.getItem('lang') ?? 'en-US', - }, + headers: DEFAULT_HEADERS, }) .subscribe({ next: () => { diff --git a/src/app/components/pages/user/profile/banner/banner-edit-modal.html b/src/app/pages/user/profile/banner-modal/banner-edit-modal.html similarity index 100% rename from src/app/components/pages/user/profile/banner/banner-edit-modal.html rename to src/app/pages/user/profile/banner-modal/banner-edit-modal.html diff --git a/src/app/components/pages/user/profile/banner/banner-edit-modal.scss b/src/app/pages/user/profile/banner-modal/banner-edit-modal.scss similarity index 100% rename from src/app/components/pages/user/profile/banner/banner-edit-modal.scss rename to src/app/pages/user/profile/banner-modal/banner-edit-modal.scss diff --git a/src/app/components/pages/user/profile/picture/picture-edit-modal.component.ts b/src/app/pages/user/profile/picture-modal/picture-edit-modal.component.ts similarity index 95% rename from src/app/components/pages/user/profile/picture/picture-edit-modal.component.ts rename to src/app/pages/user/profile/picture-modal/picture-edit-modal.component.ts index dc10f39..14e8101 100644 --- a/src/app/components/pages/user/profile/picture/picture-edit-modal.component.ts +++ b/src/app/pages/user/profile/picture-modal/picture-edit-modal.component.ts @@ -8,6 +8,7 @@ import { HttpClient } from '@angular/common/http'; import { environment } from 'src/environments/environment'; import { UserService } from 'src/app/services/user.service'; import { ActivatedRoute } from '@angular/router'; +import { DEFAULT_HEADERS } from 'src/utils/http'; @Component({ selector: 'app-user-profile-picture-edit-modal', @@ -115,10 +116,7 @@ export class UserProfilePictureEditModalComponent implements OnInit { this.http .post(`${environment.API_URL}/users/picture/${this.activeRoute.snapshot.params['id']}`, formData, { - headers: { - Authorization: `${sessionStorage.getItem('token')}`, - 'Accept-Language': localStorage.getItem('lang') ?? 'en-US', - }, + headers: DEFAULT_HEADERS, }) .subscribe({ next: () => { @@ -128,7 +126,6 @@ export class UserProfilePictureEditModalComponent implements OnInit { this.u.refreshUserPicture(); }, 1000); }, - error: (err) => console.error(err), }); } } diff --git a/src/app/components/pages/user/profile/picture/picture-edit-modal.html b/src/app/pages/user/profile/picture-modal/picture-edit-modal.html similarity index 100% rename from src/app/components/pages/user/profile/picture/picture-edit-modal.html rename to src/app/pages/user/profile/picture-modal/picture-edit-modal.html diff --git a/src/app/components/pages/user/profile/picture/picture-edit-modal.scss b/src/app/pages/user/profile/picture-modal/picture-edit-modal.scss similarity index 100% rename from src/app/components/pages/user/profile/picture/picture-edit-modal.scss rename to src/app/pages/user/profile/picture-modal/picture-edit-modal.scss diff --git a/src/app/components/pages/user/profile/profile.component.ts b/src/app/pages/user/profile/profile.component.ts similarity index 84% rename from src/app/components/pages/user/profile/profile.component.ts rename to src/app/pages/user/profile/profile.component.ts index 67378e2..b60ed3b 100644 --- a/src/app/components/pages/user/profile/profile.component.ts +++ b/src/app/pages/user/profile/profile.component.ts @@ -5,12 +5,13 @@ import { TranslateService } from '@ngx-translate/core'; import { Apollo, gql } from 'apollo-angular'; import { PageService } from 'src/app/services/page.service'; import { UserService } from 'src/app/services/user.service'; -import { Objected, UserObject } from 'src/types/objects'; -import { UserProfilePictureEditModalComponent } from './picture/picture-edit-modal.component'; +import { Objected, PublicUserObject, UserObject } from 'src/types/objects'; +import { UserProfilePictureEditModalComponent } from './picture-modal/picture-edit-modal.component'; import { environment } from 'src/environments/environment.dev'; import { HttpClient } from '@angular/common/http'; import { ActivatedRoute } from '@angular/router'; -import { UserProfileBannerEditModalComponent } from './banner/banner-edit-modal.component'; +import { UserProfileBannerEditModalComponent } from './banner-modal/banner-edit-modal.component'; +import { DEFAULT_HEADERS } from 'src/utils/http'; @Component({ selector: 'app-user-profile', @@ -19,7 +20,7 @@ import { UserProfileBannerEditModalComponent } from './banner/banner-edit-modal. }) export class UserProfileComponent { public current: 'about' | 'contact' = 'about'; - public user?: UserObject; + public user?: UserObject; public age?: number; public birthdayFormatted?: string; @@ -60,7 +61,11 @@ export class UserProfileComponent { * TODO implement permission system */ public get isOwnerOrHasPermission(): boolean { - return this.isOwner; + return this.isOwner || this.hasPermission; + } + + public get hasPermission(): boolean { + return true; } public get isOwner(): boolean { @@ -78,40 +83,34 @@ export class UserProfileComponent { public getUserData(user_id: number): void { this.http .get(`${environment.API_URL}/users/picture/${user_id}`, { - headers: { - Authorization: `${sessionStorage.getItem('token')}`, - 'Accept-Language': localStorage.getItem('lang') ?? 'en-US', - }, + headers: DEFAULT_HEADERS, responseType: 'arraybuffer', }) .subscribe({ next: (data) => { this.profilePicture = data.toBase64(); }, - error: (_) => { + error: () => { // do nothing (default picture will be used) }, }); this.http .get(`${environment.API_URL}/users/banner/${user_id}`, { - headers: { - Authorization: `${sessionStorage.getItem('token')}`, - 'Accept-Language': localStorage.getItem('lang') ?? 'en-US', - }, + headers: DEFAULT_HEADERS, responseType: 'arraybuffer', }) .subscribe({ next: (data) => { this.profileBanner = data.toBase64(); }, - error: (_) => { + error: () => { // do nothing (default picture will be used) }, }); this.apollo - .query>({ + .query>({ query: gql` query ($user_id: Int!) { user(id: $user_id) { diff --git a/src/app/components/pages/user/profile/profile.html b/src/app/pages/user/profile/profile.html similarity index 66% rename from src/app/components/pages/user/profile/profile.html rename to src/app/pages/user/profile/profile.html index 25ec9be..d4ca976 100644 --- a/src/app/components/pages/user/profile/profile.html +++ b/src/app/pages/user/profile/profile.html @@ -12,6 +12,7 @@
+
@@ -20,58 +21,59 @@
+
-
+
- -
-
+
-
-
+
+
{{ 'profile.birthday' | translate }} {{ user?.birthday | date: 'dd/MM/yyyy' }}
-
+
{{ 'profile.cursus_utbm' | translate }} {{ user?.cursus }}
-
+
{{ 'profile.joined_the_site' | translate }} {{ user?.created | date: 'dd/MM/yyyy' }}
-
-
+
+
{{ 'profile.gender' | translate }} {{ user?.gender }}
-
+
{{ 'profile.specialty' | translate }} {{ user?.specialty }}
-
+
{{ 'profile.last_seen' | translate }} {{ user?.last_seen | date: 'dd/MM/yyyy' }}
-
-
+
+
{{ 'profile.pronouns' | translate }} {{ user?.pronouns }}
-
+
{{ 'profile.promotion' | translate }} {{ user?.promotion }}
-
+
{{ 'profile.subscription' | translate }} {{ user?.subscription | date: 'dd/MM/yyyy' }}
@@ -79,7 +81,26 @@
- OUI +
+
+ {{ 'profile.email' | translate }} + {{ user?.email }} +
+
+ {{ 'profile.secondary_email' | translate }} + {{ user?.secondary_email }} +
+
+ {{ 'profile.phone' | translate }} + {{ user?.phone }} +
+
+
+
+ {{ 'profile.parent_contact' | translate }} + {{ user?.parent_contact }} +
+
diff --git a/src/app/components/pages/user/profile/profile.scss b/src/app/pages/user/profile/profile.scss similarity index 97% rename from src/app/components/pages/user/profile/profile.scss rename to src/app/pages/user/profile/profile.scss index 128bec5..02a223c 100644 --- a/src/app/components/pages/user/profile/profile.scss +++ b/src/app/pages/user/profile/profile.scss @@ -171,14 +171,14 @@ width: 100%; padding: 5px 0; - >.tab-header { + >.header { display: flex; gap: 10px; >.tabs { width: 100%; - >.tab-link { + >.link { border: none; background-color: transparent; @@ -201,7 +201,7 @@ } } - >.tab-content { + >.body { display: flex; flex-direction: row; @@ -217,12 +217,12 @@ display: flex; } - >.profile-line { + >.row { display: block; flex-direction: row; width: 100%; - >.profile-column { + >.column { display: flex; flex-direction: column; font-family: Roboto, sans-serif; diff --git a/src/app/services/user.service.ts b/src/app/services/user.service.ts index 83caaea..5af5a89 100644 --- a/src/app/services/user.service.ts +++ b/src/app/services/user.service.ts @@ -1,10 +1,11 @@ -import type { Objected, UserObject } from 'src/types/objects'; +import type { Objected, PublicUserObject } from 'src/types/objects'; import { Inject, Injectable } from '@angular/core'; import { Apollo, gql } from 'apollo-angular'; import { PageService } from './page.service'; import { environment } from 'src/environments/environment.dev'; import { HttpClient } from '@angular/common/http'; +import { DEFAULT_HEADERS } from 'src/utils/http'; @Injectable({ providedIn: 'root', @@ -29,7 +30,7 @@ export class UserService { public fetchUser(id: number) { this.apollo - .query>({ + .query>({ query: gql` query ($user_id: Int!) { user(id: $user_id) { @@ -60,10 +61,7 @@ export class UserService { public fetchUserPicture(id: number) { this.http .get(`${environment.API_URL}/users/picture/${id}`, { - headers: { - Authorization: `${sessionStorage.getItem('token')}`, - 'Accept-Language': sessionStorage.getItem('lang') ?? 'en-US', - }, + headers: DEFAULT_HEADERS, responseType: 'arraybuffer', }) .subscribe({ @@ -77,10 +75,7 @@ export class UserService { public fetchUserBanner(id: number) { this.http .get(`${environment.API_URL}/users/banner/${id}`, { - headers: { - Authorization: `${sessionStorage.getItem('token')}`, - 'Accept-Language': sessionStorage.getItem('lang') ?? 'en-US', - }, + headers: DEFAULT_HEADERS, responseType: 'arraybuffer', }) .subscribe({ @@ -112,7 +107,7 @@ export class UserService { // this.p.route = '/'; } - public get user(): Partial { + public get user(): Partial { return JSON.parse(sessionStorage.getItem('user') ?? '{}'); } diff --git a/src/types/objects.d.ts b/src/types/objects.d.ts index 35bc62b..ba18a8d 100644 --- a/src/types/objects.d.ts +++ b/src/types/objects.d.ts @@ -7,25 +7,43 @@ export interface TokenObject { user_id: number; } -export interface UserObject { - id: number; +/** + * Public user object, returned by the API. + */ +export interface PublicUserObject { + birthday?: Date; + created: Date; + cursus?: string; + email?: string; first_name: string; + gender?: string; + id: number; last_name: string; - email: string; - birthday: Date; + last_seen?: Date; nickname?: string; - gender?: string; - cursus?: string; + parent_contact?: string; + phone?: string; promotion?: number; - specialty?: string; pronouns?: string; + secondary_email?: string; + specialty?: string; subscriber_account?: string; - created: Date; + subscription?: Date; updated: Date; - last_seen: Date; - subscription: Date; } +/** + * Private user object, returned by the API. + * Basically, it's the same as the public user object, but with all fields required. + */ +export type PrivateUserObject = Required; + +/** + * User object, returned by the API. + * Configurable with the `filter` parameter. + */ +export type UserObject = T extends true ? PrivateUserObject : PublicUserObject; + export interface DateObject { year: number; month: number; diff --git a/src/utils/http.ts b/src/utils/http.ts new file mode 100644 index 0000000..975042c --- /dev/null +++ b/src/utils/http.ts @@ -0,0 +1,7 @@ +/** + * Default headers for all requests + */ +export const DEFAULT_HEADERS: { [key: string]: string | string[] } = { + Authorization: `${sessionStorage.getItem('token')}`, + 'Accept-Language': localStorage.getItem('lang') ?? 'en-US', +}; From cb4be8666b18acab451bd3c458236ea857321ef5 Mon Sep 17 00:00:00 2001 From: Julien Constant Date: Mon, 22 May 2023 16:24:50 +0200 Subject: [PATCH 067/146] Adjusted Objected type --- .../icons/promo_icon/promo_icon.component.ts | 4 ++-- src/app/pages/login/login.component.ts | 4 ++-- src/app/pages/register/register.component.ts | 4 ++-- .../picture-edit-modal.component.ts | 4 ++-- src/app/pages/user/profile/profile.component.ts | 6 +++--- src/app/pages/user/profile/profile.html | 5 ++++- src/app/pages/user/profile/profile.scss | 6 +++++- src/app/services/user.service.ts | 6 +++--- src/types/objects.d.ts | 16 ++++++++-------- 9 files changed, 31 insertions(+), 24 deletions(-) diff --git a/src/app/components/common/icons/promo_icon/promo_icon.component.ts b/src/app/components/common/icons/promo_icon/promo_icon.component.ts index f86ea52..471f025 100644 --- a/src/app/components/common/icons/promo_icon/promo_icon.component.ts +++ b/src/app/components/common/icons/promo_icon/promo_icon.component.ts @@ -1,6 +1,6 @@ import { Component, Inject, Input } from '@angular/core'; import { Apollo, gql } from 'apollo-angular'; -import { Objected, PromotionObject } from 'src/types/objects'; +import { Objected, Promotion } from 'src/types/objects'; @Component({ selector: 'icon-promotion', @@ -14,7 +14,7 @@ export class IconPromotionComponent { public constructor(@Inject(Apollo) private readonly apollo: Apollo) { this.apollo - .query>({ + .query>({ query: gql` query ($number: Int!) { promotion(number: $number) { diff --git a/src/app/pages/login/login.component.ts b/src/app/pages/login/login.component.ts index cbe9c67..6d503e3 100644 --- a/src/app/pages/login/login.component.ts +++ b/src/app/pages/login/login.component.ts @@ -1,4 +1,4 @@ -import type { Objected, TokenObject } from 'src/types/objects'; +import type { Objected, Token } from 'src/types/objects'; import { Component, Inject } from '@angular/core'; import { FormBuilder, FormGroup, Validators } from '@angular/forms'; @@ -33,7 +33,7 @@ export class LoginComponent { public login(): void { this.apollo - .mutate>({ + .mutate>({ mutation: gql` mutation ($email: String!, $password: String!) { login(email: $email, password: $password) { diff --git a/src/app/pages/register/register.component.ts b/src/app/pages/register/register.component.ts index 0568a9b..1ceb27d 100644 --- a/src/app/pages/register/register.component.ts +++ b/src/app/pages/register/register.component.ts @@ -1,4 +1,4 @@ -import type { Objected, TokenObject } from 'src/types/objects'; +import type { Objected, Token } from 'src/types/objects'; import { Component, Inject } from '@angular/core'; import { TranslateService } from '@ngx-translate/core'; @@ -76,7 +76,7 @@ export class RegisterComponent { public register(): void { this.apollo - .mutate>({ + .mutate>({ mutation: gql` mutation ( $birthday: DateTime! diff --git a/src/app/pages/user/profile/picture-modal/picture-edit-modal.component.ts b/src/app/pages/user/profile/picture-modal/picture-edit-modal.component.ts index 14e8101..59223c3 100644 --- a/src/app/pages/user/profile/picture-modal/picture-edit-modal.component.ts +++ b/src/app/pages/user/profile/picture-modal/picture-edit-modal.component.ts @@ -1,4 +1,4 @@ -import type { DateObject, Objected } from 'src/types/objects'; +import type { Time, Objected } from 'src/types/objects'; import type { ImageCropperResult, base64 } from 'src/types'; import { OnInit, ViewChild, ElementRef, Component, Inject, Output, EventEmitter } from '@angular/core'; @@ -64,7 +64,7 @@ export class UserProfilePictureEditModalComponent implements OnInit { public fetchData(id: number): void { this.apollo - .query>({ + .query>({ query: gql` query ($user_id: Int!) { lastPictureUpdate(id: $user_id) { diff --git a/src/app/pages/user/profile/profile.component.ts b/src/app/pages/user/profile/profile.component.ts index b60ed3b..06b6bcd 100644 --- a/src/app/pages/user/profile/profile.component.ts +++ b/src/app/pages/user/profile/profile.component.ts @@ -5,7 +5,7 @@ import { TranslateService } from '@ngx-translate/core'; import { Apollo, gql } from 'apollo-angular'; import { PageService } from 'src/app/services/page.service'; import { UserService } from 'src/app/services/user.service'; -import { Objected, PublicUserObject, UserObject } from 'src/types/objects'; +import { Objected, PrivateUser, PublicUser } from 'src/types/objects'; import { UserProfilePictureEditModalComponent } from './picture-modal/picture-edit-modal.component'; import { environment } from 'src/environments/environment.dev'; import { HttpClient } from '@angular/common/http'; @@ -20,7 +20,7 @@ import { DEFAULT_HEADERS } from 'src/utils/http'; }) export class UserProfileComponent { public current: 'about' | 'contact' = 'about'; - public user?: UserObject; + public user?: PrivateUser | PublicUser; public age?: number; public birthdayFormatted?: string; @@ -110,7 +110,7 @@ export class UserProfileComponent { }); this.apollo - .query>({ + .query>({ query: gql` query ($user_id: Int!) { user(id: $user_id) { diff --git a/src/app/pages/user/profile/profile.html b/src/app/pages/user/profile/profile.html index d4ca976..6a1bf5f 100644 --- a/src/app/pages/user/profile/profile.html +++ b/src/app/pages/user/profile/profile.html @@ -17,7 +17,10 @@
{{ user?.first_name }} {{ user?.last_name }} -
{{ nickname }}
 {{ 'profile.age' | translate: { age} }}
+
+
{{ nickname }}
+
{{ 'profile.age' | translate: { age } }}
+
diff --git a/src/app/pages/user/profile/profile.scss b/src/app/pages/user/profile/profile.scss index 02a223c..a08516d 100644 --- a/src/app/pages/user/profile/profile.scss +++ b/src/app/pages/user/profile/profile.scss @@ -154,9 +154,13 @@ font-weight: bold; } - >.nickname { + >.subname { font-weight: 300; display: flex; + + >.nickname { + margin-right: 5px; + } } } diff --git a/src/app/services/user.service.ts b/src/app/services/user.service.ts index 5af5a89..cfb7d4b 100644 --- a/src/app/services/user.service.ts +++ b/src/app/services/user.service.ts @@ -1,4 +1,4 @@ -import type { Objected, PublicUserObject } from 'src/types/objects'; +import type { Objected, PublicUser } from 'src/types/objects'; import { Inject, Injectable } from '@angular/core'; import { Apollo, gql } from 'apollo-angular'; @@ -30,7 +30,7 @@ export class UserService { public fetchUser(id: number) { this.apollo - .query>({ + .query>({ query: gql` query ($user_id: Int!) { user(id: $user_id) { @@ -107,7 +107,7 @@ export class UserService { // this.p.route = '/'; } - public get user(): Partial { + public get user(): Partial { return JSON.parse(sessionStorage.getItem('user') ?? '{}'); } diff --git a/src/types/objects.d.ts b/src/types/objects.d.ts index ba18a8d..e6dcde5 100644 --- a/src/types/objects.d.ts +++ b/src/types/objects.d.ts @@ -1,8 +1,8 @@ -export type Objected = { - [key: string]: T; +type Objected> = { + [K in keyof T]: T[K]; }; -export interface TokenObject { +export interface Token { token: string; user_id: number; } @@ -10,7 +10,7 @@ export interface TokenObject { /** * Public user object, returned by the API. */ -export interface PublicUserObject { +export interface PublicUser { birthday?: Date; created: Date; cursus?: string; @@ -36,15 +36,15 @@ export interface PublicUserObject { * Private user object, returned by the API. * Basically, it's the same as the public user object, but with all fields required. */ -export type PrivateUserObject = Required; +export type PrivateUser = Required; /** * User object, returned by the API. * Configurable with the `filter` parameter. */ -export type UserObject = T extends true ? PrivateUserObject : PublicUserObject; +export type User = T extends true ? PrivateUser : PublicUser; -export interface DateObject { +export interface Time { year: number; month: number; day: number; @@ -55,7 +55,7 @@ export interface DateObject { date: Date; } -export interface PromotionObject { +export interface Promotion { id: number; number: number; picture?: string; From 3d8b63365f0c7816d9e411ec59031bfb203e96c0 Mon Sep 17 00:00:00 2001 From: Julien Constant Date: Mon, 22 May 2023 16:25:16 +0200 Subject: [PATCH 068/146] Add background color when user profile picture is transparent --- src/app/pages/user/profile/profile.scss | 1 + 1 file changed, 1 insertion(+) diff --git a/src/app/pages/user/profile/profile.scss b/src/app/pages/user/profile/profile.scss index a08516d..367cb90 100644 --- a/src/app/pages/user/profile/profile.scss +++ b/src/app/pages/user/profile/profile.scss @@ -93,6 +93,7 @@ border: 5px solid var(--background-color); border-radius: 50%; + background-color: var(--background-color); &.rtl { left: unset; From 5511aa22c2a07ca2f9d21cc9570cead38fd5f250 Mon Sep 17 00:00:00 2001 From: Julien Constant Date: Mon, 22 May 2023 17:34:29 +0200 Subject: [PATCH 069/146] Hide promotion logo if not set/hidden --- src/app/pages/user/profile/profile.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app/pages/user/profile/profile.html b/src/app/pages/user/profile/profile.html index 6a1bf5f..f69df62 100644 --- a/src/app/pages/user/profile/profile.html +++ b/src/app/pages/user/profile/profile.html @@ -10,7 +10,7 @@
- +
From ebbc9c2cb6872bd61a8680baff962f9a2496b2c6 Mon Sep 17 00:00:00 2001 From: Julien Constant Date: Tue, 23 May 2023 00:58:22 +0200 Subject: [PATCH 070/146] Use REST request instead of Apollo to get the logo --- .../icons/promo_icon/promo_icon.component.ts | 44 +++++++++---------- 1 file changed, 21 insertions(+), 23 deletions(-) diff --git a/src/app/components/common/icons/promo_icon/promo_icon.component.ts b/src/app/components/common/icons/promo_icon/promo_icon.component.ts index 471f025..5fc14b4 100644 --- a/src/app/components/common/icons/promo_icon/promo_icon.component.ts +++ b/src/app/components/common/icons/promo_icon/promo_icon.component.ts @@ -1,36 +1,34 @@ -import { Component, Inject, Input } from '@angular/core'; -import { Apollo, gql } from 'apollo-angular'; -import { Objected, Promotion } from 'src/types/objects'; +import { HttpClient } from '@angular/common/http'; +import { Component, Inject, Input, OnInit } from '@angular/core'; +import { environment } from 'src/environments/environment'; +import { DEFAULT_HEADERS } from 'src/utils/http'; @Component({ selector: 'icon-promotion', templateUrl: './promo_icon.html', styleUrls: ['../icons.scss', './promo_icon.scss'], }) -export class IconPromotionComponent { +export class IconPromotionComponent implements OnInit { public picture?: string = undefined; - @Input() public number?: number = undefined; + @Input() public number?: number; + @Input() public id?: number; - public constructor(@Inject(Apollo) private readonly apollo: Apollo) { - this.apollo - .query>({ - query: gql` - query ($number: Int!) { - promotion(number: $number) { - picture - } - } - `, - variables: { - number: this.number, - }, - fetchPolicy: 'cache-first', - errorPolicy: 'all', + public constructor(@Inject(HttpClient) private readonly http: HttpClient) {} + + public ngOnInit(): void { + this.http + .get(`${environment.API_URL}/promotions/logo/${this.id}`, { + headers: DEFAULT_HEADERS, + responseType: 'arraybuffer', }) - .subscribe(({ data }) => { - if (!data) return; - this.picture = data['promotion']?.picture; + .subscribe({ + next: (data) => { + this.picture = data.toBase64(); + }, + error: () => { + this.picture = undefined; + }, }); } } From 6b92aed640ac466b02508071d1f016f1ddf256db Mon Sep 17 00:00:00 2001 From: Julien Constant Date: Tue, 23 May 2023 01:04:38 +0200 Subject: [PATCH 071/146] Some clean up and variable renames --- src/app/app-routing.module.ts | 6 +- src/app/app.component.html | 30 +++--- .../lang_selector/lang_selector.component.ts | 4 +- .../common/select/select.component.ts | 2 +- .../side_disconnected.component.ts | 2 +- .../side_disconnected/side_disconnected.html | 8 +- .../common/side_menu/side_menu.component.ts | 2 +- .../common/side_menu/side_menu.html | 4 +- .../side_profile/side_profile.component.ts | 15 +-- .../side_menu/side_profile/side_profile.html | 16 ++-- .../common/subtitle/subtitle.component.ts | 2 +- .../components/common/subtitle/subtitle.html | 2 +- .../text_size_selector.component.ts | 2 +- .../text_size_selector.html | 6 +- .../theme_selector.component.ts | 8 +- .../common/theme_selector/theme_selector.html | 6 +- .../desktop/header/header.component.ts | 2 +- src/app/components/desktop/header/header.html | 4 +- .../desktop/navbar/navbar.component.ts | 2 +- src/app/components/desktop/navbar/navbar.html | 10 +- .../mobile/header/header.component.ts | 2 +- src/app/components/mobile/header/header.html | 2 +- .../mobile/navbar/navbar.component.ts | 2 +- src/app/components/mobile/navbar/navbar.html | 8 +- .../forgot_password.component.ts | 6 +- .../forgot_password/forgot_password.html | 72 +++++++-------- src/app/pages/login/login.component.ts | 10 +- src/app/pages/login/login.html | 92 +++++++++---------- src/app/pages/register/register.component.ts | 10 +- src/app/pages/register/register.html | 8 +- src/app/services/user.service.ts | 6 +- 31 files changed, 170 insertions(+), 181 deletions(-) diff --git a/src/app/app-routing.module.ts b/src/app/app-routing.module.ts index 38a511a..86fc38b 100644 --- a/src/app/app-routing.module.ts +++ b/src/app/app-routing.module.ts @@ -1,5 +1,5 @@ -import { NgModule } from '@angular/core'; import { RouterModule, Routes } from '@angular/router'; +import { NgModule, inject } from '@angular/core'; import { NotFoundComponent } from './pages/404/not-found.component'; import { HomeComponent } from './pages/home/home.component'; import { LoginComponent } from './pages/login/login.component'; @@ -8,6 +8,7 @@ import { ForgotPasswordComponent } from './pages/forgot_password/forgot_password import { UserPaymentsComponent } from './pages/user/payments/payments.component'; import { UserPicturesComponent } from './pages/user/pictures/pictures.component'; import { UserProfileComponent } from './pages/user/profile/profile.component'; +import { UserService } from './services/user.service'; const routes: Routes = [ { @@ -25,14 +26,17 @@ const routes: Routes = [ }, { path: 'login', + canActivate: [() => !inject(UserService).isLoggedIn], component: LoginComponent, }, { path: 'register', + canActivate: [() => !inject(UserService).isLoggedIn], component: RegisterComponent, }, { path: 'forgot_password', + canActivate: [() => !inject(UserService).isLoggedIn], component: ForgotPasswordComponent, }, { diff --git a/src/app/app.component.html b/src/app/app.component.html index 41e7f34..39fcc63 100644 --- a/src/app/app.component.html +++ b/src/app/app.component.html @@ -1,15 +1,15 @@ -
- - -
- - -
-
- -
- - - - -
\ No newline at end of file +
+ + +
+ + +
+
+ +
+ + + + +
diff --git a/src/app/components/common/lang_selector/lang_selector.component.ts b/src/app/components/common/lang_selector/lang_selector.component.ts index ccf58dd..cb8a22c 100644 --- a/src/app/components/common/lang_selector/lang_selector.component.ts +++ b/src/app/components/common/lang_selector/lang_selector.component.ts @@ -23,7 +23,7 @@ export class LangSelectorComponent { ]); public constructor( - @Inject(PageService) public readonly p: PageService, + @Inject(PageService) public readonly page: PageService, @Inject(TranslateService) public readonly t: TranslateService, ) {} @@ -42,7 +42,7 @@ export class LangSelectorComponent { label: lang.label, value: lang.filename, image: lang.image, - })).find((lang) => lang.value === this.p.lang) ?? { + })).find((lang) => lang.value === this.page.lang) ?? { label: 'English', value: 'en-US', image: 'assets/flags/en-GB.svg', diff --git a/src/app/components/common/select/select.component.ts b/src/app/components/common/select/select.component.ts index 79f6b5f..2187b37 100644 --- a/src/app/components/common/select/select.component.ts +++ b/src/app/components/common/select/select.component.ts @@ -22,7 +22,7 @@ export class SelectComponent { /** Emit an event with a string being the `value` of the selected option */ @Output() public optionSelected = new EventEmitter(); - public constructor(@Inject(PageService) public readonly p: PageService) {} + public constructor(@Inject(PageService) public readonly page: PageService) {} /** * Displays or hides the dropdown. diff --git a/src/app/components/common/side_menu/side_disconnected/side_disconnected.component.ts b/src/app/components/common/side_menu/side_disconnected/side_disconnected.component.ts index afbfa99..270358c 100644 --- a/src/app/components/common/side_menu/side_disconnected/side_disconnected.component.ts +++ b/src/app/components/common/side_menu/side_disconnected/side_disconnected.component.ts @@ -7,5 +7,5 @@ import { PageService } from 'src/app/services/page.service'; styleUrls: ['./side_disconnected.scss'], }) export class SideMenuDisconnectedComponent { - public constructor(@Inject(PageService) public readonly p: PageService) {} + public constructor(@Inject(PageService) public readonly page: PageService) {} } diff --git a/src/app/components/common/side_menu/side_disconnected/side_disconnected.html b/src/app/components/common/side_menu/side_disconnected/side_disconnected.html index 573e7c9..ec23169 100644 --- a/src/app/components/common/side_menu/side_disconnected/side_disconnected.html +++ b/src/app/components/common/side_menu/side_disconnected/side_disconnected.html @@ -1,13 +1,13 @@
- +
Association des Étudiants de l'université de technologie de Belfort-Montbéliard
- - + +
-
\ No newline at end of file +
diff --git a/src/app/components/common/side_menu/side_menu.component.ts b/src/app/components/common/side_menu/side_menu.component.ts index 71ba886..ffeddd1 100644 --- a/src/app/components/common/side_menu/side_menu.component.ts +++ b/src/app/components/common/side_menu/side_menu.component.ts @@ -10,7 +10,7 @@ export class SideMenuComponent { private _closing = false; @Output() public close = new EventEmitter(); - public constructor(@Inject(PageService) public readonly p: PageService) {} + public constructor(@Inject(PageService) public readonly page: PageService) {} public triggerClose(): void { this._closing = true; diff --git a/src/app/components/common/side_menu/side_menu.html b/src/app/components/common/side_menu/side_menu.html index 418f6e2..7b30221 100644 --- a/src/app/components/common/side_menu/side_menu.html +++ b/src/app/components/common/side_menu/side_menu.html @@ -1,6 +1,6 @@ -
+
-
\ No newline at end of file +
diff --git a/src/app/components/common/side_menu/side_profile/side_profile.component.ts b/src/app/components/common/side_menu/side_profile/side_profile.component.ts index cd78b29..ea790ee 100644 --- a/src/app/components/common/side_menu/side_profile/side_profile.component.ts +++ b/src/app/components/common/side_menu/side_profile/side_profile.component.ts @@ -11,22 +11,17 @@ export class SideMenuProfileComponent { @Output() public close = new EventEmitter(); public constructor( - @Inject(UserService) public readonly u: UserService, - @Inject(PageService) public readonly p: PageService, + @Inject(UserService) public readonly user: UserService, + @Inject(PageService) public readonly page: PageService, ) {} public logout(): void { this.close.emit(); - this.u.logout(); + this.user.logout(); } - public goto(route: string): void { - if (!this.u.isLoggedIn) { - this.p.route = '/home'; - this.close.emit(); - return; - } - this.p.route = `/${this.u.id}/${route}`; + public goto(route: 'profile' | 'payments' | 'pictures'): void { + this.page.route = `users/${this.user.id}${route === 'profile' ? '' : `/${route}`}`; this.close.emit(); } } diff --git a/src/app/components/common/side_menu/side_profile/side_profile.html b/src/app/components/common/side_menu/side_profile/side_profile.html index af260e6..1c56148 100644 --- a/src/app/components/common/side_menu/side_profile/side_profile.html +++ b/src/app/components/common/side_menu/side_profile/side_profile.html @@ -1,15 +1,19 @@
-
+
- -
+ +
- {{ u.fullName }} - {{ u.balance }} € + {{ user.fullName }} + {{ user.balance }} €
- {{ u.accountId }} + {{ user.accountId }}
diff --git a/src/app/components/common/theme_selector/theme_selector.component.ts b/src/app/components/common/theme_selector/theme_selector.component.ts index 9159162..bbe8c98 100644 --- a/src/app/components/common/theme_selector/theme_selector.component.ts +++ b/src/app/components/common/theme_selector/theme_selector.component.ts @@ -20,7 +20,7 @@ export class ThemeSelectorComponent { public constructor( @Inject(TranslateService) public readonly t: TranslateService, - @Inject(PageService) public readonly p: PageService, + @Inject(PageService) public readonly page: PageService, ) {} public ngOnInit(): void { @@ -29,14 +29,14 @@ export class ThemeSelectorComponent { switch (now.getMonth()) { case 11: this.eventThemes.push({ name: 'header.options.event_themes.christmas', value: 'christmas' }); - if (this.p.eventTheme !== 'christmas' && this.p.eventTheme !== null) this.p.eventTheme = 'christmas'; + if (this.page.eventTheme !== 'christmas' && this.page.eventTheme !== null) this.page.eventTheme = 'christmas'; break; case 9: this.eventThemes.push({ name: 'header.options.event_themes.pinktober', value: 'pinktober' }); - if (this.p.eventTheme !== 'pinktober' && this.p.eventTheme !== null) this.p.eventTheme = 'pinktober'; + if (this.page.eventTheme !== 'pinktober' && this.page.eventTheme !== null) this.page.eventTheme = 'pinktober'; break; default: - this.p.eventTheme = 'base'; + this.page.eventTheme = 'base'; break; } diff --git a/src/app/components/common/theme_selector/theme_selector.html b/src/app/components/common/theme_selector/theme_selector.html index 9548337..202a91f 100644 --- a/src/app/components/common/theme_selector/theme_selector.html +++ b/src/app/components/common/theme_selector/theme_selector.html @@ -1,6 +1,6 @@
    -
  • +
  • {{ t.name }}
  • @@ -8,9 +8,9 @@
      -
    • +
    • {{ t.name }}
    -
    \ No newline at end of file +
diff --git a/src/app/components/desktop/header/header.component.ts b/src/app/components/desktop/header/header.component.ts index 46e60f6..6bfcdf6 100644 --- a/src/app/components/desktop/header/header.component.ts +++ b/src/app/components/desktop/header/header.component.ts @@ -14,7 +14,7 @@ export class DesktopHeaderComponent { public constructor( @Inject(UserService) public readonly u: UserService, - @Inject(PageService) public readonly p: PageService, + @Inject(PageService) public readonly page: PageService, ) {} public triggerSideMenuProfile(): void { diff --git a/src/app/components/desktop/header/header.html b/src/app/components/desktop/header/header.html index 0c6d6c1..efcc0fa 100644 --- a/src/app/components/desktop/header/header.html +++ b/src/app/components/desktop/header/header.html @@ -1,6 +1,6 @@
-
- +
+
Association des Étudiants de l'université de technologie de Belfort-Montbéliard diff --git a/src/app/components/desktop/navbar/navbar.component.ts b/src/app/components/desktop/navbar/navbar.component.ts index 978be23..61a8bc7 100644 --- a/src/app/components/desktop/navbar/navbar.component.ts +++ b/src/app/components/desktop/navbar/navbar.component.ts @@ -10,6 +10,6 @@ import { UserService } from 'src/app/services/user.service'; export class DesktopNavbarComponent { public constructor( @Inject(UserService) public readonly u: UserService, - @Inject(PageService) public readonly p: PageService, + @Inject(PageService) public readonly page: PageService, ) {} } diff --git a/src/app/components/desktop/navbar/navbar.html b/src/app/components/desktop/navbar/navbar.html index bc21bfc..bbfff6c 100644 --- a/src/app/components/desktop/navbar/navbar.html +++ b/src/app/components/desktop/navbar/navbar.html @@ -3,20 +3,20 @@ {{ 'navbar.favorites' | translate }}
- - - - + + + - - - + + + - - - + + + diff --git a/src/app/components/desktop/navbar/navbar.component.ts b/src/app/components/desktop/navbar/navbar.component.ts index 61a8bc7..fc06b5c 100644 --- a/src/app/components/desktop/navbar/navbar.component.ts +++ b/src/app/components/desktop/navbar/navbar.component.ts @@ -3,7 +3,7 @@ import { PageService } from 'src/app/services/page.service'; import { UserService } from 'src/app/services/user.service'; @Component({ - selector: 'app-desktop-navbar', + selector: 'sith-desktop-navbar', templateUrl: './navbar.html', styleUrls: ['./navbar.scss'], }) diff --git a/src/app/components/mobile/alert/alert.component.ts b/src/app/components/mobile/alert/alert.component.ts index 0f7dbbb..b981e4a 100644 --- a/src/app/components/mobile/alert/alert.component.ts +++ b/src/app/components/mobile/alert/alert.component.ts @@ -3,7 +3,7 @@ import { AlertService } from 'src/app/services/alert.service'; import { Alert } from 'src/types'; @Component({ - selector: 'app-mobile-alert', + selector: 'sith-mobile-alert', templateUrl: './alert.html', styleUrls: ['./alert.scss'], }) diff --git a/src/app/components/mobile/header/header.component.ts b/src/app/components/mobile/header/header.component.ts index ddacb47..78e14d2 100644 --- a/src/app/components/mobile/header/header.component.ts +++ b/src/app/components/mobile/header/header.component.ts @@ -3,7 +3,7 @@ import { PageService } from 'src/app/services/page.service'; import { UserService } from 'src/app/services/user.service'; @Component({ - selector: 'app-mobile-header', + selector: 'sith-mobile-header', templateUrl: './header.html', styleUrls: ['./header.scss'], }) diff --git a/src/app/components/mobile/header/header.html b/src/app/components/mobile/header/header.html index 46461c9..1048890 100644 --- a/src/app/components/mobile/header/header.html +++ b/src/app/components/mobile/header/header.html @@ -8,14 +8,14 @@
- - - + + + - - - + + + - - - + + + diff --git a/src/app/components/mobile/navbar/navbar.component.ts b/src/app/components/mobile/navbar/navbar.component.ts index 9c7929f..3be28db 100644 --- a/src/app/components/mobile/navbar/navbar.component.ts +++ b/src/app/components/mobile/navbar/navbar.component.ts @@ -3,7 +3,7 @@ import { PageService } from 'src/app/services/page.service'; import { UserService } from 'src/app/services/user.service'; @Component({ - selector: 'app-mobile-navbar', + selector: 'sith-mobile-navbar', templateUrl: './navbar.html', styleUrls: ['./navbar.scss'], }) diff --git a/src/app/pages/forgot_password/forgot_password.component.ts b/src/app/pages/forgot_password/forgot_password.component.ts index 588bcac..9f501ac 100644 --- a/src/app/pages/forgot_password/forgot_password.component.ts +++ b/src/app/pages/forgot_password/forgot_password.component.ts @@ -5,7 +5,7 @@ import { CustomValidators, getErrors } from 'src/app/directives'; import { PageService } from 'src/app/services/page.service'; @Component({ - selector: 'app-forgot-password', + selector: 'sith-forgot-password', templateUrl: './forgot_password.html', styleUrls: ['./forgot_password.scss'], }) diff --git a/src/app/pages/forgot_password/forgot_password.html b/src/app/pages/forgot_password/forgot_password.html index f46eedd..688c330 100644 --- a/src/app/pages/forgot_password/forgot_password.html +++ b/src/app/pages/forgot_password/forgot_password.html @@ -9,7 +9,7 @@ @@ -29,6 +29,6 @@
- + diff --git a/src/app/pages/home/home.html b/src/app/pages/home/home.html index 56a8ef5..2fd89ce 100644 --- a/src/app/pages/home/home.html +++ b/src/app/pages/home/home.html @@ -1 +1 @@ - +Home diff --git a/src/app/pages/login/login.component.ts b/src/app/pages/login/login.component.ts index 0eed8d9..9097e4b 100644 --- a/src/app/pages/login/login.component.ts +++ b/src/app/pages/login/login.component.ts @@ -11,7 +11,7 @@ import { Apollo } from 'apollo-angular'; import gql from 'graphql-tag'; @Component({ - selector: 'app-login', + selector: 'sith-login', templateUrl: './login.html', styleUrls: ['./login.scss'], }) diff --git a/src/app/pages/login/login.html b/src/app/pages/login/login.html index 1a7176b..b59ecdd 100644 --- a/src/app/pages/login/login.html +++ b/src/app/pages/login/login.html @@ -9,7 +9,7 @@
@@ -39,6 +39,6 @@
- + diff --git a/src/app/pages/register/register.component.ts b/src/app/pages/register/register.component.ts index 4999b84..d1108bc 100644 --- a/src/app/pages/register/register.component.ts +++ b/src/app/pages/register/register.component.ts @@ -10,7 +10,7 @@ import { CustomValidators, getErrors } from 'src/app/directives'; import { Apollo, gql } from 'apollo-angular'; @Component({ - selector: 'app-register', + selector: 'sith-register', templateUrl: './register.html', styleUrls: ['./register.scss'], }) diff --git a/src/app/pages/register/register.html b/src/app/pages/register/register.html index c70b4b3..7bad24a 100644 --- a/src/app/pages/register/register.html +++ b/src/app/pages/register/register.html @@ -9,7 +9,7 @@
@@ -78,6 +78,6 @@ - +
diff --git a/src/app/pages/user/payments/payments.component.ts b/src/app/pages/user/payments/payments.component.ts index 09c9593..2cc7eea 100644 --- a/src/app/pages/user/payments/payments.component.ts +++ b/src/app/pages/user/payments/payments.component.ts @@ -1,7 +1,7 @@ import { Component } from '@angular/core'; @Component({ - selector: 'app-user-payments', + selector: 'sith-user-payments', templateUrl: './payments.html', styleUrls: ['./payments.scss'], }) diff --git a/src/app/pages/user/pictures/pictures.component.ts b/src/app/pages/user/pictures/pictures.component.ts index 40bbb1d..e3d7208 100644 --- a/src/app/pages/user/pictures/pictures.component.ts +++ b/src/app/pages/user/pictures/pictures.component.ts @@ -1,7 +1,7 @@ import { Component } from '@angular/core'; @Component({ - selector: 'app-user-pictures', + selector: 'sith-user-pictures', templateUrl: './pictures.html', styleUrls: ['./pictures.scss'], }) diff --git a/src/app/pages/user/profile/banner-modal/banner-edit-modal.component.ts b/src/app/pages/user/profile/banner-modal/banner-edit-modal.component.ts index c015413..bdfaaba 100644 --- a/src/app/pages/user/profile/banner-modal/banner-edit-modal.component.ts +++ b/src/app/pages/user/profile/banner-modal/banner-edit-modal.component.ts @@ -10,7 +10,7 @@ import { DEFAULT_HEADERS } from 'src/utils/http'; import { UserPermissionService } from 'src/app/services/user-permissions.service'; @Component({ - selector: 'app-user-profile-banner-edit-modal', + selector: 'sith-user-profile-banner-edit-modal', templateUrl: './banner-edit-modal.html', styleUrls: ['./banner-edit-modal.scss'], }) diff --git a/src/app/pages/user/profile/banner-modal/banner-edit-modal.html b/src/app/pages/user/profile/banner-modal/banner-edit-modal.html index 86b4633..d710f7b 100644 --- a/src/app/pages/user/profile/banner-modal/banner-edit-modal.html +++ b/src/app/pages/user/profile/banner-modal/banner-edit-modal.html @@ -1,9 +1,9 @@ diff --git a/src/app/pages/user/profile/infos-modal/infos-edit-modal.component.ts b/src/app/pages/user/profile/infos-modal/infos-edit-modal.component.ts index 854cb49..ee5d33f 100644 --- a/src/app/pages/user/profile/infos-modal/infos-edit-modal.component.ts +++ b/src/app/pages/user/profile/infos-modal/infos-edit-modal.component.ts @@ -7,7 +7,7 @@ import { UserService } from 'src/app/services/user.service'; import { PrivateUser, Promotion, UserVisibility } from 'src/types/objects'; @Component({ - selector: 'app-user-profile-infos-edit-modal', + selector: 'sith-user-profile-infos-edit-modal', templateUrl: './infos-edit-modal.html', styleUrls: ['./infos-edit-modal.scss'], }) diff --git a/src/app/pages/user/profile/infos-modal/infos-edit-modal.html b/src/app/pages/user/profile/infos-modal/infos-edit-modal.html index 6793734..732784d 100644 --- a/src/app/pages/user/profile/infos-modal/infos-edit-modal.html +++ b/src/app/pages/user/profile/infos-modal/infos-edit-modal.html @@ -1,5 +1,5 @@ - +

{{ 'profile.identity_info' | translate }}

@@ -138,11 +138,11 @@
- +
- - + +
diff --git a/src/app/pages/user/profile/picture-modal/picture-edit-modal.component.ts b/src/app/pages/user/profile/picture-modal/picture-edit-modal.component.ts index 5b646b3..c7720dc 100644 --- a/src/app/pages/user/profile/picture-modal/picture-edit-modal.component.ts +++ b/src/app/pages/user/profile/picture-modal/picture-edit-modal.component.ts @@ -12,7 +12,7 @@ import { DEFAULT_HEADERS } from 'src/utils/http'; import { UserPermissionService } from 'src/app/services/user-permissions.service'; @Component({ - selector: 'app-user-profile-picture-edit-modal', + selector: 'sith-user-profile-picture-edit-modal', templateUrl: './picture-edit-modal.html', styleUrls: ['./picture-edit-modal.scss'], }) diff --git a/src/app/pages/user/profile/picture-modal/picture-edit-modal.html b/src/app/pages/user/profile/picture-modal/picture-edit-modal.html index b7085f4..4436447 100644 --- a/src/app/pages/user/profile/picture-modal/picture-edit-modal.html +++ b/src/app/pages/user/profile/picture-modal/picture-edit-modal.html @@ -1,11 +1,11 @@ - +
{{ 'profile.picture_too_recent' | translate: { date: timeLeft | date: 'dd/MM/yyyy HH:mm:ss' } }} - + - - -
diff --git a/src/app/pages/user/profile/profile.component.ts b/src/app/pages/user/profile/profile.component.ts index 978c8a6..90a8096 100644 --- a/src/app/pages/user/profile/profile.component.ts +++ b/src/app/pages/user/profile/profile.component.ts @@ -15,7 +15,7 @@ import { DEFAULT_HEADERS } from 'src/utils/http'; import { UserPermissionService } from 'src/app/services/user-permissions.service'; @Component({ - selector: 'app-user-profile', + selector: 'sith-user-profile', templateUrl: './profile.html', styleUrls: ['./profile.scss'], }) diff --git a/src/app/pages/user/profile/profile.html b/src/app/pages/user/profile/profile.html index 742e7f7..dd746b6 100644 --- a/src/app/pages/user/profile/profile.html +++ b/src/app/pages/user/profile/profile.html @@ -1,6 +1,6 @@ - - - + + +
diff --git a/src/app/pages/user/users.component.ts b/src/app/pages/user/users.component.ts index 19f2fac..2bf8951 100644 --- a/src/app/pages/user/users.component.ts +++ b/src/app/pages/user/users.component.ts @@ -4,7 +4,7 @@ import { PageService } from 'src/app/services/page.service'; import { PublicUser } from 'src/types/objects'; @Component({ - selector: 'app-users', + selector: 'sith-users', templateUrl: './users.html', styleUrls: [], }) diff --git a/src/app/services/page.service.ts b/src/app/services/page.service.ts index 882aa01..41dd77a 100644 --- a/src/app/services/page.service.ts +++ b/src/app/services/page.service.ts @@ -106,9 +106,9 @@ export class PageService { * @returns {FontSize} The current font size */ public get fontSize(): FontSize { - let size = localStorage.getItem('fontSize'); + let size = localStorage.getItem('fontSize') as (FontSize | null); if (size === null || (size !== '0.75' && size !== '1' && size !== '1.25')) size = '1'; - return size as FontSize; + return size; } /** diff --git a/src/app/styles/animations.scss b/src/app/styles/animations.scss index f13c93e..f98afae 100644 --- a/src/app/styles/animations.scss +++ b/src/app/styles/animations.scss @@ -1,49 +1,49 @@ -@keyframes slide { - 0% { - transform: translateX(100%); - } - - 100% { - transform: translateX(0); - } -} - -@keyframes slide-rtl { - 0% { - transform: translateX(-100%); - } - - 100% { - transform: translateX(0); - } -} - -@keyframes fade { - 0% { - opacity: 0; - } - - 100% { - opacity: 1; - } -} - -@keyframes fade-out { - 0% { - opacity: 1; - } - - 100% { - opacity: 0; - } -} - -@keyframes move-up { - 0% { - transform: translateY(0); - } - - 100% { - transform: translateY(-100%); - } -} \ No newline at end of file +@keyframes slide { + 0% { + transform: translateX(100%); + } + + 100% { + transform: translateX(0); + } +} + +@keyframes slide-rtl { + 0% { + transform: translateX(-100%); + } + + 100% { + transform: translateX(0); + } +} + +@keyframes fade { + 0% { + opacity: 0; + } + + 100% { + opacity: 1; + } +} + +@keyframes fade-out { + 0% { + opacity: 1; + } + + 100% { + opacity: 0; + } +} + +@keyframes move-up { + 0% { + transform: translateY(0); + } + + 100% { + transform: translateY(-100%); + } +} diff --git a/src/app/styles/styles.scss b/src/app/styles/styles.scss index 9b30c23..31a886d 100644 --- a/src/app/styles/styles.scss +++ b/src/app/styles/styles.scss @@ -1,14 +1,11 @@ @import './roboto'; @import './inter'; - -// TODO: implements this with themes -$user-custom-color: #420447; -$background-color: #21262d; - -// -- +@import './themes'; +@import './animations'; :root { - --user-custom-color: $user-custom-color; + --user-custom-color: #420447; + --max-page-width: 1080px; } *, @@ -23,17 +20,19 @@ html { padding: 0; height: 100%; width: 100%; + background-color: var(--background-color); } /* Firefox */ * { - scrollbar-width: auto; + scrollbar-width: thin; scrollbar-color: rgb(0 0 0 / 25%) transparent; } /* Chrome, Edge, and Safari */ *::-webkit-scrollbar { width: 8px; + height: 8px; } *::-webkit-scrollbar-track { @@ -46,10 +45,43 @@ html { border: none; } -// TODO: remove this once the theme is implemented -body { - padding: 30px; - background-color: $background-color; +input[type="date"] { + + &::-webkit-inner-spin-button, + &::-webkit-calendar-picker-indicator { + display: none; + appearance: none; + } +} + +// "deactivate" autofill white background +// you can't directly change the background color of the autofill +// so we have to change the transition time to a very long time (1 week here) +input { + + &:-webkit-autofill, + &:-webkit-autofill:focus { + transition: background-color 604800s 0s, color 604800s 0s; + } + + &[data-autocompleted] { + background-color: transparent !important; + } } -// -- +.global-link { + font-family: Inter, sans-serif; + font-size: calc(14px * var(--font-size)); + font-style: italic; + line-height: 17px; + text-decoration: none; + color: var(--dark-blue); + + &:hover { + color: var(--blue); + } + + &:visited { + color: var(--purple); + } +} diff --git a/src/index.html b/src/index.html index 7220c51..7fdb033 100644 --- a/src/index.html +++ b/src/index.html @@ -19,6 +19,6 @@ - + From 211c6396a2fb2a617945f521b652558260cb02c4 Mon Sep 17 00:00:00 2001 From: Julien Constant Date: Fri, 27 Oct 2023 23:25:10 +0200 Subject: [PATCH 106/146] refactor(core): refactor (tor) --- .eslintrc.cjs | 82 + .eslintrc.json | 47 - .gitignore | 2 + .gitmodules | 3 + angular.json | 4 +- package.json | 47 +- pnpm-lock.yaml | 3352 ++++++++++------- src/app-routing.module.ts | 90 + src/app.component.html | 19 + src/{app => }/app.component.scss | 0 src/{app => }/app.component.ts | 17 +- src/{app => }/app.module.ts | 16 +- src/app/app-routing.module.ts | 88 - src/app/app.component.html | 15 - src/app/app.component.spec.ts | 50 - .../icons/promo_icon/promo_icon.component.ts | 74 - .../common/side_menu/side_menu.html | 6 - .../components/common/subtitle/subtitle.html | 1 - .../text_size_selector.html | 5 - .../theme_selector.component.ts | 50 - .../common/theme_selector/theme_selector.html | 16 - .../desktop/alert/alert.component.spec.ts | 41 - .../desktop/alert/alert.component.ts | 16 - src/app/components/desktop/alert/alert.html | 9 - src/app/components/desktop/alert/alert.scss | 63 - src/app/components/desktop/header/header.html | 30 - src/app/components/desktop/navbar/navbar.html | 22 - .../mobile/alert/alert.component.spec.ts | 41 - .../mobile/alert/alert.component.ts | 16 - src/app/components/mobile/alert/alert.html | 7 - src/app/components/mobile/alert/alert.scss | 51 - src/app/components/mobile/navbar/navbar.html | 13 - src/app/graphql.module.ts | 67 - src/app/pages/login/login.component.ts | 72 - .../picture-edit-modal.component.ts | 159 - src/app/pages/user/users.component.ts | 39 - src/app/services/alert.service.spec.ts | 43 - src/app/services/alert.service.ts | 78 - src/app/services/page.service.spec.ts | 102 - src/app/services/page.service.ts | 253 -- src/app/services/user-permissions.service.ts | 77 - src/app/services/user.service.spec.ts | 58 - src/assets/i18n/en-US.json | 2 +- .../common/button/button.component.html | 0 .../common/button/button.component.scss | 0 .../common/button/button.component.spec.ts | 1 + .../common/button/button.component.ts | 0 .../components/common/common.module.ts | 23 +- .../common/file_input/file-input.component.ts | 7 +- .../common/file_input/file-input.html | 4 +- .../common/file_input/file-input.scss | 0 .../common/icons/at/at.component.ts | 2 +- .../components/common/icons/at/at.svg | 0 .../burger_menu/burger_menu.component.ts | 2 +- .../common/icons/burger_menu/burger_menu.svg | 0 .../icons/calendar/calendar.component.ts | 2 +- .../common/icons/calendar/calendar.svg | 0 .../common/icons/close/close.component.ts | 2 +- .../components/common/icons/close/close.svg | 0 .../icons/cogwheel/cogwheel.component.ts | 2 +- .../common/icons/cogwheel/cogwheel.svg | 0 .../expand_less/expand_less.component.ts | 0 .../common/icons/expand_less/expand_less.svg | 0 .../expand_more/expand_more.component.ts | 0 .../common/icons/expand_more/expand_more.svg | 0 .../common/icons/eye/eye.component.ts | 2 +- .../components/common/icons/eye/eye.svg | 0 .../common/icons/flag/flag.component.ts | 2 +- .../components/common/icons/flag/flag.svg | 0 .../icons/heart_plus/heart_plus.component.ts | 2 +- .../common/icons/heart_plus/heart_plus.svg | 0 .../components/common/icons/icons.module.ts | 29 +- .../components/common/icons/icons.scss | 0 .../common/icons/laundry/laundry.component.ts | 2 +- .../common/icons/laundry/laundry.svg | 0 .../icons/messages/messages.component.ts | 2 +- .../common/icons/messages/messages.svg | 0 .../icons/party_hat/party_hat.component.ts | 2 +- .../common/icons/party_hat/party_hat.svg | 0 .../icons/password/password.component.ts | 2 +- .../common/icons/password/password.svg | 0 .../icons/payments/payments.component.ts | 2 +- .../common/icons/payments/payments.svg | 0 .../common/icons/pencil/pencil.component.ts | 2 +- .../components/common/icons/pencil/pencil.svg | 0 .../common/icons/person/person.component.ts | 2 +- .../components/common/icons/person/person.svg | 0 .../icons/pictures/pictures.component.ts | 2 +- .../common/icons/pictures/pictures.svg | 0 .../icons/promo_icon/promo_icon.component.ts | 71 + .../common/icons/promo_icon/promo_icon.html | 0 .../common/icons/promo_icon/promo_icon.scss | 0 .../common/icons/search/search.component.ts | 2 +- .../components/common/icons/search/search.svg | 0 .../shopping_basket.component.ts | 2 +- .../icons/shopping_basket/shopping_basket.svg | 0 .../shopping_cart/shopping_cart.component.ts | 2 +- .../icons/shopping_cart/shopping_cart.svg | 0 .../common/icons/upload/upload.component.ts | 2 +- .../components/common/icons/upload/upload.svg | 0 .../user_icon/user_icon.component.spec.ts | 1 + .../icons/user_icon/user_icon.component.ts | 2 +- .../common/icons/user_icon/user_icon.html | 0 .../common/icons/user_icon/user_icon.scss | 0 .../image-cropper.component.spec.ts | 0 .../image_cropper/image-cropper.component.ts | 36 +- .../common/image_cropper/image-cropper.html | 0 .../common/image_cropper/image-cropper.scss | 0 .../font_size_selector.component.ts} | 26 +- .../font_size/font_size_selector.html | 5 + .../font_size/font_size_selector.scss} | 0 .../lang}/lang_selector.component.spec.ts | 6 +- .../lang}/lang_selector.component.ts | 13 +- .../common/selectors/lang}/lang_selector.html | 0 .../common/selectors/lang}/lang_selector.scss | 0 .../select/select.component.spec.ts | 9 +- .../selectors}/select/select.component.ts | 6 +- .../common/selectors}/select/select.html | 4 +- .../common/selectors}/select/select.scss | 0 .../theme}/theme_selector.component.spec.ts | 6 +- .../theme/theme_selector.component.ts | 56 + .../selectors/theme/theme_selector.html | 24 + .../selectors/theme}/theme_selector.scss | 0 .../side_disconnected.component.ts | 3 +- .../side_disconnected/side_disconnected.html | 6 +- .../side_disconnected/side_disconnected.scss | 0 .../side_menu/side_menu.component.spec.ts | 6 +- .../common/side_menu/side_menu.component.ts | 13 +- .../common/side_menu/side_menu.html | 6 + .../common/side_menu/side_menu.scss | 0 .../side_options/side_options.component.ts | 3 +- .../side_menu/side_options/side_options.html | 2 +- .../side_menu/side_options/side_options.scss | 0 .../side_profile.component.spec.ts | 8 +- .../side_profile/side_profile.component.ts | 15 +- .../side_menu/side_profile/side_profile.html | 21 +- .../side_menu/side_profile/side_profile.scss | 0 .../subtitle/subtitle.component.spec.ts | 6 +- .../common/subtitle/subtitle.component.ts | 3 +- src/components/common/subtitle/subtitle.html | 1 + .../components/common/subtitle/subtitle.scss | 0 .../common/title/title.component.ts | 0 .../components/common/title/title.html | 0 .../components/common/title/title.scss | 0 src/{app => }/components/components.module.ts | 5 +- .../components/desktop/desktop.module.ts | 8 +- .../desktop/header/header.component.spec.ts | 6 +- .../desktop/header/header.component.ts | 5 +- src/components/desktop/header/header.html | 31 + .../components/desktop/header/header.scss | 0 .../desktop/navbar/navbar.component.ts | 5 +- src/components/desktop/navbar/navbar.html | 26 + .../components/desktop/navbar/navbar.scss | 4 +- .../mobile/header/header.component.spec.ts | 7 +- .../mobile/header/header.component.ts | 5 +- .../components/mobile/header/header.html | 9 +- .../components/mobile/header/header.scss | 0 .../components/mobile/mobile.module.ts | 14 +- .../mobile/navbar/navbar.component.spec.ts | 7 +- .../mobile/navbar/navbar.component.ts | 5 +- src/components/mobile/navbar/navbar.html | 18 + .../components/mobile/navbar/navbar.scss | 0 .../directives/date.directive.spec.ts | 1 + src/{app => }/directives/date.directive.ts | 1 + .../forbidden_email.directive.spec.ts | 1 + .../directives/forbidden_email.directive.ts | 0 src/{app => }/directives/index.spec.ts | 1 + src/{app => }/directives/index.ts | 5 +- .../directives/name.directive.spec.ts | 1 + src/{app => }/directives/name.directive.ts | 3 +- .../directives/password.directive.spec.ts | 1 + .../directives/password.directive.ts | 0 src/exported | 1 + src/index.html | 40 +- .../user/pictures/pictures.scss => main 2.ts} | 0 src/main.ts | 5 +- .../pages/404/not-found.component.spec.ts | 6 +- .../pages/404/not-found.component.ts | 3 +- src/{app => }/pages/404/not-found.html | 0 .../forgot_password.component.spec.ts | 8 +- .../forgot_password.component.ts | 7 +- .../forgot_password/forgot_password.html | 5 +- .../forgot_password/forgot_password.scss | 0 .../pages/home/home.component.spec.ts | 6 +- src/{app => }/pages/home/home.component.ts | 5 +- src/{app => }/pages/home/home.html | 0 .../pages/login/login.component.spec.ts | 10 +- src/pages/login/login.component.ts | 69 + src/{app => }/pages/login/login.html | 7 +- src/{app => }/pages/login/login.scss | 0 src/{app => }/pages/pages.module.ts | 21 +- .../pages/register/register.component.spec.ts | 10 +- .../pages/register/register.component.ts | 98 +- src/{app => }/pages/register/register.html | 11 +- src/{app => }/pages/register/register.scss | 0 .../pages/user/payments/payments.component.ts | 0 .../pages/user/payments/payments.html | 0 .../pages/user/payments/payments.scss | 0 .../pages/user/pictures/pictures.component.ts | 0 .../pages/user/pictures/pictures.html | 0 src/pages/user/pictures/pictures.scss | 0 .../banner-edit-modal.component.ts | 66 +- .../banner-modal/banner-edit-modal.html | 2 +- .../banner-modal/banner-edit-modal.scss | 0 .../infos-modal/infos-edit-modal.component.ts | 182 +- .../profile/infos-modal/infos-edit-modal.html | 22 +- .../profile/infos-modal/infos-edit-modal.scss | 0 .../picture-edit-modal.component.ts | 156 + .../picture-modal/picture-edit-modal.html | 2 +- .../picture-modal/picture-edit-modal.scss | 0 .../pages/user/profile/profile.component.ts | 151 +- src/{app => }/pages/user/profile/profile.html | 18 +- src/{app => }/pages/user/profile/profile.scss | 0 src/pages/user/users.component.ts | 31 + src/{app => }/pages/user/users.html | 2 +- src/services/page.service.ts | 237 ++ src/services/user-permissions.service.ts | 74 + src/{app => }/services/user.service.ts | 80 +- src/{app => }/styles/animations.scss | 0 src/{app => }/styles/inter.scss | 0 src/{app => }/styles/roboto.scss | 0 src/{app => }/styles/styles.scss | 0 src/{app => }/styles/themes.scss | 0 src/types/index.d.ts | 66 - src/types/objects.d.ts | 81 - src/utils/buffer.ts | 29 - src/utils/date.ts | 22 - src/utils/http.ts | 2 +- src/utils/i18n.spec.ts | 3 +- src/utils/i18n.ts | 14 +- src/utils/index.ts | 5 - src/utils/object.spec.ts | 29 - src/utils/object.ts | 59 - src/utils/theme.spec.ts | 81 - src/utils/theme.ts | 43 - tsconfig.json | 24 +- 236 files changed, 3689 insertions(+), 3978 deletions(-) create mode 100644 .eslintrc.cjs delete mode 100644 .eslintrc.json create mode 100644 .gitmodules create mode 100644 src/app-routing.module.ts create mode 100644 src/app.component.html rename src/{app => }/app.component.scss (100%) rename src/{app => }/app.component.ts (56%) rename src/{app => }/app.module.ts (74%) delete mode 100644 src/app/app-routing.module.ts delete mode 100644 src/app/app.component.html delete mode 100644 src/app/app.component.spec.ts delete mode 100644 src/app/components/common/icons/promo_icon/promo_icon.component.ts delete mode 100644 src/app/components/common/side_menu/side_menu.html delete mode 100644 src/app/components/common/subtitle/subtitle.html delete mode 100644 src/app/components/common/text_size_selector/text_size_selector.html delete mode 100644 src/app/components/common/theme_selector/theme_selector.component.ts delete mode 100644 src/app/components/common/theme_selector/theme_selector.html delete mode 100644 src/app/components/desktop/alert/alert.component.spec.ts delete mode 100644 src/app/components/desktop/alert/alert.component.ts delete mode 100644 src/app/components/desktop/alert/alert.html delete mode 100644 src/app/components/desktop/alert/alert.scss delete mode 100644 src/app/components/desktop/header/header.html delete mode 100644 src/app/components/desktop/navbar/navbar.html delete mode 100644 src/app/components/mobile/alert/alert.component.spec.ts delete mode 100644 src/app/components/mobile/alert/alert.component.ts delete mode 100644 src/app/components/mobile/alert/alert.html delete mode 100644 src/app/components/mobile/alert/alert.scss delete mode 100644 src/app/components/mobile/navbar/navbar.html delete mode 100644 src/app/graphql.module.ts delete mode 100644 src/app/pages/login/login.component.ts delete mode 100644 src/app/pages/user/profile/picture-modal/picture-edit-modal.component.ts delete mode 100644 src/app/pages/user/users.component.ts delete mode 100644 src/app/services/alert.service.spec.ts delete mode 100644 src/app/services/alert.service.ts delete mode 100644 src/app/services/page.service.spec.ts delete mode 100644 src/app/services/page.service.ts delete mode 100644 src/app/services/user-permissions.service.ts delete mode 100644 src/app/services/user.service.spec.ts rename src/{app => }/components/common/button/button.component.html (100%) rename src/{app => }/components/common/button/button.component.scss (100%) rename src/{app => }/components/common/button/button.component.spec.ts (99%) rename src/{app => }/components/common/button/button.component.ts (100%) rename src/{app => }/components/common/common.module.ts (83%) rename src/{app => }/components/common/file_input/file-input.component.ts (74%) rename src/{app => }/components/common/file_input/file-input.html (68%) rename src/{app => }/components/common/file_input/file-input.scss (100%) rename src/{app => }/components/common/icons/at/at.component.ts (84%) rename src/{app => }/components/common/icons/at/at.svg (100%) rename src/{app => }/components/common/icons/burger_menu/burger_menu.component.ts (82%) rename src/{app => }/components/common/icons/burger_menu/burger_menu.svg (100%) rename src/{app => }/components/common/icons/calendar/calendar.component.ts (82%) rename src/{app => }/components/common/icons/calendar/calendar.svg (100%) rename src/{app => }/components/common/icons/close/close.component.ts (83%) rename src/{app => }/components/common/icons/close/close.svg (100%) rename src/{app => }/components/common/icons/cogwheel/cogwheel.component.ts (82%) rename src/{app => }/components/common/icons/cogwheel/cogwheel.svg (100%) rename src/{app => }/components/common/icons/expand_less/expand_less.component.ts (100%) rename src/{app => }/components/common/icons/expand_less/expand_less.svg (100%) rename src/{app => }/components/common/icons/expand_more/expand_more.component.ts (100%) rename src/{app => }/components/common/icons/expand_more/expand_more.svg (100%) rename src/{app => }/components/common/icons/eye/eye.component.ts (87%) rename src/{app => }/components/common/icons/eye/eye.svg (100%) rename src/{app => }/components/common/icons/flag/flag.component.ts (84%) rename src/{app => }/components/common/icons/flag/flag.svg (100%) rename src/{app => }/components/common/icons/heart_plus/heart_plus.component.ts (82%) rename src/{app => }/components/common/icons/heart_plus/heart_plus.svg (100%) rename src/{app => }/components/common/icons/icons.module.ts (99%) rename src/{app => }/components/common/icons/icons.scss (100%) rename src/{app => }/components/common/icons/laundry/laundry.component.ts (83%) rename src/{app => }/components/common/icons/laundry/laundry.svg (100%) rename src/{app => }/components/common/icons/messages/messages.component.ts (82%) rename src/{app => }/components/common/icons/messages/messages.svg (100%) rename src/{app => }/components/common/icons/party_hat/party_hat.component.ts (82%) rename src/{app => }/components/common/icons/party_hat/party_hat.svg (100%) rename src/{app => }/components/common/icons/password/password.component.ts (82%) rename src/{app => }/components/common/icons/password/password.svg (100%) rename src/{app => }/components/common/icons/payments/payments.component.ts (82%) rename src/{app => }/components/common/icons/payments/payments.svg (100%) rename src/{app => }/components/common/icons/pencil/pencil.component.ts (83%) rename src/{app => }/components/common/icons/pencil/pencil.svg (100%) rename src/{app => }/components/common/icons/person/person.component.ts (83%) rename src/{app => }/components/common/icons/person/person.svg (100%) rename src/{app => }/components/common/icons/pictures/pictures.component.ts (82%) rename src/{app => }/components/common/icons/pictures/pictures.svg (100%) create mode 100644 src/components/common/icons/promo_icon/promo_icon.component.ts rename src/{app => }/components/common/icons/promo_icon/promo_icon.html (100%) rename src/{app => }/components/common/icons/promo_icon/promo_icon.scss (100%) rename src/{app => }/components/common/icons/search/search.component.ts (83%) rename src/{app => }/components/common/icons/search/search.svg (100%) rename src/{app => }/components/common/icons/shopping_basket/shopping_basket.component.ts (81%) rename src/{app => }/components/common/icons/shopping_basket/shopping_basket.svg (100%) rename src/{app => }/components/common/icons/shopping_cart/shopping_cart.component.ts (81%) rename src/{app => }/components/common/icons/shopping_cart/shopping_cart.svg (100%) rename src/{app => }/components/common/icons/upload/upload.component.ts (83%) rename src/{app => }/components/common/icons/upload/upload.svg (100%) rename src/{app => }/components/common/icons/user_icon/user_icon.component.spec.ts (99%) rename src/{app => }/components/common/icons/user_icon/user_icon.component.ts (92%) rename src/{app => }/components/common/icons/user_icon/user_icon.html (100%) rename src/{app => }/components/common/icons/user_icon/user_icon.scss (100%) rename src/{app => }/components/common/image_cropper/image-cropper.component.spec.ts (100%) rename src/{app => }/components/common/image_cropper/image-cropper.component.ts (87%) rename src/{app => }/components/common/image_cropper/image-cropper.html (100%) rename src/{app => }/components/common/image_cropper/image-cropper.scss (100%) rename src/{app/components/common/text_size_selector/text_size_selector.component.ts => components/common/selectors/font_size/font_size_selector.component.ts} (69%) create mode 100644 src/components/common/selectors/font_size/font_size_selector.html rename src/{app/components/common/text_size_selector/text_size_selector.scss => components/common/selectors/font_size/font_size_selector.scss} (100%) rename src/{app/components/common/lang_selector => components/common/selectors/lang}/lang_selector.component.spec.ts (90%) rename src/{app/components/common/lang_selector => components/common/selectors/lang}/lang_selector.component.ts (81%) rename src/{app/components/common/lang_selector => components/common/selectors/lang}/lang_selector.html (100%) rename src/{app/components/common/lang_selector => components/common/selectors/lang}/lang_selector.scss (100%) rename src/{app/components/common => components/common/selectors}/select/select.component.spec.ts (98%) rename src/{app/components/common => components/common/selectors}/select/select.component.ts (92%) rename src/{app/components/common => components/common/selectors}/select/select.html (78%) rename src/{app/components/common => components/common/selectors}/select/select.scss (100%) rename src/{app/components/common/theme_selector => components/common/selectors/theme}/theme_selector.component.spec.ts (95%) create mode 100644 src/components/common/selectors/theme/theme_selector.component.ts create mode 100644 src/components/common/selectors/theme/theme_selector.html rename src/{app/components/common/theme_selector => components/common/selectors/theme}/theme_selector.scss (100%) rename src/{app => }/components/common/side_menu/side_disconnected/side_disconnected.component.ts (83%) rename src/{app => }/components/common/side_menu/side_disconnected/side_disconnected.html (67%) rename src/{app => }/components/common/side_menu/side_disconnected/side_disconnected.scss (100%) rename src/{app => }/components/common/side_menu/side_menu.component.spec.ts (94%) rename src/{app => }/components/common/side_menu/side_menu.component.ts (66%) create mode 100644 src/components/common/side_menu/side_menu.html rename src/{app => }/components/common/side_menu/side_menu.scss (100%) rename src/{app => }/components/common/side_menu/side_options/side_options.component.ts (82%) rename src/{app => }/components/common/side_menu/side_options/side_options.html (92%) rename src/{app => }/components/common/side_menu/side_options/side_options.scss (100%) rename src/{app => }/components/common/side_menu/side_profile/side_profile.component.spec.ts (86%) rename src/{app => }/components/common/side_menu/side_profile/side_profile.component.ts (60%) rename src/{app => }/components/common/side_menu/side_profile/side_profile.html (61%) rename src/{app => }/components/common/side_menu/side_profile/side_profile.scss (100%) rename src/{app => }/components/common/subtitle/subtitle.component.spec.ts (96%) rename src/{app => }/components/common/subtitle/subtitle.component.ts (86%) create mode 100644 src/components/common/subtitle/subtitle.html rename src/{app => }/components/common/subtitle/subtitle.scss (100%) rename src/{app => }/components/common/title/title.component.ts (100%) rename src/{app => }/components/common/title/title.html (100%) rename src/{app => }/components/common/title/title.scss (100%) rename src/{app => }/components/components.module.ts (99%) rename src/{app => }/components/desktop/desktop.module.ts (66%) rename src/{app => }/components/desktop/header/header.component.spec.ts (96%) rename src/{app => }/components/desktop/header/header.component.ts (85%) create mode 100644 src/components/desktop/header/header.html rename src/{app => }/components/desktop/header/header.scss (100%) rename src/{app => }/components/desktop/navbar/navbar.component.ts (73%) create mode 100644 src/components/desktop/navbar/navbar.html rename src/{app => }/components/desktop/navbar/navbar.scss (92%) rename src/{app => }/components/mobile/header/header.component.spec.ts (92%) rename src/{app => }/components/mobile/header/header.component.ts (85%) rename src/{app => }/components/mobile/header/header.html (59%) rename src/{app => }/components/mobile/header/header.scss (100%) rename src/{app => }/components/mobile/mobile.module.ts (69%) rename src/{app => }/components/mobile/navbar/navbar.component.spec.ts (87%) rename src/{app => }/components/mobile/navbar/navbar.component.ts (73%) create mode 100644 src/components/mobile/navbar/navbar.html rename src/{app => }/components/mobile/navbar/navbar.scss (100%) rename src/{app => }/directives/date.directive.spec.ts (99%) rename src/{app => }/directives/date.directive.ts (99%) rename src/{app => }/directives/forbidden_email.directive.spec.ts (99%) rename src/{app => }/directives/forbidden_email.directive.ts (100%) rename src/{app => }/directives/index.spec.ts (99%) rename src/{app => }/directives/index.ts (91%) rename src/{app => }/directives/name.directive.spec.ts (99%) rename src/{app => }/directives/name.directive.ts (66%) rename src/{app => }/directives/password.directive.spec.ts (99%) rename src/{app => }/directives/password.directive.ts (100%) create mode 160000 src/exported rename src/{app/pages/user/pictures/pictures.scss => main 2.ts} (100%) rename src/{app => }/pages/404/not-found.component.spec.ts (93%) rename src/{app => }/pages/404/not-found.component.ts (88%) rename src/{app => }/pages/404/not-found.html (100%) rename src/{app => }/pages/forgot_password/forgot_password.component.spec.ts (93%) rename src/{app => }/pages/forgot_password/forgot_password.component.ts (82%) rename src/{app => }/pages/forgot_password/forgot_password.html (91%) rename src/{app => }/pages/forgot_password/forgot_password.scss (100%) rename src/{app => }/pages/home/home.component.spec.ts (92%) rename src/{app => }/pages/home/home.component.ts (74%) rename src/{app => }/pages/home/home.html (100%) rename src/{app => }/pages/login/login.component.spec.ts (93%) create mode 100644 src/pages/login/login.component.ts rename src/{app => }/pages/login/login.html (91%) rename src/{app => }/pages/login/login.scss (100%) rename src/{app => }/pages/pages.module.ts (99%) rename src/{app => }/pages/register/register.component.spec.ts (95%) rename src/{app => }/pages/register/register.component.ts (58%) rename src/{app => }/pages/register/register.html (93%) rename src/{app => }/pages/register/register.scss (100%) rename src/{app => }/pages/user/payments/payments.component.ts (100%) rename src/{app => }/pages/user/payments/payments.html (100%) rename src/{app => }/pages/user/payments/payments.scss (100%) rename src/{app => }/pages/user/pictures/pictures.component.ts (100%) rename src/{app => }/pages/user/pictures/pictures.html (100%) create mode 100644 src/pages/user/pictures/pictures.scss rename src/{app => }/pages/user/profile/banner-modal/banner-edit-modal.component.ts (66%) rename src/{app => }/pages/user/profile/banner-modal/banner-edit-modal.html (90%) rename src/{app => }/pages/user/profile/banner-modal/banner-edit-modal.scss (100%) rename src/{app => }/pages/user/profile/infos-modal/infos-edit-modal.component.ts (55%) rename src/{app => }/pages/user/profile/infos-modal/infos-edit-modal.html (75%) rename src/{app => }/pages/user/profile/infos-modal/infos-edit-modal.scss (100%) create mode 100644 src/pages/user/profile/picture-modal/picture-edit-modal.component.ts rename src/{app => }/pages/user/profile/picture-modal/picture-edit-modal.html (91%) rename src/{app => }/pages/user/profile/picture-modal/picture-edit-modal.scss (100%) rename src/{app => }/pages/user/profile/profile.component.ts (56%) rename src/{app => }/pages/user/profile/profile.html (88%) rename src/{app => }/pages/user/profile/profile.scss (100%) create mode 100644 src/pages/user/users.component.ts rename src/{app => }/pages/user/users.html (81%) create mode 100644 src/services/page.service.ts create mode 100644 src/services/user-permissions.service.ts rename src/{app => }/services/user.service.ts (77%) rename src/{app => }/styles/animations.scss (100%) rename src/{app => }/styles/inter.scss (100%) rename src/{app => }/styles/roboto.scss (100%) rename src/{app => }/styles/styles.scss (100%) rename src/{app => }/styles/themes.scss (100%) delete mode 100644 src/types/index.d.ts delete mode 100644 src/types/objects.d.ts delete mode 100644 src/utils/buffer.ts delete mode 100644 src/utils/date.ts delete mode 100644 src/utils/index.ts delete mode 100644 src/utils/object.spec.ts delete mode 100644 src/utils/object.ts delete mode 100644 src/utils/theme.spec.ts delete mode 100644 src/utils/theme.ts diff --git a/.eslintrc.cjs b/.eslintrc.cjs new file mode 100644 index 0000000..b39e79f --- /dev/null +++ b/.eslintrc.cjs @@ -0,0 +1,82 @@ +module.exports = { + parser: '@typescript-eslint/parser', + parserOptions: { + project: 'tsconfig.json', + tsconfigRootDir: __dirname, + sourceType: 'module', + }, + ignorePatterns: ['.eslintrc.cjs', 'node_modules', 'coverage', 'src/exported/api/@types/i18n.d.ts'], + root: true, + overrides: [ + { + files: ['*.ts'], + plugins: ['@typescript-eslint', 'import'], + extends: [ + 'eslint:recommended', + 'plugin:@angular-eslint/recommended', + 'plugin:@angular-eslint/template/process-inline-templates', + 'plugin:@typescript-eslint/recommended', + 'plugin:@typescript-eslint/recommended-requiring-type-checking', + 'plugin:prettier/recommended', + 'plugin:import/recommended', + 'plugin:import/typescript', + ], + settings: { + 'import/resolver': { + typescript: true, + node: true, + }, + }, + rules: { + '@typescript-eslint/ban-ts-comment': 'off', + '@typescript-eslint/interface-name-prefix': 'off', + '@typescript-eslint/explicit-function-return-type': 'off', + '@typescript-eslint/explicit-module-boundary-types': 'off', + '@typescript-eslint/no-unsafe-enum-comparison': 'off', + '@typescript-eslint/no-namespace': 'off', + 'no-console': 'warn', + 'prettier/prettier': ['error', { endOfLine: 'lf' }], + 'import/export': 'off', + 'import/order': [ + 'error', + { + 'newlines-between': 'always', + groups: ['type', 'builtin', 'external', 'internal', ['parent', 'sibling', 'index']], + pathGroups: [ + { + pattern: '@(database|modules|templates|utils|src)/**', + group: 'internal', + }, + ], + pathGroupsExcludedImportTypes: ['builtin'], + alphabetize: { + order: 'asc', + caseInsensitive: true, + }, + }, + ], + '@angular-eslint/directive-selector': [ + 'error', + { + type: 'attribute', + prefix: 'sith', + style: 'camelCase', + }, + ], + '@angular-eslint/component-selector': [ + 'error', + { + type: 'element', + prefix: 'sith', + style: 'kebab-case', + }, + ], + }, + }, + { + files: ['*.html'], + extends: ['plugin:@angular-eslint/template/recommended', 'plugin:@angular-eslint/template/accessibility'], + rules: {}, + }, + ], +}; diff --git a/.eslintrc.json b/.eslintrc.json deleted file mode 100644 index 6ccfd5c..0000000 --- a/.eslintrc.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "root": true, - "ignorePatterns": [ - "projects/**/*" - ], - "overrides": [ - { - "files": [ - "*.ts" - ], - "extends": [ - "eslint:recommended", - "plugin:@typescript-eslint/recommended", - "plugin:@angular-eslint/recommended", - "plugin:@angular-eslint/template/process-inline-templates" - ], - "rules": { - "@angular-eslint/directive-selector": [ - "error", - { - "type": "attribute", - "prefix": "sith", - "style": "camelCase" - } - ], - "@angular-eslint/component-selector": [ - "error", - { - "type": "element", - "prefix": "sith", - "style": "kebab-case" - } - ] - } - }, - { - "files": [ - "*.html" - ], - "extends": [ - "plugin:@angular-eslint/template/recommended", - "plugin:@angular-eslint/template/accessibility" - ], - "rules": {} - } - ] -} diff --git a/.gitignore b/.gitignore index 7ab6a4a..addf0c0 100644 --- a/.gitignore +++ b/.gitignore @@ -43,3 +43,5 @@ Thumbs.db # Eslint reports eslint.json + +src/__old diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..cbd50c5 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "src/exported"] + path = src/exported + url = https://github.com/ae-utbm/typings.git diff --git a/angular.json b/angular.json index 239d675..6dcf040 100644 --- a/angular.json +++ b/angular.json @@ -30,7 +30,7 @@ "src/assets" ], "styles": [ - "src/app/styles/styles.scss" + "src/styles/styles.scss" ], "scripts": [] }, @@ -62,7 +62,7 @@ "defaultConfiguration": "production" }, "serve": { - "builder": "@angular-devkit/build-angular:dev-server", + "builder": "@angular-builders/custom-webpack:dev-server", "configurations": { "production": { "browserTarget": "sith:build:production" diff --git a/package.json b/package.json index d39b1b8..a9f5364 100644 --- a/package.json +++ b/package.json @@ -18,45 +18,47 @@ }, "private": true, "dependencies": { - "@angular/animations": "^16.2.9", - "@angular/common": "^16.2.9", - "@angular/compiler": "^16.2.9", - "@angular/core": "^16.2.9", - "@angular/forms": "^16.2.9", - "@angular/platform-browser": "^16.2.9", - "@angular/platform-browser-dynamic": "^16.2.9", - "@angular/router": "^16.2.9", - "@apollo/client": "^3.8.6", + "@ae_utbm/typings": "file:src/exported", + "@angular/animations": "^16.2.11", + "@angular/common": "^16.2.11", + "@angular/compiler": "^16.2.11", + "@angular/core": "^16.2.11", + "@angular/forms": "^16.2.11", + "@angular/platform-browser": "^16.2.11", + "@angular/platform-browser-dynamic": "^16.2.11", + "@angular/router": "^16.2.11", "@ngx-translate/core": "^14.0.0", "@ngx-translate/http-loader": "^7.0.0", - "apollo-angular": "^5.0.2", "cropperjs": "^1.6.1", - "graphql-tag": "^2.12.6", + "crypto-browserify": "^3.12.0", "install": "^0.13.0", "ng-hcaptcha": "^2.2.0", - "ngx-device-detector": "^6.0.2", "rxjs": "~7.8.1", + "stream-browserify": "^3.0.0", "tslib": "^2.6.2", "zone.js": "~0.13.3" }, "devDependencies": { - "@angular-devkit/build-angular": "^16.2.6", + "@angular-builders/custom-webpack": "16.0.1", + "@angular-devkit/build-angular": "^16.2.8", "@angular-eslint/builder": "16.2.0", "@angular-eslint/eslint-plugin": "16.2.0", "@angular-eslint/eslint-plugin-template": "16.2.0", "@angular-eslint/schematics": "16.2.0", "@angular-eslint/template-parser": "16.2.0", - "@angular/cli": "~16.2.6", - "@angular/compiler-cli": "^16.2.9", - "@commitlint/cli": "^17.7.2", - "@commitlint/config-conventional": "^17.7.0", + "@angular/cli": "~16.2.8", + "@angular/compiler-cli": "^16.2.11", + "@commitlint/cli": "^17.8.1", + "@commitlint/config-conventional": "^17.8.1", "@types/jasmine": "~4.3.6", - "@types/node": "^18.18.5", + "@types/node": "^18.18.7", "@typescript-eslint/eslint-plugin": "5.62.0", "@typescript-eslint/parser": "5.62.0", - "eslint": "^8.49.0", + "eslint": "^8.52.0", "eslint-config-prettier": "^8.10.0", + "eslint-import-resolver-typescript": "^3.6.1", "eslint-plugin-html": "^7.1.0", + "eslint-plugin-import": "^2.29.0", "eslint-plugin-prettier": "^4.2.1", "husky": "^8.0.3", "jasmine-core": "~4.5.0", @@ -67,14 +69,15 @@ "karma-jasmine-html-reporter": "~2.0.0", "prettier": "^2.8.8", "puppeteer": "^19.11.1", - "stylelint": "^15.10.3", + "stylelint": "^15.11.0", "stylelint-config-standard-scss": "^8.0.0", "stylelint-scss": "^4.7.0", - "typescript": "~4.9.5" + "typescript": "~5.1.6" }, "browser": { "fs": false, "os": false, - "path": false + "path": false, + "crypto": false } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 35b7f1c..edf0557 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -5,60 +5,57 @@ settings: excludeLinksFromLockfile: false dependencies: + '@ae_utbm/typings': + specifier: file:src/exported + version: file:src/exported '@angular/animations': - specifier: ^16.2.9 - version: 16.2.9(@angular/core@16.2.9) + specifier: ^16.2.11 + version: 16.2.11(@angular/core@16.2.11) '@angular/common': - specifier: ^16.2.9 - version: 16.2.9(@angular/core@16.2.9)(rxjs@7.8.1) + specifier: ^16.2.11 + version: 16.2.11(@angular/core@16.2.11)(rxjs@7.8.1) '@angular/compiler': - specifier: ^16.2.9 - version: 16.2.9(@angular/core@16.2.9) + specifier: ^16.2.11 + version: 16.2.11(@angular/core@16.2.11) '@angular/core': - specifier: ^16.2.9 - version: 16.2.9(rxjs@7.8.1)(zone.js@0.13.3) + specifier: ^16.2.11 + version: 16.2.11(rxjs@7.8.1)(zone.js@0.13.3) '@angular/forms': - specifier: ^16.2.9 - version: 16.2.9(@angular/common@16.2.9)(@angular/core@16.2.9)(@angular/platform-browser@16.2.9)(rxjs@7.8.1) + specifier: ^16.2.11 + version: 16.2.11(@angular/common@16.2.11)(@angular/core@16.2.11)(@angular/platform-browser@16.2.11)(rxjs@7.8.1) '@angular/platform-browser': - specifier: ^16.2.9 - version: 16.2.9(@angular/animations@16.2.9)(@angular/common@16.2.9)(@angular/core@16.2.9) + specifier: ^16.2.11 + version: 16.2.11(@angular/animations@16.2.11)(@angular/common@16.2.11)(@angular/core@16.2.11) '@angular/platform-browser-dynamic': - specifier: ^16.2.9 - version: 16.2.9(@angular/common@16.2.9)(@angular/compiler@16.2.9)(@angular/core@16.2.9)(@angular/platform-browser@16.2.9) + specifier: ^16.2.11 + version: 16.2.11(@angular/common@16.2.11)(@angular/compiler@16.2.11)(@angular/core@16.2.11)(@angular/platform-browser@16.2.11) '@angular/router': - specifier: ^16.2.9 - version: 16.2.9(@angular/common@16.2.9)(@angular/core@16.2.9)(@angular/platform-browser@16.2.9)(rxjs@7.8.1) - '@apollo/client': - specifier: ^3.8.6 - version: 3.8.6(graphql@16.8.1) + specifier: ^16.2.11 + version: 16.2.11(@angular/common@16.2.11)(@angular/core@16.2.11)(@angular/platform-browser@16.2.11)(rxjs@7.8.1) '@ngx-translate/core': specifier: ^14.0.0 - version: 14.0.0(@angular/core@16.2.9)(rxjs@7.8.1) + version: 14.0.0(@angular/core@16.2.11)(rxjs@7.8.1) '@ngx-translate/http-loader': specifier: ^7.0.0 - version: 7.0.0(@angular/common@16.2.9)(@ngx-translate/core@14.0.0)(rxjs@7.8.1) - apollo-angular: - specifier: ^5.0.2 - version: 5.0.2(@angular/core@16.2.9)(@apollo/client@3.8.6)(graphql@16.8.1)(rxjs@7.8.1) + version: 7.0.0(@angular/common@16.2.11)(@ngx-translate/core@14.0.0)(rxjs@7.8.1) cropperjs: specifier: ^1.6.1 version: 1.6.1 - graphql-tag: - specifier: ^2.12.6 - version: 2.12.6(graphql@16.8.1) + crypto-browserify: + specifier: ^3.12.0 + version: 3.12.0 install: specifier: ^0.13.0 version: 0.13.0 ng-hcaptcha: specifier: ^2.2.0 - version: 2.2.0(@angular/common@16.2.9)(@angular/core@16.2.9)(@angular/forms@16.2.9) - ngx-device-detector: - specifier: ^6.0.2 - version: 6.0.2(@angular/common@16.2.9)(@angular/core@16.2.9) + version: 2.2.0(@angular/common@16.2.11)(@angular/core@16.2.11)(@angular/forms@16.2.11) rxjs: specifier: ~7.8.1 version: 7.8.1 + stream-browserify: + specifier: ^3.0.0 + version: 3.0.0 tslib: specifier: ^2.6.2 version: 2.6.2 @@ -67,60 +64,69 @@ dependencies: version: 0.13.3 devDependencies: + '@angular-builders/custom-webpack': + specifier: 16.0.1 + version: 16.0.1(@angular/compiler-cli@16.2.11)(@types/node@18.18.7)(karma@6.4.2)(typescript@5.1.6) '@angular-devkit/build-angular': - specifier: ^16.2.6 - version: 16.2.6(@angular/compiler-cli@16.2.9)(@types/node@18.18.5)(karma@6.4.2)(typescript@4.9.5) + specifier: ^16.2.8 + version: 16.2.8(@angular/compiler-cli@16.2.11)(@types/node@18.18.7)(karma@6.4.2)(typescript@5.1.6) '@angular-eslint/builder': specifier: 16.2.0 - version: 16.2.0(eslint@8.51.0)(typescript@4.9.5) + version: 16.2.0(eslint@8.52.0)(typescript@5.1.6) '@angular-eslint/eslint-plugin': specifier: 16.2.0 - version: 16.2.0(eslint@8.51.0)(typescript@4.9.5) + version: 16.2.0(eslint@8.52.0)(typescript@5.1.6) '@angular-eslint/eslint-plugin-template': specifier: 16.2.0 - version: 16.2.0(eslint@8.51.0)(typescript@4.9.5) + version: 16.2.0(eslint@8.52.0)(typescript@5.1.6) '@angular-eslint/schematics': specifier: 16.2.0 - version: 16.2.0(@angular/cli@16.2.6)(eslint@8.51.0)(typescript@4.9.5) + version: 16.2.0(@angular/cli@16.2.8)(eslint@8.52.0)(typescript@5.1.6) '@angular-eslint/template-parser': specifier: 16.2.0 - version: 16.2.0(eslint@8.51.0)(typescript@4.9.5) + version: 16.2.0(eslint@8.52.0)(typescript@5.1.6) '@angular/cli': - specifier: ~16.2.6 - version: 16.2.6 + specifier: ~16.2.8 + version: 16.2.8 '@angular/compiler-cli': - specifier: ^16.2.9 - version: 16.2.9(@angular/compiler@16.2.9)(typescript@4.9.5) + specifier: ^16.2.11 + version: 16.2.11(@angular/compiler@16.2.11)(typescript@5.1.6) '@commitlint/cli': - specifier: ^17.7.2 - version: 17.7.2 + specifier: ^17.8.1 + version: 17.8.1 '@commitlint/config-conventional': - specifier: ^17.7.0 - version: 17.7.0 + specifier: ^17.8.1 + version: 17.8.1 '@types/jasmine': specifier: ~4.3.6 version: 4.3.6 '@types/node': - specifier: ^18.18.5 - version: 18.18.5 + specifier: ^18.18.7 + version: 18.18.7 '@typescript-eslint/eslint-plugin': specifier: 5.62.0 - version: 5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.51.0)(typescript@4.9.5) + version: 5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.52.0)(typescript@5.1.6) '@typescript-eslint/parser': specifier: 5.62.0 - version: 5.62.0(eslint@8.51.0)(typescript@4.9.5) + version: 5.62.0(eslint@8.52.0)(typescript@5.1.6) eslint: - specifier: ^8.49.0 - version: 8.51.0 + specifier: ^8.52.0 + version: 8.52.0 eslint-config-prettier: specifier: ^8.10.0 - version: 8.10.0(eslint@8.51.0) + version: 8.10.0(eslint@8.52.0) + eslint-import-resolver-typescript: + specifier: ^3.6.1 + version: 3.6.1(@typescript-eslint/parser@5.62.0)(eslint-plugin-import@2.29.0)(eslint@8.52.0) eslint-plugin-html: specifier: ^7.1.0 version: 7.1.0 + eslint-plugin-import: + specifier: ^2.29.0 + version: 2.29.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.52.0) eslint-plugin-prettier: specifier: ^4.2.1 - version: 4.2.1(eslint-config-prettier@8.10.0)(eslint@8.51.0)(prettier@2.8.8) + version: 4.2.1(eslint-config-prettier@8.10.0)(eslint@8.52.0)(prettier@2.8.8) husky: specifier: ^8.0.3 version: 8.0.3 @@ -147,19 +153,19 @@ devDependencies: version: 2.8.8 puppeteer: specifier: ^19.11.1 - version: 19.11.1(typescript@4.9.5) + version: 19.11.1(typescript@5.1.6) stylelint: - specifier: ^15.10.3 - version: 15.10.3(typescript@4.9.5) + specifier: ^15.11.0 + version: 15.11.0(typescript@5.1.6) stylelint-config-standard-scss: specifier: ^8.0.0 - version: 8.0.0(postcss@8.4.31)(stylelint@15.10.3) + version: 8.0.0(postcss@8.4.31)(stylelint@15.11.0) stylelint-scss: specifier: ^4.7.0 - version: 4.7.0(stylelint@15.10.3) + version: 4.7.0(stylelint@15.11.0) typescript: - specifier: ~4.9.5 - version: 4.9.5 + specifier: ~5.1.6 + version: 5.1.6 packages: @@ -173,21 +179,66 @@ packages: engines: {node: '>=6.0.0'} dependencies: '@jridgewell/gen-mapping': 0.3.3 - '@jridgewell/trace-mapping': 0.3.18 + '@jridgewell/trace-mapping': 0.3.20 dev: true - /@angular-devkit/architect@0.1602.6(chokidar@3.5.3): - resolution: {integrity: sha512-b1NNV3yNg6Rt86ms20bJIroWUI8ihaEwv5k+EoijEXLoMs4eNs5PhqL+QE8rTj+q9pa1gSrWf2blXor2JGwf1g==} + /@angular-builders/custom-webpack@16.0.1(@angular/compiler-cli@16.2.11)(@types/node@18.18.7)(karma@6.4.2)(typescript@5.1.6): + resolution: {integrity: sha512-C6INC8UOYDcp8LJwNhE0m66yp+nZX50JdgGI8oRn7fqw3gO58qhDgXrR/8BCrSeC8eOx8WxSuvBJ6u+9dozhyw==} + engines: {node: ^14.20.0 || ^16.13.0 || >=18.10.0} + peerDependencies: + '@angular/compiler-cli': ^16.0.0 + dependencies: + '@angular-devkit/architect': 0.1602.8(chokidar@3.5.3) + '@angular-devkit/build-angular': 16.2.8(@angular/compiler-cli@16.2.11)(@types/node@18.18.7)(karma@6.4.2)(typescript@5.1.6) + '@angular-devkit/core': 16.2.8(chokidar@3.5.3) + '@angular/compiler-cli': 16.2.11(@angular/compiler@16.2.11)(typescript@5.1.6) + lodash: 4.17.21 + ts-node: 10.9.1(@types/node@18.18.7)(typescript@5.1.6) + tsconfig-paths: 4.2.0 + webpack-merge: 5.9.0 + transitivePeerDependencies: + - '@angular/localize' + - '@angular/platform-server' + - '@angular/service-worker' + - '@swc/core' + - '@swc/wasm' + - '@types/node' + - bufferutil + - canvas + - chokidar + - debug + - fibers + - html-webpack-plugin + - jest + - jest-environment-jsdom + - karma + - lightningcss + - ng-packagr + - node-sass + - protractor + - sass-embedded + - stylus + - sugarss + - supports-color + - tailwindcss + - typescript + - uglify-js + - utf-8-validate + - webpack-cli + dev: true + + /@angular-devkit/architect@0.1602.8(chokidar@3.5.3): + resolution: {integrity: sha512-bNdu2tF29Y/jOxMXlu9pmNbIlyZs9hRjLmi/tcfcMFay+3AhpNO59DWlUmI4gpvWu8CEXdQHSMuJTDHaNR+Ctg==} engines: {node: ^16.14.0 || >=18.10.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} dependencies: - '@angular-devkit/core': 16.2.6(chokidar@3.5.3) + '@angular-devkit/core': 16.2.8(chokidar@3.5.3) rxjs: 7.8.1 transitivePeerDependencies: - chokidar dev: true - /@angular-devkit/build-angular@16.2.6(@angular/compiler-cli@16.2.9)(@types/node@18.18.5)(karma@6.4.2)(typescript@4.9.5): - resolution: {integrity: sha512-QdU/q77K1P8CPEEZGxw1QqLcnA9ofboDWS7vcLRBmFmk2zydtLTApbK0P8GNDRbnmROOKkoaLo+xUTDJz9gvPA==} + /@angular-devkit/build-angular@16.2.8(@angular/compiler-cli@16.2.11)(@types/node@18.18.7)(karma@6.4.2)(typescript@5.1.6): + resolution: {integrity: sha512-PgTaWerhDO3JjHjgJl/VWB1y1awN8eHrm7sqdpIsgKbVpi26oyByjtPS1gKKhinps9Che66lCbnxrkx2X3rWTg==} engines: {node: ^16.14.0 || >=18.10.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} peerDependencies: '@angular/compiler-cli': ^16.0.0 @@ -222,10 +273,10 @@ packages: optional: true dependencies: '@ampproject/remapping': 2.2.1 - '@angular-devkit/architect': 0.1602.6(chokidar@3.5.3) - '@angular-devkit/build-webpack': 0.1602.6(chokidar@3.5.3)(webpack-dev-server@4.15.1)(webpack@5.88.2) - '@angular-devkit/core': 16.2.6(chokidar@3.5.3) - '@angular/compiler-cli': 16.2.9(@angular/compiler@16.2.9)(typescript@4.9.5) + '@angular-devkit/architect': 0.1602.8(chokidar@3.5.3) + '@angular-devkit/build-webpack': 0.1602.8(chokidar@3.5.3)(webpack-dev-server@4.15.1)(webpack@5.88.2) + '@angular-devkit/core': 16.2.8(chokidar@3.5.3) + '@angular/compiler-cli': 16.2.11(@angular/compiler@16.2.11)(typescript@5.1.6) '@babel/core': 7.22.9 '@babel/generator': 7.22.9 '@babel/helper-annotate-as-pure': 7.22.5 @@ -237,20 +288,20 @@ packages: '@babel/runtime': 7.22.6 '@babel/template': 7.22.5 '@discoveryjs/json-ext': 0.5.7 - '@ngtools/webpack': 16.2.6(@angular/compiler-cli@16.2.9)(typescript@4.9.5)(webpack@5.88.2) + '@ngtools/webpack': 16.2.8(@angular/compiler-cli@16.2.11)(typescript@5.1.6)(webpack@5.88.2) '@vitejs/plugin-basic-ssl': 1.0.1(vite@4.4.7) ansi-colors: 4.1.3 autoprefixer: 10.4.14(postcss@8.4.31) babel-loader: 9.1.3(@babel/core@7.22.9)(webpack@5.88.2) babel-plugin-istanbul: 6.1.1 - browserslist: 4.21.5 + browserslist: 4.22.1 chokidar: 3.5.3 copy-webpack-plugin: 11.0.0(webpack@5.88.2) critters: 0.0.20 css-loader: 6.8.1(webpack@5.88.2) esbuild-wasm: 0.18.17 fast-glob: 3.3.1 - guess-parser: 0.4.22(typescript@4.9.5) + guess-parser: 0.4.22(typescript@5.1.6) https-proxy-agent: 5.0.1 inquirer: 8.2.4 jsonc-parser: 3.2.0 @@ -269,7 +320,7 @@ packages: picomatch: 2.3.1 piscina: 4.0.0 postcss: 8.4.31 - postcss-loader: 7.3.3(postcss@8.4.31)(typescript@4.9.5)(webpack@5.88.2) + postcss-loader: 7.3.3(postcss@8.4.31)(typescript@5.1.6)(webpack@5.88.2) resolve-url-loader: 5.0.0 rxjs: 7.8.1 sass: 1.64.1 @@ -281,8 +332,8 @@ packages: text-table: 0.2.0 tree-kill: 1.2.2 tslib: 2.6.1 - typescript: 4.9.5 - vite: 4.4.7(@types/node@18.18.5)(less@4.1.3)(sass@1.64.1)(terser@5.19.2) + typescript: 5.1.6 + vite: 4.4.7(@types/node@18.18.7)(less@4.1.3)(sass@1.64.1)(terser@5.19.2) webpack: 5.88.2(esbuild@0.18.17) webpack-dev-middleware: 6.1.1(webpack@5.88.2) webpack-dev-server: 4.15.1(webpack@5.88.2) @@ -309,14 +360,14 @@ packages: - webpack-cli dev: true - /@angular-devkit/build-webpack@0.1602.6(chokidar@3.5.3)(webpack-dev-server@4.15.1)(webpack@5.88.2): - resolution: {integrity: sha512-BJPR6xdq7gRJ6bVWnZ81xHyH75j7lyLbegCXbvUNaM8TWVBkwWsSdqr2NQ717dNLLn5umg58SFpU/pWMq6CxMQ==} + /@angular-devkit/build-webpack@0.1602.8(chokidar@3.5.3)(webpack-dev-server@4.15.1)(webpack@5.88.2): + resolution: {integrity: sha512-wGE2R6hnhSVpH7jvqtkZ63IX9oMRd+uh7sC65hGgzajPqThQcNdnGG3+79QGWapgkoHuZHpDlKOBFt0IOMAaMA==} engines: {node: ^16.14.0 || >=18.10.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} peerDependencies: webpack: ^5.30.0 webpack-dev-server: ^4.0.0 dependencies: - '@angular-devkit/architect': 0.1602.6(chokidar@3.5.3) + '@angular-devkit/architect': 0.1602.8(chokidar@3.5.3) rxjs: 7.8.1 webpack: 5.88.2(esbuild@0.18.17) webpack-dev-server: 4.15.1(webpack@5.88.2) @@ -324,8 +375,8 @@ packages: - chokidar dev: true - /@angular-devkit/core@16.2.6(chokidar@3.5.3): - resolution: {integrity: sha512-iez/8NYXQT6fqVQLlKmZUIRkFUEZ88ACKbTwD4lBmk0+hXW+bQBxI7JOnE3C4zkcM2YeuTXIYsC5SebTKYiR4Q==} + /@angular-devkit/core@16.2.8(chokidar@3.5.3): + resolution: {integrity: sha512-PTGozYvh1Bin5lB15PwcXa26Ayd17bWGLS3H8Rs0s+04mUDvfNofmweaX1LgumWWy3nCUTDuwHxX10M3G0wE2g==} engines: {node: ^16.14.0 || >=18.10.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} peerDependencies: chokidar: ^3.5.2 @@ -342,11 +393,11 @@ packages: source-map: 0.7.4 dev: true - /@angular-devkit/schematics@16.2.6: - resolution: {integrity: sha512-PhpRYHCJ3WvZXmng6Qk8TXeQf83jeBMAf7AIzI8h0fgeBocOl97Xf7bZpLg6GymiU+rVn15igQ4Rz9rKAay8bQ==} + /@angular-devkit/schematics@16.2.8: + resolution: {integrity: sha512-MBiKZOlR9/YMdflALr7/7w/BGAfo/BGTrlkqsIB6rDWV1dYiCgxI+033HsiNssLS6RQyCFx/e7JA2aBBzu9zEg==} engines: {node: ^16.14.0 || >=18.10.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} dependencies: - '@angular-devkit/core': 16.2.6(chokidar@3.5.3) + '@angular-devkit/core': 16.2.8(chokidar@3.5.3) jsonc-parser: 3.2.0 magic-string: 0.30.1 ora: 5.4.1 @@ -355,16 +406,16 @@ packages: - chokidar dev: true - /@angular-eslint/builder@16.2.0(eslint@8.51.0)(typescript@4.9.5): + /@angular-eslint/builder@16.2.0(eslint@8.52.0)(typescript@5.1.6): resolution: {integrity: sha512-SZjXOi3YIjuX2CocuRsR2QH6k1ca9lRO6IMm0YIYMmBPFCRP2KFHkL6aQnXM6DSaymQNN2TXfpuvUd45NxhU1w==} peerDependencies: eslint: ^7.20.0 || ^8.0.0 typescript: '*' dependencies: '@nx/devkit': 16.5.1(nx@16.5.1) - eslint: 8.51.0 + eslint: 8.52.0 nx: 16.5.1 - typescript: 4.9.5 + typescript: 5.1.6 transitivePeerDependencies: - '@swc-node/register' - '@swc/core' @@ -375,46 +426,46 @@ packages: resolution: {integrity: sha512-ct9orDYxkMl2+uvM7UBfgV28Dq57V4dEs+Drh7cD673JIMa6sXbgmd0QEtm8W3cmyK/jcTzmuoufxbH7hOxd6g==} dev: true - /@angular-eslint/eslint-plugin-template@16.2.0(eslint@8.51.0)(typescript@4.9.5): + /@angular-eslint/eslint-plugin-template@16.2.0(eslint@8.52.0)(typescript@5.1.6): resolution: {integrity: sha512-YFdQ6hHX6NlQj0lfogZwfyKjU8pqkJU+Zsk0ehjlXP8VfKFVmDeQT5/Xr6Df9C8pveC3hvq6Jgd8vo67S9Enxg==} peerDependencies: eslint: ^7.20.0 || ^8.0.0 typescript: '*' dependencies: '@angular-eslint/bundled-angular-compiler': 16.2.0 - '@angular-eslint/utils': 16.2.0(eslint@8.51.0)(typescript@4.9.5) - '@typescript-eslint/type-utils': 5.62.0(eslint@8.51.0)(typescript@4.9.5) - '@typescript-eslint/utils': 5.62.0(eslint@8.51.0)(typescript@4.9.5) + '@angular-eslint/utils': 16.2.0(eslint@8.52.0)(typescript@5.1.6) + '@typescript-eslint/type-utils': 5.62.0(eslint@8.52.0)(typescript@5.1.6) + '@typescript-eslint/utils': 5.62.0(eslint@8.52.0)(typescript@5.1.6) aria-query: 5.3.0 axobject-query: 3.2.1 - eslint: 8.51.0 - typescript: 4.9.5 + eslint: 8.52.0 + typescript: 5.1.6 transitivePeerDependencies: - supports-color dev: true - /@angular-eslint/eslint-plugin@16.2.0(eslint@8.51.0)(typescript@4.9.5): + /@angular-eslint/eslint-plugin@16.2.0(eslint@8.52.0)(typescript@5.1.6): resolution: {integrity: sha512-zdiAIox1T+B71HL+A8m+1jWdU34nvPGLhCRw/uZNwHzknsF4tYzNQ9W7T/SC/g/2s1yT2yNosEVNJSGSFvunJg==} peerDependencies: eslint: ^7.20.0 || ^8.0.0 typescript: '*' dependencies: - '@angular-eslint/utils': 16.2.0(eslint@8.51.0)(typescript@4.9.5) - '@typescript-eslint/utils': 5.62.0(eslint@8.51.0)(typescript@4.9.5) - eslint: 8.51.0 - typescript: 4.9.5 + '@angular-eslint/utils': 16.2.0(eslint@8.52.0)(typescript@5.1.6) + '@typescript-eslint/utils': 5.62.0(eslint@8.52.0)(typescript@5.1.6) + eslint: 8.52.0 + typescript: 5.1.6 transitivePeerDependencies: - supports-color dev: true - /@angular-eslint/schematics@16.2.0(@angular/cli@16.2.6)(eslint@8.51.0)(typescript@4.9.5): + /@angular-eslint/schematics@16.2.0(@angular/cli@16.2.8)(eslint@8.52.0)(typescript@5.1.6): resolution: {integrity: sha512-2JUVR7hAKx37mgWeDjvyWEMH5uSeeksYuaQT5wwlgIzgrO4BNFuqs6Rgyp2jiYa7BFMX/qHULSa+bSq5J5ceEA==} peerDependencies: '@angular/cli': '>= 16.0.0 < 17.0.0' dependencies: - '@angular-eslint/eslint-plugin': 16.2.0(eslint@8.51.0)(typescript@4.9.5) - '@angular-eslint/eslint-plugin-template': 16.2.0(eslint@8.51.0)(typescript@4.9.5) - '@angular/cli': 16.2.6 + '@angular-eslint/eslint-plugin': 16.2.0(eslint@8.52.0)(typescript@5.1.6) + '@angular-eslint/eslint-plugin-template': 16.2.0(eslint@8.52.0)(typescript@5.1.6) + '@angular/cli': 16.2.8 '@nx/devkit': 16.5.1(nx@16.5.1) ignore: 5.2.4 nx: 16.5.1 @@ -429,51 +480,51 @@ packages: - typescript dev: true - /@angular-eslint/template-parser@16.2.0(eslint@8.51.0)(typescript@4.9.5): + /@angular-eslint/template-parser@16.2.0(eslint@8.52.0)(typescript@5.1.6): resolution: {integrity: sha512-v2jVKTy2wN7iM9nHpBkxLn2wfL8jSl4IlPrXThIqj8No2VHtpLQZPKuXbGPUXQX05VS2Mj5feScQ36ZVGS8Rbw==} peerDependencies: eslint: ^7.20.0 || ^8.0.0 typescript: '*' dependencies: '@angular-eslint/bundled-angular-compiler': 16.2.0 - eslint: 8.51.0 - eslint-scope: 7.2.0 - typescript: 4.9.5 + eslint: 8.52.0 + eslint-scope: 7.2.2 + typescript: 5.1.6 dev: true - /@angular-eslint/utils@16.2.0(eslint@8.51.0)(typescript@4.9.5): + /@angular-eslint/utils@16.2.0(eslint@8.52.0)(typescript@5.1.6): resolution: {integrity: sha512-NxMRwnlIgzmbJQfWkfd9y3Sz0hzjFdK5LH44i+3D5NhpPdZ6SzwHAjMYWoYsmmNQX5tlDXoicYF9Mz9Wz8DJ/A==} peerDependencies: eslint: ^7.20.0 || ^8.0.0 typescript: '*' dependencies: '@angular-eslint/bundled-angular-compiler': 16.2.0 - '@typescript-eslint/utils': 5.62.0(eslint@8.51.0)(typescript@4.9.5) - eslint: 8.51.0 - typescript: 4.9.5 + '@typescript-eslint/utils': 5.62.0(eslint@8.52.0)(typescript@5.1.6) + eslint: 8.52.0 + typescript: 5.1.6 transitivePeerDependencies: - supports-color dev: true - /@angular/animations@16.2.9(@angular/core@16.2.9): - resolution: {integrity: sha512-J+nsc2x/ZQuh+YwwTzxXUrV+7SBpJq6DDStfTFkZls9PWGRj9fjqQeRCWrfNLllpxopAEjhFkoyK06oSjcwqAw==} + /@angular/animations@16.2.11(@angular/core@16.2.11): + resolution: {integrity: sha512-xdLYXsGi7OuJawhiVIppl2VkPHhPdxUP/nR6+ETR3TdAscVruCWJs4z9XKval4fbik/brekbFNFuYtlx6csDhQ==} engines: {node: ^16.14.0 || >=18.10.0} peerDependencies: - '@angular/core': 16.2.9 + '@angular/core': 16.2.11 dependencies: - '@angular/core': 16.2.9(rxjs@7.8.1)(zone.js@0.13.3) + '@angular/core': 16.2.11(rxjs@7.8.1)(zone.js@0.13.3) tslib: 2.6.2 dev: false - /@angular/cli@16.2.6: - resolution: {integrity: sha512-9poPvUEmlufOAW1Cjk+aA5e2x3mInLtbYYSL/EYviDN2ugmavsSIvxAE/WLnxq6cPWqhNDbHDaqvcmqkcFM3Cw==} + /@angular/cli@16.2.8: + resolution: {integrity: sha512-iPrDv+SemRb6ZhayxwLsEdykHpV2TYSgH5Smg8GqSaIR/KUiemuzBrIKEUEaIG4n2dVEOtcsuh2JRHQndF7wmw==} engines: {node: ^16.14.0 || >=18.10.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} hasBin: true dependencies: - '@angular-devkit/architect': 0.1602.6(chokidar@3.5.3) - '@angular-devkit/core': 16.2.6(chokidar@3.5.3) - '@angular-devkit/schematics': 16.2.6 - '@schematics/angular': 16.2.6 + '@angular-devkit/architect': 0.1602.8(chokidar@3.5.3) + '@angular-devkit/core': 16.2.8(chokidar@3.5.3) + '@angular-devkit/schematics': 16.2.8 + '@schematics/angular': 16.2.8 '@yarnpkg/lockfile': 1.1.0 ansi-colors: 4.1.3 ini: 4.1.1 @@ -494,54 +545,54 @@ packages: - supports-color dev: true - /@angular/common@16.2.9(@angular/core@16.2.9)(rxjs@7.8.1): - resolution: {integrity: sha512-5Lh5KsxCkaoBDeSAghKNF5lCi0083ug4X2X7wnafsSd6Z3xt/rDjH9hDOP5SF5IDLtCVjJgHfs3cCLSTjRuNwg==} + /@angular/common@16.2.11(@angular/core@16.2.11)(rxjs@7.8.1): + resolution: {integrity: sha512-h80WUR2OYlqxQy+4XgNtWT2vB+vZ6oCrFX/q8cU5jAvbvGQfJuH0zfcbSlUflStmAhk5/OT25F0mt96cqapEAw==} engines: {node: ^16.14.0 || >=18.10.0} peerDependencies: - '@angular/core': 16.2.9 + '@angular/core': 16.2.11 rxjs: ^6.5.3 || ^7.4.0 dependencies: - '@angular/core': 16.2.9(rxjs@7.8.1)(zone.js@0.13.3) + '@angular/core': 16.2.11(rxjs@7.8.1)(zone.js@0.13.3) rxjs: 7.8.1 tslib: 2.6.2 dev: false - /@angular/compiler-cli@16.2.9(@angular/compiler@16.2.9)(typescript@4.9.5): - resolution: {integrity: sha512-ecH2oOlijJdDqioD9IfgdqJGoRRHI6hAx5rwBxIaYk01ywj13KzvXWPrXbCIupeWtV/XUZUlbwf47nlmL5gxZg==} + /@angular/compiler-cli@16.2.11(@angular/compiler@16.2.11)(typescript@5.1.6): + resolution: {integrity: sha512-ZtZCXfkVBH78HUm2Byf+WX3Y6WzQK9EXYXNU/ni1rvSZ1vLNwieLDfWb/xwiO7QojrHZTym1RJ10jTMinTguqw==} engines: {node: ^16.14.0 || >=18.10.0} hasBin: true peerDependencies: - '@angular/compiler': 16.2.9 + '@angular/compiler': 16.2.11 typescript: '>=4.9.3 <5.2' dependencies: - '@angular/compiler': 16.2.9(@angular/core@16.2.9) - '@babel/core': 7.22.5 + '@angular/compiler': 16.2.11(@angular/core@16.2.11) + '@babel/core': 7.23.2 '@jridgewell/sourcemap-codec': 1.4.15 chokidar: 3.5.3 convert-source-map: 1.9.0 reflect-metadata: 0.1.13 - semver: 7.4.0 + semver: 7.5.4 tslib: 2.6.2 - typescript: 4.9.5 - yargs: 17.7.1 + typescript: 5.1.6 + yargs: 17.7.2 transitivePeerDependencies: - supports-color dev: true - /@angular/compiler@16.2.9(@angular/core@16.2.9): - resolution: {integrity: sha512-lh799pnbdvzTVShJHOY1JC6c1pwBsZC4UIgB3Itklo9dskGybQma/gP+lE6RhqM4FblNfaaBXGlCMUuY8HkmEQ==} + /@angular/compiler@16.2.11(@angular/core@16.2.11): + resolution: {integrity: sha512-9q/E3uurvoQbdTTWDyWCLpzmfJ4+et7SUca1/EljD/X7Xg2FNU5GpTMutBtWFL7wDyWk1oswivuq9/C4GVW7fA==} engines: {node: ^16.14.0 || >=18.10.0} peerDependencies: - '@angular/core': 16.2.9 + '@angular/core': 16.2.11 peerDependenciesMeta: '@angular/core': optional: true dependencies: - '@angular/core': 16.2.9(rxjs@7.8.1)(zone.js@0.13.3) + '@angular/core': 16.2.11(rxjs@7.8.1)(zone.js@0.13.3) tslib: 2.6.2 - /@angular/core@16.2.9(rxjs@7.8.1)(zone.js@0.13.3): - resolution: {integrity: sha512-chvPX29ZBcMDuh7rLIgb0Cru6oJ/0FaqRzfOI3wT4W2F9W1HOlCtipovzmPYaUAmXBWfVP4EBO9TOWnpog0S0w==} + /@angular/core@16.2.11(rxjs@7.8.1)(zone.js@0.13.3): + resolution: {integrity: sha512-Jb+7/p1vczQRQ3iC1QxUS5cE4X1hPVAvbrFnyMpSx6Pq5o274v/lK6PvhUZrfKrp9FxFp9pN+WHjUqNFqOuJZg==} engines: {node: ^16.14.0 || >=18.10.0} peerDependencies: rxjs: ^6.5.3 || ^7.4.0 @@ -551,116 +602,75 @@ packages: tslib: 2.6.2 zone.js: 0.13.3 - /@angular/forms@16.2.9(@angular/common@16.2.9)(@angular/core@16.2.9)(@angular/platform-browser@16.2.9)(rxjs@7.8.1): - resolution: {integrity: sha512-rxlg2iNJNBH/uc7b5YqybfYc8BkLzzPv1d/nMsQUlY0O2UV2zwNRpcIiWbWd7+ZaKjcyPynVe9FsXC8wgWIABw==} + /@angular/forms@16.2.11(@angular/common@16.2.11)(@angular/core@16.2.11)(@angular/platform-browser@16.2.11)(rxjs@7.8.1): + resolution: {integrity: sha512-2powweUorehB1opfev6/sUeb3Bdey+Txq4gjI1Qdeo9c9OgtaKu6wK0KXgoism8HXXRFcGHMfS0dUVoDPVrtiQ==} engines: {node: ^16.14.0 || >=18.10.0} peerDependencies: - '@angular/common': 16.2.9 - '@angular/core': 16.2.9 - '@angular/platform-browser': 16.2.9 + '@angular/common': 16.2.11 + '@angular/core': 16.2.11 + '@angular/platform-browser': 16.2.11 rxjs: ^6.5.3 || ^7.4.0 dependencies: - '@angular/common': 16.2.9(@angular/core@16.2.9)(rxjs@7.8.1) - '@angular/core': 16.2.9(rxjs@7.8.1)(zone.js@0.13.3) - '@angular/platform-browser': 16.2.9(@angular/animations@16.2.9)(@angular/common@16.2.9)(@angular/core@16.2.9) + '@angular/common': 16.2.11(@angular/core@16.2.11)(rxjs@7.8.1) + '@angular/core': 16.2.11(rxjs@7.8.1)(zone.js@0.13.3) + '@angular/platform-browser': 16.2.11(@angular/animations@16.2.11)(@angular/common@16.2.11)(@angular/core@16.2.11) rxjs: 7.8.1 tslib: 2.6.2 dev: false - /@angular/platform-browser-dynamic@16.2.9(@angular/common@16.2.9)(@angular/compiler@16.2.9)(@angular/core@16.2.9)(@angular/platform-browser@16.2.9): - resolution: {integrity: sha512-ztpo0939vTZ/5CWVSvo41Yl6YPoTZ0If+yTrs7dk1ce0vFgaZXMlc+y5ZwjJIiMM5CvHbhL48Uk+HJNIojP98A==} + /@angular/platform-browser-dynamic@16.2.11(@angular/common@16.2.11)(@angular/compiler@16.2.11)(@angular/core@16.2.11)(@angular/platform-browser@16.2.11): + resolution: {integrity: sha512-e+A7z6MUJaqC4Fdq7XQfIhAox3ZPM1lczM6G08fUKPbFDEe+c9i7C8YRLL+69BXDuG790btugIeOQcn5lnJcFg==} engines: {node: ^16.14.0 || >=18.10.0} peerDependencies: - '@angular/common': 16.2.9 - '@angular/compiler': 16.2.9 - '@angular/core': 16.2.9 - '@angular/platform-browser': 16.2.9 + '@angular/common': 16.2.11 + '@angular/compiler': 16.2.11 + '@angular/core': 16.2.11 + '@angular/platform-browser': 16.2.11 dependencies: - '@angular/common': 16.2.9(@angular/core@16.2.9)(rxjs@7.8.1) - '@angular/compiler': 16.2.9(@angular/core@16.2.9) - '@angular/core': 16.2.9(rxjs@7.8.1)(zone.js@0.13.3) - '@angular/platform-browser': 16.2.9(@angular/animations@16.2.9)(@angular/common@16.2.9)(@angular/core@16.2.9) + '@angular/common': 16.2.11(@angular/core@16.2.11)(rxjs@7.8.1) + '@angular/compiler': 16.2.11(@angular/core@16.2.11) + '@angular/core': 16.2.11(rxjs@7.8.1)(zone.js@0.13.3) + '@angular/platform-browser': 16.2.11(@angular/animations@16.2.11)(@angular/common@16.2.11)(@angular/core@16.2.11) tslib: 2.6.2 dev: false - /@angular/platform-browser@16.2.9(@angular/animations@16.2.9)(@angular/common@16.2.9)(@angular/core@16.2.9): - resolution: {integrity: sha512-9Je7+Jmx0AOyRzBBumraVJG3M0R6YbT4c9jTUbLGJCcPxwDI3/u2ZzvW3rBqpmrDaqLxN5f1LcZeTZx287QeqQ==} + /@angular/platform-browser@16.2.11(@angular/animations@16.2.11)(@angular/common@16.2.11)(@angular/core@16.2.11): + resolution: {integrity: sha512-gUptbI3lbaRg+L8rcTlxKtFunYmR/M/mm9/l9uRd+5qk2mnFI0+s/tzRoaq7K0XaRGKZiWLNTz6FTkviO1zo2g==} engines: {node: ^16.14.0 || >=18.10.0} peerDependencies: - '@angular/animations': 16.2.9 - '@angular/common': 16.2.9 - '@angular/core': 16.2.9 + '@angular/animations': 16.2.11 + '@angular/common': 16.2.11 + '@angular/core': 16.2.11 peerDependenciesMeta: '@angular/animations': optional: true dependencies: - '@angular/animations': 16.2.9(@angular/core@16.2.9) - '@angular/common': 16.2.9(@angular/core@16.2.9)(rxjs@7.8.1) - '@angular/core': 16.2.9(rxjs@7.8.1)(zone.js@0.13.3) + '@angular/animations': 16.2.11(@angular/core@16.2.11) + '@angular/common': 16.2.11(@angular/core@16.2.11)(rxjs@7.8.1) + '@angular/core': 16.2.11(rxjs@7.8.1)(zone.js@0.13.3) tslib: 2.6.2 dev: false - /@angular/router@16.2.9(@angular/common@16.2.9)(@angular/core@16.2.9)(@angular/platform-browser@16.2.9)(rxjs@7.8.1): - resolution: {integrity: sha512-5vrJNMblTDx3WC3dtaqLddWNtR0P9iwpqffeZL1uobBIwP4hbJx+8Dos3TwxGR4hnopFKahoDQ5nC0NOQslyog==} + /@angular/router@16.2.11(@angular/common@16.2.11)(@angular/core@16.2.11)(@angular/platform-browser@16.2.11)(rxjs@7.8.1): + resolution: {integrity: sha512-QTssqJue+xQ8M1gzmfJcIHPIpPOijVwGnXQjt7cnFggNe/CedOckLEzk2j7/6aC1b5aQKuZePPw6XMvk8ciilQ==} engines: {node: ^16.14.0 || >=18.10.0} peerDependencies: - '@angular/common': 16.2.9 - '@angular/core': 16.2.9 - '@angular/platform-browser': 16.2.9 + '@angular/common': 16.2.11 + '@angular/core': 16.2.11 + '@angular/platform-browser': 16.2.11 rxjs: ^6.5.3 || ^7.4.0 dependencies: - '@angular/common': 16.2.9(@angular/core@16.2.9)(rxjs@7.8.1) - '@angular/core': 16.2.9(rxjs@7.8.1)(zone.js@0.13.3) - '@angular/platform-browser': 16.2.9(@angular/animations@16.2.9)(@angular/common@16.2.9)(@angular/core@16.2.9) + '@angular/common': 16.2.11(@angular/core@16.2.11)(rxjs@7.8.1) + '@angular/core': 16.2.11(rxjs@7.8.1)(zone.js@0.13.3) + '@angular/platform-browser': 16.2.11(@angular/animations@16.2.11)(@angular/common@16.2.11)(@angular/core@16.2.11) rxjs: 7.8.1 tslib: 2.6.2 dev: false - /@apollo/client@3.8.6(graphql@16.8.1): - resolution: {integrity: sha512-FnHg3vhQP8tQzgBs6oTJCFFIbovelDGYujj6MK7CJneiHf62TJstCIO0Ot4A1h7XrgFEtgl8a/OgajQWqrTuYw==} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 - graphql-ws: ^5.5.5 - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - subscriptions-transport-ws: ^0.9.0 || ^0.11.0 - peerDependenciesMeta: - graphql-ws: - optional: true - react: - optional: true - react-dom: - optional: true - subscriptions-transport-ws: - optional: true - dependencies: - '@graphql-typed-document-node/core': 3.2.0(graphql@16.8.1) - '@wry/context': 0.7.4 - '@wry/equality': 0.5.7 - '@wry/trie': 0.4.3 - graphql: 16.8.1 - graphql-tag: 2.12.6(graphql@16.8.1) - hoist-non-react-statics: 3.3.2 - optimism: 0.17.5 - prop-types: 15.8.1 - response-iterator: 0.2.6 - symbol-observable: 4.0.0 - ts-invariant: 0.10.3 - tslib: 2.6.2 - zen-observable-ts: 1.2.5 - dev: false - /@assemblyscript/loader@0.10.1: resolution: {integrity: sha512-H71nDOOL8Y7kWRLqf6Sums+01Q5msqBW2KhDUTemh1tvY04eSkSXrK0uj/4mmY0Xr16/3zyZmsrxN7CKuRbNRg==} dev: true - /@babel/code-frame@7.21.4: - resolution: {integrity: sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/highlight': 7.18.6 - dev: true - /@babel/code-frame@7.22.13: resolution: {integrity: sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==} engines: {node: '>=6.9.0'} @@ -669,77 +679,49 @@ packages: chalk: 2.4.2 dev: true - /@babel/compat-data@7.21.4: - resolution: {integrity: sha512-/DYyDpeCfaVinT40FPGdkkb+lYSKvsVuMjDAG7jPOWWiM1ibOaB9CXJAlc4d1QpP/U2q2P9jbrSlClKSErd55g==} - engines: {node: '>=6.9.0'} - dev: true - /@babel/compat-data@7.23.2: resolution: {integrity: sha512-0S9TQMmDHlqAZ2ITT95irXKfxN9bncq8ZCoJhun3nHL/lLUxd2NKBJYoNGWH7S0hz6fRQwWlAWn/ILM0C70KZQ==} engines: {node: '>=6.9.0'} dev: true - /@babel/core@7.21.4: - resolution: {integrity: sha512-qt/YV149Jman/6AfmlxJ04LMIu8bMoyl3RB91yTFrxQmgbrSvQMy7cI8Q62FHx1t8wJ8B5fu0UDoLwHAhUo1QA==} - engines: {node: '>=6.9.0'} - dependencies: - '@ampproject/remapping': 2.2.1 - '@babel/code-frame': 7.21.4 - '@babel/generator': 7.21.4 - '@babel/helper-compilation-targets': 7.21.4(@babel/core@7.21.4) - '@babel/helper-module-transforms': 7.21.2 - '@babel/helpers': 7.21.0 - '@babel/parser': 7.21.4 - '@babel/template': 7.20.7 - '@babel/traverse': 7.21.4 - '@babel/types': 7.21.4 - convert-source-map: 1.9.0 - debug: 4.3.4 - gensync: 1.0.0-beta.2 - json5: 2.2.3 - semver: 6.3.0 - transitivePeerDependencies: - - supports-color - dev: true - - /@babel/core@7.22.5: - resolution: {integrity: sha512-SBuTAjg91A3eKOvD+bPEz3LlhHZRNu1nFOVts9lzDJTXshHTjII0BAtDS3Y2DAkdZdDKWVZGVwkDfc4Clxn1dg==} + /@babel/core@7.22.9: + resolution: {integrity: sha512-G2EgeufBcYw27U4hhoIwFcgc1XU7TlXJ3mv04oOv1WCuo900U/anZSPzEqNjwdjgffkk2Gs0AN0dW1CKVLcG7w==} engines: {node: '>=6.9.0'} dependencies: '@ampproject/remapping': 2.2.1 '@babel/code-frame': 7.22.13 - '@babel/generator': 7.23.0 + '@babel/generator': 7.22.9 '@babel/helper-compilation-targets': 7.22.15 - '@babel/helper-module-transforms': 7.23.0(@babel/core@7.22.5) + '@babel/helper-module-transforms': 7.23.0(@babel/core@7.22.9) '@babel/helpers': 7.23.2 '@babel/parser': 7.23.0 - '@babel/template': 7.22.15 + '@babel/template': 7.22.5 '@babel/traverse': 7.23.2 '@babel/types': 7.23.0 convert-source-map: 1.9.0 debug: 4.3.4 gensync: 1.0.0-beta.2 json5: 2.2.3 - semver: 6.3.0 + semver: 6.3.1 transitivePeerDependencies: - supports-color dev: true - /@babel/core@7.22.9: - resolution: {integrity: sha512-G2EgeufBcYw27U4hhoIwFcgc1XU7TlXJ3mv04oOv1WCuo900U/anZSPzEqNjwdjgffkk2Gs0AN0dW1CKVLcG7w==} + /@babel/core@7.23.2: + resolution: {integrity: sha512-n7s51eWdaWZ3vGT2tD4T7J6eJs3QoBXydv7vkUM06Bf1cbVD2Kc2UrkzhiQwobfV7NwOnQXYL7UBJ5VPU+RGoQ==} engines: {node: '>=6.9.0'} dependencies: '@ampproject/remapping': 2.2.1 '@babel/code-frame': 7.22.13 - '@babel/generator': 7.22.9 + '@babel/generator': 7.23.0 '@babel/helper-compilation-targets': 7.22.15 - '@babel/helper-module-transforms': 7.23.0(@babel/core@7.22.9) + '@babel/helper-module-transforms': 7.23.0(@babel/core@7.23.2) '@babel/helpers': 7.23.2 '@babel/parser': 7.23.0 - '@babel/template': 7.22.5 + '@babel/template': 7.22.15 '@babel/traverse': 7.23.2 '@babel/types': 7.23.0 - convert-source-map: 1.9.0 + convert-source-map: 2.0.0 debug: 4.3.4 gensync: 1.0.0-beta.2 json5: 2.2.3 @@ -748,23 +730,13 @@ packages: - supports-color dev: true - /@babel/generator@7.21.4: - resolution: {integrity: sha512-NieM3pVIYW2SwGzKoqfPrQsf4xGs9M9AIG3ThppsSRmO+m7eQhmI6amajKMUeIO37wFfsvnvcxQFx6x6iqxDnA==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.21.4 - '@jridgewell/gen-mapping': 0.3.3 - '@jridgewell/trace-mapping': 0.3.18 - jsesc: 2.5.2 - dev: true - /@babel/generator@7.22.9: resolution: {integrity: sha512-KtLMbmicyuK2Ak/FTCJVbDnkN1SlT8/kceFTiuDiiRUUSMnHMidxSCdG4ndkTOHHpoomWe/4xkvHkEOncwjYIw==} engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.23.0 '@jridgewell/gen-mapping': 0.3.3 - '@jridgewell/trace-mapping': 0.3.18 + '@jridgewell/trace-mapping': 0.3.20 jsesc: 2.5.2 dev: true @@ -774,7 +746,7 @@ packages: dependencies: '@babel/types': 7.23.0 '@jridgewell/gen-mapping': 0.3.3 - '@jridgewell/trace-mapping': 0.3.18 + '@jridgewell/trace-mapping': 0.3.20 jsesc: 2.5.2 dev: true @@ -792,20 +764,6 @@ packages: '@babel/types': 7.23.0 dev: true - /@babel/helper-compilation-targets@7.21.4(@babel/core@7.21.4): - resolution: {integrity: sha512-Fa0tTuOXZ1iL8IeDFUWCzjZcn+sJGd9RZdH9esYVjEejGmzf+FFYQpMi/kZUk2kPy/q1H3/GPw7np8qar/stfg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/compat-data': 7.21.4 - '@babel/core': 7.21.4 - '@babel/helper-validator-option': 7.21.0 - browserslist: 4.21.5 - lru-cache: 5.1.1 - semver: 6.3.0 - dev: true - /@babel/helper-compilation-targets@7.22.15: resolution: {integrity: sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw==} engines: {node: '>=6.9.0'} @@ -835,17 +793,6 @@ packages: semver: 6.3.1 dev: true - /@babel/helper-create-regexp-features-plugin@7.21.4(@babel/core@7.22.9): - resolution: {integrity: sha512-M00OuhU+0GyZ5iBBN9czjugzWrEq2vDpf/zCYHxxf93ul/Q5rv+a5h+/+0WnI1AebHNVtl5bFV0qsJoH23DbfA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.22.9 - '@babel/helper-annotate-as-pure': 7.22.5 - regexpu-core: 5.3.2 - dev: true - /@babel/helper-create-regexp-features-plugin@7.22.15(@babel/core@7.22.9): resolution: {integrity: sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==} engines: {node: '>=6.9.0'} @@ -868,29 +815,16 @@ packages: '@babel/helper-plugin-utils': 7.22.5 debug: 4.3.4 lodash.debounce: 4.0.8 - resolve: 1.22.2 + resolve: 1.22.8 transitivePeerDependencies: - supports-color dev: true - /@babel/helper-environment-visitor@7.18.9: - resolution: {integrity: sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==} - engines: {node: '>=6.9.0'} - dev: true - /@babel/helper-environment-visitor@7.22.20: resolution: {integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==} engines: {node: '>=6.9.0'} dev: true - /@babel/helper-function-name@7.21.0: - resolution: {integrity: sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/template': 7.22.5 - '@babel/types': 7.21.4 - dev: true - /@babel/helper-function-name@7.23.0: resolution: {integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==} engines: {node: '>=6.9.0'} @@ -899,13 +833,6 @@ packages: '@babel/types': 7.23.0 dev: true - /@babel/helper-hoist-variables@7.18.6: - resolution: {integrity: sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.21.4 - dev: true - /@babel/helper-hoist-variables@7.22.5: resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==} engines: {node: '>=6.9.0'} @@ -920,13 +847,6 @@ packages: '@babel/types': 7.23.0 dev: true - /@babel/helper-module-imports@7.21.4: - resolution: {integrity: sha512-orajc5T2PsRYUN3ZryCEFeMDYwyw09c/pZeaQEZPH0MpKzSvn3e0uXsDBu3k03VI+9DBiRo+l22BfKTpKwa/Wg==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.21.4 - dev: true - /@babel/helper-module-imports@7.22.15: resolution: {integrity: sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==} engines: {node: '>=6.9.0'} @@ -934,29 +854,13 @@ packages: '@babel/types': 7.23.0 dev: true - /@babel/helper-module-transforms@7.21.2: - resolution: {integrity: sha512-79yj2AR4U/Oqq/WOV7Lx6hUjau1Zfo4cI+JLAVYeMV5XIlbOhmjEk5ulbTc9fMpmlojzZHkUUxAiK+UKn+hNQQ==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-environment-visitor': 7.18.9 - '@babel/helper-module-imports': 7.21.4 - '@babel/helper-simple-access': 7.20.2 - '@babel/helper-split-export-declaration': 7.18.6 - '@babel/helper-validator-identifier': 7.19.1 - '@babel/template': 7.20.7 - '@babel/traverse': 7.21.4 - '@babel/types': 7.21.4 - transitivePeerDependencies: - - supports-color - dev: true - - /@babel/helper-module-transforms@7.23.0(@babel/core@7.22.5): + /@babel/helper-module-transforms@7.23.0(@babel/core@7.22.9): resolution: {integrity: sha512-WhDWw1tdrlT0gMgUJSlX0IQvoO1eN279zrAUbVB+KpV2c3Tylz8+GnKOLllCS6Z/iZQEyVYxhZVUdPTqs2YYPw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.22.9 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-module-imports': 7.22.15 '@babel/helper-simple-access': 7.22.5 @@ -964,13 +868,13 @@ packages: '@babel/helper-validator-identifier': 7.22.20 dev: true - /@babel/helper-module-transforms@7.23.0(@babel/core@7.22.9): + /@babel/helper-module-transforms@7.23.0(@babel/core@7.23.2): resolution: {integrity: sha512-WhDWw1tdrlT0gMgUJSlX0IQvoO1eN279zrAUbVB+KpV2c3Tylz8+GnKOLllCS6Z/iZQEyVYxhZVUdPTqs2YYPw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.23.2 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-module-imports': 7.22.15 '@babel/helper-simple-access': 7.22.5 @@ -985,31 +889,11 @@ packages: '@babel/types': 7.23.0 dev: true - /@babel/helper-plugin-utils@7.20.2: - resolution: {integrity: sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==} - engines: {node: '>=6.9.0'} - dev: true - /@babel/helper-plugin-utils@7.22.5: resolution: {integrity: sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==} engines: {node: '>=6.9.0'} dev: true - /@babel/helper-remap-async-to-generator@7.18.9(@babel/core@7.22.9): - resolution: {integrity: sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.22.9 - '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-environment-visitor': 7.18.9 - '@babel/helper-wrap-function': 7.20.5 - '@babel/types': 7.21.4 - transitivePeerDependencies: - - supports-color - dev: true - /@babel/helper-remap-async-to-generator@7.22.20(@babel/core@7.22.9): resolution: {integrity: sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==} engines: {node: '>=6.9.0'} @@ -1034,13 +918,6 @@ packages: '@babel/helper-optimise-call-expression': 7.22.5 dev: true - /@babel/helper-simple-access@7.20.2: - resolution: {integrity: sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.21.4 - dev: true - /@babel/helper-simple-access@7.22.5: resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==} engines: {node: '>=6.9.0'} @@ -1055,13 +932,6 @@ packages: '@babel/types': 7.23.0 dev: true - /@babel/helper-split-export-declaration@7.18.6: - resolution: {integrity: sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.21.4 - dev: true - /@babel/helper-split-export-declaration@7.22.6: resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==} engines: {node: '>=6.9.0'} @@ -1069,48 +939,21 @@ packages: '@babel/types': 7.23.0 dev: true - /@babel/helper-string-parser@7.19.4: - resolution: {integrity: sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==} - engines: {node: '>=6.9.0'} - dev: true - /@babel/helper-string-parser@7.22.5: resolution: {integrity: sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==} engines: {node: '>=6.9.0'} dev: true - /@babel/helper-validator-identifier@7.19.1: - resolution: {integrity: sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==} - engines: {node: '>=6.9.0'} - dev: true - /@babel/helper-validator-identifier@7.22.20: resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} engines: {node: '>=6.9.0'} dev: true - /@babel/helper-validator-option@7.21.0: - resolution: {integrity: sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==} - engines: {node: '>=6.9.0'} - dev: true - /@babel/helper-validator-option@7.22.15: resolution: {integrity: sha512-bMn7RmyFjY/mdECUbgn9eoSY4vqvacUnS9i9vGAGttgFWesO6B4CYWA7XlpbWgBt71iv/hfbPlynohStqnu5hA==} engines: {node: '>=6.9.0'} dev: true - /@babel/helper-wrap-function@7.20.5: - resolution: {integrity: sha512-bYMxIWK5mh+TgXGVqAtnu5Yn1un+v8DDZtqyzKRLUzrh70Eal2O3aZ7aPYiMADO4uKlkzOiRiZ6GX5q3qxvW9Q==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-function-name': 7.21.0 - '@babel/template': 7.22.5 - '@babel/traverse': 7.21.4 - '@babel/types': 7.21.4 - transitivePeerDependencies: - - supports-color - dev: true - /@babel/helper-wrap-function@7.22.20: resolution: {integrity: sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw==} engines: {node: '>=6.9.0'} @@ -1120,17 +963,6 @@ packages: '@babel/types': 7.23.0 dev: true - /@babel/helpers@7.21.0: - resolution: {integrity: sha512-XXve0CBtOW0pd7MRzzmoyuSj0e3SEzj8pgyFxnTT1NJZL38BD1MK7yYrm8yefRPIDvNNe14xR4FdbHwpInD4rA==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/template': 7.20.7 - '@babel/traverse': 7.21.4 - '@babel/types': 7.21.4 - transitivePeerDependencies: - - supports-color - dev: true - /@babel/helpers@7.23.2: resolution: {integrity: sha512-lzchcp8SjTSVe/fPmLwtWVBFC7+Tbn8LGHDVfDp9JGxpAY5opSaEFgt8UQvrnECWOTdji2mOWMz1rOhkHscmGQ==} engines: {node: '>=6.9.0'} @@ -1142,15 +974,6 @@ packages: - supports-color dev: true - /@babel/highlight@7.18.6: - resolution: {integrity: sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-validator-identifier': 7.19.1 - chalk: 2.4.2 - js-tokens: 4.0.0 - dev: true - /@babel/highlight@7.22.20: resolution: {integrity: sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==} engines: {node: '>=6.9.0'} @@ -1160,14 +983,6 @@ packages: js-tokens: 4.0.0 dev: true - /@babel/parser@7.21.4: - resolution: {integrity: sha512-alVJj7k7zIxqBZ7BTRhz0IqJFxW1VJbm6N8JbcYhQ186df9ZBPbZBmWSqAMXwHGsCJdYks7z/voa3ibiS5bCIw==} - engines: {node: '>=6.0.0'} - hasBin: true - dependencies: - '@babel/types': 7.21.4 - dev: true - /@babel/parser@7.23.0: resolution: {integrity: sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==} engines: {node: '>=6.0.0'} @@ -1206,12 +1021,10 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.22.9 - '@babel/helper-environment-visitor': 7.18.9 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/helper-remap-async-to-generator': 7.18.9(@babel/core@7.22.9) + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.22.9) '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.22.9) - transitivePeerDependencies: - - supports-color dev: true /@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.22.9): @@ -1231,7 +1044,7 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.22.9 - '@babel/helper-create-regexp-features-plugin': 7.21.4(@babel/core@7.22.9) + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.22.9) '@babel/helper-plugin-utils': 7.22.5 dev: true @@ -1241,7 +1054,7 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.22.9 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 dev: true /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.22.9): @@ -1400,7 +1213,7 @@ packages: '@babel/core': ^7.0.0 dependencies: '@babel/core': 7.22.9 - '@babel/helper-create-regexp-features-plugin': 7.21.4(@babel/core@7.22.9) + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.22.9) '@babel/helper-plugin-utils': 7.22.5 dev: true @@ -1852,7 +1665,7 @@ packages: '@babel/helper-module-imports': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 babel-plugin-polyfill-corejs2: 0.4.6(@babel/core@7.22.9) - babel-plugin-polyfill-corejs3: 0.8.5(@babel/core@7.22.9) + babel-plugin-polyfill-corejs3: 0.8.6(@babel/core@7.22.9) babel-plugin-polyfill-regenerator: 0.5.3(@babel/core@7.22.9) semver: 6.3.1 transitivePeerDependencies: @@ -2033,21 +1846,21 @@ packages: '@babel/plugin-transform-unicode-property-regex': 7.22.5(@babel/core@7.22.9) '@babel/plugin-transform-unicode-regex': 7.22.5(@babel/core@7.22.9) '@babel/plugin-transform-unicode-sets-regex': 7.22.5(@babel/core@7.22.9) - '@babel/preset-modules': 0.1.5(@babel/core@7.22.9) + '@babel/preset-modules': 0.1.6(@babel/core@7.22.9) '@babel/types': 7.23.0 babel-plugin-polyfill-corejs2: 0.4.6(@babel/core@7.22.9) - babel-plugin-polyfill-corejs3: 0.8.5(@babel/core@7.22.9) + babel-plugin-polyfill-corejs3: 0.8.6(@babel/core@7.22.9) babel-plugin-polyfill-regenerator: 0.5.3(@babel/core@7.22.9) - core-js-compat: 3.33.0 + core-js-compat: 3.33.1 semver: 6.3.1 transitivePeerDependencies: - supports-color dev: true - /@babel/preset-modules@0.1.5(@babel/core@7.22.9): - resolution: {integrity: sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==} + /@babel/preset-modules@0.1.6(@babel/core@7.22.9): + resolution: {integrity: sha512-ID2yj6K/4lKfhuU3+EX4UvNbIt7eACFbHmNUjzA+ep+B5971CknnA/9DEWKbRokfbbtblxxxXFJJrH47UEAMVg==} peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0 dependencies: '@babel/core': 7.22.9 '@babel/helper-plugin-utils': 7.22.5 @@ -2068,15 +1881,6 @@ packages: regenerator-runtime: 0.13.11 dev: true - /@babel/template@7.20.7: - resolution: {integrity: sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/code-frame': 7.21.4 - '@babel/parser': 7.21.4 - '@babel/types': 7.21.4 - dev: true - /@babel/template@7.22.15: resolution: {integrity: sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==} engines: {node: '>=6.9.0'} @@ -2095,24 +1899,6 @@ packages: '@babel/types': 7.23.0 dev: true - /@babel/traverse@7.21.4: - resolution: {integrity: sha512-eyKrRHKdyZxqDm+fV1iqL9UAHMoIg0nDaGqfIOd8rKH17m5snv7Gn4qgjBoFfLz9APvjFU/ICT00NVCv1Epp8Q==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/code-frame': 7.21.4 - '@babel/generator': 7.21.4 - '@babel/helper-environment-visitor': 7.18.9 - '@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.21.4 - '@babel/types': 7.21.4 - debug: 4.3.4 - globals: 11.12.0 - transitivePeerDependencies: - - supports-color - dev: true - /@babel/traverse@7.23.2: resolution: {integrity: sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==} engines: {node: '>=6.9.0'} @@ -2131,15 +1917,6 @@ packages: - supports-color dev: true - /@babel/types@7.21.4: - resolution: {integrity: sha512-rU2oY501qDxE8Pyo7i/Orqma4ziCOrby0/9mvbDUGEfvZjb279Nk9k19e2fiCxHbRRpY2ZyrgW1eq22mvmOIzA==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-string-parser': 7.19.4 - '@babel/helper-validator-identifier': 7.19.1 - to-fast-properties: 2.0.0 - dev: true - /@babel/types@7.23.0: resolution: {integrity: sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==} engines: {node: '>=6.9.0'} @@ -2154,46 +1931,46 @@ packages: engines: {node: '>=0.1.90'} dev: true - /@commitlint/cli@17.7.2: - resolution: {integrity: sha512-t3N7TZq7lOeqTOyEgfGcaltHqEJf7YDlPg75MldeVPPyz14jZq/+mbGF9tueDLFX8R6RwdymrN6D+U5XwZ8Iwg==} + /@commitlint/cli@17.8.1: + resolution: {integrity: sha512-ay+WbzQesE0Rv4EQKfNbSMiJJ12KdKTDzIt0tcK4k11FdsWmtwP0Kp1NWMOUswfIWo6Eb7p7Ln721Nx9FLNBjg==} engines: {node: '>=v14'} hasBin: true dependencies: - '@commitlint/format': 17.4.4 - '@commitlint/lint': 17.7.0 - '@commitlint/load': 17.7.2 - '@commitlint/read': 17.5.1 - '@commitlint/types': 17.4.4 + '@commitlint/format': 17.8.1 + '@commitlint/lint': 17.8.1 + '@commitlint/load': 17.8.1 + '@commitlint/read': 17.8.1 + '@commitlint/types': 17.8.1 execa: 5.1.1 lodash.isfunction: 3.0.9 resolve-from: 5.0.0 resolve-global: 1.0.0 - yargs: 17.7.1 + yargs: 17.7.2 transitivePeerDependencies: - '@swc/core' - '@swc/wasm' dev: true - /@commitlint/config-conventional@17.7.0: - resolution: {integrity: sha512-iicqh2o6et+9kWaqsQiEYZzfLbtoWv9uZl8kbI8EGfnc0HeGafQBF7AJ0ylN9D/2kj6txltsdyQs8+2fTMwWEw==} + /@commitlint/config-conventional@17.8.1: + resolution: {integrity: sha512-NxCOHx1kgneig3VLauWJcDWS40DVjg7nKOpBEEK9E5fjJpQqLCilcnKkIIjdBH98kEO1q3NpE5NSrZ2kl/QGJg==} engines: {node: '>=v14'} dependencies: conventional-changelog-conventionalcommits: 6.1.0 dev: true - /@commitlint/config-validator@17.6.7: - resolution: {integrity: sha512-vJSncmnzwMvpr3lIcm0I8YVVDJTzyjy7NZAeXbTXy+MPUdAr9pKyyg7Tx/ebOQ9kqzE6O9WT6jg2164br5UdsQ==} + /@commitlint/config-validator@17.8.1: + resolution: {integrity: sha512-UUgUC+sNiiMwkyiuIFR7JG2cfd9t/7MV8VB4TZ+q02ZFkHoduUS4tJGsCBWvBOGD9Btev6IecPMvlWUfJorkEA==} engines: {node: '>=v14'} dependencies: - '@commitlint/types': 17.4.4 + '@commitlint/types': 17.8.1 ajv: 8.12.0 dev: true - /@commitlint/ensure@17.6.7: - resolution: {integrity: sha512-mfDJOd1/O/eIb/h4qwXzUxkmskXDL9vNPnZ4AKYKiZALz4vHzwMxBSYtyL2mUIDeU9DRSpEUins8SeKtFkYHSw==} + /@commitlint/ensure@17.8.1: + resolution: {integrity: sha512-xjafwKxid8s1K23NFpL8JNo6JnY/ysetKo8kegVM7c8vs+kWLP8VrQq+NbhgVlmCojhEDbzQKp4eRXSjVOGsow==} engines: {node: '>=v14'} dependencies: - '@commitlint/types': 17.4.4 + '@commitlint/types': 17.8.1 lodash.camelcase: 4.3.0 lodash.kebabcase: 4.1.1 lodash.snakecase: 4.1.1 @@ -2201,122 +1978,122 @@ packages: lodash.upperfirst: 4.3.1 dev: true - /@commitlint/execute-rule@17.4.0: - resolution: {integrity: sha512-LIgYXuCSO5Gvtc0t9bebAMSwd68ewzmqLypqI2Kke1rqOqqDbMpYcYfoPfFlv9eyLIh4jocHWwCK5FS7z9icUA==} + /@commitlint/execute-rule@17.8.1: + resolution: {integrity: sha512-JHVupQeSdNI6xzA9SqMF+p/JjrHTcrJdI02PwesQIDCIGUrv04hicJgCcws5nzaoZbROapPs0s6zeVHoxpMwFQ==} engines: {node: '>=v14'} dev: true - /@commitlint/format@17.4.4: - resolution: {integrity: sha512-+IS7vpC4Gd/x+uyQPTAt3hXs5NxnkqAZ3aqrHd5Bx/R9skyCAWusNlNbw3InDbAK6j166D9asQM8fnmYIa+CXQ==} + /@commitlint/format@17.8.1: + resolution: {integrity: sha512-f3oMTyZ84M9ht7fb93wbCKmWxO5/kKSbwuYvS867duVomoOsgrgljkGGIztmT/srZnaiGbaK8+Wf8Ik2tSr5eg==} engines: {node: '>=v14'} dependencies: - '@commitlint/types': 17.4.4 + '@commitlint/types': 17.8.1 chalk: 4.1.2 dev: true - /@commitlint/is-ignored@17.7.0: - resolution: {integrity: sha512-043rA7m45tyEfW7Zv2vZHF++176MLHH9h70fnPoYlB1slKBeKl8BwNIlnPg4xBdRBVNPaCqvXxWswx2GR4c9Hw==} + /@commitlint/is-ignored@17.8.1: + resolution: {integrity: sha512-UshMi4Ltb4ZlNn4F7WtSEugFDZmctzFpmbqvpyxD3la510J+PLcnyhf9chs7EryaRFJMdAKwsEKfNK0jL/QM4g==} engines: {node: '>=v14'} dependencies: - '@commitlint/types': 17.4.4 + '@commitlint/types': 17.8.1 semver: 7.5.4 dev: true - /@commitlint/lint@17.7.0: - resolution: {integrity: sha512-TCQihm7/uszA5z1Ux1vw+Nf3yHTgicus/+9HiUQk+kRSQawByxZNESeQoX9ujfVd3r4Sa+3fn0JQAguG4xvvbA==} + /@commitlint/lint@17.8.1: + resolution: {integrity: sha512-aQUlwIR1/VMv2D4GXSk7PfL5hIaFSfy6hSHV94O8Y27T5q+DlDEgd/cZ4KmVI+MWKzFfCTiTuWqjfRSfdRllCA==} engines: {node: '>=v14'} dependencies: - '@commitlint/is-ignored': 17.7.0 - '@commitlint/parse': 17.7.0 - '@commitlint/rules': 17.7.0 - '@commitlint/types': 17.4.4 + '@commitlint/is-ignored': 17.8.1 + '@commitlint/parse': 17.8.1 + '@commitlint/rules': 17.8.1 + '@commitlint/types': 17.8.1 dev: true - /@commitlint/load@17.7.2: - resolution: {integrity: sha512-XA7WTnsjHZ4YH6ZYsrnxgLdXzriwMMq+utZUET6spbOEEIPBCDLdOQXS26P+v3TTO4hUHOEhzUquaBv3jbBixw==} + /@commitlint/load@17.8.1: + resolution: {integrity: sha512-iF4CL7KDFstP1kpVUkT8K2Wl17h2yx9VaR1ztTc8vzByWWcbO/WaKwxsnCOqow9tVAlzPfo1ywk9m2oJ9ucMqA==} engines: {node: '>=v14'} dependencies: - '@commitlint/config-validator': 17.6.7 - '@commitlint/execute-rule': 17.4.0 - '@commitlint/resolve-extends': 17.6.7 - '@commitlint/types': 17.4.4 + '@commitlint/config-validator': 17.8.1 + '@commitlint/execute-rule': 17.8.1 + '@commitlint/resolve-extends': 17.8.1 + '@commitlint/types': 17.8.1 '@types/node': 20.5.1 chalk: 4.1.2 - cosmiconfig: 8.1.3 - cosmiconfig-typescript-loader: 4.4.0(@types/node@20.5.1)(cosmiconfig@8.1.3)(ts-node@10.9.1)(typescript@4.9.5) + cosmiconfig: 8.3.6(typescript@5.1.6) + cosmiconfig-typescript-loader: 4.4.0(@types/node@20.5.1)(cosmiconfig@8.3.6)(ts-node@10.9.1)(typescript@5.2.2) lodash.isplainobject: 4.0.6 lodash.merge: 4.6.2 lodash.uniq: 4.5.0 resolve-from: 5.0.0 - ts-node: 10.9.1(@types/node@18.18.5)(typescript@4.9.5) - typescript: 4.9.5 + ts-node: 10.9.1(@types/node@18.18.7)(typescript@5.1.6) + typescript: 5.2.2 transitivePeerDependencies: - '@swc/core' - '@swc/wasm' dev: true - /@commitlint/message@17.4.2: - resolution: {integrity: sha512-3XMNbzB+3bhKA1hSAWPCQA3lNxR4zaeQAQcHj0Hx5sVdO6ryXtgUBGGv+1ZCLMgAPRixuc6en+iNAzZ4NzAa8Q==} + /@commitlint/message@17.8.1: + resolution: {integrity: sha512-6bYL1GUQsD6bLhTH3QQty8pVFoETfFQlMn2Nzmz3AOLqRVfNNtXBaSY0dhZ0dM6A2MEq4+2d7L/2LP8TjqGRkA==} engines: {node: '>=v14'} dev: true - /@commitlint/parse@17.7.0: - resolution: {integrity: sha512-dIvFNUMCUHqq5Abv80mIEjLVfw8QNuA4DS7OWip4pcK/3h5wggmjVnlwGCDvDChkw2TjK1K6O+tAEV78oxjxag==} + /@commitlint/parse@17.8.1: + resolution: {integrity: sha512-/wLUickTo0rNpQgWwLPavTm7WbwkZoBy3X8PpkUmlSmQJyWQTj0m6bDjiykMaDt41qcUbfeFfaCvXfiR4EGnfw==} engines: {node: '>=v14'} dependencies: - '@commitlint/types': 17.4.4 + '@commitlint/types': 17.8.1 conventional-changelog-angular: 6.0.0 conventional-commits-parser: 4.0.0 dev: true - /@commitlint/read@17.5.1: - resolution: {integrity: sha512-7IhfvEvB//p9aYW09YVclHbdf1u7g7QhxeYW9ZHSO8Huzp8Rz7m05aCO1mFG7G8M+7yfFnXB5xOmG18brqQIBg==} + /@commitlint/read@17.8.1: + resolution: {integrity: sha512-Fd55Oaz9irzBESPCdMd8vWWgxsW3OWR99wOntBDHgf9h7Y6OOHjWEdS9Xzen1GFndqgyoaFplQS5y7KZe0kO2w==} engines: {node: '>=v14'} dependencies: - '@commitlint/top-level': 17.4.0 - '@commitlint/types': 17.4.4 + '@commitlint/top-level': 17.8.1 + '@commitlint/types': 17.8.1 fs-extra: 11.1.1 git-raw-commits: 2.0.11 minimist: 1.2.8 dev: true - /@commitlint/resolve-extends@17.6.7: - resolution: {integrity: sha512-PfeoAwLHtbOaC9bGn/FADN156CqkFz6ZKiVDMjuC2N5N0740Ke56rKU7Wxdwya8R8xzLK9vZzHgNbuGhaOVKIg==} + /@commitlint/resolve-extends@17.8.1: + resolution: {integrity: sha512-W/ryRoQ0TSVXqJrx5SGkaYuAaE/BUontL1j1HsKckvM6e5ZaG0M9126zcwL6peKSuIetJi7E87PRQF8O86EW0Q==} engines: {node: '>=v14'} dependencies: - '@commitlint/config-validator': 17.6.7 - '@commitlint/types': 17.4.4 + '@commitlint/config-validator': 17.8.1 + '@commitlint/types': 17.8.1 import-fresh: 3.3.0 lodash.mergewith: 4.6.2 resolve-from: 5.0.0 resolve-global: 1.0.0 dev: true - /@commitlint/rules@17.7.0: - resolution: {integrity: sha512-J3qTh0+ilUE5folSaoK91ByOb8XeQjiGcdIdiB/8UT1/Rd1itKo0ju/eQVGyFzgTMYt8HrDJnGTmNWwcMR1rmA==} + /@commitlint/rules@17.8.1: + resolution: {integrity: sha512-2b7OdVbN7MTAt9U0vKOYKCDsOvESVXxQmrvuVUZ0rGFMCrCPJWWP1GJ7f0lAypbDAhaGb8zqtdOr47192LBrIA==} engines: {node: '>=v14'} dependencies: - '@commitlint/ensure': 17.6.7 - '@commitlint/message': 17.4.2 - '@commitlint/to-lines': 17.4.0 - '@commitlint/types': 17.4.4 + '@commitlint/ensure': 17.8.1 + '@commitlint/message': 17.8.1 + '@commitlint/to-lines': 17.8.1 + '@commitlint/types': 17.8.1 execa: 5.1.1 dev: true - /@commitlint/to-lines@17.4.0: - resolution: {integrity: sha512-LcIy/6ZZolsfwDUWfN1mJ+co09soSuNASfKEU5sCmgFCvX5iHwRYLiIuoqXzOVDYOy7E7IcHilr/KS0e5T+0Hg==} + /@commitlint/to-lines@17.8.1: + resolution: {integrity: sha512-LE0jb8CuR/mj6xJyrIk8VLz03OEzXFgLdivBytoooKO5xLt5yalc8Ma5guTWobw998sbR3ogDd+2jed03CFmJA==} engines: {node: '>=v14'} dev: true - /@commitlint/top-level@17.4.0: - resolution: {integrity: sha512-/1loE/g+dTTQgHnjoCy0AexKAEFyHsR2zRB4NWrZ6lZSMIxAhBJnmCqwao7b4H8888PsfoTBCLBYIw8vGnej8g==} + /@commitlint/top-level@17.8.1: + resolution: {integrity: sha512-l6+Z6rrNf5p333SHfEte6r+WkOxGlWK4bLuZKbtf/2TXRN+qhrvn1XE63VhD8Oe9oIHQ7F7W1nG2k/TJFhx2yA==} engines: {node: '>=v14'} dependencies: find-up: 5.0.0 dev: true - /@commitlint/types@17.4.4: - resolution: {integrity: sha512-amRN8tRLYOsxRr6mTnGGGvB5EmW/4DDjLMgiwK3CCVEmN6Sr/6xePGEpWaspKkckILuUORCwe6VfDBw6uj4axQ==} + /@commitlint/types@17.8.1: + resolution: {integrity: sha512-PXDQXkAmiMEG162Bqdh9ChML/GJZo6vU+7F03ALKDK8zYc6SuAr47LjG7hGYRqUOz+WK0dU7bQ0xzuqFMdxzeQ==} engines: {node: '>=v14'} dependencies: chalk: 4.1.2 @@ -2566,23 +2343,18 @@ packages: dev: true optional: true - /@eslint-community/eslint-utils@4.4.0(eslint@8.51.0): + /@eslint-community/eslint-utils@4.4.0(eslint@8.52.0): resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 dependencies: - eslint: 8.51.0 + eslint: 8.52.0 eslint-visitor-keys: 3.4.3 dev: true - /@eslint-community/regexpp@4.5.0: - resolution: {integrity: sha512-vITaYzIcNmjn5tF5uxcZ/ft7/RXGrMUIS9HalWckEOF6ESiwXKoMzAQf2UW0aVd6rnOeExTJVd5hmWXucBKGXQ==} - engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - dev: true - - /@eslint-community/regexpp@4.9.1: - resolution: {integrity: sha512-Y27x+MBLjXa+0JWDhykM3+JE+il3kHKAEqabfEWq3SDhZjLYb6/BHL/JKFnH3fe207JaXkyDo685Oc2Glt6ifA==} + /@eslint-community/regexpp@4.10.0: + resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} dev: true @@ -2593,7 +2365,7 @@ packages: ajv: 6.12.6 debug: 4.3.4 espree: 9.6.1 - globals: 13.20.0 + globals: 13.23.0 ignore: 5.2.4 import-fresh: 3.3.0 js-yaml: 4.1.0 @@ -2603,8 +2375,8 @@ packages: - supports-color dev: true - /@eslint/js@8.51.0: - resolution: {integrity: sha512-HxjQ8Qn+4SI3/AFv6sOrDB+g6PpUTDwSJiQqOrnneEk8L71161srI9gjzzZvYVbzHiVg/BvcH95+cK/zfIt4pg==} + /@eslint/js@8.52.0: + resolution: {integrity: sha512-mjZVbpaeMZludF2fsWLD0Z9gCref1Tk4i9+wddjRvpUNqqcndPkBD09N/Mapey0b3jaXbLm2kICwFv2E64QinA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true @@ -2612,19 +2384,11 @@ packages: resolution: {integrity: sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==} dev: true - /@graphql-typed-document-node/core@3.2.0(graphql@16.8.1): - resolution: {integrity: sha512-mB9oAsNCm9aM3/SOv4YtBMqZbYj10R7dkq8byBqxGY/ncFwhf2oQzMV+LCRlWoDSEBJ3COiR1yeDvMtsoOsuFQ==} - peerDependencies: - graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - dependencies: - graphql: 16.8.1 - dev: false - - /@humanwhocodes/config-array@0.11.11: - resolution: {integrity: sha512-N2brEuAadi0CcdeMXUkhbZB84eskAc8MEX1By6qEchoVywSgXPIjou4rYsl0V3Hj0ZnuGycGCjdNgockbzeWNA==} + /@humanwhocodes/config-array@0.11.13: + resolution: {integrity: sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==} engines: {node: '>=10.10.0'} dependencies: - '@humanwhocodes/object-schema': 1.2.1 + '@humanwhocodes/object-schema': 2.0.1 debug: 4.3.4 minimatch: 3.1.2 transitivePeerDependencies: @@ -2636,8 +2400,20 @@ packages: engines: {node: '>=12.22'} dev: true - /@humanwhocodes/object-schema@1.2.1: - resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==} + /@humanwhocodes/object-schema@2.0.1: + resolution: {integrity: sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==} + dev: true + + /@isaacs/cliui@8.0.2: + resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} + engines: {node: '>=12'} + dependencies: + string-width: 5.1.2 + string-width-cjs: /string-width@4.2.3 + strip-ansi: 7.1.0 + strip-ansi-cjs: /strip-ansi@6.0.1 + wrap-ansi: 8.1.0 + wrap-ansi-cjs: /wrap-ansi@7.0.0 dev: true /@istanbuljs/load-nyc-config@1.1.0: @@ -2662,11 +2438,11 @@ packages: dependencies: '@jridgewell/set-array': 1.1.2 '@jridgewell/sourcemap-codec': 1.4.15 - '@jridgewell/trace-mapping': 0.3.18 + '@jridgewell/trace-mapping': 0.3.20 dev: true - /@jridgewell/resolve-uri@3.1.0: - resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==} + /@jridgewell/resolve-uri@3.1.1: + resolution: {integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==} engines: {node: '>=6.0.0'} dev: true @@ -2675,32 +2451,28 @@ packages: engines: {node: '>=6.0.0'} dev: true - /@jridgewell/source-map@0.3.3: - resolution: {integrity: sha512-b+fsZXeLYi9fEULmfBrhxn4IrPlINf8fiNarzTof004v3lFdntdwa9PF7vFJqm3mg7s+ScJMxXaE3Acp1irZcg==} + /@jridgewell/source-map@0.3.5: + resolution: {integrity: sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==} dependencies: '@jridgewell/gen-mapping': 0.3.3 - '@jridgewell/trace-mapping': 0.3.18 - dev: true - - /@jridgewell/sourcemap-codec@1.4.14: - resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} + '@jridgewell/trace-mapping': 0.3.20 dev: true /@jridgewell/sourcemap-codec@1.4.15: resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} dev: true - /@jridgewell/trace-mapping@0.3.18: - resolution: {integrity: sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==} + /@jridgewell/trace-mapping@0.3.20: + resolution: {integrity: sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==} dependencies: - '@jridgewell/resolve-uri': 3.1.0 - '@jridgewell/sourcemap-codec': 1.4.14 + '@jridgewell/resolve-uri': 3.1.1 + '@jridgewell/sourcemap-codec': 1.4.15 dev: true /@jridgewell/trace-mapping@0.3.9: resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} dependencies: - '@jridgewell/resolve-uri': 3.1.0 + '@jridgewell/resolve-uri': 3.1.1 '@jridgewell/sourcemap-codec': 1.4.15 dev: true @@ -2708,39 +2480,39 @@ packages: resolution: {integrity: sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==} dev: true - /@ngtools/webpack@16.2.6(@angular/compiler-cli@16.2.9)(typescript@4.9.5)(webpack@5.88.2): - resolution: {integrity: sha512-d8ZlZL6dOtWmHdjG9PTGBkdiJMcsXD2tp6WeFRVvTEuvCI3XvKsUXBvJDE+mZOhzn5pUEYt+1TR5DHjDZbME3w==} + /@ngtools/webpack@16.2.8(@angular/compiler-cli@16.2.11)(typescript@5.1.6)(webpack@5.88.2): + resolution: {integrity: sha512-GeblhLBwXe3qPYa4YHxbo0xujRl1FKkfIusU1mTIhkQBRtZY4Xgz4iMnPIEMJTU3XXGMkS+SCx34lqbwwMhR5A==} engines: {node: ^16.14.0 || >=18.10.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} peerDependencies: '@angular/compiler-cli': ^16.0.0 typescript: '>=4.9.3 <5.2' webpack: ^5.54.0 dependencies: - '@angular/compiler-cli': 16.2.9(@angular/compiler@16.2.9)(typescript@4.9.5) - typescript: 4.9.5 + '@angular/compiler-cli': 16.2.11(@angular/compiler@16.2.11)(typescript@5.1.6) + typescript: 5.1.6 webpack: 5.88.2(esbuild@0.18.17) dev: true - /@ngx-translate/core@14.0.0(@angular/core@16.2.9)(rxjs@7.8.1): + /@ngx-translate/core@14.0.0(@angular/core@16.2.11)(rxjs@7.8.1): resolution: {integrity: sha512-UevdwNCXMRCdJv//0kC8h2eSfmi02r29xeE8E9gJ1Al4D4jEJ7eiLPdjslTMc21oJNGguqqWeEVjf64SFtvw2w==} peerDependencies: '@angular/core': '>=13.0.0' rxjs: ^6.5.3 || ^7.4.0 dependencies: - '@angular/core': 16.2.9(rxjs@7.8.1)(zone.js@0.13.3) + '@angular/core': 16.2.11(rxjs@7.8.1)(zone.js@0.13.3) rxjs: 7.8.1 tslib: 2.6.2 dev: false - /@ngx-translate/http-loader@7.0.0(@angular/common@16.2.9)(@ngx-translate/core@14.0.0)(rxjs@7.8.1): + /@ngx-translate/http-loader@7.0.0(@angular/common@16.2.11)(@ngx-translate/core@14.0.0)(rxjs@7.8.1): resolution: {integrity: sha512-j+NpXXlcGVdyUNyY/qsJrqqeAdJdizCd+GKh3usXExSqy1aE9866jlAIL+xrfDU4w+LiMoma5pgE4emvFebZmA==} peerDependencies: '@angular/common': '>=13.0.0' '@ngx-translate/core': '>=14.0.0' rxjs: ^6.5.3 || ^7.4.0 dependencies: - '@angular/common': 16.2.9(@angular/core@16.2.9)(rxjs@7.8.1) - '@ngx-translate/core': 14.0.0(@angular/core@16.2.9)(rxjs@7.8.1) + '@angular/common': 16.2.11(@angular/core@16.2.11)(rxjs@7.8.1) + '@ngx-translate/core': 14.0.0(@angular/core@16.2.11)(rxjs@7.8.1) rxjs: 7.8.1 tslib: 2.6.2 dev: false @@ -2781,8 +2553,8 @@ packages: semver: 7.5.4 dev: true - /@npmcli/git@4.0.4: - resolution: {integrity: sha512-5yZghx+u5M47LghaybLCkdSyFzV/w4OuH12d96HO389Ik9CDsLaDZJVynSGGVJOLn6gy/k7Dz5XYcplM3uxXRg==} + /@npmcli/git@4.1.0: + resolution: {integrity: sha512-9hwoB3gStVfa0N31ymBmrX+GuDGdVA/QWShZVqE0HK2Af+7QGGrCTbZia/SW0ImUTjTne7SP91qxDmtXvDHRPQ==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: '@npmcli/promise-spawn': 6.0.2 @@ -2792,7 +2564,7 @@ packages: promise-inflight: 1.0.1 promise-retry: 2.0.1 semver: 7.5.4 - which: 3.0.0 + which: 3.0.1 transitivePeerDependencies: - bluebird dev: true @@ -2803,7 +2575,7 @@ packages: hasBin: true dependencies: npm-bundled: 3.0.0 - npm-normalize-package-bin: 3.0.0 + npm-normalize-package-bin: 3.0.1 dev: true /@npmcli/move-file@2.0.1: @@ -2824,18 +2596,18 @@ packages: resolution: {integrity: sha512-gGq0NJkIGSwdbUt4yhdF8ZrmkGKVz9vAdVzpOfnom+V8PLSmSOVhZwbNvZZS1EYcJN5hzzKBxmmVVAInM6HQLg==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: - which: 3.0.0 + which: 3.0.1 dev: true - /@npmcli/run-script@6.0.0: - resolution: {integrity: sha512-ql+AbRur1TeOdl1FY+RAwGW9fcr4ZwiVKabdvm93mujGREVuVLbdkXRJDrkTXSdCjaxYydr1wlA2v67jxWG5BQ==} + /@npmcli/run-script@6.0.2: + resolution: {integrity: sha512-NCcr1uQo1k5U+SYlnIrbAh3cxy+OQT1VtqiAbxdymSlptbzBb62AjH2xXgjNCoP073hoa1CfCAcwoZ8k96C4nA==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: '@npmcli/node-gyp': 3.0.0 '@npmcli/promise-spawn': 6.0.2 - node-gyp: 9.3.1 + node-gyp: 9.4.1 read-package-json-fast: 3.0.2 - which: 3.0.0 + which: 3.0.1 transitivePeerDependencies: - bluebird - supports-color @@ -2970,10 +2742,17 @@ packages: requiresBuild: true dependencies: node-addon-api: 3.2.1 - node-gyp-build: 4.6.0 + node-gyp-build: 4.6.1 dev: true - /@puppeteer/browsers@0.5.0(typescript@4.9.5): + /@pkgjs/parseargs@0.11.0: + resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} + engines: {node: '>=14'} + requiresBuild: true + dev: true + optional: true + + /@puppeteer/browsers@0.5.0(typescript@5.1.6): resolution: {integrity: sha512-Uw6oB7VvmPRLE4iKsjuOh8zgDabhNX67dzo8U/BB0f9527qx+4eeUs+korU98OhG5C4ubg7ufBgVi63XYwS6TQ==} engines: {node: '>=14.1.0'} hasBin: true @@ -2989,19 +2768,19 @@ packages: progress: 2.0.3 proxy-from-env: 1.1.0 tar-fs: 2.1.1 - typescript: 4.9.5 + typescript: 5.1.6 unbzip2-stream: 1.4.3 yargs: 17.7.1 transitivePeerDependencies: - supports-color dev: true - /@schematics/angular@16.2.6: - resolution: {integrity: sha512-fM09WPqST+nhVGV5Q3fhG7WKo96kgSVMsbz3wGS0DmTn4zge7ZWnrW3VvbxnMapmGoKa9DFPqdqNln4ADcdIMQ==} + /@schematics/angular@16.2.8: + resolution: {integrity: sha512-yxfxJ2IMRIt+dQcqyJR30qd/osb5NwRsi9US3gFIHP1jfjOAs1Nk8ENNd5ycYV+yykCa78KWhmbOw4G1zpR56Q==} engines: {node: ^16.14.0 || >=18.10.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} dependencies: - '@angular-devkit/core': 16.2.6(chokidar@3.5.3) - '@angular-devkit/schematics': 16.2.6 + '@angular-devkit/core': 16.2.8(chokidar@3.5.3) + '@angular-devkit/schematics': 16.2.8 jsonc-parser: 3.2.0 transitivePeerDependencies: - chokidar @@ -3025,9 +2804,8 @@ packages: dependencies: '@sigstore/bundle': 1.1.0 '@sigstore/protobuf-specs': 0.2.1 - make-fetch-happen: 11.0.3 + make-fetch-happen: 11.1.1 transitivePeerDependencies: - - bluebird - supports-color dev: true @@ -3038,7 +2816,6 @@ packages: '@sigstore/protobuf-specs': 0.2.1 tuf-js: 1.1.7 transitivePeerDependencies: - - bluebird - supports-color dev: true @@ -3085,161 +2862,190 @@ packages: minimatch: 9.0.3 dev: true - /@types/body-parser@1.19.2: - resolution: {integrity: sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==} + /@types/body-parser@1.19.4: + resolution: {integrity: sha512-N7UDG0/xiPQa2D/XrVJXjkWbpqHCd2sBaB32ggRF2l83RhPfamgKGF8gwwqyksS95qUS5ZYF9aF+lLPRlwI2UA==} dependencies: - '@types/connect': 3.4.35 - '@types/node': 18.18.5 + '@types/connect': 3.4.37 + '@types/node': 18.18.7 dev: true - /@types/bonjour@3.5.10: - resolution: {integrity: sha512-p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw==} + /@types/bonjour@3.5.12: + resolution: {integrity: sha512-ky0kWSqXVxSqgqJvPIkgFkcn4C8MnRog308Ou8xBBIVo39OmUFy+jqNe0nPwLCDFxUpmT9EvT91YzOJgkDRcFg==} dependencies: - '@types/node': 18.18.5 + '@types/node': 18.18.7 dev: true - /@types/connect-history-api-fallback@1.3.5: - resolution: {integrity: sha512-h8QJa8xSb1WD4fpKBDcATDNGXghFj6/3GRWG6dhmRcu0RX1Ubasur2Uvx5aeEwlf0MwblEC2bMzzMQntxnw/Cw==} + /@types/connect-history-api-fallback@1.5.2: + resolution: {integrity: sha512-gX2j9x+NzSh4zOhnRPSdPPmTepS4DfxES0AvIFv3jGv5QyeAJf6u6dY5/BAoAJU9Qq1uTvwOku8SSC2GnCRl6Q==} dependencies: - '@types/express-serve-static-core': 4.17.33 - '@types/node': 18.18.5 + '@types/express-serve-static-core': 4.17.39 + '@types/node': 18.18.7 dev: true - /@types/connect@3.4.35: - resolution: {integrity: sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==} + /@types/connect@3.4.37: + resolution: {integrity: sha512-zBUSRqkfZ59OcwXon4HVxhx5oWCJmc0OtBTK05M+p0dYjgN6iTwIL2T/WbsQZrEsdnwaF9cWQ+azOnpPvIqY3Q==} dependencies: - '@types/node': 18.18.5 + '@types/node': 18.18.7 dev: true /@types/cookie@0.4.1: resolution: {integrity: sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==} dev: true - /@types/cors@2.8.13: - resolution: {integrity: sha512-RG8AStHlUiV5ysZQKq97copd2UmVYw3/pRMLefISZ3S1hK104Cwm7iLQ3fTKx+lsUH2CE8FlLaYeEA2LSeqYUA==} + /@types/cors@2.8.15: + resolution: {integrity: sha512-n91JxbNLD8eQIuXDIChAN1tCKNWCEgpceU9b7ZMbFA+P+Q4yIeh80jizFLEvolRPc1ES0VdwFlGv+kJTSirogw==} dependencies: - '@types/node': 18.18.5 + '@types/node': 18.18.7 dev: true - /@types/eslint-scope@3.7.4: - resolution: {integrity: sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==} + /@types/eslint-scope@3.7.6: + resolution: {integrity: sha512-zfM4ipmxVKWdxtDaJ3MP3pBurDXOCoyjvlpE3u6Qzrmw4BPbfm4/ambIeTk/r/J0iq/+2/xp0Fmt+gFvXJY2PQ==} dependencies: - '@types/eslint': 8.37.0 - '@types/estree': 1.0.2 + '@types/eslint': 8.44.6 + '@types/estree': 1.0.3 dev: true - /@types/eslint@8.37.0: - resolution: {integrity: sha512-Piet7dG2JBuDIfohBngQ3rCt7MgO9xCO4xIMKxBThCq5PNRB91IjlJ10eJVwfoNtvTErmxLzwBZ7rHZtbOMmFQ==} + /@types/eslint@8.44.6: + resolution: {integrity: sha512-P6bY56TVmX8y9J87jHNgQh43h6VVU+6H7oN7hgvivV81K2XY8qJZ5vqPy/HdUoVIelii2kChYVzQanlswPWVFw==} dependencies: - '@types/estree': 1.0.2 - '@types/json-schema': 7.0.11 + '@types/estree': 1.0.3 + '@types/json-schema': 7.0.14 dev: true - /@types/estree@1.0.2: - resolution: {integrity: sha512-VeiPZ9MMwXjO32/Xu7+OwflfmeoRwkE/qzndw42gGtgJwZopBnzy2gD//NN1+go1mADzkDcqf/KnFRSjTJ8xJA==} + /@types/estree@1.0.3: + resolution: {integrity: sha512-CS2rOaoQ/eAgAfcTfq6amKG7bsN+EMcgGY4FAFQdvSj2y1ixvOZTUA9mOtCai7E1SYu283XNw7urKK30nP3wkQ==} dev: true - /@types/express-serve-static-core@4.17.33: - resolution: {integrity: sha512-TPBqmR/HRYI3eC2E5hmiivIzv+bidAfXofM+sbonAGvyDhySGw9/PQZFt2BLOrjUUR++4eJVpx6KnLQK1Fk9tA==} + /@types/express-serve-static-core@4.17.39: + resolution: {integrity: sha512-BiEUfAiGCOllomsRAZOiMFP7LAnrifHpt56pc4Z7l9K6ACyN06Ns1JLMBxwkfLOjJRlSf06NwWsT7yzfpaVpyQ==} dependencies: - '@types/node': 18.18.5 - '@types/qs': 6.9.7 - '@types/range-parser': 1.2.4 + '@types/node': 18.18.7 + '@types/qs': 6.9.9 + '@types/range-parser': 1.2.6 + '@types/send': 0.17.3 dev: true - /@types/express@4.17.17: - resolution: {integrity: sha512-Q4FmmuLGBG58btUnfS1c1r/NQdlp3DMfGDGig8WhfpA2YRUtEkxAjkZb0yvplJGYdF1fsQ81iMDcH24sSCNC/Q==} + /@types/express@4.17.20: + resolution: {integrity: sha512-rOaqlkgEvOW495xErXMsmyX3WKBInbhG5eqojXYi3cGUaLoRDlXa5d52fkfWZT963AZ3v2eZ4MbKE6WpDAGVsw==} dependencies: - '@types/body-parser': 1.19.2 - '@types/express-serve-static-core': 4.17.33 - '@types/qs': 6.9.7 - '@types/serve-static': 1.15.1 + '@types/body-parser': 1.19.4 + '@types/express-serve-static-core': 4.17.39 + '@types/qs': 6.9.9 + '@types/serve-static': 1.15.4 dev: true - /@types/http-proxy@1.17.10: - resolution: {integrity: sha512-Qs5aULi+zV1bwKAg5z1PWnDXWmsn+LxIvUGv6E2+OOMYhclZMO+OXd9pYVf2gLykf2I7IV2u7oTHwChPNsvJ7g==} + /@types/http-errors@2.0.3: + resolution: {integrity: sha512-pP0P/9BnCj1OVvQR2lF41EkDG/lWWnDyA203b/4Fmi2eTyORnBtcDoKDwjWQthELrBvWkMOrvSOnZ8OVlW6tXA==} + dev: true + + /@types/http-proxy@1.17.13: + resolution: {integrity: sha512-GkhdWcMNiR5QSQRYnJ+/oXzu0+7JJEPC8vkWXK351BkhjraZF+1W13CUYARUvX9+NqIU2n6YHA4iwywsc/M6Sw==} dependencies: - '@types/node': 18.18.5 + '@types/node': 18.18.7 dev: true /@types/jasmine@4.3.6: resolution: {integrity: sha512-3N0FpQTeiWjm+Oo1WUYWguUS7E6JLceiGTriFrG8k5PU7zRLJCzLcWURU3wjMbZGS//a2/LgjsnO3QxIlwxt9g==} dev: true - /@types/json-schema@7.0.11: - resolution: {integrity: sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==} + /@types/json-schema@7.0.14: + resolution: {integrity: sha512-U3PUjAudAdJBeC2pgN8uTIKgxrb4nlDF3SF0++EldXQvQBGkpFZMSnwQiIoDU77tv45VgNkl/L4ouD+rEomujw==} + dev: true + + /@types/json5@0.0.29: + resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} + dev: true + + /@types/mime@1.3.4: + resolution: {integrity: sha512-1Gjee59G25MrQGk8bsNvC6fxNiRgUlGn2wlhGf95a59DrprnnHk80FIMMFG9XHMdrfsuA119ht06QPDXA1Z7tw==} + dev: true + + /@types/mime@3.0.3: + resolution: {integrity: sha512-i8MBln35l856k5iOhKk2XJ4SeAWg75mLIpZB4v6imOagKL6twsukBZGDMNhdOVk7yRFTMPpfILocMos59Q1otQ==} dev: true - /@types/mime@3.0.1: - resolution: {integrity: sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA==} + /@types/minimist@1.2.4: + resolution: {integrity: sha512-Kfe/D3hxHTusnPNRbycJE1N77WHDsdS4AjUYIzlDzhDrS47NrwuL3YW4VITxwR7KCVpzwgy4Rbj829KSSQmwXQ==} dev: true - /@types/minimist@1.2.2: - resolution: {integrity: sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==} + /@types/node-forge@1.3.8: + resolution: {integrity: sha512-vGXshY9vim9CJjrpcS5raqSjEfKlJcWy2HNdgUasR66fAnVEYarrf1ULV4nfvpC1nZq/moA9qyqBcu83x+Jlrg==} + dependencies: + '@types/node': 18.18.7 dev: true - /@types/node@18.18.5: - resolution: {integrity: sha512-4slmbtwV59ZxitY4ixUZdy1uRLf9eSIvBWPQxNjhHYWEtn0FryfKpyS2cvADYXTayWdKEIsJengncrVvkI4I6A==} + /@types/node@18.18.7: + resolution: {integrity: sha512-bw+lEsxis6eqJYW8Ql6+yTqkE6RuFtsQPSe5JxXbqYRFQEER5aJA9a5UH9igqDWm3X4iLHIKOHlnAXLM4mi7uQ==} + dependencies: + undici-types: 5.26.5 dev: true /@types/node@20.5.1: resolution: {integrity: sha512-4tT2UrL5LBqDwoed9wZ6N3umC4Yhz3W3FloMmiiG4JwmUJWpie0c7lcnUNd4gtMKuDEO4wRVS8B6Xa0uMRsMKg==} dev: true - /@types/normalize-package-data@2.4.1: - resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==} + /@types/normalize-package-data@2.4.3: + resolution: {integrity: sha512-ehPtgRgaULsFG8x0NeYJvmyH1hmlfsNLujHe9dQEia/7MAJYdzMSi19JtchUHjmBA6XC/75dK55mzZH+RyieSg==} dev: true - /@types/qs@6.9.7: - resolution: {integrity: sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==} + /@types/qs@6.9.9: + resolution: {integrity: sha512-wYLxw35euwqGvTDx6zfY1vokBFnsK0HNrzc6xNHchxfO2hpuRg74GbkEW7e3sSmPvj0TjCDT1VCa6OtHXnubsg==} dev: true - /@types/range-parser@1.2.4: - resolution: {integrity: sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==} + /@types/range-parser@1.2.6: + resolution: {integrity: sha512-+0autS93xyXizIYiyL02FCY8N+KkKPhILhcUSA276HxzreZ16kl+cmwvV2qAM/PuCCwPXzOXOWhiPcw20uSFcA==} dev: true /@types/retry@0.12.0: resolution: {integrity: sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==} dev: true - /@types/semver@7.3.13: - resolution: {integrity: sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==} + /@types/semver@7.5.4: + resolution: {integrity: sha512-MMzuxN3GdFwskAnb6fz0orFvhfqi752yjaXylr0Rp4oDg5H0Zn1IuyRhDVvYOwAXoJirx2xuS16I3WjxnAIHiQ==} + dev: true + + /@types/send@0.17.3: + resolution: {integrity: sha512-/7fKxvKUoETxjFUsuFlPB9YndePpxxRAOfGC/yJdc9kTjTeP5kRCTzfnE8kPUKCeyiyIZu0YQ76s50hCedI1ug==} + dependencies: + '@types/mime': 1.3.4 + '@types/node': 18.18.7 dev: true - /@types/serve-index@1.9.1: - resolution: {integrity: sha512-d/Hs3nWDxNL2xAczmOVZNj92YZCS6RGxfBPjKzuu/XirCgXdpKEb88dYNbrYGint6IVWLNP+yonwVAuRC0T2Dg==} + /@types/serve-index@1.9.3: + resolution: {integrity: sha512-4KG+yMEuvDPRrYq5fyVm/I2uqAJSAwZK9VSa+Zf+zUq9/oxSSvy3kkIqyL+jjStv6UCVi8/Aho0NHtB1Fwosrg==} dependencies: - '@types/express': 4.17.17 + '@types/express': 4.17.20 dev: true - /@types/serve-static@1.15.1: - resolution: {integrity: sha512-NUo5XNiAdULrJENtJXZZ3fHtfMolzZwczzBbnAeBbqBwG+LaG6YaJtuwzwGSQZ2wsCrxjEhNNjAkKigy3n8teQ==} + /@types/serve-static@1.15.4: + resolution: {integrity: sha512-aqqNfs1XTF0HDrFdlY//+SGUxmdSUbjeRXb5iaZc3x0/vMbYmdw9qvOgHWOyyLFxSSRnUuP5+724zBgfw8/WAw==} dependencies: - '@types/mime': 3.0.1 - '@types/node': 18.18.5 + '@types/http-errors': 2.0.3 + '@types/mime': 3.0.3 + '@types/node': 18.18.7 dev: true - /@types/sockjs@0.3.33: - resolution: {integrity: sha512-f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw==} + /@types/sockjs@0.3.35: + resolution: {integrity: sha512-tIF57KB+ZvOBpAQwSaACfEu7htponHXaFzP7RfKYgsOS0NoYnn+9+jzp7bbq4fWerizI3dTB4NfAZoyeQKWJLw==} dependencies: - '@types/node': 18.18.5 + '@types/node': 18.18.7 dev: true - /@types/ws@8.5.7: - resolution: {integrity: sha512-6UrLjiDUvn40CMrAubXuIVtj2PEfKDffJS7ychvnPU44j+KVeXmdHHTgqcM/dxLUTHxlXHiFM8Skmb8ozGdTnQ==} + /@types/ws@8.5.8: + resolution: {integrity: sha512-flUksGIQCnJd6sZ1l5dqCEG/ksaoAg/eUwiLAGTJQcfgvZJKF++Ta4bJA6A5aPSJmsr+xlseHn4KLgVlNnvPTg==} dependencies: - '@types/node': 18.18.5 + '@types/node': 18.18.7 dev: true - /@types/yauzl@2.10.0: - resolution: {integrity: sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==} + /@types/yauzl@2.10.2: + resolution: {integrity: sha512-Km7XAtUIduROw7QPgvcft0lIupeG8a8rdKL8RiSyKvlE7dYY31fEn41HVuQsRFDuROA8tA4K2UVL+WdfFmErBA==} requiresBuild: true dependencies: - '@types/node': 18.18.5 + '@types/node': 18.18.7 dev: true optional: true - /@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.51.0)(typescript@4.9.5): + /@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.52.0)(typescript@5.1.6): resolution: {integrity: sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -3250,24 +3056,24 @@ packages: typescript: optional: true dependencies: - '@eslint-community/regexpp': 4.5.0 - '@typescript-eslint/parser': 5.62.0(eslint@8.51.0)(typescript@4.9.5) + '@eslint-community/regexpp': 4.10.0 + '@typescript-eslint/parser': 5.62.0(eslint@8.52.0)(typescript@5.1.6) '@typescript-eslint/scope-manager': 5.62.0 - '@typescript-eslint/type-utils': 5.62.0(eslint@8.51.0)(typescript@4.9.5) - '@typescript-eslint/utils': 5.62.0(eslint@8.51.0)(typescript@4.9.5) + '@typescript-eslint/type-utils': 5.62.0(eslint@8.52.0)(typescript@5.1.6) + '@typescript-eslint/utils': 5.62.0(eslint@8.52.0)(typescript@5.1.6) debug: 4.3.4 - eslint: 8.51.0 + eslint: 8.52.0 graphemer: 1.4.0 ignore: 5.2.4 natural-compare-lite: 1.4.0 - semver: 7.4.0 - tsutils: 3.21.0(typescript@4.9.5) - typescript: 4.9.5 + semver: 7.5.4 + tsutils: 3.21.0(typescript@5.1.6) + typescript: 5.1.6 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/parser@5.62.0(eslint@8.51.0)(typescript@4.9.5): + /@typescript-eslint/parser@5.62.0(eslint@8.52.0)(typescript@5.1.6): resolution: {integrity: sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -3279,10 +3085,10 @@ packages: dependencies: '@typescript-eslint/scope-manager': 5.62.0 '@typescript-eslint/types': 5.62.0 - '@typescript-eslint/typescript-estree': 5.62.0(typescript@4.9.5) + '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.1.6) debug: 4.3.4 - eslint: 8.51.0 - typescript: 4.9.5 + eslint: 8.52.0 + typescript: 5.1.6 transitivePeerDependencies: - supports-color dev: true @@ -3295,7 +3101,7 @@ packages: '@typescript-eslint/visitor-keys': 5.62.0 dev: true - /@typescript-eslint/type-utils@5.62.0(eslint@8.51.0)(typescript@4.9.5): + /@typescript-eslint/type-utils@5.62.0(eslint@8.52.0)(typescript@5.1.6): resolution: {integrity: sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -3305,12 +3111,12 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 5.62.0(typescript@4.9.5) - '@typescript-eslint/utils': 5.62.0(eslint@8.51.0)(typescript@4.9.5) + '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.1.6) + '@typescript-eslint/utils': 5.62.0(eslint@8.52.0)(typescript@5.1.6) debug: 4.3.4 - eslint: 8.51.0 - tsutils: 3.21.0(typescript@4.9.5) - typescript: 4.9.5 + eslint: 8.52.0 + tsutils: 3.21.0(typescript@5.1.6) + typescript: 5.1.6 transitivePeerDependencies: - supports-color dev: true @@ -3320,7 +3126,7 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /@typescript-eslint/typescript-estree@5.62.0(typescript@4.9.5): + /@typescript-eslint/typescript-estree@5.62.0(typescript@5.1.6): resolution: {integrity: sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -3334,28 +3140,28 @@ packages: debug: 4.3.4 globby: 11.1.0 is-glob: 4.0.3 - semver: 7.4.0 - tsutils: 3.21.0(typescript@4.9.5) - typescript: 4.9.5 + semver: 7.5.4 + tsutils: 3.21.0(typescript@5.1.6) + typescript: 5.1.6 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/utils@5.62.0(eslint@8.51.0)(typescript@4.9.5): + /@typescript-eslint/utils@5.62.0(eslint@8.52.0)(typescript@5.1.6): resolution: {integrity: sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.51.0) - '@types/json-schema': 7.0.11 - '@types/semver': 7.3.13 + '@eslint-community/eslint-utils': 4.4.0(eslint@8.52.0) + '@types/json-schema': 7.0.14 + '@types/semver': 7.5.4 '@typescript-eslint/scope-manager': 5.62.0 '@typescript-eslint/types': 5.62.0 - '@typescript-eslint/typescript-estree': 5.62.0(typescript@4.9.5) - eslint: 8.51.0 + '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.1.6) + eslint: 8.52.0 eslint-scope: 5.1.1 - semver: 7.4.0 + semver: 7.5.4 transitivePeerDependencies: - supports-color - typescript @@ -3366,7 +3172,11 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: '@typescript-eslint/types': 5.62.0 - eslint-visitor-keys: 3.4.0 + eslint-visitor-keys: 3.4.3 + dev: true + + /@ungap/structured-clone@1.2.0: + resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} dev: true /@vitejs/plugin-basic-ssl@1.0.1(vite@4.4.7): @@ -3375,7 +3185,7 @@ packages: peerDependencies: vite: ^3.0.0 || ^4.0.0 dependencies: - vite: 4.4.7(@types/node@18.18.5)(less@4.1.3)(sass@1.64.1)(terser@5.19.2) + vite: 4.4.7(@types/node@18.18.7)(less@4.1.3)(sass@1.64.1)(terser@5.19.2) dev: true /@webassemblyjs/ast@1.11.6: @@ -3484,7 +3294,7 @@ packages: '@xtuc/long': 4.2.2 dev: true - /@wessberg/ts-evaluator@0.0.27(typescript@4.9.5): + /@wessberg/ts-evaluator@0.0.27(typescript@5.1.6): resolution: {integrity: sha512-7gOpVm3yYojUp/Yn7F4ZybJRxyqfMNf0LXK5KJiawbPfL0XTsJV+0mgrEDjOIR6Bi0OYk2Cyg4tjFu1r8MCZaA==} engines: {node: '>=10.1.0'} deprecated: this package has been renamed to ts-evaluator. Please install ts-evaluator instead @@ -3495,7 +3305,7 @@ packages: jsdom: 16.7.0 object-path: 0.11.8 tslib: 2.6.2 - typescript: 4.9.5 + typescript: 5.1.6 transitivePeerDependencies: - bufferutil - canvas @@ -3503,27 +3313,6 @@ packages: - utf-8-validate dev: true - /@wry/context@0.7.4: - resolution: {integrity: sha512-jmT7Sb4ZQWI5iyu3lobQxICu2nC/vbUhP0vIdd6tHC9PTfenmRmuIFqktc6GH9cgi+ZHnsLWPvfSvc4DrYmKiQ==} - engines: {node: '>=8'} - dependencies: - tslib: 2.6.2 - dev: false - - /@wry/equality@0.5.7: - resolution: {integrity: sha512-BRFORjsTuQv5gxcXsuDXx6oGRhuVsEGwZy6LOzRRfgu+eSfxbhUQ9L9YtSEIuIjY/o7g3iWFjrc5eSY1GXP2Dw==} - engines: {node: '>=8'} - dependencies: - tslib: 2.6.2 - dev: false - - /@wry/trie@0.4.3: - resolution: {integrity: sha512-I6bHwH0fSf6RqQcnnXLJKhkSXG45MFral3GxPaY4uAl0LYDZM+YDVDAiU9bYwjTuysy1S0IeecWtmq1SZA3M1w==} - engines: {node: '>=8'} - dependencies: - tslib: 2.6.2 - dev: false - /@xtuc/ieee754@1.2.0: resolution: {integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==} dev: true @@ -3582,20 +3371,20 @@ packages: acorn-walk: 7.2.0 dev: true - /acorn-import-assertions@1.9.0(acorn@8.8.2): + /acorn-import-assertions@1.9.0(acorn@8.11.2): resolution: {integrity: sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==} peerDependencies: acorn: ^8 dependencies: - acorn: 8.8.2 + acorn: 8.11.2 dev: true - /acorn-jsx@5.3.2(acorn@8.10.0): + /acorn-jsx@5.3.2(acorn@8.11.2): resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: - acorn: 8.10.0 + acorn: 8.11.2 dev: true /acorn-walk@7.2.0: @@ -3603,8 +3392,8 @@ packages: engines: {node: '>=0.4.0'} dev: true - /acorn-walk@8.2.0: - resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==} + /acorn-walk@8.3.0: + resolution: {integrity: sha512-FS7hV565M5l1R08MXqo8odwMTB02C2UqzB17RVgu9EyuYFBqJZ3/ZY97sQD5FewVu1UyDFc1yztUDrAwT0EypA==} engines: {node: '>=0.4.0'} dev: true @@ -3614,14 +3403,8 @@ packages: hasBin: true dev: true - /acorn@8.10.0: - resolution: {integrity: sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==} - engines: {node: '>=0.4.0'} - hasBin: true - dev: true - - /acorn@8.8.2: - resolution: {integrity: sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==} + /acorn@8.11.2: + resolution: {integrity: sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==} engines: {node: '>=0.4.0'} hasBin: true dev: true @@ -3643,15 +3426,11 @@ packages: - supports-color dev: true - /agentkeepalive@4.3.0: - resolution: {integrity: sha512-7Epl1Blf4Sy37j4v9f9FjICCh4+KAQOyXgHEwlyBiAQLbhKdq/i2QQU3amQalS/wPhdPzDXPL5DMR5bkn+YeWg==} + /agentkeepalive@4.5.0: + resolution: {integrity: sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew==} engines: {node: '>= 8.0.0'} dependencies: - debug: 4.3.4 - depd: 2.0.0 humanize-ms: 1.2.1 - transitivePeerDependencies: - - supports-color dev: true /aggregate-error@3.1.0: @@ -3731,6 +3510,11 @@ packages: engines: {node: '>=8'} dev: true + /ansi-regex@6.0.1: + resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} + engines: {node: '>=12'} + dev: true + /ansi-styles@3.2.1: resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} engines: {node: '>=4'} @@ -3745,6 +3529,11 @@ packages: color-convert: 2.0.1 dev: true + /ansi-styles@6.2.1: + resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} + engines: {node: '>=12'} + dev: true + /anymatch@3.1.3: resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} engines: {node: '>= 8'} @@ -3753,22 +3542,6 @@ packages: picomatch: 2.3.1 dev: true - /apollo-angular@5.0.2(@angular/core@16.2.9)(@apollo/client@3.8.6)(graphql@16.8.1)(rxjs@7.8.1): - resolution: {integrity: sha512-U+ApPHhmdDirO95kovNJKt0Zd8kthOWALWY1t22zCI4LrT7tLZDDs0LJAzFXcvILN3FDkXWOE9R6Sa29jNOCIQ==} - engines: {node: '>=16'} - peerDependencies: - '@angular/core': ^14.0.0 || ^15.0.0 || ^16.0.0 - '@apollo/client': ^3.0.0 - graphql: ^15.0.0 || ^16.0.0 - rxjs: ^6.0.0 || ^7.0.0 - dependencies: - '@angular/core': 16.2.9(rxjs@7.8.1)(zone.js@0.13.3) - '@apollo/client': 3.8.6(graphql@16.8.1) - graphql: 16.8.1 - rxjs: 7.8.1 - tslib: 2.6.2 - dev: false - /aproba@2.0.0: resolution: {integrity: sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==} dev: true @@ -3801,6 +3574,13 @@ packages: dequal: 2.0.3 dev: true + /array-buffer-byte-length@1.0.0: + resolution: {integrity: sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==} + dependencies: + call-bind: 1.0.5 + is-array-buffer: 3.0.2 + dev: true + /array-flatten@1.1.1: resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} dev: true @@ -3813,16 +3593,80 @@ packages: resolution: {integrity: sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==} dev: true + /array-includes@3.1.7: + resolution: {integrity: sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 + get-intrinsic: 1.2.2 + is-string: 1.0.7 + dev: true + /array-union@2.1.0: resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} engines: {node: '>=8'} dev: true + /array.prototype.findlastindex@1.2.3: + resolution: {integrity: sha512-LzLoiOMAxvy+Gd3BAq3B7VeIgPdo+Q8hthvKtXybMvRV0jrXfJM/t8mw7nNlpEcVlVUnCnM2KSX4XU5HmpodOA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 + es-shim-unscopables: 1.0.2 + get-intrinsic: 1.2.2 + dev: true + + /array.prototype.flat@1.3.2: + resolution: {integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 + es-shim-unscopables: 1.0.2 + dev: true + + /array.prototype.flatmap@1.3.2: + resolution: {integrity: sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 + es-shim-unscopables: 1.0.2 + dev: true + + /arraybuffer.prototype.slice@1.0.2: + resolution: {integrity: sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==} + engines: {node: '>= 0.4'} + dependencies: + array-buffer-byte-length: 1.0.0 + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 + get-intrinsic: 1.2.2 + is-array-buffer: 3.0.2 + is-shared-array-buffer: 1.0.2 + dev: true + /arrify@1.0.1: resolution: {integrity: sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==} engines: {node: '>=0.10.0'} dev: true + /asn1.js@5.4.1: + resolution: {integrity: sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==} + dependencies: + bn.js: 4.12.0 + inherits: 2.0.4 + minimalistic-assert: 1.0.1 + safer-buffer: 2.1.2 + dev: false + /astral-regex@2.0.0: resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==} engines: {node: '>=8'} @@ -3843,19 +3687,24 @@ packages: peerDependencies: postcss: ^8.1.0 dependencies: - browserslist: 4.21.5 - caniuse-lite: 1.0.30001478 - fraction.js: 4.2.0 + browserslist: 4.22.1 + caniuse-lite: 1.0.30001555 + fraction.js: 4.3.7 normalize-range: 0.1.2 picocolors: 1.0.0 postcss: 8.4.31 postcss-value-parser: 4.2.0 dev: true - /axios@1.5.1: - resolution: {integrity: sha512-Q28iYCWzNHjAm+yEAot5QaAMxhMghWLFVf7rRdwhUI+c2jix2DUXjAHXVi+s1ibs3mjPO/cCgbA++3BjD0vP/A==} + /available-typed-arrays@1.0.5: + resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==} + engines: {node: '>= 0.4'} + dev: true + + /axios@1.6.0: + resolution: {integrity: sha512-EZ1DYihju9pwVB+jg67ogm+Tmqc6JmhamRN6I4Zt8DfZu5lbcQGw3ozH9lFejSJgs/ibaef3A9PMXPLeefFGJg==} dependencies: - follow-redirects: 1.15.2 + follow-redirects: 1.15.3 form-data: 4.0.0 proxy-from-env: 1.1.0 transitivePeerDependencies: @@ -3877,7 +3726,7 @@ packages: dependencies: '@babel/core': 7.22.9 find-cache-dir: 4.0.0 - schema-utils: 4.0.0 + schema-utils: 4.2.0 webpack: 5.88.2(esbuild@0.18.17) dev: true @@ -3885,7 +3734,7 @@ packages: resolution: {integrity: sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==} engines: {node: '>=8'} dependencies: - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@istanbuljs/load-nyc-config': 1.1.0 '@istanbuljs/schema': 0.1.3 istanbul-lib-instrument: 5.2.1 @@ -3907,14 +3756,14 @@ packages: - supports-color dev: true - /babel-plugin-polyfill-corejs3@0.8.5(@babel/core@7.22.9): - resolution: {integrity: sha512-Q6CdATeAvbScWPNLB8lzSO7fgUVBkQt6zLgNlfyeCr/EQaEQR+bWiBYYPYAFyE528BMjRhL+1QBMOI4jc/c5TA==} + /babel-plugin-polyfill-corejs3@0.8.6(@babel/core@7.22.9): + resolution: {integrity: sha512-leDIc4l4tUgU7str5BWLS2h8q2N4Nf6lGZP6UrNDxdtfF2g69eJ5L0H7S8A5Ln/arfFAfHor5InAdZuIOwZdgQ==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: '@babel/core': 7.22.9 '@babel/helper-define-polyfill-provider': 0.4.3(@babel/core@7.22.9) - core-js-compat: 3.33.0 + core-js-compat: 3.33.1 transitivePeerDependencies: - supports-color dev: true @@ -3968,6 +3817,14 @@ packages: readable-stream: 3.6.2 dev: true + /bn.js@4.12.0: + resolution: {integrity: sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==} + dev: false + + /bn.js@5.2.1: + resolution: {integrity: sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==} + dev: false + /body-parser@1.20.1: resolution: {integrity: sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==} engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} @@ -4041,28 +3898,71 @@ packages: fill-range: 7.0.1 dev: true + /brorand@1.1.0: + resolution: {integrity: sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==} + dev: false + /browser-process-hrtime@1.0.0: resolution: {integrity: sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==} dev: true - /browserslist@4.21.5: - resolution: {integrity: sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==} - engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} - hasBin: true + /browserify-aes@1.2.0: + resolution: {integrity: sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==} dependencies: - caniuse-lite: 1.0.30001478 - electron-to-chromium: 1.4.361 - node-releases: 2.0.10 - update-browserslist-db: 1.0.10(browserslist@4.21.5) - dev: true + buffer-xor: 1.0.3 + cipher-base: 1.0.4 + create-hash: 1.2.0 + evp_bytestokey: 1.0.3 + inherits: 2.0.4 + safe-buffer: 5.2.1 + dev: false + + /browserify-cipher@1.0.1: + resolution: {integrity: sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==} + dependencies: + browserify-aes: 1.2.0 + browserify-des: 1.0.2 + evp_bytestokey: 1.0.3 + dev: false + + /browserify-des@1.0.2: + resolution: {integrity: sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==} + dependencies: + cipher-base: 1.0.4 + des.js: 1.1.0 + inherits: 2.0.4 + safe-buffer: 5.2.1 + dev: false + + /browserify-rsa@4.1.0: + resolution: {integrity: sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==} + dependencies: + bn.js: 5.2.1 + randombytes: 2.1.0 + dev: false + + /browserify-sign@4.2.2: + resolution: {integrity: sha512-1rudGyeYY42Dk6texmv7c4VcQ0EsvVbLwZkA+AQB7SxvXxmcD93jcHie8bzecJ+ChDlmAm2Qyu0+Ccg5uhZXCg==} + engines: {node: '>= 4'} + dependencies: + bn.js: 5.2.1 + browserify-rsa: 4.1.0 + create-hash: 1.2.0 + create-hmac: 1.1.7 + elliptic: 6.5.4 + inherits: 2.0.4 + parse-asn1: 5.1.6 + readable-stream: 3.6.2 + safe-buffer: 5.2.1 + dev: false /browserslist@4.22.1: resolution: {integrity: sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: - caniuse-lite: 1.0.30001547 - electron-to-chromium: 1.4.554 + caniuse-lite: 1.0.30001555 + electron-to-chromium: 1.4.569 node-releases: 2.0.13 update-browserslist-db: 1.0.13(browserslist@4.22.1) dev: true @@ -4075,6 +3975,10 @@ packages: resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} dev: true + /buffer-xor@1.0.3: + resolution: {integrity: sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==} + dev: false + /buffer@5.7.1: resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} dependencies: @@ -4118,38 +4022,36 @@ packages: promise-inflight: 1.0.1 rimraf: 3.0.2 ssri: 9.0.1 - tar: 6.1.13 + tar: 6.2.0 unique-filename: 2.0.1 transitivePeerDependencies: - bluebird dev: true - /cacache@17.0.5: - resolution: {integrity: sha512-Y/PRQevNSsjAPWykl9aeGz8Pr+OI6BYM9fYDNMvOkuUiG9IhG4LEmaYrZZZvioMUEQ+cBCxT0v8wrnCURccyKA==} + /cacache@17.1.4: + resolution: {integrity: sha512-/aJwG2l3ZMJ1xNAnqbMpA40of9dj/pIH3QfiuQSqjfPJF747VR0J/bHn+/KdNnHKc6XQcWt/AfRSBft82W1d2A==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: '@npmcli/fs': 3.1.0 - fs-minipass: 3.0.1 - glob: 9.3.5 + fs-minipass: 3.0.3 + glob: 10.3.10 lru-cache: 7.18.3 - minipass: 4.2.8 + minipass: 7.0.4 minipass-collect: 1.0.2 minipass-flush: 1.0.5 minipass-pipeline: 1.2.4 p-map: 4.0.0 - promise-inflight: 1.0.1 - ssri: 10.0.3 - tar: 6.1.13 + ssri: 10.0.5 + tar: 6.2.0 unique-filename: 3.0.0 - transitivePeerDependencies: - - bluebird dev: true - /call-bind@1.0.2: - resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} + /call-bind@1.0.5: + resolution: {integrity: sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==} dependencies: - function-bind: 1.1.1 - get-intrinsic: 1.2.0 + function-bind: 1.1.2 + get-intrinsic: 1.2.2 + set-function-length: 1.1.1 dev: true /callsites@3.1.0: @@ -4186,12 +4088,8 @@ packages: engines: {node: '>=10'} dev: true - /caniuse-lite@1.0.30001478: - resolution: {integrity: sha512-gMhDyXGItTHipJj2ApIvR+iVB5hd0KP3svMWWXDvZOmjzJJassGLMfxRkQCSYgGd2gtdL/ReeiyvMSFD1Ss6Mw==} - dev: true - - /caniuse-lite@1.0.30001547: - resolution: {integrity: sha512-W7CrtIModMAxobGhz8iXmDfuJiiKg1WADMO/9x7/CLNin5cpSbuBjooyoIUVB5eyCc36QuTVlkVa1iB2S5+/eA==} + /caniuse-lite@1.0.30001555: + resolution: {integrity: sha512-NzbUFKUnJ3DTcq6YyZB6+qqhfD112uR3uoEnkmfzm2wVzUNsFkU7AwBjKQ654Sp5cau0JxhFyRSn/tQZ+XfygA==} dev: true /chalk@2.4.2: @@ -4227,7 +4125,7 @@ packages: normalize-path: 3.0.0 readdirp: 3.6.0 optionalDependencies: - fsevents: 2.3.2 + fsevents: 2.3.3 dev: true /chownr@1.1.4: @@ -4253,6 +4151,13 @@ packages: mitt: 3.0.0 dev: true + /cipher-base@1.0.4: + resolution: {integrity: sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==} + dependencies: + inherits: 2.0.4 + safe-buffer: 5.2.1 + dev: false + /clean-stack@2.2.0: resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} engines: {node: '>=6'} @@ -4270,8 +4175,8 @@ packages: engines: {node: '>=6'} dev: true - /cli-spinners@2.8.0: - resolution: {integrity: sha512-/eG5sJcvEIwxcdYM86k5tPwn0MUzkX5YY3eImTGpJOZgVe4SdTMY14vQpcxgBzJ0wXwAYrS8E+c3uHeK4JNyzQ==} + /cli-spinners@2.9.1: + resolution: {integrity: sha512-jHgecW0pxkonBJdrKsqxgRX9AcG+u/5k0Q7WPDfi8AogLAdwxEkyYYNWwZ5GvVFoFx2uiY1eNcSK00fh+1+FyQ==} engines: {node: '>=6'} dev: true @@ -4341,8 +4246,8 @@ packages: resolution: {integrity: sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==} dev: true - /colorette@2.0.19: - resolution: {integrity: sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==} + /colorette@2.0.20: + resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} dev: true /combined-stream@1.0.8: @@ -4455,6 +4360,10 @@ packages: resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} dev: true + /convert-source-map@2.0.0: + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + dev: true + /cookie-signature@1.0.6: resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==} dev: true @@ -4483,15 +4392,15 @@ packages: dependencies: fast-glob: 3.3.1 glob-parent: 6.0.2 - globby: 13.1.4 + globby: 13.2.2 normalize-path: 3.0.0 - schema-utils: 4.0.0 + schema-utils: 4.2.0 serialize-javascript: 6.0.1 webpack: 5.88.2(esbuild@0.18.17) dev: true - /core-js-compat@3.33.0: - resolution: {integrity: sha512-0w4LcLXsVEuNkIqwjjf9rjCoPhK8uqA4tMRh4Ge26vfLtUutshn+aRJU21I9LCJlh2QQHfisNToLjw1XEJLTWw==} + /core-js-compat@3.33.1: + resolution: {integrity: sha512-6pYKNOgD/j/bkC5xS5IIg6bncid3rfrI42oBH1SQJbsmYPKF7rhzcFzYCcxYMmNQQ0rCEB8WqpW7QHndOggaeQ==} dependencies: browserslist: 4.22.1 dev: true @@ -4508,7 +4417,7 @@ packages: vary: 1.1.2 dev: true - /cosmiconfig-typescript-loader@4.4.0(@types/node@20.5.1)(cosmiconfig@8.1.3)(ts-node@10.9.1)(typescript@4.9.5): + /cosmiconfig-typescript-loader@4.4.0(@types/node@20.5.1)(cosmiconfig@8.3.6)(ts-node@10.9.1)(typescript@5.2.2): resolution: {integrity: sha512-BabizFdC3wBHhbI4kJh0VkQP9GkBfoHPydD0COMce1nJ1kJAB3F2TmJ/I7diULBKtmEWSwEbuN/KDtgnmUUVmw==} engines: {node: '>=v14.21.3'} peerDependencies: @@ -4518,9 +4427,9 @@ packages: typescript: '>=4' dependencies: '@types/node': 20.5.1 - cosmiconfig: 8.1.3 - ts-node: 10.9.1(@types/node@18.18.5)(typescript@4.9.5) - typescript: 4.9.5 + cosmiconfig: 8.3.6(typescript@5.1.6) + ts-node: 10.9.1(@types/node@18.18.7)(typescript@5.1.6) + typescript: 5.2.2 dev: true /cosmiconfig@8.1.3: @@ -4533,7 +4442,7 @@ packages: path-type: 4.0.0 dev: true - /cosmiconfig@8.3.6(typescript@4.9.5): + /cosmiconfig@8.3.6(typescript@5.1.6): resolution: {integrity: sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==} engines: {node: '>=14'} peerDependencies: @@ -4546,9 +4455,37 @@ packages: js-yaml: 4.1.0 parse-json: 5.2.0 path-type: 4.0.0 - typescript: 4.9.5 + typescript: 5.1.6 dev: true + /create-ecdh@4.0.4: + resolution: {integrity: sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==} + dependencies: + bn.js: 4.12.0 + elliptic: 6.5.4 + dev: false + + /create-hash@1.2.0: + resolution: {integrity: sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==} + dependencies: + cipher-base: 1.0.4 + inherits: 2.0.4 + md5.js: 1.3.5 + ripemd160: 2.0.2 + sha.js: 2.4.11 + dev: false + + /create-hmac@1.1.7: + resolution: {integrity: sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==} + dependencies: + cipher-base: 1.0.4 + create-hash: 1.2.0 + inherits: 2.0.4 + ripemd160: 2.0.2 + safe-buffer: 5.2.1 + sha.js: 2.4.11 + dev: false + /create-require@1.1.1: resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} dev: true @@ -4586,9 +4523,25 @@ packages: which: 2.0.2 dev: true - /css-functions-list@3.2.0: - resolution: {integrity: sha512-d/jBMPyYybkkLVypgtGv12R+pIFw4/f/IHtCTxWpZc8ofTYOPigIgmA6vu5rMHartZC+WuXhBUHfnyNUIQSYrg==} - engines: {node: '>=12.22'} + /crypto-browserify@3.12.0: + resolution: {integrity: sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==} + dependencies: + browserify-cipher: 1.0.1 + browserify-sign: 4.2.2 + create-ecdh: 4.0.4 + create-hash: 1.2.0 + create-hmac: 1.1.7 + diffie-hellman: 5.0.3 + inherits: 2.0.4 + pbkdf2: 3.1.2 + public-encrypt: 4.0.3 + randombytes: 2.1.0 + randomfill: 1.0.4 + dev: false + + /css-functions-list@3.2.1: + resolution: {integrity: sha512-Nj5YcaGgBtuUmn1D7oHqPW0c9iui7xsTsj5lIX8ZgevdfhmjFfKB3r8moHJtNJnctnYXJyYX5I1pp90HM4TPgQ==} + engines: {node: '>=12 || >=16'} dev: true /css-loader@6.8.1(webpack@5.88.2): @@ -4614,7 +4567,7 @@ packages: boolbase: 1.0.0 css-what: 6.1.0 domhandler: 5.0.3 - domutils: 3.0.1 + domutils: 3.1.0 nth-check: 2.1.1 dev: true @@ -4697,7 +4650,6 @@ packages: dependencies: ms: 2.1.3 dev: true - optional: true /debug@4.3.4: resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} @@ -4750,11 +4702,29 @@ packages: clone: 1.0.4 dev: true + /define-data-property@1.1.1: + resolution: {integrity: sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==} + engines: {node: '>= 0.4'} + dependencies: + get-intrinsic: 1.2.2 + gopd: 1.0.1 + has-property-descriptors: 1.0.1 + dev: true + /define-lazy-prop@2.0.0: resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==} engines: {node: '>=8'} dev: true + /define-properties@1.2.1: + resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} + engines: {node: '>= 0.4'} + dependencies: + define-data-property: 1.1.1 + has-property-descriptors: 1.0.1 + object-keys: 1.1.1 + dev: true + /delayed-stream@1.0.0: resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} engines: {node: '>=0.4.0'} @@ -4779,6 +4749,13 @@ packages: engines: {node: '>=6'} dev: true + /des.js@1.1.0: + resolution: {integrity: sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg==} + dependencies: + inherits: 2.0.4 + minimalistic-assert: 1.0.1 + dev: false + /destroy@1.2.0: resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} @@ -4801,6 +4778,14 @@ packages: engines: {node: '>=0.3.1'} dev: true + /diffie-hellman@5.0.3: + resolution: {integrity: sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==} + dependencies: + bn.js: 4.12.0 + miller-rabin: 4.0.1 + randombytes: 2.1.0 + dev: false + /dir-glob@3.0.1: resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} engines: {node: '>=8'} @@ -4812,13 +4797,20 @@ packages: resolution: {integrity: sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==} dev: true - /dns-packet@5.5.0: - resolution: {integrity: sha512-USawdAUzRkV6xrqTjiAEp6M9YagZEzWcSUaZTcIFAiyQWW1SoI6KyId8y2+/71wbgHKQAKd+iupLv4YvEwYWvA==} + /dns-packet@5.6.1: + resolution: {integrity: sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==} engines: {node: '>=6'} dependencies: '@leichtgewicht/ip-codec': 2.0.4 dev: true + /doctrine@2.1.0: + resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} + engines: {node: '>=0.10.0'} + dependencies: + esutils: 2.0.3 + dev: true + /doctrine@3.0.0: resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} engines: {node: '>=6.0.0'} @@ -4861,8 +4853,8 @@ packages: domelementtype: 2.3.0 dev: true - /domutils@3.0.1: - resolution: {integrity: sha512-z08c1l761iKhDFtfXO04C7kTdPBLi41zwOZl00WS8b5eiaebNpY00HKbztwBq+e3vyqWNwWF3mP9YLUeqIrF+Q==} + /domutils@3.1.0: + resolution: {integrity: sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==} dependencies: dom-serializer: 2.0.0 domelementtype: 2.3.0 @@ -4885,6 +4877,10 @@ packages: resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} dev: true + /eastasianwidth@0.2.0: + resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} + dev: true + /ee-first@1.1.1: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} dev: true @@ -4897,18 +4893,30 @@ packages: jake: 10.8.7 dev: true - /electron-to-chromium@1.4.361: - resolution: {integrity: sha512-VocVwjPp05HUXzf3xmL0boRn5b0iyqC7amtDww84Jb1QJNPBc7F69gJyEeXRoriLBC4a5pSyckdllrXAg4mmRA==} + /electron-to-chromium@1.4.569: + resolution: {integrity: sha512-LsrJjZ0IbVy12ApW3gpYpcmHS3iRxH4bkKOW98y1/D+3cvDUWGcbzbsFinfUS8knpcZk/PG/2p/RnkMCYN7PVg==} dev: true - /electron-to-chromium@1.4.554: - resolution: {integrity: sha512-Q0umzPJjfBrrj8unkONTgbKQXzXRrH7sVV7D9ea2yBV3Oaogz991yhbpfvo2LMNkJItmruXTEzVpP9cp7vaIiQ==} - dev: true + /elliptic@6.5.4: + resolution: {integrity: sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==} + dependencies: + bn.js: 4.12.0 + brorand: 1.1.0 + hash.js: 1.1.7 + hmac-drbg: 1.0.1 + inherits: 2.0.4 + minimalistic-assert: 1.0.1 + minimalistic-crypto-utils: 1.0.1 + dev: false /emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} dev: true + /emoji-regex@9.2.2: + resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + dev: true + /emojis-list@3.0.0: resolution: {integrity: sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==} engines: {node: '>= 4'} @@ -4933,24 +4941,24 @@ packages: once: 1.4.0 dev: true - /engine.io-parser@5.0.6: - resolution: {integrity: sha512-tjuoZDMAdEhVnSFleYPCtdL2GXwVTGtNjoeJd9IhIG3C1xs9uwxqRNEu5WpnDZCaozwVlK/nuQhpodhXSIMaxw==} + /engine.io-parser@5.2.1: + resolution: {integrity: sha512-9JktcM3u18nU9N2Lz3bWeBgxVgOKpw7yhRaoxQA3FUDZzzw+9WlA6p4G4u0RixNkg14fH7EfEc/RhpurtiROTQ==} engines: {node: '>=10.0.0'} dev: true - /engine.io@6.4.1: - resolution: {integrity: sha512-JFYQurD/nbsA5BSPmbaOSLa3tSVj8L6o4srSwXXY3NqE+gGUNmmPTbhn8tjzcCtSqhFgIeqef81ngny8JM25hw==} - engines: {node: '>=10.0.0'} + /engine.io@6.5.3: + resolution: {integrity: sha512-IML/R4eG/pUS5w7OfcDE0jKrljWS9nwnEfsxWCIJF5eO6AHo6+Hlv+lQbdlAYsiJPHzUthLm1RUjnBzWOs45cw==} + engines: {node: '>=10.2.0'} dependencies: '@types/cookie': 0.4.1 - '@types/cors': 2.8.13 - '@types/node': 18.18.5 + '@types/cors': 2.8.15 + '@types/node': 18.18.7 accepts: 1.3.8 base64id: 2.0.0 cookie: 0.4.2 cors: 2.8.5 debug: 4.3.4 - engine.io-parser: 5.0.6 + engine.io-parser: 5.2.1 ws: 8.11.0 transitivePeerDependencies: - bufferutil @@ -5006,10 +5014,79 @@ packages: is-arrayish: 0.2.1 dev: true + /es-abstract@1.22.3: + resolution: {integrity: sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA==} + engines: {node: '>= 0.4'} + dependencies: + array-buffer-byte-length: 1.0.0 + arraybuffer.prototype.slice: 1.0.2 + available-typed-arrays: 1.0.5 + call-bind: 1.0.5 + es-set-tostringtag: 2.0.2 + es-to-primitive: 1.2.1 + function.prototype.name: 1.1.6 + get-intrinsic: 1.2.2 + get-symbol-description: 1.0.0 + globalthis: 1.0.3 + gopd: 1.0.1 + has-property-descriptors: 1.0.1 + has-proto: 1.0.1 + has-symbols: 1.0.3 + hasown: 2.0.0 + internal-slot: 1.0.6 + is-array-buffer: 3.0.2 + is-callable: 1.2.7 + is-negative-zero: 2.0.2 + is-regex: 1.1.4 + is-shared-array-buffer: 1.0.2 + is-string: 1.0.7 + is-typed-array: 1.1.12 + is-weakref: 1.0.2 + object-inspect: 1.13.1 + object-keys: 1.1.1 + object.assign: 4.1.4 + regexp.prototype.flags: 1.5.1 + safe-array-concat: 1.0.1 + safe-regex-test: 1.0.0 + string.prototype.trim: 1.2.8 + string.prototype.trimend: 1.0.7 + string.prototype.trimstart: 1.0.7 + typed-array-buffer: 1.0.0 + typed-array-byte-length: 1.0.0 + typed-array-byte-offset: 1.0.0 + typed-array-length: 1.0.4 + unbox-primitive: 1.0.2 + which-typed-array: 1.1.13 + dev: true + /es-module-lexer@1.3.1: resolution: {integrity: sha512-JUFAyicQV9mXc3YRxPnDlrfBKpqt6hUYzz9/boprUJHs4e4KVr3XwOF70doO6gwXUor6EWZJAyWAfKki84t20Q==} dev: true + /es-set-tostringtag@2.0.2: + resolution: {integrity: sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q==} + engines: {node: '>= 0.4'} + dependencies: + get-intrinsic: 1.2.2 + has-tostringtag: 1.0.0 + hasown: 2.0.0 + dev: true + + /es-shim-unscopables@1.0.2: + resolution: {integrity: sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==} + dependencies: + hasown: 2.0.0 + dev: true + + /es-to-primitive@1.2.1: + resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} + engines: {node: '>= 0.4'} + dependencies: + is-callable: 1.2.7 + is-date-object: 1.0.5 + is-symbol: 1.0.4 + dev: true + /esbuild-wasm@0.18.17: resolution: {integrity: sha512-9OHGcuRzy+I8ziF9FzjfKLWAPbvi0e/metACVg9k6bK+SI4FFxeV6PcZsz8RIVaMD4YNehw+qj6UMR3+qj/EuQ==} engines: {node: '>=12'} @@ -5077,13 +5154,76 @@ packages: source-map: 0.6.1 dev: true - /eslint-config-prettier@8.10.0(eslint@8.51.0): + /eslint-config-prettier@8.10.0(eslint@8.52.0): resolution: {integrity: sha512-SM8AMJdeQqRYT9O9zguiruQZaN7+z+E4eAP9oiLNGKMtomwaB1E9dcgUD6ZAn/eQAb52USbvezbiljfZUhbJcg==} hasBin: true peerDependencies: eslint: '>=7.0.0' dependencies: - eslint: 8.51.0 + eslint: 8.52.0 + dev: true + + /eslint-import-resolver-node@0.3.9: + resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} + dependencies: + debug: 3.2.7 + is-core-module: 2.13.1 + resolve: 1.22.8 + transitivePeerDependencies: + - supports-color + dev: true + + /eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@5.62.0)(eslint-plugin-import@2.29.0)(eslint@8.52.0): + resolution: {integrity: sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + eslint: '*' + eslint-plugin-import: '*' + dependencies: + debug: 4.3.4 + enhanced-resolve: 5.15.0 + eslint: 8.52.0 + eslint-module-utils: 2.8.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.52.0) + eslint-plugin-import: 2.29.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.52.0) + fast-glob: 3.3.1 + get-tsconfig: 4.7.2 + is-core-module: 2.13.1 + is-glob: 4.0.3 + transitivePeerDependencies: + - '@typescript-eslint/parser' + - eslint-import-resolver-node + - eslint-import-resolver-webpack + - supports-color + dev: true + + /eslint-module-utils@2.8.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.52.0): + resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} + engines: {node: '>=4'} + peerDependencies: + '@typescript-eslint/parser': '*' + eslint: '*' + eslint-import-resolver-node: '*' + eslint-import-resolver-typescript: '*' + eslint-import-resolver-webpack: '*' + peerDependenciesMeta: + '@typescript-eslint/parser': + optional: true + eslint: + optional: true + eslint-import-resolver-node: + optional: true + eslint-import-resolver-typescript: + optional: true + eslint-import-resolver-webpack: + optional: true + dependencies: + '@typescript-eslint/parser': 5.62.0(eslint@8.52.0)(typescript@5.1.6) + debug: 3.2.7 + eslint: 8.52.0 + eslint-import-resolver-node: 0.3.9 + eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@5.62.0)(eslint-plugin-import@2.29.0)(eslint@8.52.0) + transitivePeerDependencies: + - supports-color dev: true /eslint-plugin-html@7.1.0: @@ -5092,7 +5232,42 @@ packages: htmlparser2: 8.0.2 dev: true - /eslint-plugin-prettier@4.2.1(eslint-config-prettier@8.10.0)(eslint@8.51.0)(prettier@2.8.8): + /eslint-plugin-import@2.29.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.52.0): + resolution: {integrity: sha512-QPOO5NO6Odv5lpoTkddtutccQjysJuFxoPS7fAHO+9m9udNHvTCPSAMW9zGAYj8lAIdr40I8yPCdUYrncXtrwg==} + engines: {node: '>=4'} + peerDependencies: + '@typescript-eslint/parser': '*' + eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 + peerDependenciesMeta: + '@typescript-eslint/parser': + optional: true + dependencies: + '@typescript-eslint/parser': 5.62.0(eslint@8.52.0)(typescript@5.1.6) + array-includes: 3.1.7 + array.prototype.findlastindex: 1.2.3 + array.prototype.flat: 1.3.2 + array.prototype.flatmap: 1.3.2 + debug: 3.2.7 + doctrine: 2.1.0 + eslint: 8.52.0 + eslint-import-resolver-node: 0.3.9 + eslint-module-utils: 2.8.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.52.0) + hasown: 2.0.0 + is-core-module: 2.13.1 + is-glob: 4.0.3 + minimatch: 3.1.2 + object.fromentries: 2.0.7 + object.groupby: 1.0.1 + object.values: 1.1.7 + semver: 6.3.1 + tsconfig-paths: 3.14.2 + transitivePeerDependencies: + - eslint-import-resolver-typescript + - eslint-import-resolver-webpack + - supports-color + dev: true + + /eslint-plugin-prettier@4.2.1(eslint-config-prettier@8.10.0)(eslint@8.52.0)(prettier@2.8.8): resolution: {integrity: sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==} engines: {node: '>=12.0.0'} peerDependencies: @@ -5103,8 +5278,8 @@ packages: eslint-config-prettier: optional: true dependencies: - eslint: 8.51.0 - eslint-config-prettier: 8.10.0(eslint@8.51.0) + eslint: 8.52.0 + eslint-config-prettier: 8.10.0(eslint@8.52.0) prettier: 2.8.8 prettier-linter-helpers: 1.0.0 dev: true @@ -5117,14 +5292,6 @@ packages: estraverse: 4.3.0 dev: true - /eslint-scope@7.2.0: - resolution: {integrity: sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dependencies: - esrecurse: 4.3.0 - estraverse: 5.3.0 - dev: true - /eslint-scope@7.2.2: resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -5133,28 +5300,24 @@ packages: estraverse: 5.3.0 dev: true - /eslint-visitor-keys@3.4.0: - resolution: {integrity: sha512-HPpKPUBQcAsZOsHAFwTtIKcYlCje62XB7SEAcxjtmW6TD1WVpkS6i6/hOVtTZIl4zGj/mBqpFVGvaDneik+VoQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dev: true - /eslint-visitor-keys@3.4.3: resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /eslint@8.51.0: - resolution: {integrity: sha512-2WuxRZBrlwnXi+/vFSJyjMqrNjtJqiasMzehF0shoLaW7DzS3/9Yvrmq5JiT66+pNjiX4UBnLDiKHcWAr/OInA==} + /eslint@8.52.0: + resolution: {integrity: sha512-zh/JHnaixqHZsolRB/w9/02akBk9EPrOs9JwcTP2ek7yL5bVvXuRariiaAjjoJ5DvuwQ1WAE/HsMz+w17YgBCg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} hasBin: true dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.51.0) - '@eslint-community/regexpp': 4.9.1 + '@eslint-community/eslint-utils': 4.4.0(eslint@8.52.0) + '@eslint-community/regexpp': 4.10.0 '@eslint/eslintrc': 2.1.2 - '@eslint/js': 8.51.0 - '@humanwhocodes/config-array': 0.11.11 + '@eslint/js': 8.52.0 + '@humanwhocodes/config-array': 0.11.13 '@humanwhocodes/module-importer': 1.0.1 '@nodelib/fs.walk': 1.2.8 + '@ungap/structured-clone': 1.2.0 ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.3 @@ -5170,7 +5333,7 @@ packages: file-entry-cache: 6.0.1 find-up: 5.0.0 glob-parent: 6.0.2 - globals: 13.20.0 + globals: 13.23.0 graphemer: 1.4.0 ignore: 5.2.4 imurmurhash: 0.1.4 @@ -5193,8 +5356,8 @@ packages: resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - acorn: 8.10.0 - acorn-jsx: 5.3.2(acorn@8.10.0) + acorn: 8.11.2 + acorn-jsx: 5.3.2(acorn@8.11.2) eslint-visitor-keys: 3.4.3 dev: true @@ -5251,6 +5414,13 @@ packages: engines: {node: '>=0.8.x'} dev: true + /evp_bytestokey@1.0.3: + resolution: {integrity: sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==} + dependencies: + md5.js: 1.3.5 + safe-buffer: 5.2.1 + dev: false + /execa@5.1.1: resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} engines: {node: '>=10'} @@ -5266,6 +5436,10 @@ packages: strip-final-newline: 2.0.0 dev: true + /exponential-backoff@3.1.1: + resolution: {integrity: sha512-dX7e/LHVJ6W3DE1MHWi9S1EYzDESENfLrYohG2G++ovZrYOkm4Knwa0mc1cn84xJOR4KEU0WSchhLbd0UklbHw==} + dev: true + /express@4.18.2: resolution: {integrity: sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==} engines: {node: '>= 0.10.0'} @@ -5327,7 +5501,7 @@ packages: get-stream: 5.2.0 yauzl: 2.10.0 optionalDependencies: - '@types/yauzl': 2.10.0 + '@types/yauzl': 2.10.2 transitivePeerDependencies: - supports-color dev: true @@ -5336,8 +5510,8 @@ packages: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} dev: true - /fast-diff@1.2.0: - resolution: {integrity: sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==} + /fast-diff@1.3.0: + resolution: {integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==} dev: true /fast-glob@3.2.7: @@ -5405,7 +5579,14 @@ packages: resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} engines: {node: ^10.12.0 || >=12.0.0} dependencies: - flat-cache: 3.0.4 + flat-cache: 3.1.1 + dev: true + + /file-entry-cache@7.0.1: + resolution: {integrity: sha512-uLfFktPmRetVCbHe5UPuekWrQ6hENufnA46qEGbfACkK5drjTTdQYUragRgMjHldcbYG+nslUerqMPjbBSHXjQ==} + engines: {node: '>=12.0.0'} + dependencies: + flat-cache: 3.1.1 dev: true /filelist@1.0.4: @@ -5483,11 +5664,12 @@ packages: path-exists: 5.0.0 dev: true - /flat-cache@3.0.4: - resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==} - engines: {node: ^10.12.0 || >=12.0.0} + /flat-cache@3.1.1: + resolution: {integrity: sha512-/qM2b3LUIaIgviBQovTLvijfyOQXPtSRnRK26ksj2J7rzPIecePUIpJsZ4T02Qg+xiAEKIs5K8dsHEd+VaKa/Q==} + engines: {node: '>=12.0.0'} dependencies: - flatted: 3.2.7 + flatted: 3.2.9 + keyv: 4.5.4 rimraf: 3.0.2 dev: true @@ -5496,12 +5678,12 @@ packages: hasBin: true dev: true - /flatted@3.2.7: - resolution: {integrity: sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==} + /flatted@3.2.9: + resolution: {integrity: sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==} dev: true - /follow-redirects@1.15.2: - resolution: {integrity: sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==} + /follow-redirects@1.15.3: + resolution: {integrity: sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==} engines: {node: '>=4.0'} peerDependencies: debug: '*' @@ -5510,6 +5692,20 @@ packages: optional: true dev: true + /for-each@0.3.3: + resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} + dependencies: + is-callable: 1.2.7 + dev: true + + /foreground-child@3.1.1: + resolution: {integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==} + engines: {node: '>=14'} + dependencies: + cross-spawn: 7.0.3 + signal-exit: 4.1.0 + dev: true + /form-data@3.0.1: resolution: {integrity: sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==} engines: {node: '>= 6'} @@ -5533,8 +5729,8 @@ packages: engines: {node: '>= 0.6'} dev: true - /fraction.js@4.2.0: - resolution: {integrity: sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==} + /fraction.js@4.3.7: + resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==} dev: true /fresh@0.5.2: @@ -5571,31 +5767,45 @@ packages: minipass: 3.3.6 dev: true - /fs-minipass@3.0.1: - resolution: {integrity: sha512-MhaJDcFRTuLidHrIttu0RDGyyXs/IYHVmlcxfLAEFIWjc1vdLAkdwT7Ace2u7DbitWC0toKMl5eJZRYNVreIMw==} + /fs-minipass@3.0.3: + resolution: {integrity: sha512-XUBA9XClHbnJWSfBzjkm6RvPsyg3sryZt06BEQoXcF7EK/xpGaQYJgQKDJSUH5SGZ76Y7pFx1QBnXz09rU5Fbw==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: - minipass: 4.2.8 + minipass: 7.0.4 dev: true - /fs-monkey@1.0.3: - resolution: {integrity: sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q==} + /fs-monkey@1.0.5: + resolution: {integrity: sha512-8uMbBjrhzW76TYgEV27Y5E//W2f/lTFmx78P2w19FZSxarhI/798APGQyuGCwmkNxgwGRhrLfvWyLBvNtuOmew==} dev: true /fs.realpath@1.0.0: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} dev: true - /fsevents@2.3.2: - resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} + /fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} os: [darwin] requiresBuild: true dev: true optional: true - /function-bind@1.1.1: - resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} + /function-bind@1.1.2: + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + dev: true + + /function.prototype.name@1.1.6: + resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 + functions-have-names: 1.2.3 + dev: true + + /functions-have-names@1.2.3: + resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} dev: true /gauge@4.0.4: @@ -5622,12 +5832,13 @@ packages: engines: {node: 6.* || 8.* || >= 10.*} dev: true - /get-intrinsic@1.2.0: - resolution: {integrity: sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==} + /get-intrinsic@1.2.2: + resolution: {integrity: sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==} dependencies: - function-bind: 1.1.1 - has: 1.0.3 + function-bind: 1.1.2 + has-proto: 1.0.1 has-symbols: 1.0.3 + hasown: 2.0.0 dev: true /get-package-type@0.1.0: @@ -5647,6 +5858,20 @@ packages: engines: {node: '>=10'} dev: true + /get-symbol-description@1.0.0: + resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + get-intrinsic: 1.2.2 + dev: true + + /get-tsconfig@4.7.2: + resolution: {integrity: sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==} + dependencies: + resolve-pkg-maps: 1.0.0 + dev: true + /git-raw-commits@2.0.11: resolution: {integrity: sha512-VnctFhw+xfj8Va1xtfEqCUD2XDrbAPSJx+hSrE5K7fGdjZruW7XV+QOrN7LF/RJyvspRiD2I0asWsxFp0ya26A==} engines: {node: '>=10'} @@ -5677,13 +5902,25 @@ packages: resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} dev: true + /glob@10.3.10: + resolution: {integrity: sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==} + engines: {node: '>=16 || 14 >=14.17'} + hasBin: true + dependencies: + foreground-child: 3.1.1 + jackspeak: 2.3.6 + minimatch: 9.0.3 + minipass: 7.0.4 + path-scurry: 1.10.1 + dev: true + /glob@7.1.4: resolution: {integrity: sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==} dependencies: fs.realpath: 1.0.0 inflight: 1.0.6 inherits: 2.0.4 - minimatch: 3.1.2 + minimatch: 3.0.5 once: 1.4.0 path-is-absolute: 1.0.1 dev: true @@ -5710,16 +5947,6 @@ packages: once: 1.4.0 dev: true - /glob@9.3.5: - resolution: {integrity: sha512-e1LleDykUz2Iu+MTYdkSsuWX8lvAjAcs0Xef0lNIu0S2wOAzuTxCJtcd9S3cijlwYF18EsU3rzb8jPVobxDh9Q==} - engines: {node: '>=16 || 14 >=14.17'} - dependencies: - fs.realpath: 1.0.0 - minimatch: 8.0.4 - minipass: 4.2.8 - path-scurry: 1.6.4 - dev: true - /global-dirs@0.1.1: resolution: {integrity: sha512-NknMLn7F2J7aflwFOlGdNIuCDpN3VGoSoB+aap3KABFWbHVn1TCgFC+np23J8W2BiZbjfEw3BFBycSMv1AFblg==} engines: {node: '>=4'} @@ -5748,13 +5975,20 @@ packages: engines: {node: '>=4'} dev: true - /globals@13.20.0: - resolution: {integrity: sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==} + /globals@13.23.0: + resolution: {integrity: sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==} engines: {node: '>=8'} dependencies: type-fest: 0.20.2 dev: true + /globalthis@1.0.3: + resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==} + engines: {node: '>= 0.4'} + dependencies: + define-properties: 1.2.1 + dev: true + /globby@11.1.0: resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} engines: {node: '>=10'} @@ -5767,8 +6001,8 @@ packages: slash: 3.0.0 dev: true - /globby@13.1.4: - resolution: {integrity: sha512-iui/IiiW+QrJ1X1hKH5qwlMQyv34wJAYwH1vrf8b9kBA4sNiif3gKsMHa+BrdnOpEudWjpotfa7LrTzB1ERS/g==} + /globby@13.2.2: + resolution: {integrity: sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: dir-glob: 3.0.1 @@ -5782,6 +6016,12 @@ packages: resolution: {integrity: sha512-xYfnw62CKG8nLkZBfWbhWwDw02CHty86jfPcc2cr3ZfeuK9ysoVPPEUxf21bAD/rWAgk52SuBrLJlefNy8mvFg==} dev: true + /gopd@1.0.1: + resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} + dependencies: + get-intrinsic: 1.2.2 + dev: true + /graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} dev: true @@ -5790,28 +6030,13 @@ packages: resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} dev: true - /graphql-tag@2.12.6(graphql@16.8.1): - resolution: {integrity: sha512-FdSNcu2QQcWnM2VNvSCCDCVS5PpPqpzgFT8+GXzqJuoDd0CBncxCY278u4mhRO7tMgo2JjgJA5aZ+nWSQ/Z+xg==} - engines: {node: '>=10'} - peerDependencies: - graphql: ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 - dependencies: - graphql: 16.8.1 - tslib: 2.6.2 - dev: false - - /graphql@16.8.1: - resolution: {integrity: sha512-59LZHPdGZVh695Ud9lRzPBVTtlX9ZCV150Er2W43ro37wVof0ctenSaskPPjN7lVTIN8mSZt8PHUNKZuNQUuxw==} - engines: {node: ^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0} - dev: false - - /guess-parser@0.4.22(typescript@4.9.5): + /guess-parser@0.4.22(typescript@5.1.6): resolution: {integrity: sha512-KcUWZ5ACGaBM69SbqwVIuWGoSAgD+9iJnchR9j/IarVI1jHVeXv+bUXBIMeqVMSKt3zrn0Dgf9UpcOEpPBLbSg==} peerDependencies: typescript: '>=3.7.5' dependencies: - '@wessberg/ts-evaluator': 0.0.27(typescript@4.9.5) - typescript: 4.9.5 + '@wessberg/ts-evaluator': 0.0.27(typescript@5.1.6) + typescript: 5.1.6 transitivePeerDependencies: - bufferutil - canvas @@ -5828,6 +6053,10 @@ packages: engines: {node: '>=6'} dev: true + /has-bigints@1.0.2: + resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} + dev: true + /has-flag@3.0.0: resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} engines: {node: '>=4'} @@ -5838,20 +6067,54 @@ packages: engines: {node: '>=8'} dev: true + /has-property-descriptors@1.0.1: + resolution: {integrity: sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==} + dependencies: + get-intrinsic: 1.2.2 + dev: true + + /has-proto@1.0.1: + resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==} + engines: {node: '>= 0.4'} + dev: true + /has-symbols@1.0.3: resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} engines: {node: '>= 0.4'} dev: true + /has-tostringtag@1.0.0: + resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==} + engines: {node: '>= 0.4'} + dependencies: + has-symbols: 1.0.3 + dev: true + /has-unicode@2.0.1: resolution: {integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==} dev: true - /has@1.0.3: - resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} - engines: {node: '>= 0.4.0'} + /hash-base@3.1.0: + resolution: {integrity: sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==} + engines: {node: '>=4'} dependencies: - function-bind: 1.1.1 + inherits: 2.0.4 + readable-stream: 3.6.2 + safe-buffer: 5.2.1 + dev: false + + /hash.js@1.1.7: + resolution: {integrity: sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==} + dependencies: + inherits: 2.0.4 + minimalistic-assert: 1.0.1 + dev: false + + /hasown@2.0.0: + resolution: {integrity: sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==} + engines: {node: '>= 0.4'} + dependencies: + function-bind: 1.1.2 dev: true /hdr-histogram-js@2.0.3: @@ -5866,10 +6129,12 @@ packages: resolution: {integrity: sha512-7kIufnBqdsBGcSZLPJwqHT3yhk1QTsSlFsVD3kx5ixH/AlgBs9yM1q6DPhXZ8f8gtdqgh7N7/5btRLpQsS2gHw==} dev: true - /hoist-non-react-statics@3.3.2: - resolution: {integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==} + /hmac-drbg@1.0.1: + resolution: {integrity: sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==} dependencies: - react-is: 16.13.1 + hash.js: 1.1.7 + minimalistic-assert: 1.0.1 + minimalistic-crypto-utils: 1.0.1 dev: false /hosted-git-info@2.8.9: @@ -5906,8 +6171,8 @@ packages: whatwg-encoding: 1.0.5 dev: true - /html-entities@2.3.3: - resolution: {integrity: sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA==} + /html-entities@2.4.0: + resolution: {integrity: sha512-igBTJcNNNhvZFRtm8uA6xMY6xYleeDwn3PeBCkDz7tHttv4F2hsDI2aPgNERWzvRcNYHNT3ymRaQzllmXj4YsQ==} dev: true /html-escaper@2.0.2: @@ -5924,7 +6189,7 @@ packages: dependencies: domelementtype: 2.3.0 domhandler: 5.0.3 - domutils: 3.0.1 + domutils: 3.1.0 entities: 4.5.0 dev: true @@ -5983,7 +6248,7 @@ packages: - supports-color dev: true - /http-proxy-middleware@2.0.6(@types/express@4.17.17): + /http-proxy-middleware@2.0.6(@types/express@4.17.20): resolution: {integrity: sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==} engines: {node: '>=12.0.0'} peerDependencies: @@ -5992,8 +6257,8 @@ packages: '@types/express': optional: true dependencies: - '@types/express': 4.17.17 - '@types/http-proxy': 1.17.10 + '@types/express': 4.17.20 + '@types/http-proxy': 1.17.13 http-proxy: 1.18.1 is-glob: 4.0.3 is-plain-obj: 3.0.0 @@ -6007,7 +6272,7 @@ packages: engines: {node: '>=8.0.0'} dependencies: eventemitter3: 4.0.7 - follow-redirects: 1.15.2 + follow-redirects: 1.15.3 requires-port: 1.0.0 transitivePeerDependencies: - debug @@ -6067,11 +6332,11 @@ packages: resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} dev: true - /ignore-walk@6.0.2: - resolution: {integrity: sha512-ezmQ1Dg2b3jVZh2Dh+ar6Eu2MqNSTkyb32HU2MAQQQX9tKM3q/UQ/9lf03lQ5hW+fOeoMnwxwkleZ0xcNp0/qg==} + /ignore-walk@6.0.3: + resolution: {integrity: sha512-C7FfFoTA+bI10qfeydT8aZbvr91vAEU+2W5BZUlzPec47oNb07SsOfwYrtxuvOYdUApPP/Qlh4DtAO51Ekk2QA==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: - minimatch: 7.4.6 + minimatch: 9.0.3 dev: true /ignore@5.2.4: @@ -6087,8 +6352,8 @@ packages: dev: true optional: true - /immutable@4.3.0: - resolution: {integrity: sha512-0AOCmOip+xgJwEVTQj1EfiDDOkPmuyllDuTuEX+DDXUgapLAsBIfkg3sxCYyCEA8mQqZrrxPUGjcOQ2JS3WLkg==} + /immutable@4.3.4: + resolution: {integrity: sha512-fsXeu4J4i6WNWSikpI88v/PcVflZz+6kMhUfIwc5SY+poQRPnaf5V7qds6SUyUN3cVxEzuCab7QIoLOQ+DQ1wA==} dev: true /import-fresh@3.3.0: @@ -6136,7 +6401,6 @@ packages: /inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} - dev: true /ini@1.3.8: resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} @@ -6173,6 +6437,15 @@ packages: engines: {node: '>= 0.10'} dev: false + /internal-slot@1.0.6: + resolution: {integrity: sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg==} + engines: {node: '>= 0.4'} + dependencies: + get-intrinsic: 1.2.2 + hasown: 2.0.0 + side-channel: 1.0.4 + dev: true + /ip@2.0.0: resolution: {integrity: sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==} dev: true @@ -6182,15 +6455,29 @@ packages: engines: {node: '>= 0.10'} dev: true - /ipaddr.js@2.0.1: - resolution: {integrity: sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng==} + /ipaddr.js@2.1.0: + resolution: {integrity: sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ==} engines: {node: '>= 10'} dev: true + /is-array-buffer@3.0.2: + resolution: {integrity: sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==} + dependencies: + call-bind: 1.0.5 + get-intrinsic: 1.2.2 + is-typed-array: 1.1.12 + dev: true + /is-arrayish@0.2.1: resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} dev: true + /is-bigint@1.0.4: + resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} + dependencies: + has-bigints: 1.0.2 + dev: true + /is-binary-path@2.1.0: resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} engines: {node: '>=8'} @@ -6198,10 +6485,30 @@ packages: binary-extensions: 2.2.0 dev: true - /is-core-module@2.12.0: - resolution: {integrity: sha512-RECHCBCd/viahWmwj6enj19sKbHfJrddi/6cBDsNTKbNq0f7VeaUkBo60BqzvPqo/W54ChS62Z5qyun7cfOMqQ==} + /is-boolean-object@1.1.2: + resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + has-tostringtag: 1.0.0 + dev: true + + /is-callable@1.2.7: + resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} + engines: {node: '>= 0.4'} + dev: true + + /is-core-module@2.13.1: + resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} + dependencies: + hasown: 2.0.0 + dev: true + + /is-date-object@1.0.5: + resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} + engines: {node: '>= 0.4'} dependencies: - has: 1.0.3 + has-tostringtag: 1.0.0 dev: true /is-docker@2.2.1: @@ -6236,6 +6543,18 @@ packages: resolution: {integrity: sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==} dev: true + /is-negative-zero@2.0.2: + resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==} + engines: {node: '>= 0.4'} + dev: true + + /is-number-object@1.0.7: + resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} + engines: {node: '>= 0.4'} + dependencies: + has-tostringtag: 1.0.0 + dev: true + /is-number@7.0.0: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} @@ -6277,11 +6596,39 @@ packages: resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==} dev: true + /is-regex@1.1.4: + resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + has-tostringtag: 1.0.0 + dev: true + + /is-shared-array-buffer@1.0.2: + resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==} + dependencies: + call-bind: 1.0.5 + dev: true + /is-stream@2.0.1: resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} engines: {node: '>=8'} dev: true + /is-string@1.0.7: + resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} + engines: {node: '>= 0.4'} + dependencies: + has-tostringtag: 1.0.0 + dev: true + + /is-symbol@1.0.4: + resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} + engines: {node: '>= 0.4'} + dependencies: + has-symbols: 1.0.3 + dev: true + /is-text-path@1.0.1: resolution: {integrity: sha512-xFuJpne9oFz5qDaodwmmG08e3CawH/2ZV8Qqza1Ko7Sk8POWbkRdwIoAWVhqvq0XeUzANEhKo2n0IXUGBm7A/w==} engines: {node: '>=0.10.0'} @@ -6289,11 +6636,24 @@ packages: text-extensions: 1.9.0 dev: true + /is-typed-array@1.1.12: + resolution: {integrity: sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==} + engines: {node: '>= 0.4'} + dependencies: + which-typed-array: 1.1.13 + dev: true + /is-unicode-supported@0.1.0: resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} engines: {node: '>=10'} dev: true + /is-weakref@1.0.2: + resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} + dependencies: + call-bind: 1.0.5 + dev: true + /is-what@3.14.1: resolution: {integrity: sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==} dev: true @@ -6309,6 +6669,10 @@ packages: resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} dev: true + /isarray@2.0.5: + resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} + dev: true + /isbinaryfile@4.0.10: resolution: {integrity: sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw==} engines: {node: '>= 8.0.0'} @@ -6332,21 +6696,21 @@ packages: resolution: {integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==} engines: {node: '>=8'} dependencies: - '@babel/core': 7.21.4 - '@babel/parser': 7.21.4 + '@babel/core': 7.23.2 + '@babel/parser': 7.23.0 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.0 - semver: 6.3.0 + semver: 6.3.1 transitivePeerDependencies: - supports-color dev: true - /istanbul-lib-report@3.0.0: - resolution: {integrity: sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==} - engines: {node: '>=8'} + /istanbul-lib-report@3.0.1: + resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==} + engines: {node: '>=10'} dependencies: istanbul-lib-coverage: 3.2.0 - make-dir: 3.1.0 + make-dir: 4.0.0 supports-color: 7.2.0 dev: true @@ -6361,12 +6725,21 @@ packages: - supports-color dev: true - /istanbul-reports@3.1.5: - resolution: {integrity: sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==} + /istanbul-reports@3.1.6: + resolution: {integrity: sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg==} engines: {node: '>=8'} dependencies: html-escaper: 2.0.2 - istanbul-lib-report: 3.0.0 + istanbul-lib-report: 3.0.1 + dev: true + + /jackspeak@2.3.6: + resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==} + engines: {node: '>=14'} + dependencies: + '@isaacs/cliui': 8.0.2 + optionalDependencies: + '@pkgjs/parseargs': 0.11.0 dev: true /jake@10.8.7: @@ -6388,7 +6761,7 @@ packages: resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} engines: {node: '>= 10.13.0'} dependencies: - '@types/node': 18.18.5 + '@types/node': 18.18.7 merge-stream: 2.0.0 supports-color: 8.1.1 dev: true @@ -6400,6 +6773,7 @@ packages: /js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + dev: true /js-yaml@3.14.1: resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} @@ -6426,7 +6800,7 @@ packages: optional: true dependencies: abab: 2.0.6 - acorn: 8.8.2 + acorn: 8.11.2 acorn-globals: 6.0.0 cssom: 0.4.4 cssstyle: 2.3.0 @@ -6469,6 +6843,10 @@ packages: hasBin: true dev: true + /json-buffer@3.0.1: + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} + dev: true + /json-parse-even-better-errors@2.3.1: resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} dev: true @@ -6490,6 +6868,13 @@ packages: resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} dev: true + /json5@1.0.2: + resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} + hasBin: true + dependencies: + minimist: 1.2.8 + dev: true + /json5@2.2.3: resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} engines: {node: '>=6'} @@ -6531,9 +6916,9 @@ packages: dependencies: istanbul-lib-coverage: 3.2.0 istanbul-lib-instrument: 5.2.1 - istanbul-lib-report: 3.0.0 + istanbul-lib-report: 3.0.1 istanbul-lib-source-maps: 4.0.1 - istanbul-reports: 3.1.5 + istanbul-reports: 3.1.6 minimatch: 3.1.2 transitivePeerDependencies: - supports-color @@ -6591,10 +6976,10 @@ packages: qjobs: 1.2.0 range-parser: 1.2.1 rimraf: 3.0.2 - socket.io: 4.6.1 + socket.io: 4.7.2 source-map: 0.6.1 tmp: 0.2.1 - ua-parser-js: 0.7.35 + ua-parser-js: 0.7.37 yargs: 16.2.0 transitivePeerDependencies: - bufferutil @@ -6603,6 +6988,12 @@ packages: - utf-8-validate dev: true + /keyv@4.5.4: + resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} + dependencies: + json-buffer: 3.0.1 + dev: true + /kind-of@6.0.3: resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} engines: {node: '>=0.10.0'} @@ -6613,8 +7004,8 @@ packages: engines: {node: '>= 8'} dev: true - /known-css-properties@0.28.0: - resolution: {integrity: sha512-9pSL5XB4J+ifHP0e0jmmC98OGC1nL8/JjS+fi6mnTlIf//yt/MfVLtKg7S6nCtj/8KTcWX7nRlY0XywoYY1ISQ==} + /known-css-properties@0.29.0: + resolution: {integrity: sha512-Ne7wqW7/9Cz54PDt4I3tcV+hAyat8ypyOGzYRJQfdxnnjeWsTxt1cy8pjvvKeI5kfXuyvULyeeAvwvvtAX3ayQ==} dev: true /launch-editor@2.6.1: @@ -6793,19 +7184,17 @@ packages: dependencies: date-format: 4.0.14 debug: 4.3.4 - flatted: 3.2.7 + flatted: 3.2.9 rfdc: 1.3.0 streamroller: 3.1.5 transitivePeerDependencies: - supports-color dev: true - /loose-envify@1.4.0: - resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} - hasBin: true - dependencies: - js-tokens: 4.0.0 - dev: false + /lru-cache@10.0.1: + resolution: {integrity: sha512-IJ4uwUTi2qCccrioU6g9g/5rvvVl13bsdczUUcqbciD9iLr095yj8DQKdObriEvuNSx325N1rV1O0sJFszx75g==} + engines: {node: 14 || >=16.14} + dev: true /lru-cache@5.1.1: resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} @@ -6825,11 +7214,6 @@ packages: engines: {node: '>=12'} dev: true - /lru-cache@9.0.1: - resolution: {integrity: sha512-C8QsKIN1UIXeOs3iWmiZ1lQY+EnKDojWd37fXy1aSbJvH4iSma1uy2OWuoB3m4SYRli5+CUjDv3Dij5DVoetmg==} - engines: {node: 14 || >=16.14} - dev: true - /magic-string@0.30.1: resolution: {integrity: sha512-mbVKXPmS0z0G4XqFDCTllmDQ6coZzn94aMlb0o/A4HEHJCKcanlDZwYJgwnkmgD3jyWhUgj9VsPrfd972yPffA==} engines: {node: '>=12'} @@ -6843,15 +7227,15 @@ packages: requiresBuild: true dependencies: pify: 4.0.1 - semver: 5.7.1 + semver: 5.7.2 dev: true optional: true - /make-dir@3.1.0: - resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} - engines: {node: '>=8'} + /make-dir@4.0.0: + resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} + engines: {node: '>=10'} dependencies: - semver: 6.3.0 + semver: 7.5.4 dev: true /make-error@1.3.6: @@ -6862,7 +7246,7 @@ packages: resolution: {integrity: sha512-NgOPbRiaQM10DYXvN3/hhGVI2M5MtITFryzBGxHM5p4wnFxsVCbxkrBrDsk+EZ5OB4jEOT7AjDxtdF+KVEFT7w==} engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} dependencies: - agentkeepalive: 4.3.0 + agentkeepalive: 4.5.0 cacache: 16.1.3 http-cache-semantics: 4.1.1 http-proxy-agent: 5.0.0 @@ -6883,51 +7267,26 @@ packages: - supports-color dev: true - /make-fetch-happen@11.0.3: - resolution: {integrity: sha512-oPLh5m10lRNNZDjJ2kP8UpboUx2uFXVaVweVe/lWut4iHWcQEmfqSVJt2ihZsFI8HbpwyyocaXbCAWf0g1ukIA==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dependencies: - agentkeepalive: 4.3.0 - cacache: 17.0.5 - http-cache-semantics: 4.1.1 - http-proxy-agent: 5.0.0 - https-proxy-agent: 5.0.1 - is-lambda: 1.0.1 - lru-cache: 7.18.3 - minipass: 4.2.8 - minipass-fetch: 3.0.1 - 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.3 - transitivePeerDependencies: - - bluebird - - supports-color - dev: true - /make-fetch-happen@11.1.1: resolution: {integrity: sha512-rLWS7GCSTcEujjVBs2YqG7Y4643u8ucvCJeSRqiLYhesrDuzeuFIk37xREzAsfQaqzl8b9rNCE4m6J8tvX4Q8w==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: - agentkeepalive: 4.3.0 - cacache: 17.0.5 + agentkeepalive: 4.5.0 + cacache: 17.1.4 http-cache-semantics: 4.1.1 http-proxy-agent: 5.0.0 https-proxy-agent: 5.0.1 is-lambda: 1.0.1 lru-cache: 7.18.3 minipass: 5.0.0 - minipass-fetch: 3.0.1 + minipass-fetch: 3.0.4 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.3 + ssri: 10.0.5 transitivePeerDependencies: - - bluebird - supports-color dev: true @@ -6945,6 +7304,14 @@ packages: resolution: {integrity: sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg==} dev: true + /md5.js@1.3.5: + resolution: {integrity: sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==} + dependencies: + hash-base: 3.1.0 + inherits: 2.0.4 + safe-buffer: 5.2.1 + dev: false + /mdn-data@2.0.30: resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==} dev: true @@ -6954,18 +7321,18 @@ packages: engines: {node: '>= 0.6'} dev: true - /memfs@3.5.0: - resolution: {integrity: sha512-yK6o8xVJlQerz57kvPROwTMgx5WtGwC2ZxDtOUsnGl49rHjYkfQoPNZPCKH73VdLE1BwBu/+Fx/NL8NYMUw2aA==} + /memfs@3.5.3: + resolution: {integrity: sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==} engines: {node: '>= 4.0.0'} dependencies: - fs-monkey: 1.0.3 + fs-monkey: 1.0.5 dev: true /meow@10.1.5: resolution: {integrity: sha512-/d+PQ4GKmGvM9Bee/DPa8z3mXs/pkvJE2KEThngVNOqtmljC6K7NMPxtc2JeZYTmpWb9k/TmxjeL18ez3h7vCw==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: - '@types/minimist': 1.2.2 + '@types/minimist': 1.2.4 camelcase-keys: 7.0.2 decamelize: 5.0.1 decamelize-keys: 1.1.1 @@ -6983,7 +7350,7 @@ packages: resolution: {integrity: sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==} engines: {node: '>=10'} dependencies: - '@types/minimist': 1.2.2 + '@types/minimist': 1.2.4 camelcase-keys: 6.2.2 decamelize-keys: 1.1.1 hard-rejection: 2.1.0 @@ -7022,6 +7389,14 @@ packages: picomatch: 2.3.1 dev: true + /miller-rabin@4.0.1: + resolution: {integrity: sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==} + hasBin: true + dependencies: + bn.js: 4.12.0 + brorand: 1.1.0 + dev: false + /mime-db@1.52.0: resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} engines: {node: '>= 0.6'} @@ -7062,13 +7437,16 @@ packages: peerDependencies: webpack: ^5.0.0 dependencies: - schema-utils: 4.0.0 + schema-utils: 4.2.0 webpack: 5.88.2(esbuild@0.18.17) dev: true /minimalistic-assert@1.0.1: resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==} - dev: true + + /minimalistic-crypto-utils@1.0.1: + resolution: {integrity: sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==} + dev: false /minimatch@3.0.5: resolution: {integrity: sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw==} @@ -7089,20 +7467,6 @@ packages: brace-expansion: 2.0.1 dev: true - /minimatch@7.4.6: - resolution: {integrity: sha512-sBz8G/YjVniEz6lKPNpKxXwazJe4c19fEfV2GDMX6AjFz+MX9uDWIZW8XreVhkFW3fkIdTv/gxWr/Kks5FFAVw==} - engines: {node: '>=10'} - dependencies: - brace-expansion: 2.0.1 - dev: true - - /minimatch@8.0.4: - resolution: {integrity: sha512-W0Wvr9HyFXZRGIDgCicunpQ299OKXs9RgZfaukz4qAW/pJhcpUfupc9c+OObPOFueNy8VSrZgEmDtk6Kh4WzDA==} - engines: {node: '>=16 || 14 >=14.17'} - dependencies: - brace-expansion: 2.0.1 - dev: true - /minimatch@9.0.3: resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} engines: {node: '>=16 || 14 >=14.17'} @@ -7141,11 +7505,11 @@ packages: encoding: 0.1.13 dev: true - /minipass-fetch@3.0.1: - resolution: {integrity: sha512-t9/wowtf7DYkwz8cfMSt0rMwiyNIBXf5CKZ3S5ZMqRqMYT0oLTp0x1WorMI9WTwvaPg21r1JbFxJMum8JrLGfw==} + /minipass-fetch@3.0.4: + resolution: {integrity: sha512-jHAqnA728uUpIaFm7NWsCnqKT6UqZz7GcI/bDpPATuwYyKwJwW0remxSCxUlKiEty+eopHGa3oc8WxgQ1FFJqg==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: - minipass: 4.2.8 + minipass: 7.0.4 minipass-sized: 1.0.3 minizlib: 2.1.2 optionalDependencies: @@ -7187,16 +7551,16 @@ packages: yallist: 4.0.0 dev: true - /minipass@4.2.8: - resolution: {integrity: sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ==} - engines: {node: '>=8'} - dev: true - /minipass@5.0.0: resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==} engines: {node: '>=8'} dev: true + /minipass@7.0.4: + resolution: {integrity: sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==} + engines: {node: '>=16 || 14 >=14.17'} + dev: true + /minizlib@2.1.2: resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==} engines: {node: '>= 8'} @@ -7247,7 +7611,7 @@ packages: resolution: {integrity: sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==} hasBin: true dependencies: - dns-packet: 5.5.0 + dns-packet: 5.6.1 thunky: 1.1.0 dev: true @@ -7277,7 +7641,7 @@ packages: dependencies: debug: 3.2.7 iconv-lite: 0.6.3 - sax: 1.2.4 + sax: 1.3.0 transitivePeerDependencies: - supports-color dev: true @@ -7292,27 +7656,16 @@ packages: resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} dev: true - /ng-hcaptcha@2.2.0(@angular/common@16.2.9)(@angular/core@16.2.9)(@angular/forms@16.2.9): + /ng-hcaptcha@2.2.0(@angular/common@16.2.11)(@angular/core@16.2.11)(@angular/forms@16.2.11): resolution: {integrity: sha512-opaVb96eFk1N0RjW5X0HniGN9+2bN9CmuKwfFl2UxVHhkTx+H37kE/PY6af0ikve3QQZAJYetc9hYfQ6l9ZU7Q==} peerDependencies: '@angular/common': ^9.0.0 || ^10.0.0 || ^11.0.0 || ^12.0.0 || ^13.0.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 '@angular/core': ^9.0.0 || ^10.0.0 || ^11.0.0 || ^12.0.0 || ^13.0.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 '@angular/forms': ^9.0.0 || ^10.0.0 || ^11.0.0 || ^12.0.0 || ^13.0.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 dependencies: - '@angular/common': 16.2.9(@angular/core@16.2.9)(rxjs@7.8.1) - '@angular/core': 16.2.9(rxjs@7.8.1)(zone.js@0.13.3) - '@angular/forms': 16.2.9(@angular/common@16.2.9)(@angular/core@16.2.9)(@angular/platform-browser@16.2.9)(rxjs@7.8.1) - tslib: 2.6.2 - dev: false - - /ngx-device-detector@6.0.2(@angular/common@16.2.9)(@angular/core@16.2.9): - resolution: {integrity: sha512-+zaYUYGepNE4vMBA/6kyc1rhuUm5uU4cwbvFEEy0gAY4OarId15zwcb1iyvQbyrLCXhZW0DrPZTBoQxzp7dyVw==} - peerDependencies: - '@angular/common': ^16.0.0 - '@angular/core': ^16.0.0 - dependencies: - '@angular/common': 16.2.9(@angular/core@16.2.9)(rxjs@7.8.1) - '@angular/core': 16.2.9(rxjs@7.8.1)(zone.js@0.13.3) + '@angular/common': 16.2.11(@angular/core@16.2.11)(rxjs@7.8.1) + '@angular/core': 16.2.11(rxjs@7.8.1)(zone.js@0.13.3) + '@angular/forms': 16.2.11(@angular/common@16.2.11)(@angular/core@16.2.11)(@angular/platform-browser@16.2.11)(rxjs@7.8.1) tslib: 2.6.2 dev: false @@ -7322,7 +7675,7 @@ packages: requiresBuild: true dependencies: node-addon-api: 3.2.1 - node-gyp-build: 4.6.0 + node-gyp-build: 4.6.1 dev: true optional: true @@ -7348,18 +7701,19 @@ packages: engines: {node: '>= 6.13.0'} dev: true - /node-gyp-build@4.6.0: - resolution: {integrity: sha512-NTZVKn9IylLwUzaKjkas1e4u2DLNcV4rdYagA4PWdPwW87Bi7z+BznyKSRwS/761tV/lzCGXplWsiaMjLqP2zQ==} + /node-gyp-build@4.6.1: + resolution: {integrity: sha512-24vnklJmyRS8ViBNI8KbtK/r/DmXQMRiOMXTNz2nrTnAYUwjmEEbnnpB/+kt+yWRv73bPsSPRFddrcIbAxSiMQ==} hasBin: true requiresBuild: true dev: true - /node-gyp@9.3.1: - resolution: {integrity: sha512-4Q16ZCqq3g8awk6UplT7AuxQ35XN4R/yf/+wSAwcBUAjg7l58RTactWaP8fIDTi0FzI7YcVLujwExakZlfWkXg==} + /node-gyp@9.4.1: + resolution: {integrity: sha512-OQkWKbjQKbGkMf/xqI1jjy3oCTgMKJac58G2+bjZb3fza6gW2YrCSdMQYaoTb70crvE//Gngr4f0AgVHmqHvBQ==} engines: {node: ^12.13 || ^14.13 || >=16} hasBin: true dependencies: env-paths: 2.2.1 + exponential-backoff: 3.1.1 glob: 7.2.3 graceful-fs: 4.2.11 make-fetch-happen: 10.2.1 @@ -7367,17 +7721,13 @@ packages: npmlog: 6.0.2 rimraf: 3.0.2 semver: 7.5.4 - tar: 6.1.13 + tar: 6.2.0 which: 2.0.2 transitivePeerDependencies: - bluebird - supports-color dev: true - /node-releases@2.0.10: - resolution: {integrity: sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==} - dev: true - /node-releases@2.0.13: resolution: {integrity: sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==} dev: true @@ -7394,8 +7744,8 @@ packages: resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} dependencies: hosted-git-info: 2.8.9 - resolve: 1.22.2 - semver: 5.7.1 + resolve: 1.22.8 + semver: 5.7.2 validate-npm-package-license: 3.0.4 dev: true @@ -7404,8 +7754,8 @@ packages: engines: {node: '>=10'} dependencies: hosted-git-info: 4.1.0 - is-core-module: 2.12.0 - semver: 7.4.0 + is-core-module: 2.13.1 + semver: 7.5.4 validate-npm-package-license: 3.0.4 dev: true @@ -7414,7 +7764,7 @@ packages: engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: hosted-git-info: 6.1.1 - is-core-module: 2.12.0 + is-core-module: 2.13.1 semver: 7.5.4 validate-npm-package-license: 3.0.4 dev: true @@ -7433,18 +7783,18 @@ packages: resolution: {integrity: sha512-Vq0eyEQy+elFpzsKjMss9kxqb9tG3YHg4dsyWuUENuzvSUWe1TCnW/vV9FkhvBk/brEDoDiVd+M1Btosa6ImdQ==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: - npm-normalize-package-bin: 3.0.0 + npm-normalize-package-bin: 3.0.1 dev: true - /npm-install-checks@6.1.1: - resolution: {integrity: sha512-dH3GmQL4vsPtld59cOn8uY0iOqRmqKvV+DLGwNXV/Q7MDgD2QfOADWd/mFXcIE5LVhYYGjA3baz6W9JneqnuCw==} + /npm-install-checks@6.3.0: + resolution: {integrity: sha512-W29RiK/xtpCGqn6f3ixfRYGk+zRyr+Ew9F2E20BfXxT5/euLdA/Nm7fO7OeTGuAmTs30cpgInyJ0cYe708YTZw==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: semver: 7.5.4 dev: true - /npm-normalize-package-bin@3.0.0: - resolution: {integrity: sha512-g+DPQSkusnk7HYXr75NtzkIP4+N81i3RPsGFidF3DzHd9MT9wWngmqoeg/fnHFz5MNdtG4w03s+QnhewSLTT2Q==} + /npm-normalize-package-bin@3.0.1: + resolution: {integrity: sha512-dMxCf+zZ+3zeQZXKxmyuCKlIDPGuv8EF940xbkC4kQVDTtqoh6rJFO+JTKSA6/Rwi0getWmtuy4Itup0AMcaDQ==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dev: true @@ -7462,32 +7812,31 @@ packages: resolution: {integrity: sha512-d6RGEuRrNS5/N84iglPivjaJPxhDbZmlbTwTDX2IbcRHG5bZCdtysYMhwiPvcF4GisXHGn7xsxv+GQ7T/02M5Q==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: - ignore-walk: 6.0.2 + ignore-walk: 6.0.3 dev: true /npm-pick-manifest@8.0.1: resolution: {integrity: sha512-mRtvlBjTsJvfCCdmPtiu2bdlx8d/KXtF7yNXNWe7G0Z36qWA9Ny5zXsI2PfBZEv7SXgoxTmNaTzGSbbzDZChoA==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: - npm-install-checks: 6.1.1 - npm-normalize-package-bin: 3.0.0 + npm-install-checks: 6.3.0 + npm-normalize-package-bin: 3.0.1 npm-package-arg: 10.1.0 semver: 7.5.4 dev: true - /npm-registry-fetch@14.0.4: - resolution: {integrity: sha512-pMS2DRkwg+M44ct65zrN/Cr9IHK1+n6weuefAo6Er4lc+/8YBCU0Czq04H3ZiSigluh7pb2rMM5JpgcytctB+Q==} + /npm-registry-fetch@14.0.5: + resolution: {integrity: sha512-kIDMIo4aBm6xg7jOttupWZamsZRkAqMqwqqbVXnUqstY5+tapvv6bkH/qMR76jdgV+YljEUCyWx3hRYMrJiAgA==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: - make-fetch-happen: 11.0.3 - minipass: 4.2.8 - minipass-fetch: 3.0.1 + make-fetch-happen: 11.1.1 + minipass: 5.0.0 + minipass-fetch: 3.0.4 minipass-json-stream: 1.0.1 minizlib: 2.1.2 npm-package-arg: 10.1.0 proc-log: 3.0.0 transitivePeerDependencies: - - bluebird - supports-color dev: true @@ -7536,7 +7885,7 @@ packages: '@yarnpkg/lockfile': 1.1.0 '@yarnpkg/parsers': 3.0.0-rc.46 '@zkochan/js-yaml': 0.0.6 - axios: 1.5.1 + axios: 1.6.0 chalk: 4.1.2 cli-cursor: 3.1.0 cli-spinners: 2.6.1 @@ -7554,7 +7903,7 @@ packages: lines-and-columns: 2.0.3 minimatch: 3.0.5 npm-run-path: 4.0.1 - open: 8.4.1 + open: 8.4.2 semver: 7.5.3 string-width: 4.2.3 strong-log-transformer: 2.1.0 @@ -7563,7 +7912,7 @@ packages: tsconfig-paths: 4.2.0 tslib: 2.6.2 v8-compile-cache: 2.3.0 - yargs: 17.7.1 + yargs: 17.7.2 yargs-parser: 21.1.1 optionalDependencies: '@nx/nx-darwin-arm64': 16.5.1 @@ -7583,9 +7932,15 @@ packages: /object-assign@4.1.1: resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} engines: {node: '>=0.10.0'} + dev: true - /object-inspect@1.12.3: - resolution: {integrity: sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==} + /object-inspect@1.13.1: + resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==} + dev: true + + /object-keys@1.1.1: + resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} + engines: {node: '>= 0.4'} dev: true /object-path@0.11.8: @@ -7593,6 +7948,43 @@ packages: engines: {node: '>= 10.12.0'} dev: true + /object.assign@4.1.4: + resolution: {integrity: sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + define-properties: 1.2.1 + has-symbols: 1.0.3 + object-keys: 1.1.1 + dev: true + + /object.fromentries@2.0.7: + resolution: {integrity: sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 + dev: true + + /object.groupby@1.0.1: + resolution: {integrity: sha512-HqaQtqLnp/8Bn4GL16cj+CUYbnpe1bh0TtEaWvybszDG4tgxCJuRpV8VGuvNaI1fAnI4lUJzDG55MXcOH4JZcQ==} + dependencies: + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 + get-intrinsic: 1.2.2 + dev: true + + /object.values@1.1.7: + resolution: {integrity: sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 + dev: true + /obuf@1.1.2: resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==} dev: true @@ -7626,16 +8018,7 @@ packages: resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} engines: {node: '>=6'} dependencies: - mimic-fn: 2.1.0 - dev: true - - /open@8.4.1: - resolution: {integrity: sha512-/4b7qZNhv6Uhd7jjnREh1NjnPxlTq+XNWPG88Ydkj5AILcA5m3ajvcg57pB24EQjKv0dK62XnDqk9c/hkIG5Kg==} - engines: {node: '>=12'} - dependencies: - define-lazy-prop: 2.0.0 - is-docker: 2.2.1 - is-wsl: 2.2.0 + mimic-fn: 2.1.0 dev: true /open@8.4.2: @@ -7647,14 +8030,6 @@ packages: is-wsl: 2.2.0 dev: true - /optimism@0.17.5: - resolution: {integrity: sha512-TEcp8ZwK1RczmvMnvktxHSF2tKgMWjJ71xEFGX5ApLh67VsMSTy1ZUlipJw8W+KaqgOmQ+4pqwkeivY89j+4Vw==} - dependencies: - '@wry/context': 0.7.4 - '@wry/trie': 0.4.3 - tslib: 2.6.2 - dev: false - /optionator@0.9.3: resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} engines: {node: '>= 0.8.0'} @@ -7674,7 +8049,7 @@ packages: bl: 4.1.0 chalk: 4.1.2 cli-cursor: 3.1.0 - cli-spinners: 2.8.0 + cli-spinners: 2.9.1 is-interactive: 1.0.0 is-unicode-supported: 0.1.0 log-symbols: 4.1.0 @@ -7754,24 +8129,24 @@ packages: engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} hasBin: true dependencies: - '@npmcli/git': 4.0.4 + '@npmcli/git': 4.1.0 '@npmcli/installed-package-contents': 2.0.2 '@npmcli/promise-spawn': 6.0.2 - '@npmcli/run-script': 6.0.0 - cacache: 17.0.5 - fs-minipass: 3.0.1 + '@npmcli/run-script': 6.0.2 + cacache: 17.1.4 + fs-minipass: 3.0.3 minipass: 5.0.0 npm-package-arg: 10.1.0 npm-packlist: 7.0.4 npm-pick-manifest: 8.0.1 - npm-registry-fetch: 14.0.4 + npm-registry-fetch: 14.0.5 proc-log: 3.0.0 promise-retry: 2.0.1 - read-package-json: 6.0.1 + read-package-json: 6.0.4 read-package-json-fast: 3.0.2 sigstore: 1.9.0 - ssri: 10.0.3 - tar: 6.1.13 + ssri: 10.0.5 + tar: 6.2.0 transitivePeerDependencies: - bluebird - supports-color @@ -7788,11 +8163,21 @@ packages: callsites: 3.1.0 dev: true + /parse-asn1@5.1.6: + resolution: {integrity: sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==} + dependencies: + asn1.js: 5.4.1 + browserify-aes: 1.2.0 + evp_bytestokey: 1.0.3 + pbkdf2: 3.1.2 + safe-buffer: 5.2.1 + dev: false + /parse-json@5.2.0: resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} engines: {node: '>=8'} dependencies: - '@babel/code-frame': 7.21.4 + '@babel/code-frame': 7.22.13 error-ex: 1.3.2 json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 @@ -7856,12 +8241,12 @@ packages: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} dev: true - /path-scurry@1.6.4: - resolution: {integrity: sha512-Qp/9IHkdNiXJ3/Kon++At2nVpnhRiPq/aSvQN+H3U1WZbvNRK0RIQK/o4HMqPoXjpuGJUEWpHSs6Mnjxqh3TQg==} + /path-scurry@1.10.1: + resolution: {integrity: sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==} engines: {node: '>=16 || 14 >=14.17'} dependencies: - lru-cache: 9.0.1 - minipass: 5.0.0 + lru-cache: 10.0.1 + minipass: 7.0.4 dev: true /path-to-regexp@0.1.7: @@ -7873,6 +8258,17 @@ packages: engines: {node: '>=8'} dev: true + /pbkdf2@3.1.2: + resolution: {integrity: sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==} + engines: {node: '>=0.12'} + dependencies: + create-hash: 1.2.0 + create-hmac: 1.1.7 + ripemd160: 2.0.2 + safe-buffer: 5.2.1 + sha.js: 2.4.11 + dev: false + /pend@1.2.0: resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==} dev: true @@ -7910,14 +8306,14 @@ packages: find-up: 6.3.0 dev: true - /postcss-loader@7.3.3(postcss@8.4.31)(typescript@4.9.5)(webpack@5.88.2): + /postcss-loader@7.3.3(postcss@8.4.31)(typescript@5.1.6)(webpack@5.88.2): resolution: {integrity: sha512-YgO/yhtevGO/vJePCQmTxiaEwER94LABZN0ZMT4A0vsak9TpO+RvKRs7EmJ8peIlB9xfXCsS7M8LjqncsUZ5HA==} engines: {node: '>= 14.15.0'} peerDependencies: postcss: ^7.0.0 || ^8.0.1 webpack: ^5.0.0 dependencies: - cosmiconfig: 8.3.6(typescript@4.9.5) + cosmiconfig: 8.3.6(typescript@5.1.6) jiti: 1.20.0 postcss: 8.4.31 semver: 7.5.4 @@ -7947,7 +8343,7 @@ packages: dependencies: icss-utils: 5.1.0(postcss@8.4.31) postcss: 8.4.31 - postcss-selector-parser: 6.0.11 + postcss-selector-parser: 6.0.13 postcss-value-parser: 4.2.0 dev: true @@ -7958,7 +8354,7 @@ packages: postcss: ^8.1.0 dependencies: postcss: 8.4.31 - postcss-selector-parser: 6.0.11 + postcss-selector-parser: 6.0.13 dev: true /postcss-modules-values@4.0.0(postcss@8.4.31): @@ -7984,23 +8380,15 @@ packages: postcss: 8.4.31 dev: true - /postcss-scss@4.0.6(postcss@8.4.31): - resolution: {integrity: sha512-rLDPhJY4z/i4nVFZ27j9GqLxj1pwxE80eAzUNRMXtcpipFYIeowerzBgG3yJhMtObGEXidtIgbUpQ3eLDsf5OQ==} + /postcss-scss@4.0.9(postcss@8.4.31): + resolution: {integrity: sha512-AjKOeiwAitL/MXxQW2DliT28EKukvvbEWx3LBmJIRN8KfBGZbRTxNYW0kSqi1COiTZ57nZ9NW06S6ux//N1c9A==} engines: {node: '>=12.0'} peerDependencies: - postcss: ^8.4.19 + postcss: ^8.4.29 dependencies: postcss: 8.4.31 dev: true - /postcss-selector-parser@6.0.11: - resolution: {integrity: sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==} - engines: {node: '>=4'} - dependencies: - cssesc: 3.0.0 - util-deprecate: 1.0.2 - dev: true - /postcss-selector-parser@6.0.13: resolution: {integrity: sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==} engines: {node: '>=4'} @@ -8031,7 +8419,7 @@ packages: resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==} engines: {node: '>=6.0.0'} dependencies: - fast-diff: 1.2.0 + fast-diff: 1.3.0 dev: true /prettier@2.8.8: @@ -8076,14 +8464,6 @@ packages: retry: 0.12.0 dev: true - /prop-types@15.8.1: - resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} - dependencies: - loose-envify: 1.4.0 - object-assign: 4.1.1 - react-is: 16.13.1 - dev: false - /proxy-addr@2.0.7: resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} engines: {node: '>= 0.10'} @@ -8106,6 +8486,17 @@ packages: resolution: {integrity: sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==} dev: true + /public-encrypt@4.0.3: + resolution: {integrity: sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==} + dependencies: + bn.js: 4.12.0 + browserify-rsa: 4.1.0 + create-hash: 1.2.0 + parse-asn1: 5.1.6 + randombytes: 2.1.0 + safe-buffer: 5.2.1 + dev: false + /pump@3.0.0: resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} dependencies: @@ -8118,7 +8509,7 @@ packages: engines: {node: '>=6'} dev: true - /puppeteer-core@19.11.1(typescript@4.9.5): + /puppeteer-core@19.11.1(typescript@5.1.6): resolution: {integrity: sha512-qcuC2Uf0Fwdj9wNtaTZ2OvYRraXpAK+puwwVW8ofOhOgLPZyz1c68tsorfIZyCUOpyBisjr+xByu7BMbEYMepA==} engines: {node: '>=14.14.0'} peerDependencies: @@ -8127,7 +8518,7 @@ packages: typescript: optional: true dependencies: - '@puppeteer/browsers': 0.5.0(typescript@4.9.5) + '@puppeteer/browsers': 0.5.0(typescript@5.1.6) chromium-bidi: 0.4.7(devtools-protocol@0.0.1107588) cross-fetch: 3.1.5 debug: 4.3.4 @@ -8136,7 +8527,7 @@ packages: https-proxy-agent: 5.0.1 proxy-from-env: 1.1.0 tar-fs: 2.1.1 - typescript: 4.9.5 + typescript: 5.1.6 unbzip2-stream: 1.4.3 ws: 8.13.0 transitivePeerDependencies: @@ -8146,16 +8537,16 @@ packages: - utf-8-validate dev: true - /puppeteer@19.11.1(typescript@4.9.5): + /puppeteer@19.11.1(typescript@5.1.6): resolution: {integrity: sha512-39olGaX2djYUdhaQQHDZ0T0GwEp+5f9UB9HmEP0qHfdQHIq0xGQZuAZ5TLnJIc/88SrPLpEflPC+xUqOTv3c5g==} requiresBuild: true dependencies: - '@puppeteer/browsers': 0.5.0(typescript@4.9.5) + '@puppeteer/browsers': 0.5.0(typescript@5.1.6) cosmiconfig: 8.1.3 https-proxy-agent: 5.0.1 progress: 2.0.3 proxy-from-env: 1.1.0 - puppeteer-core: 19.11.1(typescript@4.9.5) + puppeteer-core: 19.11.1(typescript@5.1.6) transitivePeerDependencies: - bufferutil - encoding @@ -8198,7 +8589,13 @@ packages: resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} dependencies: safe-buffer: 5.2.1 - dev: true + + /randomfill@1.0.4: + resolution: {integrity: sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==} + dependencies: + randombytes: 2.1.0 + safe-buffer: 5.2.1 + dev: false /range-parser@1.2.1: resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} @@ -8225,26 +8622,22 @@ packages: unpipe: 1.0.0 dev: true - /react-is@16.13.1: - resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} - dev: false - /read-package-json-fast@3.0.2: resolution: {integrity: sha512-0J+Msgym3vrLOUB3hzQCuZHII0xkNGCtz/HJH9xZshwv9DbDwkw1KaE3gx/e2J5rpEY5rtOy6cyhKOPrkP7FZw==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: json-parse-even-better-errors: 3.0.0 - npm-normalize-package-bin: 3.0.0 + npm-normalize-package-bin: 3.0.1 dev: true - /read-package-json@6.0.1: - resolution: {integrity: sha512-AaHqXxfAVa+fNL07x8iAghfKOds/XXsu7zoouIVsbm7PEbQ3nMWXlvjcbrNLjElnUHWQtAo4QEa0RXuvD4XlpA==} + /read-package-json@6.0.4: + resolution: {integrity: sha512-AEtWXYfopBj2z5N5PbkAOeNHRPUg5q+Nen7QLxV8M2zJq1ym6/lCz3fYNTCXe19puu2d06jfHhrP7v/S2PtMMw==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: - glob: 9.3.5 + glob: 10.3.10 json-parse-even-better-errors: 3.0.0 normalize-package-data: 5.0.0 - npm-normalize-package-bin: 3.0.0 + npm-normalize-package-bin: 3.0.1 dev: true /read-pkg-up@7.0.1: @@ -8269,7 +8662,7 @@ packages: resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==} engines: {node: '>=8'} dependencies: - '@types/normalize-package-data': 2.4.1 + '@types/normalize-package-data': 2.4.3 normalize-package-data: 2.5.0 parse-json: 5.2.0 type-fest: 0.6.0 @@ -8279,7 +8672,7 @@ packages: resolution: {integrity: sha512-X1Fu3dPuk/8ZLsMhEj5f4wFAF0DWoK7qhGJvgaijocXxBmSToKfbFtqbxMO7bVjNA1dmE5huAzjXj/ey86iw9Q==} engines: {node: '>=12'} dependencies: - '@types/normalize-package-data': 2.4.1 + '@types/normalize-package-data': 2.4.3 normalize-package-data: 3.0.3 parse-json: 5.2.0 type-fest: 1.4.0 @@ -8304,7 +8697,6 @@ packages: inherits: 2.0.4 string_decoder: 1.3.0 util-deprecate: 1.0.2 - dev: true /readdirp@3.6.0: resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} @@ -8333,8 +8725,8 @@ packages: resolution: {integrity: sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==} dev: true - /regenerate-unicode-properties@10.1.0: - resolution: {integrity: sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==} + /regenerate-unicode-properties@10.1.1: + resolution: {integrity: sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==} engines: {node: '>=4'} dependencies: regenerate: 1.4.2 @@ -8358,13 +8750,22 @@ packages: resolution: {integrity: sha512-jbD/FT0+9MBU2XAZluI7w2OBs1RBi6p9M83nkoZayQXXU9e8Robt69FcZc7wU4eJD/YFTjn1JdCk3rbMJajz8Q==} dev: true + /regexp.prototype.flags@1.5.1: + resolution: {integrity: sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + define-properties: 1.2.1 + set-function-name: 2.0.1 + dev: true + /regexpu-core@5.3.2: resolution: {integrity: sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==} engines: {node: '>=4'} dependencies: '@babel/regjsgen': 0.8.0 regenerate: 1.4.2 - regenerate-unicode-properties: 10.1.0 + regenerate-unicode-properties: 10.1.1 regjsparser: 0.9.1 unicode-match-property-ecmascript: 2.0.0 unicode-match-property-value-ecmascript: 2.1.0 @@ -8408,6 +8809,10 @@ packages: global-dirs: 0.1.1 dev: true + /resolve-pkg-maps@1.0.0: + resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} + dev: true + /resolve-url-loader@5.0.0: resolution: {integrity: sha512-uZtduh8/8srhBoMx//5bwqjQ+rfYOUq8zC9NrMUGtjBiGTtFJM42s58/36+hTqeqINcnYe08Nj3LkK9lW4N8Xg==} engines: {node: '>=12'} @@ -8423,15 +8828,19 @@ packages: resolution: {integrity: sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==} hasBin: true dependencies: - is-core-module: 2.12.0 + is-core-module: 2.13.1 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 dev: true - /response-iterator@0.2.6: - resolution: {integrity: sha512-pVzEEzrsg23Sh053rmDUvLSkGXluZio0qu8VT6ukrYuvtjVfCbDZH9d6PGXb8HZfzdNZt8feXv/jvUzlhRgLnw==} - engines: {node: '>=0.8'} - dev: false + /resolve@1.22.8: + resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} + hasBin: true + dependencies: + is-core-module: 2.13.1 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + dev: true /restore-cursor@3.1.0: resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} @@ -8467,12 +8876,19 @@ packages: glob: 7.2.3 dev: true + /ripemd160@2.0.2: + resolution: {integrity: sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==} + dependencies: + hash-base: 3.1.0 + inherits: 2.0.4 + dev: false + /rollup@3.29.4: resolution: {integrity: sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==} engines: {node: '>=14.18.0', npm: '>=8.0.0'} hasBin: true optionalDependencies: - fsevents: 2.3.2 + fsevents: 2.3.3 dev: true /run-async@2.4.1: @@ -8491,17 +8907,33 @@ packages: dependencies: tslib: 2.6.2 + /safe-array-concat@1.0.1: + resolution: {integrity: sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==} + engines: {node: '>=0.4'} + dependencies: + call-bind: 1.0.5 + get-intrinsic: 1.2.2 + has-symbols: 1.0.3 + isarray: 2.0.5 + dev: true + /safe-buffer@5.1.2: resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} dev: true /safe-buffer@5.2.1: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + + /safe-regex-test@1.0.0: + resolution: {integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==} + dependencies: + call-bind: 1.0.5 + get-intrinsic: 1.2.2 + is-regex: 1.1.4 dev: true /safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - dev: true /sass-loader@13.3.2(sass@1.64.1)(webpack@5.88.2): resolution: {integrity: sha512-CQbKl57kdEv+KDLquhC+gE3pXt74LEAzm+tzywcA0/aHZuub8wTErbjAoNI57rPUWRYRNC5WUnNl8eGJNbDdwg==} @@ -8533,12 +8965,12 @@ packages: hasBin: true dependencies: chokidar: 3.5.3 - immutable: 4.3.0 + immutable: 4.3.4 source-map-js: 1.0.2 dev: true - /sax@1.2.4: - resolution: {integrity: sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==} + /sax@1.3.0: + resolution: {integrity: sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==} requiresBuild: true dev: true optional: true @@ -8554,16 +8986,16 @@ packages: resolution: {integrity: sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==} engines: {node: '>= 10.13.0'} dependencies: - '@types/json-schema': 7.0.11 + '@types/json-schema': 7.0.14 ajv: 6.12.6 ajv-keywords: 3.5.2(ajv@6.12.6) dev: true - /schema-utils@4.0.0: - resolution: {integrity: sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==} + /schema-utils@4.2.0: + resolution: {integrity: sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==} engines: {node: '>= 12.13.0'} dependencies: - '@types/json-schema': 7.0.11 + '@types/json-schema': 7.0.14 ajv: 8.12.0 ajv-formats: 2.1.1(ajv@8.12.0) ajv-keywords: 5.1.0(ajv@8.12.0) @@ -8573,20 +9005,16 @@ packages: resolution: {integrity: sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==} dev: true - /selfsigned@2.1.1: - resolution: {integrity: sha512-GSL3aowiF7wa/WtSFwnUrludWFoNhftq8bUkH9pkzjpN2XSPOAYEgg6e0sS9s0rZwgJzJiQRPU18A6clnoW5wQ==} + /selfsigned@2.4.1: + resolution: {integrity: sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==} engines: {node: '>=10'} dependencies: + '@types/node-forge': 1.3.8 node-forge: 1.3.1 dev: true - /semver@5.7.1: - resolution: {integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==} - hasBin: true - dev: true - - /semver@6.3.0: - resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==} + /semver@5.7.2: + resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} hasBin: true dev: true @@ -8595,14 +9023,6 @@ packages: hasBin: true dev: true - /semver@7.4.0: - resolution: {integrity: sha512-RgOxM8Mw+7Zus0+zcLEUn8+JfoLpj/huFTItQy2hsM4khuC1HYRDp0cU482Ewn/Fcy6bCjufD8vAj7voC66KQw==} - engines: {node: '>=10'} - hasBin: true - dependencies: - lru-cache: 6.0.0 - dev: true - /semver@7.5.3: resolution: {integrity: sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ==} engines: {node: '>=10'} @@ -8677,6 +9097,25 @@ packages: resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} dev: true + /set-function-length@1.1.1: + resolution: {integrity: sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==} + engines: {node: '>= 0.4'} + dependencies: + define-data-property: 1.1.1 + get-intrinsic: 1.2.2 + gopd: 1.0.1 + has-property-descriptors: 1.0.1 + dev: true + + /set-function-name@2.0.1: + resolution: {integrity: sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==} + engines: {node: '>= 0.4'} + dependencies: + define-data-property: 1.1.1 + functions-have-names: 1.2.3 + has-property-descriptors: 1.0.1 + dev: true + /setprototypeof@1.1.0: resolution: {integrity: sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==} dev: true @@ -8685,6 +9124,14 @@ packages: resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} dev: true + /sha.js@2.4.11: + resolution: {integrity: sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==} + hasBin: true + dependencies: + inherits: 2.0.4 + safe-buffer: 5.2.1 + dev: false + /shallow-clone@3.0.1: resolution: {integrity: sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==} engines: {node: '>=8'} @@ -8711,9 +9158,9 @@ packages: /side-channel@1.0.4: resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.2.0 - object-inspect: 1.12.3 + call-bind: 1.0.5 + get-intrinsic: 1.2.2 + object-inspect: 1.13.1 dev: true /signal-exit@3.0.7: @@ -8734,9 +9181,8 @@ packages: '@sigstore/protobuf-specs': 0.2.1 '@sigstore/sign': 1.0.0 '@sigstore/tuf': 1.0.3 - make-fetch-happen: 11.0.3 + make-fetch-happen: 11.1.1 transitivePeerDependencies: - - bluebird - supports-color dev: true @@ -8773,8 +9219,8 @@ packages: - utf-8-validate dev: true - /socket.io-parser@4.2.2: - resolution: {integrity: sha512-DJtziuKypFkMMHCm2uIshOYC7QaylbtzQwiMYDuCKy3OPkjLzu4B2vAhTlqipRHHzrI0NJeBAizTK7X+6m1jVw==} + /socket.io-parser@4.2.4: + resolution: {integrity: sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew==} engines: {node: '>=10.0.0'} dependencies: '@socket.io/component-emitter': 3.1.0 @@ -8783,16 +9229,17 @@ packages: - supports-color dev: true - /socket.io@4.6.1: - resolution: {integrity: sha512-KMcaAi4l/8+xEjkRICl6ak8ySoxsYG+gG6/XfRCPJPQ/haCRIJBTL4wIl8YCsmtaBovcAXGLOShyVWQ/FG8GZA==} - engines: {node: '>=10.0.0'} + /socket.io@4.7.2: + resolution: {integrity: sha512-bvKVS29/I5fl2FGLNHuXlQaUH/BlzX1IN6S+NKLNZpBsPZIDH+90eQmCs2Railn4YUiww4SzUedJ6+uzwFnKLw==} + engines: {node: '>=10.2.0'} dependencies: accepts: 1.3.8 base64id: 2.0.0 + cors: 2.8.5 debug: 4.3.4 - engine.io: 6.4.1 + engine.io: 6.5.3 socket.io-adapter: 2.5.2 - socket.io-parser: 4.2.2 + socket.io-parser: 4.2.4 transitivePeerDependencies: - bufferutil - supports-color @@ -8864,7 +9311,7 @@ packages: resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} dependencies: spdx-expression-parse: 3.0.1 - spdx-license-ids: 3.0.13 + spdx-license-ids: 3.0.16 dev: true /spdx-exceptions@2.3.0: @@ -8875,11 +9322,11 @@ packages: resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} dependencies: spdx-exceptions: 2.3.0 - spdx-license-ids: 3.0.13 + spdx-license-ids: 3.0.16 dev: true - /spdx-license-ids@3.0.13: - resolution: {integrity: sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w==} + /spdx-license-ids@3.0.16: + resolution: {integrity: sha512-eWN+LnM3GR6gPu35WxNgbGl8rmY1AEmoMDvL/QD6zYmPWgywxWqJWNdLGT+ke8dKNWrcYgYjPpG5gbTfghP8rw==} dev: true /spdy-transport@3.0.0: @@ -8918,11 +9365,11 @@ packages: resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} dev: true - /ssri@10.0.3: - resolution: {integrity: sha512-lJtX/BFPI/VEtxZmLfeh7pzisIs6micwZ3eruD3+ds9aPsXKlYpwDS2Q7omD6WC42WO9+bnUSzlMmfv8uK8meg==} + /ssri@10.0.5: + resolution: {integrity: sha512-bSf16tAFkGeRlUNDjXu8FzaMQt6g2HZJrun7mtMbIPOddxt3GLMSz5VWUWcqTJUPfLEaDIepGxv+bYQW49596A==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: - minipass: 4.2.8 + minipass: 7.0.4 dev: true /ssri@9.0.1: @@ -8942,6 +9389,13 @@ packages: engines: {node: '>= 0.8'} dev: true + /stream-browserify@3.0.0: + resolution: {integrity: sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA==} + dependencies: + inherits: 2.0.4 + readable-stream: 3.6.2 + dev: false + /streamroller@3.1.5: resolution: {integrity: sha512-KFxaM7XT+irxvdqSP1LGLgNWbYN7ay5owZ3r/8t77p+EtSUAfUgtl7be3xtqtOmGUl9K9YPO2ca8133RlTjvKw==} engines: {node: '>=8.0'} @@ -8962,6 +9416,40 @@ packages: strip-ansi: 6.0.1 dev: true + /string-width@5.1.2: + resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} + engines: {node: '>=12'} + dependencies: + eastasianwidth: 0.2.0 + emoji-regex: 9.2.2 + strip-ansi: 7.1.0 + dev: true + + /string.prototype.trim@1.2.8: + resolution: {integrity: sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 + dev: true + + /string.prototype.trimend@1.0.7: + resolution: {integrity: sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==} + dependencies: + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 + dev: true + + /string.prototype.trimstart@1.0.7: + resolution: {integrity: sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==} + dependencies: + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 + dev: true + /string_decoder@1.1.1: resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} dependencies: @@ -8972,7 +9460,6 @@ packages: resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} dependencies: safe-buffer: 5.2.1 - dev: true /strip-ansi@6.0.1: resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} @@ -8981,6 +9468,13 @@ packages: ansi-regex: 5.0.1 dev: true + /strip-ansi@7.1.0: + resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} + engines: {node: '>=12'} + dependencies: + ansi-regex: 6.0.1 + dev: true + /strip-bom@3.0.0: resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} engines: {node: '>=4'} @@ -9024,7 +9518,7 @@ packages: resolution: {integrity: sha512-Dj1Okke1C3uKKwQcetra4jSuk0DqbzbYtXipzFlFMZtowbF1x7BKJwB9AayVMyFARvU8EDrZdcax4At/452cAg==} dev: true - /stylelint-config-recommended-scss@10.0.0(postcss@8.4.31)(stylelint@15.10.3): + /stylelint-config-recommended-scss@10.0.0(postcss@8.4.31)(stylelint@15.11.0): resolution: {integrity: sha512-+YvPgUHi0W5mCJCKdupBCIsWPYNbWuJcRmFtSYujwNg+41ljFknhO9bpY6C+oahv659zW7W1AT7i6DQvJYYr1A==} peerDependencies: postcss: ^8.3.3 @@ -9034,21 +9528,21 @@ packages: optional: true dependencies: postcss: 8.4.31 - postcss-scss: 4.0.6(postcss@8.4.31) - stylelint: 15.10.3(typescript@4.9.5) - stylelint-config-recommended: 11.0.0(stylelint@15.10.3) - stylelint-scss: 4.7.0(stylelint@15.10.3) + postcss-scss: 4.0.9(postcss@8.4.31) + stylelint: 15.11.0(typescript@5.1.6) + stylelint-config-recommended: 11.0.0(stylelint@15.11.0) + stylelint-scss: 4.7.0(stylelint@15.11.0) dev: true - /stylelint-config-recommended@11.0.0(stylelint@15.10.3): + /stylelint-config-recommended@11.0.0(stylelint@15.11.0): resolution: {integrity: sha512-SoGIHNI748OCZn6BxFYT83ytWoYETCINVHV3LKScVAWQQauWdvmdDqJC5YXWjpBbxg2E761Tg5aUGKLFOVhEkA==} peerDependencies: stylelint: ^15.3.0 dependencies: - stylelint: 15.10.3(typescript@4.9.5) + stylelint: 15.11.0(typescript@5.1.6) dev: true - /stylelint-config-standard-scss@8.0.0(postcss@8.4.31)(stylelint@15.10.3): + /stylelint-config-standard-scss@8.0.0(postcss@8.4.31)(stylelint@15.11.0): resolution: {integrity: sha512-TDT/gJD/0LUDoUgkjF1uoI/4DfczXHxg7gJVcWT4/JbE6k5hszVuI14reNX+tEwSyMNhcK2BA7izrK+uVAz7XA==} peerDependencies: postcss: ^8.3.3 @@ -9058,34 +9552,34 @@ packages: optional: true dependencies: postcss: 8.4.31 - stylelint: 15.10.3(typescript@4.9.5) - stylelint-config-recommended-scss: 10.0.0(postcss@8.4.31)(stylelint@15.10.3) - stylelint-config-standard: 32.0.0(stylelint@15.10.3) + stylelint: 15.11.0(typescript@5.1.6) + stylelint-config-recommended-scss: 10.0.0(postcss@8.4.31)(stylelint@15.11.0) + stylelint-config-standard: 32.0.0(stylelint@15.11.0) dev: true - /stylelint-config-standard@32.0.0(stylelint@15.10.3): + /stylelint-config-standard@32.0.0(stylelint@15.11.0): resolution: {integrity: sha512-UnGJxYDyYFrIE9CjDMZRkrNh2o4lOtO+MVZ9qG5b8yARfsWho0GMx4YvhHfsv8zKKgHeWX2wfeyxmuoqcaYZ4w==} peerDependencies: stylelint: ^15.4.0 dependencies: - stylelint: 15.10.3(typescript@4.9.5) - stylelint-config-recommended: 11.0.0(stylelint@15.10.3) + stylelint: 15.11.0(typescript@5.1.6) + stylelint-config-recommended: 11.0.0(stylelint@15.11.0) dev: true - /stylelint-scss@4.7.0(stylelint@15.10.3): + /stylelint-scss@4.7.0(stylelint@15.11.0): resolution: {integrity: sha512-TSUgIeS0H3jqDZnby1UO1Qv3poi1N8wUYIJY6D1tuUq2MN3lwp/rITVo0wD+1SWTmRm0tNmGO0b7nKInnqF6Hg==} peerDependencies: stylelint: ^14.5.1 || ^15.0.0 dependencies: postcss-media-query-parser: 0.2.3 postcss-resolve-nested-selector: 0.1.1 - postcss-selector-parser: 6.0.11 + postcss-selector-parser: 6.0.13 postcss-value-parser: 4.2.0 - stylelint: 15.10.3(typescript@4.9.5) + stylelint: 15.11.0(typescript@5.1.6) dev: true - /stylelint@15.10.3(typescript@4.9.5): - resolution: {integrity: sha512-aBQMMxYvFzJJwkmg+BUUg3YfPyeuCuKo2f+LOw7yYbU8AZMblibwzp9OV4srHVeQldxvSFdz0/Xu8blq2AesiA==} + /stylelint@15.11.0(typescript@5.1.6): + resolution: {integrity: sha512-78O4c6IswZ9TzpcIiQJIN49K3qNoXTM8zEJzhaTE/xRTCZswaovSEVIa/uwbOltZrk16X4jAxjaOhzz/hTm1Kw==} engines: {node: ^14.13.1 || >=16.0.0} hasBin: true dependencies: @@ -9095,13 +9589,13 @@ packages: '@csstools/selector-specificity': 3.0.0(postcss-selector-parser@6.0.13) balanced-match: 2.0.0 colord: 2.9.3 - cosmiconfig: 8.3.6(typescript@4.9.5) - css-functions-list: 3.2.0 + cosmiconfig: 8.3.6(typescript@5.1.6) + css-functions-list: 3.2.1 css-tree: 2.3.1 debug: 4.3.4 fast-glob: 3.3.1 fastest-levenshtein: 1.0.16 - file-entry-cache: 6.0.1 + file-entry-cache: 7.0.1 global-modules: 2.0.0 globby: 11.1.0 globjoin: 0.1.4 @@ -9110,7 +9604,7 @@ packages: import-lazy: 4.0.0 imurmurhash: 0.1.4 is-plain-object: 5.0.0 - known-css-properties: 0.28.0 + known-css-properties: 0.29.0 mathml-tag-names: 2.1.3 meow: 10.1.5 micromatch: 4.0.5 @@ -9175,6 +9669,7 @@ packages: /symbol-observable@4.0.0: resolution: {integrity: sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ==} engines: {node: '>=0.10'} + dev: true /symbol-tree@3.2.4: resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} @@ -9216,20 +9711,20 @@ packages: readable-stream: 3.6.2 dev: true - /tar@6.1.13: - resolution: {integrity: sha512-jdIBIN6LTIe2jqzay/2vtYLlBHa3JF42ot3h1dW8Q0PaAG4v8rm0cvpVePtau5C6OKXGGcgO9q2AMNSWxiLqKw==} + /tar@6.2.0: + resolution: {integrity: sha512-/Wo7DcT0u5HUV486xg675HtjNd3BXZ6xDbzsCUZPt5iw8bTQ63bP0Raut3mvro9u+CUyq7YQd8Cx55fsZXxqLQ==} engines: {node: '>=10'} dependencies: chownr: 2.0.0 fs-minipass: 2.1.0 - minipass: 4.2.8 + minipass: 5.0.0 minizlib: 2.1.2 mkdirp: 1.0.4 yallist: 4.0.0 dev: true - /terser-webpack-plugin@5.3.7(esbuild@0.18.17)(webpack@5.88.2): - resolution: {integrity: sha512-AfKwIktyP7Cu50xNjXF/6Qb5lBNzYaWpU6YfoX3uZicTx0zTy0stDDCsvjDapKsSDvOeWo5MEq4TmdBy2cNoHw==} + /terser-webpack-plugin@5.3.9(esbuild@0.18.17)(webpack@5.88.2): + resolution: {integrity: sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==} engines: {node: '>= 10.13.0'} peerDependencies: '@swc/core': '*' @@ -9244,7 +9739,7 @@ packages: uglify-js: optional: true dependencies: - '@jridgewell/trace-mapping': 0.3.18 + '@jridgewell/trace-mapping': 0.3.20 esbuild: 0.18.17 jest-worker: 27.5.1 schema-utils: 3.3.0 @@ -9253,13 +9748,37 @@ packages: webpack: 5.88.2(esbuild@0.18.17) dev: true + /terser-webpack-plugin@5.3.9(webpack@5.88.2): + resolution: {integrity: sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==} + engines: {node: '>= 10.13.0'} + peerDependencies: + '@swc/core': '*' + esbuild: '*' + uglify-js: '*' + webpack: ^5.1.0 + peerDependenciesMeta: + '@swc/core': + optional: true + esbuild: + optional: true + uglify-js: + optional: true + dependencies: + '@jridgewell/trace-mapping': 0.3.20 + jest-worker: 27.5.1 + schema-utils: 3.3.0 + serialize-javascript: 6.0.1 + terser: 5.19.2 + webpack: 5.88.2 + dev: true + /terser@5.19.2: resolution: {integrity: sha512-qC5+dmecKJA4cpYxRa5aVkKehYsQKc+AHeKl0Oe62aYjBL8ZA33tTljktDHJSaxxMnbI5ZYw+o/S2DxxLu8OfA==} engines: {node: '>=10'} hasBin: true dependencies: - '@jridgewell/source-map': 0.3.3 - acorn: 8.8.2 + '@jridgewell/source-map': 0.3.5 + acorn: 8.11.2 commander: 2.20.3 source-map-support: 0.5.21 dev: true @@ -9363,14 +9882,7 @@ packages: engines: {node: '>=12'} dev: true - /ts-invariant@0.10.3: - resolution: {integrity: sha512-uivwYcQaxAucv1CzRp2n/QdYPo4ILf9VXgH19zEIjFx2EJufV16P0JtJVpYHy89DItG6Kwj2oIUjrcK5au+4tQ==} - engines: {node: '>=8'} - dependencies: - tslib: 2.6.2 - dev: false - - /ts-node@10.9.1(@types/node@18.18.5)(typescript@4.9.5): + /ts-node@10.9.1(@types/node@18.18.7)(typescript@5.1.6): resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} hasBin: true peerDependencies: @@ -9389,18 +9901,27 @@ packages: '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 18.18.5 - acorn: 8.8.2 - acorn-walk: 8.2.0 + '@types/node': 18.18.7 + acorn: 8.11.2 + acorn-walk: 8.3.0 arg: 4.1.3 create-require: 1.1.1 diff: 4.0.2 make-error: 1.3.6 - typescript: 4.9.5 + typescript: 5.1.6 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 dev: true + /tsconfig-paths@3.14.2: + resolution: {integrity: sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==} + dependencies: + '@types/json5': 0.0.29 + json5: 1.0.2 + minimist: 1.2.8 + strip-bom: 3.0.0 + dev: true + /tsconfig-paths@4.2.0: resolution: {integrity: sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==} engines: {node: '>=6'} @@ -9421,14 +9942,14 @@ packages: /tslib@2.6.2: resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} - /tsutils@3.21.0(typescript@4.9.5): + /tsutils@3.21.0(typescript@5.1.6): resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} engines: {node: '>= 6'} peerDependencies: typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' dependencies: tslib: 1.14.1 - typescript: 4.9.5 + typescript: 5.1.6 dev: true /tuf-js@1.1.7: @@ -9439,7 +9960,6 @@ packages: debug: 4.3.4 make-fetch-happen: 11.1.1 transitivePeerDependencies: - - bluebird - supports-color dev: true @@ -9480,6 +10000,11 @@ packages: engines: {node: '>=10'} dev: true + /type-fest@4.6.0: + resolution: {integrity: sha512-rLjWJzQFOq4xw7MgJrCZ6T1jIOvvYElXT12r+y0CC6u67hegDHaxcPqb2fZHOGlqxugGQPNB1EnTezjBetkwkw==} + engines: {node: '>=16'} + dev: false + /type-is@1.6.18: resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} engines: {node: '>= 0.6'} @@ -9488,18 +10013,71 @@ packages: mime-types: 2.1.35 dev: true + /typed-array-buffer@1.0.0: + resolution: {integrity: sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + get-intrinsic: 1.2.2 + is-typed-array: 1.1.12 + dev: true + + /typed-array-byte-length@1.0.0: + resolution: {integrity: sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + for-each: 0.3.3 + has-proto: 1.0.1 + is-typed-array: 1.1.12 + dev: true + + /typed-array-byte-offset@1.0.0: + resolution: {integrity: sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==} + engines: {node: '>= 0.4'} + dependencies: + available-typed-arrays: 1.0.5 + call-bind: 1.0.5 + for-each: 0.3.3 + has-proto: 1.0.1 + is-typed-array: 1.1.12 + dev: true + + /typed-array-length@1.0.4: + resolution: {integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==} + dependencies: + call-bind: 1.0.5 + for-each: 0.3.3 + is-typed-array: 1.1.12 + dev: true + /typed-assert@1.0.9: resolution: {integrity: sha512-KNNZtayBCtmnNmbo5mG47p1XsCyrx6iVqomjcZnec/1Y5GGARaxPs6r49RnSPeUP3YjNYiU9sQHAtY4BBvnZwg==} dev: true - /typescript@4.9.5: - resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==} - engines: {node: '>=4.2.0'} + /typescript@5.1.6: + resolution: {integrity: sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA==} + engines: {node: '>=14.17'} + hasBin: true + dev: true + + /typescript@5.2.2: + resolution: {integrity: sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==} + engines: {node: '>=14.17'} hasBin: true dev: true - /ua-parser-js@0.7.35: - resolution: {integrity: sha512-veRf7dawaj9xaWEu9HoTVn5Pggtc/qj+kqTOFvNiN1l0YdxwC1kvel57UCjThjGa3BHBihE8/UJAHI+uQHmd/g==} + /ua-parser-js@0.7.37: + resolution: {integrity: sha512-xV8kqRKM+jhMvcHWUKthV9fNebIzrNy//2O9ZwWcfiBFR5f25XVZPLlEajk/sf3Ra15V92isyQqnIEXRDaZWEA==} + dev: true + + /unbox-primitive@1.0.2: + resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} + dependencies: + call-bind: 1.0.5 + has-bigints: 1.0.2 + has-symbols: 1.0.3 + which-boxed-primitive: 1.0.2 dev: true /unbzip2-stream@1.4.3: @@ -9509,6 +10087,10 @@ packages: through: 2.3.8 dev: true + /undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + dev: true + /unicode-canonical-property-names-ecmascript@2.0.0: resolution: {integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==} engines: {node: '>=4'} @@ -9580,17 +10162,6 @@ packages: engines: {node: '>= 0.8'} dev: true - /update-browserslist-db@1.0.10(browserslist@4.21.5): - resolution: {integrity: sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==} - hasBin: true - peerDependencies: - browserslist: '>= 4.21.0' - dependencies: - browserslist: 4.21.5 - escalade: 3.1.1 - picocolors: 1.0.0 - dev: true - /update-browserslist-db@1.0.13(browserslist@4.22.1): resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} hasBin: true @@ -9617,7 +10188,6 @@ packages: /util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} - dev: true /utils-merge@1.0.1: resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} @@ -9656,7 +10226,7 @@ packages: engines: {node: '>= 0.8'} dev: true - /vite@4.4.7(@types/node@18.18.5)(less@4.1.3)(sass@1.64.1)(terser@5.19.2): + /vite@4.4.7(@types/node@18.18.7)(less@4.1.3)(sass@1.64.1)(terser@5.19.2): resolution: {integrity: sha512-6pYf9QJ1mHylfVh39HpuSfMPojPSKVxZvnclX1K1FyZ1PXDOcLBibdq5t1qxJSnL63ca8Wf4zts6mD8u8oc9Fw==} engines: {node: ^14.18.0 || >=16.0.0} hasBin: true @@ -9684,7 +10254,7 @@ packages: terser: optional: true dependencies: - '@types/node': 18.18.5 + '@types/node': 18.18.7 esbuild: 0.18.17 less: 4.1.3 postcss: 8.4.31 @@ -9692,7 +10262,7 @@ packages: sass: 1.64.1 terser: 5.19.2 optionalDependencies: - fsevents: 2.3.2 + fsevents: 2.3.3 dev: true /void-elements@2.0.1: @@ -9754,12 +10324,12 @@ packages: peerDependencies: webpack: ^4.0.0 || ^5.0.0 dependencies: - colorette: 2.0.19 - memfs: 3.5.0 + colorette: 2.0.20 + memfs: 3.5.3 mime-types: 2.1.35 range-parser: 1.2.1 - schema-utils: 4.0.0 - webpack: 5.88.2(esbuild@0.18.17) + schema-utils: 4.2.0 + webpack: 5.88.2 dev: true /webpack-dev-middleware@6.1.1(webpack@5.88.2): @@ -9771,11 +10341,11 @@ packages: webpack: optional: true dependencies: - colorette: 2.0.19 - memfs: 3.5.0 + colorette: 2.0.20 + memfs: 3.5.3 mime-types: 2.1.35 range-parser: 1.2.1 - schema-utils: 4.0.0 + schema-utils: 4.2.0 webpack: 5.88.2(esbuild@0.18.17) dev: true @@ -9792,37 +10362,37 @@ packages: webpack-cli: optional: true dependencies: - '@types/bonjour': 3.5.10 - '@types/connect-history-api-fallback': 1.3.5 - '@types/express': 4.17.17 - '@types/serve-index': 1.9.1 - '@types/serve-static': 1.15.1 - '@types/sockjs': 0.3.33 - '@types/ws': 8.5.7 + '@types/bonjour': 3.5.12 + '@types/connect-history-api-fallback': 1.5.2 + '@types/express': 4.17.20 + '@types/serve-index': 1.9.3 + '@types/serve-static': 1.15.4 + '@types/sockjs': 0.3.35 + '@types/ws': 8.5.8 ansi-html-community: 0.0.8 bonjour-service: 1.1.1 chokidar: 3.5.3 - colorette: 2.0.19 + colorette: 2.0.20 compression: 1.7.4 connect-history-api-fallback: 2.0.0 default-gateway: 6.0.3 express: 4.18.2 graceful-fs: 4.2.11 - html-entities: 2.3.3 - http-proxy-middleware: 2.0.6(@types/express@4.17.17) - ipaddr.js: 2.0.1 + html-entities: 2.4.0 + http-proxy-middleware: 2.0.6(@types/express@4.17.20) + ipaddr.js: 2.1.0 launch-editor: 2.6.1 open: 8.4.2 p-retry: 4.6.2 rimraf: 3.0.2 - schema-utils: 4.0.0 - selfsigned: 2.1.1 + schema-utils: 4.2.0 + selfsigned: 2.4.1 serve-index: 1.9.1 sockjs: 0.3.24 spdy: 4.0.2 - webpack: 5.88.2(esbuild@0.18.17) + webpack: 5.88.2 webpack-dev-middleware: 5.3.3(webpack@5.88.2) - ws: 8.13.0 + ws: 8.14.2 transitivePeerDependencies: - bufferutil - debug @@ -9835,7 +10405,7 @@ packages: engines: {node: '>=10.0.0'} dependencies: clone-deep: 4.0.1 - wildcard: 2.0.0 + wildcard: 2.0.1 dev: true /webpack-sources@3.2.3: @@ -9857,6 +10427,46 @@ packages: webpack: 5.88.2(esbuild@0.18.17) dev: true + /webpack@5.88.2: + resolution: {integrity: sha512-JmcgNZ1iKj+aiR0OvTYtWQqJwq37Pf683dY9bVORwVbUrDhLhdn/PlO2sHsFHPkj7sHNQF3JwaAkp49V+Sq1tQ==} + engines: {node: '>=10.13.0'} + hasBin: true + peerDependencies: + webpack-cli: '*' + peerDependenciesMeta: + webpack-cli: + optional: true + dependencies: + '@types/eslint-scope': 3.7.6 + '@types/estree': 1.0.3 + '@webassemblyjs/ast': 1.11.6 + '@webassemblyjs/wasm-edit': 1.11.6 + '@webassemblyjs/wasm-parser': 1.11.6 + acorn: 8.11.2 + acorn-import-assertions: 1.9.0(acorn@8.11.2) + browserslist: 4.22.1 + chrome-trace-event: 1.0.3 + enhanced-resolve: 5.15.0 + es-module-lexer: 1.3.1 + eslint-scope: 5.1.1 + events: 3.3.0 + glob-to-regexp: 0.4.1 + graceful-fs: 4.2.11 + json-parse-even-better-errors: 2.3.1 + loader-runner: 4.3.0 + mime-types: 2.1.35 + neo-async: 2.6.2 + schema-utils: 3.3.0 + tapable: 2.2.1 + terser-webpack-plugin: 5.3.9(webpack@5.88.2) + watchpack: 2.4.0 + webpack-sources: 3.2.3 + transitivePeerDependencies: + - '@swc/core' + - esbuild + - uglify-js + dev: true + /webpack@5.88.2(esbuild@0.18.17): resolution: {integrity: sha512-JmcgNZ1iKj+aiR0OvTYtWQqJwq37Pf683dY9bVORwVbUrDhLhdn/PlO2sHsFHPkj7sHNQF3JwaAkp49V+Sq1tQ==} engines: {node: '>=10.13.0'} @@ -9867,14 +10477,14 @@ packages: webpack-cli: optional: true dependencies: - '@types/eslint-scope': 3.7.4 - '@types/estree': 1.0.2 + '@types/eslint-scope': 3.7.6 + '@types/estree': 1.0.3 '@webassemblyjs/ast': 1.11.6 '@webassemblyjs/wasm-edit': 1.11.6 '@webassemblyjs/wasm-parser': 1.11.6 - acorn: 8.8.2 - acorn-import-assertions: 1.9.0(acorn@8.8.2) - browserslist: 4.21.5 + acorn: 8.11.2 + acorn-import-assertions: 1.9.0(acorn@8.11.2) + browserslist: 4.22.1 chrome-trace-event: 1.0.3 enhanced-resolve: 5.15.0 es-module-lexer: 1.3.1 @@ -9888,7 +10498,7 @@ packages: neo-async: 2.6.2 schema-utils: 3.3.0 tapable: 2.2.1 - terser-webpack-plugin: 5.3.7(esbuild@0.18.17)(webpack@5.88.2) + terser-webpack-plugin: 5.3.9(esbuild@0.18.17)(webpack@5.88.2) watchpack: 2.4.0 webpack-sources: 3.2.3 transitivePeerDependencies: @@ -9937,6 +10547,27 @@ packages: webidl-conversions: 6.1.0 dev: true + /which-boxed-primitive@1.0.2: + resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} + dependencies: + is-bigint: 1.0.4 + is-boolean-object: 1.1.2 + is-number-object: 1.0.7 + is-string: 1.0.7 + is-symbol: 1.0.4 + dev: true + + /which-typed-array@1.1.13: + resolution: {integrity: sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==} + engines: {node: '>= 0.4'} + dependencies: + available-typed-arrays: 1.0.5 + call-bind: 1.0.5 + for-each: 0.3.3 + gopd: 1.0.1 + has-tostringtag: 1.0.0 + dev: true + /which@1.3.1: resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} hasBin: true @@ -9952,8 +10583,8 @@ packages: isexe: 2.0.0 dev: true - /which@3.0.0: - resolution: {integrity: sha512-nla//68K9NU6yRiwDY/Q8aU6siKlSs64aEC7+IV56QoAuyQT2ovsJcgGYGyqMOmI/CGN1BOR6mM5EN0FBO+zyQ==} + /which@3.0.1: + resolution: {integrity: sha512-XA1b62dzQzLfaEOSQFTCOd5KFf/1VSzZo7/7TUjnya6u0vGGKzU96UQBZTAThCb2j4/xjBAyii1OhRLJEivHvg==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} hasBin: true dependencies: @@ -9966,8 +10597,8 @@ packages: string-width: 4.2.3 dev: true - /wildcard@2.0.0: - resolution: {integrity: sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==} + /wildcard@2.0.1: + resolution: {integrity: sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==} dev: true /wrap-ansi@7.0.0: @@ -9979,6 +10610,15 @@ packages: strip-ansi: 6.0.1 dev: true + /wrap-ansi@8.1.0: + resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} + engines: {node: '>=12'} + dependencies: + ansi-styles: 6.2.1 + string-width: 5.1.2 + strip-ansi: 7.1.0 + dev: true + /wrappy@1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} dev: true @@ -10030,6 +10670,19 @@ packages: optional: true dev: true + /ws@8.14.2: + resolution: {integrity: sha512-wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + dev: true + /xml-name-validator@3.0.0: resolution: {integrity: sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==} dev: true @@ -10122,17 +10775,14 @@ packages: engines: {node: '>=12.20'} dev: true - /zen-observable-ts@1.2.5: - resolution: {integrity: sha512-QZWQekv6iB72Naeake9hS1KxHlotfRpe+WGNbNx5/ta+R3DNjVO2bswf63gXlWDcs+EMd7XY8HfVQyP1X6T4Zg==} - dependencies: - zen-observable: 0.8.15 - dev: false - - /zen-observable@0.8.15: - resolution: {integrity: sha512-PQ2PC7R9rslx84ndNBZB/Dkv8V8fZEpk83RLgXtYd0fwUgEjseMn1Dgajh2x6S8QbZAFa9p2qVCEuYZNgve0dQ==} - dev: false - /zone.js@0.13.3: resolution: {integrity: sha512-MKPbmZie6fASC/ps4dkmIhaT5eonHkEt6eAy80K42tAm0G2W+AahLJjbfi6X9NPdciOE9GRFTTM8u2IiF6O3ww==} dependencies: tslib: 2.6.2 + + file:src/exported: + resolution: {directory: src/exported, type: directory} + name: '@ae_utbm/typings' + dependencies: + type-fest: 4.6.0 + dev: false diff --git a/src/app-routing.module.ts b/src/app-routing.module.ts new file mode 100644 index 0000000..51b9d3d --- /dev/null +++ b/src/app-routing.module.ts @@ -0,0 +1,90 @@ +import { NgModule, inject } from '@angular/core'; +import { ActivatedRouteSnapshot, RouterModule, Routes } from '@angular/router'; + +import { NotFoundComponent } from '@pages/404/not-found.component'; +import { ForgotPasswordComponent } from '@pages/forgot_password/forgot_password.component'; +import { HomeComponent } from '@pages/home/home.component'; +import { LoginComponent } from '@pages/login/login.component'; +import { RegisterComponent } from '@pages/register/register.component'; +import { UserPaymentsComponent } from '@pages/user/payments/payments.component'; +import { UserPicturesComponent } from '@pages/user/pictures/pictures.component'; +import { UserProfileComponent } from '@pages/user/profile/profile.component'; +import { UsersComponent } from '@pages/user/users.component'; +// import { UsersComponent } from '@pages/user/users.component'; +// import { UserPermissionService } from '@services/user-permissions.service'; +// import { UserService } from '@services/user.service'; + +const routes: Routes = [ + { + path: '', + redirectTo: '/home', + pathMatch: 'full', + }, + { + path: 'home', + component: HomeComponent, + }, + { + path: '404', + component: NotFoundComponent, + }, + { + path: 'login', + // canActivate: [() => !inject(UserService).isLoggedIn], + component: LoginComponent, + }, + { + path: 'register', + // canActivate: [() => !inject(UserService).isLoggedIn], + component: RegisterComponent, + }, + { + path: 'forgot_password', + // canActivate: [() => !inject(UserService).isLoggedIn], + component: ForgotPasswordComponent, + }, + { + path: 'users', + // canActivate: [() => inject(UserService).isLoggedIn], + children: [ + { + path: '', + component: UsersComponent, + pathMatch: 'full', + }, + { + path: ':id', + children: [ + { + path: '', + component: UserProfileComponent, + pathMatch: 'full', + }, + { + path: 'pictures', + component: UserPicturesComponent, + }, + { + path: 'payments', + component: UserPaymentsComponent, + // canActivate: [ + // (route: ActivatedRouteSnapshot) => + // inject(UserPermissionService).canReadPrivateUser(parseInt(route.params['id'], 10)), + // ], + }, + ], + }, + ], + }, + { + path: '**', + redirectTo: '404', + pathMatch: 'full', + }, +]; + +@NgModule({ + imports: [RouterModule.forRoot(routes)], + exports: [RouterModule], +}) +export class AppRoutingModule {} diff --git a/src/app.component.html b/src/app.component.html new file mode 100644 index 0000000..05c7adc --- /dev/null +++ b/src/app.component.html @@ -0,0 +1,19 @@ +
+ + + +
+ + + +
+ + +
+
+ +{{ page.theme }}
+{{ page.theme_event.theme }} {{ page.theme_event.last_update }} {{ page.theme_event.disabled }}
+{{ page.lang }} {{ page.isRTL() }}
+{{ page.logo }}
+{{ page.isMobile() }} {{ page.headless }} diff --git a/src/app/app.component.scss b/src/app.component.scss similarity index 100% rename from src/app/app.component.scss rename to src/app.component.scss diff --git a/src/app/app.component.ts b/src/app.component.ts similarity index 56% rename from src/app/app.component.ts rename to src/app.component.ts index c91967c..1bfd8e0 100644 --- a/src/app/app.component.ts +++ b/src/app.component.ts @@ -1,16 +1,15 @@ -import { Component, Inject, OnInit } from '@angular/core'; import { DOCUMENT } from '@angular/common'; +import { Component, Inject, OnInit } from '@angular/core'; import { TranslateService } from '@ngx-translate/core'; -import { getLanguage, getLanguageDirection } from 'src/utils'; -import { getTheme, setTheme, watchAutoTheme } from 'src/utils/theme'; -import { PageService } from './services/page.service'; + +import { PageService } from '@services/page.service'; @Component({ selector: 'sith-root', templateUrl: './app.component.html', - styleUrls: ['./app.component.scss'], + styleUrls: [], }) -export class AppComponent implements OnInit { +export class AppComponent { public title = 'sith4'; public alerts = { all: [], @@ -21,10 +20,4 @@ export class AppComponent implements OnInit { @Inject(PageService) public readonly page: PageService, @Inject(DOCUMENT) public readonly document: Document, ) {} - - public ngOnInit(): void { - this.page.detectLanguage(); - this.page.detectTheme(); - this.page.detectFontSize(); - } } diff --git a/src/app/app.module.ts b/src/app.module.ts similarity index 74% rename from src/app/app.module.ts rename to src/app.module.ts index fb594c7..b92f4d1 100644 --- a/src/app/app.module.ts +++ b/src/app.module.ts @@ -1,17 +1,16 @@ +import { HttpClient, HttpClientModule } from '@angular/common/http'; import { NgModule } from '@angular/core'; import { BrowserModule } from '@angular/platform-browser'; +import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; import { NgHcaptchaModule } from 'ng-hcaptcha'; +import { ComponentsModule } from '@components/components.module'; +import { environment } from '@environments/environment.dev'; +import { PagesModule } from '@pages/pages.module'; +import { HttpLoaderFactory } from '@utils/i18n'; + import { AppRoutingModule } from './app-routing.module'; import { AppComponent } from './app.component'; -import { HttpClient, HttpClientModule } from '@angular/common/http'; -import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; -import { HttpLoaderFactory } from 'src/utils'; - -import { environment } from 'src/environments/environment.dev'; -import { GraphQLModule } from './graphql.module'; -import { PagesModule } from './pages/pages.module'; -import { ComponentsModule } from './components/components.module'; @NgModule({ declarations: [AppComponent], @@ -32,7 +31,6 @@ import { ComponentsModule } from './components/components.module'; NgHcaptchaModule.forRoot({ siteKey: environment.HCAPTCHA_SITE_KEY, }), - GraphQLModule, ], providers: [], bootstrap: [AppComponent], diff --git a/src/app/app-routing.module.ts b/src/app/app-routing.module.ts deleted file mode 100644 index a6bc4cb..0000000 --- a/src/app/app-routing.module.ts +++ /dev/null @@ -1,88 +0,0 @@ -import { NgModule, inject } from '@angular/core'; -import { ActivatedRouteSnapshot, RouterModule, Routes } from '@angular/router'; -import { NotFoundComponent } from './pages/404/not-found.component'; -import { HomeComponent } from './pages/home/home.component'; -import { LoginComponent } from './pages/login/login.component'; -import { RegisterComponent } from './pages/register/register.component'; -import { ForgotPasswordComponent } from './pages/forgot_password/forgot_password.component'; -import { UserPaymentsComponent } from './pages/user/payments/payments.component'; -import { UserPicturesComponent } from './pages/user/pictures/pictures.component'; -import { UserProfileComponent } from './pages/user/profile/profile.component'; -import { UserService } from './services/user.service'; -import { UserPermissionService } from './services/user-permissions.service'; -import { UsersComponent } from './pages/user/users.component'; - -const routes: Routes = [ - { - path: '', - redirectTo: '/home', - pathMatch: 'full', - }, - { - path: 'home', - component: HomeComponent, - }, - { - path: '404', - component: NotFoundComponent, - }, - { - path: 'login', - canActivate: [() => !inject(UserService).isLoggedIn], - component: LoginComponent, - }, - { - path: 'register', - canActivate: [() => !inject(UserService).isLoggedIn], - component: RegisterComponent, - }, - { - path: 'forgot_password', - canActivate: [() => !inject(UserService).isLoggedIn], - component: ForgotPasswordComponent, - }, - { - path: 'users', - canActivate: [() => inject(UserService).isLoggedIn], - children: [ - { - path: '', - component: UsersComponent, - pathMatch: 'full', - }, - { - path: ':id', - children: [ - { - path: '', - component: UserProfileComponent, - pathMatch: 'full', - }, - { - path: 'pictures', - component: UserPicturesComponent, - }, - { - path: 'payments', - component: UserPaymentsComponent, - canActivate: [ - (route: ActivatedRouteSnapshot) => - inject(UserPermissionService).canReadPrivateUser(parseInt(route.params['id'], 10)), - ], - }, - ], - }, - ], - }, - { - path: '**', - redirectTo: '404', - pathMatch: 'full', - }, -]; - -@NgModule({ - imports: [RouterModule.forRoot(routes)], - exports: [RouterModule], -}) -export class AppRoutingModule {} diff --git a/src/app/app.component.html b/src/app/app.component.html deleted file mode 100644 index f9b557f..0000000 --- a/src/app/app.component.html +++ /dev/null @@ -1,15 +0,0 @@ -
- - -
- - -
-
- -
- - - - -
diff --git a/src/app/app.component.spec.ts b/src/app/app.component.spec.ts deleted file mode 100644 index ae89119..0000000 --- a/src/app/app.component.spec.ts +++ /dev/null @@ -1,50 +0,0 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; -import { TranslateLoader, TranslateModule, TranslateService } from '@ngx-translate/core'; -import { AppComponent } from './app.component'; -import { ComponentsModule } from './components/components.module'; -import { HttpClientModule, HttpClient } from '@angular/common/http'; -import { BrowserModule } from '@angular/platform-browser'; -import { AppRoutingModule } from './app-routing.module'; -import { HttpLoaderFactory } from 'src/utils'; -import { UserService } from './services/user.service'; -import { PageService } from './services/page.service'; -import { DesktopComponentsModule } from './components/desktop/desktop.module'; -import { MobileComponentsModule } from './components/mobile/mobile.module'; - -describe('AppComponent', () => { - let component: AppComponent; - let fixture: ComponentFixture; - - beforeEach(async () => { - await TestBed.configureTestingModule({ - declarations: [AppComponent], - imports: [ - AppRoutingModule, - BrowserModule, - ComponentsModule, - DesktopComponentsModule, - MobileComponentsModule, - HttpClientModule, - TranslateModule.forRoot({ - defaultLanguage: 'en-US', - loader: { - provide: TranslateLoader, - useFactory: HttpLoaderFactory, - deps: [HttpClient], - }, - }), - ], - providers: [Document, TranslateService, UserService, PageService], - }).compileComponents(); - }); - - beforeEach(() => { - fixture = TestBed.createComponent(AppComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); - - it('should create the app', () => { - expect(component).toBeTruthy(); - }); -}); diff --git a/src/app/components/common/icons/promo_icon/promo_icon.component.ts b/src/app/components/common/icons/promo_icon/promo_icon.component.ts deleted file mode 100644 index f193d2d..0000000 --- a/src/app/components/common/icons/promo_icon/promo_icon.component.ts +++ /dev/null @@ -1,74 +0,0 @@ -import { HttpClient } from '@angular/common/http'; -import { Component, Inject, Input, OnChanges, OnInit } from '@angular/core'; -import { Apollo, gql } from 'apollo-angular'; -import { environment } from 'src/environments/environment'; -import { Promotion } from 'src/types/objects'; -import { DEFAULT_HEADERS } from 'src/utils/http'; - -@Component({ - selector: 'icon-promotion', - templateUrl: './promo_icon.html', - styleUrls: ['../icons.scss', './promo_icon.scss'], -}) -export class IconPromotionComponent implements OnInit, OnChanges { - public picture?: string = undefined; - - @Input() public number?: number; - public id?: number; - - public constructor( - @Inject(Apollo) private readonly apollo: Apollo, - @Inject(HttpClient) private readonly http: HttpClient, - ) {} - - public ngOnChanges(): void { - this.setup(); - } - - public ngOnInit(): void { - this.setup(); - } - - public setup() { - if (!this.number) return; - this.id = undefined; - - this.apollo - .query<{ promotion: Promotion }>({ - query: gql` - query ($number: Int!) { - promotion(number: $number) { - id - } - } - `, - variables: { - number: this.number, - }, - fetchPolicy: 'cache-first', - errorPolicy: 'all', - }) - .subscribe(({ data, error }) => { - if (!data || error) return; - this.id = data['promotion'].id; - - this.getPromoPicture(); - }); - } - - public getPromoPicture() { - this.http - .get(`${environment.API_URL}/promotions/logo/${this.id}`, { - headers: DEFAULT_HEADERS, - responseType: 'arraybuffer', - }) - .subscribe({ - next: (data) => { - this.picture = data.toBase64(); - }, - error: () => { - this.picture = undefined; - }, - }); - } -} diff --git a/src/app/components/common/side_menu/side_menu.html b/src/app/components/common/side_menu/side_menu.html deleted file mode 100644 index 7b30221..0000000 --- a/src/app/components/common/side_menu/side_menu.html +++ /dev/null @@ -1,6 +0,0 @@ -
-
-
- -
-
diff --git a/src/app/components/common/subtitle/subtitle.html b/src/app/components/common/subtitle/subtitle.html deleted file mode 100644 index 7a7206a..0000000 --- a/src/app/components/common/subtitle/subtitle.html +++ /dev/null @@ -1 +0,0 @@ -

{{ text }}

diff --git a/src/app/components/common/text_size_selector/text_size_selector.html b/src/app/components/common/text_size_selector/text_size_selector.html deleted file mode 100644 index 2d082d7..0000000 --- a/src/app/components/common/text_size_selector/text_size_selector.html +++ /dev/null @@ -1,5 +0,0 @@ - -
- -
diff --git a/src/app/components/common/theme_selector/theme_selector.component.ts b/src/app/components/common/theme_selector/theme_selector.component.ts deleted file mode 100644 index 5ac628a..0000000 --- a/src/app/components/common/theme_selector/theme_selector.component.ts +++ /dev/null @@ -1,50 +0,0 @@ -import { Component, Inject } from '@angular/core'; -import { TranslateService } from '@ngx-translate/core'; -import { PageService } from 'src/app/services/page.service'; -import { Theme, ThemeEvent, ThemeSelectorComponentTheme } from 'src/types'; - -@Component({ - selector: 'sith-theme-selector', - templateUrl: './theme_selector.html', - styleUrls: ['./theme_selector.scss'], -}) -export class ThemeSelectorComponent { - public themes: ThemeSelectorComponentTheme[] = [ - { name: 'header.options.themes.light', value: 'light' }, - { name: 'header.options.themes.dark', value: 'dark' }, - { name: 'header.options.themes.auto', value: 'auto' }, - { name: 'header.options.themes.high_contrast', value: 'high_contrast' }, - ]; - - public eventThemes: ThemeSelectorComponentTheme[] = []; - - public constructor( - @Inject(TranslateService) public readonly t: TranslateService, - @Inject(PageService) public readonly page: PageService, - ) {} - - public ngOnInit(): void { - const now = new Date(); - - switch (now.getMonth()) { - case 11: - this.eventThemes.push({ name: 'header.options.event_themes.christmas', value: 'christmas' }); - if (this.page.eventTheme !== 'christmas' && this.page.eventTheme !== null) this.page.eventTheme = 'christmas'; - break; - case 9: - this.eventThemes.push({ name: 'header.options.event_themes.pinktober', value: 'pinktober' }); - if (this.page.eventTheme !== 'pinktober' && this.page.eventTheme !== null) this.page.eventTheme = 'pinktober'; - break; - default: - this.page.eventTheme = 'base'; - break; - } - - this.themes.forEach((theme) => { - this.t.get(theme.name).subscribe((name) => (theme.name = name)); - }); - this.eventThemes.forEach((theme) => { - this.t.get(theme.name).subscribe((name) => (theme.name = name)); - }); - } -} diff --git a/src/app/components/common/theme_selector/theme_selector.html b/src/app/components/common/theme_selector/theme_selector.html deleted file mode 100644 index f7e6d6c..0000000 --- a/src/app/components/common/theme_selector/theme_selector.html +++ /dev/null @@ -1,16 +0,0 @@ - -
    -
  • -
    - {{ t.name }} -
  • -
- -
-
    -
  • -
    - {{ t.name }} -
  • -
-
diff --git a/src/app/components/desktop/alert/alert.component.spec.ts b/src/app/components/desktop/alert/alert.component.spec.ts deleted file mode 100644 index c9954a3..0000000 --- a/src/app/components/desktop/alert/alert.component.spec.ts +++ /dev/null @@ -1,41 +0,0 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; -import { TranslateModule } from '@ngx-translate/core'; -import { AlertService } from 'src/app/services/alert.service'; -import { CommonComponentsModule } from '../../common/common.module'; -import { DesktopAlertComponent } from './alert.component'; -import { Alert } from 'src/types'; - -describe('DesktopAlertComponent', () => { - let component: DesktopAlertComponent; - let fixture: ComponentFixture; - - beforeEach(async () => { - await TestBed.configureTestingModule({ - declarations: [DesktopAlertComponent], - imports: [TranslateModule.forRoot(), CommonComponentsModule], - providers: [AlertService], - }).compileComponents(); - }); - - beforeEach(() => { - fixture = TestBed.createComponent(DesktopAlertComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); - - it('should create the component', () => { - expect(component).toBeTruthy(); - }); - - describe('dismiss', () => { - it('should call dismiss when the close icon is clicked', () => { - const alertService = TestBed.inject(AlertService); - const dismissSpy = spyOn(alertService, 'dismiss'); - - const alert: Alert = { id: 'id', message: 'test', type: 'info', title: 'test alert' }; - component.dismiss(alert); - - expect(dismissSpy).toHaveBeenCalledWith(alert, 400); - }); - }); -}); diff --git a/src/app/components/desktop/alert/alert.component.ts b/src/app/components/desktop/alert/alert.component.ts deleted file mode 100644 index f8224c1..0000000 --- a/src/app/components/desktop/alert/alert.component.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { Component, Inject } from '@angular/core'; -import { AlertService } from 'src/app/services/alert.service'; -import { Alert } from 'src/types'; - -@Component({ - selector: 'sith-desktop-alert', - templateUrl: './alert.html', - styleUrls: ['./alert.scss'], -}) -export class DesktopAlertComponent { - public constructor(@Inject(AlertService) public readonly alerts: AlertService) {} - - public dismiss(alert: Alert): void { - this.alerts.dismiss(alert, 400); - } -} diff --git a/src/app/components/desktop/alert/alert.html b/src/app/components/desktop/alert/alert.html deleted file mode 100644 index 9ad3998..0000000 --- a/src/app/components/desktop/alert/alert.html +++ /dev/null @@ -1,9 +0,0 @@ -
-
-
- {{ alert.title }} - {{ alert.message }} -
- -
-
\ No newline at end of file diff --git a/src/app/components/desktop/alert/alert.scss b/src/app/components/desktop/alert/alert.scss deleted file mode 100644 index 5dc1043..0000000 --- a/src/app/components/desktop/alert/alert.scss +++ /dev/null @@ -1,63 +0,0 @@ -.alerts { - width: 100%; - max-width: var(--max-page-width); - margin: 20px auto 0; - display: flex; - flex-direction: column; - gap: 5px; - - > .alert { - display: flex; - width: 100%; - min-height: 50px; - justify-content: space-between; - align-items: center; - padding: 0 10px; - border-radius: 10px; - - &.hiding { - animation: fade-out 300ms ease-in forwards; - } - - &.warning { - background-color: var(--orange-hover); - border: 1px solid var(--orange); - } - - &.info { - background-color: var(--blue-hover); - border: 1px solid var(--blue); - } - - &.danger { - background-color: var(--red-hover); - border: 1px solid var(--red); - } - - > .icon { - width: 20px; - height: 20px; - cursor: pointer; - fill: var(--text-color-dynamic); - } - - > .content { - justify-content: flex-start; - display: flex; - flex-direction: column; - - > .title { - font-family: Inter, sans-serif; - font-weight: 500; - font-size: calc(15px * var(--font-size)); - color: var(--text-color-dynamic); - } - - > .text { - font-family: Roboto, sans-serif; - font-size: calc(11px * var(--font-size)); - color: var(--text-color-dynamic); - } - } - } -} diff --git a/src/app/components/desktop/header/header.html b/src/app/components/desktop/header/header.html deleted file mode 100644 index 324074e..0000000 --- a/src/app/components/desktop/header/header.html +++ /dev/null @@ -1,30 +0,0 @@ -
-
- -
- Association des Étudiants - de l'université de technologie de Belfort-Montbéliard -
-
- -
- - - - - -
-
- - - - - - - - - - - - diff --git a/src/app/components/desktop/navbar/navbar.html b/src/app/components/desktop/navbar/navbar.html deleted file mode 100644 index bbfff6c..0000000 --- a/src/app/components/desktop/navbar/navbar.html +++ /dev/null @@ -1,22 +0,0 @@ - diff --git a/src/app/components/mobile/alert/alert.component.spec.ts b/src/app/components/mobile/alert/alert.component.spec.ts deleted file mode 100644 index d0a484c..0000000 --- a/src/app/components/mobile/alert/alert.component.spec.ts +++ /dev/null @@ -1,41 +0,0 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; -import { MobileAlertComponent } from './alert.component'; -import { AlertService } from 'src/app/services/alert.service'; -import { Alert } from 'src/types'; -import { TranslateModule } from '@ngx-translate/core'; -import { CommonComponentsModule } from '../../common/common.module'; - -describe('MobileAlertComponent', () => { - let component: MobileAlertComponent; - let fixture: ComponentFixture; - - beforeEach(async () => { - await TestBed.configureTestingModule({ - declarations: [MobileAlertComponent], - imports: [TranslateModule.forRoot(), CommonComponentsModule], - providers: [AlertService], - }).compileComponents(); - }); - - beforeEach(() => { - fixture = TestBed.createComponent(MobileAlertComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); - - describe('dismiss', () => { - it('should call dismiss when the close icon is clicked', () => { - const alertService = TestBed.inject(AlertService); - const dismissSpy = spyOn(alertService, 'dismiss'); - - const alert: Alert = { id: 'id', message: 'test', type: 'info', title: 'test alert' }; - component.dismiss(alert); - - expect(dismissSpy).toHaveBeenCalledWith(alert, 500); - }); - }); -}); diff --git a/src/app/components/mobile/alert/alert.component.ts b/src/app/components/mobile/alert/alert.component.ts deleted file mode 100644 index b981e4a..0000000 --- a/src/app/components/mobile/alert/alert.component.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { Component, Inject } from '@angular/core'; -import { AlertService } from 'src/app/services/alert.service'; -import { Alert } from 'src/types'; - -@Component({ - selector: 'sith-mobile-alert', - templateUrl: './alert.html', - styleUrls: ['./alert.scss'], -}) -export class MobileAlertComponent { - public constructor(@Inject(AlertService) public readonly alerts: AlertService) {} - - public dismiss(alert: Alert): void { - this.alerts.dismiss(alert, 500); - } -} diff --git a/src/app/components/mobile/alert/alert.html b/src/app/components/mobile/alert/alert.html deleted file mode 100644 index a90f26a..0000000 --- a/src/app/components/mobile/alert/alert.html +++ /dev/null @@ -1,7 +0,0 @@ -
-
- {{ alert.title }} - {{ alert.message }} -
- -
diff --git a/src/app/components/mobile/alert/alert.scss b/src/app/components/mobile/alert/alert.scss deleted file mode 100644 index 47e356c..0000000 --- a/src/app/components/mobile/alert/alert.scss +++ /dev/null @@ -1,51 +0,0 @@ -.alert { - background-color: var(--orange); - display: flex; - justify-content: space-between; - align-items: center; - padding: 8px; - - &.hiding { - animation: move-up 500ms linear forwards, fade-out 400ms linear forwards; - } - - &.warning { - background-color: var(--orange-hover); - border-left: 5px solid var(--orange); - } - - &.info { - background-color: var(--blue-hover); - border-left: 5px solid var(--blue); - } - - &.danger { - background-color: var(--red-hover); - border-left: 5px solid var(--red); - } - - > .icon { - width: 20px; - height: 20px; - fill: var(--text-color-dynamic); - } - - > .content { - justify-content: flex-start; - display: flex; - flex-direction: column; - - > .title { - font-family: Inter, sans-serif; - font-weight: 500; - font-size: calc(15px * var(--font-size)); - color: var(--text-color-dynamic); - } - - > .text { - font-family: Roboto, sans-serif; - font-size: calc(11px * var(--font-size)); - color: var(--text-color-dynamic); - } - } -} diff --git a/src/app/components/mobile/navbar/navbar.html b/src/app/components/mobile/navbar/navbar.html deleted file mode 100644 index c82235c..0000000 --- a/src/app/components/mobile/navbar/navbar.html +++ /dev/null @@ -1,13 +0,0 @@ - diff --git a/src/app/graphql.module.ts b/src/app/graphql.module.ts deleted file mode 100644 index 7af3388..0000000 --- a/src/app/graphql.module.ts +++ /dev/null @@ -1,67 +0,0 @@ -import { NgModule } from '@angular/core'; -import { ApolloModule, APOLLO_OPTIONS, APOLLO_FLAGS } from 'apollo-angular'; -import { HttpLink } from 'apollo-angular/http'; -import { ApolloLink, InMemoryCache } from '@apollo/client/core'; -import { setContext } from '@apollo/client/link/context'; - -import { environment } from 'src/environments/environment'; -import { HttpClientModule } from '@angular/common/http'; - -/** - * Add Middleware to Apollo Client before sending request - * @param httpLink Apollo HTTP Link - */ -export function createApollo(httpLink: HttpLink) { - const lang = setContext(() => { - const locale = localStorage.getItem('locale') ?? 'en-US'; - - return { - headers: { - 'Accept-Language': locale, - }, - }; - }); - - const auth = setContext(() => { - const token = sessionStorage.getItem('user_token'); - - if (token === null) return {}; - return { - headers: { - Authorization: token, - }, - }; - }); - - const cache = new InMemoryCache(); - const link = ApolloLink.from([ - lang, - auth, - httpLink.create({ - uri: environment.GRAPHQL_URL, - }), - ]); - - return { - cache, - link, - }; -} - -@NgModule({ - exports: [HttpClientModule, ApolloModule], - providers: [ - { - provide: APOLLO_FLAGS, - useValue: { - useMutationLoading: true, - }, - }, - { - provide: APOLLO_OPTIONS, - useFactory: createApollo, - deps: [HttpLink], - }, - ], -}) -export class GraphQLModule {} diff --git a/src/app/pages/login/login.component.ts b/src/app/pages/login/login.component.ts deleted file mode 100644 index 9097e4b..0000000 --- a/src/app/pages/login/login.component.ts +++ /dev/null @@ -1,72 +0,0 @@ -import type { Token } from 'src/types/objects'; - -import { Component, Inject } from '@angular/core'; -import { FormBuilder, FormGroup, Validators } from '@angular/forms'; -import { TranslateService } from '@ngx-translate/core'; -import { getErrors } from 'src/app/directives'; -import { PageService } from 'src/app/services/page.service'; -import { UserService } from 'src/app/services/user.service'; -import { Apollo } from 'apollo-angular'; - -import gql from 'graphql-tag'; - -@Component({ - selector: 'sith-login', - templateUrl: './login.html', - styleUrls: ['./login.scss'], -}) -export class LoginComponent { - public readonly formGroup: FormGroup = this.fb.group({ - email: ['', [Validators.required, Validators.email]], - password: ['', [Validators.required]], - }); - - public constructor( - @Inject(TranslateService) public readonly t: TranslateService, - @Inject(PageService) public readonly page: PageService, - @Inject(UserService) public readonly user: UserService, - @Inject(FormBuilder) private readonly fb: FormBuilder, - @Inject(Apollo) private readonly apollo: Apollo, - ) { - t.get('login.title').subscribe((title) => (page.title = title)); - } - - public login(): void { - if (this.user.isLoggedIn) return; - - this.apollo - .mutate<{ login: Token }>({ - mutation: gql` - mutation ($email: String!, $password: String!) { - login(email: $email, password: $password) { - token - user_id - } - } - `, - variables: { - email: this.formGroup.controls['email'].value, - password: this.formGroup.controls['password'].value, - }, - errorPolicy: 'all', - }) - .subscribe(({ data, errors }) => { - if (data) { - this.user.login(data['login'].token, data['login'].user_id); - } - - if (errors && !data) { - this.formGroup.controls['password'].setValue(undefined); - this.formGroup.controls['password'].setErrors({ login_fail: true }); - } - }); - } - - public errors(field: string): string[] { - return getErrors(this.formGroup.controls[field]); - } - - public getError(field: string): string { - return `global.errors.${field}`; - } -} diff --git a/src/app/pages/user/profile/picture-modal/picture-edit-modal.component.ts b/src/app/pages/user/profile/picture-modal/picture-edit-modal.component.ts deleted file mode 100644 index c7720dc..0000000 --- a/src/app/pages/user/profile/picture-modal/picture-edit-modal.component.ts +++ /dev/null @@ -1,159 +0,0 @@ -import type { Time } from 'src/types/objects'; -import type { ImageCropperResult, base64 } from 'src/types'; - -import { OnInit, ViewChild, ElementRef, Component, Inject, Output, EventEmitter, Input } from '@angular/core'; -import { Apollo, gql } from 'apollo-angular'; -import { ImageCropperComponent } from 'src/app/components/common/image_cropper/image-cropper.component'; -import { HttpClient } from '@angular/common/http'; -import { environment } from 'src/environments/environment'; -import { UserService } from 'src/app/services/user.service'; -import { ActivatedRoute } from '@angular/router'; -import { DEFAULT_HEADERS } from 'src/utils/http'; -import { UserPermissionService } from 'src/app/services/user-permissions.service'; - -@Component({ - selector: 'sith-user-profile-picture-edit-modal', - templateUrl: './picture-edit-modal.html', - styleUrls: ['./picture-edit-modal.scss'], -}) -export class UserProfilePictureEditModalComponent implements OnInit { - @ViewChild('picture', { static: true }) public modal!: ElementRef; - @ViewChild(ImageCropperComponent, { static: false }) public cropper!: ImageCropperComponent; - - public pictureUncropped?: base64; - public pictureCropped?: ImageCropperResult; - - private userId = 0; - - @Input() public username = ''; - @Input() public existingPicture = false; - @Output() public pictureUpdated = new EventEmitter(); - - public readonly options: Cropper.Options = { - aspectRatio: 1, - rotatable: true, - zoomable: true, - scalable: true, - }; - - public timeLeft?: Date; - - public constructor( - @Inject(Apollo) private readonly apollo: Apollo, - @Inject(HttpClient) private readonly http: HttpClient, - @Inject(UserService) private readonly u: UserService, - @Inject(UserPermissionService) private readonly perms: UserPermissionService, - private activeRoute: ActivatedRoute, - ) { - this.activeRoute.params.subscribe((params) => { - this.userId = parseInt(params['id'], 10); - this.perms.ready$.subscribe(() => this.fetchData(this.userId)); - }); - } - - public ngOnInit(): void { - this.modal.nativeElement.addEventListener('click', (e) => { - const dimensions = this.modal.nativeElement.getBoundingClientRect(); - if (!dimensions) return; - - if ( - e.clientX < dimensions.left || - e.clientX > dimensions.right || - e.clientY < dimensions.top || - e.clientY > dimensions.bottom - ) - this.close(); - }); - } - - public fetchData(id: number): void { - this.apollo - .query<{ lastPictureUpdate: Time }>({ - query: gql` - query ($user_id: Int!) { - lastPictureUpdate(id: $user_id) { - date - } - } - `, - variables: { - user_id: id, - }, - fetchPolicy: 'cache-first', - errorPolicy: 'all', - }) - .subscribe(({ data }) => { - if (!data) return; - - // The user can't update his picture more than once a week - const diff = - environment.DELAY_UPDATE_PROFILE_PICTURE * 1000 - - (new Date().getTime() - new Date(data['lastPictureUpdate'].date).getTime()); - - if (diff > 0) this.timeLeft = new Date(new Date().getTime() + diff); - if (!this.isOwner || this.perms.hasPermission('EDIT_USER')) this.timeLeft = undefined; - }); - } - - public open() { - // Only the user can update his picture (or an admin) - if (!this.isOwner && !this.perms.hasPermission('EDIT_USER')) return; - - this.modal.nativeElement.showModal(); - } - - public close() { - this.modal.nativeElement.close(); - } - - public get isOwner(): boolean { - return this.userId === this.u.id; - } - - public get hasPermissions(): boolean { - return this.perms.hasPermission('EDIT_USER'); - } - - public updateUncroppedPicture(file: base64) { - this.pictureUncropped = file; - } - - public async updateCroppedPicture(event: ImageCropperResult) { - this.pictureCropped = event; - if (this.pictureCropped.dataUrl) this.pictureUpdated.emit(this.pictureCropped.dataUrl); - - const res: Response = await fetch(this.pictureCropped.dataUrl ?? ''); - const blob: Blob = await res.blob(); - const file = new File([blob], 'profile_picture.png', { type: 'image/png' }); - - const formData = new FormData(); - formData.append('file', file, file.name); - - this.http - .post(`${environment.API_URL}/users/picture/${this.activeRoute.snapshot.params['id']}`, formData, { - headers: DEFAULT_HEADERS, - }) - .subscribe({ - next: () => { - if (!this.isOwner) return; - - setTimeout(() => { - this.u.refreshUserPicture(); - }, 1000); - }, - }); - } - - public deleteCurrentPicture() { - this.http - .delete(`${environment.API_URL}/users/picture/${this.activeRoute.snapshot.params['id']}`, { - headers: DEFAULT_HEADERS, - }) - .subscribe({ - next: () => { - this.pictureUpdated.emit(undefined); - if (this.isOwner) this.u.refreshUserPicture(); - }, - }); - } -} diff --git a/src/app/pages/user/users.component.ts b/src/app/pages/user/users.component.ts deleted file mode 100644 index 2bf8951..0000000 --- a/src/app/pages/user/users.component.ts +++ /dev/null @@ -1,39 +0,0 @@ -import { Component, Inject } from '@angular/core'; -import { Apollo, gql } from 'apollo-angular'; -import { PageService } from 'src/app/services/page.service'; -import { PublicUser } from 'src/types/objects'; - -@Component({ - selector: 'sith-users', - templateUrl: './users.html', - styleUrls: [], -}) -export class UsersComponent { - public users: PublicUser[] = []; - - public constructor( - @Inject(Apollo) private readonly apollo: Apollo, - @Inject(PageService) public readonly page: PageService, - ) { - this.apollo - .query<{ users: PublicUser[] }>({ - query: gql` - query { - users { - id - first_name - last_name - nickname - } - } - `, - }) - .subscribe(({ data }) => { - this.users = data['users']; - }); - } - - public goto(id: number) { - this.page.route = `/users/${id}`; - } -} diff --git a/src/app/services/alert.service.spec.ts b/src/app/services/alert.service.spec.ts deleted file mode 100644 index 7428923..0000000 --- a/src/app/services/alert.service.spec.ts +++ /dev/null @@ -1,43 +0,0 @@ -import { TestBed } from '@angular/core/testing'; -import { AlertService } from './alert.service'; -import { Alert } from 'src/types'; - -describe('AlertService', () => { - let service: AlertService; - let localStore: Record; - - beforeEach(() => { - TestBed.configureTestingModule({}); - service = TestBed.inject(AlertService); - }); - - it('should be created', () => { - expect(service).toBeTruthy(); - }); - - beforeEach(() => { - localStore = {}; - - spyOn(window.localStorage, 'getItem').and.callFake((key) => (key in localStore ? localStore[key] : null)); - spyOn(window.localStorage, 'setItem').and.callFake((key, value) => (localStore[key] = value)); - spyOn(window.localStorage, 'removeItem').and.callFake((key) => delete localStore[key]); - spyOn(window.localStorage, 'clear').and.callFake(() => (localStore = {})); - }); - - afterEach(() => { - localStorage.clear(); - }); - - it('should be able to dismiss an alert', (done) => { - const testAlert: Alert = service.all[0]; - service.dismiss(testAlert, 100); - const a: Record = {}; - a[testAlert.id] = false; - - setTimeout(() => { - expect(localStorage.getItem('alerts')).toEqual(JSON.stringify(a)); - expect(service.all.find((alert) => alert.id === testAlert.id)).toBeUndefined(); - done(); - }, 100); - }); -}); diff --git a/src/app/services/alert.service.ts b/src/app/services/alert.service.ts deleted file mode 100644 index 07b1bef..0000000 --- a/src/app/services/alert.service.ts +++ /dev/null @@ -1,78 +0,0 @@ -import { Injectable } from '@angular/core'; -import { Alert } from 'src/types'; - -@Injectable({ - providedIn: 'root', -}) -export class AlertService { - private alerts: Array = []; - - public get all(): Array { - return this.alerts; - } - - /** - * Dismisses an alert. - * If timeout is set, the alert will be removed after the timeout. - * This allows for animations to finish before removing the alert. - * @param {Alert} alert the alert to dismiss - * @param {number} timeout the timeout in milliseconds (default: 0) - */ - // TODO: use API instead of localStorage - public dismiss(alert: Alert, timeout = 0): void { - const alerts = JSON.parse(localStorage.getItem('alerts') ?? '{}'); - alerts[alert.id] = false; - localStorage.setItem('alerts', JSON.stringify(alerts)); - - setTimeout(() => { - this.removeDismissed(); - }, timeout); - } - - /** - * Determines whether an alert is visible. - * @param {Alert} alert the alert to check - * @returns {boolean} true if the alert should be visible, false otherwise - */ - // TODO: use API instead of localStorage - public isVisible(alert: Alert): boolean { - const alerts = JSON.parse(localStorage.getItem('alerts') ?? '{}'); - return alerts[alert.id] ?? true; - } - - /** - * Removes all dismissed alerts from the list of alerts. - */ - public removeDismissed(): void { - this.alerts = this.alerts.filter((alert) => this.isVisible(alert)); - } - - /** - * Fetches alerts from the API. - */ - public constructor() { - // TODO: use API instead - this.alerts = [ - { - title: 'Alert info', - message: 'Info >>> others branches', - type: 'info', - id: 'alert-id', - }, - { - title: 'Alert warning', - message: 'This is a warning message', - id: 'alert-id2', - type: 'warning', - }, - { - title: 'Alert danger', - message: 'This is a very dangerous message', - id: 'alert-id3', - type: 'danger', - }, - ]; - - this.removeDismissed(); - } -} diff --git a/src/app/services/page.service.spec.ts b/src/app/services/page.service.spec.ts deleted file mode 100644 index 9bed312..0000000 --- a/src/app/services/page.service.spec.ts +++ /dev/null @@ -1,102 +0,0 @@ -import { TestBed } from '@angular/core/testing'; -import { PageService } from './page.service'; -import { TranslateModule, TranslateService } from '@ngx-translate/core'; -import { Router, RouterModule } from '@angular/router'; -import { DeviceDetectorService } from 'ngx-device-detector'; -import { getLanguage, getLanguageDirection } from 'src/utils'; - -describe('PageService', () => { - let service: PageService; - let localStore: Record; - - beforeEach(() => { - TestBed.configureTestingModule({ - imports: [TranslateModule.forRoot(), RouterModule], - providers: [Router, DeviceDetectorService, TranslateService], - }); - service = TestBed.inject(PageService); - }); - - it('should be created', () => { - expect(service).toBeTruthy(); - }); - - beforeEach(() => { - localStore = {}; - - spyOn(window.localStorage, 'getItem').and.callFake((key) => (key in localStore ? localStore[key] : null)); - spyOn(window.localStorage, 'setItem').and.callFake((key, value) => (localStore[key] = value)); - spyOn(window.localStorage, 'removeItem').and.callFake((key) => delete localStore[key]); - spyOn(window.localStorage, 'clear').and.callFake(() => (localStore = {})); - }); - - afterEach(() => { - localStorage.clear(); - }); - - describe('route', () => { - it('should be able to get the current route', () => { - expect(service.route).toBe(''); - }); - }); - - describe('fontSize', () => { - it('should be able to get the current font size', () => { - localStorage.setItem('fontSize', '1'); - expect(service.fontSize).toEqual('1'); - }); - - it('should return the default font size if none is set', () => { - expect(service.fontSize).toEqual('1'); - }); - - it('should return the default value if local storage value is wrong', () => { - localStorage.setItem('fontSize', '4'); - expect(service.fontSize).toEqual('1'); - }); - - it('should update the document font size when the font size is changed', () => { - service.fontSize = '1.25'; - expect(document.documentElement.style.getPropertyValue('--font-size')).toEqual('1.25'); - expect(localStorage.getItem('fontSize')).toEqual('1.25'); - }); - }); - - describe('detectLanguage', () => { - it('should set the browser language if no language is set', () => { - service.detectLanguage(); - expect(localStorage.getItem('lang')).toEqual(window.navigator.language); - }); - }); - - describe('lang', () => { - it('should parse given language and set it inside the local storage', () => { - service.lang = 'en'; - const parsed = getLanguage('en'); - expect(localStorage.getItem('lang')).toEqual(parsed); - expect(document.documentElement.lang).toEqual(parsed); - expect(document.documentElement.dir).toEqual(getLanguageDirection(parsed)); - }); - - it('should return the browser language if local storage is empty', () => { - expect(service.lang).toEqual(getLanguage(window.navigator.language)); - }); - }); - - describe('logo', () => { - it('should return the christmas logo when the event theme is christmas', () => { - service.eventTheme = 'christmas'; - expect(service.logo).toEqual('assets/logo/ae_christmas.webp'); - }); - - it('should return the pinktober logo when the event theme is pinktober', () => { - service.eventTheme = 'pinktober'; - expect(service.logo).toEqual('assets/logo/ae_pinktober.webp'); - }); - - it('should return the default logo when the event theme is not christmas', () => { - service.eventTheme = 'base'; - expect(service.logo).toEqual('assets/logo/ae_base.webp'); - }); - }); -}); diff --git a/src/app/services/page.service.ts b/src/app/services/page.service.ts deleted file mode 100644 index 41dd77a..0000000 --- a/src/app/services/page.service.ts +++ /dev/null @@ -1,253 +0,0 @@ -import type { FontSize, Theme, ThemeEvent } from 'src/types'; - -import { Inject, Injectable } from '@angular/core'; -import { NavigationEnd, Router, UrlTree } from '@angular/router'; -import { TranslateService } from '@ngx-translate/core'; -import { DeviceDetectorService } from 'ngx-device-detector'; -import { - getLanguage, - getLanguageDirection, - getTheme, - getThemeEvent, - setTheme, - setThemeEvent, - watchAutoTheme, -} from 'src/utils'; - -@Injectable({ - providedIn: 'root', -}) -export class PageService { - private currentRoute = ''; - - public constructor( - @Inject(TranslateService) public readonly t: TranslateService, - @Inject(DeviceDetectorService) private readonly deviceService: DeviceDetectorService, - @Inject(Router) public readonly router: Router, - ) { - // watch for route changes - router.events.subscribe((val) => { - if (val instanceof NavigationEnd) { - this.currentRoute = val.url; - } - }); - } - - /** - * TODO: redirect properly to 404 if the route is not found - * - * Set the current route - * @param {string | UrlTree} route The route to set - * @example p.route = '/login'; // set the route to '/login' (login page) - */ - public set route(route: string | UrlTree) { - this.router.navigateByUrl(route); - } - - /** - * Get the current route - * @returns {string} The current route - */ - public get route(): string { - return this.currentRoute; - } - - /** - * Check whether the actual route is headless or not - * @returns {boolean} True if the actual route is headless, false otherwise - */ - public get isHeadless(): boolean { - return ['/forgot_password', '/login', '/register'].includes(this.currentRoute); - } - - /** - * Check if the device used by the user is a mobile device - * @return {boolean} True if the device is a mobile device, false otherwise - */ - public get isMobile(): boolean { - return this.deviceService.isMobile() || this.deviceService.isTablet() || window.innerWidth <= 768; - } - - /** - * Check if the device used by the user is a desktop device - * @return {boolean} True if the device is a desktop device, false otherwise - */ - public get isDesktop(): boolean { - return this.deviceService.isDesktop() && !this.isMobile; - } - - /** - * Check if the actual language is a right to left language - * @return {boolean} True if the actual language is a right to left language, false otherwise - */ - public get isRTL(): boolean { - return document.documentElement.dir === 'rtl'; - } - - /** - * Set the browser title of the page - * @param {string} title The title to set - * @example p.title = 'Home'; // will set the title to 'Home - AE UTBM' - */ - public set title(title: string) { - document.title = `${title} - AE UTBM`; - } - - /** - * Detects the font size of the browser and sets it as current font size. - * This trigger the `fontSize` setter and getter. This method is called only once, on page load. - */ - public detectFontSize(): void { - this.fontSize = this.fontSize; - } - - /** - * Get the current font size - * @returns {FontSize} The current font size - */ - public get fontSize(): FontSize { - let size = localStorage.getItem('fontSize') as (FontSize | null); - if (size === null || (size !== '0.75' && size !== '1' && size !== '1.25')) size = '1'; - return size; - } - - /** - * Set the current font size - * @param {FontSize} size The font size to set - * @example p.fontSize = '0.75'; // will set the font size to 75% of its original size - */ - public set fontSize(size: FontSize) { - document.documentElement.style.setProperty('--font-size', size); - localStorage.setItem('fontSize', size); - } - - /** - * Detects the language of the browser and sets it as current language. - * If the language is not supported, it will be set to English. - */ - public detectLanguage(): void { - this.t.setDefaultLang('en-US'); - const lang = localStorage.getItem('lang') ?? getLanguage(window.navigator.language); - - document.documentElement.lang = lang; - document.documentElement.dir = getLanguageDirection(lang); - this.t.use(lang); - this.t.currentLang = lang; // because ngx-translate doesn't set it automatically - localStorage.setItem('lang', lang); - } - - /** - * Set a language as current language - * @param {string} lang The language to select - */ - public set lang(lang: string) { - const parsedLang = getLanguage(lang); - document.documentElement.lang = parsedLang; - document.documentElement.dir = getLanguageDirection(lang); - this.t.use(parsedLang); - this.t.currentLang = parsedLang; // because ngx-translate doesn't set it automatically - localStorage.setItem('lang', parsedLang); - } - - /** - * Get the stored language within the local storage or the browser language if not found - * @returns {SelectComponentOption} The found language or the default one (English) - */ - public get lang(): string { - return localStorage.getItem('lang') ?? getLanguage(window.navigator.language); - } - - /** - * Detects the theme of the browser and sets it as current theme. - * This method will also set up a watcher for theme changes and update the theme accordingly when auto theme is enabled. - */ - public detectTheme(): void { - watchAutoTheme(); - setTheme(getTheme()); - setThemeEvent(getThemeEvent()); - } - - /** - * Set the theme of the website - * @param {Theme} theme The theme to set - */ - public set theme(theme: Theme) { - setTheme(theme); - } - - /** - * Get the current theme of the website - */ - public get theme(): Theme { - return getTheme(); - } - - /** - * Get the current event theme of the website - */ - public get eventTheme(): ThemeEvent | null { - return getThemeEvent(); - } - - /** - * Set the event theme of the website, if the theme is already set, it will be reset to the base theme - * @param {ThemeEvent | null} theme The theme to set - */ - public set eventTheme(theme: ThemeEvent | null) { - setThemeEvent(this.eventTheme === theme ? null : theme); - } - - /** - * Get the current logo of the website depending on the event theme - * @returns {string} The path to the logo - * - * TODO: its a bit wonky to set the favicon on a getter (if its not called, the favicon wont be set) - */ - public get logo(): `assets/logo/ae_${ThemeEvent}.webp` { - switch (getThemeEvent()) { - case 'christmas': - this.favicon = 'christmas'; - return 'assets/logo/ae_christmas.webp'; - case 'pinktober': - this.favicon = 'pinktober'; - return 'assets/logo/ae_pinktober.webp'; - default: - this.favicon = 'base'; - return 'assets/logo/ae_base.webp'; - } - } - - /** - * Set the favicon of the website depending on the event theme - * @param {ThemeEvent} type The type of favicon to set - */ - private set favicon(type: ThemeEvent) { - const appleTouchIcon = document.querySelector('link[rel="apple-touch-icon"]'); - const icons = document.querySelectorAll('link[rel="icon"]'); - const manifest = document.querySelector('link[rel="manifest"]'); - const maskIcon = document.querySelector('link[rel="mask-icon"]'); - const shortcutIcon = document.querySelector('link[rel="shortcut icon"]'); - - const metaMSAppTileColor = document.querySelector('meta[name="msapplication-TileColor"]'); - const metaMSAppConfig = document.querySelector('meta[name="msapplication-config"]'); - const metaThemeColor = document.querySelector('meta[name="theme-color"]'); - - const colors = { - christmas: '#095228', - pinktober: '#e891dc', - base: '#ffffff', - }; - - if (appleTouchIcon) appleTouchIcon.href = `assets/favicon/${type}/apple-touch-icon.png`; - if (icons) icons.forEach((icon) => (icon.href = `assets/favicon/${type}/favicon-${icon.sizes}.png`)); - if (manifest) manifest.href = `assets/favicon/${type}/site.webmanifest`; - if (maskIcon) { - maskIcon.href = `assets/favicon/${type}/safari-pinned-tab.svg`; - (maskIcon as HTMLLinkElement & { color: string }).color = colors[type]; - } - if (shortcutIcon) shortcutIcon.href = `assets/favicon/${type}/favicon.ico`; - if (metaMSAppTileColor) metaMSAppTileColor.content = colors[type]; - if (metaMSAppConfig) metaMSAppConfig.content = `assets/favicon/${type}/browserconfig.xml`; - if (metaThemeColor) metaThemeColor.content = colors[type]; - } -} diff --git a/src/app/services/user-permissions.service.ts b/src/app/services/user-permissions.service.ts deleted file mode 100644 index 2a51ae3..0000000 --- a/src/app/services/user-permissions.service.ts +++ /dev/null @@ -1,77 +0,0 @@ -import { Inject, Injectable } from '@angular/core'; -import { Apollo, gql } from 'apollo-angular'; -import { Subject } from 'rxjs'; -import { UserPermission } from 'src/types/objects'; -import { UserService } from './user.service'; - -@Injectable({ - providedIn: 'root', -}) -export class UserPermissionService { - public permissions = new Map(); - public ready$ = new Subject(); - public ready = false; - - public constructor( - @Inject(Apollo) private readonly apollo: Apollo, - @Inject(UserService) private readonly user: UserService, - ) { - this.fetchPermissions(); - } - - public async fetchPermissions(): Promise { - this.apollo - .query<{ getPermissionsOfUser: UserPermission[] }>({ - query: gql` - query ($user_id: Int!) { - getPermissionsOfUser(id: $user_id) { - name - created - expires - revoked - } - } - `, - variables: { - user_id: parseInt(sessionStorage.getItem('user_id') || '0', 10), - }, - fetchPolicy: 'cache-first', - errorPolicy: 'all', - }) - .subscribe(({ data }) => { - if (data) { - for (const permission of data['getPermissionsOfUser']) { - if (permission.revoked || permission.expires < new Date()) continue; - this.permissions.set(permission.name, permission); - } - } - - this.ready$.next(true); - this.ready = true; - }); - } - - /** - * Check if the user has a given permission - * @param {UserPermission['name']} name The name of the permission - * @returns {boolean} true if the user has the permission or if the user is root - */ - public hasPermission(name: UserPermission['name']): boolean { - return this.permissions.has('ROOT') || this.permissions.has(name); - } - - /** - * Determines if the user can read the private information of another user - * @param {number} id The id which is being checked (target id) - * @returns {Promise} true if the user can read the private information of another user or if the user is itself - */ - public async canReadPrivateUser(id: number): Promise { - if (this.ready) return this.user.isLoggedIn && (this.hasPermission('CAN_READ_USER_PRIVATE') || this.user.id === id); - - await new Promise((resolve) => { - this.ready$.subscribe(() => resolve()); - }); - - return this.user.isLoggedIn && (this.hasPermission('CAN_READ_USER_PRIVATE') || this.user.id === id); - } -} diff --git a/src/app/services/user.service.spec.ts b/src/app/services/user.service.spec.ts deleted file mode 100644 index 71d2db7..0000000 --- a/src/app/services/user.service.spec.ts +++ /dev/null @@ -1,58 +0,0 @@ -import { TestBed } from '@angular/core/testing'; -import { UserService } from './user.service'; - -describe('UserService', () => { - let service: UserService; - let localStore: Record; - - beforeEach(() => { - TestBed.configureTestingModule({}); - service = TestBed.inject(UserService); - }); - - beforeEach(() => { - localStore = {}; - - spyOn(window.localStorage, 'getItem').and.callFake((key) => (key in localStore ? localStore[key] : null)); - spyOn(window.localStorage, 'setItem').and.callFake((key, value) => (localStore[key] = value)); - spyOn(window.localStorage, 'removeItem').and.callFake((key) => delete localStore[key]); - spyOn(window.localStorage, 'clear').and.callFake(() => (localStore = {})); - }); - - afterEach(() => { - localStorage.clear(); - service.logout(); - }); - - it('should be created', () => { - expect(service).toBeTruthy(); - }); - - describe('isLoggedIn', () => { - it('should return false if the local storage is empty', () => { - expect(service.isLoggedIn).toEqual(false); - }); - }); - - describe('notifications', () => { - it('should return undefined if the user is not logged in', () => { - expect(service.notifications).toBeUndefined(); - }); - - it('should return notifications array if the user is logged in', () => { - service.login('fake-jwt'); - expect(service.notifications).toEqual([]); - }); - }); - - describe('notificationsCount', () => { - it('should return undefined when the user is not logged in', () => { - expect(service.notificationsCount).toBeUndefined(); - }); - - it('should return number if the user is logged in', () => { - service.login('fake-jwt'); - expect(service.notificationsCount).toEqual(0); - }); - }); -}); diff --git a/src/assets/i18n/en-US.json b/src/assets/i18n/en-US.json index cbc8bd6..7bae377 100644 --- a/src/assets/i18n/en-US.json +++ b/src/assets/i18n/en-US.json @@ -21,7 +21,7 @@ "auto": "Auto", "high_contrast": "High contrast" }, - "event_themes": { + "themes_event": { "pinktober": "Pinktober", "christmas": "Christmas" }, diff --git a/src/app/components/common/button/button.component.html b/src/components/common/button/button.component.html similarity index 100% rename from src/app/components/common/button/button.component.html rename to src/components/common/button/button.component.html diff --git a/src/app/components/common/button/button.component.scss b/src/components/common/button/button.component.scss similarity index 100% rename from src/app/components/common/button/button.component.scss rename to src/components/common/button/button.component.scss diff --git a/src/app/components/common/button/button.component.spec.ts b/src/components/common/button/button.component.spec.ts similarity index 99% rename from src/app/components/common/button/button.component.spec.ts rename to src/components/common/button/button.component.spec.ts index 2bf5bb1..297a35e 100644 --- a/src/app/components/common/button/button.component.spec.ts +++ b/src/components/common/button/button.component.spec.ts @@ -1,5 +1,6 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { By } from '@angular/platform-browser'; + import { ButtonComponent } from './button.component'; describe('ButtonComponent', () => { diff --git a/src/app/components/common/button/button.component.ts b/src/components/common/button/button.component.ts similarity index 100% rename from src/app/components/common/button/button.component.ts rename to src/components/common/button/button.component.ts diff --git a/src/app/components/common/common.module.ts b/src/components/common/common.module.ts similarity index 83% rename from src/app/components/common/common.module.ts rename to src/components/common/common.module.ts index 504ad1a..382eda7 100644 --- a/src/app/components/common/common.module.ts +++ b/src/components/common/common.module.ts @@ -1,20 +1,21 @@ -import { NgModule } from '@angular/core'; -import { IconsModule } from './icons/icons.module'; -import { SelectComponent } from './select/select.component'; import { CommonModule } from '@angular/common'; +import { NgModule } from '@angular/core'; +import { TranslateModule } from '@ngx-translate/core'; + import { ButtonComponent } from './button/button.component'; +import { FileInputComponent } from './file_input/file-input.component'; +import { IconsModule } from './icons/icons.module'; +import { ImageCropperComponent } from './image_cropper/image-cropper.component'; +import { SelectComponent } from './selectors/select/select.component'; +import { FontSizeSelectorComponent } from './selectors/font_size/font_size_selector.component'; +import { LangSelectorComponent } from './selectors/lang/lang_selector.component'; +import { ThemeSelectorComponent } from './selectors/theme/theme_selector.component'; +import { SideMenuDisconnectedComponent } from './side_menu/side_disconnected/side_disconnected.component'; import { SideMenuComponent } from './side_menu/side_menu.component'; import { SideMenuOptionsComponent } from './side_menu/side_options/side_options.component'; import { SideMenuProfileComponent } from './side_menu/side_profile/side_profile.component'; -import { SideMenuDisconnectedComponent } from './side_menu/side_disconnected/side_disconnected.component'; -import { TranslateModule } from '@ngx-translate/core'; -import { LangSelectorComponent } from './lang_selector/lang_selector.component'; -import { TitleComponent } from './title/title.component'; import { SubtitleComponent } from './subtitle/subtitle.component'; -import { ThemeSelectorComponent } from './theme_selector/theme_selector.component'; -import { FontSizeSelectorComponent } from './text_size_selector/text_size_selector.component'; -import { ImageCropperComponent } from './image_cropper/image-cropper.component'; -import { FileInputComponent } from './file_input/file-input.component'; +import { TitleComponent } from './title/title.component'; @NgModule({ declarations: [ diff --git a/src/app/components/common/file_input/file-input.component.ts b/src/components/common/file_input/file-input.component.ts similarity index 74% rename from src/app/components/common/file_input/file-input.component.ts rename to src/components/common/file_input/file-input.component.ts index cedd09b..50609f2 100644 --- a/src/app/components/common/file_input/file-input.component.ts +++ b/src/components/common/file_input/file-input.component.ts @@ -1,4 +1,5 @@ -import type { base64 } from 'src/types'; +import type { base64 } from '#types'; + import { Component, EventEmitter, Output } from '@angular/core'; @Component({ @@ -9,7 +10,7 @@ import { Component, EventEmitter, Output } from '@angular/core'; export class FileInputComponent { public filename = ''; - @Output() public change: EventEmitter = new EventEmitter(); + @Output() public fileChange: EventEmitter = new EventEmitter(); public onFileChange(event: Event): void { const input = event.target as HTMLInputElement; @@ -18,7 +19,7 @@ export class FileInputComponent { const reader = new FileReader(); reader.onload = (event: ProgressEvent) => { - this.change.emit((event.target).result as base64); + this.fileChange.emit((event.target).result as base64); }; reader.readAsDataURL(input.files[0]); diff --git a/src/app/components/common/file_input/file-input.html b/src/components/common/file_input/file-input.html similarity index 68% rename from src/app/components/common/file_input/file-input.html rename to src/components/common/file_input/file-input.html index ba48899..b6b765b 100644 --- a/src/app/components/common/file_input/file-input.html +++ b/src/components/common/file_input/file-input.html @@ -1,12 +1,12 @@
- + {{ filename }}
diff --git a/src/app/components/common/file_input/file-input.scss b/src/components/common/file_input/file-input.scss similarity index 100% rename from src/app/components/common/file_input/file-input.scss rename to src/components/common/file_input/file-input.scss diff --git a/src/app/components/common/icons/at/at.component.ts b/src/components/common/icons/at/at.component.ts similarity index 84% rename from src/app/components/common/icons/at/at.component.ts rename to src/components/common/icons/at/at.component.ts index 0804173..deb8469 100644 --- a/src/app/components/common/icons/at/at.component.ts +++ b/src/components/common/icons/at/at.component.ts @@ -1,7 +1,7 @@ import { Component } from '@angular/core'; @Component({ - selector: 'icon-at', + selector: 'sith-icon-at', templateUrl: './at.svg', styleUrls: ['../icons.scss'], }) diff --git a/src/app/components/common/icons/at/at.svg b/src/components/common/icons/at/at.svg similarity index 100% rename from src/app/components/common/icons/at/at.svg rename to src/components/common/icons/at/at.svg diff --git a/src/app/components/common/icons/burger_menu/burger_menu.component.ts b/src/components/common/icons/burger_menu/burger_menu.component.ts similarity index 82% rename from src/app/components/common/icons/burger_menu/burger_menu.component.ts rename to src/components/common/icons/burger_menu/burger_menu.component.ts index 4aacd86..9e184a6 100644 --- a/src/app/components/common/icons/burger_menu/burger_menu.component.ts +++ b/src/components/common/icons/burger_menu/burger_menu.component.ts @@ -1,7 +1,7 @@ import { Component } from '@angular/core'; @Component({ - selector: 'icon-burger-menu', + selector: 'sith-icon-burger-menu', templateUrl: './burger_menu.svg', styleUrls: ['../icons.scss'], }) diff --git a/src/app/components/common/icons/burger_menu/burger_menu.svg b/src/components/common/icons/burger_menu/burger_menu.svg similarity index 100% rename from src/app/components/common/icons/burger_menu/burger_menu.svg rename to src/components/common/icons/burger_menu/burger_menu.svg diff --git a/src/app/components/common/icons/calendar/calendar.component.ts b/src/components/common/icons/calendar/calendar.component.ts similarity index 82% rename from src/app/components/common/icons/calendar/calendar.component.ts rename to src/components/common/icons/calendar/calendar.component.ts index 22ead95..f6cdad0 100644 --- a/src/app/components/common/icons/calendar/calendar.component.ts +++ b/src/components/common/icons/calendar/calendar.component.ts @@ -1,7 +1,7 @@ import { Component } from '@angular/core'; @Component({ - selector: 'icon-calendar', + selector: 'sith-icon-calendar', templateUrl: './calendar.svg', styleUrls: ['../icons.scss'], }) diff --git a/src/app/components/common/icons/calendar/calendar.svg b/src/components/common/icons/calendar/calendar.svg similarity index 100% rename from src/app/components/common/icons/calendar/calendar.svg rename to src/components/common/icons/calendar/calendar.svg diff --git a/src/app/components/common/icons/close/close.component.ts b/src/components/common/icons/close/close.component.ts similarity index 83% rename from src/app/components/common/icons/close/close.component.ts rename to src/components/common/icons/close/close.component.ts index 9e3425b..324c72c 100644 --- a/src/app/components/common/icons/close/close.component.ts +++ b/src/components/common/icons/close/close.component.ts @@ -1,7 +1,7 @@ import { Component } from '@angular/core'; @Component({ - selector: 'icon-close', + selector: 'sith-icon-close', templateUrl: './close.svg', styleUrls: ['../icons.scss'], }) diff --git a/src/app/components/common/icons/close/close.svg b/src/components/common/icons/close/close.svg similarity index 100% rename from src/app/components/common/icons/close/close.svg rename to src/components/common/icons/close/close.svg diff --git a/src/app/components/common/icons/cogwheel/cogwheel.component.ts b/src/components/common/icons/cogwheel/cogwheel.component.ts similarity index 82% rename from src/app/components/common/icons/cogwheel/cogwheel.component.ts rename to src/components/common/icons/cogwheel/cogwheel.component.ts index 88c881d..a483e23 100644 --- a/src/app/components/common/icons/cogwheel/cogwheel.component.ts +++ b/src/components/common/icons/cogwheel/cogwheel.component.ts @@ -1,7 +1,7 @@ import { Component } from '@angular/core'; @Component({ - selector: 'icon-cogwheel', + selector: 'sith-icon-cogwheel', templateUrl: './cogwheel.svg', styleUrls: ['../icons.scss'], }) diff --git a/src/app/components/common/icons/cogwheel/cogwheel.svg b/src/components/common/icons/cogwheel/cogwheel.svg similarity index 100% rename from src/app/components/common/icons/cogwheel/cogwheel.svg rename to src/components/common/icons/cogwheel/cogwheel.svg diff --git a/src/app/components/common/icons/expand_less/expand_less.component.ts b/src/components/common/icons/expand_less/expand_less.component.ts similarity index 100% rename from src/app/components/common/icons/expand_less/expand_less.component.ts rename to src/components/common/icons/expand_less/expand_less.component.ts diff --git a/src/app/components/common/icons/expand_less/expand_less.svg b/src/components/common/icons/expand_less/expand_less.svg similarity index 100% rename from src/app/components/common/icons/expand_less/expand_less.svg rename to src/components/common/icons/expand_less/expand_less.svg diff --git a/src/app/components/common/icons/expand_more/expand_more.component.ts b/src/components/common/icons/expand_more/expand_more.component.ts similarity index 100% rename from src/app/components/common/icons/expand_more/expand_more.component.ts rename to src/components/common/icons/expand_more/expand_more.component.ts diff --git a/src/app/components/common/icons/expand_more/expand_more.svg b/src/components/common/icons/expand_more/expand_more.svg similarity index 100% rename from src/app/components/common/icons/expand_more/expand_more.svg rename to src/components/common/icons/expand_more/expand_more.svg diff --git a/src/app/components/common/icons/eye/eye.component.ts b/src/components/common/icons/eye/eye.component.ts similarity index 87% rename from src/app/components/common/icons/eye/eye.component.ts rename to src/components/common/icons/eye/eye.component.ts index ef4509a..932818f 100644 --- a/src/app/components/common/icons/eye/eye.component.ts +++ b/src/components/common/icons/eye/eye.component.ts @@ -1,7 +1,7 @@ import { Component, Input } from '@angular/core'; @Component({ - selector: 'icon-eye', + selector: 'sith-icon-eye', templateUrl: './eye.svg', styleUrls: ['../icons.scss'], }) diff --git a/src/app/components/common/icons/eye/eye.svg b/src/components/common/icons/eye/eye.svg similarity index 100% rename from src/app/components/common/icons/eye/eye.svg rename to src/components/common/icons/eye/eye.svg diff --git a/src/app/components/common/icons/flag/flag.component.ts b/src/components/common/icons/flag/flag.component.ts similarity index 84% rename from src/app/components/common/icons/flag/flag.component.ts rename to src/components/common/icons/flag/flag.component.ts index 2765ca0..955b60d 100644 --- a/src/app/components/common/icons/flag/flag.component.ts +++ b/src/components/common/icons/flag/flag.component.ts @@ -1,7 +1,7 @@ import { Component } from '@angular/core'; @Component({ - selector: 'icon-flag', + selector: 'sith-icon-flag', templateUrl: './flag.svg', styleUrls: ['../icons.scss'], }) diff --git a/src/app/components/common/icons/flag/flag.svg b/src/components/common/icons/flag/flag.svg similarity index 100% rename from src/app/components/common/icons/flag/flag.svg rename to src/components/common/icons/flag/flag.svg diff --git a/src/app/components/common/icons/heart_plus/heart_plus.component.ts b/src/components/common/icons/heart_plus/heart_plus.component.ts similarity index 82% rename from src/app/components/common/icons/heart_plus/heart_plus.component.ts rename to src/components/common/icons/heart_plus/heart_plus.component.ts index 87964dd..6e6806d 100644 --- a/src/app/components/common/icons/heart_plus/heart_plus.component.ts +++ b/src/components/common/icons/heart_plus/heart_plus.component.ts @@ -1,7 +1,7 @@ import { Component } from '@angular/core'; @Component({ - selector: 'icon-heart-plus', + selector: 'sith-icon-heart-plus', templateUrl: './heart_plus.svg', styleUrls: ['../icons.scss'], }) diff --git a/src/app/components/common/icons/heart_plus/heart_plus.svg b/src/components/common/icons/heart_plus/heart_plus.svg similarity index 100% rename from src/app/components/common/icons/heart_plus/heart_plus.svg rename to src/components/common/icons/heart_plus/heart_plus.svg diff --git a/src/app/components/common/icons/icons.module.ts b/src/components/common/icons/icons.module.ts similarity index 99% rename from src/app/components/common/icons/icons.module.ts rename to src/components/common/icons/icons.module.ts index c45e5bc..e93f338 100644 --- a/src/app/components/common/icons/icons.module.ts +++ b/src/components/common/icons/icons.module.ts @@ -1,29 +1,30 @@ +import { CommonModule } from '@angular/common'; import { NgModule } from '@angular/core'; -import { IconExpandLessComponent } from './expand_less/expand_less.component'; -import { IconExpandMoreComponent } from './expand_more/expand_more.component'; + +import { IconAtComponent } from './at/at.component'; import { IconBurgerMenuComponent } from './burger_menu/burger_menu.component'; +import { IconCalendarComponent } from './calendar/calendar.component'; +import { IconCloseComponent } from './close/close.component'; import { IconCogwheelComponent } from './cogwheel/cogwheel.component'; -import { IconUserComponent } from './user_icon/user_icon.component'; +import { IconExpandLessComponent } from './expand_less/expand_less.component'; +import { IconExpandMoreComponent } from './expand_more/expand_more.component'; +import { IconEyeComponent } from './eye/eye.component'; +import { IconFlagComponent } from './flag/flag.component'; import { IconHeartPlusComponent } from './heart_plus/heart_plus.component'; import { IconLaundryComponent } from './laundry/laundry.component'; import { IconMessagesComponent } from './messages/messages.component'; import { IconPartyHatComponent } from './party_hat/party_hat.component'; +import { IconPasswordComponent } from './password/password.component'; +import { IconPaymentsComponent } from './payments/payments.component'; +import { IconPencilComponent } from './pencil/pencil.component'; +import { IconPersonComponent } from './person/person.component'; import { IconPicturesComponent } from './pictures/pictures.component'; +import { IconPromotionComponent } from './promo_icon/promo_icon.component'; import { IconSearchComponent } from './search/search.component'; import { IconShoppingBasketComponent } from './shopping_basket/shopping_basket.component'; import { IconShoppingCartComponent } from './shopping_cart/shopping_cart.component'; -import { CommonModule } from '@angular/common'; -import { IconPersonComponent } from './person/person.component'; -import { IconPaymentsComponent } from './payments/payments.component'; -import { IconAtComponent } from './at/at.component'; -import { IconPasswordComponent } from './password/password.component'; -import { IconCalendarComponent } from './calendar/calendar.component'; -import { IconCloseComponent } from './close/close.component'; -import { IconPromotionComponent } from './promo_icon/promo_icon.component'; -import { IconPencilComponent } from './pencil/pencil.component'; -import { IconFlagComponent } from './flag/flag.component'; import { IconUploadComponent } from './upload/upload.component'; -import { IconEyeComponent } from './eye/eye.component'; +import { IconUserComponent } from './user_icon/user_icon.component'; @NgModule({ declarations: [ diff --git a/src/app/components/common/icons/icons.scss b/src/components/common/icons/icons.scss similarity index 100% rename from src/app/components/common/icons/icons.scss rename to src/components/common/icons/icons.scss diff --git a/src/app/components/common/icons/laundry/laundry.component.ts b/src/components/common/icons/laundry/laundry.component.ts similarity index 83% rename from src/app/components/common/icons/laundry/laundry.component.ts rename to src/components/common/icons/laundry/laundry.component.ts index 181839d..470acee 100644 --- a/src/app/components/common/icons/laundry/laundry.component.ts +++ b/src/components/common/icons/laundry/laundry.component.ts @@ -1,7 +1,7 @@ import { Component } from '@angular/core'; @Component({ - selector: 'icon-laundry', + selector: 'sith-icon-laundry', templateUrl: './laundry.svg', styleUrls: ['../icons.scss'], }) diff --git a/src/app/components/common/icons/laundry/laundry.svg b/src/components/common/icons/laundry/laundry.svg similarity index 100% rename from src/app/components/common/icons/laundry/laundry.svg rename to src/components/common/icons/laundry/laundry.svg diff --git a/src/app/components/common/icons/messages/messages.component.ts b/src/components/common/icons/messages/messages.component.ts similarity index 82% rename from src/app/components/common/icons/messages/messages.component.ts rename to src/components/common/icons/messages/messages.component.ts index d7c80f8..b80a5c6 100644 --- a/src/app/components/common/icons/messages/messages.component.ts +++ b/src/components/common/icons/messages/messages.component.ts @@ -1,7 +1,7 @@ import { Component } from '@angular/core'; @Component({ - selector: 'icon-messages', + selector: 'sith-icon-messages', templateUrl: './messages.svg', styleUrls: ['../icons.scss'], }) diff --git a/src/app/components/common/icons/messages/messages.svg b/src/components/common/icons/messages/messages.svg similarity index 100% rename from src/app/components/common/icons/messages/messages.svg rename to src/components/common/icons/messages/messages.svg diff --git a/src/app/components/common/icons/party_hat/party_hat.component.ts b/src/components/common/icons/party_hat/party_hat.component.ts similarity index 82% rename from src/app/components/common/icons/party_hat/party_hat.component.ts rename to src/components/common/icons/party_hat/party_hat.component.ts index b1a3395..fbcb9fc 100644 --- a/src/app/components/common/icons/party_hat/party_hat.component.ts +++ b/src/components/common/icons/party_hat/party_hat.component.ts @@ -1,7 +1,7 @@ import { Component } from '@angular/core'; @Component({ - selector: 'icon-party-hat', + selector: 'sith-icon-party-hat', templateUrl: './party_hat.svg', styleUrls: ['../icons.scss'], }) diff --git a/src/app/components/common/icons/party_hat/party_hat.svg b/src/components/common/icons/party_hat/party_hat.svg similarity index 100% rename from src/app/components/common/icons/party_hat/party_hat.svg rename to src/components/common/icons/party_hat/party_hat.svg diff --git a/src/app/components/common/icons/password/password.component.ts b/src/components/common/icons/password/password.component.ts similarity index 82% rename from src/app/components/common/icons/password/password.component.ts rename to src/components/common/icons/password/password.component.ts index 14b26e0..f22eb9f 100644 --- a/src/app/components/common/icons/password/password.component.ts +++ b/src/components/common/icons/password/password.component.ts @@ -1,7 +1,7 @@ import { Component } from '@angular/core'; @Component({ - selector: 'icon-password', + selector: 'sith-icon-password', templateUrl: './password.svg', styleUrls: ['../icons.scss'], }) diff --git a/src/app/components/common/icons/password/password.svg b/src/components/common/icons/password/password.svg similarity index 100% rename from src/app/components/common/icons/password/password.svg rename to src/components/common/icons/password/password.svg diff --git a/src/app/components/common/icons/payments/payments.component.ts b/src/components/common/icons/payments/payments.component.ts similarity index 82% rename from src/app/components/common/icons/payments/payments.component.ts rename to src/components/common/icons/payments/payments.component.ts index c4239b8..52040be 100644 --- a/src/app/components/common/icons/payments/payments.component.ts +++ b/src/components/common/icons/payments/payments.component.ts @@ -1,7 +1,7 @@ import { Component } from '@angular/core'; @Component({ - selector: 'icon-payments', + selector: 'sith-icon-payments', templateUrl: './payments.svg', styleUrls: ['../icons.scss'], }) diff --git a/src/app/components/common/icons/payments/payments.svg b/src/components/common/icons/payments/payments.svg similarity index 100% rename from src/app/components/common/icons/payments/payments.svg rename to src/components/common/icons/payments/payments.svg diff --git a/src/app/components/common/icons/pencil/pencil.component.ts b/src/components/common/icons/pencil/pencil.component.ts similarity index 83% rename from src/app/components/common/icons/pencil/pencil.component.ts rename to src/components/common/icons/pencil/pencil.component.ts index 35f1fc6..1430d3d 100644 --- a/src/app/components/common/icons/pencil/pencil.component.ts +++ b/src/components/common/icons/pencil/pencil.component.ts @@ -1,7 +1,7 @@ import { Component } from '@angular/core'; @Component({ - selector: 'icon-pencil', + selector: 'sith-icon-pencil', templateUrl: './pencil.svg', styleUrls: ['../icons.scss'], }) diff --git a/src/app/components/common/icons/pencil/pencil.svg b/src/components/common/icons/pencil/pencil.svg similarity index 100% rename from src/app/components/common/icons/pencil/pencil.svg rename to src/components/common/icons/pencil/pencil.svg diff --git a/src/app/components/common/icons/person/person.component.ts b/src/components/common/icons/person/person.component.ts similarity index 83% rename from src/app/components/common/icons/person/person.component.ts rename to src/components/common/icons/person/person.component.ts index 95d1770..1d1398a 100644 --- a/src/app/components/common/icons/person/person.component.ts +++ b/src/components/common/icons/person/person.component.ts @@ -1,7 +1,7 @@ import { Component } from '@angular/core'; @Component({ - selector: 'icon-person', + selector: 'sith-icon-person', templateUrl: './person.svg', styleUrls: ['../icons.scss'], }) diff --git a/src/app/components/common/icons/person/person.svg b/src/components/common/icons/person/person.svg similarity index 100% rename from src/app/components/common/icons/person/person.svg rename to src/components/common/icons/person/person.svg diff --git a/src/app/components/common/icons/pictures/pictures.component.ts b/src/components/common/icons/pictures/pictures.component.ts similarity index 82% rename from src/app/components/common/icons/pictures/pictures.component.ts rename to src/components/common/icons/pictures/pictures.component.ts index 876cbdb..895bbcb 100644 --- a/src/app/components/common/icons/pictures/pictures.component.ts +++ b/src/components/common/icons/pictures/pictures.component.ts @@ -1,7 +1,7 @@ import { Component } from '@angular/core'; @Component({ - selector: 'icon-pictures', + selector: 'sith-icon-pictures', templateUrl: './pictures.svg', styleUrls: ['../icons.scss'], }) diff --git a/src/app/components/common/icons/pictures/pictures.svg b/src/components/common/icons/pictures/pictures.svg similarity index 100% rename from src/app/components/common/icons/pictures/pictures.svg rename to src/components/common/icons/pictures/pictures.svg diff --git a/src/components/common/icons/promo_icon/promo_icon.component.ts b/src/components/common/icons/promo_icon/promo_icon.component.ts new file mode 100644 index 0000000..a80f2ff --- /dev/null +++ b/src/components/common/icons/promo_icon/promo_icon.component.ts @@ -0,0 +1,71 @@ +import { HttpClient } from '@angular/common/http'; +import { Component, Inject, Input, OnChanges, OnInit } from '@angular/core'; + +// import { Promotion } from '@__old/types/objects'; +import { environment } from '@environments/environment'; +import { DEFAULT_HEADERS } from '@utils/http'; + +@Component({ + selector: 'sith-icon-promotion', + templateUrl: './promo_icon.html', + styleUrls: ['../icons.scss', './promo_icon.scss'], +}) +export class IconPromotionComponent implements OnInit, OnChanges { + public picture?: string = undefined; + + @Input() public number?: number; + public id?: number; + + public constructor(@Inject(HttpClient) private readonly http: HttpClient) {} + + public ngOnChanges(): void { + this.setup(); + } + + public ngOnInit(): void { + this.setup(); + } + + public setup() { + if (!this.number) return; + this.id = undefined; + + // this.apollo + // .query<{ promotion: Promotion }>({ + // query: gql` + // query ($number: Int!) { + // promotion(number: $number) { + // id + // } + // } + // `, + // variables: { + // number: this.number, + // }, + // fetchPolicy: 'cache-first', + // errorPolicy: 'all', + // }) + // .subscribe(({ data, error }) => { + // if (!data || error) return; + // this.id = data['promotion'].id; + + // this.getPromoPicture(); + // }); + } + + public getPromoPicture() { + // this.http + // .get(`${environment.API_URL}/promotions/logo/${this.id}`, { + // headers: DEFAULT_HEADERS, + // responseType: 'arraybuffer', + // }) + // .subscribe({ + // next: (data) => { + // this.picture = data.toBase64(); + // }, + // error: () => { + // this.picture = undefined; + // }, + // }); + } +} diff --git a/src/app/components/common/icons/promo_icon/promo_icon.html b/src/components/common/icons/promo_icon/promo_icon.html similarity index 100% rename from src/app/components/common/icons/promo_icon/promo_icon.html rename to src/components/common/icons/promo_icon/promo_icon.html diff --git a/src/app/components/common/icons/promo_icon/promo_icon.scss b/src/components/common/icons/promo_icon/promo_icon.scss similarity index 100% rename from src/app/components/common/icons/promo_icon/promo_icon.scss rename to src/components/common/icons/promo_icon/promo_icon.scss diff --git a/src/app/components/common/icons/search/search.component.ts b/src/components/common/icons/search/search.component.ts similarity index 83% rename from src/app/components/common/icons/search/search.component.ts rename to src/components/common/icons/search/search.component.ts index a60e26e..439df47 100644 --- a/src/app/components/common/icons/search/search.component.ts +++ b/src/components/common/icons/search/search.component.ts @@ -1,7 +1,7 @@ import { Component } from '@angular/core'; @Component({ - selector: 'icon-search', + selector: 'sith-icon-search', templateUrl: './search.svg', styleUrls: ['../icons.scss'], }) diff --git a/src/app/components/common/icons/search/search.svg b/src/components/common/icons/search/search.svg similarity index 100% rename from src/app/components/common/icons/search/search.svg rename to src/components/common/icons/search/search.svg diff --git a/src/app/components/common/icons/shopping_basket/shopping_basket.component.ts b/src/components/common/icons/shopping_basket/shopping_basket.component.ts similarity index 81% rename from src/app/components/common/icons/shopping_basket/shopping_basket.component.ts rename to src/components/common/icons/shopping_basket/shopping_basket.component.ts index 95042e4..d9e15dd 100644 --- a/src/app/components/common/icons/shopping_basket/shopping_basket.component.ts +++ b/src/components/common/icons/shopping_basket/shopping_basket.component.ts @@ -1,7 +1,7 @@ import { Component } from '@angular/core'; @Component({ - selector: 'icon-shopping-basket', + selector: 'sith-icon-shopping-basket', templateUrl: './shopping_basket.svg', styleUrls: ['../icons.scss'], }) diff --git a/src/app/components/common/icons/shopping_basket/shopping_basket.svg b/src/components/common/icons/shopping_basket/shopping_basket.svg similarity index 100% rename from src/app/components/common/icons/shopping_basket/shopping_basket.svg rename to src/components/common/icons/shopping_basket/shopping_basket.svg diff --git a/src/app/components/common/icons/shopping_cart/shopping_cart.component.ts b/src/components/common/icons/shopping_cart/shopping_cart.component.ts similarity index 81% rename from src/app/components/common/icons/shopping_cart/shopping_cart.component.ts rename to src/components/common/icons/shopping_cart/shopping_cart.component.ts index 627aa14..c2fbd5a 100644 --- a/src/app/components/common/icons/shopping_cart/shopping_cart.component.ts +++ b/src/components/common/icons/shopping_cart/shopping_cart.component.ts @@ -1,7 +1,7 @@ import { Component } from '@angular/core'; @Component({ - selector: 'icon-shopping-cart', + selector: 'sith-icon-shopping-cart', templateUrl: './shopping_cart.svg', styleUrls: ['../icons.scss'], }) diff --git a/src/app/components/common/icons/shopping_cart/shopping_cart.svg b/src/components/common/icons/shopping_cart/shopping_cart.svg similarity index 100% rename from src/app/components/common/icons/shopping_cart/shopping_cart.svg rename to src/components/common/icons/shopping_cart/shopping_cart.svg diff --git a/src/app/components/common/icons/upload/upload.component.ts b/src/components/common/icons/upload/upload.component.ts similarity index 83% rename from src/app/components/common/icons/upload/upload.component.ts rename to src/components/common/icons/upload/upload.component.ts index 7efc7ea..fbb8fad 100644 --- a/src/app/components/common/icons/upload/upload.component.ts +++ b/src/components/common/icons/upload/upload.component.ts @@ -1,7 +1,7 @@ import { Component } from '@angular/core'; @Component({ - selector: 'icon-upload', + selector: 'sith-icon-upload', templateUrl: './upload.svg', styleUrls: ['../icons.scss'], }) diff --git a/src/app/components/common/icons/upload/upload.svg b/src/components/common/icons/upload/upload.svg similarity index 100% rename from src/app/components/common/icons/upload/upload.svg rename to src/components/common/icons/upload/upload.svg diff --git a/src/app/components/common/icons/user_icon/user_icon.component.spec.ts b/src/components/common/icons/user_icon/user_icon.component.spec.ts similarity index 99% rename from src/app/components/common/icons/user_icon/user_icon.component.spec.ts rename to src/components/common/icons/user_icon/user_icon.component.spec.ts index ca75fa0..9f6631d 100644 --- a/src/app/components/common/icons/user_icon/user_icon.component.spec.ts +++ b/src/components/common/icons/user_icon/user_icon.component.spec.ts @@ -1,4 +1,5 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; + import { IconUserIconComponent } from './user_icon.component'; describe('IconUserIconComponent', () => { diff --git a/src/app/components/common/icons/user_icon/user_icon.component.ts b/src/components/common/icons/user_icon/user_icon.component.ts similarity index 92% rename from src/app/components/common/icons/user_icon/user_icon.component.ts rename to src/components/common/icons/user_icon/user_icon.component.ts index c4baf97..f035492 100644 --- a/src/app/components/common/icons/user_icon/user_icon.component.ts +++ b/src/components/common/icons/user_icon/user_icon.component.ts @@ -1,7 +1,7 @@ import { Component, Input } from '@angular/core'; @Component({ - selector: 'icon-user', + selector: 'sith-icon-user', templateUrl: './user_icon.html', styleUrls: ['../icons.scss', './user_icon.scss'], }) diff --git a/src/app/components/common/icons/user_icon/user_icon.html b/src/components/common/icons/user_icon/user_icon.html similarity index 100% rename from src/app/components/common/icons/user_icon/user_icon.html rename to src/components/common/icons/user_icon/user_icon.html diff --git a/src/app/components/common/icons/user_icon/user_icon.scss b/src/components/common/icons/user_icon/user_icon.scss similarity index 100% rename from src/app/components/common/icons/user_icon/user_icon.scss rename to src/components/common/icons/user_icon/user_icon.scss diff --git a/src/app/components/common/image_cropper/image-cropper.component.spec.ts b/src/components/common/image_cropper/image-cropper.component.spec.ts similarity index 100% rename from src/app/components/common/image_cropper/image-cropper.component.spec.ts rename to src/components/common/image_cropper/image-cropper.component.spec.ts diff --git a/src/app/components/common/image_cropper/image-cropper.component.ts b/src/components/common/image_cropper/image-cropper.component.ts similarity index 87% rename from src/app/components/common/image_cropper/image-cropper.component.ts rename to src/components/common/image_cropper/image-cropper.component.ts index f6b4b9c..f8433ca 100644 --- a/src/app/components/common/image_cropper/image-cropper.component.ts +++ b/src/components/common/image_cropper/image-cropper.component.ts @@ -1,5 +1,4 @@ -import type { ImageCropperResult, ImageCropperSetting, base64 } from 'src/types'; -import Cropper from 'cropperjs'; +import type { ImageCropperResult, ImageCropperSetting, base64 } from '@__old/types/index'; import { Component, @@ -11,6 +10,7 @@ import { EventEmitter, Output, } from '@angular/core'; +import Cropper from 'cropperjs'; @Component({ selector: 'sith-image-cropper', @@ -73,19 +73,19 @@ export class ImageCropperComponent implements OnDestroy { // Set crop options // extend default with custom config - this.cropperOptions = Object.merge( - { - aspectRatio, - movable: false, - scalable: false, - zoomable: false, - viewMode: 1, - checkCrossOrigin: true, - }, - { - ...this.cropperOptions, - }, - ); + // this.cropperOptions = Object.merge( + // { + // aspectRatio, + // movable: false, + // scalable: false, + // zoomable: false, + // viewMode: 1, + // checkCrossOrigin: true, + // }, + // { + // ...this.cropperOptions, + // }, + // ); // Set cropperjs if (this.cropper) { @@ -117,8 +117,8 @@ export class ImageCropperComponent implements OnDestroy { }); // Emit export data when promise is ready - promise.then((res) => { - this.export.emit(Object.merge(data, res)); - }); + // promise.then((res) => { + // this.export.emit(Object.merge(data, res)); + // }); } } diff --git a/src/app/components/common/image_cropper/image-cropper.html b/src/components/common/image_cropper/image-cropper.html similarity index 100% rename from src/app/components/common/image_cropper/image-cropper.html rename to src/components/common/image_cropper/image-cropper.html diff --git a/src/app/components/common/image_cropper/image-cropper.scss b/src/components/common/image_cropper/image-cropper.scss similarity index 100% rename from src/app/components/common/image_cropper/image-cropper.scss rename to src/components/common/image_cropper/image-cropper.scss diff --git a/src/app/components/common/text_size_selector/text_size_selector.component.ts b/src/components/common/selectors/font_size/font_size_selector.component.ts similarity index 69% rename from src/app/components/common/text_size_selector/text_size_selector.component.ts rename to src/components/common/selectors/font_size/font_size_selector.component.ts index 29aabd8..471cc44 100644 --- a/src/app/components/common/text_size_selector/text_size_selector.component.ts +++ b/src/components/common/selectors/font_size/font_size_selector.component.ts @@ -1,26 +1,28 @@ +import type { FontSize } from '#types/sith'; + import { Component, Inject } from '@angular/core'; import { TranslateService } from '@ngx-translate/core'; -import { PageService } from 'src/app/services/page.service'; -import { FontSize } from 'src/types'; + +import { PageService } from '@services/page.service'; @Component({ - selector: 'sith-text-size-selector', - templateUrl: './text_size_selector.html', - styleUrls: ['./text_size_selector.scss'], + selector: 'sith-font-size-selector', + templateUrl: './font_size_selector.html', + styleUrls: ['./font_size_selector.scss'], }) export class FontSizeSelectorComponent { - public readonly sizes: Array<{ class: string; label: string; value: FontSize }> = [ - { class: 'small', label: 'header.options.font_size.small', value: '0.75' }, - { class: 'medium', label: 'header.options.font_size.medium', value: '1' }, - { class: 'large', label: 'header.options.font_size.large', value: '1.25' }, - ]; - public constructor( @Inject(PageService) public readonly page: PageService, @Inject(TranslateService) public readonly t: TranslateService, ) { this.sizes.forEach((size) => { - t.get(size.label).subscribe((label) => (size.label = label)); + t.get(size.label).subscribe((label: string) => (size.label = label)); }); } + + public readonly sizes: Array<{ class: string; label: string; value: FontSize }> = [ + { class: 'small', label: 'header.options.font_size.small', value: '0.75' }, + { class: 'medium', label: 'header.options.font_size.medium', value: '1' }, + { class: 'large', label: 'header.options.font_size.large', value: '1.25' }, + ]; } diff --git a/src/components/common/selectors/font_size/font_size_selector.html b/src/components/common/selectors/font_size/font_size_selector.html new file mode 100644 index 0000000..5bcf099 --- /dev/null +++ b/src/components/common/selectors/font_size/font_size_selector.html @@ -0,0 +1,5 @@ + +
+ +
diff --git a/src/app/components/common/text_size_selector/text_size_selector.scss b/src/components/common/selectors/font_size/font_size_selector.scss similarity index 100% rename from src/app/components/common/text_size_selector/text_size_selector.scss rename to src/components/common/selectors/font_size/font_size_selector.scss diff --git a/src/app/components/common/lang_selector/lang_selector.component.spec.ts b/src/components/common/selectors/lang/lang_selector.component.spec.ts similarity index 90% rename from src/app/components/common/lang_selector/lang_selector.component.spec.ts rename to src/components/common/selectors/lang/lang_selector.component.spec.ts index 0a14ef5..daaff5b 100644 --- a/src/app/components/common/lang_selector/lang_selector.component.spec.ts +++ b/src/components/common/selectors/lang/lang_selector.component.spec.ts @@ -1,8 +1,10 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { TranslateModule } from '@ngx-translate/core'; + +import { PageService } from '@services/page.service'; + import { LangSelectorComponent } from './lang_selector.component'; -import { PageService } from 'src/app/services/page.service'; -import { CommonComponentsModule } from '../common.module'; +import { CommonComponentsModule } from '../../common.module'; describe('MobileLangSelectorComponent', () => { let component: LangSelectorComponent; diff --git a/src/app/components/common/lang_selector/lang_selector.component.ts b/src/components/common/selectors/lang/lang_selector.component.ts similarity index 81% rename from src/app/components/common/lang_selector/lang_selector.component.ts rename to src/components/common/selectors/lang/lang_selector.component.ts index 081dc3b..d4d3dab 100644 --- a/src/app/components/common/lang_selector/lang_selector.component.ts +++ b/src/components/common/selectors/lang/lang_selector.component.ts @@ -1,16 +1,17 @@ -import { Component, Inject } from '@angular/core'; -import { getLanguageCompletion, LANGUAGES } from 'src/utils'; -import { Observable } from 'rxjs'; -import { PageService } from 'src/app/services/page.service'; +import { Component, Inject, OnInit } from '@angular/core'; import { TranslateService } from '@ngx-translate/core'; -import { SelectComponentOption } from 'src/types'; +import { Observable } from 'rxjs'; + +import { SelectComponentOption } from '@__old/types'; +import { PageService } from '@services/page.service'; +import { getLanguageCompletion, LANGUAGES } from '@utils/i18n'; @Component({ selector: 'sith-lang-selector', templateUrl: './lang_selector.html', styleUrls: ['./lang_selector.scss'], }) -export class LangSelectorComponent { +export class LangSelectorComponent implements OnInit { public langs: SelectComponentOption[] = LANGUAGES.map((lang) => ({ value: lang.filename, label: lang.label, diff --git a/src/app/components/common/lang_selector/lang_selector.html b/src/components/common/selectors/lang/lang_selector.html similarity index 100% rename from src/app/components/common/lang_selector/lang_selector.html rename to src/components/common/selectors/lang/lang_selector.html diff --git a/src/app/components/common/lang_selector/lang_selector.scss b/src/components/common/selectors/lang/lang_selector.scss similarity index 100% rename from src/app/components/common/lang_selector/lang_selector.scss rename to src/components/common/selectors/lang/lang_selector.scss diff --git a/src/app/components/common/select/select.component.spec.ts b/src/components/common/selectors/select/select.component.spec.ts similarity index 98% rename from src/app/components/common/select/select.component.spec.ts rename to src/components/common/selectors/select/select.component.spec.ts index fa9f3fb..a5b1109 100644 --- a/src/app/components/common/select/select.component.spec.ts +++ b/src/components/common/selectors/select/select.component.spec.ts @@ -1,11 +1,12 @@ +import { DebugElement } from '@angular/core'; import { ComponentFixture, TestBed } from '@angular/core/testing'; import { By } from '@angular/platform-browser'; -import { DebugElement } from '@angular/core'; +import { TranslateModule } from '@ngx-translate/core'; -import { SelectComponent } from './select.component'; -import { IconsModule } from '../icons/icons.module'; import type { SelectComponentOption } from 'src/types'; -import { TranslateModule } from '@ngx-translate/core'; + +import { SelectComponent } from './select.component'; +import { IconsModule } from '../../icons/icons.module'; describe('SelectComponent', () => { let component: SelectComponent; diff --git a/src/app/components/common/select/select.component.ts b/src/components/common/selectors/select/select.component.ts similarity index 92% rename from src/app/components/common/select/select.component.ts rename to src/components/common/selectors/select/select.component.ts index 2187b37..7e19954 100644 --- a/src/app/components/common/select/select.component.ts +++ b/src/components/common/selectors/select/select.component.ts @@ -1,6 +1,8 @@ +import type { SelectComponentOption } from '@__old/types/index'; + import { Component, EventEmitter, Inject, Input, Output } from '@angular/core'; -import { PageService } from 'src/app/services/page.service'; -import { SelectComponentOption } from 'src/types'; + +import { PageService } from '@services/page.service'; @Component({ selector: 'sith-select', diff --git a/src/app/components/common/select/select.html b/src/components/common/selectors/select/select.html similarity index 78% rename from src/app/components/common/select/select.html rename to src/components/common/selectors/select/select.html index 7671ee5..8709740 100644 --- a/src/app/components/common/select/select.html +++ b/src/components/common/selectors/select/select.html @@ -9,8 +9,8 @@ {{ selectedOption.label }}
- - + +
- - + + + +
diff --git a/src/app/components/common/side_menu/side_disconnected/side_disconnected.scss b/src/components/common/side_menu/side_disconnected/side_disconnected.scss similarity index 100% rename from src/app/components/common/side_menu/side_disconnected/side_disconnected.scss rename to src/components/common/side_menu/side_disconnected/side_disconnected.scss diff --git a/src/app/components/common/side_menu/side_menu.component.spec.ts b/src/components/common/side_menu/side_menu.component.spec.ts similarity index 94% rename from src/app/components/common/side_menu/side_menu.component.spec.ts rename to src/components/common/side_menu/side_menu.component.spec.ts index 0362b41..20aeb40 100644 --- a/src/app/components/common/side_menu/side_menu.component.spec.ts +++ b/src/components/common/side_menu/side_menu.component.spec.ts @@ -1,8 +1,10 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; -import { PageService } from 'src/app/services/page.service'; -import { SideMenuComponent } from './side_menu.component'; import { TranslateModule } from '@ngx-translate/core'; +import { PageService } from '@services/page.service'; + +import { SideMenuComponent } from './side_menu.component'; + describe('SideMenuComponent', () => { let component: SideMenuComponent; let fixture: ComponentFixture; diff --git a/src/app/components/common/side_menu/side_menu.component.ts b/src/components/common/side_menu/side_menu.component.ts similarity index 66% rename from src/app/components/common/side_menu/side_menu.component.ts rename to src/components/common/side_menu/side_menu.component.ts index 8cbe3c6..307df5e 100644 --- a/src/app/components/common/side_menu/side_menu.component.ts +++ b/src/components/common/side_menu/side_menu.component.ts @@ -1,5 +1,6 @@ import { Component, EventEmitter, Inject, Output } from '@angular/core'; -import { PageService } from 'src/app/services/page.service'; + +import { PageService } from '@services/page.service'; @Component({ selector: 'sith-side-menu', @@ -7,17 +8,19 @@ import { PageService } from 'src/app/services/page.service'; styleUrls: ['./side_menu.scss'], }) export class SideMenuComponent { + public constructor(@Inject(PageService) public readonly page: PageService) {} + + @Output() public sideMenuClose = new EventEmitter(); private _closing = false; - @Output() public close = new EventEmitter(); - public constructor(@Inject(PageService) public readonly page: PageService) {} + public triggerClose(event?: KeyboardEvent): void { + if (event && event.key !== 'Escape') return; - public triggerClose(): void { this._closing = true; setTimeout(() => { + this.sideMenuClose.emit(); this._closing = false; - this.close.emit(); }, 500); } diff --git a/src/components/common/side_menu/side_menu.html b/src/components/common/side_menu/side_menu.html new file mode 100644 index 0000000..8ae096e --- /dev/null +++ b/src/components/common/side_menu/side_menu.html @@ -0,0 +1,6 @@ +
+
+
+ +
+
diff --git a/src/app/components/common/side_menu/side_menu.scss b/src/components/common/side_menu/side_menu.scss similarity index 100% rename from src/app/components/common/side_menu/side_menu.scss rename to src/components/common/side_menu/side_menu.scss diff --git a/src/app/components/common/side_menu/side_options/side_options.component.ts b/src/components/common/side_menu/side_options/side_options.component.ts similarity index 82% rename from src/app/components/common/side_menu/side_options/side_options.component.ts rename to src/components/common/side_menu/side_options/side_options.component.ts index 5a7aa3e..3e73478 100644 --- a/src/app/components/common/side_menu/side_options/side_options.component.ts +++ b/src/components/common/side_menu/side_options/side_options.component.ts @@ -1,5 +1,6 @@ import { Component, Inject } from '@angular/core'; -import { UserService } from 'src/app/services/user.service'; + +import { UserService } from '@services/user.service'; @Component({ selector: 'sith-side-menu-options', diff --git a/src/app/components/common/side_menu/side_options/side_options.html b/src/components/common/side_menu/side_options/side_options.html similarity index 92% rename from src/app/components/common/side_menu/side_options/side_options.html rename to src/components/common/side_menu/side_options/side_options.html index 3af0b4e..fd7da3e 100644 --- a/src/app/components/common/side_menu/side_options/side_options.html +++ b/src/components/common/side_menu/side_options/side_options.html @@ -2,7 +2,7 @@ - +
diff --git a/src/app/components/common/side_menu/side_options/side_options.scss b/src/components/common/side_menu/side_options/side_options.scss similarity index 100% rename from src/app/components/common/side_menu/side_options/side_options.scss rename to src/components/common/side_menu/side_options/side_options.scss diff --git a/src/app/components/common/side_menu/side_profile/side_profile.component.spec.ts b/src/components/common/side_menu/side_profile/side_profile.component.spec.ts similarity index 86% rename from src/app/components/common/side_menu/side_profile/side_profile.component.spec.ts rename to src/components/common/side_menu/side_profile/side_profile.component.spec.ts index d25599d..945daf0 100644 --- a/src/app/components/common/side_menu/side_profile/side_profile.component.spec.ts +++ b/src/components/common/side_menu/side_profile/side_profile.component.spec.ts @@ -1,7 +1,9 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { TranslateModule } from '@ngx-translate/core'; -import { PageService } from 'src/app/services/page.service'; -import { UserService } from 'src/app/services/user.service'; + +import { PageService } from '@services/page.service'; +import { UserService } from '@services/user.service'; + import { SideMenuProfileComponent } from './side_profile.component'; import { IconsModule } from '../../icons/icons.module'; @@ -29,7 +31,7 @@ describe('SideMenuProfileComponent', () => { describe('logout', () => { it('should call close.emit and u.logout', () => { - const closeSpy = spyOn(component.close, 'emit'); + const closeSpy = spyOn(component.sideMenuProfileClose, 'emit'); const logoutSpy = spyOn(component.user, 'logout'); component.logout(); diff --git a/src/app/components/common/side_menu/side_profile/side_profile.component.ts b/src/components/common/side_menu/side_profile/side_profile.component.ts similarity index 60% rename from src/app/components/common/side_menu/side_profile/side_profile.component.ts rename to src/components/common/side_menu/side_profile/side_profile.component.ts index e3a08ca..0c18872 100644 --- a/src/app/components/common/side_menu/side_profile/side_profile.component.ts +++ b/src/components/common/side_menu/side_profile/side_profile.component.ts @@ -1,6 +1,7 @@ import { Component, EventEmitter, Inject, Output } from '@angular/core'; -import { PageService } from 'src/app/services/page.service'; -import { UserService } from 'src/app/services/user.service'; + +import { PageService } from '@services/page.service'; +import { UserService } from '@services/user.service'; @Component({ selector: 'sith-side-menu-profile', @@ -8,20 +9,20 @@ import { UserService } from 'src/app/services/user.service'; styleUrls: ['./side_profile.scss'], }) export class SideMenuProfileComponent { - @Output() public close = new EventEmitter(); - public constructor( @Inject(UserService) public readonly user: UserService, @Inject(PageService) public readonly page: PageService, ) {} + @Output() public sideMenuProfileClose = new EventEmitter(); + public logout(): void { - this.close.emit(); + this.sideMenuProfileClose.emit(); this.user.logout(); } public goto(route: 'profile' | 'payments' | 'pictures'): void { - this.page.route = `users/${this.user.id}${route === 'profile' ? '' : `/${route}`}`; - this.close.emit(); + // this.page.route = `users/${this.user.id}${route === 'profile' ? '' : `/${route}`}`; + this.sideMenuProfileClose.emit(); } } diff --git a/src/app/components/common/side_menu/side_profile/side_profile.html b/src/components/common/side_menu/side_profile/side_profile.html similarity index 61% rename from src/app/components/common/side_menu/side_profile/side_profile.html rename to src/components/common/side_menu/side_profile/side_profile.html index 31a0371..7ba4e10 100644 --- a/src/app/components/common/side_menu/side_profile/side_profile.html +++ b/src/components/common/side_menu/side_profile/side_profile.html @@ -4,11 +4,11 @@ [ngClass]="{ 'has-banner': user.banner !== undefined }" [ngStyle]="{ 'background-image': user.banner ? 'url(' + user.banner + ')' : '' }" > - +
- -
+ +
{{ user.fullName }} {{ user.balance }} € @@ -17,16 +17,19 @@
diff --git a/src/app/components/common/side_menu/side_profile/side_profile.scss b/src/components/common/side_menu/side_profile/side_profile.scss similarity index 100% rename from src/app/components/common/side_menu/side_profile/side_profile.scss rename to src/components/common/side_menu/side_profile/side_profile.scss diff --git a/src/app/components/common/subtitle/subtitle.component.spec.ts b/src/components/common/subtitle/subtitle.component.spec.ts similarity index 96% rename from src/app/components/common/subtitle/subtitle.component.spec.ts rename to src/components/common/subtitle/subtitle.component.spec.ts index fef53db..0a8929c 100644 --- a/src/app/components/common/subtitle/subtitle.component.spec.ts +++ b/src/components/common/subtitle/subtitle.component.spec.ts @@ -1,8 +1,10 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; -import { SubtitleComponent } from './subtitle.component'; -import { PageService } from 'src/app/services/page.service'; import { TranslateModule } from '@ngx-translate/core'; +import { PageService } from '@services/page.service'; + +import { SubtitleComponent } from './subtitle.component'; + describe('SubtitleComponent', () => { let component: SubtitleComponent; let fixture: ComponentFixture; diff --git a/src/app/components/common/subtitle/subtitle.component.ts b/src/components/common/subtitle/subtitle.component.ts similarity index 86% rename from src/app/components/common/subtitle/subtitle.component.ts rename to src/components/common/subtitle/subtitle.component.ts index e4efb4e..ce03396 100644 --- a/src/app/components/common/subtitle/subtitle.component.ts +++ b/src/components/common/subtitle/subtitle.component.ts @@ -1,5 +1,6 @@ import { Component, Inject, Input } from '@angular/core'; -import { PageService } from 'src/app/services/page.service'; + +import { PageService } from '@services/page.service'; @Component({ selector: 'sith-subtitle', diff --git a/src/components/common/subtitle/subtitle.html b/src/components/common/subtitle/subtitle.html new file mode 100644 index 0000000..c95c42a --- /dev/null +++ b/src/components/common/subtitle/subtitle.html @@ -0,0 +1 @@ +

{{ text }}

diff --git a/src/app/components/common/subtitle/subtitle.scss b/src/components/common/subtitle/subtitle.scss similarity index 100% rename from src/app/components/common/subtitle/subtitle.scss rename to src/components/common/subtitle/subtitle.scss diff --git a/src/app/components/common/title/title.component.ts b/src/components/common/title/title.component.ts similarity index 100% rename from src/app/components/common/title/title.component.ts rename to src/components/common/title/title.component.ts diff --git a/src/app/components/common/title/title.html b/src/components/common/title/title.html similarity index 100% rename from src/app/components/common/title/title.html rename to src/components/common/title/title.html diff --git a/src/app/components/common/title/title.scss b/src/components/common/title/title.scss similarity index 100% rename from src/app/components/common/title/title.scss rename to src/components/common/title/title.scss diff --git a/src/app/components/components.module.ts b/src/components/components.module.ts similarity index 99% rename from src/app/components/components.module.ts rename to src/components/components.module.ts index 83cdb52..f7e03af 100644 --- a/src/app/components/components.module.ts +++ b/src/components/components.module.ts @@ -1,8 +1,9 @@ import { NgModule } from '@angular/core'; import { RouterModule } from '@angular/router'; -import { MobileComponentsModule } from './mobile/mobile.module'; -import { DesktopComponentsModule } from './desktop/desktop.module'; + import { CommonComponentsModule } from './common/common.module'; +import { DesktopComponentsModule } from './desktop/desktop.module'; +import { MobileComponentsModule } from './mobile/mobile.module'; @NgModule({ declarations: [], diff --git a/src/app/components/desktop/desktop.module.ts b/src/components/desktop/desktop.module.ts similarity index 66% rename from src/app/components/desktop/desktop.module.ts rename to src/components/desktop/desktop.module.ts index 2e274c6..78acc72 100644 --- a/src/app/components/desktop/desktop.module.ts +++ b/src/components/desktop/desktop.module.ts @@ -1,14 +1,14 @@ import { CommonModule } from '@angular/common'; import { NgModule } from '@angular/core'; import { TranslateModule } from '@ngx-translate/core'; -import { CommonComponentsModule } from '../common/common.module'; + import { DesktopHeaderComponent } from './header/header.component'; import { DesktopNavbarComponent } from './navbar/navbar.component'; -import { DesktopAlertComponent } from './alert/alert.component'; +import { CommonComponentsModule } from '../common/common.module'; @NgModule({ - declarations: [DesktopHeaderComponent, DesktopNavbarComponent, DesktopAlertComponent], - exports: [DesktopHeaderComponent, DesktopNavbarComponent, DesktopAlertComponent], + declarations: [DesktopHeaderComponent, DesktopNavbarComponent], + exports: [DesktopHeaderComponent, DesktopNavbarComponent], imports: [CommonModule, CommonComponentsModule, TranslateModule], }) export class DesktopComponentsModule {} diff --git a/src/app/components/desktop/header/header.component.spec.ts b/src/components/desktop/header/header.component.spec.ts similarity index 96% rename from src/app/components/desktop/header/header.component.spec.ts rename to src/components/desktop/header/header.component.spec.ts index 8778d80..991d644 100644 --- a/src/app/components/desktop/header/header.component.spec.ts +++ b/src/components/desktop/header/header.component.spec.ts @@ -1,8 +1,10 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { TranslateModule } from '@ngx-translate/core'; -import { PageService } from 'src/app/services/page.service'; -import { CommonComponentsModule } from '../../common/common.module'; + +import { PageService } from '@services/page.service'; + import { DesktopHeaderComponent } from './header.component'; +import { CommonComponentsModule } from '../../common/common.module'; describe('DesktopHeaderComponent', () => { let component: DesktopHeaderComponent; diff --git a/src/app/components/desktop/header/header.component.ts b/src/components/desktop/header/header.component.ts similarity index 85% rename from src/app/components/desktop/header/header.component.ts rename to src/components/desktop/header/header.component.ts index f052058..fb99ba0 100644 --- a/src/app/components/desktop/header/header.component.ts +++ b/src/components/desktop/header/header.component.ts @@ -1,6 +1,7 @@ import { Component, Inject } from '@angular/core'; -import { PageService } from 'src/app/services/page.service'; -import { UserService } from 'src/app/services/user.service'; + +import { PageService } from '@services/page.service'; +import { UserService } from '@services/user.service'; @Component({ selector: 'sith-desktop-header', diff --git a/src/components/desktop/header/header.html b/src/components/desktop/header/header.html new file mode 100644 index 0000000..9a63b7d --- /dev/null +++ b/src/components/desktop/header/header.html @@ -0,0 +1,31 @@ +
+ +
+ AE's logo +
+ Association des Étudiants + de l'université de technologie de Belfort-Montbéliard +
+
+ +
+ + + + + +
+
+ + + + + + + + + + + + diff --git a/src/app/components/desktop/header/header.scss b/src/components/desktop/header/header.scss similarity index 100% rename from src/app/components/desktop/header/header.scss rename to src/components/desktop/header/header.scss diff --git a/src/app/components/desktop/navbar/navbar.component.ts b/src/components/desktop/navbar/navbar.component.ts similarity index 73% rename from src/app/components/desktop/navbar/navbar.component.ts rename to src/components/desktop/navbar/navbar.component.ts index fc06b5c..2a0c884 100644 --- a/src/app/components/desktop/navbar/navbar.component.ts +++ b/src/components/desktop/navbar/navbar.component.ts @@ -1,6 +1,7 @@ import { Component, Inject } from '@angular/core'; -import { PageService } from 'src/app/services/page.service'; -import { UserService } from 'src/app/services/user.service'; + +import { PageService } from '@services/page.service'; +import { UserService } from '@services/user.service'; @Component({ selector: 'sith-desktop-navbar', diff --git a/src/components/desktop/navbar/navbar.html b/src/components/desktop/navbar/navbar.html new file mode 100644 index 0000000..d026823 --- /dev/null +++ b/src/components/desktop/navbar/navbar.html @@ -0,0 +1,26 @@ + diff --git a/src/app/components/desktop/navbar/navbar.scss b/src/components/desktop/navbar/navbar.scss similarity index 92% rename from src/app/components/desktop/navbar/navbar.scss rename to src/components/desktop/navbar/navbar.scss index 0f6b184..f0f8043 100644 --- a/src/app/components/desktop/navbar/navbar.scss +++ b/src/components/desktop/navbar/navbar.scss @@ -7,7 +7,7 @@ background-color: var(--gray1); height: 40px; gap: 20px; - border-radius: 5px; + box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25); > .link { cursor: pointer; @@ -38,4 +38,4 @@ color: var(--text-color-dynamic); } } -} \ No newline at end of file +} diff --git a/src/app/components/mobile/header/header.component.spec.ts b/src/components/mobile/header/header.component.spec.ts similarity index 92% rename from src/app/components/mobile/header/header.component.spec.ts rename to src/components/mobile/header/header.component.spec.ts index fdbb66a..df570d4 100644 --- a/src/app/components/mobile/header/header.component.spec.ts +++ b/src/components/mobile/header/header.component.spec.ts @@ -1,9 +1,10 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; +import { TranslateModule, TranslateService } from '@ngx-translate/core'; + +import { PageService } from '@services/page.service'; +import { UserService } from '@services/user.service'; import { MobileHeaderComponent } from './header.component'; -import { PageService } from 'src/app/services/page.service'; -import { UserService } from 'src/app/services/user.service'; -import { TranslateModule, TranslateService } from '@ngx-translate/core'; import { MobileComponentsModule } from '../mobile.module'; describe('MobileHeaderComponent', () => { diff --git a/src/app/components/mobile/header/header.component.ts b/src/components/mobile/header/header.component.ts similarity index 85% rename from src/app/components/mobile/header/header.component.ts rename to src/components/mobile/header/header.component.ts index 78e14d2..6b86ddd 100644 --- a/src/app/components/mobile/header/header.component.ts +++ b/src/components/mobile/header/header.component.ts @@ -1,6 +1,7 @@ import { Component, Inject } from '@angular/core'; -import { PageService } from 'src/app/services/page.service'; -import { UserService } from 'src/app/services/user.service'; + +import { PageService } from '@services/page.service'; +import { UserService } from '@services/user.service'; @Component({ selector: 'sith-mobile-header', diff --git a/src/app/components/mobile/header/header.html b/src/components/mobile/header/header.html similarity index 59% rename from src/app/components/mobile/header/header.html rename to src/components/mobile/header/header.html index 1048890..e3702f1 100644 --- a/src/app/components/mobile/header/header.html +++ b/src/components/mobile/header/header.html @@ -1,10 +1,11 @@
- + +
- - + - +
diff --git a/src/app/components/mobile/header/header.scss b/src/components/mobile/header/header.scss similarity index 100% rename from src/app/components/mobile/header/header.scss rename to src/components/mobile/header/header.scss diff --git a/src/app/components/mobile/mobile.module.ts b/src/components/mobile/mobile.module.ts similarity index 69% rename from src/app/components/mobile/mobile.module.ts rename to src/components/mobile/mobile.module.ts index 7365c06..298e0dd 100644 --- a/src/app/components/mobile/mobile.module.ts +++ b/src/components/mobile/mobile.module.ts @@ -1,15 +1,15 @@ -import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; -import { CommonComponentsModule } from '../common/common.module'; +import { NgModule } from '@angular/core'; +import { RouterModule } from '@angular/router'; import { TranslateModule } from '@ngx-translate/core'; -import { MobileNavbarComponent } from './navbar/navbar.component'; + import { MobileHeaderComponent } from './header/header.component'; -import { RouterModule } from '@angular/router'; -import { MobileAlertComponent } from './alert/alert.component'; +import { MobileNavbarComponent } from './navbar/navbar.component'; +import { CommonComponentsModule } from '../common/common.module'; @NgModule({ - declarations: [MobileHeaderComponent, MobileNavbarComponent, MobileAlertComponent], - exports: [MobileHeaderComponent, MobileNavbarComponent, MobileAlertComponent], + declarations: [MobileHeaderComponent, MobileNavbarComponent], + exports: [MobileHeaderComponent, MobileNavbarComponent], imports: [CommonModule, CommonComponentsModule, TranslateModule, RouterModule], }) export class MobileComponentsModule {} diff --git a/src/app/components/mobile/navbar/navbar.component.spec.ts b/src/components/mobile/navbar/navbar.component.spec.ts similarity index 87% rename from src/app/components/mobile/navbar/navbar.component.spec.ts rename to src/components/mobile/navbar/navbar.component.spec.ts index b625c5a..04a2866 100644 --- a/src/app/components/mobile/navbar/navbar.component.spec.ts +++ b/src/components/mobile/navbar/navbar.component.spec.ts @@ -1,10 +1,11 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; +import { TranslateModule } from '@ngx-translate/core'; + +import { PageService } from '@services/page.service'; +import { UserService } from '@services/user.service'; import { MobileNavbarComponent } from './navbar.component'; -import { PageService } from 'src/app/services/page.service'; -import { UserService } from 'src/app/services/user.service'; import { MobileComponentsModule } from '../mobile.module'; -import { TranslateModule } from '@ngx-translate/core'; describe('MobileNavbarComponent', () => { let component: MobileNavbarComponent; diff --git a/src/app/components/mobile/navbar/navbar.component.ts b/src/components/mobile/navbar/navbar.component.ts similarity index 73% rename from src/app/components/mobile/navbar/navbar.component.ts rename to src/components/mobile/navbar/navbar.component.ts index 3be28db..633acc1 100644 --- a/src/app/components/mobile/navbar/navbar.component.ts +++ b/src/components/mobile/navbar/navbar.component.ts @@ -1,6 +1,7 @@ import { Component, Inject } from '@angular/core'; -import { PageService } from 'src/app/services/page.service'; -import { UserService } from 'src/app/services/user.service'; + +import { PageService } from '@services/page.service'; +import { UserService } from '@services/user.service'; @Component({ selector: 'sith-mobile-navbar', diff --git a/src/components/mobile/navbar/navbar.html b/src/components/mobile/navbar/navbar.html new file mode 100644 index 0000000..a89d747 --- /dev/null +++ b/src/components/mobile/navbar/navbar.html @@ -0,0 +1,18 @@ + diff --git a/src/app/components/mobile/navbar/navbar.scss b/src/components/mobile/navbar/navbar.scss similarity index 100% rename from src/app/components/mobile/navbar/navbar.scss rename to src/components/mobile/navbar/navbar.scss diff --git a/src/app/directives/date.directive.spec.ts b/src/directives/date.directive.spec.ts similarity index 99% rename from src/app/directives/date.directive.spec.ts rename to src/directives/date.directive.spec.ts index e894e6e..317902c 100644 --- a/src/app/directives/date.directive.spec.ts +++ b/src/directives/date.directive.spec.ts @@ -1,4 +1,5 @@ import { FormControl } from '@angular/forms'; + import { ageMaxValidator, ageMinValidator, notInFutureValidator } from './date.directive'; describe('ageMinValidator', () => { diff --git a/src/app/directives/date.directive.ts b/src/directives/date.directive.ts similarity index 99% rename from src/app/directives/date.directive.ts rename to src/directives/date.directive.ts index 2d2b8c7..80e2f70 100644 --- a/src/app/directives/date.directive.ts +++ b/src/directives/date.directive.ts @@ -1,4 +1,5 @@ import { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms'; + import { environment } from 'src/environments/environment'; /** diff --git a/src/app/directives/forbidden_email.directive.spec.ts b/src/directives/forbidden_email.directive.spec.ts similarity index 99% rename from src/app/directives/forbidden_email.directive.spec.ts rename to src/directives/forbidden_email.directive.spec.ts index 10bb6d3..604f80f 100644 --- a/src/app/directives/forbidden_email.directive.spec.ts +++ b/src/directives/forbidden_email.directive.spec.ts @@ -1,4 +1,5 @@ import { FormControl } from '@angular/forms'; + import { forbiddenEmailValidator } from './forbidden_email.directive'; describe('forbiddenEmailValidator', () => { diff --git a/src/app/directives/forbidden_email.directive.ts b/src/directives/forbidden_email.directive.ts similarity index 100% rename from src/app/directives/forbidden_email.directive.ts rename to src/directives/forbidden_email.directive.ts diff --git a/src/app/directives/index.spec.ts b/src/directives/index.spec.ts similarity index 99% rename from src/app/directives/index.spec.ts rename to src/directives/index.spec.ts index 6a99154..a947d02 100644 --- a/src/app/directives/index.spec.ts +++ b/src/directives/index.spec.ts @@ -1,4 +1,5 @@ import { FormControl } from '@angular/forms'; + import { getErrors } from '.'; describe('getErrors', () => { diff --git a/src/app/directives/index.ts b/src/directives/index.ts similarity index 91% rename from src/app/directives/index.ts rename to src/directives/index.ts index 547c5b3..d6341d2 100644 --- a/src/app/directives/index.ts +++ b/src/directives/index.ts @@ -1,4 +1,5 @@ import { AbstractControl } from '@angular/forms'; + import { ageMinValidator, ageMaxValidator, notInFutureValidator, requiredIfBelow } from './date.directive'; import { forbiddenEmailValidator } from './forbidden_email.directive'; import { nameValidator } from './name.directive'; @@ -26,8 +27,8 @@ export class CustomValidators { public static passwordsMatchValidator = passwordsMatchValidator; } -export function getErrors(control: AbstractControl): string[] { +export function getErrors(control: AbstractControl) { if (!control.errors) return []; if (control.pristine && !control.touched) return []; - return Object.keys(control.errors); + return Object.keys(control.errors).map((key) => key.toString()); } diff --git a/src/app/directives/name.directive.spec.ts b/src/directives/name.directive.spec.ts similarity index 99% rename from src/app/directives/name.directive.spec.ts rename to src/directives/name.directive.spec.ts index e6051fc..f69370f 100644 --- a/src/app/directives/name.directive.spec.ts +++ b/src/directives/name.directive.spec.ts @@ -1,4 +1,5 @@ import { FormControl } from '@angular/forms'; + import { nameValidator } from './name.directive'; describe('nameValidator', () => { diff --git a/src/app/directives/name.directive.ts b/src/directives/name.directive.ts similarity index 66% rename from src/app/directives/name.directive.ts rename to src/directives/name.directive.ts index 2855713..0fbc42b 100644 --- a/src/app/directives/name.directive.ts +++ b/src/directives/name.directive.ts @@ -4,5 +4,6 @@ export function nameValidator(control: AbstractControl): ValidationErrors | null if (!control.value) return null; // check if the name contains only letters (from any language), hyphens and apostrophes - return /^[\p{L}'\-]+(?: [\p{L}'\-]+)*$/u.test(control.value) === false ? { invalid_name: true } : null; + const regex = new RegExp(/^[\p{L}'\-]+(?: [\p{L}'\-]+)*$/u); + return regex.test(control.value) === false ? { invalid_name: true } : null; } diff --git a/src/app/directives/password.directive.spec.ts b/src/directives/password.directive.spec.ts similarity index 99% rename from src/app/directives/password.directive.spec.ts rename to src/directives/password.directive.spec.ts index 892809c..7adec08 100644 --- a/src/app/directives/password.directive.spec.ts +++ b/src/directives/password.directive.spec.ts @@ -1,4 +1,5 @@ import { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms'; + import { hasNoDuplicateCharacters, hasOneDigit, diff --git a/src/app/directives/password.directive.ts b/src/directives/password.directive.ts similarity index 100% rename from src/app/directives/password.directive.ts rename to src/directives/password.directive.ts diff --git a/src/exported b/src/exported new file mode 160000 index 0000000..92be501 --- /dev/null +++ b/src/exported @@ -0,0 +1 @@ +Subproject commit 92be501f2374723d339e5d95c4369a035239f115 diff --git a/src/index.html b/src/index.html index 7fdb033..faf38ee 100644 --- a/src/index.html +++ b/src/index.html @@ -1,24 +1,24 @@ - - - AE UTBM - - + + + AE UTBM + + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + diff --git a/src/app/pages/user/pictures/pictures.scss b/src/main 2.ts similarity index 100% rename from src/app/pages/user/pictures/pictures.scss rename to src/main 2.ts diff --git a/src/main.ts b/src/main.ts index 73754b1..6aa191c 100644 --- a/src/main.ts +++ b/src/main.ts @@ -1,9 +1,8 @@ import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; -import { AppModule } from './app/app.module'; -import './utils'; +import { AppModule } from '@app.module'; +import '@exported/global/utils'; platformBrowserDynamic() .bootstrapModule(AppModule) - // eslint-disable-next-line no-console .catch((err) => console.error(err)); diff --git a/src/app/pages/404/not-found.component.spec.ts b/src/pages/404/not-found.component.spec.ts similarity index 93% rename from src/app/pages/404/not-found.component.spec.ts rename to src/pages/404/not-found.component.spec.ts index e495a8d..c5782c7 100644 --- a/src/app/pages/404/not-found.component.spec.ts +++ b/src/pages/404/not-found.component.spec.ts @@ -1,8 +1,10 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { TranslateModule, TranslateService } from '@ngx-translate/core'; -import { PageService } from 'src/app/services/page.service'; -import { CommonComponentsModule } from '../../components/common/common.module'; + +import { PageService } from '@services/page.service'; + import { NotFoundComponent } from './not-found.component'; +import { CommonComponentsModule } from '../../components/common/common.module'; describe('NotFoundComponent', () => { let component: NotFoundComponent; diff --git a/src/app/pages/404/not-found.component.ts b/src/pages/404/not-found.component.ts similarity index 88% rename from src/app/pages/404/not-found.component.ts rename to src/pages/404/not-found.component.ts index 30af0fa..00d65d4 100644 --- a/src/app/pages/404/not-found.component.ts +++ b/src/pages/404/not-found.component.ts @@ -1,6 +1,7 @@ import { Component, Inject } from '@angular/core'; import { TranslateService } from '@ngx-translate/core'; -import { PageService } from 'src/app/services/page.service'; + +import { PageService } from '@services/page.service'; @Component({ selector: 'sith-not-found', diff --git a/src/app/pages/404/not-found.html b/src/pages/404/not-found.html similarity index 100% rename from src/app/pages/404/not-found.html rename to src/pages/404/not-found.html diff --git a/src/app/pages/forgot_password/forgot_password.component.spec.ts b/src/pages/forgot_password/forgot_password.component.spec.ts similarity index 93% rename from src/app/pages/forgot_password/forgot_password.component.spec.ts rename to src/pages/forgot_password/forgot_password.component.spec.ts index 55577fa..826b7b9 100644 --- a/src/app/pages/forgot_password/forgot_password.component.spec.ts +++ b/src/pages/forgot_password/forgot_password.component.spec.ts @@ -1,10 +1,12 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { FormBuilder, FormsModule, ReactiveFormsModule } from '@angular/forms'; import { TranslateModule, TranslateService } from '@ngx-translate/core'; -import { PageService } from 'src/app/services/page.service'; -import { UserService } from 'src/app/services/user.service'; -import { CommonComponentsModule } from '../../components/common/common.module'; + +import { PageService } from '@services/page.service'; +import { UserService } from '@services/user.service'; + import { ForgotPasswordComponent } from './forgot_password.component'; +import { CommonComponentsModule } from '../../components/common/common.module'; describe('ForgotPasswordComponent', () => { let component: ForgotPasswordComponent; diff --git a/src/app/pages/forgot_password/forgot_password.component.ts b/src/pages/forgot_password/forgot_password.component.ts similarity index 82% rename from src/app/pages/forgot_password/forgot_password.component.ts rename to src/pages/forgot_password/forgot_password.component.ts index 9f501ac..1541e14 100644 --- a/src/app/pages/forgot_password/forgot_password.component.ts +++ b/src/pages/forgot_password/forgot_password.component.ts @@ -1,8 +1,9 @@ import { Component, Inject } from '@angular/core'; import { FormGroup, FormBuilder, Validators } from '@angular/forms'; import { TranslateService } from '@ngx-translate/core'; -import { CustomValidators, getErrors } from 'src/app/directives'; -import { PageService } from 'src/app/services/page.service'; + +import { CustomValidators, getErrors } from '@directives'; +import { PageService } from '@services/page.service'; @Component({ selector: 'sith-forgot-password', @@ -19,7 +20,7 @@ export class ForgotPasswordComponent { @Inject(PageService) public readonly page: PageService, @Inject(FormBuilder) private readonly fb: FormBuilder, ) { - t.get('forgot_password.title').subscribe((title) => (page.title = title)); + t.get('forgot_password.title').subscribe((title: string) => (page.title = title)); } public errors(field: string): string[] { diff --git a/src/app/pages/forgot_password/forgot_password.html b/src/pages/forgot_password/forgot_password.html similarity index 91% rename from src/app/pages/forgot_password/forgot_password.html rename to src/pages/forgot_password/forgot_password.html index 688c330..fca247c 100644 --- a/src/app/pages/forgot_password/forgot_password.html +++ b/src/pages/forgot_password/forgot_password.html @@ -1,5 +1,6 @@
-
+ +
Association des Étudiants @@ -20,7 +21,7 @@
- +
diff --git a/src/app/pages/forgot_password/forgot_password.scss b/src/pages/forgot_password/forgot_password.scss similarity index 100% rename from src/app/pages/forgot_password/forgot_password.scss rename to src/pages/forgot_password/forgot_password.scss diff --git a/src/app/pages/home/home.component.spec.ts b/src/pages/home/home.component.spec.ts similarity index 92% rename from src/app/pages/home/home.component.spec.ts rename to src/pages/home/home.component.spec.ts index 1aa0053..a028f2c 100644 --- a/src/app/pages/home/home.component.spec.ts +++ b/src/pages/home/home.component.spec.ts @@ -1,7 +1,9 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; -import { HomeComponent } from './home.component'; import { TranslateModule, TranslateService } from '@ngx-translate/core'; -import { PageService } from 'src/app/services/page.service'; + +import { PageService } from '@services/page.service'; + +import { HomeComponent } from './home.component'; describe('HomeComponent', () => { let component: HomeComponent; diff --git a/src/app/pages/home/home.component.ts b/src/pages/home/home.component.ts similarity index 74% rename from src/app/pages/home/home.component.ts rename to src/pages/home/home.component.ts index 29f8da0..72dfed8 100644 --- a/src/app/pages/home/home.component.ts +++ b/src/pages/home/home.component.ts @@ -1,6 +1,7 @@ import { Component, Inject } from '@angular/core'; import { TranslateService } from '@ngx-translate/core'; -import { PageService } from 'src/app/services/page.service'; + +import { PageService } from '@services/page.service'; @Component({ selector: 'sith-home', @@ -12,6 +13,6 @@ export class HomeComponent { @Inject(TranslateService) public readonly t: TranslateService, @Inject(PageService) public readonly page: PageService, ) { - t.get('home.title').subscribe((title) => (page.title = title)); + t.get('home.title').subscribe((title: string) => (page.title = title)); } } diff --git a/src/app/pages/home/home.html b/src/pages/home/home.html similarity index 100% rename from src/app/pages/home/home.html rename to src/pages/home/home.html diff --git a/src/app/pages/login/login.component.spec.ts b/src/pages/login/login.component.spec.ts similarity index 93% rename from src/app/pages/login/login.component.spec.ts rename to src/pages/login/login.component.spec.ts index c2cfd86..6972cf6 100644 --- a/src/app/pages/login/login.component.spec.ts +++ b/src/pages/login/login.component.spec.ts @@ -1,10 +1,12 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; -import { LoginComponent } from './login.component'; +import { FormBuilder, FormsModule, ReactiveFormsModule } from '@angular/forms'; import { TranslateModule, TranslateService } from '@ngx-translate/core'; -import { PageService } from 'src/app/services/page.service'; + +import { PageService } from '@services/page.service'; +import { UserService } from '@services/user.service'; + +import { LoginComponent } from './login.component'; import { CommonComponentsModule } from '../../components/common/common.module'; -import { FormBuilder, FormsModule, ReactiveFormsModule } from '@angular/forms'; -import { UserService } from 'src/app/services/user.service'; describe('LoginComponent', () => { let component: LoginComponent; diff --git a/src/pages/login/login.component.ts b/src/pages/login/login.component.ts new file mode 100644 index 0000000..7be0531 --- /dev/null +++ b/src/pages/login/login.component.ts @@ -0,0 +1,69 @@ +import type { UserTokenDto } from '#types/api'; + +import { Component, Inject } from '@angular/core'; +import { FormBuilder, FormGroup, Validators } from '@angular/forms'; +import { TranslateService } from '@ngx-translate/core'; + +import { getErrors } from '@directives'; +import { PageService } from '@services/page.service'; +import { UserService } from '@services/user.service'; + +@Component({ + selector: 'sith-login', + templateUrl: './login.html', + styleUrls: ['./login.scss'], +}) +export class LoginComponent { + public readonly formGroup: FormGroup = this.fb.group({ + email: ['', [Validators.required, Validators.email]], + password: ['', [Validators.required]], + }); + + public constructor( + @Inject(TranslateService) public readonly t: TranslateService, + @Inject(PageService) public readonly page: PageService, + @Inject(UserService) public readonly user: UserService, + @Inject(FormBuilder) private readonly fb: FormBuilder, + ) { + t.get('login.title').subscribe((title: string) => (page.title = title)); + } + + public login(): void { + // if (this.user.isLoggedIn) return; + + // this.apollo + // .mutate<{ login: Token }>({ + // mutation: gql` + // mutation ($email: String!, $password: String!) { + // login(email: $email, password: $password) { + // token + // user_id + // } + // } + // `, + // variables: { + // email: this.formGroup.controls['email'].value, + // password: this.formGroup.controls['password'].value, + // }, + // errorPolicy: 'all', + // }) + // .subscribe(({ data, errors }) => { + // if (data) { + // this.user.login(data['login'].token, data['login'].user_id); + // } + + // if (errors && !data) { + // this.formGroup.controls['password'].setValue(undefined); + // this.formGroup.controls['password'].setErrors({ login_fail: true }); + // } + // }); + } + + public errors(field: string): string[] { + return getErrors(this.formGroup.controls[field]); + } + + public getError(field: string): string { + return `global.errors.${field}`; + } +} diff --git a/src/app/pages/login/login.html b/src/pages/login/login.html similarity index 91% rename from src/app/pages/login/login.html rename to src/pages/login/login.html index b59ecdd..3002d94 100644 --- a/src/app/pages/login/login.html +++ b/src/pages/login/login.html @@ -1,5 +1,6 @@
-
+ +
Association des Étudiants @@ -16,7 +17,7 @@
- +
@@ -26,7 +27,7 @@
- +
diff --git a/src/app/pages/login/login.scss b/src/pages/login/login.scss similarity index 100% rename from src/app/pages/login/login.scss rename to src/pages/login/login.scss diff --git a/src/app/pages/pages.module.ts b/src/pages/pages.module.ts similarity index 99% rename from src/app/pages/pages.module.ts rename to src/pages/pages.module.ts index 7241bc2..3c11d97 100644 --- a/src/app/pages/pages.module.ts +++ b/src/pages/pages.module.ts @@ -1,21 +1,22 @@ -import { NgModule } from '@angular/core'; -import { HomeComponent } from './home/home.component'; -import { NotFoundComponent } from './404/not-found.component'; import { CommonModule } from '@angular/common'; +import { NgModule } from '@angular/core'; +import { FormsModule, ReactiveFormsModule } from '@angular/forms'; import { TranslateModule } from '@ngx-translate/core'; +import { NgHcaptchaModule } from 'ng-hcaptcha'; + +import { NotFoundComponent } from './404/not-found.component'; +import { ForgotPasswordComponent } from './forgot_password/forgot_password.component'; +import { HomeComponent } from './home/home.component'; import { LoginComponent } from './login/login.component'; import { RegisterComponent } from './register/register.component'; -import { ForgotPasswordComponent } from './forgot_password/forgot_password.component'; -import { FormsModule, ReactiveFormsModule } from '@angular/forms'; -import { NgHcaptchaModule } from 'ng-hcaptcha'; import { UserPaymentsComponent } from './user/payments/payments.component'; -import { UserProfileComponent } from './user/profile/profile.component'; import { UserPicturesComponent } from './user/pictures/pictures.component'; -import { UserProfilePictureEditModalComponent } from './user/profile/picture-modal/picture-edit-modal.component'; import { UserProfileBannerEditModalComponent } from './user/profile/banner-modal/banner-edit-modal.component'; -import { ComponentsModule } from '../components/components.module'; -import { UsersComponent } from './user/users.component'; import { UserProfileInfosEditModalComponent } from './user/profile/infos-modal/infos-edit-modal.component'; +import { UserProfilePictureEditModalComponent } from './user/profile/picture-modal/picture-edit-modal.component'; +import { UserProfileComponent } from './user/profile/profile.component'; +import { UsersComponent } from './user/users.component'; +import { ComponentsModule } from '../components/components.module'; @NgModule({ declarations: [ diff --git a/src/app/pages/register/register.component.spec.ts b/src/pages/register/register.component.spec.ts similarity index 95% rename from src/app/pages/register/register.component.spec.ts rename to src/pages/register/register.component.spec.ts index 509fc0c..9fad299 100644 --- a/src/app/pages/register/register.component.spec.ts +++ b/src/pages/register/register.component.spec.ts @@ -1,13 +1,15 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; -import { RegisterComponent } from './register.component'; import { FormsModule, ReactiveFormsModule, FormBuilder } from '@angular/forms'; import { TranslateModule, TranslateService } from '@ngx-translate/core'; -import { PageService } from 'src/app/services/page.service'; -import { UserService } from 'src/app/services/user.service'; -import { CommonComponentsModule } from '../../components/common/common.module'; import { NgHcaptchaModule, NgHcaptchaService } from 'ng-hcaptcha'; + +import { PageService } from '@services/page.service'; +import { UserService } from '@services/user.service'; import { environment } from 'src/environments/environment.dev'; +import { RegisterComponent } from './register.component'; +import { CommonComponentsModule } from '../../components/common/common.module'; + describe('RegisterComponent', () => { let component: RegisterComponent; let fixture: ComponentFixture; diff --git a/src/app/pages/register/register.component.ts b/src/pages/register/register.component.ts similarity index 58% rename from src/app/pages/register/register.component.ts rename to src/pages/register/register.component.ts index d1108bc..df7b4bd 100644 --- a/src/app/pages/register/register.component.ts +++ b/src/pages/register/register.component.ts @@ -1,13 +1,12 @@ -import type { Token } from 'src/types/objects'; +import type { UserTokenDto } from '#types/api'; import { Component, Inject } from '@angular/core'; -import { TranslateService } from '@ngx-translate/core'; -import { PageService } from 'src/app/services/page.service'; -import { UserService } from 'src/app/services/user.service'; -import { environment } from 'src/environments/environment'; import { FormBuilder, FormGroup, Validators } from '@angular/forms'; -import { CustomValidators, getErrors } from 'src/app/directives'; -import { Apollo, gql } from 'apollo-angular'; +import { TranslateService } from '@ngx-translate/core'; + +import { CustomValidators, getErrors } from '@directives'; +import { environment } from '@environments/environment'; +import { PageService } from '@services/page.service'; @Component({ selector: 'sith-register', @@ -55,11 +54,10 @@ export class RegisterComponent { public constructor( @Inject(TranslateService) public readonly t: TranslateService, @Inject(PageService) public readonly page: PageService, - @Inject(UserService) public readonly u: UserService, + // @Inject(UserService) public readonly u: UserService, @Inject(FormBuilder) private readonly fb: FormBuilder, - @Inject(Apollo) private readonly apollo: Apollo, ) { - t.get('register.title').subscribe((title) => (page.title = title)); + t.get('register.title').subscribe((title: string) => (page.title = title)); } public errors(field: string): string[] { @@ -70,49 +68,49 @@ export class RegisterComponent { } public getError(field: string, control = ''): string { - if (field === 'api') return this.formGroup.controls[control].getError(field); + if (field === 'api') return this.formGroup.controls[control].getError(field) as string; return `global.errors.${field}`; } public register(): void { - this.apollo - .mutate<{ register: Token }>({ - mutation: gql` - mutation ( - $birthday: DateTime! - $email: String! - $first_name: String! - $last_name: String! - $password: String! - ) { - register( - birthday: $birthday - email: $email - first_name: $first_name - last_name: $last_name - password: $password - ) { - token - user_id - } - } - `, - variables: { - birthday: this.formGroup.controls['birthDate'].value, - email: this.formGroup.controls['email'].value, - first_name: this.formGroup.controls['firstName'].value, - last_name: this.formGroup.controls['lastName'].value, - password: this.formGroup.controls['password'].value, - }, - errorPolicy: 'all', - }) - .subscribe(({ data, errors }) => { - if (data && !errors) { - this.u.login(data['register'].token, data['register'].user_id); - this.page.route = '/'; - } else if (errors) { - this.formGroup.controls['email'].setErrors({ api: errors[0].message }); - } - }); + // this.apollo + // .mutate<{ register: Token }>({ + // mutation: gql` + // mutation ( + // $birthday: DateTime! + // $email: String! + // $first_name: String! + // $last_name: String! + // $password: String! + // ) { + // register( + // birthday: $birthday + // email: $email + // first_name: $first_name + // last_name: $last_name + // password: $password + // ) { + // token + // user_id + // } + // } + // `, + // variables: { + // birthday: this.formGroup.controls['birthDate'].value, + // email: this.formGroup.controls['email'].value, + // first_name: this.formGroup.controls['firstName'].value, + // last_name: this.formGroup.controls['lastName'].value, + // password: this.formGroup.controls['password'].value, + // }, + // errorPolicy: 'all', + // }) + // .subscribe(({ data, errors }) => { + // if (data && !errors) { + // this.u.login(data['register'].token, data['register'].user_id); + // this.page.route = '/'; + // } else if (errors) { + // this.formGroup.controls['email'].setErrors({ api: errors[0].message }); + // } + // }); } } diff --git a/src/app/pages/register/register.html b/src/pages/register/register.html similarity index 93% rename from src/app/pages/register/register.html rename to src/pages/register/register.html index 7bad24a..06ccb1f 100644 --- a/src/app/pages/register/register.html +++ b/src/pages/register/register.html @@ -1,5 +1,6 @@
-
+ +
Association des Étudiants @@ -34,7 +35,7 @@
- +
{{ 'register.date_birth_no_modif' | translate }} @@ -45,7 +46,7 @@
- +
@@ -55,7 +56,7 @@
- +
{{ 'register.min_password' | translate }} @@ -66,7 +67,7 @@
- +
{{ 'register.confirm_password' | translate }} diff --git a/src/app/pages/register/register.scss b/src/pages/register/register.scss similarity index 100% rename from src/app/pages/register/register.scss rename to src/pages/register/register.scss diff --git a/src/app/pages/user/payments/payments.component.ts b/src/pages/user/payments/payments.component.ts similarity index 100% rename from src/app/pages/user/payments/payments.component.ts rename to src/pages/user/payments/payments.component.ts diff --git a/src/app/pages/user/payments/payments.html b/src/pages/user/payments/payments.html similarity index 100% rename from src/app/pages/user/payments/payments.html rename to src/pages/user/payments/payments.html diff --git a/src/app/pages/user/payments/payments.scss b/src/pages/user/payments/payments.scss similarity index 100% rename from src/app/pages/user/payments/payments.scss rename to src/pages/user/payments/payments.scss diff --git a/src/app/pages/user/pictures/pictures.component.ts b/src/pages/user/pictures/pictures.component.ts similarity index 100% rename from src/app/pages/user/pictures/pictures.component.ts rename to src/pages/user/pictures/pictures.component.ts diff --git a/src/app/pages/user/pictures/pictures.html b/src/pages/user/pictures/pictures.html similarity index 100% rename from src/app/pages/user/pictures/pictures.html rename to src/pages/user/pictures/pictures.html diff --git a/src/pages/user/pictures/pictures.scss b/src/pages/user/pictures/pictures.scss new file mode 100644 index 0000000..e69de29 diff --git a/src/app/pages/user/profile/banner-modal/banner-edit-modal.component.ts b/src/pages/user/profile/banner-modal/banner-edit-modal.component.ts similarity index 66% rename from src/app/pages/user/profile/banner-modal/banner-edit-modal.component.ts rename to src/pages/user/profile/banner-modal/banner-edit-modal.component.ts index bdfaaba..9523d58 100644 --- a/src/app/pages/user/profile/banner-modal/banner-edit-modal.component.ts +++ b/src/pages/user/profile/banner-modal/banner-edit-modal.component.ts @@ -1,13 +1,15 @@ -import type { ImageCropperResult, base64 } from 'src/types'; +import type { base64 } from '#types'; +import type { ImageCropperResult } from '@__old/types/index'; -import { OnInit, ViewChild, ElementRef, Component, Inject, Output, EventEmitter, Input } from '@angular/core'; -import { ImageCropperComponent } from 'src/app/components/common/image_cropper/image-cropper.component'; import { HttpClient } from '@angular/common/http'; -import { environment } from 'src/environments/environment'; -import { UserService } from 'src/app/services/user.service'; +import { OnInit, ViewChild, ElementRef, Component, Inject, Output, EventEmitter, Input } from '@angular/core'; import { ActivatedRoute } from '@angular/router'; -import { DEFAULT_HEADERS } from 'src/utils/http'; -import { UserPermissionService } from 'src/app/services/user-permissions.service'; + +import { ImageCropperComponent } from '@components/common/image_cropper/image-cropper.component'; +import { environment } from '@environments/environment'; +import { UserPermissionService } from '@services/user-permissions.service'; +import { UserService } from '@services/user.service'; +import { DEFAULT_HEADERS } from '@utils/http'; @Component({ selector: 'sith-user-profile-banner-edit-modal', @@ -43,7 +45,7 @@ export class UserProfileBannerEditModalComponent implements OnInit { private activeRoute: ActivatedRoute, ) { this.activeRoute.params.subscribe((params) => { - this.userId = parseInt(params['id'], 10); + this.userId = parseInt(params['id'] as string, 10); // FIXME params['id'] might be undefined }); } @@ -64,7 +66,7 @@ export class UserProfileBannerEditModalComponent implements OnInit { public open() { // Only the user can update his picture - if (!this.isSelf() && !this.perms.hasPermission('EDIT_USER')) return; + if (!this.isSelf() && !this.perms.hasPermission('CAN_EDIT_USER')) return; this.modal.nativeElement.showModal(); } @@ -82,16 +84,16 @@ export class UserProfileBannerEditModalComponent implements OnInit { } public async deleteCurrentBanner() { - this.http - .delete(`${environment.API_URL}/users/banner/${this.activeRoute.snapshot.params['id']}`, { - headers: DEFAULT_HEADERS, - }) - .subscribe({ - next: () => { - this.bannerUpdated.emit(undefined); - if (this.isSelf()) this.u.refreshUserBanner(); - }, - }); + // this.http + // .delete(`${environment.API_URL}/users/banner/${this.activeRoute.snapshot.params['id']}`, { + // headers: DEFAULT_HEADERS, + // }) + // .subscribe({ + // next: () => { + // this.bannerUpdated.emit(undefined); + // if (this.isSelf()) this.u.refreshUserBanner(); + // }, + // }); } public async updateCroppedBanner(event: ImageCropperResult) { @@ -105,18 +107,18 @@ export class UserProfileBannerEditModalComponent implements OnInit { const formData = new FormData(); formData.append('file', file, file.name); - this.http - .post(`${environment.API_URL}/users/banner/${this.activeRoute.snapshot.params['id']}`, formData, { - headers: DEFAULT_HEADERS, - }) - .subscribe({ - next: () => { - if (!this.isSelf()) return; - - setTimeout(() => { - this.u.refreshUserBanner(); - }, 1000); - }, - }); + // this.http + // .post(`${environment.API_URL}/users/banner/${this.activeRoute.snapshot.params['id']}`, formData, { + // headers: DEFAULT_HEADERS, + // }) + // .subscribe({ + // next: () => { + // if (!this.isSelf()) return; + + // setTimeout(() => { + // this.u.refreshUserBanner(); + // }, 1000); + // }, + // }); } } diff --git a/src/app/pages/user/profile/banner-modal/banner-edit-modal.html b/src/pages/user/profile/banner-modal/banner-edit-modal.html similarity index 90% rename from src/app/pages/user/profile/banner-modal/banner-edit-modal.html rename to src/pages/user/profile/banner-modal/banner-edit-modal.html index d710f7b..2aebffb 100644 --- a/src/app/pages/user/profile/banner-modal/banner-edit-modal.html +++ b/src/pages/user/profile/banner-modal/banner-edit-modal.html @@ -1,7 +1,7 @@
@@ -57,14 +57,14 @@
{{ 'profile.email' | translate }}
- +
{{ 'profile.secondary_email' | translate }}
- +
@@ -76,7 +76,7 @@
{{ 'profile.phone' | translate }}
- +
@@ -88,14 +88,14 @@
{{ 'profile.gender' | translate }}
- +
{{ 'profile.pronouns' | translate }}
- +
@@ -107,14 +107,14 @@
{{ 'profile.cursus_utbm' | translate }}
- +
{{ 'profile.specialty' | translate }}
- +
@@ -126,12 +126,12 @@
{{ 'profile.promotion' | translate }}
- +
diff --git a/src/app/pages/user/profile/infos-modal/infos-edit-modal.scss b/src/pages/user/profile/infos-modal/infos-edit-modal.scss similarity index 100% rename from src/app/pages/user/profile/infos-modal/infos-edit-modal.scss rename to src/pages/user/profile/infos-modal/infos-edit-modal.scss diff --git a/src/pages/user/profile/picture-modal/picture-edit-modal.component.ts b/src/pages/user/profile/picture-modal/picture-edit-modal.component.ts new file mode 100644 index 0000000..d84d374 --- /dev/null +++ b/src/pages/user/profile/picture-modal/picture-edit-modal.component.ts @@ -0,0 +1,156 @@ +import type { base64 } from '#types'; +import type { ImageCropperResult } from '@__old/types/index'; +import type { Time } from '@__old/types/objects'; + +import { HttpClient } from '@angular/common/http'; +import { OnInit, ViewChild, ElementRef, Component, Inject, Output, EventEmitter, Input } from '@angular/core'; +import { ActivatedRoute } from '@angular/router'; + +import { ImageCropperComponent } from '@components/common/image_cropper/image-cropper.component'; +import { environment } from '@environments/environment'; +import { UserPermissionService } from '@services/user-permissions.service'; +import { UserService } from '@services/user.service'; +import { DEFAULT_HEADERS } from '@utils/http'; + +@Component({ + selector: 'sith-user-profile-picture-edit-modal', + templateUrl: './picture-edit-modal.html', + styleUrls: ['./picture-edit-modal.scss'], +}) +export class UserProfilePictureEditModalComponent implements OnInit { + @ViewChild('picture', { static: true }) public modal!: ElementRef; + @ViewChild(ImageCropperComponent, { static: false }) public cropper!: ImageCropperComponent; + + public pictureUncropped?: base64; + public pictureCropped?: ImageCropperResult; + + private userId = 0; + + @Input() public username = ''; + @Input() public existingPicture = false; + @Output() public pictureUpdated = new EventEmitter(); + + public readonly options: Cropper.Options = { + aspectRatio: 1, + rotatable: true, + zoomable: true, + scalable: true, + }; + + public timeLeft?: Date; + + public constructor( + @Inject(HttpClient) private readonly http: HttpClient, + @Inject(UserService) private readonly u: UserService, + @Inject(UserPermissionService) private readonly perms: UserPermissionService, + private activeRoute: ActivatedRoute, + ) { + this.activeRoute.params.subscribe((params) => { + this.userId = parseInt(params['id'] as string, 10); //FIXME params['id'] might be undefined + this.perms.ready$.subscribe(() => this.fetchData(this.userId)); + }); + } + + public ngOnInit(): void { + this.modal.nativeElement.addEventListener('click', (e) => { + const dimensions = this.modal.nativeElement.getBoundingClientRect(); + if (!dimensions) return; + + if ( + e.clientX < dimensions.left || + e.clientX > dimensions.right || + e.clientY < dimensions.top || + e.clientY > dimensions.bottom + ) + this.close(); + }); + } + + public fetchData(id: number): void { + // this.apollo + // .query<{ lastPictureUpdate: Time }>({ + // query: gql` + // query ($user_id: Int!) { + // lastPictureUpdate(id: $user_id) { + // date + // } + // } + // `, + // variables: { + // user_id: id, + // }, + // fetchPolicy: 'cache-first', + // errorPolicy: 'all', + // }) + // .subscribe(({ data }) => { + // if (!data) return; + + // // The user can't update his picture more than once a week + // const diff = + // environment.DELAY_UPDATE_PROFILE_PICTURE * 1000 - + // (new Date().getTime() - new Date(data['lastPictureUpdate'].date).getTime()); + + // if (diff > 0) this.timeLeft = new Date(new Date().getTime() + diff); + // if (!this.isOwner || this.perms.hasPermission('CAN_EDIT_USER')) this.timeLeft = undefined; + // }); + } + + public open() { + // Only the user can update his picture (or an admin) + if (!this.isOwner && !this.perms.hasPermission('CAN_EDIT_USER')) return; + + this.modal.nativeElement.showModal(); + } + + public close() { + this.modal.nativeElement.close(); + } + + public get isOwner(): boolean { + return this.userId === this.u.id; + } + + public get hasPermissions(): boolean { + return this.perms.hasPermission('CAN_EDIT_USER'); + } + + public updateUncroppedPicture(file: base64) { + this.pictureUncropped = file; + } + + public async updateCroppedPicture(event: unknown) { + //ImageCropperResult) { + // this.pictureCropped = event; + // if (this.pictureCropped.dataUrl) this.pictureUpdated.emit(this.pictureCropped.dataUrl); + // const res: Response = await fetch(this.pictureCropped.dataUrl ?? ''); + // const blob: Blob = await res.blob(); + // const file = new File([blob], 'profile_picture.png', { type: 'image/png' }); + // const formData = new FormData(); + // formData.append('file', file, file.name); + // this.http + // .post(`${environment.API_URL}/users/picture/${this.activeRoute.snapshot.params['id']}`, formData, { + // headers: DEFAULT_HEADERS, + // }) + // .subscribe({ + // next: () => { + // if (!this.isOwner) return; + // setTimeout(() => { + // this.u.refreshUserPicture(); + // }, 1000); + // }, + // }); + } + + public deleteCurrentPicture() { + // this.http + // .delete(`${environment.API_URL}/users/picture/${this.activeRoute.snapshot.params['id']}`, { + // headers: DEFAULT_HEADERS, + // }) + // .subscribe({ + // next: () => { + // this.pictureUpdated.emit(undefined); + // if (this.isOwner) this.u.refreshUserPicture(); + // }, + // }); + } +} diff --git a/src/app/pages/user/profile/picture-modal/picture-edit-modal.html b/src/pages/user/profile/picture-modal/picture-edit-modal.html similarity index 91% rename from src/app/pages/user/profile/picture-modal/picture-edit-modal.html rename to src/pages/user/profile/picture-modal/picture-edit-modal.html index 4436447..7108dbd 100644 --- a/src/app/pages/user/profile/picture-modal/picture-edit-modal.html +++ b/src/pages/user/profile/picture-modal/picture-edit-modal.html @@ -3,7 +3,7 @@ {{ 'profile.picture_too_recent' | translate: { date: timeLeft | date: 'dd/MM/yyyy HH:mm:ss' } }} - + { - this.userId = parseInt(params['id'], 10); + const { id } = params; + this.userId = parseInt(id as string, 10); - if (this.perms.ready) this.getUserData(this.userId); - else this.perms.ready$.subscribe(() => this.getUserData(this.userId)); + // if (this.perms.ready) this.getUserData(this.userId); + // else this.perms.ready$.subscribe(() => this.getUserData(this.userId)); }); } @@ -65,11 +66,11 @@ export class UserProfileComponent { * @returns {boolean} True if the current user is the owner of the profile or has the permission to edit it. */ public get isOwnerOrHasPermission(): boolean { - return this.isOwner || this.perms.hasPermission('EDIT_USER'); + return this.isOwner || this.perms.hasPermission('CAN_EDIT_USER'); } public get shouldSeePrivateData(): boolean { - return !this.isOwner && this.perms.hasPermission('EDIT_USER'); + return !this.isOwner && this.perms.hasPermission('CAN_EDIT_USER'); } public get isOwner(): boolean { @@ -91,8 +92,8 @@ export class UserProfileComponent { responseType: 'arraybuffer', }) .subscribe({ - next: (data) => { - this.profilePicture = data.toBase64(); + next: (data: ArrayBuffer) => { + // this.profilePicture = data.toBase64(); }, error: () => { this.profilePicture = undefined; @@ -106,7 +107,7 @@ export class UserProfileComponent { }) .subscribe({ next: (data) => { - this.profileBanner = data.toBase64(); + // this.profileBanner = data.toBase64(); }, error: () => { this.profileBanner = undefined; @@ -115,59 +116,59 @@ export class UserProfileComponent { const endpoint = this.shouldSeePrivateData ? 'userPrivate' : 'userPublic'; - this.apollo - .query<{ userPublic: PublicUser; userPrivate: PrivateUser }>({ - query: gql` - query ($user_id: Int!) { - ${endpoint}(id: $user_id) { - id - first_name - last_name - nickname - cursus - gender - birthday - promotion { - number - id - } - specialty - subscriber_account - last_seen - pronouns - subscription - created - updated - } - } - `, - variables: { - user_id, - }, - fetchPolicy: 'cache-first', - errorPolicy: 'all', - }) - .subscribe(({ data, error }) => { - if (data) { - switch (endpoint) { - case 'userPrivate': - this.user = data['userPrivate']; - break; - - default: - this.user = data['userPublic']; - break; - } - - const TimeDiff = Math.abs(Date.now() - new Date(this.user?.birthday ?? 0).getTime()); - this.age = Math.floor(TimeDiff / (1000 * 3600 * 24) / 365.25); - this.currentTab = 'about'; - this.t.get('profile.title', { name: this.user.first_name }).subscribe((title) => (this.page.title = title)); - } - - if (!data || error) { - this.page.route = '/404'; - } - }); + // this.apollo + // .query<{ userPublic: PublicUser; userPrivate: PrivateUser }>({ + // query: gql` + // query ($user_id: Int!) { + // ${endpoint}(id: $user_id) { + // id + // first_name + // last_name + // nickname + // cursus + // gender + // birthday + // promotion { + // number + // id + // } + // specialty + // subscriber_account + // last_seen + // pronouns + // subscription + // created + // updated + // } + // } + // `, + // variables: { + // user_id, + // }, + // fetchPolicy: 'cache-first', + // errorPolicy: 'all', + // }) + // .subscribe(({ data, error }) => { + // if (data) { + // switch (endpoint) { + // case 'userPrivate': + // this.user = data['userPrivate']; + // break; + + // default: + // this.user = data['userPublic']; + // break; + // } + + // const TimeDiff = Math.abs(Date.now() - new Date(this.user?.birthday ?? 0).getTime()); + // this.age = Math.floor(TimeDiff / (1000 * 3600 * 24) / 365.25); + // this.currentTab = 'about'; + // this.t.get('profile.title', { name: this.user.first_name }).subscribe((title) => (this.page.title = title)); + // } + + // if (!data || error) { + // // this.page.route = '/404'; + // } + // }); } } diff --git a/src/app/pages/user/profile/profile.html b/src/pages/user/profile/profile.html similarity index 88% rename from src/app/pages/user/profile/profile.html rename to src/pages/user/profile/profile.html index dd746b6..fea47f4 100644 --- a/src/app/pages/user/profile/profile.html +++ b/src/pages/user/profile/profile.html @@ -5,22 +5,22 @@
-
- +
+
- +
- +
-
+
{{ user?.first_name }} {{ user?.last_name }}
@@ -28,7 +28,7 @@
{{ 'profile.age' | translate: { age } }}
- +
@@ -45,7 +45,7 @@ {{ 'profile.contact' | translate }}
- +
diff --git a/src/app/pages/user/profile/profile.scss b/src/pages/user/profile/profile.scss similarity index 100% rename from src/app/pages/user/profile/profile.scss rename to src/pages/user/profile/profile.scss diff --git a/src/pages/user/users.component.ts b/src/pages/user/users.component.ts new file mode 100644 index 0000000..c3a56c1 --- /dev/null +++ b/src/pages/user/users.component.ts @@ -0,0 +1,31 @@ +import { Component, Inject } from '@angular/core'; + +import { PageService } from '@services/page.service'; + +@Component({ + selector: 'sith-users', + templateUrl: './users.html', + styleUrls: [], +}) +export class UsersComponent { + public users = [{ id: 1, first_name: 'John', last_name: 'Doe', nickname: 'jdoe' }]; + + public constructor(@Inject(PageService) public readonly page: PageService) { + // this.apollo + // .query<{ users: PublicUser[] }>({ + // query: gql` + // query { + // users { + // id + // first_name + // last_name + // nickname + // } + // } + // `, + // }) + // .subscribe(({ data }) => { + // this.users = data['users']; + // }); + } +} diff --git a/src/app/pages/user/users.html b/src/pages/user/users.html similarity index 81% rename from src/app/pages/user/users.html rename to src/pages/user/users.html index 00f3f18..b4bbb99 100644 --- a/src/app/pages/user/users.html +++ b/src/pages/user/users.html @@ -1,5 +1,5 @@ diff --git a/src/services/page.service.ts b/src/services/page.service.ts new file mode 100644 index 0000000..94e2724 --- /dev/null +++ b/src/services/page.service.ts @@ -0,0 +1,237 @@ +import type { FontSize, Theme, ThemeEvent } from '#types/sith'; + +import { Inject, Injectable } from '@angular/core'; +import { TranslateService } from '@ngx-translate/core'; +import { fromEvent, Observable, Subscription } from 'rxjs'; + +import { getLanguage, getLanguageDirection } from '@utils/i18n'; + +@Injectable({ + providedIn: 'root', +}) +export class PageService { + public constructor(@Inject(TranslateService) public readonly t: TranslateService) { + // if language not set + if (localStorage.getItem('lang') === null) this.lang = this.DEFAULT_LANG; + + // if font size not set + if (localStorage.getItem('font_size') === null) this.font_size = '1'; + + // if theme not set + if (localStorage.getItem('theme') === null) this.theme = 'auto'; + if (localStorage.getItem('theme_event') === null) this.theme_event = this.DEFAULT_THEME_EVENT; + // or last update was yesterday and not disabled + else if (new Date().getDate() !== new Date(this.theme_event.last_update).getDate() && !this.theme_event.disabled) + this.theme_event = this.DEFAULT_THEME_EVENT; + + this.updateHTML(); + + this.resizeObservable$ = fromEvent(window, 'resize'); + this.resizeSubscription$ = this.resizeObservable$.subscribe((evt) => { + this.width = (evt.target as Window).innerWidth; + this.height = (evt.target as Window).innerHeight; + }); + } + + resizeObservable$: Observable; + resizeSubscription$: Subscription; + + private updateHTML() { + document.documentElement.setAttribute('dir', this.isRTL() ? 'rtl' : 'ltr'); + document.documentElement.setAttribute('lang', this.lang); + document.documentElement.style.setProperty('--font-size', this.font_size); + + if (!this.theme_event.disabled) document.documentElement.setAttribute('data-event-theme', this.theme_event.theme); + else document.documentElement.removeAttribute('data-event-theme'); + + if (this.theme !== 'auto') document.documentElement.setAttribute('data-theme', this.theme); + else { + const prefersDark: boolean = window.matchMedia('(prefers-color-scheme: dark)').matches; + + if (prefersDark) document.documentElement.setAttribute('data-theme', 'dark'); + else document.documentElement.setAttribute('data-theme', 'light'); + } + } + + public get theme(): Theme { + return localStorage.getItem('theme') || 'auto'; + } + + public set theme(value: Theme) { + localStorage.setItem('theme', value); + this.updateHTML(); + } + + public get theme_event(): ThemeEvent { + const local = localStorage.getItem('theme_event'); + if (local === null) { + this.theme_event = this.DEFAULT_THEME_EVENT; + return this.DEFAULT_THEME_EVENT; + } + + return JSON.parse(local); + } + + public set theme_event(value: ThemeEvent) { + localStorage.setItem('theme_event', JSON.stringify(value)); + if (!value.disabled) document.documentElement.setAttribute('data-event-theme', value.theme); + else document.documentElement.removeAttribute('data-event-theme'); + } + + private get DEFAULT_THEME_EVENT() { + return { + theme: this.getCurrentThemeEvent(), + last_update: new Date(), + disabled: false, + }; + } + + public toggleThemeEvent(theme: ThemeEvent['theme']) { + this.theme_event = { + ...this.theme_event, + theme, + disabled: this.theme_event.theme === theme ? !this.theme_event.disabled : this.theme_event.disabled, + }; + } + + public getCurrentThemeEvent(): ThemeEvent['theme'] { + switch (new Date().getMonth()) { + case 11: + return 'christmas'; + case 9: + return 'pinktober'; + default: + return 'none'; + } + } + + public get logo() { + this.updateFavicon(); + + switch (this.theme_event.theme) { + case 'christmas': + return 'assets/logo/ae_christmas.webp'; + case 'pinktober': + return 'assets/logo/ae_pinktober.webp'; + default: + return 'assets/logo/ae.webp'; + } + } + + private updateFavicon() { + const type = this.theme_event.theme === 'none' ? 'base' : this.theme_event.theme ?? 'base'; + + const appleTouchIcon = document.querySelector('link[rel="apple-touch-icon"]'); + const icons = document.querySelectorAll('link[rel="icon"]'); + const manifest = document.querySelector('link[rel="manifest"]'); + const maskIcon = document.querySelector('link[rel="mask-icon"]'); + const shortcutIcon = document.querySelector('link[rel="shortcut icon"]'); + + const metaMSAppTileColor = document.querySelector('meta[name="msapplication-TileColor"]'); + const metaMSAppConfig = document.querySelector('meta[name="msapplication-config"]'); + const metaThemeColor = document.querySelector('meta[name="theme-color"]'); + + const colors = { + christmas: '#095228', + pinktober: '#e891dc', + base: '#ffffff', + }; + + if (appleTouchIcon) appleTouchIcon.href = `assets/favicon/${type}/apple-touch-icon.png`; + if (icons) icons.forEach((icon) => (icon.href = `assets/favicon/${type}/favicon-${icon.sizes.value}.png`)); + if (manifest) manifest.href = `assets/favicon/${type}/site.webmanifest`; + if (maskIcon) { + maskIcon.href = `assets/favicon/${type}/safari-pinned-tab.svg`; + (maskIcon as HTMLLinkElement & { color: string }).color = colors[type]; + } + if (shortcutIcon) shortcutIcon.href = `assets/favicon/${type}/favicon.ico`; + if (metaMSAppTileColor) metaMSAppTileColor.content = colors[type]; + if (metaMSAppConfig) metaMSAppConfig.content = `assets/favicon/${type}/browserconfig.xml`; + if (metaThemeColor) metaThemeColor.content = colors[type]; + } + + public get font_size(): FontSize { + return localStorage.getItem('font_size') || '1'; + } + + public set font_size(value: FontSize) { + localStorage.setItem('font_size', value); + document.documentElement.style.setProperty('--font-size', value); + } + + public get lang(): string { + return localStorage.getItem('lang') || this.DEFAULT_LANG; + } + + public set lang(value: string) { + this.setLang(value, true); + } + + private setLang(value: string, store = false) { + const parsed = getLanguage(value); + + document.documentElement.lang = parsed; + document.documentElement.dir = getLanguageDirection(parsed); + + this.t.use(parsed); + this.t.currentLang = parsed; // because ngx-translate doesn't set it automatically + + if (store) localStorage.setItem('lang', parsed); + return parsed; + } + + private get DEFAULT_LANG() { + this.t.setDefaultLang('en-US'); + return this.setLang(window.navigator.language); + } + + /** + * Set the browser title of the page + * @param {string} title The title to set + * @example p.title = 'Home'; // will set the title to 'Home - AE UTBM' + */ + public set title(title: string) { + document.title = `${title.trim()} - AE UTBM`; + } + + /** + * Get the browser title of the page + * @returns {string} The title of the page + */ + public get title(): `${string} - AE UTBM` { + return document.title.trim() as `${string} - AE UTBM`; + } + + public isRTL(): boolean { + return document.documentElement.dir === 'rtl'; + } + + public headless = false; + + /** + * Check if the device used by the user is a mobile device + * @return {boolean} True if the device is a mobile device, false otherwise + */ + public isMobile(): boolean { + return this.width <= 768 || this.height <= 768; + } + + private __width: number = window.innerWidth; + private __height: number = window.innerHeight; + + public get width(): number { + return this.__width; + } + + private set width(value: number) { + this.__width = value; + } + + public get height(): number { + return this.__height; + } + + private set height(value: number) { + this.__height = value; + } +} diff --git a/src/services/user-permissions.service.ts b/src/services/user-permissions.service.ts new file mode 100644 index 0000000..5dff0ae --- /dev/null +++ b/src/services/user-permissions.service.ts @@ -0,0 +1,74 @@ +import type { PERMISSION_NAMES } from '#types/api'; + +import { Inject, Injectable } from '@angular/core'; +import { Subject } from 'rxjs'; + +import { UserService } from './user.service'; + +@Injectable({ + providedIn: 'root', +}) +export class UserPermissionService { + public permissions: PERMISSION_NAMES[] = []; + public ready$ = new Subject(); + public ready = false; + + public constructor(@Inject(UserService) private readonly user: UserService) { + this.fetchPermissions(); + } + + public fetchPermissions(): void { + // this.apollo + // .query<{ getPermissionsOfUser: UserPermission[] }>({ + // query: gql` + // query ($user_id: Int!) { + // getPermissionsOfUser(id: $user_id) { + // name + // created + // expires + // revoked + // } + // } + // `, + // variables: { + // user_id: parseInt(sessionStorage.getItem('user_id') || '0', 10), + // }, + // fetchPolicy: 'cache-first', + // errorPolicy: 'all', + // }) + // .subscribe(({ data }) => { + // if (data) { + // for (const permission of data['getPermissionsOfUser']) { + // if (permission.revoked || permission.expires < new Date()) continue; + // this.permissions.set(permission.name, permission); + // } + // } + // this.ready$.next(true); + // this.ready = true; + // }); + } + + /** + * Check if the user has a given permission + * @param {UserPermission['name']} name The name of the permission + * @returns {boolean} true if the user has the permission or if the user is root + */ + public hasPermission(name: PERMISSION_NAMES): boolean { + return this.permissions.includes('ROOT') || this.permissions.includes(name); + } + + /** + * Determines if the user can read the private information of another user + * @param {number} id The id which is being checked (target id) + * @returns {Promise} true if the user can read the private information of another user or if the user is itself + */ + public async canReadPrivateUser(id: number): Promise { + if (this.ready) return this.user.isLoggedIn && (this.hasPermission('CAN_READ_USER_PRIVATE') || this.user.id === id); + + await new Promise((resolve) => { + this.ready$.subscribe(() => resolve()); + }); + + return this.user.isLoggedIn && (this.hasPermission('CAN_READ_USER_PRIVATE') || this.user.id === id); + } +} diff --git a/src/app/services/user.service.ts b/src/services/user.service.ts similarity index 77% rename from src/app/services/user.service.ts rename to src/services/user.service.ts index 6cde196..581d986 100644 --- a/src/app/services/user.service.ts +++ b/src/services/user.service.ts @@ -1,18 +1,17 @@ -import type { PrivateUser, PublicUser } from 'src/types/objects'; +import type { PrivateUser, PublicUser } from '@__old/types/objects'; -import { Inject, Injectable } from '@angular/core'; -import { Apollo, gql } from 'apollo-angular'; -import { PageService } from './page.service'; -import { environment } from 'src/environments/environment.dev'; import { HttpClient } from '@angular/common/http'; -import { DEFAULT_HEADERS } from 'src/utils/http'; +import { Inject, Injectable } from '@angular/core'; + +import { environment } from '@environments/environment.dev'; +import { PageService } from '@services/page.service'; +import { DEFAULT_HEADERS } from '@utils/http'; @Injectable({ providedIn: 'root', }) export class UserService { public constructor( - @Inject(Apollo) private readonly apollo: Apollo, @Inject(HttpClient) private readonly http: HttpClient, @Inject(PageService) private readonly page: PageService, ) {} @@ -28,46 +27,46 @@ export class UserService { this.fetchUserBanner(userId); setTimeout(() => { - this.page.route = `users/${userId}`; + // this.page.route = `users/${userId}`; }, 300); } public logout(): void { sessionStorage.clear(); - this.page.route = '/'; + // this.page.route = '/'; } public fetchUser(id: number) { - this.apollo - .query<{ userPrivate: PrivateUser }>({ - query: gql` - query ($user_id: Int!) { - userPrivate(id: $user_id) { - first_name - last_name - nickname - birthday - promotion { - number - } - id - subscriber_account - } - } - `, - variables: { - user_id: id, - }, - fetchPolicy: 'no-cache', - errorPolicy: 'all', - }) - .subscribe(({ data, errors }) => { - if (data) sessionStorage.setItem('user', JSON.stringify(data['userPrivate'])); - else this.logout(); - - // Logout if the jwt token is invalid - if (errors) this.logout(); - }); + // this.apollo + // .query<{ userPrivate: PrivateUser }>({ + // query: gql` + // query ($user_id: Int!) { + // userPrivate(id: $user_id) { + // first_name + // last_name + // nickname + // birthday + // promotion { + // number + // } + // id + // subscriber_account + // } + // } + // `, + // variables: { + // user_id: id, + // }, + // fetchPolicy: 'no-cache', + // errorPolicy: 'all', + // }) + // .subscribe(({ data, errors }) => { + // if (data) sessionStorage.setItem('user', JSON.stringify(data['userPrivate'])); + // else this.logout(); + + // // Logout if the jwt token is invalid + // if (errors) this.logout(); + // }); } public fetchUserPicture(id: number) { @@ -150,7 +149,8 @@ export class UserService { const birthday = this.birthday; if (!birthday) return undefined; - return birthday.getAge() < 18; + // return birthday.getAge() < 18; + return false; } public get promotion(): number | undefined { diff --git a/src/app/styles/animations.scss b/src/styles/animations.scss similarity index 100% rename from src/app/styles/animations.scss rename to src/styles/animations.scss diff --git a/src/app/styles/inter.scss b/src/styles/inter.scss similarity index 100% rename from src/app/styles/inter.scss rename to src/styles/inter.scss diff --git a/src/app/styles/roboto.scss b/src/styles/roboto.scss similarity index 100% rename from src/app/styles/roboto.scss rename to src/styles/roboto.scss diff --git a/src/app/styles/styles.scss b/src/styles/styles.scss similarity index 100% rename from src/app/styles/styles.scss rename to src/styles/styles.scss diff --git a/src/app/styles/themes.scss b/src/styles/themes.scss similarity index 100% rename from src/app/styles/themes.scss rename to src/styles/themes.scss diff --git a/src/types/index.d.ts b/src/types/index.d.ts deleted file mode 100644 index bd5b7dd..0000000 --- a/src/types/index.d.ts +++ /dev/null @@ -1,66 +0,0 @@ -export interface LangFile { - [key: string]: string | LangFile; -} - -export interface SelectComponentOption { - /** Optional image to display next to the label */ - image?: string; - /** The label to display */ - label: string; - /** The value to return */ - value: string; -} - -export interface ThemeSelectorComponentTheme { - /** The name of the theme to display */ - name: string; - /** The internal value of the theme */ - value: TTheme; -} - -export type Theme = 'light' | 'dark' | 'auto' | 'high_contrast'; -export type ThemeEvent = 'base' | 'pinktober' | 'christmas'; - -/** Font size in percentage */ -export type FontSize = '0.75' | '1' | '1.25'; - -/** - * A language - */ -export interface Language { - /** The language codes @example ['en', 'en-US', 'en-GB'] */ - codes: Array; - /** The language filename in the 'assets/i18n/' directory */ - filename: string; - /** The language label, translated in the language itself */ - label: string; - /** The language flag */ - image: string; - /** The language read direction */ - direction: 'ltr' | 'rtl'; -} - -export interface Alert { - /** The alert title */ - title: string; - /** The alert message */ - message: string; - /** The alert type */ - type: 'info' | 'warning' | 'danger'; - /** The alert type */ - id: string; -} - -export interface ImageCropperSetting { - width: number; - height: number; -} - -export type base64 = `data:${string}/${string};base64,${string}`; - -export interface ImageCropperResult { - imageData: Cropper.ImageData; - cropData: Cropper.CropBoxData; - blob?: Blob; - dataUrl?: base64; -} diff --git a/src/types/objects.d.ts b/src/types/objects.d.ts deleted file mode 100644 index 3253971..0000000 --- a/src/types/objects.d.ts +++ /dev/null @@ -1,81 +0,0 @@ -export interface Token { - token: string; - user_id: number; -} - -/** - * Public user object, returned by the API. - */ -export interface PrivateUser { - birthday: Date; - created: Date; - cursus?: string; - email?: string; - first_name: string; - gender?: string; - id: number; - last_name: string; - last_seen?: Date; - nickname?: string; - parent_contact?: string; - phone?: string; - promotion?: Promotion; - pronouns?: string; - secondary_email?: string; - specialty?: string; - subscriber_account?: string; - subscription?: Date; - updated: Date; -} - -/** - * Private user object, returned by the API. - * Basically, it's the same as the public user object, but with all fields required. - */ -export type PublicUser = Partial & { id: number; first_name: string; last_name: string }; - -export type UserVisibility = { - [key in keyof Omit< - Required, - | 'last_name' - | 'first_name' - | 'nickname' - | 'id' - | 'updated' - | 'created' - | 'last_seen' - | 'subscription' - | 'subscriber_account' - >]: boolean; -}; - -/** - * User object, returned by the API. - * Configurable with the `filter` parameter. - */ -export type User = T extends true ? PrivateUser : PublicUser; - -export interface Time { - year: number; - month: number; - day: number; - hour: number; - minute: number; - second: number; - millisecond: number; - date: Date; -} - -export interface Promotion { - id: number; - number: number; - created: Date; - updated: Date; -} - -export interface UserPermission { - name: Uppercase; - created: Date; - expires: Date; - revoked: boolean; -} diff --git a/src/utils/buffer.ts b/src/utils/buffer.ts deleted file mode 100644 index b379f7a..0000000 --- a/src/utils/buffer.ts +++ /dev/null @@ -1,29 +0,0 @@ -import { base64 } from 'src/types'; - -export {}; - -declare global { - interface ArrayBuffer { - /** - * Convert an ArrayBuffer to a base64 string - * @param {string} type The type of the file @default 'image' - * @param {string} extension The extension of the file @default 'png' - * @returns {string} The base64 string - */ - toBase64(type?: string, extension?: string): base64; - } -} - -if (!ArrayBuffer.prototype.toBase64) { - ArrayBuffer.prototype.toBase64 = function toBase64(type = 'image', extension = 'png'): base64 { - let binary = ''; - const bytes = new Uint8Array(this); - const len = bytes.byteLength; - - for (let i = 0; i < len; i++) { - binary += String.fromCharCode(bytes[i]); - } - - return `data:${type}/${extension};base64,${window.btoa(binary)}`; - }; -} diff --git a/src/utils/date.ts b/src/utils/date.ts deleted file mode 100644 index fbaef6a..0000000 --- a/src/utils/date.ts +++ /dev/null @@ -1,22 +0,0 @@ -export {}; - -declare global { - interface Date { - /** - * Returns the age of the date in years. - * @returns {number} The age of the date in years. - * @example - * const date = new Date('2000-01-01'); - * date.asAge(); // 23 (if you're in 2023) - */ - getAge(): number; - } -} - -if (!Date.prototype.getAge) { - Date.prototype.getAge = function () { - const diff = Date.now() - this.getTime(); - const age = new Date(diff); - return Math.abs(age.getUTCFullYear() - 1970); - }; -} diff --git a/src/utils/http.ts b/src/utils/http.ts index 80df399..e319adb 100644 --- a/src/utils/http.ts +++ b/src/utils/http.ts @@ -2,6 +2,6 @@ * Default headers for all requests */ export const DEFAULT_HEADERS: { [key: string]: string | string[] } = { - Authorization: `${sessionStorage.getItem('user_token')}`, + Authorization: `${sessionStorage.getItem('user_token') ?? ''}`, 'Accept-Language': localStorage.getItem('lang') ?? 'en-US', }; diff --git a/src/utils/i18n.spec.ts b/src/utils/i18n.spec.ts index 4783aa5..e85d2c5 100644 --- a/src/utils/i18n.spec.ts +++ b/src/utils/i18n.spec.ts @@ -1,6 +1,7 @@ -import { TestBed } from '@angular/core/testing'; import { HttpClient } from '@angular/common/http'; import { HttpClientTestingModule, HttpTestingController } from '@angular/common/http/testing'; +import { TestBed } from '@angular/core/testing'; + import { HttpLoaderFactory, TranslateHttpLoader, getAllKeysOfObject, getLanguage, getLanguageDirection } from './i18n'; describe('i18n', () => { diff --git a/src/utils/i18n.ts b/src/utils/i18n.ts index 4cb7900..81c093e 100644 --- a/src/utils/i18n.ts +++ b/src/utils/i18n.ts @@ -1,9 +1,11 @@ -import LANGS from '../assets/i18n/languages.json'; -import { Observable, catchError, forkJoin, from, map, of, switchMap } from 'rxjs'; -import { TranslateLoader } from '@ngx-translate/core'; +import type { LangFile, Language } from '#types/sith'; + import { HttpClient } from '@angular/common/http'; import { Inject, Injectable } from '@angular/core'; -import { LangFile, Language } from 'src/types'; +import { TranslateLoader } from '@ngx-translate/core'; +import { Observable, catchError, forkJoin, from, map, of, switchMap } from 'rxjs'; + +import LANGS from '@assets/i18n/languages.json'; export const LANGUAGES: Language[] = LANGS as unknown as Language[]; export const DEFAULT_LANGUAGE = 'en-US'; @@ -87,8 +89,8 @@ export class TranslateHttpLoader implements TranslateLoader { const langFile = `${this.prefix}${lang}${this.suffix}`; const baseLangFile = `${this.prefix}${DEFAULT_LANGUAGE}${this.suffix}`; - const langFile$ = this.http.get(langFile).pipe(catchError(() => of({}))) as Observable; - const baseLangFile$ = this.http.get(baseLangFile) as Observable; + const langFile$ = this.http.get>(langFile).pipe(catchError(() => of({}))); + const baseLangFile$ = this.http.get(baseLangFile); return forkJoin([langFile$, baseLangFile$]).pipe( map(([langData, baseLangData]) => Object.merge(baseLangData, langData)), diff --git a/src/utils/index.ts b/src/utils/index.ts deleted file mode 100644 index 69bac39..0000000 --- a/src/utils/index.ts +++ /dev/null @@ -1,5 +0,0 @@ -export * from './buffer'; -export * from './date'; -export * from './object'; -export * from './i18n'; -export * from './theme'; diff --git a/src/utils/object.spec.ts b/src/utils/object.spec.ts deleted file mode 100644 index cda42fe..0000000 --- a/src/utils/object.spec.ts +++ /dev/null @@ -1,29 +0,0 @@ -import './object'; - -describe('object', () => { - describe('isObject', () => { - it('should return true if the given item is a JS Object', () => { - expect(Object.isObject({})).toBeTrue(); - expect(Object.isObject({ a: 1 })).toBeTrue(); - expect(Object.isObject({ a: 1, b: {} })).toBeTrue(); - }); - - it('should return false if the given item is not a JS Object', () => { - expect(Object.isObject([])).toBeFalse(); - expect(Object.isObject('')).toBeFalse(); - expect(Object.isObject(1)).toBeFalse(); - expect(Object.isObject(true)).toBeFalse(); - expect(Object.isObject(null)).toBeFalse(); - expect(Object.isObject(undefined)).toBeFalse(); - }); - }); - - describe('merge', () => { - it('should merge two or more objects into the first one', () => { - expect(Object.merge({ a: 1, b: 2 }, { b: 3, c: { d: 1 } })).toEqual({ a: 1, b: 3, c: { d: 1 } }); - expect(Object.merge({}, { a: 1 })).toEqual({ a: 1 }); - expect(Object.merge({ a: 1 }, {})).toEqual({ a: 1 }); - expect(Object.merge({ a: true }, { b: '2' }, { c: 3 })).toEqual({ a: true, b: '2', c: 3 }); - }); - }); -}); diff --git a/src/utils/object.ts b/src/utils/object.ts deleted file mode 100644 index 6ce5562..0000000 --- a/src/utils/object.ts +++ /dev/null @@ -1,59 +0,0 @@ -export {}; - -declare global { - interface Object { - /** - * Deep merge two or more objects into the first one - * @param {object} target The object to merge into - * @param {...object} sources The objects to merge into the target - * - * @example Object.merge({ a: 1, b: 2 }, { b: 3, c: 4 }) // { a: 1, b: 3, c: 4 } - * @example Object.merge({ a: 1, b: { c: 2, d: 3 } }, { b: { d: 4, e: 5 } }) // { a: 1, b: { c: 2, d: 4, e: 5 } } - */ - merge(target: T, ...sources: Array>>): T & Record; - - /** - * Check if the given item is a JS Object - * @param {unknown} item to be tested - * @returns {boolean} true if the item is a JS Object - * - * @example Object.isObject({}) // true - * @example Object.isObject({ a: 1 }) // true - * @example Object.isObject({ a: 1, b: {} }) // true - * @example Object.isObject([]) // false - */ - isObject(item: unknown): boolean; - } -} - -if (!Object.prototype.isObject) { - Object.defineProperty(Object.prototype, 'isObject', { - value: (item: unknown): boolean => { - return item !== undefined && item !== null && typeof item === 'object' && !Array.isArray(item); - }, - configurable: true, - writable: true, - }); -} - -if (!Object.prototype.merge) { - Object.defineProperty(Object.prototype, 'merge', { - value: (target: object, ...sources: object[]) => { - if (!sources.length) return target; - const source: Record = sources.shift() as Record; - - if (Object.isObject(target) && Object.isObject(source)) { - for (const key in source) { - if (Object.isObject(source[key])) { - if (!(target as Record)[key]) Object.assign(target, { [key]: {} }); - Object.merge((target as Record)[key], source[key] as object); - } else Object.assign(target, { [key]: source[key] }); - } - } - - return Object.merge(target, ...sources); - }, - configurable: true, - writable: true, - }); -} diff --git a/src/utils/theme.spec.ts b/src/utils/theme.spec.ts deleted file mode 100644 index f276ead..0000000 --- a/src/utils/theme.spec.ts +++ /dev/null @@ -1,81 +0,0 @@ -import { getTheme, getThemeEvent, setTheme, setThemeEvent } from './theme'; - -describe('Theme', () => { - let localStore: Record; - - beforeEach(() => { - localStore = {}; - - spyOn(window.localStorage, 'getItem').and.callFake((key) => (key in localStore ? localStore[key] : null)); - spyOn(window.localStorage, 'setItem').and.callFake((key, value) => (localStore[key] = value)); - spyOn(window.localStorage, 'removeItem').and.callFake((key) => delete localStore[key]); - spyOn(window.localStorage, 'clear').and.callFake(() => (localStore = {})); - }); - - afterEach(() => { - localStorage.clear(); - }); - - describe('getTheme', () => { - it('should return the theme from localStorage', () => { - localStorage.setItem('theme', 'light'); - expect(getTheme()).toEqual('light'); - }); - - it('should return the default theme if localStorage is empty', () => { - expect(getTheme()).toEqual('auto'); - }); - }); - - describe('setTheme', () => { - it('should set theme in the local store', () => { - setTheme('dark'); - expect(localStorage.setItem).toHaveBeenCalledWith('theme', 'dark'); - expect(localStorage.getItem('theme')).toEqual('dark'); - }); - - it('should set check for browser theme when "auto" theme is selected (dark)', () => { - spyOn(window, 'matchMedia').and.returnValue({ matches: true } as MediaQueryList); - - setTheme('auto'); - expect(document.documentElement.getAttribute('data-theme')).toEqual('dark'); - }); - - it('should set check for browser theme when "auto" theme is selected (light)', () => { - spyOn(window, 'matchMedia').and.returnValue({ matches: false } as MediaQueryList); - - setTheme('auto'); - expect(document.documentElement.getAttribute('data-theme')).toEqual('light'); - }); - }); - - describe('getThemeEvent', () => { - it('should return the theme event from localStorage', () => { - localStorage.setItem('themeEvent', 'christmas'); - expect(getThemeEvent()).toEqual('christmas'); - }); - - it('should return null if localStorage is empty', () => { - expect(getTheme()).toEqual('auto'); - }); - }); - - describe('setThemeEvent', () => { - it('should set theme event in the local storage if not null', () => { - setThemeEvent('christmas'); - expect(localStorage.setItem).toHaveBeenCalledWith('themeEvent', 'christmas'); - expect(localStorage.getItem('themeEvent')).toEqual('christmas'); - expect(document.documentElement.getAttribute('data-event-theme')).toEqual('christmas'); - }); - - it('should remove theme event from the local storage if null', () => { - setThemeEvent(null); - expect(localStorage.removeItem).toHaveBeenCalledWith('themeEvent'); - expect(localStorage.getItem('themeEvent')).toEqual(null); - expect(document.documentElement.getAttribute('data-event-theme')).toEqual(null); - }); - }); - - // TODO - // describe('watchAutoTheme', () => {}); -}); diff --git a/src/utils/theme.ts b/src/utils/theme.ts deleted file mode 100644 index c41d46f..0000000 --- a/src/utils/theme.ts +++ /dev/null @@ -1,43 +0,0 @@ -import { Theme, ThemeEvent } from 'src/types'; - -export const getTheme = (): Theme => { - return (localStorage.getItem('theme') ?? 'auto') as Theme; -}; - -export const setTheme = (theme: Theme): void => { - localStorage.setItem('theme', theme); - - if (theme !== 'auto') document.documentElement.setAttribute('data-theme', theme); - else { - const prefersDark: boolean = window.matchMedia('(prefers-color-scheme: dark)').matches; - - if (prefersDark) document.documentElement.setAttribute('data-theme', 'dark'); - else document.documentElement.setAttribute('data-theme', 'light'); - } -}; - -export const getThemeEvent = (): ThemeEvent | null => { - return localStorage.getItem('themeEvent') as ThemeEvent | null; -}; - -export const setThemeEvent = (theme: ThemeEvent | null): void => { - if (theme === null) { - localStorage.removeItem('themeEvent'); - document.documentElement.removeAttribute('data-event-theme'); - } else { - localStorage.setItem('themeEvent', theme); - document.documentElement.setAttribute('data-event-theme', theme); - } -}; - -export const watchAutoTheme = (): void => { - window.matchMedia('(prefers-color-scheme: dark)').onchange = (event) => { - if (getTheme() !== 'auto' || !event.matches) return; - document.documentElement.setAttribute('data-theme', 'dark'); - }; - - window.matchMedia('(prefers-color-scheme: light)').onchange = (event) => { - if (getTheme() !== 'auto' || !event.matches) return; - document.documentElement.setAttribute('data-theme', 'light'); - }; -}; diff --git a/tsconfig.json b/tsconfig.json index 7c494c7..1d6f505 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -21,11 +21,31 @@ "resolveJsonModule": true, "esModuleInterop": true, "allowSyntheticDefaultImports": true, + "paths": { + "#types/api": [ + "src/exported/api/@types/index.d.ts" + ], + "#types": [ + "src/exported/global/@types/index.d.ts" + ], + "#types/sith": [ + "src/exported/sith4/@types/index.d.ts" + ], + "@*": [ + "src/*" + ] + }, "lib": [ "ES2022", "dom", "esnext.asynciterable" - ] + ], + "typeRoots": [ + "src/exported/global/@types", + "src/exported/api/@types", + "src/exported/sith4/@types", + "node_modules/@types" + ], }, "angularCompilerOptions": { "enableI18nLegacyMessageIdFormat": false, @@ -33,4 +53,4 @@ "strictInputAccessModifiers": true, "strictTemplates": true } -} \ No newline at end of file +} From b10cc6b1a889dd0896a4a5f91014db52ac228f17 Mon Sep 17 00:00:00 2001 From: Julien Constant Date: Sat, 28 Oct 2023 21:40:52 +0200 Subject: [PATCH 107/146] feat(navbar): make the navbar centered if page.full_width is true --- src/components/desktop/navbar/navbar.html | 2 +- src/components/desktop/navbar/navbar.scss | 11 +++++++++-- src/services/page.service.ts | 10 ++++++++++ 3 files changed, 20 insertions(+), 3 deletions(-) diff --git a/src/components/desktop/navbar/navbar.html b/src/components/desktop/navbar/navbar.html index d026823..4f0fb41 100644 --- a/src/components/desktop/navbar/navbar.html +++ b/src/components/desktop/navbar/navbar.html @@ -1,4 +1,4 @@ -
-{{ page.theme }}
-{{ page.theme_event.theme }} {{ page.theme_event.last_update }} {{ page.theme_event.disabled }}
-{{ page.lang }} {{ page.isRTL() }}
-{{ page.logo }}
-{{ page.isMobile() }} {{ page.headless }} + diff --git a/src/components/common/common.module.ts b/src/components/common/common.module.ts index 382eda7..4b7350e 100644 --- a/src/components/common/common.module.ts +++ b/src/components/common/common.module.ts @@ -6,14 +6,15 @@ import { ButtonComponent } from './button/button.component'; import { FileInputComponent } from './file_input/file-input.component'; import { IconsModule } from './icons/icons.module'; import { ImageCropperComponent } from './image_cropper/image-cropper.component'; -import { SelectComponent } from './selectors/select/select.component'; import { FontSizeSelectorComponent } from './selectors/font_size/font_size_selector.component'; import { LangSelectorComponent } from './selectors/lang/lang_selector.component'; +import { SelectComponent } from './selectors/select/select.component'; import { ThemeSelectorComponent } from './selectors/theme/theme_selector.component'; import { SideMenuDisconnectedComponent } from './side_menu/side_disconnected/side_disconnected.component'; import { SideMenuComponent } from './side_menu/side_menu.component'; import { SideMenuOptionsComponent } from './side_menu/side_options/side_options.component'; import { SideMenuProfileComponent } from './side_menu/side_profile/side_profile.component'; +import { SnackbarComponent } from './snackbar/snackbar.component'; import { SubtitleComponent } from './subtitle/subtitle.component'; import { TitleComponent } from './title/title.component'; @@ -32,6 +33,7 @@ import { TitleComponent } from './title/title.component'; FontSizeSelectorComponent, ImageCropperComponent, FileInputComponent, + SnackbarComponent, ], exports: [ IconsModule, @@ -48,6 +50,7 @@ import { TitleComponent } from './title/title.component'; FontSizeSelectorComponent, ImageCropperComponent, FileInputComponent, + SnackbarComponent, ], imports: [IconsModule, CommonModule, TranslateModule], }) diff --git a/src/components/common/icons/promo_icon/promo_icon.component.ts b/src/components/common/icons/promo_icon/promo_icon.component.ts index a80f2ff..96bab39 100644 --- a/src/components/common/icons/promo_icon/promo_icon.component.ts +++ b/src/components/common/icons/promo_icon/promo_icon.component.ts @@ -3,7 +3,6 @@ import { Component, Inject, Input, OnChanges, OnInit } from '@angular/core'; // import { Promotion } from '@__old/types/objects'; import { environment } from '@environments/environment'; -import { DEFAULT_HEADERS } from '@utils/http'; @Component({ selector: 'sith-icon-promotion', diff --git a/src/components/common/side_menu/side_disconnected/side_disconnected.component.ts b/src/components/common/side_menu/side_disconnected/side_disconnected.component.ts index 29bee27..84c6291 100644 --- a/src/components/common/side_menu/side_disconnected/side_disconnected.component.ts +++ b/src/components/common/side_menu/side_disconnected/side_disconnected.component.ts @@ -1,12 +1,26 @@ import { Component, Inject } from '@angular/core'; +import { Router } from '@angular/router'; import { PageService } from '@services/page.service'; +import { SideMenuComponent } from '../side_menu.component'; + @Component({ selector: 'sith-side-menu-disconnected', templateUrl: './side_disconnected.html', styleUrls: ['./side_disconnected.scss'], }) export class SideMenuDisconnectedComponent { - public constructor(@Inject(PageService) public readonly page: PageService) {} + public constructor( + @Inject(PageService) public readonly page: PageService, + @Inject(Router) public readonly router: Router, + private readonly sideMenu: SideMenuComponent, + ) {} + + public async goto(page: string, event?: KeyboardEvent) { + if (event && event.key !== 'Enter') return; + + this.sideMenu.triggerClose(); + await this.router.navigate([page]); + } } diff --git a/src/components/common/side_menu/side_disconnected/side_disconnected.html b/src/components/common/side_menu/side_disconnected/side_disconnected.html index 297e826..72550a5 100644 --- a/src/components/common/side_menu/side_disconnected/side_disconnected.html +++ b/src/components/common/side_menu/side_disconnected/side_disconnected.html @@ -7,9 +7,7 @@
- - - - + +
diff --git a/src/components/common/side_menu/side_menu.component.ts b/src/components/common/side_menu/side_menu.component.ts index 307df5e..c211d06 100644 --- a/src/components/common/side_menu/side_menu.component.ts +++ b/src/components/common/side_menu/side_menu.component.ts @@ -14,7 +14,7 @@ export class SideMenuComponent { private _closing = false; public triggerClose(event?: KeyboardEvent): void { - if (event && event.key !== 'Escape') return; + if (event && event.key !== 'Enter') return; this._closing = true; diff --git a/src/components/common/side_menu/side_menu.html b/src/components/common/side_menu/side_menu.html index 8ae096e..1759e39 100644 --- a/src/components/common/side_menu/side_menu.html +++ b/src/components/common/side_menu/side_menu.html @@ -1,6 +1,6 @@
- +
diff --git a/src/components/common/side_menu/side_profile/side_profile.component.ts b/src/components/common/side_menu/side_profile/side_profile.component.ts index 0c18872..8ca5441 100644 --- a/src/components/common/side_menu/side_profile/side_profile.component.ts +++ b/src/components/common/side_menu/side_profile/side_profile.component.ts @@ -1,8 +1,11 @@ -import { Component, EventEmitter, Inject, Output } from '@angular/core'; +import { Component, Inject } from '@angular/core'; +import { Router } from '@angular/router'; import { PageService } from '@services/page.service'; import { UserService } from '@services/user.service'; +import { SideMenuComponent } from '../side_menu.component'; + @Component({ selector: 'sith-side-menu-profile', templateUrl: './side_profile.html', @@ -12,17 +15,21 @@ export class SideMenuProfileComponent { public constructor( @Inject(UserService) public readonly user: UserService, @Inject(PageService) public readonly page: PageService, + @Inject(Router) public readonly router: Router, + private readonly sideMenu: SideMenuComponent, ) {} - @Output() public sideMenuProfileClose = new EventEmitter(); + public logout(event?: KeyboardEvent): void { + if (event && event.key !== 'Enter') return; - public logout(): void { - this.sideMenuProfileClose.emit(); + this.sideMenu.triggerClose(); this.user.logout(); } - public goto(route: 'profile' | 'payments' | 'pictures'): void { - // this.page.route = `users/${this.user.id}${route === 'profile' ? '' : `/${route}`}`; - this.sideMenuProfileClose.emit(); + public async goto(page: string, event?: KeyboardEvent) { + if (event && event.key !== 'Enter') return; + + this.sideMenu.triggerClose(); + await this.router.navigate(['users', this.user.id, page]); } } diff --git a/src/components/common/side_menu/side_profile/side_profile.html b/src/components/common/side_menu/side_profile/side_profile.html index 7ba4e10..715f083 100644 --- a/src/components/common/side_menu/side_profile/side_profile.html +++ b/src/components/common/side_menu/side_profile/side_profile.html @@ -17,23 +17,20 @@
- {{ 'header.profile.disconnect' | translate }} + {{ 'header.profile.disconnect' | translate }}
diff --git a/src/components/common/snackbar/snackbar.component.ts b/src/components/common/snackbar/snackbar.component.ts new file mode 100644 index 0000000..0027cd7 --- /dev/null +++ b/src/components/common/snackbar/snackbar.component.ts @@ -0,0 +1,41 @@ +import { Component, Inject, OnInit } from '@angular/core'; + +import { SnackbarService } from '@services/snackbar.service'; + +@Component({ + selector: 'sith-snackbar', + templateUrl: './snackbar.html', + styleUrls: ['./snackbar.scss'], +}) +export class SnackbarComponent implements OnInit { + public constructor(@Inject(SnackbarService) private readonly snackbarService: SnackbarService) {} + + public shown = false; + public message = ''; + public type: 'success' | 'error' = 'success'; + public title = ''; + public hiding = false; + + ngOnInit() { + this.snackbarService.registerSnackbarComponent(this); + } + + public show(message: string, title: string, type: 'success' | 'error' = 'success'): void { + this.message = message; + this.type = type; + this.shown = true; + this.title = title; + this.hiding = true; + + setTimeout(() => { + this.hide(); + }, 3000); + } + + public hide(event?: KeyboardEvent) { + if (event && event.key !== 'Enter') return; + + this.shown = false; + this.hiding = false; + } +} diff --git a/src/components/common/snackbar/snackbar.html b/src/components/common/snackbar/snackbar.html new file mode 100644 index 0000000..a474ca8 --- /dev/null +++ b/src/components/common/snackbar/snackbar.html @@ -0,0 +1,10 @@ +
+
+ +
+

{{ title }}

+ {{ message }} +
+
+
+
diff --git a/src/components/common/snackbar/snackbar.scss b/src/components/common/snackbar/snackbar.scss new file mode 100644 index 0000000..5913c04 --- /dev/null +++ b/src/components/common/snackbar/snackbar.scss @@ -0,0 +1,87 @@ +.snackbar { + bottom: 10px; + right: 10px; + position: absolute; + z-index: 1000; + + min-width: 350px; + border-radius: 5px; + + font-size: calc(12px * var(--font-size)); + font-family: Inter, sans-serif; + + overflow: hidden; + + &.success { + background-color: var(--green); + } + + &.error { + background-color: var(--red); + } + + > .content { + display: flex; + flex-direction: row; + align-items: center; + padding: 15px; + gap: 15px; + + > div > h4 { + margin: 0; + margin-bottom: 5px; + } + + > .close { + width: calc(25px * var(--font-size)); + height: calc(25px * var(--font-size)); + border-radius: 50%; + + &:hover { + cursor: pointer; + background-color: rgba(0, 0, 0, 0.1); + } + } + } + + > .loading { + width: 100%; + height: 8px; + background-color: rgba(0, 0, 0, 0.1); + bottom: 0; + left: 0; + + &.hiding::before { + content: ""; + position: absolute; + width: 20%; + height: 100%; + background-color: rgba(0, 0, 0, 0.3); + animation: snackbar-loading 3s linear infinite; + } + } + + &.hiding { + animation: 500ms snackbar-hiding 2500ms ease-out forwards; + } +} + +@keyframes snackbar-loading { + 0% { + width: 0; + } + + 100% { + width: 100%; + } +} + +@keyframes snackbar-hiding { + 0% { + opacity: 1; + } + + 100% { + opacity: 0; + } +} diff --git a/src/components/common/subtitle/subtitle.scss b/src/components/common/subtitle/subtitle.scss index 91ed524..eefa68f 100644 --- a/src/components/common/subtitle/subtitle.scss +++ b/src/components/common/subtitle/subtitle.scss @@ -5,8 +5,8 @@ h2 { font-family: Inter, sans-serif; font-style: normal; font-weight: 400; - font-size: 12px; - line-height: 15px; + font-size: calc(12px * var(--font-size)); + line-height: calc(15px * var(--font-size)); text-transform: uppercase; margin: 0; } diff --git a/src/components/desktop/header/header.html b/src/components/desktop/header/header.html index 9a63b7d..abd1402 100644 --- a/src/components/desktop/header/header.html +++ b/src/components/desktop/header/header.html @@ -19,7 +19,7 @@
- + diff --git a/src/components/mobile/header/header.html b/src/components/mobile/header/header.html index e3702f1..507b0f9 100644 --- a/src/components/mobile/header/header.html +++ b/src/components/mobile/header/header.html @@ -9,14 +9,14 @@
- - + + - + - + diff --git a/src/environments/environment.dev.ts b/src/environments/environment.dev.ts index c90719d..a1d91b3 100644 --- a/src/environments/environment.dev.ts +++ b/src/environments/environment.dev.ts @@ -3,8 +3,7 @@ export const environment = { REGISTER_AGE_MIN: 13, REGISTER_AGE_MAX: 100, HCAPTCHA_SITE_KEY: '10000000-ffff-ffff-ffff-000000000001', - API_URL: 'http://localhost:3000/api', - GRAPHQL_URL: 'http://localhost:3000/graphql', + API_URL: 'http://localhost:3000', DELAY_UPDATE_PROFILE_PICTURE: 604800, }; diff --git a/src/exported b/src/exported index fdf0a33..42d7131 160000 --- a/src/exported +++ b/src/exported @@ -1 +1 @@ -Subproject commit fdf0a335414dccdee5835f34b505004062742482 +Subproject commit 42d7131248c7cf493b36704b19becd447d4735bb diff --git a/src/main 2.ts b/src/main 2.ts deleted file mode 100644 index e69de29..0000000 diff --git a/src/pages/404/not-found.component.ts b/src/pages/404/not-found.component.ts index 00d65d4..3dfb734 100644 --- a/src/pages/404/not-found.component.ts +++ b/src/pages/404/not-found.component.ts @@ -12,7 +12,5 @@ export class NotFoundComponent { public constructor( @Inject(TranslateService) public readonly t: TranslateService, @Inject(PageService) public readonly page: PageService, - ) { - t.get('404.title').subscribe((title) => (page.title = title)); - } + ) {} } diff --git a/src/pages/forgot_password/forgot_password.component.ts b/src/pages/forgot_password/forgot_password.component.ts index 1541e14..de1b362 100644 --- a/src/pages/forgot_password/forgot_password.component.ts +++ b/src/pages/forgot_password/forgot_password.component.ts @@ -19,9 +19,7 @@ export class ForgotPasswordComponent { @Inject(TranslateService) public readonly t: TranslateService, @Inject(PageService) public readonly page: PageService, @Inject(FormBuilder) private readonly fb: FormBuilder, - ) { - t.get('forgot_password.title').subscribe((title: string) => (page.title = title)); - } + ) {} public errors(field: string): string[] { return getErrors(this.formGroup.controls[field]); diff --git a/src/pages/home/home.component.ts b/src/pages/home/home.component.ts index 72dfed8..77ba1fa 100644 --- a/src/pages/home/home.component.ts +++ b/src/pages/home/home.component.ts @@ -12,7 +12,5 @@ export class HomeComponent { public constructor( @Inject(TranslateService) public readonly t: TranslateService, @Inject(PageService) public readonly page: PageService, - ) { - t.get('home.title').subscribe((title: string) => (page.title = title)); - } + ) {} } diff --git a/src/pages/login/login.component.ts b/src/pages/login/login.component.ts index 7be0531..2c33dcd 100644 --- a/src/pages/login/login.component.ts +++ b/src/pages/login/login.component.ts @@ -1,11 +1,16 @@ -import type { UserTokenDto } from '#types/api'; +import type { email } from '#types'; +import type { ErrorResponseDto, MessageResponseDto, UserSignInDto, UserTokenDto } from '#types/api'; import { Component, Inject } from '@angular/core'; import { FormBuilder, FormGroup, Validators } from '@angular/forms'; +import { Router } from '@angular/router'; import { TranslateService } from '@ngx-translate/core'; import { getErrors } from '@directives'; +import { environment } from '@environments/environment'; +import { APIService, ApiError } from '@services/api.service'; import { PageService } from '@services/page.service'; +import { SnackbarService } from '@services/snackbar.service'; import { UserService } from '@services/user.service'; @Component({ @@ -24,39 +29,34 @@ export class LoginComponent { @Inject(PageService) public readonly page: PageService, @Inject(UserService) public readonly user: UserService, @Inject(FormBuilder) private readonly fb: FormBuilder, - ) { - t.get('login.title').subscribe((title: string) => (page.title = title)); - } + @Inject(Router) private readonly router: Router, + @Inject(APIService) private readonly api: APIService, + @Inject(SnackbarService) private readonly snackbar: SnackbarService, + ) {} - public login(): void { - // if (this.user.isLoggedIn) return; + public goto(page: string[] | string, event?: KeyboardEvent) { + if (event && event.key !== 'Enter') return; - // this.apollo - // .mutate<{ login: Token }>({ - // mutation: gql` - // mutation ($email: String!, $password: String!) { - // login(email: $email, password: $password) { - // token - // user_id - // } - // } - // `, - // variables: { - // email: this.formGroup.controls['email'].value, - // password: this.formGroup.controls['password'].value, - // }, - // errorPolicy: 'all', - // }) - // .subscribe(({ data, errors }) => { - // if (data) { - // this.user.login(data['login'].token, data['login'].user_id); - // } + this.router.navigate(typeof page === 'string' ? [page] : page).catch(() => ({})); + } - // if (errors && !data) { - // this.formGroup.controls['password'].setValue(undefined); - // this.formGroup.controls['password'].setErrors({ login_fail: true }); - // } - // }); + public login(): void { + this.api + .post(`${environment.API_URL}/auth/login`, { + email: this.formGroup.controls['email'].value as email, + password: this.formGroup.controls['password'].value as string, + }) + .subscribe({ + next: (data) => { + this.user.login(data.token, data.user_id); + this.goto('/user'); + }, + error: (e: ApiError) => { + this.snackbar.error(e.error.message, e.error.error, e.error.statusCode); + this.formGroup.controls['password'].setValue(undefined); + this.formGroup.controls['email'].setValue(undefined); + }, + }); } public errors(field: string): string[] { diff --git a/src/pages/login/login.html b/src/pages/login/login.html index 3002d94..e5a701f 100644 --- a/src/pages/login/login.html +++ b/src/pages/login/login.html @@ -1,6 +1,5 @@
- -
+
Association des Étudiants diff --git a/src/pages/register/register.component.ts b/src/pages/register/register.component.ts index df7b4bd..8518594 100644 --- a/src/pages/register/register.component.ts +++ b/src/pages/register/register.component.ts @@ -7,6 +7,7 @@ import { TranslateService } from '@ngx-translate/core'; import { CustomValidators, getErrors } from '@directives'; import { environment } from '@environments/environment'; import { PageService } from '@services/page.service'; +import { UserService } from '@services/user.service'; @Component({ selector: 'sith-register', @@ -14,6 +15,13 @@ import { PageService } from '@services/page.service'; styleUrls: ['./register.scss'], }) export class RegisterComponent { + public constructor( + @Inject(TranslateService) public readonly t: TranslateService, + @Inject(PageService) public readonly page: PageService, + @Inject(UserService) public readonly u: UserService, + @Inject(FormBuilder) private readonly fb: FormBuilder, + ) {} + public readonly MIN_AGE = environment.REGISTER_AGE_MIN; public readonly MAX_AGE = environment.REGISTER_AGE_MAX; public readonly MIN_NAME = 2; @@ -51,15 +59,6 @@ export class RegisterComponent { { validators: CustomValidators.passwordsMatchValidator() }, ); - public constructor( - @Inject(TranslateService) public readonly t: TranslateService, - @Inject(PageService) public readonly page: PageService, - // @Inject(UserService) public readonly u: UserService, - @Inject(FormBuilder) private readonly fb: FormBuilder, - ) { - t.get('register.title').subscribe((title: string) => (page.title = title)); - } - public errors(field: string): string[] { if ('passwordConfirm' === field) return [...getErrors(this.formGroup.controls[field]), ...getErrors(this.formGroup)]; diff --git a/src/pages/user/profile/banner-modal/banner-edit-modal.component.ts b/src/pages/user/profile/banner-modal/banner-edit-modal.component.ts index 9523d58..d602eb7 100644 --- a/src/pages/user/profile/banner-modal/banner-edit-modal.component.ts +++ b/src/pages/user/profile/banner-modal/banner-edit-modal.component.ts @@ -9,7 +9,6 @@ import { ImageCropperComponent } from '@components/common/image_cropper/image-cr import { environment } from '@environments/environment'; import { UserPermissionService } from '@services/user-permissions.service'; import { UserService } from '@services/user.service'; -import { DEFAULT_HEADERS } from '@utils/http'; @Component({ selector: 'sith-user-profile-banner-edit-modal', diff --git a/src/pages/user/profile/picture-modal/picture-edit-modal.component.ts b/src/pages/user/profile/picture-modal/picture-edit-modal.component.ts index d84d374..43e9e10 100644 --- a/src/pages/user/profile/picture-modal/picture-edit-modal.component.ts +++ b/src/pages/user/profile/picture-modal/picture-edit-modal.component.ts @@ -10,7 +10,6 @@ import { ImageCropperComponent } from '@components/common/image_cropper/image-cr import { environment } from '@environments/environment'; import { UserPermissionService } from '@services/user-permissions.service'; import { UserService } from '@services/user.service'; -import { DEFAULT_HEADERS } from '@utils/http'; @Component({ selector: 'sith-user-profile-picture-edit-modal', diff --git a/src/pages/user/profile/profile.component.ts b/src/pages/user/profile/profile.component.ts index b044aef..0728080 100644 --- a/src/pages/user/profile/profile.component.ts +++ b/src/pages/user/profile/profile.component.ts @@ -10,7 +10,6 @@ import { environment } from '@environments/environment.dev'; import { PageService } from '@services/page.service'; import { UserPermissionService } from '@services/user-permissions.service'; import { UserService } from '@services/user.service'; -import { DEFAULT_HEADERS } from '@utils/http'; import { UserProfileBannerEditModalComponent } from './banner-modal/banner-edit-modal.component'; import { UserProfilePictureEditModalComponent } from './picture-modal/picture-edit-modal.component'; @@ -88,12 +87,12 @@ export class UserProfileComponent { public getUserData(user_id: number): void { this.http .get(`${environment.API_URL}/users/picture/${user_id}`, { - headers: DEFAULT_HEADERS, + // headers: DEFAULT_HEADERS, responseType: 'arraybuffer', }) .subscribe({ next: (data: ArrayBuffer) => { - // this.profilePicture = data.toBase64(); + this.profilePicture = data.toBase64(); }, error: () => { this.profilePicture = undefined; @@ -102,7 +101,7 @@ export class UserProfileComponent { this.http .get(`${environment.API_URL}/users/banner/${user_id}`, { - headers: DEFAULT_HEADERS, + // headers: DEFAULT_HEADERS, responseType: 'arraybuffer', }) .subscribe({ diff --git a/src/services/api.service.ts b/src/services/api.service.ts new file mode 100644 index 0000000..5ef8f98 --- /dev/null +++ b/src/services/api.service.ts @@ -0,0 +1,45 @@ +import { HttpClient, HttpErrorResponse } from '@angular/common/http'; +import { Inject, Injectable } from '@angular/core'; + +export type ApiError = Omit & { error: T }; + +@Injectable({ + providedIn: 'root', +}) +export class APIService { + public constructor(@Inject(HttpClient) private readonly http: HttpClient) {} + + private readonly DEFAULT_HEADERS = { + Authorization: `${sessionStorage.getItem('user_token') ?? ''}`, + 'Accept-Language': localStorage.getItem('lang') ?? 'en-US', + 'Content-Type': 'application/json', + }; + + public get(url: string) { + return this.http.get(url, { headers: this.DEFAULT_HEADERS }); + } + + public post(url: string, body: B) { + return this.http.post(url, body, { headers: this.DEFAULT_HEADERS }); + } + + public put(url: string, body: B) { + return this.http.put(url, body, { headers: this.DEFAULT_HEADERS }); + } + + public delete(url: string) { + return this.http.delete(url, { headers: this.DEFAULT_HEADERS }); + } + + public patch(url: string, body: B) { + return this.http.patch(url, body, { headers: this.DEFAULT_HEADERS }); + } + + public head(url: string) { + return this.http.head(url, { headers: this.DEFAULT_HEADERS }); + } + + public options(url: string) { + return this.http.options(url, { headers: this.DEFAULT_HEADERS }); + } +} diff --git a/src/services/page.service.ts b/src/services/page.service.ts index bf4c1f0..14b45ac 100644 --- a/src/services/page.service.ts +++ b/src/services/page.service.ts @@ -1,16 +1,18 @@ import type { FontSize, Theme, ThemeEvent } from '#types/sith'; import { Inject, Injectable } from '@angular/core'; +import { ActivationStart, Router } from '@angular/router'; import { TranslateService } from '@ngx-translate/core'; import { fromEvent, Observable, Subscription } from 'rxjs'; +import { RouteData } from '@app-routing.module'; import { getLanguage, getLanguageDirection } from '@utils/i18n'; @Injectable({ providedIn: 'root', }) export class PageService { - public constructor(@Inject(TranslateService) public readonly t: TranslateService) { + public constructor(@Inject(TranslateService) public readonly t: TranslateService, private router: Router) { // if language not set if (localStorage.getItem('lang') === null) this.lang = this.DEFAULT_LANG; @@ -31,6 +33,15 @@ export class PageService { this.width = (evt.target as Window).innerWidth; this.height = (evt.target as Window).innerHeight; }); + + this.router.events.subscribe((event) => { + if (event instanceof ActivationStart) { + const data = event.snapshot.data as RouteData; + + if (data.title) t.get(data.title).subscribe((title: string) => (this.title = title)); + this.headless = data.headless ?? false; + } + }); } resizeObservable$: Observable; diff --git a/src/services/snackbar.service.ts b/src/services/snackbar.service.ts new file mode 100644 index 0000000..b44d34e --- /dev/null +++ b/src/services/snackbar.service.ts @@ -0,0 +1,26 @@ +import { Injectable } from '@angular/core'; + +import { SnackbarComponent } from '@components/common/snackbar/snackbar.component'; + +@Injectable({ + providedIn: 'root', +}) +export class SnackbarService { + private snackbarComponent: SnackbarComponent | undefined; + + registerSnackbarComponent(snackbarComponent: SnackbarComponent) { + this.snackbarComponent = snackbarComponent; + } + + private show(message: string, title: string, type?: 'error' | 'success') { + if (this.snackbarComponent) this.snackbarComponent.show(message, title, type); + } + + success(message: string, title: string) { + this.show(message, title, 'success'); + } + + error(message: string, title: string, status_code: number) { + this.show(message, `${status_code}: ${title}`, 'error'); + } +} diff --git a/src/services/user.service.ts b/src/services/user.service.ts index eff8821..417c8bb 100644 --- a/src/services/user.service.ts +++ b/src/services/user.service.ts @@ -5,7 +5,6 @@ import { Inject, Injectable } from '@angular/core'; import { environment } from '@environments/environment.dev'; import { PageService } from '@services/page.service'; -import { DEFAULT_HEADERS } from '@utils/http'; @Injectable({ providedIn: 'root', @@ -72,7 +71,7 @@ export class UserService { public fetchUserPicture(id: number) { this.http .get(`${environment.API_URL}/users/picture/${id}`, { - headers: DEFAULT_HEADERS, + // headers: DEFAULT_HEADERS, responseType: 'arraybuffer', }) .subscribe({ @@ -86,7 +85,7 @@ export class UserService { public fetchUserBanner(id: number) { this.http .get(`${environment.API_URL}/users/banner/${id}`, { - headers: DEFAULT_HEADERS, + // headers: DEFAULT_HEADERS, responseType: 'arraybuffer', }) .subscribe({ diff --git a/src/utils/http.ts b/src/utils/http.ts deleted file mode 100644 index e319adb..0000000 --- a/src/utils/http.ts +++ /dev/null @@ -1,7 +0,0 @@ -/** - * Default headers for all requests - */ -export const DEFAULT_HEADERS: { [key: string]: string | string[] } = { - Authorization: `${sessionStorage.getItem('user_token') ?? ''}`, - 'Accept-Language': localStorage.getItem('lang') ?? 'en-US', -}; From f387072b2a9cab38dc2f484e68197d4ddf69e3f7 Mon Sep 17 00:00:00 2001 From: Julien Constant Date: Sun, 29 Oct 2023 03:17:34 +0100 Subject: [PATCH 112/146] feat(core): add style to 404 page --- src/assets/i18n/en-US.json | 4 +++- src/pages/404/not-found.component.ts | 10 ++++++++-- src/pages/404/not-found.html | 11 ++++++++++- src/pages/404/not-found.scss | 24 ++++++++++++++++++++++++ 4 files changed, 45 insertions(+), 4 deletions(-) create mode 100644 src/pages/404/not-found.scss diff --git a/src/assets/i18n/en-US.json b/src/assets/i18n/en-US.json index 7bae377..7b43385 100644 --- a/src/assets/i18n/en-US.json +++ b/src/assets/i18n/en-US.json @@ -75,7 +75,9 @@ } }, "404": { - "title": "Page not found" + "title": "Page not found", + "description": "The page you are looking for does not exist or has been moved.", + "return_home": "Return to home page" }, "home": { "title": "Home" diff --git a/src/pages/404/not-found.component.ts b/src/pages/404/not-found.component.ts index 3dfb734..43448e1 100644 --- a/src/pages/404/not-found.component.ts +++ b/src/pages/404/not-found.component.ts @@ -1,4 +1,5 @@ import { Component, Inject } from '@angular/core'; +import { Router } from '@angular/router'; import { TranslateService } from '@ngx-translate/core'; import { PageService } from '@services/page.service'; @@ -6,11 +7,16 @@ import { PageService } from '@services/page.service'; @Component({ selector: 'sith-not-found', templateUrl: './not-found.html', - styleUrls: [], + styleUrls: ['./not-found.scss'], }) export class NotFoundComponent { public constructor( - @Inject(TranslateService) public readonly t: TranslateService, + @Inject(Router) public readonly router: Router, @Inject(PageService) public readonly page: PageService, + @Inject(TranslateService) public readonly t: TranslateService, ) {} + + public async goHome(): Promise { + await this.router.navigate(['/']); + } } diff --git a/src/pages/404/not-found.html b/src/pages/404/not-found.html index ffa6f66..eeeb698 100644 --- a/src/pages/404/not-found.html +++ b/src/pages/404/not-found.html @@ -1 +1,10 @@ -

404

+
+ + + + + +

{{ '404.description' | translate }}

+ + +
diff --git a/src/pages/404/not-found.scss b/src/pages/404/not-found.scss new file mode 100644 index 0000000..6b27e27 --- /dev/null +++ b/src/pages/404/not-found.scss @@ -0,0 +1,24 @@ +.content { + min-height: 100vh; + + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + + font-family: Inter, sans-serif; + + > .description { + color: var(--text-color-dynamic); + } + + > .logo { + width: 200px; + height: 200px; + margin-bottom: 20px; + } + + > .button { + margin-top: 20px; + } +} From e786f12f0ab5a98e49259f2e42220c186867849c Mon Sep 17 00:00:00 2001 From: Julien Constant Date: Sun, 29 Oct 2023 03:23:15 +0100 Subject: [PATCH 113/146] fix(core): use `(keydown.enter)="f()"` instead of `(keydown)=f($event)` and parsing the key --- .../common/selectors/theme/theme_selector.component.ts | 8 ++------ src/components/common/selectors/theme/theme_selector.html | 6 +++--- .../side_disconnected/side_disconnected.component.ts | 4 +--- src/components/common/side_menu/side_menu.component.ts | 4 +--- src/components/common/side_menu/side_menu.html | 2 +- .../side_menu/side_profile/side_profile.component.ts | 6 ++---- .../common/side_menu/side_profile/side_profile.html | 8 ++++---- src/components/common/snackbar/snackbar.component.ts | 4 +--- src/components/common/snackbar/snackbar.html | 2 +- src/pages/login/login.component.ts | 6 ++---- src/pages/login/login.html | 2 +- 11 files changed, 19 insertions(+), 33 deletions(-) diff --git a/src/components/common/selectors/theme/theme_selector.component.ts b/src/components/common/selectors/theme/theme_selector.component.ts index 5b8ae4a..286f949 100644 --- a/src/components/common/selectors/theme/theme_selector.component.ts +++ b/src/components/common/selectors/theme/theme_selector.component.ts @@ -42,15 +42,11 @@ export class ThemeSelectorComponent { } } - public updateTheme(theme: Theme, event?: KeyboardEvent): void { - if (event && event.key !== 'Enter') return; - + public updateTheme(theme: Theme): void { this.page.theme = theme; } - public updateThemeEvent(theme: ThemeEvent['theme'], event?: KeyboardEvent): void { - if (event && event.key !== 'Enter') return; - + public updateThemeEvent(theme: ThemeEvent['theme']): void { this.page.toggleThemeEvent(theme); } } diff --git a/src/components/common/selectors/theme/theme_selector.html b/src/components/common/selectors/theme/theme_selector.html index 82b9d3a..37a248d 100644 --- a/src/components/common/selectors/theme/theme_selector.html +++ b/src/components/common/selectors/theme/theme_selector.html @@ -2,7 +2,7 @@
  • @@ -14,8 +14,8 @@
    • {{ theme.name | translate }} diff --git a/src/components/common/side_menu/side_disconnected/side_disconnected.component.ts b/src/components/common/side_menu/side_disconnected/side_disconnected.component.ts index 84c6291..ef20a21 100644 --- a/src/components/common/side_menu/side_disconnected/side_disconnected.component.ts +++ b/src/components/common/side_menu/side_disconnected/side_disconnected.component.ts @@ -17,9 +17,7 @@ export class SideMenuDisconnectedComponent { private readonly sideMenu: SideMenuComponent, ) {} - public async goto(page: string, event?: KeyboardEvent) { - if (event && event.key !== 'Enter') return; - + public async goto(page: string) { this.sideMenu.triggerClose(); await this.router.navigate([page]); } diff --git a/src/components/common/side_menu/side_menu.component.ts b/src/components/common/side_menu/side_menu.component.ts index c211d06..de3f773 100644 --- a/src/components/common/side_menu/side_menu.component.ts +++ b/src/components/common/side_menu/side_menu.component.ts @@ -13,9 +13,7 @@ export class SideMenuComponent { @Output() public sideMenuClose = new EventEmitter(); private _closing = false; - public triggerClose(event?: KeyboardEvent): void { - if (event && event.key !== 'Enter') return; - + public triggerClose(): void { this._closing = true; setTimeout(() => { diff --git a/src/components/common/side_menu/side_menu.html b/src/components/common/side_menu/side_menu.html index 1759e39..584514a 100644 --- a/src/components/common/side_menu/side_menu.html +++ b/src/components/common/side_menu/side_menu.html @@ -1,5 +1,5 @@
      -
      +
      diff --git a/src/components/common/side_menu/side_profile/side_profile.component.ts b/src/components/common/side_menu/side_profile/side_profile.component.ts index 8ca5441..6d5be6e 100644 --- a/src/components/common/side_menu/side_profile/side_profile.component.ts +++ b/src/components/common/side_menu/side_profile/side_profile.component.ts @@ -19,16 +19,14 @@ export class SideMenuProfileComponent { private readonly sideMenu: SideMenuComponent, ) {} - public logout(event?: KeyboardEvent): void { - if (event && event.key !== 'Enter') return; this.sideMenu.triggerClose(); this.user.logout(); } - public async goto(page: string, event?: KeyboardEvent) { - if (event && event.key !== 'Enter') return; + public logout(): void { + public async goto(page: string) { this.sideMenu.triggerClose(); await this.router.navigate(['users', this.user.id, page]); } diff --git a/src/components/common/side_menu/side_profile/side_profile.html b/src/components/common/side_menu/side_profile/side_profile.html index 715f083..37863b1 100644 --- a/src/components/common/side_menu/side_profile/side_profile.html +++ b/src/components/common/side_menu/side_profile/side_profile.html @@ -17,20 +17,20 @@
      - {{ 'header.profile.disconnect' | translate }} + {{ 'header.profile.disconnect' | translate }}
diff --git a/src/components/common/snackbar/snackbar.component.ts b/src/components/common/snackbar/snackbar.component.ts index 0027cd7..887ea09 100644 --- a/src/components/common/snackbar/snackbar.component.ts +++ b/src/components/common/snackbar/snackbar.component.ts @@ -32,9 +32,7 @@ export class SnackbarComponent implements OnInit { }, 3000); } - public hide(event?: KeyboardEvent) { - if (event && event.key !== 'Enter') return; - + public hide() { this.shown = false; this.hiding = false; } diff --git a/src/components/common/snackbar/snackbar.html b/src/components/common/snackbar/snackbar.html index a474ca8..f29097d 100644 --- a/src/components/common/snackbar/snackbar.html +++ b/src/components/common/snackbar/snackbar.html @@ -1,6 +1,6 @@
- +

{{ title }}

{{ message }} diff --git a/src/pages/login/login.component.ts b/src/pages/login/login.component.ts index 2c33dcd..1e00e0a 100644 --- a/src/pages/login/login.component.ts +++ b/src/pages/login/login.component.ts @@ -1,5 +1,5 @@ import type { email } from '#types'; -import type { ErrorResponseDto, MessageResponseDto, UserSignInDto, UserTokenDto } from '#types/api'; +import type { ErrorResponseDto, UserSignInDto, UserTokenDto } from '#types/api'; import { Component, Inject } from '@angular/core'; import { FormBuilder, FormGroup, Validators } from '@angular/forms'; @@ -34,9 +34,7 @@ export class LoginComponent { @Inject(SnackbarService) private readonly snackbar: SnackbarService, ) {} - public goto(page: string[] | string, event?: KeyboardEvent) { - if (event && event.key !== 'Enter') return; - + public goto(page: string[] | string) { this.router.navigate(typeof page === 'string' ? [page] : page).catch(() => ({})); } diff --git a/src/pages/login/login.html b/src/pages/login/login.html index e5a701f..c915fee 100644 --- a/src/pages/login/login.html +++ b/src/pages/login/login.html @@ -1,5 +1,5 @@
-
+
Association des Étudiants From 9ee80c41af00a92653acda9f0ab841cde34a3b62 Mon Sep 17 00:00:00 2001 From: Julien Constant Date: Sun, 29 Oct 2023 03:23:47 +0100 Subject: [PATCH 114/146] fix(core): allow warn & error console logging --- .eslintrc.cjs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.eslintrc.cjs b/.eslintrc.cjs index 5e31b5e..e56a295 100644 --- a/.eslintrc.cjs +++ b/.eslintrc.cjs @@ -35,7 +35,7 @@ module.exports = { '@typescript-eslint/no-unsafe-enum-comparison': 'off', '@typescript-eslint/no-namespace': 'off', '@typescript-eslint/unbound-method': 'off', - 'no-console': 'warn', + 'no-console': ['error', { allow: ['warn', 'error'] }], 'prettier/prettier': ['error', { endOfLine: 'lf' }], 'import/export': 'off', 'import/order': [ From 6489b7e17e2d6bb37d2b656d34ff765b9824bad8 Mon Sep 17 00:00:00 2001 From: Julien Constant Date: Sun, 29 Oct 2023 03:24:14 +0100 Subject: [PATCH 115/146] fix(core): fix alt text overflowing --- src/components/common/icons/user_icon/user_icon.scss | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/components/common/icons/user_icon/user_icon.scss b/src/components/common/icons/user_icon/user_icon.scss index 8d524ba..c99fe57 100644 --- a/src/components/common/icons/user_icon/user_icon.scss +++ b/src/components/common/icons/user_icon/user_icon.scss @@ -5,6 +5,7 @@ > .image { position: absolute; + overflow: hidden; width: 100%; height: 100%; @@ -49,4 +50,4 @@ border-radius: 50%; } } -} \ No newline at end of file +} From 5bb26c1805e35afedf53ab613a7930d2f701e77c Mon Sep 17 00:00:00 2001 From: Julien Constant Date: Sun, 29 Oct 2023 03:24:39 +0100 Subject: [PATCH 116/146] fix(core): fix svg not being full width/height of their container --- src/components/common/icons/icons.scss | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/components/common/icons/icons.scss b/src/components/common/icons/icons.scss index ba5d02e..0c466d6 100644 --- a/src/components/common/icons/icons.scss +++ b/src/components/common/icons/icons.scss @@ -1,4 +1,7 @@ svg { + width: 100%; + height: 100%; + max-width: 100%; max-height: 100%; } From a673f916aff91f8f65747fa89e2433992222b003 Mon Sep 17 00:00:00 2001 From: Julien Constant Date: Sun, 29 Oct 2023 03:27:05 +0100 Subject: [PATCH 117/146] refactor(core): rename `isCenter` to `center` on title component --- src/components/common/side_menu/side_options/side_options.html | 2 +- src/components/common/title/title.component.ts | 2 +- src/components/common/title/title.html | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/components/common/side_menu/side_options/side_options.html b/src/components/common/side_menu/side_options/side_options.html index fd7da3e..26d2288 100644 --- a/src/components/common/side_menu/side_options/side_options.html +++ b/src/components/common/side_menu/side_options/side_options.html @@ -1,5 +1,5 @@
- + diff --git a/src/components/common/title/title.component.ts b/src/components/common/title/title.component.ts index e1b205d..5b83b2f 100644 --- a/src/components/common/title/title.component.ts +++ b/src/components/common/title/title.component.ts @@ -9,5 +9,5 @@ export class TitleComponent { @Input() public text = ''; @Input() public onDarkBackground = false; @Input() public adaptColor = false; - @Input() public isCentered = false; + @Input() public center = false; } diff --git a/src/components/common/title/title.html b/src/components/common/title/title.html index 5bdfcb3..11202b7 100644 --- a/src/components/common/title/title.html +++ b/src/components/common/title/title.html @@ -1 +1 @@ -

{{ text }}

+

{{ text }}

From 35b6c9da74dcf9e64e3b17617bf87c01a44b0446 Mon Sep 17 00:00:00 2001 From: Julien Constant Date: Sun, 29 Oct 2023 14:28:38 +0100 Subject: [PATCH 118/146] fix(core): swapped the custom-color color to a less harsh value --- src/styles/styles.scss | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/styles/styles.scss b/src/styles/styles.scss index 31a886d..7f34e81 100644 --- a/src/styles/styles.scss +++ b/src/styles/styles.scss @@ -4,7 +4,7 @@ @import './animations'; :root { - --user-custom-color: #420447; + --user-custom-color: #323a50; --max-page-width: 1080px; } From cced8cd5301fa46c915c14e12d86e8bc83bbca22 Mon Sep 17 00:00:00 2001 From: Julien Constant Date: Sun, 29 Oct 2023 14:31:24 +0100 Subject: [PATCH 119/146] fix(core): add `full_width` parameters to router params --- src/app-routing.module.ts | 28 ++++++++++++++-------------- src/pages/pages.module.ts | 3 --- src/pages/user/users.component.ts | 31 ------------------------------- src/pages/user/users.html | 5 ----- src/services/page.service.ts | 3 ++- 5 files changed, 16 insertions(+), 54 deletions(-) delete mode 100644 src/pages/user/users.component.ts delete mode 100644 src/pages/user/users.html diff --git a/src/app-routing.module.ts b/src/app-routing.module.ts index 22233a3..d7db862 100644 --- a/src/app-routing.module.ts +++ b/src/app-routing.module.ts @@ -9,11 +9,11 @@ import { RegisterComponent } from '@pages/register/register.component'; import { UserPaymentsComponent } from '@pages/user/payments/payments.component'; import { UserPicturesComponent } from '@pages/user/pictures/pictures.component'; import { UserProfileComponent } from '@pages/user/profile/profile.component'; -import { UsersComponent } from '@pages/user/users.component'; import { UserPermissionService } from '@services/user-permissions.service'; import { UserService } from '@services/user.service'; export type RouteData = { + full_width?: boolean; headless?: boolean; title?: string; }; @@ -70,16 +70,16 @@ const routes: Routes = [ path: 'users', canActivate: [() => inject(UserService).isLoggedIn], children: [ - { - path: '', - component: UsersComponent, - pathMatch: 'full', - }, { path: ':id', children: [ { path: '', + redirectTo: 'profile', + pathMatch: 'prefix', + }, + { + path: 'profile', component: UserProfileComponent, pathMatch: 'full', }, @@ -87,14 +87,14 @@ const routes: Routes = [ path: 'pictures', component: UserPicturesComponent, }, - { - path: 'payments', - component: UserPaymentsComponent, - canActivate: [ - // (route: ActivatedRouteSnapshot) => - // inject(UserPermissionService).canReadPrivateUser(parseInt(route.params['id'], 10)), - ], - }, + // { + // path: 'payments', + // component: UserPaymentsComponent, + // canActivate: [ + // (route: ActivatedRouteSnapshot) => + // inject(UserPermissionService).canReadPrivateUser(parseInt(route.params['id'], 10)), + // ], + // }, ], }, ], diff --git a/src/pages/pages.module.ts b/src/pages/pages.module.ts index 3c11d97..5a0e67a 100644 --- a/src/pages/pages.module.ts +++ b/src/pages/pages.module.ts @@ -15,7 +15,6 @@ import { UserProfileBannerEditModalComponent } from './user/profile/banner-modal import { UserProfileInfosEditModalComponent } from './user/profile/infos-modal/infos-edit-modal.component'; import { UserProfilePictureEditModalComponent } from './user/profile/picture-modal/picture-edit-modal.component'; import { UserProfileComponent } from './user/profile/profile.component'; -import { UsersComponent } from './user/users.component'; import { ComponentsModule } from '../components/components.module'; @NgModule({ @@ -25,7 +24,6 @@ import { ComponentsModule } from '../components/components.module'; LoginComponent, RegisterComponent, ForgotPasswordComponent, - UsersComponent, UserPaymentsComponent, UserProfileComponent, UserPicturesComponent, @@ -39,7 +37,6 @@ import { ComponentsModule } from '../components/components.module'; LoginComponent, RegisterComponent, ForgotPasswordComponent, - UsersComponent, UserPaymentsComponent, UserProfileComponent, UserPicturesComponent, diff --git a/src/pages/user/users.component.ts b/src/pages/user/users.component.ts deleted file mode 100644 index c3a56c1..0000000 --- a/src/pages/user/users.component.ts +++ /dev/null @@ -1,31 +0,0 @@ -import { Component, Inject } from '@angular/core'; - -import { PageService } from '@services/page.service'; - -@Component({ - selector: 'sith-users', - templateUrl: './users.html', - styleUrls: [], -}) -export class UsersComponent { - public users = [{ id: 1, first_name: 'John', last_name: 'Doe', nickname: 'jdoe' }]; - - public constructor(@Inject(PageService) public readonly page: PageService) { - // this.apollo - // .query<{ users: PublicUser[] }>({ - // query: gql` - // query { - // users { - // id - // first_name - // last_name - // nickname - // } - // } - // `, - // }) - // .subscribe(({ data }) => { - // this.users = data['users']; - // }); - } -} diff --git a/src/pages/user/users.html b/src/pages/user/users.html deleted file mode 100644 index b4bbb99..0000000 --- a/src/pages/user/users.html +++ /dev/null @@ -1,5 +0,0 @@ - diff --git a/src/services/page.service.ts b/src/services/page.service.ts index 14b45ac..edc245f 100644 --- a/src/services/page.service.ts +++ b/src/services/page.service.ts @@ -40,6 +40,7 @@ export class PageService { if (data.title) t.get(data.title).subscribe((title: string) => (this.title = title)); this.headless = data.headless ?? false; + this.full_width = data.full_width ?? false; } }); } @@ -227,7 +228,7 @@ export class PageService { * Control if the page is in full width mode or not * - Will make the navbar centered if false */ - public full_width = true; + public full_width = false; /** * Check if the device used by the user is a mobile device From 4a4cde1910959fb58a6b4bfd3539128ad1ee7e0e Mon Sep 17 00:00:00 2001 From: Julien Constant Date: Sun, 29 Oct 2023 14:33:38 +0100 Subject: [PATCH 120/146] feat(core): add `sith-password-input` to be able to toggle password visibility --- src/components/common/common.module.ts | 8 +- .../file_input/file-input.component.ts | 0 .../{ => inputs}/file_input/file-input.html | 0 .../{ => inputs}/file_input/file-input.scss | 0 .../password_input/pass-input.component.ts | 47 +++ .../inputs/password_input/pass-input.html | 8 + .../inputs/password_input/pass-input.scss | 46 +++ src/exported | 2 +- src/pages/login/login.html | 2 +- src/pages/login/login.scss | 270 ++++++++-------- src/pages/register/register.html | 4 +- src/pages/register/register.scss | 294 +++++++++--------- 12 files changed, 397 insertions(+), 284 deletions(-) rename src/components/common/{ => inputs}/file_input/file-input.component.ts (100%) rename src/components/common/{ => inputs}/file_input/file-input.html (100%) rename src/components/common/{ => inputs}/file_input/file-input.scss (100%) create mode 100644 src/components/common/inputs/password_input/pass-input.component.ts create mode 100644 src/components/common/inputs/password_input/pass-input.html create mode 100644 src/components/common/inputs/password_input/pass-input.scss diff --git a/src/components/common/common.module.ts b/src/components/common/common.module.ts index 4b7350e..454cedb 100644 --- a/src/components/common/common.module.ts +++ b/src/components/common/common.module.ts @@ -1,11 +1,13 @@ import { CommonModule } from '@angular/common'; import { NgModule } from '@angular/core'; +import { FormsModule } from '@angular/forms'; import { TranslateModule } from '@ngx-translate/core'; import { ButtonComponent } from './button/button.component'; -import { FileInputComponent } from './file_input/file-input.component'; import { IconsModule } from './icons/icons.module'; import { ImageCropperComponent } from './image_cropper/image-cropper.component'; +import { FileInputComponent } from './inputs/file_input/file-input.component'; +import { PasswordInputComponent } from './inputs/password_input/pass-input.component'; import { FontSizeSelectorComponent } from './selectors/font_size/font_size_selector.component'; import { LangSelectorComponent } from './selectors/lang/lang_selector.component'; import { SelectComponent } from './selectors/select/select.component'; @@ -34,6 +36,7 @@ import { TitleComponent } from './title/title.component'; ImageCropperComponent, FileInputComponent, SnackbarComponent, + PasswordInputComponent, ], exports: [ IconsModule, @@ -51,7 +54,8 @@ import { TitleComponent } from './title/title.component'; ImageCropperComponent, FileInputComponent, SnackbarComponent, + PasswordInputComponent, ], - imports: [IconsModule, CommonModule, TranslateModule], + imports: [IconsModule, CommonModule, TranslateModule, FormsModule], }) export class CommonComponentsModule {} diff --git a/src/components/common/file_input/file-input.component.ts b/src/components/common/inputs/file_input/file-input.component.ts similarity index 100% rename from src/components/common/file_input/file-input.component.ts rename to src/components/common/inputs/file_input/file-input.component.ts diff --git a/src/components/common/file_input/file-input.html b/src/components/common/inputs/file_input/file-input.html similarity index 100% rename from src/components/common/file_input/file-input.html rename to src/components/common/inputs/file_input/file-input.html diff --git a/src/components/common/file_input/file-input.scss b/src/components/common/inputs/file_input/file-input.scss similarity index 100% rename from src/components/common/file_input/file-input.scss rename to src/components/common/inputs/file_input/file-input.scss diff --git a/src/components/common/inputs/password_input/pass-input.component.ts b/src/components/common/inputs/password_input/pass-input.component.ts new file mode 100644 index 0000000..88ecf45 --- /dev/null +++ b/src/components/common/inputs/password_input/pass-input.component.ts @@ -0,0 +1,47 @@ +import { Component, Input, forwardRef } from '@angular/core'; +import { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms'; + +@Component({ + selector: 'sith-password-input', + templateUrl: './pass-input.html', + styleUrls: ['./pass-input.scss'], + providers: [ + { + provide: NG_VALUE_ACCESSOR, + useExisting: forwardRef(() => PasswordInputComponent), + multi: true, + }, + ], +}) +export class PasswordInputComponent implements ControlValueAccessor { + @Input() public autocomplete: 'on' | 'off' | 'current-password' | 'new-password' = 'off'; + + public type: 'password' | 'text' = 'password'; + + public toggleVisibility() { + this.type = this.type === 'password' ? 'text' : 'password'; + } + + // weird type because of 'any' type in ControlValueAccessor methods + // -> tell me you're using 'any' without telling me you're using 'any' + public onChange!: Parameters[0]; + public onTouch!: Parameters[0]; + + public input: unknown; + + registerOnChange(fn: Parameters[0]): void { + this.onChange = fn as unknown; + } + registerOnTouched(fn: Parameters[0]): void { + this.onTouch = fn as unknown; + } + + writeValue(obj: Parameters[0]): void { + this.input = obj; + } + + // eslint-disable-next-line @typescript-eslint/no-unused-vars + setDisabledState?(isDisabled: boolean): void { + return; + } +} diff --git a/src/components/common/inputs/password_input/pass-input.html b/src/components/common/inputs/password_input/pass-input.html new file mode 100644 index 0000000..200779d --- /dev/null +++ b/src/components/common/inputs/password_input/pass-input.html @@ -0,0 +1,8 @@ +
+ + +
diff --git a/src/components/common/inputs/password_input/pass-input.scss b/src/components/common/inputs/password_input/pass-input.scss new file mode 100644 index 0000000..41d7fb0 --- /dev/null +++ b/src/components/common/inputs/password_input/pass-input.scss @@ -0,0 +1,46 @@ +$icon-size: 20px; +$input-height: 32px; + +div { + position: relative; + + > .icon { + opacity: 0; + right: 5px; + top: calc(($input-height - $icon-size) / 2); + fill: var(--text-color-dark-bg); + position: absolute; + height: $icon-size; + width: $icon-size; + + &:focus, + &:hover { + cursor: pointer; + opacity: 1; + } + } + + > input { + font-family: Roboto, sans-serif; + font-weight: normal; + color: var(--text-color-dark-bg); + background-color: var(--gray4); + width: 100%; + border: none; + border-radius: 5px; + height: $input-height; + padding: 5px 5px 5px 10px; + display: flex; + justify-content: flex-start; + align-items: center; + + &::placeholder { + color: var(--text-color-dark-bg-placeholder); + font-size: calc(14px * var(--font-size)); + } + + &:hover ~ .icon, &:focus ~ .icon { + opacity: 1; + } + } +} diff --git a/src/exported b/src/exported index 42d7131..0313f33 160000 --- a/src/exported +++ b/src/exported @@ -1 +1 @@ -Subproject commit 42d7131248c7cf493b36704b19becd447d4735bb +Subproject commit 0313f333f7a51fa91de737cd829f44cc16d8da97 diff --git a/src/pages/login/login.html b/src/pages/login/login.html index c915fee..8f44d7d 100644 --- a/src/pages/login/login.html +++ b/src/pages/login/login.html @@ -27,7 +27,7 @@
- +
{{ getError(error) | translate }} diff --git a/src/pages/login/login.scss b/src/pages/login/login.scss index 6c883d4..cd5cfff 100644 --- a/src/pages/login/login.scss +++ b/src/pages/login/login.scss @@ -1,133 +1,137 @@ -main { - background-color: var(--gray3); - min-height: 100vh; - display: flex; - flex-direction: column; - align-items: center; - justify-content: flex-start; - gap: 40px; - padding: 40px 20px 60px; - - > .warning { - font-family: Roboto, sans-serif; - background-color: var(--orange-hover); - color: var(--text-color-dark-bg); - border: 1px solid var(--orange); - padding: 10px; - width: 100%; - max-width: 400px; - border-radius: 5px; - text-align: center; - } - - > .header { - cursor: pointer; - display: flex; - flex-direction: column; - align-items: center; - justify-content: flex-start; - - > .logo { - width: 200px; - height: 130px; - background-size: cover; - background-position: center; - background-repeat: no-repeat; - } - - > .text { - display: flex; - flex-direction: column; - color: var(--text-color-dark-bg); - font-family: Inter, sans-serif; - - > .title { - font-size: calc(25.5px * var(--font-size)); - } - - > .subtitle { - text-transform: uppercase; - font-size: calc(10px * var(--font-size)); - } - } - - &:hover > .text { - color: var(--dark-blue); - } - } - - > form { - width: 100%; - max-width: 400px; - display: flex; - flex-direction: column; - gap: 30px; - - > .form-head { - width: 100%; - } - - > .form-body { - display: flex; - flex-direction: column; - gap: 10px; - - > .global-link { - text-align: center; - } - - > .input-container { - width: 100%; - display: flex; - flex-direction: column; - gap: 5px; - - > .error { - font-family: Roboto, sans-serif; - color: var(--red); - font-size: calc(12px * var(--font-size)); - line-height: 14px; - margin-left: calc(32px + 5px); - display: flex; - flex-direction: column; - } - - > .input { - width: 100%; - display: flex; - gap: 5px; - - >.icon { - width: 16px; - height: 16px; - margin: 8px; - } - - > input { - font-family: Roboto, sans-serif; - font-weight: normal; - color: var(--text-color-dark-bg); - background-color: var(--gray4); - width: 100%; - border: none; - border-radius: 5px; - height: 32px; - padding: 5px 5px 5px 10px; - display: flex; - justify-content: center; - align-items: center; - - &::placeholder { - color: var(--text-color-dark-bg-placeholder); - font-size: calc(14px * var(--font-size)); - } - } - } - } - } - - > .form-button { - width: 100%; - } - } -} +main { + background-color: var(--gray3); + min-height: 100vh; + display: flex; + flex-direction: column; + align-items: center; + justify-content: flex-start; + gap: 40px; + padding: 40px 20px 60px; + + > .warning { + font-family: Roboto, sans-serif; + background-color: var(--orange-hover); + color: var(--text-color-dark-bg); + border: 1px solid var(--orange); + padding: 10px; + width: 100%; + max-width: 400px; + border-radius: 5px; + text-align: center; + } + + > .header { + cursor: pointer; + display: flex; + flex-direction: column; + align-items: center; + justify-content: flex-start; + + > .logo { + width: 200px; + height: 130px; + background-size: cover; + background-position: center; + background-repeat: no-repeat; + } + + > .text { + display: flex; + flex-direction: column; + color: var(--text-color-dark-bg); + font-family: Inter, sans-serif; + + > .title { + font-size: calc(25.5px * var(--font-size)); + } + + > .subtitle { + text-transform: uppercase; + font-size: calc(10px * var(--font-size)); + } + } + + &:hover > .text { + color: var(--dark-blue); + } + } + + > form { + width: 100%; + max-width: 400px; + display: flex; + flex-direction: column; + gap: 30px; + + > .form-head { + width: 100%; + } + + > .form-body { + display: flex; + flex-direction: column; + gap: 10px; + + > .global-link { + text-align: center; + } + + > .input-container { + width: 100%; + display: flex; + flex-direction: column; + gap: 5px; + + > .error { + font-family: Roboto, sans-serif; + color: var(--red); + font-size: calc(12px * var(--font-size)); + line-height: 14px; + margin-left: calc(32px + 5px); + display: flex; + flex-direction: column; + } + + > .input { + width: 100%; + display: flex; + gap: 5px; + + >.icon { + width: 16px; + height: 16px; + margin: 8px; + } + + > .custom-input { + width: 100%; + } + + > input { + font-family: Roboto, sans-serif; + font-weight: normal; + color: var(--text-color-dark-bg); + background-color: var(--gray4); + width: 100%; + border: none; + border-radius: 5px; + height: 32px; + padding: 5px 5px 5px 10px; + display: flex; + justify-content: center; + align-items: center; + + &::placeholder { + color: var(--text-color-dark-bg-placeholder); + font-size: calc(14px * var(--font-size)); + } + } + } + } + } + + > .form-button { + width: 100%; + } + } +} diff --git a/src/pages/register/register.html b/src/pages/register/register.html index 06ccb1f..61fd2c8 100644 --- a/src/pages/register/register.html +++ b/src/pages/register/register.html @@ -57,7 +57,7 @@
- +
{{ 'register.min_password' | translate }}
@@ -68,7 +68,7 @@
- +
{{ 'register.confirm_password' | translate }}
diff --git a/src/pages/register/register.scss b/src/pages/register/register.scss index 7fef8ce..5f94eb6 100644 --- a/src/pages/register/register.scss +++ b/src/pages/register/register.scss @@ -1,145 +1,149 @@ -main { - background-color: var(--gray3); - min-height: 100vh; - display: flex; - flex-direction: column; - align-items: center; - justify-content: flex-start; - gap: 40px; - padding: 40px 20px 60px; - - > .warning { - font-family: Roboto, sans-serif; - background-color: var(--orange-hover); - color: var(--text-color-dark-bg); - border: 1px solid var(--orange); - padding: 10px; - width: 100%; - max-width: 400px; - border-radius: 5px; - text-align: center; - } - - > .header { - cursor: pointer; - display: flex; - flex-direction: column; - align-items: center; - justify-content: flex-start; - - > .logo { - width: 200px; - height: 130px; - background-size: cover; - background-position: center; - background-repeat: no-repeat; - } - - > .text { - display: flex; - flex-direction: column; - color: var(--text-color-dark-bg); - font-family: Inter, sans-serif; - - > .title { - font-size: calc(25.5px * var(--font-size)); - } - - > .subtitle { - text-transform: uppercase; - font-size: calc(10px * var(--font-size)); - } - } - - &:hover > .text { - color: var(--dark-blue); - } - } - - > form { - width: 100%; - max-width: 400px; - display: flex; - flex-direction: column; - gap: 30px; - - > .form-head { - width: 100%; - } - - > .form-body { - display: flex; - flex-direction: column; - gap: 10px; - - > .input-container { - width: 100%; - display: flex; - flex-direction: column; - gap: 5px; - - > .error, - > .info { - font-family: Roboto, sans-serif; - font-size: calc(12px * var(--font-size)); - line-height: 14px; - margin-left: calc(32px + 5px); - display: flex; - flex-direction: column; - - &.no-margin { - margin-left: 0; - } - } - - > .error { - color: var(--red); - } - - > .info { - color: var(--text-color-dark-bg); - } - - > .input { - width: 100%; - display: flex; - gap: 5px; - - >.icon { - width: 16px; - height: 16px; - margin: 8px; - } - - > input { - font-family: Roboto, sans-serif; - font-weight: normal; - color: var(--text-color-dark-bg); - background-color: var(--gray4); - width: 100%; - border: none; - border-radius: 5px; - height: 32px; - padding: 5px 5px 5px 10px; - display: flex; - justify-content: flex-start; - align-items: center; - - &::placeholder { - color: var(--text-color-dark-bg-placeholder); - font-size: calc(14px * var(--font-size)); - } - } - } - } - } - - > .form-captcha { - margin: 0 auto; - } - - > .form-button { - width: 100%; - } - } -} \ No newline at end of file +main { + background-color: var(--gray3); + min-height: 100vh; + display: flex; + flex-direction: column; + align-items: center; + justify-content: flex-start; + gap: 40px; + padding: 40px 20px 60px; + + > .warning { + font-family: Roboto, sans-serif; + background-color: var(--orange-hover); + color: var(--text-color-dark-bg); + border: 1px solid var(--orange); + padding: 10px; + width: 100%; + max-width: 400px; + border-radius: 5px; + text-align: center; + } + + > .header { + cursor: pointer; + display: flex; + flex-direction: column; + align-items: center; + justify-content: flex-start; + + > .logo { + width: 200px; + height: 130px; + background-size: cover; + background-position: center; + background-repeat: no-repeat; + } + + > .text { + display: flex; + flex-direction: column; + color: var(--text-color-dark-bg); + font-family: Inter, sans-serif; + + > .title { + font-size: calc(25.5px * var(--font-size)); + } + + > .subtitle { + text-transform: uppercase; + font-size: calc(10px * var(--font-size)); + } + } + + &:hover > .text { + color: var(--dark-blue); + } + } + + > form { + width: 100%; + max-width: 400px; + display: flex; + flex-direction: column; + gap: 30px; + + > .form-head { + width: 100%; + } + + > .form-body { + display: flex; + flex-direction: column; + gap: 10px; + + > .input-container { + width: 100%; + display: flex; + flex-direction: column; + gap: 5px; + + > .error, + > .info { + font-family: Roboto, sans-serif; + font-size: calc(12px * var(--font-size)); + line-height: 14px; + margin-left: calc(32px + 5px); + display: flex; + flex-direction: column; + + &.no-margin { + margin-left: 0; + } + } + + > .error { + color: var(--red); + } + + > .info { + color: var(--text-color-dark-bg); + } + + > .input { + width: 100%; + display: flex; + gap: 5px; + + >.icon { + width: 16px; + height: 16px; + margin: 8px; + } + + > .custom-input { + width: 100%; + } + + > input { + font-family: Roboto, sans-serif; + font-weight: normal; + color: var(--text-color-dark-bg); + background-color: var(--gray4); + width: 100%; + border: none; + border-radius: 5px; + height: 32px; + padding: 5px 5px 5px 10px; + display: flex; + justify-content: flex-start; + align-items: center; + + &::placeholder { + color: var(--text-color-dark-bg-placeholder); + font-size: calc(14px * var(--font-size)); + } + } + } + } + } + + > .form-captcha { + margin: 0 auto; + } + + > .form-button { + width: 100%; + } + } +} From 7b470855ac0ecd1310489ce3eea06f697766a1ff Mon Sep 17 00:00:00 2001 From: Julien Constant Date: Sun, 29 Oct 2023 14:38:55 +0100 Subject: [PATCH 121/146] fix(core): add missing `keydown.enter` & `tabindex` --- src/components/desktop/header/header.component.ts | 5 +++++ src/components/desktop/header/header.html | 3 +-- src/components/mobile/header/header.component.ts | 6 ++++++ src/components/mobile/header/header.html | 3 +-- src/pages/user/profile/profile.html | 4 ++-- 5 files changed, 15 insertions(+), 6 deletions(-) diff --git a/src/components/desktop/header/header.component.ts b/src/components/desktop/header/header.component.ts index fb99ba0..e7e8e8d 100644 --- a/src/components/desktop/header/header.component.ts +++ b/src/components/desktop/header/header.component.ts @@ -1,4 +1,5 @@ import { Component, Inject } from '@angular/core'; +import { Router } from '@angular/router'; import { PageService } from '@services/page.service'; import { UserService } from '@services/user.service'; @@ -15,8 +16,12 @@ export class DesktopHeaderComponent { public constructor( @Inject(UserService) public readonly u: UserService, + @Inject(Router) public readonly router: Router, @Inject(PageService) public readonly page: PageService, ) {} + public async goto(path: string): Promise { + await this.router.navigate([path]); + } public triggerSideMenuProfile(): void { this.profileOpened = !this.profileOpened; diff --git a/src/components/desktop/header/header.html b/src/components/desktop/header/header.html index abd1402..c343d02 100644 --- a/src/components/desktop/header/header.html +++ b/src/components/desktop/header/header.html @@ -1,6 +1,5 @@
- -
+
AE's logo
Association des Étudiants diff --git a/src/components/mobile/header/header.component.ts b/src/components/mobile/header/header.component.ts index 6b86ddd..2859d7b 100644 --- a/src/components/mobile/header/header.component.ts +++ b/src/components/mobile/header/header.component.ts @@ -1,4 +1,5 @@ import { Component, Inject } from '@angular/core'; +import { Router } from '@angular/router'; import { PageService } from '@services/page.service'; import { UserService } from '@services/user.service'; @@ -15,6 +16,7 @@ export class MobileHeaderComponent { public constructor( @Inject(UserService) public readonly u: UserService, + @Inject(Router) private readonly router: Router, @Inject(PageService) public readonly page: PageService, ) {} @@ -29,4 +31,8 @@ export class MobileHeaderComponent { public triggerSideMenuOptions(): void { this.optionsOpened = !this.optionsOpened; } + + public async goto(path: string): Promise { + await this.router.navigate([path]); + } } diff --git a/src/components/mobile/header/header.html b/src/components/mobile/header/header.html index 507b0f9..4f5ee2e 100644 --- a/src/components/mobile/header/header.html +++ b/src/components/mobile/header/header.html @@ -1,6 +1,5 @@
- - +
{{ 'profile.account_suspended' | translate }} {{ 'profile.account_banned' | translate }} - +
-
+
From ed5597c832ce41044808fddc5edc7d0996b277d3 Mon Sep 17 00:00:00 2001 From: Julien Constant Date: Sun, 29 Oct 2023 14:41:56 +0100 Subject: [PATCH 122/146] refactor(core): improve register page --- src/directives/date.directive.ts | 4 +- src/environments/environment.dev.ts | 12 ++- src/pages/register/register.component.ts | 113 ++++++++++++++--------- src/pages/register/register.html | 27 +++--- 4 files changed, 94 insertions(+), 62 deletions(-) diff --git a/src/directives/date.directive.ts b/src/directives/date.directive.ts index 80e2f70..62167d3 100644 --- a/src/directives/date.directive.ts +++ b/src/directives/date.directive.ts @@ -22,8 +22,8 @@ export function requiredIfBelow(minAge: number, age: number): ValidatorFn | null * @param {number} min The minimum age to be accepted * @returns {ValidatorFn} The angular validator function */ -export function ageMinValidator(min = environment.REGISTER_AGE_MIN): ValidatorFn { return (control: AbstractControl): ValidationErrors | null => { +export function ageMinValidator(min = environment.USERS.MIN_AGE): ValidatorFn { if (!control.value) return null; const year = new Date().getFullYear(); @@ -37,8 +37,8 @@ export function ageMinValidator(min = environment.REGISTER_AGE_MIN): ValidatorFn * @param {number} max The maximum age to be accepted * @returns {ValidatorFn} The angular validator function */ -export function ageMaxValidator(max = environment.REGISTER_AGE_MAX): ValidatorFn { return (control: AbstractControl): ValidationErrors | null => { +export function ageMaxValidator(max = environment.USERS.MAX_AGE): ValidatorFn { if (!control.value) return null; const year = new Date().getFullYear(); diff --git a/src/environments/environment.dev.ts b/src/environments/environment.dev.ts index a1d91b3..518d00f 100644 --- a/src/environments/environment.dev.ts +++ b/src/environments/environment.dev.ts @@ -1,10 +1,18 @@ export const environment = { PRODUCTION: false, - REGISTER_AGE_MIN: 13, - REGISTER_AGE_MAX: 100, HCAPTCHA_SITE_KEY: '10000000-ffff-ffff-ffff-000000000001', API_URL: 'http://localhost:3000', DELAY_UPDATE_PROFILE_PICTURE: 604800, + + USERS: { + MIN_AGE: 13, + MAX_AGE: 100, + + MIN_NAME_LENGTH: 2, + MAX_NAME_LENGTH: 50, + + MIN_PASSWORD_LENGTH: 8, + }, }; export type Environment = typeof environment; diff --git a/src/pages/register/register.component.ts b/src/pages/register/register.component.ts index 8518594..150c623 100644 --- a/src/pages/register/register.component.ts +++ b/src/pages/register/register.component.ts @@ -1,13 +1,66 @@ -import type { UserTokenDto } from '#types/api'; +import type { email } from '#types'; import { Component, Inject } from '@angular/core'; -import { FormBuilder, FormGroup, Validators } from '@angular/forms'; +import { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms'; +import { Router } from '@angular/router'; import { TranslateService } from '@ngx-translate/core'; import { CustomValidators, getErrors } from '@directives'; import { environment } from '@environments/environment'; import { PageService } from '@services/page.service'; import { UserService } from '@services/user.service'; +type RegisterForm = typeof REGISTER_FORM_GROUP; +type RegisterFormKeys = keyof RegisterForm['controls']; +const REGISTER_FORM_GROUP = new FormGroup( + { + first_name: new FormControl('', { + nonNullable: true, + validators: [ + Validators.required, + Validators.minLength(environment.USERS.MIN_NAME_LENGTH), + Validators.maxLength(environment.USERS.MAX_NAME_LENGTH), + CustomValidators.nameValidator, + ], + }), + last_name: new FormControl('', { + nonNullable: true, + validators: [ + Validators.required, + Validators.minLength(environment.USERS.MIN_NAME_LENGTH), + Validators.maxLength(environment.USERS.MAX_NAME_LENGTH), + CustomValidators.nameValidator, + ], + }), + email: new FormControl('' as email, { + nonNullable: true, + validators: [Validators.required, Validators.email, CustomValidators.forbiddenEmailValidator('@utbm.fr')], + }), + birth_date: new FormControl(new Date(), { + nonNullable: true, + validators: [ + Validators.required, + CustomValidators.ageMinValidator(environment.USERS.MIN_AGE), + CustomValidators.ageMaxValidator(environment.USERS.MAX_AGE), + CustomValidators.notInFutureValidator, + ], + }), + password: new FormControl('', { + nonNullable: true, + validators: [ + Validators.required, + Validators.minLength(8), + CustomValidators.hasOneDigit, + CustomValidators.hasOneSpecialCharacter, + CustomValidators.hasOneUppercase, + CustomValidators.hasOneLowercase, + CustomValidators.hasNoDuplicateCharacters, + ], + }), + password_confirm: new FormControl('', { nonNullable: true, validators: [Validators.required] }), + captcha: new FormControl('', { nonNullable: true, validators: Validators.required }), + }, + { validators: CustomValidators.passwordsMatchValidator() }, +); @Component({ selector: 'sith-register', @@ -16,59 +69,29 @@ import { UserService } from '@services/user.service'; }) export class RegisterComponent { public constructor( - @Inject(TranslateService) public readonly t: TranslateService, + @Inject(Router) private readonly router: Router, @Inject(PageService) public readonly page: PageService, @Inject(UserService) public readonly u: UserService, @Inject(FormBuilder) private readonly fb: FormBuilder, + @Inject(TranslateService) private readonly t: TranslateService, ) {} - public readonly MIN_AGE = environment.REGISTER_AGE_MIN; - public readonly MAX_AGE = environment.REGISTER_AGE_MAX; - public readonly MIN_NAME = 2; - public readonly MIN_PASSWORD = 8; - - public readonly formGroup: FormGroup = this.fb.group( - { - lastName: [null, [Validators.required, Validators.minLength(this.MIN_NAME), CustomValidators.nameValidator]], - firstName: [null, [Validators.required, Validators.minLength(this.MIN_NAME), CustomValidators.nameValidator]], - email: [null, [Validators.required, Validators.email, CustomValidators.forbiddenEmailValidator('@utbm.fr')]], - birthDate: [ - null, - [ - Validators.required, - CustomValidators.ageMinValidator, - CustomValidators.ageMaxValidator, - CustomValidators.notInFutureValidator, - ], - ], - password: [ - null, - [ - Validators.required, - Validators.minLength(this.MIN_PASSWORD), - CustomValidators.hasOneDigit, - CustomValidators.hasOneSpecialCharacter, - CustomValidators.hasOneUppercase, - CustomValidators.hasOneLowercase, - CustomValidators.hasNoDuplicateCharacters, - ], - ], - passwordConfirm: [null, [Validators.required]], - captcha: [null, Validators.required], - }, - { validators: CustomValidators.passwordsMatchValidator() }, - ); + public readonly formGroup = REGISTER_FORM_GROUP; + public readonly MIN_NAME = environment.USERS.MIN_NAME_LENGTH; + public readonly MAX_NAME = environment.USERS.MAX_NAME_LENGTH; + public readonly MIN_AGE = environment.USERS.MIN_AGE; + public readonly MAX_AGE = environment.USERS.MAX_AGE; + public readonly MIN_PASSWORD = environment.USERS.MIN_PASSWORD_LENGTH; - public errors(field: string): string[] { - if ('passwordConfirm' === field) + public errors(field: RegisterFormKeys): string[] { + if ('password_confirm' === field) return [...getErrors(this.formGroup.controls[field]), ...getErrors(this.formGroup)]; return getErrors(this.formGroup.controls[field]); } - public getError(field: string, control = ''): string { - if (field === 'api') return this.formGroup.controls[control].getError(field) as string; - return `global.errors.${field}`; + public getError(key: string): string { + return `global.errors.${key}`; } public register(): void { @@ -111,5 +134,7 @@ export class RegisterComponent { // this.formGroup.controls['email'].setErrors({ api: errors[0].message }); // } // }); + public async goto(path: string): Promise { + await this.router.navigate([path]); } } diff --git a/src/pages/register/register.html b/src/pages/register/register.html index 61fd2c8..6e75539 100644 --- a/src/pages/register/register.html +++ b/src/pages/register/register.html @@ -1,6 +1,5 @@
- -
+
Association des Étudiants @@ -17,30 +16,30 @@
- +
-
- {{ getError(error) | translate: { min: MIN_NAME } }} +
+ {{ getError(error) | translate: { min: MIN_NAME, max: MAX_NAME } }}
- +
-
- {{ getError(error) | translate: { min: MIN_NAME } }} +
+ {{ getError(error) | translate: { min: MIN_NAME, max: MAX_NAME } }}
- +
{{ 'register.date_birth_no_modif' | translate }} -
- {{ getError(error) | translate: { min: MIN_AGE, max: MAX_AGE } }} +
+ {{ getError(error) | translate: { min: MIN_AGE, max: MAX_AGE } }}
@@ -50,7 +49,7 @@
- {{ getError(error, 'email') | translate }} + {{ getError(error) | translate }}
@@ -71,8 +70,8 @@
{{ 'register.confirm_password' | translate }} -
- {{ getError(error) | translate }} +
+ {{ getError(error) | translate }}
From bd334923c834b0ed972133d2fe46ef1d7a74e0cb Mon Sep 17 00:00:00 2001 From: Julien Constant Date: Sun, 29 Oct 2023 14:42:52 +0100 Subject: [PATCH 123/146] refactor(core): add missing `Bearer ` & overloads for `get()` --- src/services/api.service.ts | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/services/api.service.ts b/src/services/api.service.ts index 5ef8f98..af28917 100644 --- a/src/services/api.service.ts +++ b/src/services/api.service.ts @@ -1,5 +1,6 @@ import { HttpClient, HttpErrorResponse } from '@angular/common/http'; import { Inject, Injectable } from '@angular/core'; +import { Observable } from 'rxjs'; export type ApiError = Omit & { error: T }; @@ -10,12 +11,20 @@ export class APIService { public constructor(@Inject(HttpClient) private readonly http: HttpClient) {} private readonly DEFAULT_HEADERS = { - Authorization: `${sessionStorage.getItem('user_token') ?? ''}`, + Authorization: `Bearer ${sessionStorage.getItem('user_token') ?? 'invalid'}`, 'Accept-Language': localStorage.getItem('lang') ?? 'en-US', 'Content-Type': 'application/json', }; - public get(url: string) { + // FIXME fix method overloads (not working properly) + + public get(url: string, responseType: 'arraybuffer'): Observable; + public get(url: string, responseType?: 'json'): Observable; + + public get(url: string, responseType = 'json'): Observable { + if (responseType === 'arraybuffer') + return this.http.get(url, { headers: this.DEFAULT_HEADERS, responseType: 'arraybuffer' }) as Observable; + return this.http.get(url, { headers: this.DEFAULT_HEADERS }); } From d921e1062bdceb7b56f7bacd7a35a96eb8db3cb8 Mon Sep 17 00:00:00 2001 From: Julien Constant Date: Sun, 29 Oct 2023 14:43:56 +0100 Subject: [PATCH 124/146] refactor(core): use REST instead of graphQL for `sith-promo-icon` --- .../icons/promo_icon/promo_icon.component.ts | 55 ++++--------------- src/services/promotion.service.ts | 38 +++++++++++++ 2 files changed, 49 insertions(+), 44 deletions(-) create mode 100644 src/services/promotion.service.ts diff --git a/src/components/common/icons/promo_icon/promo_icon.component.ts b/src/components/common/icons/promo_icon/promo_icon.component.ts index 96bab39..ee3cfc3 100644 --- a/src/components/common/icons/promo_icon/promo_icon.component.ts +++ b/src/components/common/icons/promo_icon/promo_icon.component.ts @@ -1,8 +1,8 @@ -import { HttpClient } from '@angular/common/http'; +import type { imageURL } from '#types'; + import { Component, Inject, Input, OnChanges, OnInit } from '@angular/core'; -// import { Promotion } from '@__old/types/objects'; -import { environment } from '@environments/environment'; +import { PromotionService } from '@services/promotion.service'; @Component({ selector: 'sith-icon-promotion', @@ -10,12 +10,11 @@ import { environment } from '@environments/environment'; styleUrls: ['../icons.scss', './promo_icon.scss'], }) export class IconPromotionComponent implements OnInit, OnChanges { - public picture?: string = undefined; + public constructor(@Inject(PromotionService) private readonly promotionService: PromotionService) {} @Input() public number?: number; - public id?: number; - public constructor(@Inject(HttpClient) private readonly http: HttpClient) {} + public picture?: imageURL; public ngOnChanges(): void { this.setup(); @@ -27,44 +26,12 @@ export class IconPromotionComponent implements OnInit, OnChanges { public setup() { if (!this.number) return; - this.id = undefined; - - // this.apollo - // .query<{ promotion: Promotion }>({ - // query: gql` - // query ($number: Int!) { - // promotion(number: $number) { - // id - // } - // } - // `, - // variables: { - // number: this.number, - // }, - // fetchPolicy: 'cache-first', - // errorPolicy: 'all', - // }) - // .subscribe(({ data, error }) => { - // if (!data || error) return; - // this.id = data['promotion'].id; - - // this.getPromoPicture(); - // }); - } - public getPromoPicture() { - // this.http - // .get(`${environment.API_URL}/promotions/logo/${this.id}`, { - // headers: DEFAULT_HEADERS, - // responseType: 'arraybuffer', - // }) - // .subscribe({ - // next: (data) => { - // this.picture = data.toBase64(); - // }, - // error: () => { - // this.picture = undefined; - // }, - // }); + this.promotionService.promotionPicture(this.number).subscribe({ + next: (data) => { + this.picture = data; + }, + error: (err) => console.error(err), + }); } } diff --git a/src/services/promotion.service.ts b/src/services/promotion.service.ts new file mode 100644 index 0000000..175f633 --- /dev/null +++ b/src/services/promotion.service.ts @@ -0,0 +1,38 @@ +import type { imageURL } from '#types'; +import type { ErrorResponseDto } from '#types/api'; + +import { Inject, Injectable } from '@angular/core'; +import { Observable, catchError, map, of, throwError } from 'rxjs'; + +import { environment } from '@environments/environment'; + +import { APIService, ApiError } from './api.service'; + +@Injectable({ + providedIn: 'root', +}) +export class PromotionService { + public constructor(@Inject(APIService) private readonly api: APIService) {} + + public promotionPicture(id: number): Observable { + return this.api.get(`${environment.API_URL}/promotions/${id}/logo`, 'arraybuffer').pipe( + catchError((err: ApiError) => { + const error: ErrorResponseDto = err.error.toJSON(); + + // If the user has no picture, return undefined + if (error.statusCode === 404) return of(undefined); + + // If any other error, throw it for later handling + return throwError(() => error); + }), + map((data) => { + // convert the arraybuffer to blob url + if (data) return data.toImageURL(); + + // If the user has no picture, return undefined + // (should not happen as we catch the 404 error) + return undefined; + }), + ); + } +} From 61dae40c1dc1dd4391e40d1ce385e8700df3e2d4 Mon Sep 17 00:00:00 2001 From: Julien Constant Date: Sun, 29 Oct 2023 14:46:24 +0100 Subject: [PATCH 125/146] refactor(core): started replacing graphQL with REST in `userService` --- src/app-routing.module.ts | 8 +- .../side_menu/side_options/side_options.html | 2 +- .../side_profile/side_profile.component.ts | 51 +++- .../side_menu/side_profile/side_profile.html | 14 +- .../desktop/header/header.component.ts | 23 +- src/components/desktop/header/header.html | 15 +- .../mobile/header/header.component.ts | 31 ++- src/components/mobile/header/header.html | 23 +- src/pages/register/register.component.ts | 66 ++--- .../banner-edit-modal.component.ts | 2 +- .../infos-modal/infos-edit-modal.component.ts | 4 +- .../picture-edit-modal.component.ts | 4 +- src/pages/user/profile/profile.component.ts | 68 +++-- src/services/user-permissions.service.ts | 5 +- src/services/user.service.ts | 232 ++++++++---------- 15 files changed, 296 insertions(+), 252 deletions(-) diff --git a/src/app-routing.module.ts b/src/app-routing.module.ts index d7db862..7226ae1 100644 --- a/src/app-routing.module.ts +++ b/src/app-routing.module.ts @@ -41,7 +41,7 @@ const routes: Routes = [ }, { path: 'login', - canActivate: [() => !inject(UserService).isLoggedIn], + canActivate: [() => !inject(UserService).isLoggedIn()], component: LoginComponent, data: { headless: true, @@ -50,7 +50,7 @@ const routes: Routes = [ }, { path: 'register', - canActivate: [() => !inject(UserService).isLoggedIn], + canActivate: [() => !inject(UserService).isLoggedIn()], component: RegisterComponent, data: { headless: true, @@ -59,7 +59,7 @@ const routes: Routes = [ }, { path: 'forgot_password', - canActivate: [() => !inject(UserService).isLoggedIn], + canActivate: [() => !inject(UserService).isLoggedIn()], component: ForgotPasswordComponent, data: { headless: true, @@ -68,7 +68,7 @@ const routes: Routes = [ }, { path: 'users', - canActivate: [() => inject(UserService).isLoggedIn], + canActivate: [() => inject(UserService).isLoggedIn()], children: [ { path: ':id', diff --git a/src/components/common/side_menu/side_options/side_options.html b/src/components/common/side_menu/side_options/side_options.html index 26d2288..e5b2459 100644 --- a/src/components/common/side_menu/side_options/side_options.html +++ b/src/components/common/side_menu/side_options/side_options.html @@ -5,7 +5,7 @@ -
+
diff --git a/src/components/common/side_menu/side_profile/side_profile.component.ts b/src/components/common/side_menu/side_profile/side_profile.component.ts index 6d5be6e..981df0d 100644 --- a/src/components/common/side_menu/side_profile/side_profile.component.ts +++ b/src/components/common/side_menu/side_profile/side_profile.component.ts @@ -1,7 +1,12 @@ +import type { imageURL } from '#types'; +import type { ErrorResponseDto, UserPublicDto } from '#types/api'; + import { Component, Inject } from '@angular/core'; import { Router } from '@angular/router'; +import { ApiError } from '@services/api.service'; import { PageService } from '@services/page.service'; +import { SnackbarService } from '@services/snackbar.service'; import { UserService } from '@services/user.service'; import { SideMenuComponent } from '../side_menu.component'; @@ -13,21 +18,51 @@ import { SideMenuComponent } from '../side_menu.component'; }) export class SideMenuProfileComponent { public constructor( - @Inject(UserService) public readonly user: UserService, - @Inject(PageService) public readonly page: PageService, @Inject(Router) public readonly router: Router, - private readonly sideMenu: SideMenuComponent, - ) {} + @Inject(UserService) public readonly userService: UserService, + @Inject(PageService) public readonly page: PageService, + @Inject(SnackbarService) public readonly snackbar: SnackbarService, + @Inject(SideMenuComponent) private readonly sideMenu: SideMenuComponent, + ) { + if (this.userService.isLoggedIn()) { + this.userService.user(this.userService.logged_user_id).subscribe({ + next: (user) => (this.user = user), + error: (e: ApiError) => { + console.error(e); + this.snackbar.error(e.error.message, e.error.error, e.error.statusCode); + }, + }); + this.userService.userPicture(this.userService.logged_user_id).subscribe({ + next: (picture) => (this.userPicture = picture), + error: (e: ApiError) => { + console.error(e); + this.snackbar.error(e.error.message, e.error.error, e.error.statusCode); + }, + }); - this.sideMenu.triggerClose(); - this.user.logout(); + this.userService.userBanner(this.userService.logged_user_id).subscribe({ + next: (banner) => (this.userBanner = banner), + error: (e: ApiError) => { + console.error(e); + this.snackbar.error(e.error.message, e.error.error, e.error.statusCode); + }, + }); + } } - public logout(): void { + public user?: UserPublicDto; + public userPicture?: imageURL; + public userBanner?: imageURL; + + public async logout(): Promise { + this.sideMenu.triggerClose(); + this.userService.logout(); + await this.router.navigate(['home']); + } public async goto(page: string) { this.sideMenu.triggerClose(); - await this.router.navigate(['users', this.user.id, page]); + await this.router.navigate(['users', this.userService.logged_user_id, page]); } } diff --git a/src/components/common/side_menu/side_profile/side_profile.html b/src/components/common/side_menu/side_profile/side_profile.html index 37863b1..3ebef7a 100644 --- a/src/components/common/side_menu/side_profile/side_profile.html +++ b/src/components/common/side_menu/side_profile/side_profile.html @@ -1,19 +1,19 @@
- +
- +
- {{ user.fullName }} - {{ user.balance }} € + {{ user?.full_name }} + 0 €
- {{ user.accountId }} + {{ user?.id }}
- - + + - - + +
diff --git a/src/components/mobile/header/header.component.ts b/src/components/mobile/header/header.component.ts index 2859d7b..32956f3 100644 --- a/src/components/mobile/header/header.component.ts +++ b/src/components/mobile/header/header.component.ts @@ -1,7 +1,12 @@ +import type { imageURL } from '#types'; +import type { ErrorResponseDto, UserPublicDto } from '#types/api'; + import { Component, Inject } from '@angular/core'; import { Router } from '@angular/router'; +import { ApiError } from '@services/api.service'; import { PageService } from '@services/page.service'; +import { SnackbarService } from '@services/snackbar.service'; import { UserService } from '@services/user.service'; @Component({ @@ -15,10 +20,32 @@ export class MobileHeaderComponent { public connectionOpened = false; public constructor( - @Inject(UserService) public readonly u: UserService, @Inject(Router) private readonly router: Router, @Inject(PageService) public readonly page: PageService, - ) {} + @Inject(UserService) public readonly userService: UserService, + @Inject(SnackbarService) public readonly snackbar: SnackbarService, + ) { + if (userService.isLoggedIn()) { + this.userService.user(this.userService.logged_user_id).subscribe({ + next: (user) => (this.user = user), + error: (err: ApiError) => { + console.error(err); + this.snackbar.error(err.error.message, err.error.error, err.error.statusCode); + }, + }); + + this.userService.userPicture(this.userService.logged_user_id).subscribe({ + next: (picture) => (this.userPicture = picture), + error: (err: ApiError) => { + console.error(err); + this.snackbar.error(err.error.message, err.error.error, err.error.statusCode); + }, + }); + } + } + + public user?: UserPublicDto; + public userPicture?: imageURL; public triggerSideMenuProfile(): void { this.profileOpened = !this.profileOpened; diff --git a/src/components/mobile/header/header.html b/src/components/mobile/header/header.html index 4f5ee2e..d71bead 100644 --- a/src/components/mobile/header/header.html +++ b/src/components/mobile/header/header.html @@ -1,10 +1,25 @@
- - - + + +
diff --git a/src/pages/register/register.component.ts b/src/pages/register/register.component.ts index 150c623..c322f1c 100644 --- a/src/pages/register/register.component.ts +++ b/src/pages/register/register.component.ts @@ -1,4 +1,5 @@ import type { email } from '#types'; +import type { ErrorResponseDto, UserPostDto, UserPublicDto } from '#types/api'; import { Component, Inject } from '@angular/core'; import { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms'; @@ -7,8 +8,10 @@ import { TranslateService } from '@ngx-translate/core'; import { CustomValidators, getErrors } from '@directives'; import { environment } from '@environments/environment'; +import { APIService, ApiError } from '@services/api.service'; import { PageService } from '@services/page.service'; -import { UserService } from '@services/user.service'; +import { SnackbarService } from '@services/snackbar.service'; + type RegisterForm = typeof REGISTER_FORM_GROUP; type RegisterFormKeys = keyof RegisterForm['controls']; const REGISTER_FORM_GROUP = new FormGroup( @@ -71,9 +74,10 @@ export class RegisterComponent { public constructor( @Inject(Router) private readonly router: Router, @Inject(PageService) public readonly page: PageService, - @Inject(UserService) public readonly u: UserService, + @Inject(APIService) private readonly api: APIService, @Inject(FormBuilder) private readonly fb: FormBuilder, @Inject(TranslateService) private readonly t: TranslateService, + @Inject(SnackbarService) private readonly snackbar: SnackbarService, ) {} public readonly formGroup = REGISTER_FORM_GROUP; @@ -95,45 +99,25 @@ export class RegisterComponent { } public register(): void { - // this.apollo - // .mutate<{ register: Token }>({ - // mutation: gql` - // mutation ( - // $birthday: DateTime! - // $email: String! - // $first_name: String! - // $last_name: String! - // $password: String! - // ) { - // register( - // birthday: $birthday - // email: $email - // first_name: $first_name - // last_name: $last_name - // password: $password - // ) { - // token - // user_id - // } - // } - // `, - // variables: { - // birthday: this.formGroup.controls['birthDate'].value, - // email: this.formGroup.controls['email'].value, - // first_name: this.formGroup.controls['firstName'].value, - // last_name: this.formGroup.controls['lastName'].value, - // password: this.formGroup.controls['password'].value, - // }, - // errorPolicy: 'all', - // }) - // .subscribe(({ data, errors }) => { - // if (data && !errors) { - // this.u.login(data['register'].token, data['register'].user_id); - // this.page.route = '/'; - // } else if (errors) { - // this.formGroup.controls['email'].setErrors({ api: errors[0].message }); - // } - // }); + this.api + .post('/users', { + first_name: this.formGroup.controls.first_name.value, + last_name: this.formGroup.controls.last_name.value, + email: this.formGroup.controls.email.value, + birth_date: this.formGroup.controls.birth_date.value, + password: this.formGroup.controls.password.value, + }) + .subscribe({ + next: (user) => { + console.log(user); + }, + error: (err: ApiError) => { + console.error(err); + this.snackbar.error(err.error.message, err.error.error, err.error.statusCode); + }, + }); + } + public async goto(path: string): Promise { await this.router.navigate([path]); } diff --git a/src/pages/user/profile/banner-modal/banner-edit-modal.component.ts b/src/pages/user/profile/banner-modal/banner-edit-modal.component.ts index d602eb7..827ca9e 100644 --- a/src/pages/user/profile/banner-modal/banner-edit-modal.component.ts +++ b/src/pages/user/profile/banner-modal/banner-edit-modal.component.ts @@ -75,7 +75,7 @@ export class UserProfileBannerEditModalComponent implements OnInit { } public isSelf() { - return this.userId === this.u.id; + return this.userId === this.u.logged_user_id; } public updateUncroppedBanner(file: base64) { diff --git a/src/pages/user/profile/infos-modal/infos-edit-modal.component.ts b/src/pages/user/profile/infos-modal/infos-edit-modal.component.ts index 08fcfef..cafc9ae 100644 --- a/src/pages/user/profile/infos-modal/infos-edit-modal.component.ts +++ b/src/pages/user/profile/infos-modal/infos-edit-modal.component.ts @@ -114,7 +114,6 @@ export class UserProfileInfosEditModalComponent implements OnInit { // }) // .subscribe(({ data, error }) => { // if (!data || error) return; - // this.infosForm.patchValue({ // ...data.userPrivate, // birthday: data.userPrivate.birthday.toString().split('T')[0], @@ -169,7 +168,6 @@ export class UserProfileInfosEditModalComponent implements OnInit { // }) // .subscribe(({ data, error }) => { // if (!data || error) return; - // this.maxPromotion = data['latestPromotion'].number; // }); } @@ -185,7 +183,7 @@ export class UserProfileInfosEditModalComponent implements OnInit { } public isSelf() { - return this.userId === this.user.id; + return this.userId === this.user.logged_user_id; } public open() { diff --git a/src/pages/user/profile/picture-modal/picture-edit-modal.component.ts b/src/pages/user/profile/picture-modal/picture-edit-modal.component.ts index 43e9e10..a1e423f 100644 --- a/src/pages/user/profile/picture-modal/picture-edit-modal.component.ts +++ b/src/pages/user/profile/picture-modal/picture-edit-modal.component.ts @@ -83,12 +83,10 @@ export class UserProfilePictureEditModalComponent implements OnInit { // }) // .subscribe(({ data }) => { // if (!data) return; - // // The user can't update his picture more than once a week // const diff = // environment.DELAY_UPDATE_PROFILE_PICTURE * 1000 - // (new Date().getTime() - new Date(data['lastPictureUpdate'].date).getTime()); - // if (diff > 0) this.timeLeft = new Date(new Date().getTime() + diff); // if (!this.isOwner || this.perms.hasPermission('CAN_EDIT_USER')) this.timeLeft = undefined; // }); @@ -106,7 +104,7 @@ export class UserProfilePictureEditModalComponent implements OnInit { } public get isOwner(): boolean { - return this.userId === this.u.id; + return this.userId === this.u.logged_user_id; } public get hasPermissions(): boolean { diff --git a/src/pages/user/profile/profile.component.ts b/src/pages/user/profile/profile.component.ts index 0728080..458c5bd 100644 --- a/src/pages/user/profile/profile.component.ts +++ b/src/pages/user/profile/profile.component.ts @@ -1,4 +1,4 @@ -import type { base64 } from '#types'; +import type { base64, imageURL } from '#types'; import { HttpClient } from '@angular/common/http'; import { Component, Inject, ViewChild } from '@angular/core'; @@ -25,8 +25,8 @@ export class UserProfileComponent { public age?: number; public birthdayFormatted?: string; - public profilePicture?: base64; - public profileBanner?: base64; + public profilePicture?: base64 | imageURL; + public profileBanner?: base64 | imageURL; // TODO implement those fields public suspended = false; @@ -73,7 +73,7 @@ export class UserProfileComponent { } public get isOwner(): boolean { - return this.userId === this.u.id; + return this.userId === this.u.logged_user_id; } public updatePicture(output: base64) { @@ -85,36 +85,33 @@ export class UserProfileComponent { } public getUserData(user_id: number): void { - this.http - .get(`${environment.API_URL}/users/picture/${user_id}`, { - // headers: DEFAULT_HEADERS, - responseType: 'arraybuffer', - }) - .subscribe({ - next: (data: ArrayBuffer) => { - this.profilePicture = data.toBase64(); - }, - error: () => { - this.profilePicture = undefined; - }, - }); - - this.http - .get(`${environment.API_URL}/users/banner/${user_id}`, { - // headers: DEFAULT_HEADERS, - responseType: 'arraybuffer', - }) - .subscribe({ - next: (data) => { - // this.profileBanner = data.toBase64(); - }, - error: () => { - this.profileBanner = undefined; - }, - }); - - const endpoint = this.shouldSeePrivateData ? 'userPrivate' : 'userPublic'; - + // this.http + // .get(`${environment.API_URL}/users/picture/${user_id}`, { + // // headers: DEFAULT_HEADERS, + // responseType: 'arraybuffer', + // }) + // .subscribe({ + // next: (data: ArrayBuffer) => { + // this.profilePicture = data.toBase64(); + // }, + // error: () => { + // this.profilePicture = undefined; + // }, + // }); + // this.http + // .get(`${environment.API_URL}/users/banner/${user_id}`, { + // // headers: DEFAULT_HEADERS, + // responseType: 'arraybuffer', + // }) + // .subscribe({ + // next: (data) => { + // // this.profileBanner = data.toBase64(); + // }, + // error: () => { + // this.profileBanner = undefined; + // }, + // }); + // const endpoint = this.shouldSeePrivateData ? 'userPrivate' : 'userPublic'; // this.apollo // .query<{ userPublic: PublicUser; userPrivate: PrivateUser }>({ // query: gql` @@ -153,18 +150,15 @@ export class UserProfileComponent { // case 'userPrivate': // this.user = data['userPrivate']; // break; - // default: // this.user = data['userPublic']; // break; // } - // const TimeDiff = Math.abs(Date.now() - new Date(this.user?.birthday ?? 0).getTime()); // this.age = Math.floor(TimeDiff / (1000 * 3600 * 24) / 365.25); // this.currentTab = 'about'; // this.t.get('profile.title', { name: this.user.first_name }).subscribe((title) => (this.page.title = title)); // } - // if (!data || error) { // // this.page.route = '/404'; // } diff --git a/src/services/user-permissions.service.ts b/src/services/user-permissions.service.ts index 5dff0ae..8557b2a 100644 --- a/src/services/user-permissions.service.ts +++ b/src/services/user-permissions.service.ts @@ -63,12 +63,13 @@ export class UserPermissionService { * @returns {Promise} true if the user can read the private information of another user or if the user is itself */ public async canReadPrivateUser(id: number): Promise { - if (this.ready) return this.user.isLoggedIn && (this.hasPermission('CAN_READ_USER_PRIVATE') || this.user.id === id); + if (this.ready) + return this.user.isLoggedIn() && (this.hasPermission('CAN_READ_USER_PRIVATE') || this.user.logged_user_id === id); await new Promise((resolve) => { this.ready$.subscribe(() => resolve()); }); - return this.user.isLoggedIn && (this.hasPermission('CAN_READ_USER_PRIVATE') || this.user.id === id); + return this.user.isLoggedIn() && (this.hasPermission('CAN_READ_USER_PRIVATE') || this.user.logged_user_id === id); } } diff --git a/src/services/user.service.ts b/src/services/user.service.ts index 417c8bb..1e9fef9 100644 --- a/src/services/user.service.ts +++ b/src/services/user.service.ts @@ -1,175 +1,143 @@ -import type { PrivateUser, PublicUser } from '@__old/types/objects'; +import type { imageURL } from '#types'; +import type { ErrorResponseDto, UserPrivateDto, UserPublicDto } from '#types/api'; -import { HttpClient } from '@angular/common/http'; import { Inject, Injectable } from '@angular/core'; +import { Observable, catchError, map, of, throwError } from 'rxjs'; import { environment } from '@environments/environment.dev'; -import { PageService } from '@services/page.service'; + +import { APIService, ApiError } from './api.service'; @Injectable({ providedIn: 'root', }) export class UserService { - public constructor( - @Inject(HttpClient) private readonly http: HttpClient, - @Inject(PageService) private readonly page: PageService, - ) {} - - public login(token: string, userId: number): void { - if (this.isLoggedIn) return; - - sessionStorage.setItem('user_token', token); - sessionStorage.setItem('user_id', userId.toString()); + public constructor(@Inject(APIService) private readonly api: APIService) {} - this.fetchUser(userId); - this.fetchUserPicture(userId); - this.fetchUserBanner(userId); + /** @deprecated */ + fetchUserBanner = (id: number) => ''; + /** @deprecated */ + fetchUserPicture = (id: number) => ''; + /** @deprecated */ + fetchUser = (id: number) => ''; - setTimeout(() => { - // this.page.route = `users/${userId}`; - }, 300); + /** @deprecated */ + get picture(): string { + return ''; } - - public logout(): void { - sessionStorage.clear(); - // this.page.route = '/'; + /** @deprecated */ + get banner(): string { + return ''; } - - public fetchUser(id: number) { - // this.apollo - // .query<{ userPrivate: PrivateUser }>({ - // query: gql` - // query ($user_id: Int!) { - // userPrivate(id: $user_id) { - // first_name - // last_name - // nickname - // birthday - // promotion { - // number - // } - // id - // subscriber_account - // } - // } - // `, - // variables: { - // user_id: id, - // }, - // fetchPolicy: 'no-cache', - // errorPolicy: 'all', - // }) - // .subscribe(({ data, errors }) => { - // if (data) sessionStorage.setItem('user', JSON.stringify(data['userPrivate'])); - // else this.logout(); - - // // Logout if the jwt token is invalid - // if (errors) this.logout(); - // }); + /** @deprecated */ + get fullName(): string { + return ''; } - - public fetchUserPicture(id: number) { - this.http - .get(`${environment.API_URL}/users/picture/${id}`, { - // headers: DEFAULT_HEADERS, - responseType: 'arraybuffer', - }) - .subscribe({ - next: (data) => { - if (data) sessionStorage.setItem('user_picture', data.toBase64()); - }, - error: () => sessionStorage.removeItem('user_picture'), - }); + /** @deprecated */ + get nickname(): string { + return ''; } - - public fetchUserBanner(id: number) { - this.http - .get(`${environment.API_URL}/users/banner/${id}`, { - // headers: DEFAULT_HEADERS, - responseType: 'arraybuffer', - }) - .subscribe({ - next: (data) => { - if (data) sessionStorage.setItem('user_banner', data.toBase64()); - }, - error: () => sessionStorage.removeItem('user_banner'), - }); + /** @deprecated */ + get accountId(): string { + return ''; } - - public refreshUser(): void { - if (this.isLoggedIn) this.fetchUser(this.id ?? -1); + /** @deprecated */ + get birthday(): Date { + return new Date(); } - - public refreshUserPicture(): void { - if (this.isLoggedIn) this.fetchUserPicture(this.id ?? -1); + /** @deprecated */ + get isMinor(): boolean { + return true; } - - public refreshUserBanner(): void { - if (this.isLoggedIn) this.fetchUserBanner(this.id ?? -1); + /** @deprecated */ + get promotion(): string { + return ''; } - - private get user(): Partial { - return JSON.parse(sessionStorage.getItem('user') ?? '{}'); + /** @deprecated */ + get balance(): string { + return ''; } - - public get picture(): string | undefined { - return sessionStorage.getItem('user_picture') ?? undefined; + /** @deprecated */ + get notifications(): [] { + return []; } - - public get banner(): string | undefined { - return sessionStorage.getItem('user_banner') ?? undefined; + /** @deprecated */ + get notificationsCount(): number { + return 0; } - public get isLoggedIn(): boolean { - return sessionStorage.getItem('user_token') !== null && sessionStorage.getItem('user') !== null; + public login(token: string, userId: number): void { + sessionStorage.setItem('user_token', token); + sessionStorage.setItem('user_id', userId.toString()); } - public get id(): number | undefined { - return this.isLoggedIn && this.user ? this.user.id : undefined; + public isLoggedIn(): boolean { + return sessionStorage.getItem('user_token') !== null && sessionStorage.getItem('user_id') !== null; } - public get fullName(): string | undefined { - return this.isLoggedIn && this.user ? `${this.user.first_name} ${this.user.last_name}` : undefined; + public get logged_user_id(): number { + const id = sessionStorage.getItem('user_id'); + if (id === null) { + this.logout(); + return -1; // TODO throw ? + } + + return parseInt(id, 10); } - public get nickname(): string | undefined { - return this.isLoggedIn && this.user ? this.user.nickname : undefined; + public logout(): void { + sessionStorage.clear(); } - public get accountId(): string | undefined { - return this.isLoggedIn && this.user ? this.user.subscriber_account : undefined; + public user(id: number): Observable { + return this.api.get(`${environment.API_URL}/users/${id}/data/public`); } - public get birthday(): Date | undefined { - return this.isLoggedIn && this.user && this.user.birthday ? new Date(this.user.birthday) : undefined; + public userPrivate(id: number): Observable { + return this.api.get(`${environment.API_URL}/users/${id}/data`); } - public get isMinor(): boolean | undefined { - const birthday = this.birthday; + public userPicture(id: number): Observable { + return this.api.get(`${environment.API_URL}/users/${id}/picture`, 'arraybuffer').pipe( + catchError((err: ApiError) => { + const error: ErrorResponseDto = err.error.toJSON(); - if (!birthday) return undefined; - return birthday.elapsedYears() < 18; - } + // If the user has no picture, return undefined + if (error.statusCode === 404) return of(undefined); - public get promotion(): number | undefined { - return this.isLoggedIn && this.user && this.user.promotion ? this.user.promotion.number : undefined; - } + // If any other error, throw it for later handling + return throwError(() => error); + }), + map((data) => { + // convert the arraybuffer to base64 + if (data) return data.toImageURL(); - // TODO - public get balance(): number { - return 0; - // return this.isLoggedIn && this.user ? this.user.balance : undefined; + // If the user has no picture, return undefined + // (should not happen as we catch the 404 error) + return undefined; + }), + ); } - // TODO - public get notifications(): string[] | undefined { - return undefined; - // return this.isLoggedIn && this.user ? this.user.notifications : undefined; - } + public userBanner(id: number): Observable { + return this.api.get(`${environment.API_URL}/users/${id}/banner`, 'arraybuffer').pipe( + catchError((err: ApiError) => { + const error: ErrorResponseDto = err.error.toJSON(); + + // If the user has no picture, return undefined + if (error.statusCode === 404) return of(undefined); + + // If any other error, throw it for later handling + return throwError(() => error); + }), + map((data) => { + // convert the arraybuffer to base64 + if (data) return data.toImageURL(); - // TODO - public get notificationsCount(): number | undefined { - return undefined; - // return this.isLoggedIn && this.user ? this.user.notifications.length : undefined; + // If the user has no picture, return undefined + // (should not happen as we catch the 404 error) + return undefined; + }), + ); } } From 45714db140dbea4f3d2eb813d984a67ffc836486 Mon Sep 17 00:00:00 2001 From: Julien Constant Date: Sun, 29 Oct 2023 14:46:48 +0100 Subject: [PATCH 126/146] fix(core): eslint + typings fixes --- .../common/image_cropper/image-cropper.component.ts | 3 ++- src/directives/date.directive.ts | 6 +++--- src/directives/password.directive.ts | 12 ++++++------ 3 files changed, 11 insertions(+), 10 deletions(-) diff --git a/src/components/common/image_cropper/image-cropper.component.ts b/src/components/common/image_cropper/image-cropper.component.ts index f8433ca..2fed5a3 100644 --- a/src/components/common/image_cropper/image-cropper.component.ts +++ b/src/components/common/image_cropper/image-cropper.component.ts @@ -1,4 +1,5 @@ -import type { ImageCropperResult, ImageCropperSetting, base64 } from '@__old/types/index'; +import type { base64 } from '#types'; +import type { ImageCropperResult, ImageCropperSetting } from '@__old/types/index'; import { Component, diff --git a/src/directives/date.directive.ts b/src/directives/date.directive.ts index 62167d3..b36071a 100644 --- a/src/directives/date.directive.ts +++ b/src/directives/date.directive.ts @@ -22,8 +22,8 @@ export function requiredIfBelow(minAge: number, age: number): ValidatorFn | null * @param {number} min The minimum age to be accepted * @returns {ValidatorFn} The angular validator function */ - return (control: AbstractControl): ValidationErrors | null => { export function ageMinValidator(min = environment.USERS.MIN_AGE): ValidatorFn { + return (control: AbstractControl): ValidationErrors | null => { if (!control.value) return null; const year = new Date().getFullYear(); @@ -37,8 +37,8 @@ export function ageMinValidator(min = environment.USERS.MIN_AGE): ValidatorFn { * @param {number} max The maximum age to be accepted * @returns {ValidatorFn} The angular validator function */ - return (control: AbstractControl): ValidationErrors | null => { export function ageMaxValidator(max = environment.USERS.MAX_AGE): ValidatorFn { + return (control: AbstractControl): ValidationErrors | null => { if (!control.value) return null; const year = new Date().getFullYear(); @@ -52,7 +52,7 @@ export function ageMaxValidator(max = environment.USERS.MAX_AGE): ValidatorFn { * @param {AbstractControl} control The control to check * @returns {ValidationErrors | null} The error if the field is in the future */ -export function notInFutureValidator(control: AbstractControl): ValidationErrors | null { +export function notInFutureValidator(control: AbstractControl): ValidationErrors | null { if (!control.value) return null; const forbidden = new Date(control.value).getTime() > new Date().getTime(); diff --git a/src/directives/password.directive.ts b/src/directives/password.directive.ts index eebce69..64e1699 100644 --- a/src/directives/password.directive.ts +++ b/src/directives/password.directive.ts @@ -1,26 +1,26 @@ import { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms'; -export function hasOneDigit(control: AbstractControl): ValidationErrors | null { +export function hasOneDigit(control: AbstractControl): ValidationErrors | null { if (!control.value) return null; return /\d/.test(control.value) === false ? { has_one_digit: true } : null; } -export function hasOneSpecialCharacter(control: AbstractControl): ValidationErrors | null { +export function hasOneSpecialCharacter(control: AbstractControl): ValidationErrors | null { if (!control.value) return null; return /[\W_]+/.test(control.value) === false ? { has_one_special_character: true } : null; } -export function hasOneUppercase(control: AbstractControl): ValidationErrors | null { +export function hasOneUppercase(control: AbstractControl): ValidationErrors | null { if (!control.value) return null; return /[A-Z]/.test(control.value) === false ? { has_one_uppercase: true } : null; } -export function hasOneLowercase(control: AbstractControl): ValidationErrors | null { +export function hasOneLowercase(control: AbstractControl): ValidationErrors | null { if (!control.value) return null; return /[a-z]/.test(control.value) === false ? { has_one_lowercase: true } : null; } -export function hasNoDuplicateCharacters(control: AbstractControl): ValidationErrors | null { +export function hasNoDuplicateCharacters(control: AbstractControl): ValidationErrors | null { if (!control.value) return null; return control.value.match(/([a-z])\1+/g) !== null || control.value.match(/([A-Z])\1+/g) !== null || @@ -29,7 +29,7 @@ export function hasNoDuplicateCharacters(control: AbstractControl): ValidationEr : null; } -export function passwordsMatchValidator(password_field = 'password', confirm_field = 'passwordConfirm'): ValidatorFn { +export function passwordsMatchValidator(password_field = 'password', confirm_field = 'password_confirm'): ValidatorFn { return (control: AbstractControl): ValidationErrors | null => { const password = control.get(password_field); const passwordConfirm = control.get(confirm_field); From 6caf2af473eaa1c6cf677272c27614cfcfdbfa9a Mon Sep 17 00:00:00 2001 From: Julien Constant Date: Sun, 29 Oct 2023 14:47:12 +0100 Subject: [PATCH 127/146] fix(core): should fix race condition when login --- src/pages/login/login.component.ts | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/pages/login/login.component.ts b/src/pages/login/login.component.ts index 1e00e0a..39f67a0 100644 --- a/src/pages/login/login.component.ts +++ b/src/pages/login/login.component.ts @@ -47,7 +47,12 @@ export class LoginComponent { .subscribe({ next: (data) => { this.user.login(data.token, data.user_id); - this.goto('/user'); + + // Wait for the user to be logged in before redirecting + // -> avoid race condition with the user token + setTimeout(() => { + this.goto(['users', `${data.user_id}`, 'profile']); + }, 500); }, error: (e: ApiError) => { this.snackbar.error(e.error.message, e.error.error, e.error.statusCode); From 4c449766a33d9521dfe3a3ed49402d2b0b410ce5 Mon Sep 17 00:00:00 2001 From: Julien Constant Date: Sun, 29 Oct 2023 15:03:59 +0100 Subject: [PATCH 128/146] fix(core): fix 404 title & subtitle being the wrong color on light mode --- src/pages/404/not-found.html | 4 ++-- src/services/page.service.ts | 15 +++++++++++++++ 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/src/pages/404/not-found.html b/src/pages/404/not-found.html index eeeb698..91642de 100644 --- a/src/pages/404/not-found.html +++ b/src/pages/404/not-found.html @@ -1,8 +1,8 @@
- - + +

{{ '404.description' | translate }}

diff --git a/src/services/page.service.ts b/src/services/page.service.ts index edc245f..d4c4211 100644 --- a/src/services/page.service.ts +++ b/src/services/page.service.ts @@ -74,6 +74,21 @@ export class PageService { this.updateHTML(); } + public get theme_is_dark(): boolean { + switch (this.theme) { + case 'auto': + return window.matchMedia('(prefers-color-scheme: dark)').matches; + + case 'dark': + case 'high_contrast': + return true; + + case 'light': + default: + return false; + } + } + public get theme_event(): ThemeEvent { const local = localStorage.getItem('theme_event'); if (local === null) { From 1dd550d162bf3ccbf0ef91efe8c1c7e64c49f733 Mon Sep 17 00:00:00 2001 From: Julien Constant Date: Sun, 29 Oct 2023 15:04:58 +0100 Subject: [PATCH 129/146] fix(core): add missing `()` to `userService.isLoggedin()` --- src/components/desktop/navbar/navbar.component.ts | 3 +++ src/components/desktop/navbar/navbar.html | 2 +- src/components/mobile/navbar/navbar.html | 4 ++-- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/components/desktop/navbar/navbar.component.ts b/src/components/desktop/navbar/navbar.component.ts index 2a0c884..61809cb 100644 --- a/src/components/desktop/navbar/navbar.component.ts +++ b/src/components/desktop/navbar/navbar.component.ts @@ -13,4 +13,7 @@ export class DesktopNavbarComponent { @Inject(UserService) public readonly u: UserService, @Inject(PageService) public readonly page: PageService, ) {} + public openFavorites() { + window.alert('Not implemented yet'); + } } diff --git a/src/components/desktop/navbar/navbar.html b/src/components/desktop/navbar/navbar.html index 4f0fb41..8ad4fbb 100644 --- a/src/components/desktop/navbar/navbar.html +++ b/src/components/desktop/navbar/navbar.html @@ -1,5 +1,5 @@

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